Jelajahi Sumber

feat: 优化已办列表

huangzqa 1 tahun lalu
induk
melakukan
daa8bb2058

+ 34 - 22
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/api/impl/ReportApprovalsBusinessImpl.java

@@ -2,7 +2,6 @@ package com.dragonsoft.dcuc.approve.business.api.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.dragoninfo.dcuc.app.entity.ApplyInfo;
@@ -16,7 +15,7 @@ import com.dragonsoft.dcuc.approve.constants.ApproveConstants;
 import com.dragonsoft.dcuc.approve.enumresources.*;
 import com.dragonsoft.dcuc.approve.enumresources.bu.BizDataTypeEnum;
 import com.dragonsoft.dcuc.approve.enumresources.bu.TaskStatusEnum;
-import com.dragonsoft.dcuc.approve.model.ApproveActHiTask;
+import com.dragonsoft.dcuc.approve.model.ApproveCirculationInfo;
 import com.dragonsoft.dcuc.approve.model.ApproveRecordInfo;
 import com.dragonsoft.dcuc.approve.model.ApproveTaskClass;
 import com.dragonsoft.dcuc.approve.model.req.bu.BuApproveSyncReqVO;
@@ -26,6 +25,7 @@ import com.dragonsoft.dcuc.approve.model.req.v3.report.ReportApproveSyncReqVO;
 import com.dragonsoft.dcuc.approve.model.resp.v3.ZeroTrustMessageRespVO;
 import com.dragonsoft.dcuc.approve.model.vo.dcuc.OauthUserVO;
 import com.dragonsoft.dcuc.approve.service.IApproveActHiTaskService;
+import com.dragonsoft.dcuc.approve.service.IApproveCirculationService;
 import com.dragonsoft.dcuc.approve.service.IApproveRecordService;
 import com.dragonsoft.dcuc.approve.service.IApproveTaskClassService;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
