Explorar o código

Merge remote-tracking branch 'origin/dev' into dev

大数据与最优化研究所 hai 8 meses
pai
achega
f1ade81247

+ 111 - 0
src/main/java/com/xjrsoft/common/enums/JobStateEnum.java

@@ -0,0 +1,111 @@
+package com.xjrsoft.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 教职工在职状态
+ * @author dzx
+ * @date 2025年4月7日
+ * 学籍状态
+ */
+public enum JobStateEnum {
+
+    JOB_DDSX("JOB_DDSX", "带队实习"),
+
+    JOB_WCPX("JOB_WCPX", "外出培训"),
+
+    ZZZT10001("ZZZT10001", "退休"),
+
+    ZZZT10002("ZZZT10002", "离休"),
+
+    ZZZT10003("ZZZT10003", "死亡"),
+
+    ZZZT10004("ZZZT10004", "返聘"),
+
+    ZZZT10005("ZZZT10005", "辞职"),
+
+    ZZZT10006("ZZZT10006", "离职"),
+
+    ZZZT10007("ZZZT10007", "开除"),
+
+    ZZZT10008("ZZZT10008", "下落不明"),
+
+    ZZZT10009("ZZZT10009", "在职"),
+    ZZZT10010("ZZZT10010", "延聘"),
+    ZZZT10011("ZZZT10011", "待退休"),
+    ZZZT10012("ZZZT10012", "长病假"),
+    ZZZT10013("ZZZT10013", "因公出国"),
+    ZZZT10014("ZZZT10014", "停薪留职"),
+    ZZZT10015("ZZZT10015", "待岗"),
+    ZZZT10016("ZZZT10016", "其他");
+
+    final String code;
+    final String value;
+
+    private static final Map<String, String> lookup = new HashMap<>();
+
+    static {
+        for (JobStateEnum s : JobStateEnum.values()) {
+            lookup.put(s.getCode(), s.getValue());
+        }
+    }
+
+
+
+    public String getCode() {
+        return this.code;
+    }
+
+    public String getValue() {
+        return this.value;
+    }
+
+    JobStateEnum(final String code, final String message) {
+        this.code = code;
+        this.value = message;
+    }
+
+    public static String fromCode(String code) {
+        return lookup.get(code);
+    }
+
+    /**
+     * 判断是否在职
+     * @param code 在职状态编码
+     * @return true:在职 false:不在职
+     */
+    public static boolean isBeOnTheJobByCode(String code) {
+        if(JOB_DDSX.code.equals(code)){
+            return true;
+        }else if(JOB_WCPX.code.equals(code)){
+            return true;
+        }else if(ZZZT10004.code.equals(code)){
+            return true;
+        }else if(ZZZT10009.code.equals(code)){
+            return true;
+        }else{
+            return false;
+        }
+    }
+
+    /**
+     * 判断是否在职
+     * @param value 在职状态中文
+     * @return true:在职 false:不在职
+     */
+    public static boolean isBeOnTheJobByValue(String value) {
+        if(JOB_DDSX.value.equals(value)){
+            return true;
+        }else if(JOB_WCPX.value.equals(value)){
+            return true;
+        }else if(ZZZT10004.value.equals(value)){
+            return true;
+        }else if(ZZZT10009.value.equals(value)){
+            return true;
+        }else{
+            return false;
+        }
+    }
+
+}

+ 1 - 1
src/main/java/com/xjrsoft/module/databoard/controller/DatadetailController.java

