Bladeren bron

门诊共济

lighter 2 jaren geleden
bovenliggende
commit
515203f493

+ 4 - 3
src/main/java/thyyxxk/simzfeeoprnsystm/dao/SiMzDao.java

@@ -10,7 +10,8 @@ import java.util.List;
 
 @Mapper
 public interface SiMzDao {
-    @Update("update t_si_pat_info set times=#{times} where pat_no=#{patNo} and times=-1")
+    @Update("delete from t_si_pat_info where pat_no=#{patNo} and times=#{times}; " +
+            "update t_si_pat_info set times=#{times} where pat_no=#{patNo} and times=-1")
     void updateMzTimes(@Param("patNo") String patNo,
                       @Param("times") int times);
 
@@ -83,8 +84,8 @@ public interface SiMzDao {
 
     @Select("select psn_no,insuplc_admdvs,mdtrtCertType='02',certno as mdtrtCertNo,certno, " +
             "psn_cert_type,psn_type,psn_name,med_type,mdtrt_id,insutype, " +
-            "medfeeSumamt=(select sum(charge_fee) from t_mt_receipt where " +
-            "patient_id=#{patNo} and t_mt_receipt.times=#{times}) " +
+            "medfeeSumamt=(select sum(t.charge_fee) from t_mt_receipt t where " +
+            "t.patient_id=#{patNo} and t.times=#{times}) " +
             "from t_si_pat_info where pat_no=#{patNo} and times=#{times}")
     MzPreSetlmt selectPreSetlmt(@Param("patNo") String patNo, @Param("times") int times);
 

+ 20 - 19
src/main/java/thyyxxk/simzfeeoprnsystm/service/SiMzFeeService.java

@@ -63,16 +63,16 @@ public class SiMzFeeService {
             regstrtn.setMdtrtCertType(mdtrtCertType.getCode());
             if (mdtrtCertType == MdtrtCertType.SOCIAL_SECURITY_CARD) {
                 String[] out = p.getReadCardResult().split("\\|");
-                if (!p.getName().trim().equals(out[4].trim())) {
-                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "社保卡姓名与HIS姓名不一致,请确认是否人证相符。");
-                }
+//                if (!p.getName().trim().equals(out[4].trim())) {
+//                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "社保卡姓名与HIS姓名不一致,请确认是否人证相符。");
+//                }
                 regstrtn.setMdtrtCertNo(out[2]);
                 regstrtn.setCardSn(out[3]);
             } else if (mdtrtCertType == MdtrtCertType.MEDICAL_INSURANCE_ELECTRONIC_VOUCHER) {
                 JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult());
-                if (!p.getName().trim().equals(qrinfo.getString("userName").trim())) {
-                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证姓名与HIS姓名不一致,请确认是否人证相符。");
-                }
+//                if (!p.getName().trim().equals(qrinfo.getString("userName").trim())) {
+//                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证姓名与HIS姓名不一致,请确认是否人证相符。");
+//                }
                 if (!p.getSocialNo().trim().equals(qrinfo.getString("idNo").trim())) {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证身份证与HIS身份证不一致,请确认是否人证相符。");
                 }
@@ -241,7 +241,7 @@ public class SiMzFeeService {
         });
         JSONObject input = exec.makeTradeHeaderWithInsureArea(SiFunction.UPLOAD_OUTPATIENT_FEE_DETAILS,
                 siPatInfo.getInsuplcAdmdvs(), p.getStaffId());
-        String ref = JSONArray.toJSONString(feeDetails);
+        String ref = JSONArray.toJSONStringWithDateFormat(feeDetails, "yyyy-MM-dd HH:mm:ss");
         JSONArray feedetail = JSONArray.parseArray(ref);
         input.getJSONObject("input").put("feedetail", feedetail);
         JSONObject result = exec.executeTrade(input, SiFunction.UPLOAD_OUTPATIENT_FEE_DETAILS);
@@ -332,16 +332,16 @@ public class SiMzFeeService {
             mzPreSetlmt.setMdtrtCertType(mdtrtCertType.getCode());
             if (mdtrtCertType == MdtrtCertType.SOCIAL_SECURITY_CARD) {
                 String[] out = p.getReadCardResult().split("\\|");
-                if (!p.getName().trim().equals(out[4].trim())) {
-                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "社保卡姓名与HIS姓名不一致,请确认是否人证相符。");
-                }
+//                if (!p.getName().trim().equals(out[4].trim())) {
+//                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "社保卡姓名与HIS姓名不一致,请确认是否人证相符。");
+//                }
                 mzPreSetlmt.setMdtrtCertNo(out[2]);
                 mzPreSetlmt.setCardSn(out[3]);
             } else if (mdtrtCertType == MdtrtCertType.MEDICAL_INSURANCE_ELECTRONIC_VOUCHER) {
                 JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult());
-                if (!p.getName().trim().equals(qrinfo.getString("userName").trim())) {
-                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证姓名与HIS姓名不一致,请确认是否人证相符。");
-                }
+//                if (!p.getName().trim().equals(qrinfo.getString("userName").trim())) {
+//                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证姓名与HIS姓名不一致,请确认是否人证相符。");
+//                }
                 if (!p.getSocialNo().trim().equals(qrinfo.getString("idNo").trim())) {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证身份证与HIS身份证不一致,请确认是否人证相符。");
                 }
@@ -420,16 +420,16 @@ public class SiMzFeeService {
             setlmt.setMdtrtCertType(mdtrtCertType.getCode());
             if (mdtrtCertType == MdtrtCertType.SOCIAL_SECURITY_CARD) {
                 String[] out = p.getReadCardResult().split("\\|");
-                if (!p.getName().trim().equals(out[4].trim())) {
-                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "社保卡姓名与HIS姓名不一致,请确认是否人证相符。");
-                }
+//                if (!p.getName().trim().equals(out[4].trim())) {
+//                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "社保卡姓名与HIS姓名不一致,请确认是否人证相符。");
+//                }
                 setlmt.setMdtrtCertNo(out[2]);
                 setlmt.setCardSn(out[3]);
             } else if (mdtrtCertType == MdtrtCertType.MEDICAL_INSURANCE_ELECTRONIC_VOUCHER) {
                 JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult());
-                if (!p.getName().trim().equals(qrinfo.getString("userName").trim())) {
-                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证姓名与HIS姓名不一致,请确认是否人证相符。");
-                }
+//                if (!p.getName().trim().equals(qrinfo.getString("userName").trim())) {
+//                    return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证姓名与HIS姓名不一致,请确认是否人证相符。");
+//                }
                 if (!p.getSocialNo().trim().equals(qrinfo.getString("idNo").trim())) {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证身份证与HIS身份证不一致,请确认是否人证相符。");
                 }
@@ -543,6 +543,7 @@ public class SiMzFeeService {
     }
 
     public ResultVo<FundDetail> directRegistration(DirectionRegParam param) {
+        log.info("门诊共济:{}", param);
         mzDao.updateMzTimes(param.getPatientId(), param.getTimes());
         MzPatientInfo mzptnt = new MzPatientInfo();
         mzptnt.setStaffId(param.getStaffId());