Explorar el Código

1.流程分叉开发

GouGengquan hace 1 año
padre
commit
a195131e56

+ 1 - 1
biz-base/src/main/java/com/dayou/controller/AssetsProductionController.java

@@ -119,7 +119,7 @@ public class AssetsProductionController extends BaseController {
      */
     @FinishTask
     @PostMapping("/writeAssetsProduction")
-    public RestResponse<Boolean> writeAssetsProduction(TaskRecordDTO<AssetsProduction> taskRecordDTO) {
+    public RestResponse<Boolean> writeAssetsProduction(@RequestBody TaskRecordDTO<AssetsProduction> taskRecordDTO) {
         return RestResponse.data(assetsProductionService.writeAssetsProduction(taskRecordDTO.getTaskData()));
     }
 

+ 0 - 3
dao/src/main/resources/mapper/AssetsEvaluationTargetMapper.xml

@@ -60,9 +60,6 @@
         <if test="productionNo != null and productionNo != '' ">
             AND production_no = #{productionNo}
         </if>
-        <if test="productionNo == null or productionNo == '' ">
-            AND (production_no IS NULL OR production_no = '')
-        </if>
         AND target.deleted = 0
     </select>
 

+ 5 - 5
dao/src/main/resources/mapper/AssetsMapper.xml

@@ -54,7 +54,8 @@
         order_id,
         assets_business_gener,
         allot_type,
-        production_no,
+        (SELECT production_no FROM assets_production WHERE assets_production.production_no = nodeInfo.business_sub_id) AS productionNo,
+        (SELECT production_type FROM assets_production WHERE assets_production.production_no = nodeInfo.business_sub_id) AS productionType,
         clientele_id,
         customer.name AS customerName,
         bailor,
@@ -69,10 +70,8 @@
         nodeInfo.businessId,
         nodeInfo.currentNodeName,
         nodeInfo.currentNodeCode,
-        nodeInfo.handlerName,
-        production_type
+        nodeInfo.handlerName
         FROM (SELECT @i := 0) AS sort,assets
-        LEFT JOIN assets_production AS production ON production.business_id = assets.id
         LEFT JOIN user ON user.id = assets.principal_id
         LEFT JOIN customer_company AS customer ON customer.id = assets.clientele_id
         #查询当前进行的节点信息(并使用左连接)
@@ -80,7 +79,8 @@
         user.name AS handlerName,
         node.name AS currentNodeName,
         node.code AS currentNodeCode,
-        nodeInstance.business_id AS businessId
+        nodeInstance.business_id AS businessId,
+        nodeInstance.business_sub_id
         FROM work_flow_node_instance AS nodeInstance,
         work_task_record AS record,
         user,

+ 1 - 1
service/src/main/java/com/dayou/service/impl/AssetsServiceImpl.java

@@ -268,7 +268,7 @@ public class AssetsServiceImpl extends ServiceImpl<AssetsMapper, Assets> impleme
 
 
         // 判断有无子号
-        if (ObjectUtil.isNull(productionNoList) || productionNoList.isEmpty()) { //true 则选择了全部评估对象,仅主号无子号
+        if (takeAssetsProductionNoDTO.getSelectAll()) { //true 则选择了全部评估对象,仅主号无子号
             return productionNo + "号";
         } else { //false 选择了部分评估对象,有子号
             return getProductionSecNum(productionNo, productionNoList);

+ 21 - 2
service/src/main/java/com/dayou/workflow/handler/AssetsNodeHandler.java

@@ -1,6 +1,7 @@
 package com.dayou.workflow.handler;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -17,13 +18,16 @@ import com.dayou.enums.workflow.WorkflowNodeEnum;
 import com.dayou.mapper.AssetsMapper;
 import com.dayou.mapper.DepartmentMapper;
 import com.dayou.mapper.WorkFlowNodeInstanceMapper;
+import com.dayou.service.IAssetsProductionService;
 import com.dayou.service.IUserPostService;
 import com.dayou.service.workflow.IWorkFlowNodeInstanceService;
 import com.dayou.service.workflow.IWorkNodeService;
+import com.dayou.service.workflow.IWorkTaskRecordService;
 import com.dayou.workflow.config.WorkNodeProcessable;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.time.LocalDate;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
@@ -52,6 +56,12 @@ public class AssetsNodeHandler extends WorkNodeProcessable {
     @Autowired
     private IWorkFlowNodeInstanceService workFlowNodeInstanceService;
 
+    @Autowired
+    private IAssetsProductionService assetsProductionService;
+
+    @Autowired
+    private IWorkTaskRecordService workTaskRecordService;
+
     @Override
     public boolean forward(WorkNodeCommit workNodeCommit) {
         WorkFlowNodeInstance currentInstanceNode = workFlowNodeInstanceMapper.getById(workNodeCommit.getInstanceNodeId());
@@ -81,9 +91,18 @@ public class AssetsNodeHandler extends WorkNodeProcessable {
                         .eq(BaseEntity::getId, currentInstanceNode.getNodeId()).eq(BaseEntity::getDeleted, Boolean.FALSE)).getCode();
                 WorkflowNodeEnum workflowNodeEnum = WorkflowNodeEnum.valueOf(code);
 
-                if (workflowNodeEnum.equals(WorkflowNodeEnum.WRITE_STATEMENT)){
+                if (workflowNodeEnum.equals(WorkflowNodeEnum.GENERATE_STATEMENT)){
                     for (String businessSubId :workNodeCommit.getReportNos()){
-                        addNextInstanceNode(currentInstanceNode,nextWorkNode, workNodeCommit.getNextHandlerId(),businessSubId,null);
+                        AssetsProduction assetsProduction = assetsProductionService.getOne(new LambdaQueryWrapper<AssetsProduction>().select(AssetsProduction::getCreateProductionDate).eq(AssetsProduction::getProductionNo, businessSubId).eq(BaseEntity::getDeleted, Boolean.FALSE));
+//                        // 产品出具日期是否为null,为null说明还没撰写产品的信息
+//                        if (ObjectUtil.isNotNull(assetsProduction)){
+                            addNextInstanceNode(currentInstanceNode,nextWorkNode, workNodeCommit.getNextHandlerId(),businessSubId,null);
+//                        }else {
+//                            workFlowNodeInstanceService.save(currentInstanceNode);
+//                            WorkTaskRecord workTaskRecord = workTaskRecordService.getOne(new LambdaQueryWrapper<WorkTaskRecord>().select(WorkTaskRecord::getHandlerId,WorkTaskRecord::getTaskId).eq(WorkTaskRecord::getInstanceId,workNodeCommit.getInstanceNodeId()));
+//                            workTaskRecord.setInstanceId(currentInstanceNode.getId());
+//                            workTaskRecordService.save(workTaskRecord);
+//                        }
                     }
                 }
                 else if(workflowNodeEnum.equals(WorkflowNodeEnum.WRITE_REPORT) || workflowNodeEnum.equals(WorkflowNodeEnum.WRITE_LETTER)){