Sfoglia il codice sorgente

上传问题修改

lihong 2 anni fa
parent
commit
24b1c09818

+ 6 - 8
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/UpIdCollectionDao.java

@@ -880,17 +880,15 @@ public interface UpIdCollectionDao extends BaseMapper<SetlinfoUpld> {
     @Select("select audit_flag  from  t_yb_setl_modify_req where pat_no=#{patNo} and times=#{times}")
     Integer getAuditFlag(String patNo, Integer times);
     @Select(" <script> " +
-            " select audit_flag  from  t_yb_setl_modify_req where "+
-            " pat_no in"+
-                    "<foreach collection='patNos' item='patNo' open='(' close=')' separator=','>"+
+            " select b.audit_flag from (" +
+            "                  select pat_no + cast(times as varchar)  as visit_id,pat_no,times  from  t_yb_setl_modify_req\n" +
+            "                  ) a join t_yb_setl_modify_req b on a.pat_no=b.pat_no and a.times = b.times" +
+            " where a.visit_id in"+
+                    "<foreach collection='visitIds' item='patNo' open='(' close=')' separator=','>"+
             " #{patNo}"+
-            " </foreach>"+
-            "  and times in"+
-            " <foreach collection='times' item='time' open='(' close=')' separator=','>"+
-            " #{time}"+
             " </foreach>"+
                         " </script>")
-    List<Integer> listSetlModifyReq(List<String> patNos, List<Integer> times);
+    List<Integer> listSetlModifyReq(List<String> visitIds);
     @Select("<script>" +
             " select rtrim(code) code ,rtrim(yb_code) yb_code,rtrim(yb_name) yb_name from  ${tableName} where code in" +
             " <foreach collection='glCodes' item='item' open='(' close=')' separator=','>" +

+ 6 - 5
src/main/java/thyyxxk/webserver/service/medicalinsurance/SetlListUpldService.java

@@ -624,14 +624,15 @@ public class SetlListUpldService {
         if (ListUtil.isBlank(param)) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "请选择需要上传的患者。");
         }
-        List<String> patNos = param.stream().map(SiSetlinfoTemp::getPatNo).collect(Collectors.toList());
-        List<Integer> times = param.stream().map(SiSetlinfoTemp::getTimes).collect(Collectors.toList());
-        List<Integer> auditFlags = dao.listSetlModifyReq(patNos, times);
+        List<String> visitIds = param.stream().map(obj->obj.getPatNo()+obj.getTimes()).collect(Collectors.toList());
+        List<Integer> auditFlags = dao.listSetlModifyReq(visitIds);
         if(ListUtil.notBlank(auditFlags)){
-            boolean flag = auditFlags.stream().allMatch(obj -> "1".equals(auditFlags));
+            boolean flag = auditFlags.stream().allMatch(obj -> obj==1);
             if(!flag || auditFlags.size() < param.size()){
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "选中上传的患者审核状态必须要全部为审核通过。");
             }
+        }else {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "选中上传的患者审核状态必须要全部为审核通过。");
         }
         for (int i = 0; i < param.size(); i++) {
             SiSetlinfoTemp siPatInfo = param.get(i);
@@ -661,7 +662,7 @@ public class SetlListUpldService {
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有要上传的信息。");
             }
             // 只有全部为审核通过的数据才能上传
-            boolean isAllAuditPass = list.stream().allMatch(obj -> "1".equals(obj.getAuditFlag()));
+            boolean isAllAuditPass = list.stream().allMatch(obj ->obj.getAuditFlag()!=null && obj.getAuditFlag()==1);
             if(!isAllAuditPass){
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "要所有数据为审核通过状态才能全部上传。");
             }