diff --git a/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java index 7fe71ea..95a4e89 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java @@ -78,8 +78,7 @@ public class ChargeController extends BaseController { @RequestMapping("/getOrderByDiagnosisCode") public Result getOrderByDiagnosisCode() { String diagnosisCode = parmsUtil.getString("diagnosisCode","诊断code不能为空"); - Integer status = parmsUtil.getInteger("status","诊断状态不能为空"); - ChargeOrder chargeOrder = chargeService.getOrderByDiagnosisCode(diagnosisCode,status); + ChargeOrder chargeOrder = chargeService.getOrderByDiagnosisCode(diagnosisCode); return success(chargeOrder); } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/vo/ReconciliationItemVo.java b/src/main/java/com/syjiaer/clinic/server/entity/social/vo/ReconciliationItemVo.java index a29f6f3..4ec7d54 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/social/vo/ReconciliationItemVo.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/vo/ReconciliationItemVo.java @@ -15,14 +15,20 @@ public class ReconciliationItemVo { // 经办机构 private String handlingInstitution; // 医疗费用总额 - private BigDecimal totalMedicalCost = BigDecimal.ZERO; + private BigDecimal totalMedicalCost ; // 基金支付总额 - private BigDecimal totalFundPayment = BigDecimal.ZERO; + private BigDecimal totalFundPayment ; // 个账支付总额 - private BigDecimal totalPersonalAccountPayment = BigDecimal.ZERO; + private BigDecimal totalPersonalAccountPayment ; // 结算笔数 private Integer settlementCount; // 对账结果 private String reconciliationResult; + public ReconciliationItemVo() { + this.settlementCount = 0; + this.totalMedicalCost = BigDecimal.ZERO; + this.totalFundPayment = BigDecimal.ZERO; + this.totalPersonalAccountPayment = BigDecimal.ZERO; + } } diff --git a/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java b/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java index 26e9b3a..1a52849 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java @@ -412,6 +412,8 @@ public class ChargeService extends BaseService { this.recordChargeLog(order, ChargeSourceEnum.CHARGE, ChargeTypeEnum.CHARGE); + + } public void uploadCostDetails(String changeOrderCode) { @@ -995,13 +997,11 @@ public class ChargeService extends BaseService { /** * 根据诊断id和状态查询订单 * @param diagnosisCode - * @param status * @return */ - public ChargeOrder getOrderByDiagnosisCode(String diagnosisCode, Integer status) { + public ChargeOrder getOrderByDiagnosisCode(String diagnosisCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("diagnosis_code",diagnosisCode); - queryWrapper.eq("status",status); queryWrapper.last("limit 1"); return chargeOrderMapper.selectOne(queryWrapper); } diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialReconciliationService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialReconciliationService.java index d2e9045..9cf274f 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialReconciliationService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialReconciliationService.java @@ -36,10 +36,7 @@ import java.io.FileWriter; import java.io.IOException; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Slf4j @Service @@ -59,14 +56,18 @@ public class SocialReconciliationService extends BaseService { @Autowired private HttpUtil httpUtil; + public List getList(LocalDateTime beginTime, LocalDateTime endTime) { + + + QueryWrapper clrQuery = new QueryWrapper<>(); clrQuery.select("clr_type,insutype,clr_optins,count(0) as count"); clrQuery.groupBy("clr_type", "insutype", "clr_optins"); clrQuery.ge("setl_time", beginTime); clrQuery.le("setl_time", endTime); List> mapList = chargeSocialPayLogMapper.selectMaps(clrQuery); - List voList = new ArrayList<>(); + List voList = initReconciliationList(); for (Map item : mapList) { if (item.get("clr_type") == null || item.get("insutype") == null) { continue; @@ -91,11 +92,36 @@ public class SocialReconciliationService extends BaseService { vo.setTotalFundPayment(log.getFundPaySumamt().add(vo.getTotalFundPayment())); vo.setTotalPersonalAccountPayment(log.getAcctPay().add(vo.getTotalPersonalAccountPayment())); } - voList.add(vo); + reconciliationListAdd(voList,vo); } return voList; } + private List initReconciliationList (){ + List initReconciliation = Arrays.asList("99959", "99952"); + List iniInsurance = Arrays.asList("310", "390"); + + List voList = new ArrayList<>(); + for (String reconcil : initReconciliation){ + for (String insurance : iniInsurance){ + ReconciliationItemVo vo = new ReconciliationItemVo(); + vo.setReconciliationType(reconcil); + vo.setInsuranceType(insurance); + vo.setHandlingInstitution(config.get("social","mdtrtareaAdmvs")); + voList.add(vo); + } + } + return voList; + + } + private void reconciliationListAdd(List voList,ReconciliationItemVo vo){ + voList.removeIf(item -> item.getInsuranceType().equals(vo.getInsuranceType()) + && item.getReconciliationType().equals(vo.getReconciliationType()) + && item.getHandlingInstitution().equals(vo.getHandlingInstitution())); + voList.add(vo); + + } + /** * 对总账 *