Przeglądaj źródła

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

ggooalice 2 lat temu
rodzic
commit
36a2bd0538

+ 9 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ReportAuditorSetting.java

@@ -1,12 +1,9 @@
 package com.management.platform.entity;
 
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
-
-import jdk.nashorn.internal.ir.annotations.Ignore;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -17,7 +14,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2022-09-29
+ * @since 2022-10-13
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -53,9 +50,16 @@ public class ReportAuditorSetting extends Model<ReportAuditorSetting> {
     /**
      * 抄送人
      */
-    @TableField(value = "cc_userid",updateStrategy = FieldStrategy.IGNORED)
+    @TableField("cc_userid")
     private String ccUserid;
 
+    /**
+     * 当前待审核的层级,对应第几审核人
+     */
+    @TableField("cur_audit_level")
+    private Integer curAuditLevel;
+
+
     @Override
     protected Serializable pkVal() {
         return this.reportId;

+ 36 - 23
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -830,6 +830,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             reportList.forEach(r->r.getAuditorSetting().setReportId(r.getId()));
             List<ReportAuditorSetting> collect = reportList.stream().map(Report::getAuditorSetting).collect(Collectors.toList());
             if (collect.size() > 0) {
+                //提交时,审批流重置当前的待审核层级为1:第一层
+                collect.forEach(r->r.setCurAuditLevel(1));
                 reportAuditorSettingService.saveOrUpdateBatch(collect);
             }
         }
@@ -1374,40 +1376,51 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 String auditorId = user.getId();
                 List<ReportAuditorSetting> auditorSettingList = reportAuditorSettingMapper.selectList(new QueryWrapper<ReportAuditorSetting>().in("report_id", ids));
                 List<Report> updateReportList = new ArrayList<>();
+                List<ReportAuditorSetting> updateReportAuditorSettingList = new ArrayList<>();
                 for (Integer rid : ids) {
                     Report r = new Report();
                     r.setId(rid);
                     ReportAuditorSetting auditorItem = auditorSettingList.stream().filter(a -> a.getReportId().equals(rid)).findFirst().get();
-                    if (auditorId.equals(auditorItem.getAuditorFirst())) {
-                        if (auditorItem.getAuditorSec() != null) {
-                            //进入到第二审批人
-                            r.setProjectAuditorId(auditorItem.getAuditorSec());
-                        } else {
-                            r.setProjectAuditState(1);
-                            r.setProjectAuditTime(LocalDateTime.now());
-                            r.setState(1);
-                        }
-                        updateReportList.add(r);
-                    } else if (auditorId.equals(auditorItem.getAuditorSec())) {
-                        if (auditorItem.getAuditorThird() != null) {
-                            //进入到第三审批人
-                            r.setProjectAuditorId(auditorItem.getAuditorThird());
-                        } else {
+                    switch (auditorItem.getCurAuditLevel()) {
+                        case 1:
+                            if (auditorItem.getAuditorSec() != null) {
+                                //进入到第二审批人
+                                r.setProjectAuditorId(auditorItem.getAuditorSec());
+                                auditorItem.setCurAuditLevel(2);
+                                updateReportAuditorSettingList.add(auditorItem);
+                            } else {
+                                r.setProjectAuditState(1);
+                                r.setProjectAuditTime(LocalDateTime.now());
+                                r.setState(1);
+                            }
+                            updateReportList.add(r);
+                            break;
+                        case 2:
+                            if (auditorItem.getAuditorThird() != null) {
+                                //进入到第三审批人
+                                r.setProjectAuditorId(auditorItem.getAuditorThird());
+                                auditorItem.setCurAuditLevel(3);
+                                updateReportAuditorSettingList.add(auditorItem);
+                            } else {
+                                r.setProjectAuditState(1);
+                                r.setProjectAuditTime(LocalDateTime.now());
+                                r.setState(1);
+                            }
+                            updateReportList.add(r);
+                            break;
+                        case 3:
+                            //目前最多三层,第三个审批人审批后结束
                             r.setProjectAuditState(1);
                             r.setProjectAuditTime(LocalDateTime.now());
                             r.setState(1);
-                        }
-                        updateReportList.add(r);
-                    } else if (auditorId.equals(auditorItem.getAuditorThird())) {
-                        //目前最多三层,第三个审批人审批后结束
-                        r.setProjectAuditState(1);
-                        r.setProjectAuditTime(LocalDateTime.now());
-                        r.setState(1);
-                        updateReportList.add(r);
+                            updateReportList.add(r);
+                            break;
                     }
                 }
                 if (updateReportList.size() > 0) {
                     updateBatchById(updateReportList);
+                    //更新审核人的审批流程
+                    reportAuditorSettingService.updateBatchById(updateReportAuditorSettingList);
                 }
             } else {
                 //之前的流程逻辑,综合了一层项目审核,或者一层任务分组审核。 可叠加部门审批流

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -541,7 +541,7 @@ public class TimingTask {
     }
     //推送到开发环境,每10分钟一次
     @Scheduled(fixedRate = 600 * 1000)
-    private void genRandomCode() {
+    private void pushSysConfigToDev() {
         if (isDev) {
             return;
         }

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportAuditorSettingMapper.xml

@@ -9,11 +9,12 @@
         <result column="auditor_sec" property="auditorSec" />
         <result column="auditor_third" property="auditorThird" />
         <result column="cc_userid" property="ccUserid" />
+        <result column="cur_audit_level" property="curAuditLevel" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        report_id, auditor_first, auditor_sec, auditor_third, cc_userid
+        report_id, auditor_first, auditor_sec, auditor_third, cc_userid, cur_audit_level
     </sql>
 
 </mapper>