Ver Fonte

驳回的日报重新填写不算超期。
同步企业微信通讯录时,组织架构的某个部门变成1级部门

seyason há 2 anos atrás
pai
commit
8fb55d8713

+ 13 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -472,10 +472,19 @@ public class ReportController {
                     }
                 }
                 if (isForbidden) {
-                    HttpRespMsg msg = new HttpRespMsg();
-                    //msg.setError("补填日报不可早于"+dateTimeFormatter.format(targetDate)+",请联系系统管理员代填。");
-                    msg.setError(MessageUtils.message("profession.repairError",dateTimeFormatter.format(targetDate)));
-                    return msg;
+                    //检查是不是被驳回的,驳回的修改提交时不需要检查超期
+                    Integer denyCount = 0;
+                    if (id != null) {
+                        List<Integer> editReportIds = Arrays.stream(id).collect(Collectors.toList());
+                        denyCount = reportMapper.selectCount(new QueryWrapper<Report>().eq("state", 2).in("id", editReportIds));
+                    }
+                    if (denyCount == 0) {
+                        //不存在驳回的日报
+                        HttpRespMsg msg = new HttpRespMsg();
+                        //msg.setError("补填日报不可早于"+dateTimeFormatter.format(targetDate)+",请联系系统管理员代填。");
+                        msg.setError(MessageUtils.message("profession.repairError",dateTimeFormatter.format(targetDate)));
+                        return msg;
+                    }
                 }
             }
         }

+ 19 - 9
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -1118,7 +1118,6 @@ public class WeiXinCorpController {
                         }
                     }
                 } else if ("update_party".equals(changeType)) {
-
                     //变更部门,可能是名称变化或者父部门变化
                     Integer deptId = jsonObject.getInt("Id");
                     if (wxCorpInfo.getSaasSyncContact() == 1) {
@@ -1141,10 +1140,14 @@ public class WeiXinCorpController {
                             //发生父部门的结构变化了
                             Department department = departmentMapper.selectOne(new QueryWrapper<Department>().eq("company_id", wxCorpInfo.getCompanyId()).eq("corpwx_deptid", deptId));
                             if (department != null) {
-                                Department parentDept = departmentMapper.selectOne(new QueryWrapper<Department>().eq("company_id", wxCorpInfo.getCompanyId()).eq("corpwx_deptid", parentDeptId));
-                                if (parentDept != null) {
-                                    department.setSuperiorId(parentDept.getDepartmentId());
-                                    departmentMapper.updateById(department);
+                                if (parentDeptId == 1) {//是一级部门
+                                    departmentMapper.updateNullSuperior(department.getDepartmentId());
+                                } else {
+                                    Department parentDept = departmentMapper.selectOne(new QueryWrapper<Department>().eq("company_id", wxCorpInfo.getCompanyId()).eq("corpwx_deptid", parentDeptId));
+                                    if (parentDept != null) {
+                                        department.setSuperiorId(parentDept.getDepartmentId());
+                                        departmentMapper.updateById(department);
+                                    }
                                 }
                             }
                         }
@@ -2282,10 +2285,17 @@ public class WeiXinCorpController {
                     } else {
                         //
                         System.out.println("找到了已有部门== name=="+curDept.getDepartmentName());
-                        if (parentId != 1 && curDept.getCorpwxDeptpid() == null) {
-                            //有父部门需要更新
-                            curDept.setCorpwxDeptpid(parentId);
-                            departmentMapper.updateById(curDept);
+                        if (parentId == 1) {
+                            if (curDept.getSuperiorId() != null) {
+                                //变更到一级部门了,此处不依赖于其他部门是否存在,可以直接更新
+                                departmentMapper.updateNullSuperior(curDept.getDepartmentId());
+                            }
+                        } else {
+                            if (curDept.getCorpwxDeptpid() == null) {
+                                //有父部门需要更新
+                                curDept.setCorpwxDeptpid(parentId);
+                                departmentMapper.updateById(curDept);
+                            }
                         }
                     }
                     //获取部门下的人员