|
@@ -101,7 +101,15 @@ public class SiMzFeeService {
|
|
|
regstrtn.setCardSn(out[3]);
|
|
|
} else if (mdtrtCertType.getCode().equals(MdtrtCertType.ELECTRONIC_VOUCHER.getCode())) {
|
|
|
JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult());
|
|
|
- regstrtn.setMdtrtCertNo(qrinfo.getString("ecToken"));
|
|
|
+ String ecToken = qrinfo.getString("ecToken");
|
|
|
+ if (StringUtil.isBlank(ecToken)) {
|
|
|
+ JSONObject qrdata = qrinfo.getJSONObject("data");
|
|
|
+ if (null == qrdata) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "获取读卡信息失败!");
|
|
|
+ }
|
|
|
+ ecToken = qrdata.getString("ecToken");
|
|
|
+ }
|
|
|
+ regstrtn.setMdtrtCertNo(ecToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -358,6 +366,10 @@ public class SiMzFeeService {
|
|
|
} else if (mdtrtCertType.getCode().equals(MdtrtCertType.ELECTRONIC_VOUCHER.getCode())) {
|
|
|
String socialNo = mzDao.selectSocialNo(p.getPatNo());
|
|
|
JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult());
|
|
|
+ JSONObject qrdata = qrinfo.getJSONObject("data");
|
|
|
+ if (null != qrdata) {
|
|
|
+ qrinfo = qrdata;
|
|
|
+ }
|
|
|
if (!Objects.equals(socialNo, qrinfo.getString("idNo").trim())) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证身份证与HIS身份证不一致,请确认是否人证相符。");
|
|
|
}
|
|
@@ -687,7 +699,8 @@ public class SiMzFeeService {
|
|
|
mzptnt.setReadCardResult(param.getReadCardResult());
|
|
|
if (mdtrtCertType.getCode().equals(MdtrtCertType.ELECTRONIC_VOUCHER.getCode())) {
|
|
|
JSONObject obj = JSONObject.parseObject(param.getReadCardResult());
|
|
|
- String admdvs = obj.getString("insuOrg");
|
|
|
+ JSONObject qrdata = obj.getJSONObject("data");
|
|
|
+ String admdvs = qrdata.getString("insuOrg");
|
|
|
if (StringUtil.isBlank(mzptnt.getInsuplcAdmdvs())) {
|
|
|
mzptnt.setInsuplcAdmdvs(admdvs);
|
|
|
}
|