Ver código fonte

大中型不备案审核

wucl 10 meses atrás
pai
commit
c95e812d61

+ 2 - 1
dao/src/main/resources/mapper/BusinessProductionPerformanceMapper.xml

@@ -7,7 +7,8 @@
        ( CASE mp.production WHEN 'STATEMENT' THEN '价值意见书' WHEN 'REPORT' THEN '报告' ELSE '复评函' END ) AS productionType,
        u.NAME AS principal ,
        mp.id as pId,
-       mp.name as productionName from major_production mp  left join
+       mp.name as productionName,
+       mp.is_record from major_production mp  left join
        (select * from business_production_performance where  deleted = 0
        <if test="performance!=null and performance.checkLoop!=null and performance.checkLoop!='' ">
            and check_loop = #{performance.checkLoop}

+ 5 - 0
domain/src/main/java/com/dayou/dto/WorkNodeCommit.java

@@ -85,4 +85,9 @@ public class WorkNodeCommit {
      */
     private Long ccId;
 
+    /**
+     * 土地类型是否备案
+     */
+    private Boolean landIsRecord;
+
 }

+ 2 - 0
domain/src/main/java/com/dayou/entity/BusinessProductionPerformance.java

@@ -81,5 +81,7 @@ public class BusinessProductionPerformance extends BaseEntity {
     private Long pId;
     @TableField(exist = false)
     private Boolean operation;
+    @TableField(exist = false)
+    private Boolean isRecord;
 
 }

+ 2 - 2
domain/src/main/java/com/dayou/entity/MajorProduction.java

@@ -232,12 +232,12 @@ public class MajorProduction extends BaseEntity {
     /**
      * 是否上报协会(房地产)
      */
-    private Boolean isSubmit = true;
+    private Boolean isSubmit = false;
 
     /**
      * 是否备案(土地)
      */
-    private Boolean isRecord = true;
+    private Boolean isRecord = false;
 
     /**
      * 第一报告人

+ 7 - 2
domain/src/main/java/com/dayou/enums/workflow/CallbackEnum.java

@@ -60,7 +60,12 @@ public enum CallbackEnum {
     /**
      * 资产报告四审校验
      */
-    CHECK_ASSET_FOURTH_CHECK_REPORT("CHECK_ASSET_FOURTH_CHECK_REPORT")
+    CHECK_ASSET_FOURTH_CHECK_REPORT("CHECK_ASSET_FOURTH_CHECK_REPORT"),
+
+    /**
+     * 大中型土地报告备案校验
+     */
+    CHECK_LAND_REPORT_IS_RECORD("CHECK_LAND_REPORT_IS_RECORD"),
     ;
 
     private String code;
@@ -82,7 +87,7 @@ public enum CallbackEnum {
             //报告在校验产品类型时节点
             NecessaryNode report = new NecessaryNode();
             report.setProduction(ProductionEnum.REPORT);
-            WorkflowNodeEnum[] workflowNodeEnums1 = {WRITE_REPORT, CHECK_REPORT,RECHECK_REPORT,THIRD_CHECK_REPORT,REPORT_BOOKBINDING_STAMP,REPORT_IN,REPORT_OUT_APPLY,REPORT_OUT_DEPARTMENT_CHECK,REPORT_OUT_FINANCE_CHECK,REPORT_OUT};
+            WorkflowNodeEnum[] workflowNodeEnums1 = {WRITE_REPORT, CHECK_REPORT,LAND_REPORT_NOT_RECORD_CHECK,RECHECK_REPORT,THIRD_CHECK_REPORT,REPORT_BOOKBINDING_STAMP,REPORT_IN,REPORT_OUT_APPLY,REPORT_OUT_DEPARTMENT_CHECK,REPORT_OUT_FINANCE_CHECK,REPORT_OUT};
             report.setNecessaryNodes(workflowNodeEnums1);
             this.necessaryNodes.add(report);
 

+ 1 - 0
domain/src/main/java/com/dayou/enums/workflow/WorkflowNodeEnum.java

@@ -32,6 +32,7 @@ public enum WorkflowNodeEnum implements CodeMsgEnumInterface<String,String>{
         STATEMENT_FEEDBACK("意见书送达反馈","STATEMENT_FEEDBACK"),
         WRITE_REPORT("撰写报告","WRITE_REPORT"),
         CHECK_REPORT("审核报告","CHECK_REPORT"),
+        LAND_REPORT_NOT_RECORD_CHECK("不备案审核","LAND_REPORT_NOT_RECORD_CHECK"),
         RECHECK_REPORT("复审报告","RECHECK_REPORT"),
         THIRD_CHECK_REPORT("三审报告","THIRD_CHECK_REPORT"),
         FOURTH_CHECK_REPORT("四审报告","FOURTH_CHECK_REPORT"),

+ 1 - 1
service/src/main/java/com/dayou/service/workflow/IWorkNodeService.java

@@ -78,7 +78,7 @@ public interface IWorkNodeService extends IService<WorkNode> {
      * @param doThirdCheck
      * @return
      */
-    WorkNodeDTO getNextWorkNodeByCheckState(Long flowId, String nodeCode,String doSecondCheck,String doThirdCheck);
+    WorkNodeDTO getNextWorkNodeByCheckState(Long flowId, String nodeCode,String doSecondCheck,String doThirdCheck,Integer skip);
 
     /**
      * 资产节点跳过判断方法

+ 9 - 9
service/src/main/java/com/dayou/service/workflow/WorkNodeServiceImpl.java

@@ -275,7 +275,7 @@ public class WorkNodeServiceImpl extends ServiceImpl<WorkNodeMapper, WorkNode> i
     }
 
     @Override
-    public WorkNodeDTO getNextWorkNodeByCheckState(Long flowId, String nodeCode, String doSecondCheck, String doThirdCheck) {
+    public WorkNodeDTO getNextWorkNodeByCheckState(Long flowId, String nodeCode, String doSecondCheck, String doThirdCheck,Integer skip) {
         List<WorkNodeDTO> flowNodes = getFlowNodes(flowId);
         for (int i = 0; i < flowNodes.size(); i++) {
             if (nodeCode.equals(CHECK_STATEMENT.name()) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.不审.name().equals(doSecondCheck)) {
@@ -284,11 +284,11 @@ public class WorkNodeServiceImpl extends ServiceImpl<WorkNodeMapper, WorkNode> i
             if (nodeCode.equals(CHECK_STATEMENT.name()) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.待审核.name().equals(doSecondCheck)) {
                 return flowNodes.get(i + 1);
             }
-            if (nodeCode.equals(CHECK_REPORT.name()) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.不审.name().equals(doSecondCheck)) {
-                return flowNodes.get(i + 3);
+            if ((nodeCode.equals(CHECK_REPORT.name()) || nodeCode.equals(LAND_REPORT_NOT_RECORD_CHECK.name())) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.不审.name().equals(doSecondCheck)) {
+                return flowNodes.get(i + 3 + skip);
             }
-            if (nodeCode.equals(CHECK_REPORT.name()) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.待审核.name().equals(doSecondCheck)) {
-                return flowNodes.get(i + 1);
+            if ((nodeCode.equals(CHECK_REPORT.name()) || nodeCode.equals(LAND_REPORT_NOT_RECORD_CHECK.name())) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.待审核.name().equals(doSecondCheck)) {
+                return flowNodes.get(i + 1 + skip);
             }
             if (nodeCode.equals(CHECK_LETTER.name()) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.不审.name().equals(doSecondCheck)) {
                 return flowNodes.get(i + 3);
@@ -302,11 +302,11 @@ public class WorkNodeServiceImpl extends ServiceImpl<WorkNodeMapper, WorkNode> i
             if (nodeCode.equals(RECHECK_STATEMENT.name()) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.待审核.name().equals(doThirdCheck)) {
                 return flowNodes.get(i + 1);
             }
-            if (nodeCode.equals(RECHECK_REPORT.name()) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.不审.name().equals(doThirdCheck)) {
-                return flowNodes.get(i + 2);
+            if ((nodeCode.equals(CHECK_REPORT.name()) || nodeCode.equals(LAND_REPORT_NOT_RECORD_CHECK.name())) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.不审.name().equals(doThirdCheck)) {
+                return flowNodes.get(i + 2 + skip);
             }
-            if (nodeCode.equals(RECHECK_REPORT.name()) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.待审核.name().equals(doThirdCheck)) {
-                return flowNodes.get(i + 1);
+            if ((nodeCode.equals(CHECK_REPORT.name()) || nodeCode.equals(LAND_REPORT_NOT_RECORD_CHECK.name())) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.待审核.name().equals(doThirdCheck)) {
+                return flowNodes.get(i + 1 + skip);
             }
             if (nodeCode.equals(RECHECK_LETTER.name()) && flowNodes.get(i).getCode().equals(nodeCode) && ReportStatus.不审.name().equals(doThirdCheck)) {
                 return flowNodes.get(i + 2);

+ 1 - 1
service/src/main/java/com/dayou/workflow/config/WorkNodeProcessable.java

@@ -87,7 +87,7 @@ public class WorkNodeProcessable {
      * @return
      */
     @Transactional
-    protected WorkNodeDTO beforeForward(WorkNodeCommit commit,WorkFlowNodeInstance currentInstanceNode){
+    public WorkNodeDTO beforeForward(WorkNodeCommit commit, WorkFlowNodeInstance currentInstanceNode){
         //节点控制前置处理。
         //当任务不需要当前节点处理人产生业务数据的时候,则把任务状态改为已完成。
         if (!currentInstanceNode.getState().equals(PENDING.name())){

+ 11 - 2
service/src/main/java/com/dayou/workflow/handler/MajorNodeHandler.java

@@ -34,6 +34,7 @@ import java.util.Set;
 import java.util.stream.Collectors;
 
 import static com.dayou.enums.ProductionEnum.STATEMENT;
+import static com.dayou.enums.TakeNumberEnum.LAND_NUMBER;
 import static com.dayou.enums.workflow.NodeStateEnum.PENDING;
 import static com.dayou.enums.workflow.NodeStateEnum.SKIP;
 import static com.dayou.enums.workflow.WorkflowNodeEnum.*;
@@ -88,8 +89,16 @@ public class MajorNodeHandler extends WorkNodeProcessable {
                     List<ProductionEnum> production = workNodeCommit.getProduction();
                     switch (callback){
                         case CHECK_PRODUCTION_CHECK:
-                            nextWorkNode = workNodeService.getNextWorkNodeByCheckState(currentInstanceNode.getFlowId(),currentInstanceNode.getNodeCode(),
-                                    workNodeCommit.getDoSecondCheck(),workNodeCommit.getDoThirdCheck());
+                            if (workNodeCommit.getLandIsRecord()!=null && workNodeCommit.getLandIsRecord()){
+                                //备案的话才获取审核的节点
+                                nextWorkNode = workNodeService.getNextWorkNodeByCheckState(currentInstanceNode.getFlowId(),currentInstanceNode.getNodeCode(),
+                                        workNodeCommit.getDoSecondCheck(),workNodeCommit.getDoThirdCheck(),1);
+                            }
+                            break;
+                        case CHECK_LAND_REPORT_IS_RECORD:
+                                nextWorkNode = workNodeService.getNextWorkNodeByCheckState(currentInstanceNode.getFlowId(),currentInstanceNode.getNodeCode(),
+                                        workNodeCommit.getDoSecondCheck(),workNodeCommit.getDoThirdCheck(),0);
+
                             break;
                         case CHECK_PRODUCTION_TYPE:
                             //1. 获取业务上出具的产品类型。