Quellcode durchsuchen

Merge branch 'master' into 淮海科技

# Conflicts:
#	src/main/java/thyyxxk/webserver/controller/medicalinsurance/MarkMtFeesController.java
#	src/main/java/thyyxxk/webserver/service/inpatient/PatientService.java
#	src/main/java/thyyxxk/webserver/service/medicalinsurance/SiMzService.java
lighter vor 1 Tag
Ursprung
Commit
02f286cc7f

+ 8 - 1
src/main/java/thyyxxk/webserver/controller/medicalinsurance/MarkMtFeesController.java

@@ -120,10 +120,17 @@ public class MarkMtFeesController {
     @PassToken
     @PostMapping("/queryInsuinfo")
     public Map<String, Object> queryInsuinfo(@RequestBody SiMzBusinessParams param) {
-        log.info("门诊查询参保信息:{}", JSONObject.toJSON(param));
+        log.info("门诊查询有无参保信息:{}", JSONObject.toJSON(param));
         return mzService.queryInsuinfo(param);
     }
 
+    @PassToken
+    @PostMapping("/queryInsuinfoDetail")
+    public ResultVo<PsnBaseInfo> queryInsuinfoDetail(@RequestBody SiMzBusinessParams param) {
+        log.info("门诊查询参保信息详情:{}", JSONObject.toJSON(param));
+        return mzService.queryInsuinfoDetail(param);
+    }
+
     @PassToken
     @PostMapping("/directRegistration")
     public Map<String, Object> directRegistration(@RequestBody SiMzBusinessParams param) {

+ 4 - 0
src/main/java/thyyxxk/webserver/dao/his/inpatient/PatientDao.java

@@ -107,6 +107,10 @@ public interface PatientDao {
             "</script>")
     Patient getPatientInfo(@Param("inpatientNo") String inpatientNo, @Param("table") String table, @Param("times") Integer times);
 
+    @Select("select max(insuplc_admdvs) from t_si_pat_info where pat_no=#{patNo} " +
+            "and times=#{times} and ledger_sn=#{ledgerSn}")
+    Integer getPatAdmdvs(String patNo, int times, int ledgerSn);
+
     @Select("select parent_code from t_region where code=#{code}")
     Integer selectParentRegion(Integer code);
 

+ 2 - 0
src/main/java/thyyxxk/webserver/service/inpatient/PatientService.java

@@ -14,6 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
 import thyyxxk.webserver.config.exception.BizException;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.constants.Capacity;
+import thyyxxk.webserver.constants.sidicts.Insutype;
 import thyyxxk.webserver.constants.sidicts.MedType;
 import thyyxxk.webserver.constants.sidicts.PsnCertType;
 import thyyxxk.webserver.dao.his.inpatient.PatientDao;
@@ -228,6 +229,7 @@ public class PatientService {
      */
     private void setExpenseInformation(@NotNull Patient data) {
         data.setMedTypeName(MedType.getName(data.getMedType()));
+        data.setInsutypeName(Insutype.getName(data.getInsutype()));
         data.setDutyNurseName(userCache.getEmployeeName(data.getDutyNurse()));
 
         HuanZheFeiYong feiYongZhanBi = yiZhuLuRuDao.feiYongXinXi(data.getInpatientNo(), data.getAdmissTimes(), data.getLedgerSn());

+ 20 - 0
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiMzService.java

@@ -519,6 +519,26 @@ public class SiMzService {
         return result;
     }
 
+    public ResultVo<PsnBaseInfo> queryInsuinfoDetail(SiMzBusinessParams param) {
+        QryPsnBsInfo mzptnt = new QryPsnBsInfo();
+        mzptnt.setStaffId(param.getStaffId());
+        mzptnt.setPatNo(param.getPatientId());
+        mzptnt.setMedType(MedType.GENERAL_CLINIC.getCode());
+        mzptnt.setOnlyQry(1);
+        mzptnt.setTimes(-1);
+        if (StringUtil.notBlank(param.getAdmdvs())) {
+            mzptnt.setAdmdvs(param.getAdmdvs());
+        }
+        ResultVo<PsnBaseInfo> baseInfo = qryService.obtainBasicPersonInfo(mzptnt);
+        if (null == baseInfo) {
+            throw new BizException(ExceptionEnum.NETWORK_ERROR);
+        }
+        if (!Objects.equals(baseInfo.getCode(), ExceptionEnum.SUCCESS.getCode())) {
+            throw new BizException(ExceptionEnum.NETWORK_ERROR, baseInfo.getMessage());
+        }
+        return baseInfo;
+    }
+
     private InsuInfo getResidantOrEmployeeInsuInfo(List<InsuInfo> list) {
         for (InsuInfo info : list) {
             Insutype insutype = Insutype.get(info.getInsutype());