Kaynağa Gözat

住宿申请规则引擎

dzx 1 yıl önce
ebeveyn
işleme
17037f39a0

+ 2 - 2
src/main/java/com/xjrsoft/common/enums/RoomApplicantTypeEnum.java

@@ -10,12 +10,12 @@ public enum RoomApplicantTypeEnum {
     /**
      * 留宿
      * */
-    RaOvernightStay("ra_overnight_stay", "留宿"),
+    ToBeBoarder("to_be_boarder", "走转住"),
 
     /**
      * 不留宿
      * */
-    RaNoOvernightStay("ra_no_overnight_stay", "不留宿");
+    ToBeDayPupil("to_be_dayPupil", "住转走");
 
     final String code;
     final String value;

+ 46 - 0
src/main/java/com/xjrsoft/module/liteflow/node/WfRoomApplicantNode.java

@@ -0,0 +1,46 @@
+package com.xjrsoft.module.liteflow.node;
+
+import cn.hutool.core.convert.Convert;
+import com.xjrsoft.common.enums.RoomApplicantTypeEnum;
+import com.xjrsoft.common.enums.StudyStatusEnum;
+import com.xjrsoft.module.room.entity.WfRoomApplicant;
+import com.xjrsoft.module.room.mapper.WfRoomApplicantMapper;
+import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
+import com.xjrsoft.module.student.entity.StudentChangeClass;
+import com.xjrsoft.module.student.mapper.StudentChangeClassMapper;
+import com.xjrsoft.module.student.service.IBaseStudentSchoolRollService;
+import com.yomahub.liteflow.core.NodeComponent;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * 学生住宿申请后,修改学籍信息中的就读方式
+ */
+@Component("wf_room_applicant_node")
+public class WfRoomApplicantNode extends NodeComponent {
+    @Autowired
+    private WfRoomApplicantMapper wfRoomApplicantMapper;
+    @Autowired
+    private IBaseStudentSchoolRollService studentSchoolRollService;
+    @Override
+    public void process() throws Exception {
+        // 获取表单中数据编号
+        Map<String, Object> params = this.getFirstContextBean();
+        Object value = util.getFormDatKey(params,"id");
+        Long formId = Convert.toLong(value);
+        if (formId != null) {
+            //查询出数据
+            WfRoomApplicant wfRoomApplicant = wfRoomApplicantMapper.selectById(formId);
+            BaseStudentSchoolRoll schoolRoll = studentSchoolRollService.getById(wfRoomApplicant.getApplicantUserId());
+            if(RoomApplicantTypeEnum.ToBeBoarder.getCode().equals(wfRoomApplicant.getRecedeType())){
+                schoolRoll.setStduyStatus(StudyStatusEnum.InResidence.getCode());
+            }else if(RoomApplicantTypeEnum.ToBeDayPupil.getCode().equals(wfRoomApplicant.getRecedeType())){
+                schoolRoll.setStduyStatus(StudyStatusEnum.AttendDaySchool.getCode());
+            }
+            //修改学生班级
+            studentSchoolRollService.updateById(schoolRoll);
+        }
+    }
+}