DESKTOP-0GD05B0\Administrator преди 2 години
родител
ревизия
f3d6f0a2c6

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

@@ -30,4 +30,10 @@ public class AcceptPatientCriticalValuesControllre {
         return server.getCriticalValuePatientList(patNo);
     }
 
+    @GetMapping("/getCriticalValueByPatInfo")
+    public ResultVo<List<String>> getCriticalValueByPatInfo(@RequestParam("patNo") String patNo,
+                                                            @RequestParam("times") Integer times) {
+        return server.getCriticalValueByPatInfo(patNo, times);
+    }
+
 }

+ 3 - 0
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/PatientCriticalValuesDao.java

@@ -42,5 +42,8 @@ public interface PatientCriticalValuesDao {
             " order by a.creation_time desc ")
     List<JSONObject> selectCriticalValuePatientList(@Param(Constants.WRAPPER) QueryWrapper<?> queryWrapper);
 
+    @Select("select message from t_patient_critical_value where pat_no = #{patNo} and times =#{times}")
+    List<String> selectCriticalValueByPatInfo(String patNo, Integer times);
+
 
 }

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

@@ -69,5 +69,8 @@ public class PatientCriticalValuesServer {
         return ResultVoUtil.success(patientList);
     }
 
+    public ResultVo<List<String>> getCriticalValueByPatInfo(String patNo, Integer times) {
+        return ResultVoUtil.success(dao.selectCriticalValueByPatInfo(patNo, times));
+    }
 
 }

+ 26 - 32
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/YiZhuLuRuServer.java

@@ -1019,21 +1019,7 @@ public class YiZhuLuRuServer {
                             day = 1;
                         }
                     }
