Pārlūkot izejas kodu

新增查询详情接口

chenendian 1 mēnesi atpakaļ
vecāks
revīzija
58fbf47b30

+ 12 - 36
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/DecisionTaskController.java

@@ -101,42 +101,6 @@ public class DecisionTaskController extends BaseController {
             String taskId = filterVo.getTaskId();
             System.out.println(taskId+"------------------");
             Map<String, Object> result = new HashMap<>();
-//            DecisionTask decisionTask = new DecisionTask();
-//            decisionTask.setId("123");
-//            decisionTask.setName("测试任务");
-//            decisionTask.setStatus("待处理");
-//            result.put("decisionTask", decisionTask);
-//
-//            DecisionDetailsVo aa = new DecisionDetailsVo();
-//            aa.setName("与权属宗地分析情况");
-//            aa.setType(4);
-//
-//            Map<String, Object> subMap1 = new HashMap<>();
-//            subMap1.put("zddm", "123456789");
-//            subMap1.put("area", 1234567);
-//            subMap1.put("qlr", "张三");
-//            subMap1.put("id", "bad6ca22b2e54f46b6c9835cc2040b57");
-//
-//            Map<String, Object> subMap2 = new HashMap<>();
-//            subMap2.put("zddm", "123456789");
-//            subMap2.put("area", 1234567);
-//            subMap2.put("qlr", "张三");
-//            subMap2.put("id", "bad6ca22b2e54f46b6c9835cc20445567");
-//
-//            List<Map<String,Object>> dataList = List.of(
-//                    subMap1,
-//                    subMap2
-//            );
-//            aa.setDataList(dataList);
-
-
-
-//            List<DecisionDetailsVo> detailsList = List.of(
-//                            aa,
-//                    new DecisionDetailsVo(),
-//                    new DecisionDetailsVo()
-//            );
-
             DecisionTask decisionTask = decisionTaskService.get(taskId);
             List<DecisionDetailsVo>  detailsList  = decisionTaskService.detailsList(taskId);
             result.put("decisionTask", decisionTask);
@@ -148,6 +112,18 @@ public class DecisionTaskController extends BaseController {
     }
 
 
+    @GetMapping("/joinDetails")
+    public R<Map<String, Object>> joinDetails(@RequestParam("joinId") String joinId,  @RequestParam("type") Integer type) {
+        try {
+            Map<String, Object> result = decisionTaskService.getJoinDetails(joinId, type);
+            return R.ok(result);
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
+        }
+    }
+
+
+
 
 
 }

+ 5 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/enums/DecisionType.java

@@ -83,6 +83,11 @@ public enum DecisionType {
 
     /**
      * 通过 code 获取对应的表名
+     *
+     *
+     *
+     *
+     *
      */
     public static String getTableNameByCode(String code) {
         DecisionType type = getByCode(code);

+ 4 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/DecisionTaskMapper.java

@@ -24,9 +24,13 @@ public interface DecisionTaskMapper {
 
     void batchDelete(@Param("ids") List<String> ids);
 
+    void batchDeleteDetails(@Param("taskIds") List<String> taskIds);
+
     void insertDecisionIntersection(DecisionIntersectsDetailsVo intersectsParam);
 
     List<Map<String,Object>> getDetailsList(DecisionTaskParamVo paramVo);
 
+    Map<String,Object> getJoinDetails(@Param("tableName") String tableName, @Param("fieldName") String fieldName,@Param("fieldValue") String fieldValue);
+
 
 }

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

@@ -9,6 +9,7 @@ import java.util.List;
 import java.util.Map;
 
 public interface DecisionTaskService {
+
     String add(DecisionTaskVo decisionTaskVo);
 
     DecisionTask get(String id);
@@ -23,5 +24,6 @@ public interface DecisionTaskService {
 
     List<DecisionDetailsVo>  detailsList(String taskId);
 
+    Map<String,Object> getJoinDetails(String currentId,Integer type);
 
     }

+ 27 - 1
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/DecisionTaskServiceImpl.java

@@ -56,9 +56,11 @@ public class DecisionTaskServiceImpl implements DecisionTaskService {
         decisionTaskMapper.update(decisionTask);
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void batchDelete(List<String> ids) {
-        decisionTaskMapper.batchDelete(ids);
+        decisionTaskMapper.batchDelete(ids);//删除主表
+        decisionTaskMapper.batchDeleteDetails(ids);//删除详情表
     }
 
 
@@ -195,6 +197,30 @@ public class DecisionTaskServiceImpl implements DecisionTaskService {
         return resultList;
     }
 
+    /**
+     *
+     * 获取当前数据类型的详情数据
+     * @param currentId
+     * @param type
+     * @return
+     */
+    @Override
+    public Map<String,Object> getJoinDetails(String currentId,Integer type) {
+        if (StringUtils.isBlank(currentId)) {
+            throw new ServiceException("当前关联id不能为空");
+        }
+        if (type == null) {
+            throw new ServiceException("数据类型不能为空");
+        }
+        DecisionType typeEnum = DecisionType.getByCode(String.valueOf(type));
+        if (typeEnum != null) {
+            return decisionTaskMapper.getJoinDetails(typeEnum.getTable(),typeEnum.getSourceId(),currentId);
+        }
+        return null;
+    }
+
+
+
 
 
 

+ 13 - 1
siwei-modules/siwei-apply/src/main/resources/mapper/DecisionTaskMapper.xml

@@ -117,7 +117,7 @@
             #{detailsName} as details_name,
             public.ST_Intersection(inTbale.geom,public.ST_GeomFromEWKT(#{ewkt})) AS geom
             FROM vector.${tableName} inTbale
-            WHERE public.ST_Intersects( inTbale.geom,public.ST_GeomFromEWKT(#{ewkt}))
+            WHERE public.ST_Intersects(inTbale.geom,public.ST_GeomFromEWKT(#{ewkt}))
 
               <if test="tableIds != null and tableIds.size() > 0">
                 AND inTbale.${sourceId}::varchar IN
@@ -157,6 +157,18 @@
     </select>
 
 
+    <delete id="batchDeleteDetails">
+        DELETE FROM t_decision_task_details
+        WHERE task_id IN
+        <foreach collection="taskIds" item="taskId" open="(" separator="," close=")">
+            #{taskId}
+        </foreach>
+    </delete>
+
+    <select id="getJoinDetails" resultType="map">
+        SELECT  d.*  FROM vector.${tableName}  d  WHERE   d.${fieldName}::varchar = #{fieldValue}
+    </select>
+
 
 
 </mapper>