浏览代码

草药优化以及手术优化以及新功能

xiaochan 2 年之前
父节点
当前提交
813c43f90f

+ 6 - 0
src/main/java/thyyxxk/webserver/controller/zhuyuanyizheng/YizhuLuRuController.java

@@ -249,4 +249,10 @@ public class YizhuLuRuController {
         return server.doctorAuthorizationLogin(userInfo);
     }
 
+    @GetMapping("/updateOrderInstruction")
+    public ResultVo<String> updateOrderInstruction(@RequestParam("orderNo") BigDecimal orderNo,
+                                                   @RequestParam("str") String str) {
+        return server.updateOrderInstruction(orderNo, str);
+    }
+
 }

+ 2 - 2
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/CaoYaoYiZhuDao.java

@@ -186,12 +186,12 @@ public interface CaoYaoYiZhuDao {
 
     @Insert("insert into yz_act_order (act_order_no, inpatient_no, admiss_times, order_code/*77592*/, order_time, frequ_code/*once*/, " +
             "                          enter_time, " +
-            "                          enter_oper, start_time, infant_flag, drug_flag, performance_time, " +
+            "                          enter_oper, start_time, infant_flag, drug_flag,  " +
             "                          physician, confirm_time, signer, status_flag, " +
             "                          self_buy, order_name, pay_self, serial, group_no, ward_code, " +
             "                          doctor_flag, dept_code, exec_unit) " +
             "values (#{yz.orderNo}, #{yz.inpatientNo}, #{yz.admissTimes}, '77592', getdate(), 'ONCE', getdate(), " +
-            "        #{yz.inputId}, getdate(), #{infantFlag}, 'o', getdate(), #{yz.inputId}, getdate(), #{yz.inputId}, '2', 0, " +
+            "        #{yz.inputId}, getdate(), #{infantFlag}, 'o', #{yz.inputId}, getdate(), #{yz.inputId}, '2', 0, " +
             "        #{orderName}, '0', '00', '00', #{wardCode}, 1, #{deptCode}, #{execDept})")
     void chaRuYiZhu(@Param("yz") YzActOrderCy cy,
                     @Param("orderName") String orderName,

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

@@ -181,7 +181,7 @@ public interface ShouShuShenQingDao extends BaseMapper<OpRecord> {
             "yb_self_flag,emergency_flag,exec_unit) " +
             " VALUES " +
             "<foreach collection='list' item='item' separator=','>" +
-            " ('${yzCode}',  '${item.opName}', 'ONCE', #{p.infantFlag}, getdate(), #{userCode}, getdate(), " +
+            " ('${yzCode}',  '${item.orderName}', 'ONCE', #{p.infantFlag}, getdate(), #{userCode}, getdate(), " +
             "        #{item.actOrderNo}, #{p.inpatientNo}, " +
             "        #{p.admissTimes}, 'p', #{userCode}, getdate(), '1', #{userCode}, getdate(), '0', '0', '00', '00', '1', #{p.deptCode}, #{p.deptCode}," +
             "'1',#{item.ybSelfFlag},#{item.urgentClinicFlag},#{execUnit})" +

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

@@ -414,7 +414,6 @@ public interface YiZhuLuRuDao {
                            String userCode,
                            String reasonForCancellation);
 
-
     /**
      * @param deptCode 科室编码
      * @return 获取医生下面的病区
@@ -1455,4 +1454,8 @@ public interface YiZhuLuRuDao {
     void updateAuthorizedDoctor(@Param("orderNo") BigDecimal orderNo,
                                 @Param("userCode") String userCode);
 
+    @Update("update yz_act_order set instruction = cast('${str}' as char(100)) where act_order_no = #{order} ")
+    void updateOrderInstruction(@Param("order") BigDecimal order,
+                                @Param("str") String str);
+
 }

+ 13 - 1
src/main/java/thyyxxk/webserver/entity/zhuyuanyisheng/emrcontrolrule/QualityControlAnalysisOfMedicalRecords.java

@@ -190,7 +190,7 @@ public class QualityControlAnalysisOfMedicalRecords {
 
     public void setQualityControlOpinions(EmrAuditDetail auditDetail) {
         String key = auditDetail.getEmrName();
-        String msg = auditDetail.getName() + "缺陷数【" + auditDetail.getNumberOfDefects() + "】。";
+        String msg = auditDetail.getName() + "(" + auditDetail.getRemark() + ")。" + "缺陷数【" + auditDetail.getNumberOfDefects() + "】,【" + gradeName(auditDetail.getScoringCriteria()) + "】。";
         String temp = qualityControlOpinions.get(auditDetail.getEmrName());
         if (temp != null) {
             temp += msg;
@@ -215,6 +215,18 @@ public class QualityControlAnalysisOfMedicalRecords {
         return null;
     }
 
+    public static String gradeName(int score) {
+        switch (score) {
+            case 1:
+                return "轻";
+            case 2:
+                return "中";
+            case 3:
+                return "重";
+        }
+        return "";
+    }
+
     /**
      * 设置患者的病历等级
      *

+ 9 - 4
src/main/java/thyyxxk/webserver/entity/zhuyuanyisheng/shoushu/OpRecord.java

@@ -186,12 +186,12 @@ public class OpRecord implements Serializable {
 
     /**
      * 术前访视
-     * */
+     */
     private String preoperativeVisit;
 
     /**
      * 术前准备完善情况
-     * */
+     */
     private String preoperativePreparation;
 
     /**
@@ -368,14 +368,19 @@ public class OpRecord implements Serializable {
 
     /**
      * 是否有收费,chargeSum>0:有, 其他无
-     * */
+     */
     private Double chargeSum;
 
     /**
      * 0-未接,1-已接
-     * */
+     */
     private Integer arrangementExecuted;
 
+    /**
+     * 生成医嘱的医嘱名
+     */
+    private String orderName;
+
     public String getStatusName() {
         if (this.status == null) {
             return "";

+ 0 - 2
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/CaoYaoYiZhuService.java

@@ -41,7 +41,6 @@ import java.util.*;
 @Service
 @Slf4j
 public class CaoYaoYiZhuService {
-
     private final CaoYaoYiZhuDao dao;
     private final PublicServer publicServer;
     private final YiZhuLuRuDao yiZhuLuRuDao;
@@ -246,7 +245,6 @@ public class CaoYaoYiZhuService {
     public ResultVo<String> shanChuMuBan(String name, String deptCode) {
         YzOrderPatternCy mb = dao.caoYaoMuBanXiangQing(name);
         // 如果有这个权限直接删除
-
         if (publicServer.needRule(YiZhuPublicService.MU_BAN_BIAN_JI_QUAN_XIAN)) {
             // 本人创建的也可以直接删除
             if (mb.getCreateId().equals(TokenUtil.getTokenUserId())) {

+ 3 - 0
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/ShouShuShenQingService.java

@@ -200,6 +200,9 @@ public class ShouShuShenQingService {
         if (StringUtil.isBlank(param.getOpScale())) {
             sb.append("手术等级不能为空。");
         }
+        if (StringUtil.isBlank(param.getOrderName())) {
+            sb.append("生成的医嘱名不能为空。");
+        }
         return sb.toString();
     }
 

+ 9 - 2
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/YiZhuLuRuServer.java

@@ -681,8 +681,8 @@ public class YiZhuLuRuServer {
             // 更新住院表费用
             dao.updateItemFlag(yz.getInpatientNo(), yz.getAdmissTimes(), parentNoList);
         }
-        // 取消发药表的数据
-        dao.refusalToDispenseMedication(orderNo);
+        // 取消发药表的数据 父子医嘱
+        parentNoList.forEach(dao::refusalToDispenseMedication);
         // 作废医嘱状态更变
         dao.updateVoidedOrders(orderNo, userInfo.getCode(), reasonForCancellation);
         // 改变子医嘱
@@ -1409,4 +1409,11 @@ public class YiZhuLuRuServer {
     }
 
 
+    public ResultVo<String> updateOrderInstruction(BigDecimal orderNo, String str) {
+        log.info("修改医嘱嘱托:医嘱号:{},嘱托:{}", orderNo, str);
+        dao.updateOrderInstruction(orderNo, str);
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "更新成功。");
+    }
+
+
 }