@@ -53,7 +53,7 @@ public class ReportApprovalsBusinessImpl implements IReportApprovalsBusiness {
 
     private IApproveRecordService approveRecordService;
 
-    private IApproveActHiTaskService approveActHiTaskService;
+    private IApproveCirculationService approveCirculationService;
 
     private INoticeBusiness noticeBusiness;
 
@@ -77,8 +77,8 @@ public class ReportApprovalsBusinessImpl implements IReportApprovalsBusiness {
     }
 
     @Autowired
-    public void setApproveActHiTaskService(IApproveActHiTaskService approveActHiTaskService) {
-        this.approveActHiTaskService = approveActHiTaskService;
+    public void setApproveCirculationService(IApproveCirculationService approveCirculationService) {
+        this.approveCirculationService = approveCirculationService;
     }
 
     @Autowired
@@ -192,12 +192,9 @@ public class ReportApprovalsBusinessImpl implements IReportApprovalsBusiness {
         }
 
         String approveId = approveRecordInfo.getId();
-        if (!isSave) {
-            approveActHiTaskService.deleteByApplyRecordId(approveId);
-        }
 
-        List<ApproveActHiTask> approveActHiTaskList = generalActHiTaskList(approveId, bizGridReqList);
-        approveActHiTaskService.deleteAndSaveList(approveId, approveActHiTaskList);
+        List<ApproveCirculationInfo> approveCirculationInfoList = generalApproveCirculationInfo(approveId, taskId, bizGridReqList);
+        approveCirculationService.deleteAndSaveList(approveId, approveCirculationInfoList);
         return approveId;
     }
 
@@ -212,7 +209,7 @@ public class ReportApprovalsBusinessImpl implements IReportApprovalsBusiness {
         if (ObjectUtil.isNotNull(reportApproveSyncBizApproveReqVO)) {
             approveRecordInfo.setProcessTitle(reportApproveSyncBizApproveReqVO.getTitle());
             approveRecordInfo.setApproveTaskClass(reportApproveSyncBizApproveReqVO.getTaskClass());
-            approveRecordInfo.setProcessTitle(PermissionValidTypeEnum.CUSTOM.getValue());
+            approveRecordInfo.setPermissionValidType(PermissionValidTypeEnum.CUSTOM.getValue());
             approveRecordInfo.setStartTime(reportApproveSyncBizApproveReqVO.getTaskTermStart());
             approveRecordInfo.setEndTime(reportApproveSyncBizApproveReqVO.getTaskTermEnd());
             String taskStatus = reportApproveSyncBizApproveReqVO.getTaskStatus();
@@ -226,36 +223,51 @@ public class ReportApprovalsBusinessImpl implements IReportApprovalsBusiness {
     }
 
     /**
-     * 设置要素、承办人数据
+     * 获取已办人信息
      *
      * @param approveId                      审批单号
      * @param reportApproveSyncBizGridReqVOS 要素/承办人信息
      */
-    protected List<ApproveActHiTask> generalActHiTaskList(String approveId, List<ReportApproveSyncBizGridReqVO> reportApproveSyncBizGridReqVOS) {
-        List<ApproveActHiTask> approveActHiTaskList = Collections.emptyList();
+    protected List<ApproveCirculationInfo> generalApproveCirculationInfo(String approveId, String approveNo, List<ReportApproveSyncBizGridReqVO> reportApproveSyncBizGridReqVOS) {
+        List<ApproveCirculationInfo> approveCirculationInfoList = Collections.emptyList();
         if (CollUtil.isNotEmpty(reportApproveSyncBizGridReqVOS)) {
-            approveActHiTaskList = new ArrayList<>(reportApproveSyncBizGridReqVOS.size());
+            approveCirculationInfoList = new ArrayList<>(reportApproveSyncBizGridReqVOS.size());
             for (ReportApproveSyncBizGridReqVO approveSyncBizGridReqVO : reportApproveSyncBizGridReqVOS) {
                 String dataType = approveSyncBizGridReqVO.getDataType();
                 BizDataTypeEnum bizDataTypeEnum = EnumUtils.enumOf(BizDataTypeEnum.class, dataType);
                 if (bizDataTypeEnum.equals(BizDataTypeEnum.HANDLE)) {
-                    ApproveActHiTask approveActHiTask = new ApproveActHiTask();
+                    ApproveCirculationInfo approveCirculationInfo = new ApproveCirculationInfo();
                     String handleUserId = approveSyncBizGridReqVO.getHandleUserId();
                     String handleUserName = approveSyncBizGridReqVO.getHandleUserName();
                     if (StrUtil.isNotBlank(handleUserId)
                             && StrUtil.isNotBlank(handleUserName)) {
-                        approveActHiTask.setApplyRecordId(approveId);
-                        approveActHiTask.setOperateUserIdcard(handleUserId);
-                        approveActHiTask.setOperateUserName(handleUserName);
-                        approveActHiTask.setDeleted(BooleanEnum.FALSE.value);
-                        approveActHiTaskList.add(approveActHiTask);
+                        String handleUnitCode = approveSyncBizGridReqVO.getHandleUnitCode();
+                        String handleUnitName = approveSyncBizGridReqVO.getHandleUnitName();
+                        approveCirculationInfo.setProcessNo("");
+                        approveCirculationInfo.setNodeName("");
+                        approveCirculationInfo.setNodeNo("");
+                        approveCirculationInfo.setTaskKey("");
+                        approveCirculationInfo.setTaskId("");
+                        approveCirculationInfo.setOperateType(ApproveWorkFlowOperationEnum.COMPLETE_AGREE.value);
+                        approveCirculationInfo.setApproveOpinion("");
+                        approveCirculationInfo.setOperateTimeConsuming("0");
+                        approveCirculationInfo.setElectronicSignature("");
+                        approveCirculationInfo.setCreateTime(new Date());
+                        approveCirculationInfo.setApproveRecordId(approveId);
+                        approveCirculationInfo.setApproveNo(approveNo);
+                        approveCirculationInfo.setOperateUserId(handleUserId);
+                        approveCirculationInfo.setOperateUserName(handleUserName);
+                        approveCirculationInfo.setOperateUserOrgId(handleUnitCode);
+                        approveCirculationInfo.setOperateUserOrg(handleUnitName);
+                        approveCirculationInfo.setIsDeleted(BooleanEnum.FALSE.value);
+                        approveCirculationInfoList.add(approveCirculationInfo);
                     }
 
                 }
             }
 
         }
-        return approveActHiTaskList;
+        return approveCirculationInfoList;
     }
 
     /**

+ 7 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IApproveCirculationService.java

@@ -70,4 +70,11 @@ public interface IApproveCirculationService {
      * @return 审批意见列表
      */
     ResponseDTO<List<ApproveCommentVo>> buildApproveCommentVo(List<ApproveCirculationInfo> hisTaskMapNew);
+
+    /**
+     *  删除并且保存新的记录
+     * @param approveId 审批单号
+     * @param approveCirculationInfoList 记录
+     */
+    void deleteAndSaveList(String approveId, List<ApproveCirculationInfo> approveCirculationInfoList);
 }

+ 15 - 1
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveCirculationImpl.java

@@ -12,6 +12,7 @@ import com.dragonsoft.dcuc.approve.service.IApproveCirculationService;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Comparator;
@@ -29,9 +30,13 @@ import java.util.stream.Collectors;
 @Service
 public class ApproveCirculationImpl implements IApproveCirculationService {
 
-    @Autowired
     private ApproveCirculationMapper approveCirculationMapper;
 
+    @Autowired
+    public void setApproveCirculationMapper(ApproveCirculationMapper approveCirculationMapper) {
+        this.approveCirculationMapper = approveCirculationMapper;
+    }
+
     @Override
     public void save(ApproveCirculationInfo approveCirculationInfo) {
         approveCirculationMapper.insert(approveCirculationInfo);
@@ -108,4 +113,13 @@ public class ApproveCirculationImpl implements IApproveCirculationService {
                 .collect(Collectors.toList());
         return ResponseUtil.newInstance(collect);
     }
+
+    @Transactional(rollbackFor = Throwable.class)
+    @Override
+    public void deleteAndSaveList(String approveId, List<ApproveCirculationInfo> approveCirculationInfoList) {
+        this.deleteByApproveRecordId(approveId);
+        for (ApproveCirculationInfo approveCirculationInfo : approveCirculationInfoList) {
+            this.save(approveCirculationInfo);
+        }
+    }
 }