Ver Fonte

赋值码增加修改

chenendian há 1 mês atrás
pai
commit
ef50d3fef8

+ 6 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/LandOneCodeMapper.java

@@ -23,4 +23,10 @@ public interface LandOneCodeMapper {
 
     // 根据环节ID(project_workflow_id)修改三类编码
     void updateCodeByProjectWorkflowId(LandOneCode entity);
+
+
+    // 根据主键ID查询
+    LandOneCode getByWorkflowId(@Param("workflowId") String workflowId);
+
+
 }

+ 5 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/NodeLandMapper.java

@@ -1,5 +1,6 @@
 package com.siwei.apply.mapper;
 
+import com.siwei.apply.domain.NodeLand;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -44,4 +45,8 @@ public interface NodeLandMapper {
     String selectNodeIdsByProjectIdAndNodeTableName(@Param("projectId") String projectId,
                                                     @Param("nodeTableName") String nodeTableName);
 
+
+    NodeLand selectByNodeId(@Param("nodeId")String nodeId);
+
+
 }

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

@@ -19,5 +19,11 @@ public interface LandOneCodeService {
     void deleteById(String id);
 
     String getBusinessCode(String projectWorkflowId, Integer ProjectType);
+
+    String addOrUpdateLandOneCodeInfo(String projectWorkflowId, Integer projectType);
+
+
+
+
 }
 

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

@@ -64,6 +64,8 @@ public class Gyjsydjfwscdjmpl implements GyjsydjfwscdjService {
         }
         ProjectWorkflow projectWorkflow = new ProjectWorkflow();
         projectWorkflow.setId(gyjsydjfwscdj.getId());
+
+
         projectWorkflow.setParentId(parentId);
         projectWorkflow.setWorkflowId(workflow.getId());
         projectWorkflow.setProjectId(gyjsydjfwscdj.getProjectId());

+ 55 - 10
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/LandOneCodeServiceImpl.java

@@ -6,6 +6,7 @@ import com.siwei.apply.enums.ProjectType;
 import com.siwei.apply.enums.RegistrationProcessType;
 import com.siwei.apply.mapper.*;
 import com.siwei.apply.service.LandOneCodeService;
