Selaa lähdekoodia

住院电子发票

lighter 1 kuukausi sitten
vanhempi
commit
5dc9396228

+ 9 - 2
src/main/java/thyyxxk/webserver/service/inpatient/DismissService.java

@@ -5,9 +5,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.client.SimpleClientHttpRequestFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.client.RestTemplate;
@@ -18,6 +16,7 @@ import thyyxxk.webserver.constants.sidicts.MedType;
 import thyyxxk.webserver.constants.sidicts.PsnCertType;
 import thyyxxk.webserver.dao.his.inpatient.DismissDao;
 import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.inpatient.charge.PatientParam;
 import thyyxxk.webserver.entity.inpatient.dismiss.*;
 import thyyxxk.webserver.entity.inpatient.patient.Overview;
 import thyyxxk.webserver.entity.inpatient.patient.Patient;
@@ -25,6 +24,7 @@ import thyyxxk.webserver.entity.medicalinsurance.injury.InjuryCareQualification;
 import thyyxxk.webserver.http.drg.DrgWebApi;
 import thyyxxk.webserver.service.externalhttp.SiInjuryFeeUpld;
 import thyyxxk.webserver.service.externalhttp.SiZySrvc;
+import thyyxxk.webserver.service.inpatient.charge.CashierProcessService;
 import thyyxxk.webserver.utils.*;
 
 import java.math.BigDecimal;
@@ -40,6 +40,7 @@ public class DismissService {
     private final DismissDao dao;
     private final SiZySrvc zySrvc;
     private final SiInjuryFeeUpld injuryFeeUpld;
+    private final CashierProcessService cashierService;
     private final RestTemplate template;
     private final DrgWebApi drgWebApi;
 
@@ -341,6 +342,12 @@ public class DismissService {
         if (code < 1) {
             throw new BizException(ExceptionEnum.LOGICAL_ERROR, "更新住院状态失败。" + code);
         }
+        PatientParam param = new PatientParam();
+        param.setInpatientNo(settleFee.getInpatientNo());
+        param.setAdmissTimes(settleFee.getAdmissTimes());
+        param.setLedgerSn(settleFee.getLedgerSn());
+        param.setTypeFlag(3);
+        cashierService.uploadDzInvoice(param);
         new DestructionUser(settleFee.getInpatientNo(), settleFee.getAdmissTimes()).start();
         return "OK";
     }

+ 8 - 0
src/main/java/thyyxxk/webserver/service/inpatient/charge/ForceInAndOutService.java

@@ -11,6 +11,7 @@ import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.constants.sidicts.MedType;
 import thyyxxk.webserver.dao.his.inpatient.charge.ForceInAndOutDao;
 import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.inpatient.charge.PatientParam;
 import thyyxxk.webserver.entity.inpatient.charge.forceinout.PatInquiry;
 import thyyxxk.webserver.entity.inpatient.charge.forceinout.SimplePatient;
 import thyyxxk.webserver.entity.login.UserInfo;
@@ -32,6 +33,7 @@ public class ForceInAndOutService {
     private final UserCache userCache;
     private final SiZyService siZyService;
     private final SiInjurySystem injurySystem;
+    private final CashierProcessService cashierService;
     private final YzConfig yzConfig;
 
     @Value("${si-injury-systm-url}")
@@ -195,6 +197,12 @@ public class ForceInAndOutService {
     }
 
     private String revokeHisSettle(SimplePatient patient) {
+        PatientParam param = new PatientParam();
+        param.setInpatientNo(patient.getPatNo());
+        param.setAdmissTimes(patient.getTimes());
+        param.setLedgerSn(patient.getLedgerSn());
+        param.setTypeFlag(4);
+        cashierService.uploadDzInvoice(param);
         dao.clearZyLedgerFile(patient);
         dao.updateZyDetailCharge(patient);
         dao.deleteZyReceipt(patient);