Browse Source

上传代码优化

lihong 2 years ago
parent
commit
bf56774f41

+ 30 - 28
src/main/java/thyyxxk/webserver/service/medicalinsurance/SetlListUpldService.java

@@ -754,31 +754,9 @@ public class SetlListUpldService {
             }
         }
         List<AutoUploadBill> autoUploadBills = new ArrayList<>();
-        String userId = TokenUtil.getTokenUserId();
-        String userName = publicServer.huoQuYuanGongXinXi(userId).getName();
         for (int i = 0; i < param.size(); i++) {
             SiSetlinfoTemp siPatInfo = param.get(i);
-            AutoUploadBill autoUploadBill = new AutoUploadBill();
-            autoUploadBill.setPatNo(siPatInfo.getPatNo());
-            autoUploadBill.setTimes(siPatInfo.getTimes());
-            autoUploadBill.setLedgerSn(siPatInfo.getLedgerSn());
-            autoUploadBill.setTypeFlag(AutoUploadBill.TypeFlag.SD_UPLOAD.getCode());
-            autoUploadBill.setUploadDate(new Date());
-            autoUploadBill.setSetlTime(siPatInfo.getSetlTime());
-            autoUploadBill.setCreatedDate(new Date());
-            autoUploadBill.setUploadCode(userId);
-            autoUploadBill.setUploadName(userName);
-            try {
-                ResultVo<String> resultVo = upldSetlList(siPatInfo.getPatNo(), siPatInfo.getTimes(), siPatInfo.getLedgerSn(),checkFlag);
-                autoUploadBill.setLogText(resultVo.getMessage());
-                autoUploadBill.setFlag(resultVo.getCode() == 200 ? AutoUploadBill.FLAG.UPLOAD_SUCCESS.getCode():AutoUploadBill.FLAG.UPLOAD_FAIL.getCode());
-                upldSetlErrorMessage(siPatInfo.getPatNo(), siPatInfo.getTimes(), siPatInfo.getLedgerSn(), resultVo.getMessage(), resultVo.getCode() == 200 ? 0 : 1, i + 1, param.size(), siPatInfo.getOutDeptName(), siPatInfo.getPsnName(), siPatInfo.getReferPhysicianName());
-            } catch (Exception e) {
-                log.error("批量上传结算单错误:{}", e);
-                autoUploadBill.setLogText(e.getMessage());
-                autoUploadBill.setFlag(AutoUploadBill.FLAG.UPLOAD_FAIL.getCode());
-                upldSetlErrorMessage(siPatInfo.getPatNo(), siPatInfo.getTimes(), siPatInfo.getLedgerSn(), e.getMessage(), 2, i + 1, param.size(), siPatInfo.getOutDeptName(), siPatInfo.getPsnName(), siPatInfo.getReferPhysicianName());
-            }
+            AutoUploadBill autoUploadBill = getAutoUploadBillAndUpload(siPatInfo.getPatNo(),siPatInfo.getTimes(),siPatInfo.getLedgerSn(),siPatInfo.getSetlTime(),true,i+1,param.size(),siPatInfo);
             autoUploadBills.add(autoUploadBill);
         }
         autoUploadBillService.asyncSaveData(autoUploadBills);
@@ -799,6 +777,28 @@ public class SetlListUpldService {
            return;
         }
         List<AutoUploadBill> autoUploadBills = new ArrayList<>();
+        AutoUploadBill autoUploadBill = getAutoUploadBillAndUpload(patNo, times, ledgerSn, setTime,false,0,0,null);
+        autoUploadBills.add(autoUploadBill);
+        autoUploadBillService.asyncSaveData(autoUploadBills);
+        if(autoUploadBill.getFlag() == AutoUploadBill.FLAG.UPLOAD_FAIL.getCode()){
+            throw new BizException(ExceptionEnum.LOGICAL_ERROR,"对已经上传的数据进行重新上传,[上传失败],详情:"+StringUtil.substring(autoUploadBill.getLogText(),0,200));
+        }
+    }
+    /**
+     * @description:获取日志并且上传
+     * @author: lihong
+     * @date: 2023/2/2 16:36
+     * @param: patNo
+     * @param: times
+     * @param: ledgerSn
+     * @param: setTime
+     * @param: sendMessageFlag 是否发送消息
+     * @param: index
+     * @param: size
+     * @param: siPatInfo
+     * @return: thyyxxk.webserver.entity.querydata.AutoUploadBill
+     **/
+    public AutoUploadBill getAutoUploadBillAndUpload(String patNo, Integer times, Integer ledgerSn, Date setTime,boolean sendMessageFlag,int index,int size,SiSetlinfoTemp siPatInfo) {
         AutoUploadBill autoUploadBill = new AutoUploadBill();
         try {
         String userId = TokenUtil.getTokenUserId();
@@ -815,16 +815,18 @@ public class SetlListUpldService {
         ResultVo<String> resultVo = upldSetlList(patNo, times, ledgerSn,false);
         autoUploadBill.setLogText(resultVo.getMessage());
         autoUploadBill.setFlag(resultVo.getCode() == 200 ? AutoUploadBill.FLAG.UPLOAD_SUCCESS.getCode():AutoUploadBill.FLAG.UPLOAD_FAIL.getCode());
+        if(sendMessageFlag){
+            upldSetlErrorMessage(patNo, times, ledgerSn, resultVo.getMessage(), resultVo.getCode() == 200 ? 0 : 1, index, size, siPatInfo.getOutDeptName(), siPatInfo.getPsnName(), siPatInfo.getReferPhysicianName());
+        }
         }catch (Exception e){
             log.error("结算单重新上传错误", e);
             autoUploadBill.setLogText(e.getMessage());
             autoUploadBill.setFlag(AutoUploadBill.FLAG.UPLOAD_FAIL.getCode());
+            if(sendMessageFlag){
+                upldSetlErrorMessage(siPatInfo.getPatNo(), siPatInfo.getTimes(), siPatInfo.getLedgerSn(), e.getMessage(), 2, index, size, siPatInfo.getOutDeptName(), siPatInfo.getPsnName(), siPatInfo.getReferPhysicianName());
+            }
         }
-        autoUploadBills.add(autoUploadBill);
-        autoUploadBillService.asyncSaveData(autoUploadBills);
-        if(autoUploadBill.getFlag() == AutoUploadBill.FLAG.UPLOAD_FAIL.getCode()){
-            throw new BizException(ExceptionEnum.LOGICAL_ERROR,"对已经上传的数据进行重新上传,[上传失败],详情:"+StringUtil.substring(autoUploadBill.getLogText(),0,200));
-        }
+        return autoUploadBill;
     }
 
     public boolean isCheckFlag() {