|
@@ -1,6 +1,5 @@
|
|
|
package thyyxxk.webserver.service.medicalinsurance;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
@@ -835,13 +834,17 @@ public class SiQueryService {
|
|
|
return chrgrsvo;
|
|
|
}
|
|
|
analyzeZyChrgitm(lst, chrgrsvo.getData());
|
|
|
- lst.setYrAdmtimes(cuminfo.getYearAdmtimes());
|
|
|
- lst.setYrMedfeeSumamt(cuminfo.getYearMedfeesum());
|
|
|
- lst.setYrPayedBegnLine(cuminfo.getYearPayedBegnline());
|
|
|
- lst.setYrFundPaySumamt(cuminfo.getYearBaseFundPayAmt());
|
|
|
- lst.setYrBigAmtFundPay(cuminfo.getYearBigAmtpays());
|
|
|
- lst.setYrBigDssInsPay(cuminfo.getYearBigdssFundPayAmt());
|
|
|
- lst.setYrMafPay(cuminfo.getYearMafPayAmt());
|
|
|
+ lst.setYrAdmtimes(cuminfo.getYearAdmtimesZy());
|
|
|
+ lst.setYrAcmltvExpsClted(cuminfo.getYearPeriodfeeSumamtZy());
|
|
|
+ lst.setYrMedfeeSumamt(cuminfo.getYearMedfeesumZy());
|
|
|
+ lst.setYrPayedBegnLine(cuminfo.getYearPayedBegnlineZy());
|
|
|
+ lst.setYrFundPaySumamt(cuminfo.getYearBaseFundPayAmtZy());
|
|
|
+ lst.setYrBigAmtFundPay(cuminfo.getYearBigAmtpaysZy());
|
|
|
+ lst.setYrBigDssInsPay(cuminfo.getYearBigdssFundPayAmtZy());
|
|
|
+ lst.setYrMafPay(cuminfo.getYearMafPayAmtZy());
|
|
|
+ lst.setYrPolicySelfPay(cuminfo.getYearPolicySelfPayZy());
|
|
|
+ lst.setYrPreSelfPay(cuminfo.getYearPreSelfPayZy());
|
|
|
+ lst.setYrBigDssFee(cuminfo.getYearBigDssLegalFee());
|
|
|
return listPolItemCodePayInfo(lst);
|
|
|
} else {
|
|
|
index.setLedgerSn(0);
|
|
@@ -858,11 +861,13 @@ public class SiQueryService {
|
|
|
SiEnumReflectUtil.outptntSetlmtLstReflect(lst);
|
|
|
List<BrfChrgitm> chrgitms = dao.selectMzBrfChrgitms(index.getPatNo(), index.getTimes());
|
|
|
analyzeMzChrgitm(lst, chrgitms);
|
|
|
- lst.setYrAdmtimes(cuminfo.getYearAdmtimes());
|
|
|
- lst.setYrMedfeeSumamt(cuminfo.getYearMedfeesum());
|
|
|
- lst.setYrFundPaySumamt(cuminfo.getYearBaseFundPayAmt());
|
|
|
- lst.setYrBigAmtFundPay(cuminfo.getYearBigAmtpays());
|
|
|
- lst.setYrMafPay(cuminfo.getYearMafPayAmt());
|
|
|
+ lst.setYrAdmtimes(cuminfo.getYearAdmtimesMz());
|
|
|
+ lst.setYrMedfeeSumamt(cuminfo.getYearMedfeesumMz());
|
|
|
+ lst.setYrFundPaySumamt(cuminfo.getYearBaseFundPayAmtMz());
|
|
|
+ lst.setYrBigAmtFundPay(cuminfo.getYearBigAmtpaysMz());
|
|
|
+ lst.setYrBigDssFundPay(cuminfo.getYearBigdssFundPayAmtMz());
|
|
|
+ lst.setYrAcctPay(cuminfo.getYearAcctPayMz());
|
|
|
+ lst.setYrMafPay(cuminfo.getYearMafPayAmtMz());
|
|
|
lst.setFixmedinsName(SiUtil.INSTITUTION_NAME);
|
|
|
return ResultVoUtil.success(lst);
|
|
|
}
|
|
@@ -995,27 +1000,188 @@ public class SiQueryService {
|
|
|
JSONObject itm = cuminfos.getJSONObject(i);
|
|
|
if (itm.getString("year").equals(year)) {
|
|
|
switch (itm.getString("cum_type_code")) {
|
|
|
- case "C0000": // 本年住院次数
|
|
|
- cuminfo.addYearAdmtimes(itm.getDoubleValue("cum"));
|
|
|
+ // 本年住院次数
|
|
|
+ case "C0000_BIZ2101":
|
|
|
+ case "C0000_BIZ2102":
|
|
|
+ case "C0000_BIZ2106":
|
|
|
+ case "C0000_BIZ2107":
|
|
|
+ case "C0000_BIZ22":
|
|
|
+ case "C0000_BIZ52":
|
|
|
+ cuminfo.addYearAdmtimesZy(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "F0000": // 医疗费合计
|
|
|
- cuminfo.addYearFeesum(itm.getDoubleValue("cum"));
|
|
|
+ // 本年门诊次数
|
|
|
+ case "C0000_BIZ11":
|
|
|
+ case "C0000_BIZ13":
|
|
|
+ case "C0000_BIZ14":
|
|
|
+ case "C0000_BIZ51":
|
|
|
+ case "C0000_BIZ9901":
|
|
|
+ case "C0000_BIZ9903":
|
|
|
+ case "C0000_BIZ9904":
|
|
|
+ cuminfo.addYearAdmtimesMz(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "Q0000": // 已付起付线
|
|
|
- cuminfo.addYearPayedbegnline(itm.getDoubleValue("cum"));
|
|
|
+ // 本年度住院分段计算费用累计
|
|
|
+ case "S0000_BIZ2101":
|
|
|
+ case "S0000_BIZ2102":
|
|
|
+ case "S0000_BIZ2106":
|
|
|
+ case "S0000_BIZ2107":
|
|
|
+ case "S0000_BIZ22":
|
|
|
+ case "S0000_BIZ52":
|
|
|
+ cuminfo.addYearPeriodFeeSumZy(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "D310101": // 统筹支付
|
|
|
- case "D390101":
|
|
|
- cuminfo.addYearFundpays(itm.getDoubleValue("cum"));
|
|
|
+ // 住院医疗费合计
|
|
|
+ case "F0000_BIZ2101":
|
|
|
+ case "F0000_BIZ2102":
|
|
|
+ case "F0000_BIZ2106":
|
|
|
+ case "F0000_BIZ2107":
|
|
|
+ case "F0000_BIZ22":
|
|
|
+ case "F0000_BIZ52":
|
|
|
+ cuminfo.addYearFeesumZy(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "D330101": // 大额基金支付
|
|
|
- cuminfo.addYearBigAmtpays(itm.getDoubleValue("cum"));
|
|
|
+ // 门诊医疗费合计
|
|
|
+ case "F0000_BIZ11":
|
|
|
+ case "F0000_BIZ13":
|
|
|
+ case "F0000_BIZ14":
|
|
|
+ case "F0000_BIZ51":
|
|
|
+ case "F0000_BIZ9901":
|
|
|
+ case "F0000_BIZ9903":
|
|
|
+ case "F0000_BIZ9904":
|
|
|
+ cuminfo.addYearFeesumMz(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "D390201": // 大病保险支付
|
|
|
- cuminfo.addYearBigdssInspays(itm.getDoubleValue("cum"));
|
|
|
+ // 住院已付起付线
|
|
|
+ case "Q0000_BIZ2101":
|
|
|
+ case "Q0000_BIZ2102":
|
|
|
+ case "Q0000_BIZ2106":
|
|
|
+ case "Q0000_BIZ2107":
|
|
|
+ case "Q0000_BIZ22":
|
|
|
+ case "Q0000_BIZ52":
|
|
|
+ cuminfo.addYearPayedbegnlineZy(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "D610101": // 医疗救助支付
|
|
|
- cuminfo.addYearMafpays(itm.getDoubleValue("cum"));
|
|
|
+ // 住院统筹支付
|
|
|
+ case "D310101_BIZ2101":
|
|
|
+ case "D310101_BIZ2102":
|
|
|
+ case "D310101_BIZ2106":
|
|
|
+ case "D310101_BIZ2107":
|
|
|
+ case "D310101_BIZ22":
|
|
|
+ case "D310101_BIZ52":
|
|
|
+ case "D390101_BIZ2101":
|
|
|
+ case "D390101_BIZ2102":
|
|
|
+ case "D390101_BIZ2106":
|
|
|
+ case "D390101_BIZ2107":
|
|
|
+ case "D390101_BIZ22":
|
|
|
+ case "D390101_BIZ52":
|
|
|
+ cuminfo.addYearFundpaysZy(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 门诊统筹支付
|
|
|
+ case "D310101_BIZ11":
|
|
|
+ case "D310101_BIZ13":
|
|
|
+ case "D310101_BIZ14":
|
|
|
+ case "D310101_BIZ51":
|
|
|
+ case "D310101_BIZ9901":
|
|
|
+ case "D310101_BIZ9903":
|
|
|
+ case "D310101_BIZ9904":
|
|
|
+ case "D390101_BIZ11":
|
|
|
+ case "D390101_BIZ13":
|
|
|
+ case "D390101_BIZ14":
|
|
|
+ case "D390101_BIZ51":
|
|
|
+ case "D390101_BIZ9901":
|
|
|
+ case "D390101_BIZ9903":
|
|
|
+ case "D390101_BIZ9904":
|
|
|
+ cuminfo.addYearFundpaysMz(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 政策自费
|
|
|
+ case "Z0000_BIZ2101_LAB101":
|
|
|
+ case "Z0000_BIZ2102_LAB101":
|
|
|
+ case "Z0000_BIZ22_LAB101":
|
|
|
+ case "Z0000_BIZ2106_LAB101":
|
|
|
+ case "Z0000_BIZ2107_LAB101":
|
|
|
+ case "Z0000_BIZ52_LAB101":
|
|
|
+ case "Z0000_BIZ2101_LAB103":
|
|
|
+ case "Z0000_BIZ2102_LAB103":
|
|
|
+ case "Z0000_BIZ22_LAB103":
|
|
|
+ case "Z0000_BIZ2106_LAB103":
|
|
|
+ case "Z0000_BIZ2107_LAB103":
|
|
|
+ case "Z0000_BIZ52_LAB103":
|
|
|
+ cuminfo.addYearPolicySelfpayZy(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 政策自付
|
|
|
+ case "Z0000_BIZ2101_LAB102":
|
|
|
+ case "Z0000_BIZ2102_LAB102":
|
|
|
+ case "Z0000_BIZ22_LAB102":
|
|
|
+ case "Z0000_BIZ2106_LAB102":
|
|
|
+ case "Z0000_BIZ2107_LAB102":
|
|
|
+ case "Z0000_BIZ52_LAB102":
|
|
|
+ cuminfo.addYearPreSelfpayZy(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 住院大额基金支付
|
|
|
+ case "D330101_BIZ2101":
|
|
|
+ case "D330101_BIZ2102":
|
|
|
+ case "D330101_BIZ2106":
|
|
|
+ case "D330101_BIZ2107":
|
|
|
+ case "D330101_BIZ22":
|
|
|
+ case "D330101_BIZ52":
|
|
|
+ cuminfo.addYearBigAmtpaysZy(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 门诊大额基金支付
|
|
|
+ case "D330101_BIZ11":
|
|
|
+ case "D330101_BIZ13":
|
|
|
+ case "D330101_BIZ14":
|
|
|
+ case "D330101_BIZ51":
|
|
|
+ case "D330101_BIZ9901":
|
|
|
+ case "D330101_BIZ9903":
|
|
|
+ case "D330101_BIZ9904":
|
|
|
+ cuminfo.addYearBigAmtpaysMz(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 住院大病保险支付
|
|
|
+ case "D390201_BIZ2101":
|
|
|
+ case "D390201_BIZ2102":
|
|
|
+ case "D390201_BIZ2106":
|
|
|
+ case "D390201_BIZ2107":
|
|
|
+ case "D390201_BIZ22":
|
|
|
+ case "D390201_BIZ52":
|
|
|
+ cuminfo.addYearBigdssInspaysZy(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 门诊大病保险支付
|
|
|
+ case "D390201_BIZ11":
|
|
|
+ case "D390201_BIZ13":
|
|
|
+ case "D390201_BIZ14":
|
|
|
+ case "D390201_BIZ51":
|
|
|
+ case "D390201_BIZ9901":
|
|
|
+ case "D390201_BIZ9903":
|
|
|
+ case "D390201_BIZ9904":
|
|
|
+ cuminfo.addYearBigdssInspaysMz(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 住院医疗救助支付
|
|
|
+ case "D610101_BIZ2101":
|
|
|
+ case "D610101_BIZ2102":
|
|
|
+ case "D610101_BIZ2106":
|
|
|
+ case "D610101_BIZ2107":
|
|
|
+ case "D610101_BIZ22":
|
|
|
+ case "D610101_BIZ52":
|
|
|
+ cuminfo.addYearMafpaysZy(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 门诊医疗救助支付
|
|
|
+ case "D610101_BIZ11":
|
|
|
+ case "D610101_BIZ13":
|
|
|
+ case "D610101_BIZ14":
|
|
|
+ case "D610101_BIZ51":
|
|
|
+ case "D610101_BIZ9901":
|
|
|
+ case "D610101_BIZ9903":
|
|
|
+ case "D610101_BIZ9904":
|
|
|
+ cuminfo.addYearMafpaysMz(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 门诊个人账户支付
|
|
|
+ case "D310201_BIZ11":
|
|
|
+ case "D310201_BIZ13":
|
|
|
+ case "D310201_BIZ14":
|
|
|
+ case "D310201_BIZ51":
|
|
|
+ case "D310201_BIZ9901":
|
|
|
+ case "D310201_BIZ9903":
|
|
|
+ case "D310201_BIZ9904":
|
|
|
+ cuminfo.addYearAcctPayMz(itm.getDoubleValue("cum"));
|
|
|
+ break;
|
|
|
+ // 大病保险合规费用
|
|
|
+ case "TS390201":
|
|
|
+ cuminfo.addYearBigdssLegalFee(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -1262,29 +1428,7 @@ public class SiQueryService {
|
|
|
resultItem.setInsutypeName("-");
|
|
|
resultItem.setChildKey(entry.getKey());
|
|
|
}
|
|
|
- String medfeeSumamt = "0";
|
|
|
- String baseMedFundpaySumamt = "0";
|
|
|
- String bigDssFundpaySumamt = "0";
|
|
|
- String clvFundpaySumamt = "0";
|
|
|
- String othFundpaySumamt = "0";
|
|
|
- String fundpaySumamt = "0";
|
|
|
- for (BaseSetlStatistics itm : admdvsSetldataList) {
|
|
|
- medfeeSumamt = DecimalUtil.add(medfeeSumamt, itm.getMedfeeSumamt());
|
|
|
- baseMedFundpaySumamt = DecimalUtil.add(baseMedFundpaySumamt, itm.getHifpPay());
|
|
|
- bigDssFundpaySumamt = DecimalUtil.add(bigDssFundpaySumamt, itm.getHifmiPay());
|
|
|
- clvFundpaySumamt = DecimalUtil.add(clvFundpaySumamt, itm.getCvlservPay());
|
|
|
- fundpaySumamt = DecimalUtil.add(fundpaySumamt, itm.getFundPaySumamt());
|
|
|
- String othpay = DecimalUtil.minusLink(itm.getFundPaySumamt(), itm.getHifpPay(),
|
|
|
- itm.getHifmiPay(), itm.getCvlservPay());
|
|
|
- othFundpaySumamt = DecimalUtil.add(othFundpaySumamt, othpay);
|
|
|
- }
|
|
|
- resultItem.setMedfeeSumamt(medfeeSumamt);
|
|
|
- resultItem.setBaseMedFundpaySumamt(baseMedFundpaySumamt);
|
|
|
- resultItem.setBigDssFundpaySumamt(bigDssFundpaySumamt);
|
|
|
- resultItem.setClvFundpaySumamt(clvFundpaySumamt);
|
|
|
- resultItem.setOthFundpaySumamt(othFundpaySumamt);
|
|
|
- resultItem.setFundpaySumamt(fundpaySumamt);
|
|
|
- resultList.add(resultItem);
|
|
|
+ fillSetlStatisticResult(resultList, admdvsSetldataList, resultItem);
|
|
|
}
|
|
|
|
|
|
if (StringUtil.isBlank(condition.getInsutype())) {
|
|
@@ -1317,29 +1461,7 @@ public class SiQueryService {
|
|
|
result.setInsutypeName(entry.getValue().get(0).getInsutypeName());
|
|
|
result.setChildKey(resultItem.getAdmdvsName() + "-" + result.getInsutypeName());
|
|
|
result.setIsChildren(true);
|
|
|
- String medfeeSumamt = "0";
|
|
|
- String baseMedFundpaySumamt = "0";
|
|
|
- String bigDssFundpaySumamt = "0";
|
|
|
- String clvFundpaySumamt = "0";
|
|
|
- String othFundpaySumamt = "0";
|
|
|
- String fundpaySumamt = "0";
|
|
|
- for (BaseSetlStatistics itm : insutypeSetldataList) {
|
|
|
- medfeeSumamt = DecimalUtil.add(medfeeSumamt, itm.getMedfeeSumamt());
|
|
|
- baseMedFundpaySumamt = DecimalUtil.add(baseMedFundpaySumamt, itm.getHifpPay());
|
|
|
- bigDssFundpaySumamt = DecimalUtil.add(bigDssFundpaySumamt, itm.getHifmiPay());
|
|
|
- clvFundpaySumamt = DecimalUtil.add(clvFundpaySumamt, itm.getCvlservPay());
|
|
|
- fundpaySumamt = DecimalUtil.add(fundpaySumamt, itm.getFundPaySumamt());
|
|
|
- String othpay = DecimalUtil.minusLink(itm.getFundPaySumamt(), itm.getHifpPay(),
|
|
|
- itm.getHifmiPay(), itm.getCvlservPay());
|
|
|
- othFundpaySumamt = DecimalUtil.add(othFundpaySumamt, othpay);
|
|
|
- }
|
|
|
- result.setMedfeeSumamt(medfeeSumamt);
|
|
|
- result.setBaseMedFundpaySumamt(baseMedFundpaySumamt);
|
|
|
- result.setBigDssFundpaySumamt(bigDssFundpaySumamt);
|
|
|
- result.setClvFundpaySumamt(clvFundpaySumamt);
|
|
|
- result.setOthFundpaySumamt(othFundpaySumamt);
|
|
|
- result.setFundpaySumamt(fundpaySumamt);
|
|
|
- children.add(result);
|
|
|
+ fillSetlStatisticResult(children, insutypeSetldataList, result);
|
|
|
}
|
|
|
resultItem.setChildren(children);
|
|
|
}
|
|
@@ -1348,6 +1470,34 @@ public class SiQueryService {
|
|
|
return ResultVoUtil.success(resultList);
|
|
|
}
|
|
|
|
|
|
+ private void fillSetlStatisticResult(List<SetlStatisticResult> resultList,
|
|
|
+ List<BaseSetlStatistics> admdvsSetldataList,
|
|
|
+ SetlStatisticResult resultItem) {
|
|
|
+ String medfeeSumamt = "0";
|
|
|
+ String baseMedFundpaySumamt = "0";
|
|
|
+ String bigDssFundpaySumamt = "0";
|
|
|
+ String clvFundpaySumamt = "0";
|
|
|
+ String othFundpaySumamt = "0";
|
|
|
+ String fundpaySumamt = "0";
|
|
|
+ for (BaseSetlStatistics itm : admdvsSetldataList) {
|
|
|
+ medfeeSumamt = DecimalUtil.add(medfeeSumamt, itm.getMedfeeSumamt());
|
|
|
+ baseMedFundpaySumamt = DecimalUtil.add(baseMedFundpaySumamt, itm.getHifpPay());
|
|
|
+ bigDssFundpaySumamt = DecimalUtil.add(bigDssFundpaySumamt, itm.getHifmiPay());
|
|
|
+ clvFundpaySumamt = DecimalUtil.add(clvFundpaySumamt, itm.getCvlservPay());
|
|
|
+ fundpaySumamt = DecimalUtil.add(fundpaySumamt, itm.getFundPaySumamt());
|
|
|
+ String othpay = DecimalUtil.minusLink(itm.getFundPaySumamt(), itm.getHifpPay(),
|
|
|
+ itm.getHifmiPay(), itm.getCvlservPay());
|
|
|
+ othFundpaySumamt = DecimalUtil.add(othFundpaySumamt, othpay);
|
|
|
+ }
|
|
|
+ resultItem.setMedfeeSumamt(medfeeSumamt);
|
|
|
+ resultItem.setBaseMedFundpaySumamt(baseMedFundpaySumamt);
|
|
|
+ resultItem.setBigDssFundpaySumamt(bigDssFundpaySumamt);
|
|
|
+ resultItem.setClvFundpaySumamt(clvFundpaySumamt);
|
|
|
+ resultItem.setOthFundpaySumamt(othFundpaySumamt);
|
|
|
+ resultItem.setFundpaySumamt(fundpaySumamt);
|
|
|
+ resultList.add(resultItem);
|
|
|
+ }
|
|
|
+
|
|
|
public ResultVo<List<SiSetlinfo>> selectSetldetailStatistics(SetlCondition condition) {
|
|
|
String begntime = condition.getMonth() + "-01 00:00:00.000";
|
|
|
String endtime = DateUtil.getMonthEndtime(condition.getMonth());
|
|
@@ -1384,7 +1534,6 @@ public class SiQueryService {
|
|
|
return ResultVoUtil.success(list);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
public ResultVo<List<ZyActpatient>> weiJieSuanZaiYuanHuanZhe(String patNo,
|
|
|
String startTime,
|
|
|
String endTime,
|
|
@@ -1408,4 +1557,5 @@ public class SiQueryService {
|
|
|
return ResultVoUtil.success(actpatients);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|