Browse Source

Merge branch 'master' of https://172.16.32.165/lighter/web-server

lighter 5 months ago
parent
commit
c2e7354ccc

+ 99 - 4
src/main/java/thyyxxk/webserver/controller/orderZdMaintain/OrderZdMaintainController.java

@@ -1,24 +1,29 @@
 package thyyxxk.webserver.controller.orderZdMaintain;
 
+import cn.hutool.core.util.StrUtil;
+import lombok.AllArgsConstructor;
+import lombok.Data;
 import lombok.RequiredArgsConstructor;
+import org.aspectj.apache.bcel.classfile.Code;
 import org.springframework.web.bind.annotation.*;
 import thyyxxk.webserver.aop.interfaces.NeedMenu;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.dao.his.orderZdMaintain.OrderZdMaintainDao;
 import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.dictionary.CodeName;
-import thyyxxk.webserver.entity.orderZdMaintain.dto.AddOrderOccurenceDTO;
-import thyyxxk.webserver.entity.orderZdMaintain.dto.OrderOccurrenceDTO;
-import thyyxxk.webserver.entity.orderZdMaintain.dto.YzOrderItemDTO;
-import thyyxxk.webserver.entity.orderZdMaintain.dto.ZdChargeItemDto;
+import thyyxxk.webserver.entity.orderZdMaintain.dto.*;
 import thyyxxk.webserver.entity.orderZdMaintain.dto.frequency.YzOrderFrequencyDTO;
+import thyyxxk.webserver.entity.orderZdMaintain.enums.SupplyClass;
 import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.YzZdOrderItemConfirm;
 import thyyxxk.webserver.enums.authorize.MenuEnum;
+import thyyxxk.webserver.service.PublicServer;
 import thyyxxk.webserver.service.hutoolcache.CacheEnums;
 import thyyxxk.webserver.service.hutoolcache.ExtraCache;
 import thyyxxk.webserver.service.orderZdMaintain.OrderZdMaintainService;
+import thyyxxk.webserver.utils.ListUtil;
 import thyyxxk.webserver.utils.ResultVoUtil;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -29,6 +34,7 @@ public class OrderZdMaintainController {
     private final OrderZdMaintainService service;
     private final OrderZdMaintainDao dao;
     private final ExtraCache extraCache;
+    private final PublicServer publicServer;
 
 
     @GetMapping("/getChangeItemType")
@@ -137,4 +143,93 @@ public class OrderZdMaintainController {
         return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_NOTIFICATION);
     }
 
+
+    @AllArgsConstructor
+    @Data
+    public static class TempCodeName {
+        private Integer code;
+        private String name;
+    }
+
+    @GetMapping("/getSupplyClass")
+    @NeedMenu(MenuEnum.orderZdMaintain)
+    public ResultVo<List<TempCodeName>> getSupplyClass() {
+        List<TempCodeName> codeNames = new ArrayList<>();
+        for (SupplyClass value : SupplyClass.values()) {
+            codeNames.add(new TempCodeName(value.getCode(), value.getName()));
+        }
+        return ResultVoUtil.success(codeNames);
+    }
+
+    @GetMapping("/selectAllSupplyType")
+    @NeedMenu(MenuEnum.orderZdMaintain)
+    public ResultVo<List<YzSupplyTypeDTO>> selectAllSupplyType() {
+        return ResultVoUtil.success(dao.selectAllSupplyType());
+    }
+
+    @PostMapping("/insertSupplyType")
+    @NeedMenu(MenuEnum.orderZdMaintain)
+    public ResultVo<String> insertSupplyType(@RequestBody YzSupplyTypeDTO param) {
+        param.setSupplyCode(publicServer.getSupplyNo());
+        dao.insertSupplyType(param);
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_NOTIFICATION);
+    }
+
+    @PostMapping("/updateSupplyType")
+    @NeedMenu(MenuEnum.orderZdMaintain)
+    public ResultVo<String> updateSupplyType(@RequestBody YzSupplyTypeDTO param) {
+        dao.updateSupplyType(param);
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_NOTIFICATION);
+    }
+
+    @GetMapping("/deleteSupplyType")
+    @NeedMenu(MenuEnum.orderZdMaintain)
+    public ResultVo<String> deleteSupplyType(@RequestParam("code") String code,
+                                             @RequestParam("delFlag") String delFlag) {
+        dao.delSupplyType(code, delFlag);
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_NOTIFICATION);
+    }
+
+    @Data
+    public static class SupplyCharge {
+        private String supplyCode;
+        private String chargeCode;
+        private String chargeName;
+        private BigDecimal chargeAmount;
+    }
+
+    @GetMapping("/getSupplyCharge")
+    @NeedMenu(MenuEnum.orderZdMaintain)
+    public ResultVo<List<SupplyCharge>> getSupplyCharge(@RequestParam("code") String code) {
+        return ResultVoUtil.success(dao.getSupplyCharges(code));
+    }
+
+    @GetMapping("/delSupplyCharge")
+    @NeedMenu(MenuEnum.orderZdMaintain)
+    public ResultVo<String> delSupplyCharge(@RequestParam("code") String code,
+                                            @RequestParam("chargeCode") String chargeCode) {
+        dao.delSupplyCharge(code, chargeCode);
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_NOTIFICATION);
+    }
+
+    @Data
+    public static class SaveSupplyCharge {
+        private String supplyCode;
+        private List<SupplyCharge> list;
+    }
+
+    @PostMapping("/saveSupplyCharge")
+    public ResultVo<String> saveSupplyCharge(@RequestBody SaveSupplyCharge param) {
+        if (ListUtil.isBlank(param.getList())) {
+            return ResultVoUtil.fail(ExceptionEnum.SUCCESS);
+        }
+        dao.delSupplyChargeByCode(param.getSupplyCode());
+        ListUtil.batchList(param.getList(), OrderZdMaintainDao.class, (m, i) -> {
+            if (StrUtil.isNotBlank(i.getChargeCode())) {
+                m.insertSupplyCharge(param.getSupplyCode(), i.getChargeCode(), i.getChargeAmount());
+            }
+        });
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_NOTIFICATION);
+    }
+
 }

