Przeglądaj źródła

增加收费项目与检查检验项目停用关联逻辑

hurugang 3 lat temu
rodzic
commit
7d3b01f0b0

+ 27 - 3
src/main/java/cn/hnthyy/thmz/controller/mz/ZdChargeItemController.java

@@ -3,13 +3,13 @@ package cn.hnthyy.thmz.controller.mz;
 import cn.hnthyy.thmz.Utils.PyWbUtil;
 import cn.hnthyy.thmz.Utils.TokenUtil;
 import cn.hnthyy.thmz.comment.UserLoginToken;
+import cn.hnthyy.thmz.entity.his.zd.JcZdItem;
+import cn.hnthyy.thmz.entity.his.zd.JyZdItem;
 import cn.hnthyy.thmz.entity.his.zd.ZdChargeItem;
 import cn.hnthyy.thmz.entity.thmz.User;
 import cn.hnthyy.thmz.enums.YesNoEnum;
 import cn.hnthyy.thmz.pageDto.ZdChargeItemDto;
-import cn.hnthyy.thmz.service.his.zd.JcJyItemChargeService;
-import cn.hnthyy.thmz.service.his.zd.ZdChargeItemService;
-import cn.hnthyy.thmz.service.his.zd.ZdUnitCodeService;
+import cn.hnthyy.thmz.service.his.zd.*;
 import cn.hnthyy.thmz.service.his.zy.ZyConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -32,6 +32,10 @@ public class ZdChargeItemController {
     private ZyConfigService zyConfigService;
     @Autowired
     private JcJyItemChargeService jcJyItemChargeService;
+    @Autowired
+    private JcZdItemService jcZdItemService;
+    @Autowired
+    private JyZdItemService jyZdItemService;
     /**
      * 分页查询收费项目字典列表
      * @param zdChargeItemDto 收费项目查询条件
@@ -156,6 +160,26 @@ public class ZdChargeItemController {
             resultMap.put("message", "停用标志错误");
             return resultMap;
         }
+        if(YesNoEnum.YES.code.equals(delFlag)){
+            List<String> codes=jcJyItemChargeService.queryCodeFromJcChargeItemByChargeCode(code);
+            if(codes!=null && codes.size()>0){
+                List<JcZdItem> jcZdItems= jcZdItemService.queryJcZdItemByCodeList(codes);
+                if(jcZdItems!=null && jcZdItems.size()>0){
+                    resultMap.put("code", -1);
+                    resultMap.put("message", "项目停用失败,当前收费项目有被检查项目【"+jcZdItems.get(0).getCode()+","+jcZdItems.get(0).getName()+"】使用,请前往检查项目维护功能停用对应的检查项目!");
+                    return resultMap;
+                }
+            }
+            codes=jcJyItemChargeService.queryCodeFromJyChargeItemByChargeCode(code);
+            if(codes!=null && codes.size()>0){
+                List<JyZdItem> jyZdItems= jyZdItemService.queryJyZdItemByCodeList(codes);
+                if(jyZdItems!=null && jyZdItems.size()>0){
+                    resultMap.put("code", -1);
+                    resultMap.put("message", "项目停用失败,当前收费项目有被检验项目【"+jyZdItems.get(0).getCode()+","+jyZdItems.get(0).getName()+"】使用,请前往检验项目维护功能停用对应的检验项目!");
+                    return resultMap;
+                }
+            }
+        }
         String str = YesNoEnum.YES.code.equals(delFlag)?"停用":"启用";
         try {
             ZdChargeItem zdChargeItem = new ZdChargeItem();

+ 36 - 6
src/main/java/cn/hnthyy/thmz/controller/zd/JcJyController.java

@@ -8,6 +8,7 @@ import cn.hnthyy.thmz.entity.jy.InspectionDetail;
 import cn.hnthyy.thmz.entity.jy.InspectionHeader;
 import cn.hnthyy.thmz.entity.jy.InspectionsIndex;
 import cn.hnthyy.thmz.enums.GenderEnum;
+import cn.hnthyy.thmz.enums.YesNoEnum;
 import cn.hnthyy.thmz.service.his.jy.InspectionsService;
 import cn.hnthyy.thmz.service.his.mz.MzZdCommonService;
 import cn.hnthyy.thmz.service.his.zd.*;
@@ -54,7 +55,7 @@ public class JcJyController {
     @Autowired
     private MzZdCommonService mzZdCommonService;
     @Autowired
-    private JyZdTubeChargeService jyZdTubeChargeService;
+    private ZdChargeItemService zdChargeItemService;
 
     /**
      * 查询检查检验列表
@@ -448,11 +449,23 @@ public class JcJyController {
             resultMap.put("message", "保存检查项目失败,项目分类码不能为空");
             return resultMap;
         }
-//        if (jcZdItem.getName().length()>8) {
-//            resultMap.put("code", -1);
-//            resultMap.put("message", "保存检查项目失败,项目名称长度不能超过八位");
-//            return resultMap;
-//        }
+        if(YesNoEnum.NO.code.toString().equals(jcZdItem.getDelFlag())){
+            //启用项目
+            List<Map<String,Object>> data=jcJyItemChargeService.queryJcItemChargesByItemCode(jcZdItem.getCode());
+            if(data!=null && data.size()>0){
+                for(Map map:data){
+                    String chargeCode=  (String)map.get("charge_code");
+                    if(StringUtils.isNotBlank(chargeCode)){
+                        ZdChargeItem zdChargeItem= zdChargeItemService.queryZdChargeItemByCode(chargeCode);
+                        if(zdChargeItem!=null && YesNoEnum.YES.code.equals(zdChargeItem.getDelFlag())){
+                            resultMap.put("code", -1);
+                            resultMap.put("message", "启用检查项目失败,项目明细【"+zdChargeItem.getCode()+","+zdChargeItem.getName()+"】已经被停用");
+                            return resultMap;
+                        }
+                    }
+                }
+            }
+        }
         try {
             int num = jcZdItemService.saveJcZdItem(jcZdItem);
             if (num == 0) {
@@ -812,6 +825,23 @@ public class JcJyController {
             resultMap.put("message", "保存检验项目失败,项目分类码不能为空");
             return resultMap;
         }
+        if(YesNoEnum.NO.code.toString().equals(jyZdItem.getDelFlag())){
+            //启用项目
+            List<Map<String,Object>> data=jcJyItemChargeService.queryJyItemChargesByItemCode(jyZdItem.getCode());
+            if(data!=null && data.size()>0){
+                for(Map map:data){
+                  String chargeCode=  (String)map.get("charge_code");
+                  if(StringUtils.isNotBlank(chargeCode)){
+                      ZdChargeItem zdChargeItem= zdChargeItemService.queryZdChargeItemByCode(chargeCode);
+                      if(zdChargeItem!=null && YesNoEnum.YES.code.equals(zdChargeItem.getDelFlag())){
+                          resultMap.put("code", -1);
+                          resultMap.put("message", "启用检验项目失败,项目明细【"+zdChargeItem.getCode()+","+zdChargeItem.getName()+"】已经被停用");
+                          return resultMap;
+                      }
+                  }
+                }
+            }
+        }
         try {
             int num = jyZdItemService.saveJyZdItem(jyZdItem);
             if (num == 0) {

+ 17 - 0
src/main/java/cn/hnthyy/thmz/mapper/his/zd/JcJyItemChargeMapper.java

@@ -211,4 +211,21 @@ public interface JcJyItemChargeMapper {
      */
     @Insert("INSERT INTO jy_item_charge(code, charge_code, amount, charge_type, tc_no, zy_flag, mz_flag) VALUES (#{code}, #{chargeCode}, #{amount}, #{chargeType}, #{tcNo}, #{zyFlag}, #{mzFlag})")
     int insertJyChargeItem(JcJyItemCharge jcJyItemCharge);
+
+    /**
+     * 查询检查项目配置表中是否有在使用中的项目
+     * @param chargeCode
+     * @return
+     */
+    @Select("select code from  jc_item_charge where charge_code=#{chargeCode} group by code ")
+    List<String> selectCodeFromJcChargeItemByChargeCode(@Param("chargeCode") String chargeCode);
+
+
+    /**
+     * 查询检验项目配置表中是否有在使用中的项目
+     * @param chargeCode
+     * @return
+     */
+    @Select("select code from  jy_item_charge where charge_code=#{chargeCode} group by code ")
+    List<String> selectCodeFromJyChargeItemByChargeCode(@Param("chargeCode") String chargeCode);
 }

