Browse Source

股东卡

lihong 1 year ago
parent
commit
3d22af61fe

+ 3 - 3
src/main/java/thyyxxk/webserver/controller/mz/ShareholderCardController.java

@@ -52,9 +52,9 @@ public class ShareholderCardController {
      * @return: thyyxxk.webserver.entity.ResultVo<java.util.List<thyyxxk.webserver.service.mz.ZdVisitTypeNew>>
      **/
     @PassToken
-    @GetMapping("/queryZdVisitTypeNew")
-    public ResultVo<List<ZdVisitTypeNew>> queryZdVisitTypeNew(){
-        return ResultVoUtil.success(service.queryZdVisitTypeNew());
+    @PostMapping("/queryZdVisitTypeNew")
+    public ResultVo<List<ZdVisitTypeNew>> queryZdVisitTypeNew(@RequestBody ZdVisitTypeNew zdVisitTypeNew){
+        return ResultVoUtil.success(service.queryZdVisitTypeNew(zdVisitTypeNew));
     }
 
     /**

+ 43 - 0
src/main/java/thyyxxk/webserver/dao/his/mz/ShareholderCardDao.java

@@ -87,4 +87,47 @@ public interface ShareholderCardDao {
     @Select(" select t2.code,t2.name,t2.charge_amount from mz_tc_detail t1  join zd_charge_item  t2 on t1.charge_code=t2.code " +
             "    where t1.tc_no = #{tcNo} ")
     List<ZdChargeItem> selectTcDeatil(String tcNo);
+
+    @Select({"<script>",
+            " SELECT ",
+            "<when test='pageSize!=null'>",
+            " top ${pageSize} ",
+            "</when>",
+            "rtrim(code) code,name,py_code,d_code wb_code,class ,exec_unit,type='1',rtrim(sample_code) sample_code,bw_code='' ",
+            "    FROM jy_zd_item WITH(NOLOCK) ",
+            "where  isnull(del_flag,'') <![CDATA[<>]]> '1' ",
+            "<when test='commonParams!=null'>",
+            "and (py_code like #{commonParams} collate Chinese_PRC_CI_AS or ",
+            "         d_code  like #{commonParams} collate Chinese_PRC_CI_AS or ",
+            "         code    like #{commonParams} collate Chinese_PRC_CI_AS or ",
+            "         name    like #{commonParams} collate Chinese_PRC_CI_AS )  ",
+            "</when>",
+            " UNION ALL ",
+            "    SELECT ",
+            "<when test='pageSize!=null'>",
+            " top ${pageSize} ",
+            "</when>",
+            "rtrim(code) code,name,py_code,d_code wb_code,class ,exec_unit,type='2',sample_code='',rtrim(bw_code) bw_code ",
+            "    FROM jc_zd_item  WITH(NOLOCK) ",
+            "where  isnull(del_flag,'') <![CDATA[<>]]> '1' ",
+            "<when test='commonParams!=null'>",
+            "and (py_code like #{commonParams} collate Chinese_PRC_CI_AS or ",
+            "         d_code  like #{commonParams} collate Chinese_PRC_CI_AS or ",
+            "         code    like #{commonParams} collate Chinese_PRC_CI_AS or ",
+            "         name    like #{commonParams} collate Chinese_PRC_CI_AS )  ",
+            "</when>",
+            "</script>"})
+    List<ZdChargeItem> selectJcJyItemByCommonParams(@Param("commonParams") String commonParams, @Param("pageSize") Integer pageSize);
+    @Select("<script>" +
+            " select t2.code,t2.charge_amount,t2.name from " +
+            "<if test=\" jyjcType == '1'.toString  \">"+
+            "  jy_item_charge t1 " +
+            "</if>"+
+            "<if test=\" jyjcType != '1'.toString  \">"+
+            "  jc_item_charge t1 " +
+            "</if>"+
+            " join zd_charge_item t2 on t1.charge_code=t2.code\n" +
+            " where t1.code=#{chargeItem}"+
+            "</script> ")
+    List<ZdChargeItem> selectJcJyZdChargeItemByCode(String chargeItem, String jyjcType);
 }

+ 3 - 0
src/main/java/thyyxxk/webserver/entity/executeItem/ZdChargeItem.java

@@ -153,4 +153,7 @@ public class ZdChargeItem {
     private String groupNo;
     //病案统计编码
     private String zdChargeBaClass;
+
+    //项目类型  1 检验  2 检查  3  诊疗
+    private String type;
 }

+ 2 - 1
src/main/java/thyyxxk/webserver/entity/mz/DiscountEnum.java

@@ -14,8 +14,9 @@ import java.util.Map;
 public enum DiscountEnum {
     AUDIT_CODE("audit_code","按大类(如CT,B超)"),
     CHARGE_CODE("charge_code","单项"),
-    TC_NO("tc_no","套餐(如检验检查套餐)"),
+    TC_NO("tc_no","门诊套餐"),
     TEMPLATE_ID("template_id","组合套餐(如检查,检验和诊疗项目自由组合)"),
+    JY_JC_CODE("jy_jc_code","检验/检查项目"),
     GH("gh","挂号")
     ;
     private String code;

+ 33 - 10
src/main/java/thyyxxk/webserver/service/mz/ShareholderCardService.java

@@ -58,8 +58,10 @@ public class ShareholderCardService {
      * @date: 2024/1/12 9:44
      * @return: java.util.List<thyyxxk.webserver.service.mz.ZdVisitTypeNew>
      **/
-    public List<ZdVisitTypeNew> queryZdVisitTypeNew() {
-        return zdVisitTypeNewDao.selectList(new QueryWrapper());
+    public List<ZdVisitTypeNew> queryZdVisitTypeNew(ZdVisitTypeNew zdVisitTypeNew) {
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq(zdVisitTypeNew.getDelFlag() !=null,"del_flag", zdVisitTypeNew.getDelFlag());
+        return zdVisitTypeNewDao.selectList(queryWrapper);
     }
 
 
@@ -148,6 +150,20 @@ public class ShareholderCardService {
         AssertUtil.isnotBlank(params.getStartDate(), "有效开始时间不能为空");
         AssertUtil.isnotBlank(params.getEndDate(), "有效截止时间不能为空");
         AssertUtil.isnotBlank(params.getChargeItem(), "项目编码不能为空");
+        params.setOpDate(new Date());
+        if (params.getId() == null) {
+            checkData(params);
+            return zdDiscountDetailDao.insert(params);
+        } else {
+            ZdDiscountDetail zdDiscountDetail = zdDiscountDetailDao.selectById(params.getId());
+            if(!params.getVisitType().equals(zdDiscountDetail.getVisitType()) || !params.getDiscountClass().equals(zdDiscountDetail.getDiscountClass()) || !params.getChargeItem().equals(zdDiscountDetail.getChargeItem())){
+                checkData(params);
+            }
+            return zdDiscountDetailDao.updateById(params);
+        }
+    }
+
+    public void checkData(ZdDiscountDetail params) {
         QueryWrapper queryWrapper = new QueryWrapper();
         queryWrapper.eq("visit_type", params.getVisitType());
         queryWrapper.eq("discount_class", params.getDiscountClass());
@@ -156,12 +172,6 @@ public class ShareholderCardService {
         if(count > 0){
             throw new BizException(ExceptionEnum.LOGICAL_ERROR, "该项目已经存在,请不要重复!");
         }
-        params.setOpDate(new Date());
-        if (params.getId() == null) {
-            return zdDiscountDetailDao.insert(params);
-        } else {
-            return zdDiscountDetailDao.updateById(params);
-        }
     }
 
     public List<ZdChargeItem> queryItemList(String discountClass,String keyWard){
@@ -171,7 +181,16 @@ public class ShareholderCardService {
             list = dao.selectZyAuditItem(keyWard);
         }else if(DiscountEnum.CHARGE_CODE.getCode().equals(discountClass)){
             list =  dao.selcetZdChargeItem(keyWard);
-        }else {
+        }
+        else if(DiscountEnum.JY_JC_CODE.getCode().equals(discountClass)){
+            if(StrUtil.isBlank(keyWard)){
+                keyWard = null;
+            }else {
+                keyWard = "%" + keyWard + "%";
+            }
+            list =  dao.selectJcJyItemByCommonParams(keyWard,40);
+        }
+        else {
             list = dao.selectMzTc(keyWard);
         }
         return list;
@@ -218,7 +237,11 @@ public class ShareholderCardService {
         List<ZdChargeItem> list;
         if(DiscountEnum.AUDIT_CODE.getCode().equals(params.getDiscountClass())){
            list =   dao.selcetZdChargeItemByCode(params.getChargeItem());
-        }else {
+        }
+        else if(DiscountEnum.JY_JC_CODE.getCode().equals(params.getDiscountClass())){
+            list =  dao.selectJcJyZdChargeItemByCode(params.getChargeItem(), params.getJyjcType());
+        }
+        else {
         //    tc_no
             list = dao.selectTcDeatil(params.getChargeItem());
         }

+ 2 - 0
src/main/java/thyyxxk/webserver/service/mz/ZdDiscountDetail.java

@@ -52,6 +52,8 @@ public class ZdDiscountDetail  extends BasePage {
     private String chargeName;
     //身份名称
     private String visitName;
+    //1检验 2.检查
+    private String jyjcType;
     private String opId;
     private Date opDate;