+ 9 - 0
src/main/java/thyyxxk/webserver/dao/his/PublicDao.java

@@ -52,6 +52,13 @@ public interface PublicDao {
     @Update("update yz_sequence set order_code = #{newId} where order_code = #{oldId} ")
     int updateOrderNo(BigDecimal newId, BigDecimal oldId);
 
+
+    @Select("select supply_code from yz_sequence")
+    int getSupply();
+
+    @Update("update yz_sequence set supply_code = #{newSupply} where supply_code = #{oldSupply} ")
+    int updateSupply(int oldSupply,int newSupply);
+
     /**
      * @return 获取模板的自增id
      */
@@ -465,4 +472,6 @@ public interface PublicDao {
     @Update("update t_wechat_pay_order set fundpay_amt=#{fundpay}," +
             "acctpay_amt=#{acctpay},cashpay_amt=#{cashpay} where trade_no=#{tradeNo}")
     void test3_1(String tradeNo, String fundpay, String acctpay, String cashpay);
+
+
 }

+ 64 - 4
src/main/java/thyyxxk/webserver/dao/his/orderZdMaintain/OrderZdMaintainDao.java

@@ -1,14 +1,13 @@
 package thyyxxk.webserver.dao.his.orderZdMaintain;
 
 import org.apache.ibatis.annotations.*;
+import thyyxxk.webserver.controller.orderZdMaintain.OrderZdMaintainController;
 import thyyxxk.webserver.entity.dictionary.CodeName;
-import thyyxxk.webserver.entity.orderZdMaintain.dto.AddOrderOccurenceDTO;
-import thyyxxk.webserver.entity.orderZdMaintain.dto.OrderOccurrenceDTO;
-import thyyxxk.webserver.entity.orderZdMaintain.dto.YzOrderItemDTO;
-import thyyxxk.webserver.entity.orderZdMaintain.dto.ZdChargeItemDto;
+import thyyxxk.webserver.entity.orderZdMaintain.dto.*;
 import thyyxxk.webserver.entity.orderZdMaintain.dto.frequency.YzOrderFrequencyDTO;
 import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.YzZdOrderItemConfirm;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 @Mapper
@@ -221,4 +220,65 @@ public interface OrderZdMaintainDao {
     @Update("update yz_order_frequency set del_flag = #{delFlag} where code = #{code}")
     void deleteOrderFrequency(String code, String delFlag);
 
+
+    @Select("SELECT                rtrim(supply_name) as supply_name,\n" +
+            "                      rtrim(supply_code) as supply_code,\n" +
+            "                      rtrim(supply_occ)  as supply_occ,\n" +
+            "                      del_flag,\n" +
+            "                      sort_code,\n" +
+            "                      class              as classs,\n" +
+            "                      rtrim(print_name) AS print_name,\n" +
+            "                      rtrim(py_code) AS py_code,\n" +
+            "                      rtrim(d_code) AS  d_code,\n" +
+            "                      supply_child,\n" +
+            "                      self_buy,\n" +
+            "                      ps_flag,\n" +
+            "                      pring_flag,\n" +
+            "    supplyChildName = (select rtrim(c.supply_name) from yz_supply_type c where c.supply_code = a.supply_child)\n" +
+            "FROM yz_supply_type a order by supply_code ")
+    List<YzSupplyTypeDTO> selectAllSupplyType();
+
+
+    @Insert("insert into yz_supply_type (supply_code, supply_name, del_flag, class, print_name, py_code,\n" +
+            "                            d_code, supply_child, self_buy, ps_flag, pring_flag)\n" +
+            "values (#{supplyCode}, #{supplyName}, '0', #{classs}, #{printName}, #{pyCode}, #{dCode}, #{supplyChild}, #{selfBuy},\n" +
+            "        #{psFlag}, #{pringFlag})")
+    void insertSupplyType(YzSupplyTypeDTO yzSupplyTypeDTO);
+
+    @Update("UPDATE yz_supply_type \n" +
+            "    SET \n" +
+            "        supply_name = #{supplyName},\n" +
+            "        del_flag = #{delFlag},\n" +
+            "        class = #{classs},\n" +
+            "        print_name = #{printName},\n" +
+            "        py_code = #{pyCode},\n" +
+            "        d_code = #{dCode},\n" +
+            "        supply_child = #{supplyChild},\n" +
+            "        self_buy = #{selfBuy},\n" +
+            "        ps_flag = #{psFlag},\n" +
+            "        pring_flag = #{pringFlag}\n" +
+            "    WHERE \n" +
+            "        supply_code = #{supplyCode}")
+    void updateSupplyType(YzSupplyTypeDTO yzSupplyTypeDTO);
+
+
+    @Update("update yz_supply_type set del_flag = #{delFlag} where supply_code = #{code} ")
+    void delSupplyType(String code, String delFlag);
+
+
+    @Select("select charge_code, charge_amount, " +
+            "charge_name = (select rtrim(name) from zd_charge_item where charge_code = code)\n" +
+            "from yz_supply_charge where supply_code = #{code}")
+    List<OrderZdMaintainController.SupplyCharge> getSupplyCharges(String code);
+
+    @Delete("delete yz_supply_charge where supply_code = #{code} and charge_code = #{chargeCode}")
+    void delSupplyCharge(String code, String chargeCode);
+
+    @Insert("insert into yz_supply_charge(supply_code, charge_code, charge_amount)" +
+            " values (#{code},#{chargeCode},#{chargeAmount})")
+    void insertSupplyCharge(String code, String chargeCode, BigDecimal chargeAmount);
+
+    @Delete("delete yz_supply_charge where supply_code = #{code}")
+    void delSupplyChargeByCode(String code);
+
 }

+ 128 - 0
src/main/java/thyyxxk/webserver/entity/orderZdMaintain/dto/YzSupplyTypeDTO.java

@@ -0,0 +1,128 @@
+package thyyxxk.webserver.entity.orderZdMaintain.dto;
+
+import java.io.Serializable;
+
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.NoArgsConstructor;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import thyyxxk.webserver.entity.orderZdMaintain.enums.SupplyClass;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "yz_supply_type")
+public class YzSupplyTypeDTO implements Serializable {
+
+    private static final long serialVersionUID = 5037238763937215407L;
+
+    /**
+     * supplyCode
+     */
+    @TableField(value = "supply_code")
+    private String supplyCode;
+
+    /**
+     * supplyName
+     */
+    @TableField(value = "supply_name")
+    private String supplyName;
+
+    /**
+     * supplyOcc
+     */
+    @TableField(value = "supply_occ")
+    private String supplyOcc;
+
+    /**
+     * delFlag
+     */
+    @TableField(value = "del_flag")
+    private String delFlag;
+
+    /**
+     * sortCode
+     */
+    @TableField(value = "sort_code")
+    private Integer sortCode;
+
+    /**
+     * class
+     */
+    @TableField(value = "class")
+    private Integer classs;
+
+    /**
+     * printName
+     */
+    @TableField(value = "print_name")
+    private String printName;
+
+    /**
+     * pyCode
+     */
+    @TableField(value = "py_code")
+    private String pyCode;
+
+    /**
+     * dCode
+     */
+    @TableField(value = "d_code")
+    private String dCode;
+
+    /**
+     * supplyChild
+     */
+    @TableField(value = "supply_child")
+    private String supplyChild;
+
+    /**
+     * selfBuy
+     */
+    @TableField(value = "self_buy")
+    private String selfBuy;
+
+    /**
+     * psFlag
+     */
+    @TableField(value = "ps_flag")
+    private String psFlag;
+
+    /**
+     * zskFlag
+     */
+    @TableField(value = "zsk_flag")
+    private String zskFlag;
+
+    /**
+     * cyFlag
+     */
+    @TableField(value = "cy_flag")
+    private String cyFlag;
+
+    /**
+     * pringFlag
+     */
+    @TableField(value = "pring_flag")
+    private String pringFlag;
+
+    private String supplyChildName;
+
+    public static LambdaQueryWrapper<YzSupplyTypeDTO> lambdaQueryWrapper() {
+        return new LambdaQueryWrapper<>();
+    }
+
+    public static QueryWrapper<YzSupplyTypeDTO> queryWrapper() {
+        return new QueryWrapper<>();
+    }
+
+    public String getClasssName() {
+        return SupplyClass.getNameByCode(this.classs);
+    }
+
+}