+import com.siwei.common.core.utils.bean.BeanUtils;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +19,8 @@ import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
+import static com.siwei.apply.common.Common.UserId;
+
 @Service
 @RequiredArgsConstructor
 public class LandOneCodeServiceImpl implements LandOneCodeService {
@@ -40,6 +43,11 @@ public class LandOneCodeServiceImpl implements LandOneCodeService {
     @Autowired
     private YdysyxzMapper ydysyxzMapper;
 
+    @Autowired
+    private ProjectMapper projectMapper;
+
+    @Autowired
+    private NodeLandMapper nodeLandMapper;
 
 
 
@@ -78,9 +86,7 @@ public class LandOneCodeServiceImpl implements LandOneCodeService {
     @Override
     public String getBusinessCode(String projectWorkflowId, Integer projectType) {
         ProjectWorkflow  projectWorkflow= projectWorkflowMapper.selectById(projectWorkflowId);
-        String projectId = projectWorkflow.getProjectId();
         String nodeId = projectWorkflow.getNodeId();
-
         String nodeTableName = projectWorkflow.getNodeTableName();
         // 获取不同类型的流程
         List<ProjectCycleRes> workflows = workflowMapper.selectByProjectTypeOrderByIndex(projectType);
@@ -131,6 +137,9 @@ public class LandOneCodeServiceImpl implements LandOneCodeService {
                     levyStatusCode =  "是".equalsIgnoreCase(ydysyxz.getHasZz()) ? "1": "否".equalsIgnoreCase(ydysyxz.getHasZz()) ? "0": "";
                 }
             }
+            if(StringUtils.isBlank(levyStatusCode)){
+                levyStatusCode = replaceCode;
+            }
 
             //获取土地供应方式
             if(Objects.nonNull(globalTdgy) && StringUtils.isNoneBlank(globalTdgy.getGdType())){
@@ -176,6 +185,9 @@ public class LandOneCodeServiceImpl implements LandOneCodeService {
                     levyStatusCode =  "是".equalsIgnoreCase(tdgy.getHasZz()) ? "1": "否".equalsIgnoreCase(tdgy.getHasZz()) ? "0": "";
                 }
             }
+            if(StringUtils.isBlank(levyStatusCode)){
+                levyStatusCode = replaceCode;
+            }
 
             //获取土地供应方式
             if(Objects.nonNull(globalTdgy) && StringUtils.isNoneBlank(globalTdgy.getGdType())){
@@ -218,14 +230,47 @@ public class LandOneCodeServiceImpl implements LandOneCodeService {
 
 
 
-
-
-
-
-
-
-
-
+    /**
+     * 各个环节新增时,新增一条地块一码信息
+     * @param projectWorkflowId
+     * @param projectType
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String addOrUpdateLandOneCodeInfo(String projectWorkflowId, Integer projectType) {
+        ProjectWorkflow  projectWorkflow= projectWorkflowMapper.selectById(projectWorkflowId);
+        String nodeId = projectWorkflow.getNodeId();
+        String projectId = projectWorkflow.getProjectId();
+        Project project =projectMapper.get(projectId);
+        // 获取地块ID
+        NodeLand nodeLand = nodeLandMapper.selectByNodeId(nodeId);
+        String landCodeId = nodeLand.getId();
+        LandOneCode landOneCode = mapper.getByWorkflowId(projectWorkflowId);
+        if(Objects.nonNull(landOneCode)){ //修改数据
+            landOneCode.setProjectId(projectId);
+            landOneCode.setLandCode(landCodeId);
+            landOneCode.setProjectWorkflowId(projectWorkflowId);
+            String businessCode = this.getBusinessCode( projectWorkflowId,  projectType);
+            landOneCode.setResourceBusinessCode(businessCode);
+            landOneCode.setResourceProjectCode(project.getCode());
+            landOneCode.setResourceImmobileCode("###");
+            mapper.updateById(landOneCode);
+        }else {
+            //保存入库
+            landOneCode = new LandOneCode();
+            landOneCode.generateId();
+            landOneCode.setProjectId(projectId);
+            landOneCode.setLandCode(landCodeId);
+            landOneCode.setProjectWorkflowId(projectWorkflowId);
+            String businessCode = this.getBusinessCode( projectWorkflowId,  projectType);
+            landOneCode.setResourceBusinessCode(businessCode);
+            landOneCode.setResourceProjectCode(project.getCode());
+            landOneCode.setResourceImmobileCode("###");
+            mapper.add(landOneCode);
+        }
+        return landOneCode.getId();
+    }
 
 
 

+ 9 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/LandOneCodeMapper.xml

@@ -25,6 +25,15 @@
         )
     </insert>
 
+    <select id="getByWorkflowId" parameterType="string" resultMap="LandOneCodeResultMap">
+        SELECT id, land_code, project_id, project_workflow_id,
+               resource_immobile_code, resource_business_code, resource_project_code
+        FROM t_land_one_code
+        WHERE project_workflow_id = #{workflowId}
+        LIMIT 1
+    </select>
+
+
     <select id="getById" parameterType="string" resultMap="LandOneCodeResultMap">
         SELECT id, land_code, project_id, project_workflow_id,
                resource_immobile_code, resource_business_code, resource_project_code

+ 11 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/NodeLandMapper.xml

@@ -17,6 +17,17 @@
         id, node_id, geom_db_id
     </sql>
 
+
+    <!-- 根据节点ID查询附件信息(只返回一条) -->
+    <select id="selectByNodeId" resultMap="BaseResultMap" parameterType="String">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_node_land
+        WHERE node_id = #{nodeId}
+        LIMIT 1
+    </select>
+
+
     <!-- 根据node_id查询地块几何信息,返回geom_db_id和并集的外边框、中心点 -->
     <select id="selectGeomByNodeId" resultType="map" parameterType="String">
         SELECT