浏览代码

优化医嘱修改申请解决查询会诊的bug

xiaochan 4 年之前
父节点
当前提交
55377188d6

+ 1 - 1
src/main/java/thyyxxk/webserver/dao/his/casefrontsheet/JieShouHuiZhenDao.java

@@ -26,7 +26,7 @@ public interface JieShouHuiZhenDao {
             "<if test=\"deptCode!=3100000\">" +
             "and (req_dept1 = #{deptCode} or req_dept2 = #{deptCode})" +
             "</if>" +
-            "and req_date &gt; #{startTime} and req_date &lt;= #{endTime}" +
+            "and req_date &gt;= #{startTime} and req_date &lt;= #{endTime}" +
             "</script>")
     List<JieShouHuiZhenPojo> getHuiZhenData(Page<JieShouHuiZhenPojo> page,
                                             @Param("deptCode") String deptCode,

+ 10 - 1
src/main/java/thyyxxk/webserver/dao/his/datamodify/YzActOrderDao.java

@@ -55,8 +55,17 @@ public interface YzActOrderDao extends BaseMapper<YzActOrder> {
     void yzActOrderModifyInsert(@Param("param") TYzActOrderModify param,
                                 @Param("dataList") List<TYzActOrderModify> dataList);
 
+    @Select("<script>" +
+            "select act_order_no from t_yz_act_order_modify where act_order_no in " +
+            "<foreach collection='list' item='item' index='index' open='(' close=')' separator=','>" +
+            " #{item}" +
+            "</foreach>" +
+            "</script>")
+    List<BigDecimal> chaKansfCunZai(@Param("list") List<BigDecimal> actOrderNoList);
+
+
     @Select("select count(1) from t_yz_act_order_modify where act_order_no = #{actOrderNo}")
-    Integer chaKansfCunZai(BigDecimal actOrderNo);
+    Integer chaKanDanGeShenQing(BigDecimal actOrderNo);
 
     /**
      * 如果数据库中有了的话就更新

+ 5 - 4
src/main/java/thyyxxk/webserver/service/casefrontsheet/JieShouHuiZhenService.java

@@ -36,15 +36,16 @@ public class JieShouHuiZhenService {
 
     /**
      * @param deptCode    科室code
-     * @param currentPgae 当前页
+     * @param currentPage 当前页
      * @param pageSize    页大小
      * @param startTime   开始时间
      * @param endTime     接受时间
      * @return 返回没有会诊的信息
      */
-    public ResultVo<List<JieShouHuiZhenPojo>> getHuiZhenData(String deptCode, long currentPgae, long pageSize, String startTime, String endTime) {
-        Page<JieShouHuiZhenPojo> page = new Page<>(currentPgae, pageSize);
-        return ResultVoUtil.successTable(dao.getHuiZhenData(page, deptCode, startTime + " 0:0:0.000", endTime + " 23:59:59.000"),
+    public ResultVo<List<JieShouHuiZhenPojo>> getHuiZhenData(String deptCode, long currentPage, long pageSize, String startTime, String endTime) {
+        Page<JieShouHuiZhenPojo> page = new Page<>(currentPage, pageSize);
+        log.info("会诊申请查看 开始时间:{},结束时间:{}", startTime, endTime);
+        return ResultVoUtil.successTable(dao.getHuiZhenData(page, deptCode, startTime, endTime),
                 page.getTotal());
     }
 

+ 12 - 7
src/main/java/thyyxxk/webserver/service/datamodify/YzActOrderModifyService.java

@@ -20,6 +20,7 @@ import thyyxxk.webserver.utils.StringUtil;
 import thyyxxk.webserver.utils.TokenUtil;
 import thyyxxk.webserver.websocket.WebSocketServer;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -79,14 +80,18 @@ public class YzActOrderModifyService {
         if (param.getList().size() > 100) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "一次性申请超过100条");
         }
-        for (TYzActOrderModify pojo : param.getList()) {
-            //判断 这条医嘱是否已经存在了 如果有就执行 更新的操作 ,没有就插入
-            if (dao.chaKansfCunZai(pojo.getActOrderNo()) == 0) {
-                insertList.add(pojo);
+        List<BigDecimal> actOrderNoList = new ArrayList<>();
+        param.getList().forEach(item -> {
+            actOrderNoList.add(item.getActOrderNo());
+        });
+        List<BigDecimal> yiJingCunZai = dao.chaKansfCunZai(actOrderNoList);
+        param.getList().forEach(item -> {
+            if (yiJingCunZai.contains(item.getActOrderNo())) {
+                updateList.add(item);
             } else {
-                updateList.add(pojo);
+                insertList.add(item);
             }
-        }
+        });
         //执行批量插入
         if (!insertList.isEmpty()) {
             dao.yzActOrderModifyInsert(param, insertList);
@@ -128,7 +133,7 @@ public class YzActOrderModifyService {
     public ResultVo<String> danGeShenQing(TYzActOrderModify param) {
         param.setProposer(TokenUtil.getTokenUserId());
         log.info("申请医嘱修改 --> 申请人:{},数据:{}", param.getProposer(), JSON.toJSONStringWithDateFormat(param, GetDateFormat.DATE_TIME));
-        if (dao.chaKansfCunZai(param.getActOrderNo()) == 0) {
+        if (dao.chaKanDanGeShenQing(param.getActOrderNo()) == 0) {
             dao.danGeShenQingInsert(param);
         } else {
             dao.danGeShenQingUpdate(param);

+ 1 - 1
src/main/java/thyyxxk/webserver/service/yibao/XiangMuLuRuService.java

@@ -251,7 +251,7 @@ public class XiangMuLuRuService {
             for (List<ZyDetailCharge> list : fenDuan) {
                 dao.yiZhuTuiFeiPiPei(inpatientNo, admissTimes, list);
             }
-            log.info("医嘱退费匹配 ==》 操作人:{} :住院号:{},住院次数:{}", TokenUtil.getTokenUserId(), inpatientNo, admissTimes);
+            log.info("医嘱退费匹配 ==》 操作人:{}住院号:{},住院次数:{}", TokenUtil.getTokenUserId(), inpatientNo, admissTimes);
             return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, String.format("医嘱退费匹配,共有【%d】条,匹配成功【%d】条", getYiZhuFeiYongFuShu.size(), piPei.size()));
         } else {
             return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "该患者没有可以匹配的医嘱退费");