+ 10 - 0
src/main/java/thyyxxk/webserver/entity/orderZdMaintain/dto/ZdChargeItemDto.java

@@ -22,4 +22,14 @@ public class ZdChargeItemDto {
     private String execDeptName;
     private String serial;
     private String groupNo;
+
+    public String getValue() {
+        return code;
+    }
+
+    public String getLabel() {
+        return name;
+    }
+
+
 }

+ 34 - 0
src/main/java/thyyxxk/webserver/entity/orderZdMaintain/enums/SupplyClass.java

@@ -0,0 +1,34 @@
+package thyyxxk.webserver.entity.orderZdMaintain.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+@Getter
+@AllArgsConstructor
+@NoArgsConstructor
+public enum SupplyClass {
+
+    口服(1, "口服"),
+    输液(2, "输液"),
+    出院带药(3, "出院带药"),
+    领药临时(4, "领药(临时)"),
+    退药(5, "退药"),
+    外用(6, "外用"),
+    注射(7, "注射"),
+    药物治疗(8, "药物治疗"),
+    其他(9, "其他");
+
+    private Integer code;
+    private String name;
+
+    public static String getNameByCode(Integer code) {
+        for (SupplyClass supplyClass : SupplyClass.values()) {
+            if (supplyClass.getCode().equals(code)) {
+                return supplyClass.getName();
+            }
+        }
+        return "";
+    }
+
+}

