소스 검색

优化是否使用个账的判定

lighter 1 년 전
부모
커밋
390d3f9b44

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>SiMzFeeOprnSystm</artifactId>
-    <version>2.0</version>
+    <version>2.2</version>
     <name>SiMzFeeOprnSystm</name>
     <description>SiMzFeeOprnSystm</description>
     <properties>

+ 3 - 0
src/main/java/thyyxxk/simzfeeoprnsystm/dao/SiMzDao.java

@@ -169,6 +169,9 @@ public interface SiMzDao {
     @Select("select his_item_code from t_mt_receipt where patient_id=#{patNo} and times=#{times}")
     List<String> selectHisChargeCodes(@Param("patNo") String patNo, @Param("times") int times);
 
+    @Select("select acct_pay from t_si_presetlinfo where mdtrt_id=#{mdtrtId}")
+    Double selectAcctPayInPreSettle(@Param("mdtrtId") String mdtrtId);
+
     @Select("select a.psn_no,a.insutype,chrgBchno=a.pat_no+'_'+cast(a.times as varchar)+'_1', " +
             "medOrgOrd=a.pat_no+'_'+cast(a.times as varchar)+'_'+a.mdtrt_id, " +
             "b.visit_date as begntime,a.mdtrt_id,a.med_type,acctUsedFlag='0', " +

+ 4 - 0
src/main/java/thyyxxk/simzfeeoprnsystm/pojo/MzPatientInfo.java

@@ -53,6 +53,10 @@ public class MzPatientInfo {
         return StringUtil.isBlank(acctUsedFlag) ? "0" : acctUsedFlag;
     }
 
+    public String getRealAcctUsedFlag() {
+        return acctUsedFlag;
+    }
+
     public Integer getSaved() {
         return null == saved ? 0 : saved;
     }

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

@@ -449,7 +449,18 @@ public class SiMzFeeService {
         setlmt.setMedfeeSumamt(setlmt.getMedfeeSumamt().setScale(2, RoundingMode.HALF_UP));
         setlmt.setPsnSetlway(PsnSetlWay.SETTLE_BY_ITEMS.getCode());
         setlmt.setChrgBchno(p.getPatNo() + "_" + p.getTimes());
-        setlmt.setAcctUsedFlag(p.getAcctUsedFlag());
+
+        String acctUsedFlag = p.getRealAcctUsedFlag();
+        if (StringUtil.isBlank(acctUsedFlag)) {
+            Double acctPay = mzDao.selectAcctPayInPreSettle(setlmt.getMdtrtId());
+            if (null != acctPay && acctPay > 0) {
+                acctUsedFlag = "1";
+            } else {
+                acctUsedFlag = "0";
+            }
+        }
+
+        setlmt.setAcctUsedFlag(acctUsedFlag);
         setlmt.setInvono(SnowFlakeId.getInstance().nextId());
         setlmt.setExpContent(p.getExpContent());
         String ref = JSONObject.toJSONString(setlmt);