Browse Source

费用上传之前先移除未匹配的费用。

lighter 3 years ago
parent
commit
b4aa2324e3

+ 9 - 9
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiZyService.java

@@ -197,6 +197,7 @@ public class SiZyService {
         p.setPsnNo(siPatInfo.getPsnNo());
         p.setMedType(siPatInfo.getMedType());
         Queue<FeeDtle> allPositiveFees = dao.selectNotUploadedPositiveFees(o.getInpatientNo(), o.getAdmissTimes(), o.getLedgerSn());
+        allPositiveFees.removeIf(item -> StringUtil.isBlank(item.getMedListCodg()));
         Queue<FeeDtle> allNegativeFees = dao.selectNotUploadedNegativeFees(o.getInpatientNo(), o.getAdmissTimes(), o.getLedgerSn());
         if (allPositiveFees.size() == 0 && allNegativeFees.size() == 0) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR,
@@ -217,20 +218,19 @@ public class SiZyService {
         List<FeeDtle> tempList = new ArrayList<>();
         while (feeQueue.size() > 0) {
             FeeDtle feeDtle = feeQueue.poll();
-            index ++;
             assert feeDtle != null;
-            if (StringUtil.notBlank(feeDtle.getMedListCodg())) {
-                tempList.add(feeDtle);
-                if (tempList.size() == 100) {
-                    executeUploadFees(input, tempList, p);
-                    tempList.clear();
-                    socketMessage.replace("percentage", makePercentage(index, feeSize));
-                    WebSocketServer.sendMessage(sid, socketMessage.toJSONString());
-                }
+            tempList.add(feeDtle);
+            if (tempList.size() == 100) {
+                executeUploadFees(input, tempList, p);
+                tempList.clear();
+                index += 100;
+                socketMessage.replace("percentage", makePercentage(index, feeSize));
+                WebSocketServer.sendMessage(sid, socketMessage.toJSONString());
             }
         }
         if (tempList.size() > 0) {
             executeUploadFees(input, tempList, p);
+            index += tempList.size();
             socketMessage.replace("percentage", makePercentage(index, feeSize));
             WebSocketServer.sendMessage(sid, socketMessage.toJSONString());
         }