Browse Source

优化门诊登记。

lighter 2 years ago
parent
commit
160cd91fe6

+ 1 - 1
src/main/java/thyyxxk/simzfeeoprnsystm/dao/SiMzDao.java

@@ -57,7 +57,7 @@ public interface SiMzDao {
                         @Param("ledgerSn") int ledgerSn);
 
     @Update("update t_si_pat_info set insuplc_admdvs=#{insuplcAdmdvs},psn_type=#{psnType},emp_name=#{empName}," +
-            "mdtrt_id=#{mdtrtId},insutype=#{insutype},visit_datetime=#{visitDate},balc=#{balc} " +
+            "mdtrt_id=#{mdtrtId},insutype=#{insutype},visit_datetime=#{visitDate},balc=#{balc},med_type=#{medType} " +
             "where pat_no=#{patNo} and times=#{times} ")
     void afterRegistrtn(MzPatientInfo p);
 

+ 4 - 4
src/main/java/thyyxxk/simzfeeoprnsystm/service/SiMzFeeService.java

@@ -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());