lighter 2 rokov pred
rodič
commit
ad03b50379

+ 2 - 0
src/main/java/thyyxxk/simzfeeoprnsystm/pojo/DirectionRegParam.java

@@ -13,4 +13,6 @@ public class DirectionRegParam {
     // 读卡类型:01-电子凭证,02-身份证,3-社保卡
     private String readCardType;
     private String readCardResult;
+
+    private String expContent;
 }

+ 6 - 0
src/main/java/thyyxxk/simzfeeoprnsystm/pojo/SpcChrDiseAcct.java

@@ -33,6 +33,12 @@ public class SpcChrDiseAcct {
 
     private Boolean fromDirectReg;
 
+    private String expContent;
+
+    public String getExpContent() {
+        return null == expContent ? null : expContent.toUpperCase();
+    }
+
     public Boolean getFromDirectReg() {
         return null != fromDirectReg && fromDirectReg;
     }

+ 13 - 12
src/main/java/thyyxxk/simzfeeoprnsystm/service/SiMzFeeService.java

@@ -138,9 +138,9 @@ public class SiMzFeeService {
         return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, result.getString(ERROR_MESSAGE));
     }
 
-    private ResultVo<String> uploadOutpatientInfo(SpcChrDiseAcct diseInfo, SiPatInfo siPatInfo, String staffId) {
+    private ResultVo<String> uploadOutpatientInfo(SpcChrDiseAcct spcChrDiseAcct, SiPatInfo siPatInfo) {
         JSONObject input = exec.makeTradeHeaderWithInsureArea(SiFunction.UPLOAD_OUTPATIENT_INFO,
-                siPatInfo.getInsuplcAdmdvs(), staffId);
+                siPatInfo.getInsuplcAdmdvs(), spcChrDiseAcct.getStaffId());
         JSONObject mdtrtinfo = new JSONObject();
         List<Diagnoses> diagnosesList = new ArrayList<>();
         String icdCodeNew = mzDao.selectIcdCodeNew(siPatInfo.getPatNo(), siPatInfo.getTimes());
@@ -170,7 +170,7 @@ public class SiMzFeeService {
             }
         }
         if (siPatInfo.getMedType().equals("14") || siPatInfo.getMedType().equals("51")) {
-            if (StringUtil.isBlank(diseInfo.getOpspDiseCode())) {
+            if (StringUtil.isBlank(spcChrDiseAcct.getOpspDiseCode())) {
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "生育门诊与慢特病门诊的病种不能为空 !");
             }
         }
@@ -178,16 +178,17 @@ public class SiMzFeeService {
         mdtrtinfo.put("psn_no", siPatInfo.getPsnNo());
         mdtrtinfo.put("med_type", siPatInfo.getMedType());
         mdtrtinfo.put("begntime", DateUtil.formatDatetime(siPatInfo.getVisitDatetime()));
-        mdtrtinfo.put("main_cond_dscr", diseInfo.getOpspDiseName());
-        mdtrtinfo.put("dise_codg", diseInfo.getOpspDiseCode());
-        mdtrtinfo.put("dise_name", diseInfo.getOpspDiseName());
+        mdtrtinfo.put("main_cond_dscr", spcChrDiseAcct.getOpspDiseName());
+        mdtrtinfo.put("dise_codg", spcChrDiseAcct.getOpspDiseCode());
+        mdtrtinfo.put("dise_name", spcChrDiseAcct.getOpspDiseName());
         mdtrtinfo.put("birctrl_type", "");
         mdtrtinfo.put("birctrl_matn_date", "");
+        mdtrtinfo.put("exp_content", spcChrDiseAcct.getExpContent());
         String ref = JSONObject.toJSONString(diagnosesList);
         input.getJSONObject("input").put("mdtrtinfo", mdtrtinfo);
         input.getJSONObject("input").put("diseinfo", JSONArray.parse(ref));
         JSONObject result = exec.executeTrade(input, SiFunction.UPLOAD_OUTPATIENT_INFO);
-        log.info("【操作员:{}】门诊就诊信息上传:\n参数:{},\n结果:{}", staffId, input, result);
+        log.info("【操作员:{}】门诊就诊信息上传:\n参数:{},\n结果:{}", spcChrDiseAcct.getStaffId(), input, result);
         Integer infcode = result.getInteger(RESULT_CODE);
         logDao.insert(new SiLog(input, result, siPatInfo.getPatNo(), siPatInfo.getTimes(), infcode, siPatInfo.getPsnNo()));
         if (result.getIntValue(RESULT_CODE) == 0) {
@@ -208,14 +209,12 @@ public class SiMzFeeService {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "【门诊号:" + patNo +
                     "】未找到此患者的医保挂号信息,请核实。");
         }
-
         if (!p.getFromDirectReg()) {
-            ResultVo<String> uplRes = uploadOutpatientInfo(p, siPatInfo, p.getStaffId());
+            ResultVo<String> uplRes = uploadOutpatientInfo(p, siPatInfo);
             if (null != uplRes && uplRes.getCode() != ExceptionEnum.SUCCESS.getCode()) {
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, uplRes.getMessage());
             }
         }
-
         List<FeeDetail> feeDetails = mzDao.selectOutpatientFees(patNo, p.getTimes());
         if (null == feeDetails || feeDetails.isEmpty()) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "此患者没有需要上传的费用。");
@@ -622,7 +621,9 @@ public class SiMzFeeService {
         siPatInfo = mzDao.selectSiPatInfoForMz(mzptnt.getPatNo(), mzptnt.getTimes());
         siPatInfo.setFromDirectReg(true);
         SpcChrDiseAcct spcChrDiseAcct = new SpcChrDiseAcct();
-        ResultVo<String> upldMdtrtRes = uploadOutpatientInfo(spcChrDiseAcct, siPatInfo, param.getStaffId());
+        spcChrDiseAcct.setStaffId(param.getStaffId());
+        spcChrDiseAcct.setExpContent(param.getExpContent());
+        ResultVo<String> upldMdtrtRes = uploadOutpatientInfo(spcChrDiseAcct, siPatInfo);
         if (null == upldMdtrtRes) {
             revokeOutpatientRegistration(mzptnt);
             return ResultVoUtil.fail(ExceptionEnum.NETWORK_ERROR);
@@ -683,7 +684,7 @@ public class SiMzFeeService {
     }
 
     public ResultVo<Integer> isPatientDuringSiSettle(String patientId) {
-        int result =  MzgjUtil.inProcessing(patientId) ? 1 : 0;
+        int result = MzgjUtil.inProcessing(patientId) ? 1 : 0;
         return ResultVoUtil.success(result);
     }