Forráskód Böngészése

门特已结算的直接返回成功

lighter 3 éve
szülő
commit
2e12a3192e

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>10.3.7</version>
+    <version>10.3.8</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>

+ 4 - 0
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiMzDao.java

@@ -8,6 +8,7 @@ import thyyxxk.webserver.entity.markmtfees.OrderNo;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.MzPatientInfo;
 import thyyxxk.webserver.entity.medicalinsurance.query.SiPatInfo;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.*;
+import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetlinfo;
 
 import java.util.List;
 
@@ -160,6 +161,9 @@ public interface SiMzDao {
             "preselfpay_amt=#{preselfpayAmt}, inscp_scp_amt=#{inscpScpAmt} where pat_no=#{patNo} and times=#{times}")
     void updateSortOfAmt(SiPatInfo patInfo);
 
+    @Select("select * from t_si_setlinfo where pat_no=#{patNo} and times=#{times} and revoked=0")
+    SiSetlinfo selectSettledInfo(@Param("patNo") String patNo, @Param("times") int times);
+
     @Select("select psn_no,certno as mdtrtCertNo, " +
             "psn_cert_type,certno,med_type,insuplc_admdvs, " +
             "medfeeSumamt=(select sum(charge_fee) from t_mt_receipt where patient_id=#{patNo} and t_mt_receipt.times=#{times}), " +

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

@@ -545,6 +545,16 @@ public class SiMzService {
     }
 
     public ResultVo<FundDetail> outpatientSettlement(MzPatientInfo p) {
+        SiSetlinfo sisetl = dao.selectSettledInfo(p.getPatNo(), p.getTimes());
+        if (null != sisetl && null != sisetl.getSetlId()) {
+            FundDetail fundDetail = new FundDetail();
+            fundDetail.setTotalCost(sisetl.getMedfeeSumamt());
+            fundDetail.setFundPay(sisetl.getFundPaySumamt());
+            fundDetail.setCashPay(sisetl.getPsnCashPay());
+            fundDetail.setAcctPay(sisetl.getAcctPay());
+            fundDetail.setSelfPay(sisetl.getPsnPartAmt());
+            return ResultVoUtil.success(fundDetail);
+        }
         Setlmt setlmt = dao.selectSetlmt(p.getPatNo(), p.getTimes());
         JSONObject input = exec.makeTradeHeaderWithInsureArea(SiFunction.OUTPATIENT_SETTLEMENT, setlmt.getInsuplcAdmdvs());
         setlmt.setMdtrtCertType(MdtrtCertType.RESIDENT_IDENTITY_CARD.getCode());