+ 2 - 2
src/main/java/cn/hnthyy/thmz/mapper/his/zd/JcZdItemMapper.java

@@ -22,9 +22,9 @@ public interface JcZdItemMapper {
      */
     @Select({"<script>",
             "select rtrim(code) code,name,rtrim(class) class_code,py_code,d_code wb_code,rtrim(del_flag) del_flag,rtrim(exec_unit) exec_unit,rtrim(tj_flag) tj_flag," +
-                    "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,bw_code,group_code from jc_zd_item ",
+                    "rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,bw_code,group_code from jc_zd_item where (del_flag <![CDATA[<>]]>  '1' or del_flag is null )",
             "<when test='codes!=null'>",
-            " where code in",
+            " and code in",
             "<foreach item='item' index='index' collection='codes' open='(' separator=',' close=')'>",
             "#{item}",
             "</foreach>",

+ 3 - 3
src/main/java/cn/hnthyy/thmz/mapper/his/zd/JyZdItemMapper.java

@@ -22,9 +22,9 @@ public interface JyZdItemMapper {
      */
     @Select({"<script>",
             "select rtrim(code) code,name,rtrim(class) class_code,rtrim(exec_unit) exec_unit,vessel,dosage,rtrim(sample_code) sample_code,py_code,d_code wb_code," +
-                    "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times from jy_zd_item",
+                    "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times from jy_zd_item where (del_flag <![CDATA[<>]]>  '1' or del_flag is null )",
             "<when test='codes!=null'>",
-            " where code in",
+            " and code in",
             "<foreach item='item' index='index' collection='codes' open='(' separator=',' close=')'>",
             "#{item}",
             "</foreach>",
@@ -43,7 +43,7 @@ public interface JyZdItemMapper {
      */
     @Select({"<script>",
             "select rtrim(code) code,name,rtrim(class) class_code,rtrim(exec_unit) exec_unit,vessel,dosage,rtrim(sample_code) sample_code,py_code,d_code wb_code," +
-                    "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times from jy_zd_item" +
+                    "rtrim(del_flag) del_flag,rtrim(zy_flag) zy_flag,zy_order_code,rtrim(mz_flag) mz_flag,mz_code,cx_times from jy_zd_item " +
                     " where vessel is not null and vessel <![CDATA[<>]]>  '' ",
             "<when test='codes!=null'>",
             " and code in",

+ 16 - 0
src/main/java/cn/hnthyy/thmz/service/his/zd/JcJyItemChargeService.java

@@ -157,4 +157,20 @@ public interface JcJyItemChargeService {
      * @return
      */
     int removeJyItemCharge(JcJyItemCharge jcJyItemCharge);
+
+
+    /**
+     * 查询检查项目配置表中是否有在使用中的项目
+     * @param chargeCode
+     * @return
+     */
+    List<String> queryCodeFromJcChargeItemByChargeCode(String chargeCode);
+
+
+    /**
+     * 查询检验项目配置表中是否有在使用中的项目
+     * @param chargeCode
+     * @return
+     */
+    List<String> queryCodeFromJyChargeItemByChargeCode(String chargeCode);
 }

+ 10 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/zd/JcJyItemChargeServiceImpl.java

@@ -267,4 +267,14 @@ public class JcJyItemChargeServiceImpl implements JcJyItemChargeService {
     public int removeJyItemCharge(JcJyItemCharge jcJyItemCharge) {
         return jcJyItemChargeMapper.deleteJyItemCharge(jcJyItemCharge);
     }
+
+    @Override
+    public List<String> queryCodeFromJcChargeItemByChargeCode(String chargeCode) {
+        return jcJyItemChargeMapper.selectCodeFromJcChargeItemByChargeCode(chargeCode);
+    }
+
+    @Override
+    public List<String> queryCodeFromJyChargeItemByChargeCode(String chargeCode) {
+        return jcJyItemChargeMapper.selectCodeFromJyChargeItemByChargeCode(chargeCode);
+    }
 }