|
@@ -17,6 +17,7 @@ import thyyxxk.webserver.entity.medicalinsurance.outpatient.SpcChrDiseAcct;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.query.*;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetldetail;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.setllist.*;
|
|
|
+import thyyxxk.webserver.service.wxapi.SendWxInfoService;
|
|
|
import thyyxxk.webserver.utils.*;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
@@ -33,14 +34,16 @@ import java.util.*;
|
|
|
public class SiQueryService {
|
|
|
private final ExecService exec;
|
|
|
private final SiQueryDao dao;
|
|
|
+ private final SendWxInfoService wxsrvc;
|
|
|
private static final String RESULT_CODE = "infcode";
|
|
|
private static final String ERROR_MESSAGE = "err_msg";
|
|
|
private static final String OUTPUT = "output";
|
|
|
|
|
|
@Autowired
|
|
|
- public SiQueryService(ExecService exec, SiQueryDao dao) {
|
|
|
+ public SiQueryService(ExecService exec, SiQueryDao dao, SendWxInfoService wxsrvc) {
|
|
|
this.exec = exec;
|
|
|
this.dao = dao;
|
|
|
+ this.wxsrvc = wxsrvc;
|
|
|
}
|
|
|
|
|
|
public ResultVo<SiPatInfo> getSiPatInfo(QryPsnBsInfo qryPsnBsInfo) {
|
|
@@ -877,56 +880,66 @@ public class SiQueryService {
|
|
|
BigDecimal polItemPaySum = BigDecimal.valueOf(itm.getDouble("polItemPaySum"));
|
|
|
selfPaySum = selfPaySum.add(selfPayAmt);
|
|
|
fundPaySum = fundPaySum.add(fundPayAmt);
|
|
|
- switch (itm.getString("polItemName")) {
|
|
|
- case "全自费":
|
|
|
+
|
|
|
+ if (itm.getString("polItemName").trim().equals("大额一段")) {
|
|
|
+ lst.setBigAmtFrstLvPsnAmt(selfPayAmt);
|
|
|
+ lst.setBigAmtFrstLvPsnProp(selfPayProp);
|
|
|
+ lst.setBigAmtFrstLvFundAmt(fundPayAmt);
|
|
|
+ lst.setBigAmtFrstLvFundProp(fundPayProp);
|
|
|
+ lst.setBigAmtFrstLvSum(polItemPaySum);
|
|
|
+ }
|
|
|
+
|
|
|
+ PolItemCode polItemCode = PolItemCode.get(itm.getString("polItemCode"));
|
|
|
+ if (null == polItemCode) {
|
|
|
+ String message = String.format("找到了字典缺失的政策项:%s", itm);
|
|
|
+ log.info(message);
|
|
|
+ wxsrvc.sendCorpWxMsg("2801", message);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ switch (polItemCode) {
|
|
|
+ case QZF:
|
|
|
lst.setSelfPayPsnAmt(selfPayAmt);
|
|
|
lst.setSelfPayPsnProp(selfPayProp);
|
|
|
lst.setSelfPayFundAmt(fundPayAmt);
|
|
|
lst.setSelfPayFundProp(fundPayProp);
|
|
|
lst.setSelfPaySum(polItemPaySum);
|
|
|
break;
|
|
|
- case "乙类先自付":
|
|
|
+ case YLXZF:
|
|
|
lst.setScndPrePayPsnAmt(selfPayAmt);
|
|
|
lst.setScndPrePayPsnProp(selfPayProp);
|
|
|
lst.setScndPrePayFundAmt(fundPayAmt);
|
|
|
lst.setScndPrePayFundProp(fundPayProp);
|
|
|
lst.setScndPrePaySum(polItemPaySum);
|
|
|
break;
|
|
|
- case "超限额自付":
|
|
|
+ case CXEZF:
|
|
|
lst.setOvrlmtSelfPayPsnAmt(selfPayAmt);
|
|
|
lst.setOvrlmtSelfPayPsnProp(selfPayProp);
|
|
|
lst.setOvrlmtSelfPayFundAmt(fundPayAmt);
|
|
|
lst.setOvrlmtSelfPayFundProp(fundPayProp);
|
|
|
lst.setOvrlmtSelfPaySum(polItemPaySum);
|
|
|
break;
|
|
|
- case "本次应付起付标准":
|
|
|
+ case BCYFQFBZ:
|
|
|
lst.setBegnlinePsnAmt(selfPayAmt);
|
|
|
lst.setBegnlinePsnProp(selfPayProp);
|
|
|
lst.setBegnlineFundAmt(fundPayAmt);
|
|
|
lst.setBegnlineFundProp(fundPayProp);
|
|
|
lst.setBegnlineSum(polItemPaySum);
|
|
|
break;
|
|
|
- case "统筹一段":
|
|
|
+ case TCYD:
|
|
|
lst.setFundFrstLvPsnAmt(selfPayAmt);
|
|
|
lst.setFundFrstLvPsnProp(selfPayProp);
|
|
|
lst.setFundFrstLvFundAmt(fundPayAmt);
|
|
|
lst.setFundFrstLvFundProp(fundPayProp);
|
|
|
lst.setFundFrstLvSum(polItemPaySum);
|
|
|
break;
|
|
|
- case "统筹二段":
|
|
|
+ case TCED:
|
|
|
lst.setFundScndLvPsnAmt(selfPayAmt);
|
|
|
lst.setFundScndLvPsnProp(selfPayProp);
|
|
|
lst.setFundScndLvFundAmt(fundPayAmt);
|
|
|
lst.setFundScndLvFundProp(fundPayProp);
|
|
|
lst.setFundScndLvSum(polItemPaySum);
|
|
|
break;
|
|
|
- case "大额一段":
|
|
|
- lst.setBigAmtFrstLvPsnAmt(selfPayAmt);
|
|
|
- lst.setBigAmtFrstLvPsnProp(selfPayProp);
|
|
|
- lst.setBigAmtFrstLvFundAmt(fundPayAmt);
|
|
|
- lst.setBigAmtFrstLvFundProp(fundPayProp);
|
|
|
- lst.setBigAmtFrstLvSum(polItemPaySum);
|
|
|
- break;
|
|
|
}
|
|
|
}
|
|
|
lst.setAllPsnAmt(selfPaySum);
|