Bläddra i källkod

护理记录单,优化sql,不用循环。

xiaochan 4 år sedan
förälder
incheckning
2ac4c39066

+ 7 - 4
src/main/java/thyyxxk/webserver/dao/his/datamodify/YzTemperatureDao.java

@@ -21,10 +21,13 @@ import java.util.List;
 public interface YzTemperatureDao {
 
     /**
-     * 查询住院 护理记录单
+     * 查询住院 护理记录单 这个很坑爹一条记录在别的地方会很多
      *
-     * @param param 住院号 住院次数,能查询出这个人的全部护理记录单 在根据日期,时间就能查询出 某一条的护理记录单
-     * @return 返回这个人一条的护理记录单
+     * @param toStringRecDate 日期
+     * @param toStringRecTime 时间
+     * @param inpatientNo     住院号
+     * @param admissTimes     住院次数
+     * @return 返回指定的护理记录单
      */
     @Select("select patientName=(select rtrim(name) name from a_patient_mi where a_patient_mi.inpatient_no= yz_temperature.inpatient_no), " +
             "inpatient_no,rec_date,rec_time,temperature_1,pulse_1,breathe_1,pressure_1_am,pressure_1_pm," +
@@ -118,5 +121,5 @@ public interface YzTemperatureDao {
             "</foreach>" +
             "</script>")
     void teperatureBody(@Param("param") YzTemperature param,
-                        @Param("detailNoList") Integer[] detailNoList);
+                        @Param("detailNoList") int[] detailNoList);
 }

+ 6 - 5
src/main/java/thyyxxk/webserver/service/datamodify/YzTemperatureService.java

@@ -42,6 +42,7 @@ public class YzTemperatureService {
      * @return 返回一条护理记录单
      */
     public ResultVo<YzTemperature> queryYzTemperature(String date, String inpatientNo, Integer admissTimes) {
+        //根据空格来分割日期字符串
         String[] splitStringDate = date.split(" ");
 
         String toStringRecDate = splitStringDate[0];
@@ -87,21 +88,21 @@ public class YzTemperatureService {
         List<YzTemperature> list = dao.queryDetails(param.getToStringRecDate(), param.getToStringRecTime(),
                 param.getInpatientNo(), param.getAdmissTimes());
 
+        //修改人和修改时间
         param.setModifyUserid(TokenUtil.getTokenUserId());
         param.setModifyTime(new Date());
 
-        Integer[] detailNoList = new Integer[list.size()];
+        int[] detailNoList = new int[list.size()];
         param.setDetailNo(list.get(0).getDetailNo());
+        //修改前的数据
         YzTemperature pojo = list.get(0);
-
+        //循环把这一条护理记录单的序号给添加上去
         for (int i = 0; i < list.size(); i++) {
             detailNoList[i] = list.get(i).getDetailNo();
         }
-
         //这个是修改护理记录单我已知的部分,因为护理记录单很坑爹所以,这个是头部是护理记录单的主要信息,下面是用来更新科室和病情观察护理措施及效果
-        // dao.teperatureHead(param); 现在还不让更改别的地方 所以只能更新科室
+        // dao.teperatureHead(param); 现在还不让更改别的地方 所以只能更新护理记录单的科室
         dao.teperatureBody(param, detailNoList);
-
         log.info("护理记录单修改前 --> 操作人:{},病区:{}",
                 TokenUtil.getTokenUserId(), pojo.getWard());
         log.info("修改护理记录单后 --> 操作人:{},病区:{}",