+ 12 - 1
src/main/java/thyyxxk/webserver/service/PublicServer.java

@@ -180,13 +180,24 @@ public class PublicServer {
         int num = dao.updateOrderNo(newId, oldId);
         // 插入生成医嘱的日志
         if (num == 0) {
-            throw new BizException(ExceptionEnum.LOGICAL_ERROR, "生成医嘱错误,请重试!");
+            throw new BizException(ExceptionEnum.LOGICAL_ERROR, "生成医嘱项目编码错误,请重试!");
         }
 
 
         return formatNumberWithLeadingZeros(newId, 5);
     }
 
+    @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT, timeout = 36000, rollbackFor = Exception.class)
+    public String getSupplyNo() {
+        int supply = dao.getSupply();
+        int newSupply = supply + 1;
+        int num = dao.updateSupply(supply, newSupply);
+        if (num == 0) {
+            throw new BizException(ExceptionEnum.LOGICAL_ERROR, "生成给药方式错误,请重试!");
+        }
+        return formatNumberWithLeadingZeros(newSupply, 3);
+    }
+
     /**
      * 将数字格式化为指定长度的字符串,不足位数在前面补0.
      *

+ 2 - 0
src/main/java/thyyxxk/webserver/service/orderZdMaintain/OrderZdMaintainService.java

@@ -76,4 +76,6 @@ public class OrderZdMaintainService {
 
 
 
+
+
 }