|
@@ -17,6 +17,7 @@ import thyyxxk.webserver.entity.medicalinsurance.query.*;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.setllist.*;
|
|
|
import thyyxxk.webserver.utils.*;
|
|
|
|
|
|
+import java.text.DecimalFormat;
|
|
|
import java.time.LocalDate;
|
|
|
import java.util.*;
|
|
|
|
|
@@ -41,10 +42,13 @@ public class SiQueryService {
|
|
|
}
|
|
|
|
|
|
public ResultVo<PsnBaseInfo> obtainBasicPersonInfo(QryPsnBsInfo qryPsnBsInfo) {
|
|
|
- if (StringUtil.isBlank(qryPsnBsInfo.getMedType())) {
|
|
|
+ if (null == qryPsnBsInfo.getOnlyQry() && StringUtil.isBlank(qryPsnBsInfo.getMedType())) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "请选择患者的医疗类别!");
|
|
|
}
|
|
|
if (StringUtil.isBlank(qryPsnBsInfo.getSocialNo()) || StringUtil.isBlank(qryPsnBsInfo.getName())) {
|
|
|
+ if (new Integer(1).equals(qryPsnBsInfo.getOnlyQry())) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "姓名和身份证不能为空,请补充!");
|
|
|
+ }
|
|
|
QryPsnBsInfo qpbi = dao.selectMzSocialAndName(qryPsnBsInfo.getPatNo());
|
|
|
if (StringUtil.isBlank(qpbi.getSocialNo())) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "患者的身份证不能为空,请补充!");
|
|
@@ -314,6 +318,14 @@ public class SiQueryService {
|
|
|
for (int i = 0; i < output.size(); i++) {
|
|
|
JSONObject obj = output.getJSONObject(i);
|
|
|
FeeDetl item = JSONObject.parseObject(obj.toJSONString(), FeeDetl.class);
|
|
|
+ String percent = Integer.parseInt(new DecimalFormat("0").format(item.getSelfpayProp() * 100)) + "%";
|
|
|
+ item.setSelfpayPropPercent(percent);
|
|
|
+ ChrgitmLv chrgitmLvEnum = ChrgitmLv.get(item.getChrgitmLv());
|
|
|
+ if (null != chrgitmLvEnum) {
|
|
|
+ item.setChrgitmLvName(chrgitmLvEnum.getName());
|
|
|
+ } else {
|
|
|
+ item.setChrgitmLvName(item.getChrgitmLv());
|
|
|
+ }
|
|
|
list.add(item);
|
|
|
}
|
|
|
return ResultVoUtil.success(list);
|
|
@@ -807,26 +819,26 @@ public class SiQueryService {
|
|
|
JSONObject itm = cuminfos.getJSONObject(i);
|
|
|
if (itm.getString("year").equals(year)) {
|
|
|
switch (itm.getString("cum_type_code")) {
|
|
|
- case "C0000":
|
|
|
+ case "C0000": // 本年住院次数
|
|
|
cuminfo.addYearAdmtimes(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "F0000":
|
|
|
+ case "F0000": // 医疗费合计
|
|
|
cuminfo.addYearFeesum(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "Q0000":
|
|
|
+ case "Q0000": // 已付起付线
|
|
|
cuminfo.addYearPayedbegnline(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "D310101":
|
|
|
+ case "D310101": // 统筹支付
|
|
|
case "D390101":
|
|
|
cuminfo.addYearFundpays(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "D330101":
|
|
|
+ case "D330101": // 大额基金支付
|
|
|
cuminfo.addYearBigAmtpays(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "D390201":
|
|
|
+ case "D390201": // 大病保险支付
|
|
|
cuminfo.addYearBigdssInspays(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
- case "D610101":
|
|
|
+ case "D610101": // 医疗救助支付
|
|
|
cuminfo.addYearMafpays(itm.getDoubleValue("cum"));
|
|
|
break;
|
|
|
}
|