bugfix:对账过滤预交金

This commit is contained in:
Yuan
2025-11-18 17:01:03 +08:00
parent febe81ac00
commit 446b7cb1c0
3 changed files with 32 additions and 0 deletions

View File

@@ -91,6 +91,17 @@ public class ReconciliationMethod {
}
searchMap.put("medical_insurance_code", medical_insurance_code);
// 查询预交金支付方式payType=7的dicvalue常规对账需要排除
String prepayment_code = "";
HashMap<String, String> prepaymentSearchMap = new HashMap<>();
prepaymentSearchMap.put("parentCode", "PAY_TYPE");
prepaymentSearchMap.put("dicname", "预交金");
List<HashMap<Object, Object>> prepaymentPayTypeList = dicinfoService.selectDicinfoListByCondition(prepaymentSearchMap);
if (prepaymentPayTypeList != null && prepaymentPayTypeList.size() > 0) {
prepayment_code = StringDUtil.changeNullToEmpty(prepaymentPayTypeList.get(0).get("DICVALUE"));
}
searchMap.put("prepayment_code", prepayment_code);
//查询his和三方记录
List<HashMap<Object, Object>> hisbillsList = hisbillsHistoryService.findHisBillsByDate(searchMap);

View File

@@ -30,6 +30,9 @@
<if test="medical_insurance_code != null and medical_insurance_code != ''">
and PayType != #{medical_insurance_code}
</if>
<if test="prepayment_code != null and prepayment_code != ''">
and PayType != #{prepayment_code}
</if>
</select>
<select id="findHisDetailByParam" parameterType="HashMap" resultType="HashMap">
@@ -53,6 +56,12 @@
<if test="military_code != null and military_code != ''">
and PayType != #{military_code}
</if>
<if test="medical_insurance_code != null and medical_insurance_code != ''">
and PayType != #{medical_insurance_code}
</if>
<if test="prepayment_code != null and prepayment_code != ''">
and PayType != #{prepayment_code}
</if>
<if test="tranID!=null and tranID!=''">
and HisTransId=#{tranID}
</if>

View File

@@ -80,6 +80,9 @@
inner join bankbill_history b on a.PlatformTransId = b.C_YSDDH
where b.C_JYRQ &gt;= #{startTime}
and b.C_JYRQ &lt;= #{endTime}
<if test="prepayment_code != null and prepayment_code != ''">
and a.PayType != #{prepayment_code}
</if>
<if test="excludeMilitaryOperators != null and excludeMilitaryOperators.size() > 0">
and a.HisOperCode not in
<foreach collection="excludeMilitaryOperators" item="operator" open="(" separator="," close=")">
@@ -120,6 +123,9 @@
<if test="medical_insurance_code != null and medical_insurance_code != ''">
and payType!=#{medical_insurance_code}
</if>
<if test="prepayment_code != null and prepayment_code != ''">
and payType!=#{prepayment_code}
</if>
) a
inner join
(select * from bankbill_history where C_JYRQ = #{trade_date}) b
@@ -157,6 +163,9 @@
<if test="medical_insurance_code != null and medical_insurance_code != ''">
and payType!=#{medical_insurance_code}
</if>
<if test="prepayment_code != null and prepayment_code != ''">
and payType!=#{prepayment_code}
</if>
) a
left join
(select * from bankbill_history where C_JYRQ = #{trade_date}) b
@@ -195,6 +204,9 @@
<if test="medical_insurance_code != null and medical_insurance_code != ''">
and payType!=#{medical_insurance_code}
</if>
<if test="prepayment_code != null and prepayment_code != ''">
and payType!=#{prepayment_code}
</if>
) a
right join
(select * from bankbill_history where C_JYRQ = #{trade_date}) b