Browse Source

权限控制

xiaochan 1 week ago
parent
commit
25d16be1f7

+ 9 - 4
src/main/java/thyyxxk/webserver/controller/executeItem/GenerateYzController.java

@@ -4,9 +4,11 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import thyyxxk.webserver.aop.interfaces.NeedMenu;
 import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.executeItem.GenerateYzVo;
 import thyyxxk.webserver.entity.inpatient.ZyActpatient;
+import thyyxxk.webserver.enums.authorize.MenuEnum;
 import thyyxxk.webserver.service.executeItem.GenerateYzService;
 import thyyxxk.webserver.utils.ResultVoUtil;
 
@@ -25,15 +27,17 @@ public class GenerateYzController {
 
     @Resource
     private GenerateYzService service;
+
     /**
      * @description: 查询病人列表
      * @author: lihong
      * @date: 2024/1/8 15:06
      * @param: wardCode
-     * @return: thyyxxk.webserver.entity.ResultVo<java.util.List<thyyxxk.webserver.entity.inpatient.ZyActpatient>>
+     * @return: thyyxxk.webserver.entity.ResultVo<java.util.List < thyyxxk.webserver.entity.inpatient.ZyActpatient>>
      **/
     @PostMapping("/queryGenerateYzList")
-    public ResultVo<List<ZyActpatient>> queryGenerateYzList(@RequestBody ZyActpatient zyActpatient){
+    @NeedMenu(MenuEnum.generateYz)
+    public ResultVo<List<ZyActpatient>> queryGenerateYzList(@RequestBody ZyActpatient zyActpatient) {
         return ResultVoUtil.success(service.queryGenerateYzList(zyActpatient.getWardCode()));
     }
 
@@ -42,10 +46,11 @@ public class GenerateYzController {
      * @author: lihong
      * @date: 2024/1/8 15:49
      * @param: param
-     * @return: thyyxxk.webserver.entity.ResultVo<java.util.List<thyyxxk.webserver.entity.inpatient.ZyActpatient>>
+     * @return: thyyxxk.webserver.entity.ResultVo<java.util.List < thyyxxk.webserver.entity.inpatient.ZyActpatient>>
      **/
     @PostMapping("/generateYpOrZl")
-    public ResultVo<Set<String>> generateYpOrZl(@RequestBody GenerateYzVo param){
+    @NeedMenu(MenuEnum.generateYz)
+    public ResultVo<Set<String>> generateYpOrZl(@RequestBody GenerateYzVo param) {
         return service.generateYpOrZl(param);
     }
 

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

@@ -0,0 +1,9 @@
+package thyyxxk.webserver.dao.his.zhuyuanyiji;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import thyyxxk.webserver.entity.yiji.YzZyPatientFeeData;
+
+@Mapper
+public interface PatientFee extends BaseMapper<YzZyPatientFeeData> {
+}

+ 1 - 0
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyiji/QueRenYiZhuShouFeiDao.java

@@ -257,4 +257,5 @@ public interface QueRenYiZhuShouFeiDao {
             @Param("list") List<String> execUnitList,
             @Param("yiQueFeiShuJu") List<Patient> yiQueFeiShuJu);
 
+
 }

+ 186 - 0
src/main/java/thyyxxk/webserver/entity/yiji/YzZyPatientFeeData.java

@@ -0,0 +1,186 @@
+package thyyxxk.webserver.entity.yiji;
+
+import java.io.Serializable;
+
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+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;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "yz_zy_patient_fee")
+public class YzZyPatientFeeData implements Serializable {
+
+    private static final long serialVersionUID = 1678007976669679731L;
+
+    /**
+     * inpatientNo
+     */
+    @TableField(value = "inpatient_no")
+    private String inpatientNo;
+
+    /**
+     * admissTimes
+     */
+    @TableField(value = "admiss_times")
+    private Integer admissTimes;
+
+    /**
+     * ledgerSn
+     */
+    @TableField(value = "ledger_sn")
+    private Integer ledgerSn;
+
+    /**
+     * detailSn
+     */
+    @TableField(value = "detail_sn")
+    private Integer detailSn;
+
+    /**
+     * chargeDate
+     */
+    @TableField(value = "charge_date")
+    private Date chargeDate;
+
+    /**
+     * opIdCode
+     */
+    @TableField(value = "op_id_code")
+    private String opIdCode;
+
+    /**
+     * chargeCode
+     */
+    @TableField(value = "charge_code")
+    private String chargeCode;
+
+    /**
+     * infantFlag
+     */
+    @TableField(value = "infant_flag")
+    private String infantFlag;
+
+    /**
+     * chargeStatus
+     */
+    @TableField(value = "charge_status")
+    private String chargeStatus;
+
+    /**
+     * chargeFee
+     */
+    @TableField(value = "charge_fee")
+    private BigDecimal chargeFee;
+
+    /**
+     * selfFlag
+     */
+    @TableField(value = "self_flag")
+    private String selfFlag;
+
+    /**
+     * separateFlag
+     */
+    @TableField(value = "separate_flag")
+    private String separateFlag;
+
+    /**
+     * suppressFlag
+     */
+    @TableField(value = "suppress_flag")
+    private String suppressFlag;
+
+    /**
+     * occTime
+     */
+    @TableField(value = "occ_time")
+    private Date occTime;
+
+    /**
+     * actOrderNo
+     */
+    @TableField(value = "act_order_no")
+    private BigDecimal actOrderNo;
+
+    /**
+     * deptCode
+     */
+    @TableField(value = "dept_code")
+    private String deptCode;
+
+    /**
+     * wardCode
+     */
+    @TableField(value = "ward_code")
+    private String wardCode;
+
+    /**
+     * orderCount
+     */
+    @TableField(value = "order_count")
+    private BigDecimal orderCount;
+
+    /**
+     * paySelf
+     */
+    @TableField(value = "pay_self")
+    private String paySelf;
+
+    /**
+     * execUnit
+     */
+    @TableField(value = "exec_unit")
+    private String execUnit;
+
+    /**
+     * zySerialNo
+     */
+    @TableField(value = "zy_serial_no")
+    private String zySerialNo;
+
+    /**
+     * opFlag
+     */
+    @TableField(value = "op_flag")
+    private String opFlag;
+
+    /**
+     * opId
+     */
+    @TableField(value = "op_id")
+    private String opId;
+
+    /**
+     * opDate
+     */
+    @TableField(value = "op_date")
+    private Date opDate;
+
+    /**
+     * ybSelfFlag
+     */
+    @TableField(value = "yb_self_flag")
+    private String ybSelfFlag;
+
+    public static LambdaQueryWrapper<YzZyPatientFeeData> lambdaQueryWrapper() {
+        return new LambdaQueryWrapper<>();
+    }
+
+    public static QueryWrapper<YzZyPatientFeeData> queryWrapper() {
+        return new QueryWrapper<>();
+    }
+
+
+}

+ 2 - 1
src/main/java/thyyxxk/webserver/enums/authorize/MenuEnum.java

@@ -9,7 +9,8 @@ public enum MenuEnum {
     cacheFlushed("查看系统缓存页面"),
     rectificationInquiry(""),
     clinicalPathway("临床路径维护"),
-    emrDataQuery("");
+    emrDataQuery(""),
+    generateYz("医嘱生成");
 
     private final String describe;
 

+ 9 - 7
src/main/java/thyyxxk/webserver/service/zhuyuanyiji/QueRenYiZhuShouFeiServer.java

@@ -5,16 +5,20 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Data;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.constants.GetDateFormat;
+import thyyxxk.webserver.dao.his.zhuyuanyiji.PatientFee;
 import thyyxxk.webserver.dao.his.zhuyuanyiji.QueRenYiZhuShouFeiDao;
 import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.datamodify.YzActOrder;
 import thyyxxk.webserver.entity.inpatient.patient.Patient;
+import thyyxxk.webserver.entity.yiji.YzZyPatientFeeData;
 import thyyxxk.webserver.service.PublicServer;
 import thyyxxk.webserver.service.inpatient.PatientService;
 import thyyxxk.webserver.utils.*;
@@ -32,16 +36,13 @@ import java.util.stream.Collectors;
  */
 @Service
 @Slf4j
+@RequiredArgsConstructor
 public class QueRenYiZhuShouFeiServer {
     private final QueRenYiZhuShouFeiDao dao;
     private final PublicServer publicServer;
     private final PatientService patientService;
+    private final PatientFee feeDao;
 
-    public QueRenYiZhuShouFeiServer(QueRenYiZhuShouFeiDao dao, PublicServer server, PatientService patientService) {
-        this.dao = dao;
-        this.publicServer = server;
-        this.patientService = patientService;
-    }
 
     public QueRenYiZhuShouFeiServer getThis() {
         return SpringUtil.getBean(this.getClass());
@@ -62,7 +63,7 @@ public class QueRenYiZhuShouFeiServer {
         String fenLei = "a.ward_code";
         if (yzActOrder.getFenLei() != null && yzActOrder.getFenLei().equals(1)) {
             fenLei = "(select count(*) from yz_zy_patient_fee " +
-                    "where op_id = '" + TokenUtil.getInstance().getTokenUserId() + "' and inpatient_no = a.inpatient_no and admiss_times = a.admiss_times and charge_status <> 3) desc";
+                     "where op_id = '" + TokenUtil.getInstance().getTokenUserId() + "' and inpatient_no = a.inpatient_no and admiss_times = a.admiss_times and charge_status <> 3) desc";
         }
         page.setTotal(dao.getXuQueFeiYiZhuTotal(yzActOrder.getInpatientNo(), yzActOrder.getWardCode(), execUnitList, yzActOrder.getStartTimeString(),
                 yzActOrder.getEndTimeString()));
@@ -150,7 +151,7 @@ public class QueRenYiZhuShouFeiServer {
                     Collectors.toMap(L -> L.getInpatientNo() + L.getAdmissTimes() + DateUtil.formatDatetime(L.getOccTime()) + L.getChargeCode() + L.getChargeFee() + L.getOrderCount() + L.getActOrderNo(), a -> a, (k1, k2) -> k2));
             for (YzActOrder yzActOrder : xuYaoQueFei) {
                 String key = yzActOrder.getInpatientNo() + yzActOrder.getAdmissTimes() + DateUtil.formatDatetime(yzActOrder.getOccTime()) +
-                        yzActOrder.getChargeCode() + yzActOrder.getChargeFee() + yzActOrder.getOrderCount() + yzActOrder.getActOrderNo();
+                             yzActOrder.getChargeCode() + yzActOrder.getChargeFee() + yzActOrder.getOrderCount() + yzActOrder.getActOrderNo();
                 if (yiQueFeiMap.containsKey(key)) {
                     YzActOrder queRenTiShi = yiQueFeiMap.get(key);
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("存在已被确费的项目,请对该项目选择不操作或刷新数据重新加载。 !!!∑(゚Д゚ノ)ノ <br>患者姓名:【%s】<br>项目:【%s】<br> 医嘱号:【%s】<br> 医嘱时间:【%s】<br>执行人:【%s】<br> 操作时间:【%s】", queRenTiShi.getPatientName(),
@@ -188,4 +189,5 @@ public class QueRenYiZhuShouFeiServer {
         }
     }
 
+
 }

+ 41 - 0
src/main/java/thyyxxk/webserver/service/zhuyuanyiji/YzPatientFeeToDetailCharge.java

@@ -0,0 +1,41 @@
+package thyyxxk.webserver.service.zhuyuanyiji;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import lombok.Data;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import thyyxxk.webserver.dao.his.zhuyuanyiji.PatientFee;
+import thyyxxk.webserver.entity.yiji.YzZyPatientFeeData;
+
+import java.util.List;
+import java.util.Set;
+
+@Service
+@RequiredArgsConstructor
+public class YzPatientFeeToDetailCharge {
+    private final PatientFee dao;
+
+    @Data
+    public static class FeePatient {
+        private String patNo;
+        private String times;
+    }
+
+    public void init(Set<FeePatient> patients) {
+        if (patients == null || patients.isEmpty()) {
+            return;
+        }
+        for (FeePatient patient : patients) {
+            run(patient);
+        }
+    }
+
+    public void run(FeePatient patient) {
+        LambdaQueryWrapper<YzZyPatientFeeData> qw = YzZyPatientFeeData.lambdaQueryWrapper();
+        qw.eq(YzZyPatientFeeData::getInpatientNo, patient.getPatNo());
+        qw.eq(YzZyPatientFeeData::getAdmissTimes, patient.getTimes());
+        qw.eq(YzZyPatientFeeData::getChargeStatus, "1");
+        List<YzZyPatientFeeData> yzZyPatientFeeData = dao.selectList(qw);
+    }
+
+}