浏览代码

优化代码以及添加删除检验检查的接口

xiaochan 3 年之前
父节点
当前提交
471755255c

+ 8 - 1
src/main/java/thyyxxk/webserver/controller/zhuyuanyizheng/JianYanJianChaController.java

@@ -91,7 +91,7 @@ public class JianYanJianChaController {
     @GetMapping("/jianChaJianYanMuBanMing")
     public ResultVo<Boolean> jianChaJianYanMuBanMing(@RequestParam("name") String name,
                                                      @RequestParam("reqType") String reqType) {
-        return server.jianChaJianYanMuBanMing(name,reqType);
+        return server.jianChaJianYanMuBanMing(name, reqType);
     }
 
     @PostMapping("/baoCunJianChaJianYanMuBan")
@@ -121,4 +121,11 @@ public class JianYanJianChaController {
         return server.biaoBenShuJu(name);
     }
 
+    @GetMapping("/shanChuJianChaJianYan")
+    public ResultVo<String> shanChuJianChaJianYan(@RequestParam("reqNo") Integer reqNo,
+                                                  @RequestParam("patNo") String patNo,
+                                                  @RequestParam("times") Integer times) {
+        return server.shanChuJianChaJianYan(reqNo, patNo, times);
+    }
+
 }

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

@@ -4,10 +4,14 @@ 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.casefrontsheet.YshHzRecord;
 import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
 import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
 import thyyxxk.webserver.entity.login.UserInfo;
 import thyyxxk.webserver.entity.yibao.ZyActpatient;
+import thyyxxk.webserver.entity.zhuyuanyisheng.caoyaoyizhu.YzActOrderCy;
+import thyyxxk.webserver.entity.zhuyuanyisheng.jianyanjiancha.YshYjReq;
+import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.OpRecord;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -316,4 +320,24 @@ public interface PublicDao {
     Integer jieSuanXinXi(@Param("patNo") String patNo,
                          @Param("times") Integer times);
 
+    @Select("select * " +
+            "from ysh_hz_record " +
+            "where act_order_no = #{actOrder}")
+    YshHzRecord huiZhen(BigDecimal actOrder);
+
+    @Select("select * " +
+            "from ysh_yj_req " +
+            "where act_order_no = #{actOrder}")
+    YshYjReq yiJi(BigDecimal actOrder);
+
+    @Select("select * " +
+            "from op_record " +
+            "where act_order_no = #{actOrder}")
+    OpRecord shouShu(BigDecimal actOrder);
+
+    @Select("select * " +
+            "from yz_act_order_cy " +
+            "where order_no = #{actOrder}")
+    YzActOrderCy caoYao(BigDecimal actOrder);
+
 }

+ 1 - 1
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/JianYanJianChaDao.java

