Pārlūkot izejas kodu

赋码相关修改

chenendian 1 mēnesi atpakaļ
vecāks
revīzija
04af870952

+ 1 - 1
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/res/ProjectCycleRes.java

@@ -1,6 +1,5 @@
 package com.siwei.apply.domain.res;
 
-import com.siwei.apply.domain.ProjectWorkflow;
 import lombok.Data;
 
 import java.util.List;
@@ -13,6 +12,7 @@ public class ProjectCycleRes {
     private String id;
     private Integer projectType; // 1:单独选址,2:批次报批
     private String name;         // 名称
+    private String tableName;         // 名称
     private Double index;        // 执行顺序
 
     private Boolean hasOnchain=false;//是否完成

+ 29 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/enums/ProjectType.java

@@ -0,0 +1,29 @@
+package com.siwei.apply.enums;
+
+/**
+ * 项目类型
+ */
+public enum ProjectType {
+
+    ALONE("1", "单独选址"),
+    BATCH("2", "批次报批流程");
+
+    private final String name;
+    private final String code;
+
+    ProjectType(String code, String info)
+    {
+        this.code = code;
+        this.name = info;
+    }
+
+    public String getCode()
+    {
+        return code;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+}

+ 3 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/ProjectWorkflowMapper.java

@@ -10,6 +10,9 @@ import java.util.List;
 
 @Mapper
 public interface ProjectWorkflowMapper {
+
+    ProjectWorkflow selectById(@Param("id") String id);
+
     /**
      * 根据项目id查询项目流程节点关系
      */

+ 2 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/LandOneCodeService.java

@@ -17,5 +17,7 @@ public interface LandOneCodeService {
 
     /** 删除(按ID) */
     void deleteById(String id);
+
+    String getBusinessCode(String projectWorkflowId, Integer ProjectType);
 }
 

+ 66 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/LandOneCodeServiceImpl.java

@@ -1,18 +1,36 @@
 package com.siwei.apply.service.impl;
 
 import com.siwei.apply.domain.LandOneCode;
+import com.siwei.apply.domain.ProjectWorkflow;
+import com.siwei.apply.domain.res.ProjectCycleRes;
+import com.siwei.apply.enums.ProjectType;
 import com.siwei.apply.mapper.LandOneCodeMapper;
+import com.siwei.apply.mapper.ProjectWorkflowMapper;
+import com.siwei.apply.mapper.WorkflowMapper;
 import com.siwei.apply.service.LandOneCodeService;
 import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 @Service
 @RequiredArgsConstructor
 public class LandOneCodeServiceImpl implements LandOneCodeService {
 
+    @Autowired
     private final LandOneCodeMapper mapper;
 
+    @Autowired
+    private final ProjectWorkflowMapper projectWorkflowMapper;
+
+    @Autowired
+    private WorkflowMapper workflowMapper;
+
+
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String add(LandOneCode entity) {
@@ -37,4 +55,52 @@ public class LandOneCodeServiceImpl implements LandOneCodeService {
     public void deleteById(String id) {
         mapper.deleteById(id);
     }
+
+
+    /**
+     * 获取业务编码
+     * @param projectWorkflowId
+     * @param projectType
+     * @return
+     */
+    @Override
+    public String getBusinessCode(String projectWorkflowId, Integer projectType) {
+        ProjectWorkflow  projectWorkflow= projectWorkflowMapper.selectById(projectWorkflowId);
+        projectWorkflow.getProjectId();
+        projectWorkflow.getNodeId();
+
+        String nodeTableName = projectWorkflow.getNodeTableName();
+        // 获取不同类型的流程
+        List<ProjectCycleRes> workflows = workflowMapper.selectByProjectTypeOrderByIndex(projectType);
+        ProjectCycleRes currrentProjectCycleRes =  workflows.stream().filter(s->s.getTableName().equals(nodeTableName)).findFirst().orElse(null);
+        Double index = currrentProjectCycleRes.getIndex();
+
+        // 过滤出小于等于当前节点的所有节点
+        workflows = workflows.stream().filter(s->s.getIndex()<=index).collect(Collectors.toList());
+        String tmpCode = "#";
+        String returnCode = "";
+
+        //取征转状态
+        workflows.stream().anyMatch(s->s.getTableName().equalsIgnoreCase(nodeTableName));
+
+        //单独选址
+        if(ProjectType.ALONE.equals(projectType)){
+
+
+
+        }else if(ProjectType.BATCH.equals(projectType)){
+
+
+        }
+
+
+//        LandOneCode entity = new LandOneCode();
+//        entity.setProjectWorkflowId(projectWorkflowId);
+//        entity.setCodeType(codeType);
+//        return mapper.getById(id);
+        return null;
+    }
+
+
+
 }

+ 18 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/ProjectWorkflowMapper.xml

@@ -13,6 +13,24 @@
         <result property="updatedAt" column="updated_at"/>
     </resultMap>
 
+
+    <select id="selectById" parameterType="string" resultMap="ProjectWorkflowResultMap">
+        SELECT id,
+               project_id,
+               workflow_id,
+               parent_id,
+               node_id,
+               node_table_name,
+               workflow_name,
+               created_at,
+               updated_at
+        FROM t_project_workflow
+        WHERE id = #{id}
+        ORDER BY created_at
+    </select>
+
+
+
     <select id="selectByProjectId" parameterType="string" resultMap="ProjectWorkflowResultMap">
         SELECT id,
                project_id,

+ 1 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/WorkflowMapper.xml

@@ -37,6 +37,7 @@
             id,
             project_type AS projectType,
             name,
+            table_name  AS tableName,
             "index" AS index
         FROM t_workflow
         WHERE project_type = #{projectType}