Browse Source

生成处置和排斥手术医嘱

DESKTOP-0GD05B0\Administrator 2 years ago
parent
commit
abd74a7f2e

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

@@ -7,6 +7,7 @@ import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
 import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.OpRecord;
 import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.ShouShuFanHui;
 import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.ZdIcd9Cm3;
+import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.XinZhenYiZhu;
 
 import java.util.List;
 import java.util.Map;
@@ -181,20 +182,17 @@ public interface ShouShuShenQingDao extends BaseMapper<OpRecord> {
             "yb_self_flag,emergency_flag,exec_unit) " +
             " VALUES " +
             "<foreach collection='list' item='item' separator=','>" +
-            " ('10399',  '${item.opName}', 'ONCE', #{infantFlag}, getdate(), #{userCode}, getdate(), " +
-            "        #{item.actOrderNo}, #{patNo}, " +
-            "        #{times}, 'p', #{userCode}, getdate(), '1', #{userCode}, getdate(), '0', '0', '00', '00', '1', #{dept}, #{ward}," +
+            " ('${yzCode}',  '${item.opName}', '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.wardCode}," +
             "'1',#{item.ybSelfFlag},#{item.urgentClinicFlag},#{execUnit})" +
             "</foreach>" +
             "</script>")
     void chaRuYiZhu(@Param("list") List<OpRecord> list,
-                    @Param("infantFlag") Integer infantFlag,
+                    @Param("p") XinZhenYiZhu p,
                     @Param("userCode") String userCode,
-                    @Param("patNo") String patNo,
-                    @Param("times") Integer times,
-                    @Param("dept") String dept,
-                    @Param("ward") String ward,
-                    @Param("execUnit") String execUnit);
+                    @Param("execUnit") String execUnit,
+                    @Param("yzCode") String yzCode);
 
 
     @Select("select * from op_record with (NOLOCK) where record_id = #{id}")

+ 7 - 0
src/main/java/thyyxxk/webserver/entity/zhuyuanyisheng/shoushu/XinZengShouShu.java

@@ -50,5 +50,12 @@ public class XinZengShouShu {
     @NotNull(message = "床位不能为空")
     @NotBlank(message = "床位不能为空")
     private String bedNo;
+
+
+    /**
+     * 是否生成全排斥医嘱
+     */
+    private Boolean generateRejectedOrders;
+
     private List<OpRecord> list;
 }

+ 5 - 7
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/ShouShuShenQingServer.java

@@ -24,6 +24,7 @@ import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.XinZhenYiZhu;
 import thyyxxk.webserver.service.PublicServer;
 import thyyxxk.webserver.utils.*;
 
+import javax.print.DocFlavor;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -124,13 +125,11 @@ public class ShouShuShenQingServer {
 
 
     public ResultVo<Map<String, String>> xinZengShouShuShenQing(XinZengShouShu param) {
-
         if (ListUtil.isBlank(param.getList())) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "请先选择需要上传的数据。");
         }
 
         Map<String, String> map = new HashMap<>(param.getList().size());
-
         for (int i = 0; i < param.getList().size(); i++) {
             OpRecord item = param.getList().get(i);
             String error = applyForVerification(item);
@@ -159,17 +158,16 @@ public class ShouShuShenQingServer {
             shenChengYiZhu.add(item);
             content.add(String.format("手术名称:<span style='color:#409eff'>【%s】</span><br>" +
                     "手术时间:<span style='color:#409eff'>【%tF %<tT】</span><br>", item.getOpName(), item.getOpDatetime()));
-            // 手术医嘱是全排斥医嘱
-//            yiZhuLuRuDao.stopOrder(param.getInpatientNo(), param.getAdmissTimes(), item.getOpDatetime(), userCode);
         }
         log.info("上传数据:{}", JSON.toJSONString(param));
         XinZhenYiZhu huanZheXinXi = yiZhuLuRuDao.huoQuHuanZheXinXi(param.getInpatientNo(), param.getAdmissTimes());
         dao.chaRuShouShuYiSheng(param.getList());
         dao.chaRuShouShu(param.getList(), param.getInpatientNo(), param.getName(), param.getAdmissTimes(),
                 huanZheXinXi.getDeptCode(), huanZheXinXi.getDeptCode(), userCode, param.getBedNo(), param.getAdmissWard());
+        String yzCode = param.getGenerateRejectedOrders() ? "10399" : "06054";
+        // 插入医嘱
+        dao.chaRuYiZhu(shenChengYiZhu, huanZheXinXi, userCode, param.getExecDept(), yzCode);
 
-        dao.chaRuYiZhu(shenChengYiZhu, PublicServer.getInfantFlag(param.getInpatientNo()),
-                userCode, param.getInpatientNo(), param.getAdmissTimes(), huanZheXinXi.getDeptCode(), huanZheXinXi.getDeptCode(), param.getExecDept());
         publicServer.faSongXiaoXi(huanZheXinXi, content, "新增手术", TokenUtil.getTokenUserId());
         return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
     }
@@ -206,7 +204,7 @@ public class ShouShuShenQingServer {
         if (op == null) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有找到该手术的信息。");
         }
-        if (!op.getStatus().trim().equals("1")) {
+        if (!"1".equals(op.getStatus().trim())) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "无法删除该手术。");
         }
         dao.genXingShanChuBiaoZhi(recordId);

+ 6 - 0
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/YiZhuLuRuServer.java

@@ -1607,6 +1607,12 @@ public class YiZhuLuRuServer {
         return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
     }
 
+    /**
+     * 设置父子医嘱
+     *
+     * @param param 主医嘱 和 多个子医嘱
+     * @return 返回数据
+     */
     public ResultVo<String> associateOrders(XinZhenYiZhu param) {
         log.info("数据:{}", JSON.toJSONString(param));
         XinZhenYzActOrder order = dao.getActOrderNoOne(param.getActOrderNo());