Kaynağa Gözat

新增指标删除以及指标显示优化

hsh 2 yıl önce
ebeveyn
işleme
473a3f03de

+ 5 - 0
src/main/java/thyyxxk/webserver/controller/targetmanagement/TargetManagementController.java

@@ -47,6 +47,11 @@ public class TargetManagementController {
         return service.saveTargetDict(dto);
     }
 
+    @PostMapping("/deleteTargetDictById")
+    public ResultVo<Map<String, Object>> deleteTargetDictById(@RequestBody @Validated TargetManagement dto){
+        return service.deleteTargetDictById(dto);
+    }
+
     @PostMapping("/updateTargetDict")
     public ResultVo<Map<String, Object>> updateTargetDict(@RequestBody @Validated ZbZdBaseInfo dto){
         return service.updateTargetDict(dto);

+ 17 - 0
src/main/java/thyyxxk/webserver/dao/his/targetmanagement/ZbZdBaseInfoDao.java

@@ -2,6 +2,7 @@ package thyyxxk.webserver.dao.his.targetmanagement;
 
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 import thyyxxk.webserver.entity.targetmanagement.TargetDictTree;
@@ -33,6 +34,17 @@ public interface ZbZdBaseInfoDao {
             "</script>")
     List<ZbZdBaseInfo> selectZbZdBaseInfo(TargetManagement dto);
 
+    @Select("<script> " +
+            "select rt.calc_child, rt.calc_mom, zb.* " +
+            "from zb_zd_base_info zb " +
+            "left join report_base_info rt " +
+            "on rt.flag = 'Y' and zb.id = rt.report_id and zb.pid = rt.level " +
+            "where zb.state = 'Y' " +
+            " and zb.id = #{id} " +
+            " and zb.pid = #{pid} " +
+            "</script>")
+    ZbZdBaseInfo selectZbZdBaseInfoById(TargetManagement target);
+
     @Select("<script> " +
             " with zb_tree_view as " +
             "( " +
@@ -114,4 +126,9 @@ public interface ZbZdBaseInfoDao {
             "</script>")
     int updateZbZdBaseInfo(ZbZdBaseInfo zbZdBaseInfo);
 
+    @Update("<script> " +
+            " delete from zb_zd_base_info where id = #{id} and pid = #{pid} " +
+            "</script>")
+    int deleteTargetDictById(@Param("id") String id, @Param("pid") String pid);
+
 }

+ 24 - 3
src/main/java/thyyxxk/webserver/service/targetmanagement/TargetManagementService.java

@@ -97,9 +97,9 @@ public class TargetManagementService {
         TargetManagement target = new TargetManagement();
         target.setId(dto.getId());
         target.setPid(dto.getPid());
-        List<ZbZdBaseInfo> zdBaseInfos = zbZdDao.selectZbZdBaseInfo(target);
+        ZbZdBaseInfo zdBaseInfo = zbZdDao.selectZbZdBaseInfoById(target);
         int num = 0;
-        if(zdBaseInfos != null && zdBaseInfos.size() > 0){
+        if(zdBaseInfo != null){
             num = zbZdDao.updateZbZdBaseInfo(dto);
         } else {
             num = zbZdDao.saveZbZdBaseInfo(dto);
@@ -281,5 +281,26 @@ public class TargetManagementService {
 
     }
 
-
+    /**
+     * @description: 根据id和父id删除指标字典
+     * @author: hsh
+     * @date: 2023/6/21 11:05
+     * @param: [dto]
+     * @return: ResultVo<Map<String,Object>>
+     **/
+    public ResultVo<Map<String, Object>> deleteTargetDictById(TargetManagement dto) {
+        if(StringUtil.isBlank(dto.getId())){
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "id不存在,请检查!");
+        }
+        if(StringUtil.isBlank(dto.getPid())){
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "父id不存在,请检查!");
+        }
+        Map<String, Object> resultMap = new HashMap<>();
+        int num = zbZdDao.deleteTargetDictById(dto.getId(), dto.getPid());
+        if(num == 0){
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "删除指标字典失败!");
+        }
+        resultMap.put("cg", "删除指标字典成功!");
+        return ResultVoUtil.success(resultMap);
+    }
 }