|
@@ -22,6 +22,7 @@ import java.math.RoundingMode;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
@Slf4j
|
|
@@ -51,19 +52,17 @@ public class SiMzFeeService {
|
|
|
}
|
|
|
|
|
|
public ResultVo<String> outpatientRegistration(MzPatientInfo p) {
|
|
|
- if (p.getInsuplcAdmdvs().equals("430182")) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "宁乡参保地区的患者无法在我院办理医保业务。");
|
|
|
+ if (p.getInsuplcAdmdvs().equals("430182") && !Objects.equals("11", p.getMedType())) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "宁乡参保地区的患者我院只能办理普门医保业务,其他类别的业务暂不支持。");
|
|
|
}
|
|
|
Regstrtn regstrtn = mzDao.selectRegstrtn(p.getPatNo(), p.getTimes());
|
|
|
if (null == regstrtn) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "mz_visit_table患者信息为空,请联系医生重开处方。");
|
|
|
}
|
|
|
-
|
|
|
ReadCardBizType readCardBizType = ReadCardBizType.get(p.getReadCardBizType());
|
|
|
if (readCardBizType != ReadCardBizType.REGISTRATION && !p.getInsuplcAdmdvs().startsWith("43")) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "省外异地的患者请读社保卡或医保电子凭证登记!");
|
|
|
}
|
|
|
-
|
|
|
if (readCardBizType == ReadCardBizType.REGISTRATION) {
|
|
|
MdtrtCertType mdtrtCertType = MdtrtCertType.getByLabel(p.getMdtrtCertType());
|
|
|
regstrtn.setMdtrtCertType(mdtrtCertType.getCode());
|
|
@@ -591,6 +590,7 @@ public class SiMzFeeService {
|
|
|
mzptnt.setStaffId(param.getStaffId());
|
|
|
mzptnt.setPatNo(param.getPatientId());
|
|
|
mzptnt.setTimes(param.getTimes());
|
|
|
+ mzptnt.setMedType("11");
|
|
|
mzptnt.setAcctUsedFlag(String.valueOf(param.getAcctUsedFlag()));
|
|
|
SiPatInfo siPatInfo = mzDao.selectSiPatInfoForMz(mzptnt.getPatNo(), mzptnt.getTimes());
|
|
|
mzptnt.setInsuplcAdmdvs(siPatInfo.getInsuplcAdmdvs());
|