|
@@ -163,6 +163,7 @@ public class SiMzService {
|
|
|
receipt.setDoctorCode(detail.get("doctorCode").toString());
|
|
|
receipt.setSerialNo(detail.get("serialNo").toString());
|
|
|
receipt.setGroupNo(detail.get("groupNo").toString());
|
|
|
+ receipt.setChargeDate(detail.get("priceTime").toString().split("\\+")[0].replace("T", " "));
|
|
|
receipt.setBillItemCode(detail.get("billItemCode").toString());
|
|
|
receipt.setChargeBillCode(detail.get("chargeBillCode").toString());
|
|
|
String table = receipt.getGroupNo().trim().equals("00") ? "zd_charge_item" : "yp_zd_dict";
|
|
@@ -226,7 +227,6 @@ public class SiMzService {
|
|
|
if (receipts.size() == 0) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "请选择至少一条处方明细!");
|
|
|
}
|
|
|
- MzReceipt receipt = receipts.get(0);
|
|
|
receipts.forEach(item -> {
|
|
|
if (item.getChecked()) {
|
|
|
dao.insertBatchedMtFeeInfo(item);
|
|
@@ -404,9 +404,13 @@ public class SiMzService {
|
|
|
result.put("msg", "患者没有职工医保,如需报销请走医保科流程。");
|
|
|
return result;
|
|
|
}
|
|
|
+ if (!isInsuplcAdmdvsEligible(insuInfo.getInsuplcAdmdvs())) {
|
|
|
+ result.put("code", -1);
|
|
|
+ result.put("msg", "患者参保地不满足共济要求。");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
psninfo.setInsutype(Insutype.BASIC_MEDICAL_INSURANCE_FOR_EMPLOYEES.getCode());
|
|
|
int count = dao.selectSiMzInfoCount(mzptnt.getPatNo(), mzptnt.getTimes());
|
|
|
- insuInfo.setBalc("578.23");
|
|
|
if (count == 0) {
|
|
|
psninfo.setInsuplc(insuInfo.getInsuplcAdmdvs());
|
|
|
psninfo.setPsnType(insuInfo.getPsnType());
|
|
@@ -430,28 +434,11 @@ public class SiMzService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- public Map<String, Object> mzRegister(MzPatientInfo mzptnt) {
|
|
|
- SiPatInfo siPatInfo = dao.selectSiPatInfoForMz(mzptnt.getPatNo(), mzptnt.getTimes());
|
|
|
- mzptnt.setInsuplcAdmdvs(siPatInfo.getInsuplcAdmdvs());
|
|
|
- mzptnt.setInsutype(siPatInfo.getInsutype());
|
|
|
- mzptnt.setPsnType(siPatInfo.getPsnType());
|
|
|
- mzptnt.setName(siPatInfo.getPsnName());
|
|
|
- mzptnt.setSocialNo(siPatInfo.getCertno());
|
|
|
- ResultVo<String> regres = mzSrvc.outpatientRegistration(siMzFeeUrl, mzptnt);
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- if (null == regres) {
|
|
|
- map.put("code", -2);
|
|
|
- map.put("msg", "网络异常");
|
|
|
- return map;
|
|
|
- }
|
|
|
- if (regres.getCode() != ExceptionEnum.SUCCESS.getCode()) {
|
|
|
- map.put("code", -2);
|
|
|
- map.put("msg", regres.getMessage());
|
|
|
- return map;
|
|
|
- }
|
|
|
- map.put("code", 0);
|
|
|
- map.put("msg", "门诊登记成功。");
|
|
|
- return map;
|
|
|
+ private boolean isInsuplcAdmdvsEligible(String insuplc) {
|
|
|
+ return insuplc.startsWith("4301") ||
|
|
|
+ insuplc.startsWith("4302") ||
|
|
|
+ insuplc.startsWith("4303") ||
|
|
|
+ insuplc.equals("439900");
|
|
|
}
|
|
|
|
|
|
public ResultVo<FundDetail> directRegistration(SiMzBusinessParams param) {
|