@@ -295,7 +295,7 @@ public class DatadetailController {
     @XjrLog(value = "教职工详情数据统计", saveResponseData = true)
     public RT<TeacherStatisticsDetailVo> teahcerStatistics(@Valid StatisticsDetailDto dto) throws ParseException {
         String sql = "SELECT IFNULL(t2.name,'未填写') AS item ,ifnull(COUNT(*), 0) AS a_count FROM base_teacher_education t1" +
-                " left join base_teacher t3 on t1.user_id = t2.user_id" +
+                " left join base_teacher t3 on t1.user_id = t3.user_id" +
                 " LEFT JOIN xjr_dictionary_detail t2 ON t1.education  = t2.code" +
                 " WHERE t1.delete_mark = 0 and t3.job_state in ('ZZZT10004','ZZZT10009','JOB_WCPX','JOB_DDSX')" +
                 " GROUP BY t2.name";

+ 4 - 4
src/main/java/com/xjrsoft/module/job/EnrollmentStatisticsInfoTask.java

@@ -42,7 +42,7 @@ public class EnrollmentStatisticsInfoTask {
     private EnrollmentStatisticsInfoMapper enrollmentStatisticsInfoMapper;
 
     @Async
-    @Scheduled(cron = "00 0/15 * * * ?")
+    @Scheduled(cron = "00 0/20 * * * ?")
     public void execute() {
         doExecute();
     }
@@ -55,7 +55,7 @@ public class EnrollmentStatisticsInfoTask {
         dto.setYear(now.getYear() + "");
         EnrollmentStatisticsInfoVo info = pbCseFeeobjupdateService.getEnrollmentStatisticsInfo(dto);
         if(info != null){
-//            enrollmentStatisticsInfoMapper.deleteDataByDate(dataDate);
+            enrollmentStatisticsInfoMapper.deleteDataByDate(dataDate);
             EnrollmentStatisticsInfo infoData = new EnrollmentStatisticsInfo();
             infoData.setEnabledMark(EnabledMark.ENABLED.getCode());
             infoData.setDeleteMark(DeleteMark.NODELETE.getCode());
@@ -72,7 +72,7 @@ public class EnrollmentStatisticsInfoTask {
         EnrollmentStatisticsGraduationInfoVo graduationInfo = pbCseFeeobjupdateService.getEnrollmentStatisticsGraduationInfo(graduationInfoDto);
 
         if(graduationInfo != null){
-//            enrollmentStatisticsInfoMapper.deleteGraduationDataByDate(dataDate);
+            enrollmentStatisticsInfoMapper.deleteGraduationDataByDate(dataDate);
 
             EnrollmentStatisticsInfo infoData = new EnrollmentStatisticsInfo();
             infoData.setEnabledMark(EnabledMark.ENABLED.getCode());
@@ -98,7 +98,7 @@ public class EnrollmentStatisticsInfoTask {
         EnrollmentStatisticsCalendarInfoVo calendarInfoVo = pbCseFeeobjupdateService.getEnrollmentStatisticsCalendarInfo(calendarInfoDto);
 
         if(calendarInfoVo != null){
-//            enrollmentStatisticsInfoMapper.deleteCalendarDataByDate(lastSundayStr, thisSaturdayStr);
+            enrollmentStatisticsInfoMapper.deleteCalendarDataByDate(lastSundayStr, thisSaturdayStr);
 
             EnrollmentStatisticsInfo infoData = new EnrollmentStatisticsInfo();
             infoData.setEnabledMark(EnabledMark.ENABLED.getCode());

+ 3 - 0
src/main/java/com/xjrsoft/module/teacher/service/ITeacherbaseManagerService.java

@@ -45,4 +45,7 @@ public interface ITeacherbaseManagerService extends MPJBaseService<XjrUser> {
     void changeIsNormal(String jobState, Integer isNormal);
 
     void teacherDepartDataHandle(Long formId);
+
+    void disabledUser(Long userId);
+
 }

+ 12 - 0
src/main/java/com/xjrsoft/module/teacher/service/impl/TeacherbaseManagerServiceImpl.java

@@ -14,6 +14,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.constant.GlobalConstant;
 import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.enums.GenderDictionaryEnum;
+import com.xjrsoft.common.enums.JobStateEnum;
 import com.xjrsoft.common.enums.RoleEnum;
 import com.xjrsoft.common.enums.TeaChangeTypeEnum;
 import com.xjrsoft.common.exception.MyException;
@@ -258,6 +259,11 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
 
             // 插入变更记录
             baseTeacherChangeRecordMapper.insert(insetBaseTeacherChangeRecord);
+
+            //如果在职状态改为了非在职,禁用账号,并清空海康相关信息
+            if(!JobStateEnum.isBeOnTheJobByCode(oldJobState)){
+                disabledUser(dto.getId());
+            }
         }
 
         XjrUser xjrUser = BeanUtil.toBean(dto, XjrUser.class);
@@ -810,4 +816,10 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
             }
         }
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void disabledUser(Long userId) {
+
+    }
 }