瀏覽代碼

fix:流程明细

zzw 1 天之前
父節點
當前提交
1c72fb4594
共有 1 個文件被更改,包括 42 次插入22 次删除
  1. 42 22
      assistMg/src/main/java/com/hotent/project/service/AsyncMaterialSummaryService.java

+ 42 - 22
assistMg/src/main/java/com/hotent/project/service/AsyncMaterialSummaryService.java

@@ -85,6 +85,13 @@ public class AsyncMaterialSummaryService {
     @Autowired
     private UserManager userManager;
 
+    @Autowired
+    private CostProjectProccessNodeManager costProjectProccessNodeManager;
+
+    @Autowired
+    private CostProjectProccessManager costProjectProccessManager;
+
+
     // 从配置文件读取模板路径
     @org.springframework.beans.factory.annotation.Value("${archive.template.coverPath:}")
     private String coverTemplatePath;
@@ -349,7 +356,7 @@ public class AsyncMaterialSummaryService {
 
     // ==================== 类型4:经营者需提供成本资料清单(提取资料) ====================
     // 成本监审任务中的资料报送要求。
-    //来源:从“监审任务部署”中获取。
+    //来源:从“监审任务部署”中获取。  报送资料
     private void generateType4Details(CostProjectTaskMaterialSummary summary, CostProjectTask mainTask, List<CostProjectTask> childTasks, List<CostProjectDocument> documents) {
         int orderNum = 1;
         // 获取"成本资料清单"
@@ -375,29 +382,31 @@ public class AsyncMaterialSummaryService {
             detail.setIsDeleted("0");
             costProjectTaskMaterialSummaryDetailManager.save(detail);
         }
+        // 获取子任务的资料登记表
         for (CostProjectTask childTask : childTasks) {
-            List<CostProjectTaskEvidence> list = costProjectTaskEvidenceManager.list(
-                    new LambdaQueryWrapper<CostProjectTaskEvidence>().eq(CostProjectTaskEvidence::getTaskId, childTask.getId())
+            // 获取任务的报送资料要求(被监审单位提交的补充资料)
+            List<CostProjectTaskMaterial> list = costProjectTaskMaterialManager.list(
+                    new LambdaQueryWrapper<>(CostProjectTaskMaterial.class)
+                            .eq(CostProjectTaskMaterial::getTaskId, childTask.getId())
             );
-            for (CostProjectTaskEvidence evidence : list) {
-                // 只处理有附件的资料登记
-                if (StringUtil.isNotEmpty(evidence.getAttachmentUrl())) {
+            for (CostProjectTaskMaterial material : list) {
+                // 只处理已上传的资料
+                if ("1".equals(material.getIsUpload()) && StringUtil.isNotEmpty(material.getFileUrl())) {
                     CostProjectTaskMaterialSummaryDetail detail = new CostProjectTaskMaterialSummaryDetail();
                     detail.setMasterId(summary.getId());
                     detail.setTaskId(mainTask.getId());
-                    detail.setDocumentName(evidence.getMaterialName() != null ? evidence.getMaterialName() : "提取资料登记");
+                    detail.setDocumentName(material.getInformationName() != null ? material.getInformationName() : "补充资料");
                     detail.setDocumentNumber("");
                     detail.setAuditedUnitId(childTask.getAuditedUnitId());
                     detail.setAuditedUnitName(childTask.getAuditedUnitName() != null ? childTask.getAuditedUnitName() : "");
                     detail.setFileSource("监审单位反馈文件");
-                    detail.setPageCount(evidence.getPageCount() != null ? evidence.getPageCount() : 0);
-                    detail.setAttachmentUrl(evidence.getAttachmentUrl());
+                    detail.setPageCount(0);
+                    detail.setAttachmentUrl(material.getFileUrl());
                     detail.setOrderNum(orderNum++);
                     detail.setIsDeleted("0");
                     costProjectTaskMaterialSummaryDetailManager.save(detail);
                 }
             }
-
         }
     }
 
@@ -730,7 +739,7 @@ public class AsyncMaterialSummaryService {
     }
 
     // ==================== 类型13:提取的成本资料和会计凭证等复印件 ====================
-    // 来源:各被监审单位首次及补充材料时提交的资料,包括综合性材料、财会资料等。
+    // 来源:各被监审单位首次及补充材料时提交的资料,包括综合性材料、财会资料等。 提取资料登记表
     private void generateType13Details(CostProjectTaskMaterialSummary summary, CostProjectTask mainTask, List<CostProjectTask> childTasks, List<CostProjectDocument> documents) {
         int orderNum = 1;
         // 获取"成本资料和会计凭证"(来源:被监审单位提交的资料)
@@ -758,29 +767,28 @@ public class AsyncMaterialSummaryService {
         }
         // 获取子任务的资料登记表
         for (CostProjectTask childTask : childTasks) {
-            // 获取任务的报送资料要求(被监审单位提交的补充资料)
-            List<CostProjectTaskMaterial> list = costProjectTaskMaterialManager.list(
-                    new LambdaQueryWrapper<>(CostProjectTaskMaterial.class)
-                            .eq(CostProjectTaskMaterial::getTaskId, childTask.getId())
+            List<CostProjectTaskEvidence> list = costProjectTaskEvidenceManager.list(
+                    new LambdaQueryWrapper<CostProjectTaskEvidence>().eq(CostProjectTaskEvidence::getTaskId, childTask.getId())
             );
-            for (CostProjectTaskMaterial material : list) {
-                // 只处理已上传的资料
-                if ("1".equals(material.getIsUpload()) && StringUtil.isNotEmpty(material.getFileUrl())) {
+            for (CostProjectTaskEvidence evidence : list) {
+                // 只处理有附件的资料登记
+                if (StringUtil.isNotEmpty(evidence.getAttachmentUrl())) {
                     CostProjectTaskMaterialSummaryDetail detail = new CostProjectTaskMaterialSummaryDetail();
                     detail.setMasterId(summary.getId());
                     detail.setTaskId(mainTask.getId());
-                    detail.setDocumentName(material.getInformationName() != null ? material.getInformationName() : "补充资料");
+                    detail.setDocumentName(evidence.getMaterialName() != null ? evidence.getMaterialName() : "提取资料登记");
                     detail.setDocumentNumber("");
                     detail.setAuditedUnitId(childTask.getAuditedUnitId());
                     detail.setAuditedUnitName(childTask.getAuditedUnitName() != null ? childTask.getAuditedUnitName() : "");
                     detail.setFileSource("监审单位反馈文件");
-                    detail.setPageCount(0);
-                    detail.setAttachmentUrl(material.getFileUrl());
+                    detail.setPageCount(evidence.getPageCount() != null ? evidence.getPageCount() : 0);
+                    detail.setAttachmentUrl(evidence.getAttachmentUrl());
                     detail.setOrderNum(orderNum++);
                     detail.setIsDeleted("0");
                     costProjectTaskMaterialSummaryDetailManager.save(detail);
                 }
             }
+
         }
     }
 
@@ -1579,7 +1587,19 @@ public class AsyncMaterialSummaryService {
         // 监审办结时间(任务状态为办结时,取更新时间,格式:xxxx年xx月)
         String auditEndTime = "";
         if ("400".equals(task.getStatus()) && task.getUpdateTime() != null) {
-            auditEndTime = task.getUpdateTime().getYear() + "年" + task.getUpdateTime().getMonthValue() + "月";
+            // task
+            // 更新流程节点时间:清空当前节点的结束时间,重置上一节点的开始时间
+            CostProjectProccess proccess = costProjectProccessManager.getOne(
+                    new LambdaQueryWrapper<CostProjectProccess>().eq(CostProjectProccess::getProjectId, task.getProjectId())
+            );
+            CostProjectProccessNode currentNode = costProjectProccessNodeManager.getOne(
+                    new LambdaQueryWrapper<CostProjectProccessNode>()
+                            .eq(CostProjectProccessNode::getProcessId, proccess.getProcessId())
+                            .eq(CostProjectProccessNode::getProcessNodeKey, task.getCurrentNode())
+            );
+            if(currentNode != null){
+                auditEndTime = currentNode.getActEndTime().getYear() + "年" + currentNode.getActEndTime().getMonthValue() + "月";
+            }
         }
         map.put("{监审办结时间}", auditEndTime);