@@ -42,7 +42,7 @@ public interface JianYanJianChaDao {
 
 
     @Select("<script>" +
-            "select order_name,req_no,act_order_no, start_time " +
+            "select order_name,req_no,act_order_no, start_time,inpatient_no,admiss_times " +
             "from ysh_yj_req " +
             "where inpatient_no = #{patNo}" +
             "  and admiss_times = #{times} " +

+ 2 - 0
src/main/java/thyyxxk/webserver/entity/zhuyuanyisheng/caoyaoyizhu/CaoYaoChaXunTiaoJian.java

@@ -21,6 +21,8 @@ public class CaoYaoChaXunTiaoJian {
     @NotNull(message = "住院次数不能为空")
     private Integer times;
 
+    private Boolean shiFouFaYao;
+
     private String startTime;
     private String endTime;
 

+ 1 - 1
src/main/java/thyyxxk/webserver/entity/zhuyuanyisheng/caoyaoyizhu/YzActOrderCy.java

@@ -109,7 +109,7 @@ public class YzActOrderCy implements Serializable {
     private Integer pageNo;
 
     /**
-     * 状态 1-录入 2-收费 3-提交
+     * 状态 1-录入 2-收费 3-提交 4-发药
      */
     private String statusFlag;
 

+ 37 - 0
src/main/java/thyyxxk/webserver/service/PublicServer.java

@@ -10,12 +10,17 @@ import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.dao.his.PublicDao;
 import thyyxxk.webserver.dao.his.yibao.TransferInOfExpensesDao;
 import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.casefrontsheet.YshHzRecord;
 import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
 import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
 import thyyxxk.webserver.entity.login.UserInfo;
 import thyyxxk.webserver.entity.yibao.ZyActpatient;
+import thyyxxk.webserver.entity.zhuyuanyisheng.caoyaoyizhu.YzActOrderCy;
+import thyyxxk.webserver.entity.zhuyuanyisheng.jianyanjiancha.YshYjReq;
+import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.OpRecord;
 import thyyxxk.webserver.utils.*;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -444,5 +449,37 @@ public class PublicServer {
         }
     }
 
+    public void huoQuGaiYiZhuXiaXiangMu(BigDecimal orderNo) {
+        YshHzRecord hz = dao.huiZhen(orderNo);
+        if (hz != null) {
+            if (hz.getStatusFlag().trim().equals("2")) {
+                throw new BizException(ExceptionEnum.LOGICAL_ERROR, "该医嘱下的会诊,已经完成无法删除了。");
+            }
+            return;
+        }
+        YshYjReq yj = dao.yiJi(orderNo);
+        if (yj != null) {
+            if (yj.getReceiveFlag().trim().equals("2")) {
+                throw new BizException(ExceptionEnum.LOGICAL_ERROR,
+                        String.format("该医嘱下【%s】,已经完成无法删除了。", yj.getReqType().trim().equals("2") ? "检验" : "检查"));
+            }
+            return;
+        }
+        OpRecord shouShu = dao.shouShu(orderNo);
+        if (shouShu != null) {
+            if (!shouShu.getStatus().trim().equals("1")) {
+                throw new BizException(ExceptionEnum.LOGICAL_ERROR, "该医嘱下的手术,无法被删除。");
+            }
+            return;
+        }
+        YzActOrderCy caoYao = dao.caoYao(orderNo);
+        if (caoYao != null) {
+            if (caoYao.getStatusFlag().trim().equals("4")) {
+                throw new BizException(ExceptionEnum.LOGICAL_ERROR, "该医嘱下的草药已经发药,无法删除。");
+            }
+        }
+
+    }
+
 }
 

+ 5 - 1
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/CaoYaoYiZhuServer.java

@@ -52,7 +52,11 @@ public class CaoYaoYiZhuServer {
         QueryWrapper<?> qw = new QueryWrapper<>();
         qw.eq("inpatient_no", param.getPatNo());
         qw.eq("admiss_times", param.getTimes());
-        qw.le("status_flag", "3");
+        if (param.getShiFouFaYao()) {
+            qw.eq("status_flag", "4");
+        } else {
+            qw.le("status_flag", "3");
+        }
         if (StringUtil.notBlank(param.getStartTime())) {
             qw.ge("input_date", param.getStartTime());
             qw.le("input_date", param.getEndTime());

+ 5 - 0
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/JianYanJianChaShenQingServer.java

@@ -441,5 +441,10 @@ public class JianYanJianChaShenQingServer {
     }
 
 
+    public ResultVo<String> shanChuJianChaJianYan(Integer reqNo, String patNo, Integer times) {
+        return ResultVoUtil.success();
+    }
+
+
 }
 

+ 7 - 1
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/YiZhuLuRuServer.java

@@ -734,15 +734,21 @@ public class YiZhuLuRuServer {
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "不是本人开的医嘱无权撤销。");
             }
             if (DateUtil.shiJianDaXiao(new Date(), DateUtil.addDateMinut(yz.getStartTime(), 24), ">")) {
-                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "已经超过24个小时了,无法撤销,医务部有权限可以撤销。");
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "已经超过24个小时了,无法撤销。");
             }
         }
         if (!yz.getStatusFlag().trim().equals("2")) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "该医嘱已经无法被撤销了。");
         }
+        // 获取该医嘱下面的项目有没有被执行了,如果被执行了的话就不能撤销了。
+        publicServer.huoQuGaiYiZhuXiaXiangMu(yz.getActOrderNo());
+        // 插入撤销的原因
         dao.chaRuCheXiaoYuanYin(yz.getActOrderNo(), yz.getInpatientNo(), yz.getAdmissTimes(), content, yz.getOrderCode());
+        //  删除费用 删除药品的药单 删除医嘱表 删除医技
         dao.cheXiaoYiZhu(yz.getActOrderNo());
+        // 把原来的医嘱插入到 yz_erase_order 这个表
         dao.chaRuShanChuBiao(yz.getActOrderNo());
+        // 更新原来的状态
         dao.genXingShanChuBiao(userCode, yz.getActOrderNo());
         log.info("删除医嘱==》医嘱号:{},操作人:{}", yz.getActOrderNo(), userCode);
         return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "医嘱撤销成功。");