-                    BigDecimal total = getTotal(item, day);
-                    if (StringUtil.notBlank(detailsOfDrugs.getDrugWeightUnit()) && item.getDoseUnit().trim().equals(detailsOfDrugs.getDrugWeightUnit().trim())) {
-                        item.setDrugQuan(item.getDose().divide(detailsOfDrugs.getDrugWeight(), RoundingMode.UP).multiply(total));
-                        item.setDrugOcc(item.getDrugQuan());
-                    } else if (StringUtil.notBlank(detailsOfDrugs.getDrugVolUnit()) && item.getDoseUnit().trim().equals(detailsOfDrugs.getDrugVolUnit())) {
-                        item.setDrugQuan(item.getDose().divide(detailsOfDrugs.getDrugVolume(), RoundingMode.UP).multiply(total));
-                        item.setDrugOcc(item.getDrugQuan());
-                    } else if (StringUtil.notBlank(detailsOfDrugs.getPackUnit()) && item.getDoseUnit().trim().equals(detailsOfDrugs.getPackUnit())) {
-                        item.setDrugQuan(item.getDose().divide(detailsOfDrugs.getPackSize(), RoundingMode.UP).multiply(total));
-                        item.setDrugOcc(item.getDrugQuan());
-                    }
-                    if (item.getDrugQuan().equals(BigDecimal.ZERO)) {
-                        item.setDrugQuan(BigDecimal.ONE);
-                        item.setDrugOcc(BigDecimal.ONE);
-                    }
+                    dischargeWithMedicationCollection(getTotal(item, day), detailsOfDrugs, item);
                 } else {
                     // 计算普通药品的领量 durg_quan durg_occ
                     calculateDrugAmount(item, detailsOfDrugs);
@@ -1084,6 +1070,10 @@ public class YiZhuLuRuServer {
             if (StringUtil.isBlank(item.getSerial())) {
                 errorMessage.add("包装大小不能为空");
             }
+            if (StringUtil.isBlank(item.getMiniUnit())) {
+                errorMessage.add("最小包装规格不能为空。");
+            }
+
         }
 
         if (strictVerification) {
@@ -1126,6 +1116,24 @@ public class YiZhuLuRuServer {
         return map;
     }
 
+    private void dischargeWithMedicationCollection(BigDecimal total, XinZhenYzActOrder detailsOfDrugs, XinZhenYzActOrder item) {
+        if (StringUtil.notBlank(detailsOfDrugs.getDrugWeightUnit()) && item.getDoseUnit().trim().equals(detailsOfDrugs.getDrugWeightUnit().trim())) {
+            item.setDrugQuan(item.getDose().divide(detailsOfDrugs.getDrugWeight(), 0, RoundingMode.UP).multiply(total));
+            item.setDrugOcc(item.getDrugQuan());
+        } else if (StringUtil.notBlank(detailsOfDrugs.getDrugVolUnit()) && item.getDoseUnit().trim().equals(detailsOfDrugs.getDrugVolUnit())) {
+            item.setDrugQuan(item.getDose().divide(detailsOfDrugs.getDrugVolume(), 0, RoundingMode.UP).multiply(total));
+            item.setDrugOcc(item.getDrugQuan());
+        } else if (StringUtil.notBlank(detailsOfDrugs.getPackUnit()) && item.getDoseUnit().trim().equals(detailsOfDrugs.getPackUnit())) {
+            item.setDrugQuan(item.getDose().divide(detailsOfDrugs.getPackSize(), 0, RoundingMode.UP).multiply(total));
+            item.setDrugOcc(item.getDrugQuan());
+        }
+        if (item.getDrugQuan().equals(BigDecimal.ZERO)) {
+            item.setDrugQuan(BigDecimal.ONE);
+            item.setDrugOcc(BigDecimal.ONE);
+        }
+    }
+
+
     /**
      * 计算总量
      *
@@ -1175,7 +1183,7 @@ public class YiZhuLuRuServer {
 
 
     /**
-     * 获取医嘱录入的模板1
+     * 获取医嘱录入的模板
      *
      * @param code         模板编码
      * @param deptCode     科室编码
@@ -1534,7 +1542,7 @@ public class YiZhuLuRuServer {
         Map<String, List<XinZhenYzActOrder>> takeTheMedicineList = new HashMap<>(Capacity.TWO);
 
         for (XinZhenYzActOrder item : patInfo.getList()) {
-            XinZhenYzActOrder feiYongXinXi = dao.getDrugOne(item.getOrderCode() + item.getSerial(), item.getGroupNo());
+            XinZhenYzActOrder detailsOfDrugs = dao.getDrugOne(item.getOrderCode() + item.getSerial(), item.getGroupNo());
             int day = 1;
             // 如果是临时医嘱 开了就结束了.
             if ("ONCE".equals(item.getFrequCode())) {
@@ -1549,21 +1557,7 @@ public class YiZhuLuRuServer {
                 }
             }
             // 计算出院带药的领量
-            BigDecimal total = getTotal(item, day);
-            if (StringUtil.notBlank(feiYongXinXi.getDrugWeightUnit()) && item.getDoseUnit().trim().equals(feiYongXinXi.getDrugWeightUnit().trim())) {
-                item.setDrugQuan(DecimalUtil.multiply(item.getDose(), total).divide(feiYongXinXi.getDrugWeight(), 0, RoundingMode.UP));
-                item.setDrugOcc(item.getDrugQuan());
-            } else if (StringUtil.notBlank(feiYongXinXi.getDrugVolUnit()) && item.getDoseUnit().trim().equals(feiYongXinXi.getDrugVolUnit())) {
-                item.setDrugQuan(DecimalUtil.multiply(item.getDose(), total).divide(feiYongXinXi.getDrugVolume(), 0, RoundingMode.UP));
-                item.setDrugOcc(item.getDrugQuan());
-            } else if (StringUtil.notBlank(feiYongXinXi.getPackUnit()) && item.getDoseUnit().trim().equals(feiYongXinXi.getPackUnit())) {
-                item.setDrugQuan(DecimalUtil.multiply(item.getDose(), total).divide(feiYongXinXi.getPackSize(), 0, RoundingMode.UP));
-                item.setDrugOcc(item.getDrugQuan());
-            }
-            if (item.getDrugQuan().equals(BigDecimal.ZERO)) {
-                item.setDrugQuan(BigDecimal.ONE);
-                item.setDrugOcc(BigDecimal.ONE);
-            }
+            dischargeWithMedicationCollection(getTotal(item, day), detailsOfDrugs, item);
             // 在这里更新出院带药领量
             dao.updateThePickup(item);
             // 费用标志为 4 的就是出院带药