bugfix:对账对平

This commit is contained in:
Yuan
2025-12-10 19:07:51 +08:00
parent 66620d51ae
commit f084043a4b
6 changed files with 176 additions and 145 deletions

View File

@@ -73,7 +73,7 @@
and C_ZFFS = #{c_zffs} and C_ZFFS = #{c_zffs}
</if> </if>
<if test="likeFiled!=null and likeFiled!=''"> <if test="likeFiled!=null and likeFiled!=''">
and C_YSDDH like concat('%',concat(#{likeFiled},'%')) and C_SHDDH like concat('%',concat(#{likeFiled},'%'))
</if> </if>
and C_SHDDH in ( and C_SHDDH in (
select C_SHDDH select C_SHDDH
@@ -280,7 +280,7 @@
and C_ZFFS = #{c_zffs} and C_ZFFS = #{c_zffs}
</if> </if>
<if test="likeFiled!=null and likeFiled!=''"> <if test="likeFiled!=null and likeFiled!=''">
and C_YSDDH like concat('%',concat(#{likeFiled},'%')) and C_SHDDH like concat('%',concat(#{likeFiled},'%'))
</if> </if>
</where> </where>
</select> </select>

View File

@@ -41,6 +41,7 @@
from bankbill_history from bankbill_history
where C_JYRQ = #{trade_date} where C_JYRQ = #{trade_date}
and (is_inpatient is null or is_inpatient = '0') <!-- 排除住院订单(终端号10091548和10091549) --> and (is_inpatient is null or is_inpatient = '0') <!-- 排除住院订单(终端号10091548和10091549) -->
and (bill_table_name is null or bill_table_name != '微信医保账单') <!-- 排除微信医保账单 -->
</select> </select>
<insert id="saveOriginalData" parameterType="java.util.List"> <insert id="saveOriginalData" parameterType="java.util.List">
insert into bankbills_original ( insert into bankbills_original (

View File

@@ -14,7 +14,7 @@
<if test="endTime != null and endTime != ''"> <if test="endTime != null and endTime != ''">
AND C_JYRQ &lt;= #{endTime} AND C_JYRQ &lt;= #{endTime}
</if> </if>
AND bill_table_name = '微信支付账单' AND bill_table_name in ('微信支付账单','微信医保账单')
AND C_JYLX = '1' AND C_JYLX = '1'
</where> </where>
UNION ALL UNION ALL
@@ -37,7 +37,7 @@
<if test="endTime != null and endTime != ''"> <if test="endTime != null and endTime != ''">
AND C_JYRQ &lt;= #{endTime} AND C_JYRQ &lt;= #{endTime}
</if> </if>
AND bill_table_name = '微信支付账单' AND bill_table_name in ('微信支付账单','微信医保账单')
AND C_JYLX = '2' AND C_JYLX = '2'
</where> </where>
UNION ALL UNION ALL
@@ -52,7 +52,7 @@
<if test="endTime != null and endTime != ''"> <if test="endTime != null and endTime != ''">
AND C_JYRQ &lt;= #{endTime} AND C_JYRQ &lt;= #{endTime}
</if> </if>
AND bill_table_name = '微信支付账单' AND bill_table_name in ('微信支付账单','微信医保账单')
AND C_JYLX IN ('1','2') AND C_JYLX IN ('1','2')
</where> </where>
</select> </select>

View File

@@ -82,6 +82,7 @@
and b.C_JYRQ &lt;= #{endTime} and b.C_JYRQ &lt;= #{endTime}
and a.PayMethod != '2' -- 排除不参与对账的记录 and a.PayMethod != '2' -- 排除不参与对账的记录
and (b.is_inpatient is null or b.is_inpatient = '0') -- 排除住院订单 and (b.is_inpatient is null or b.is_inpatient = '0') -- 排除住院订单
and (b.bill_table_name is null or b.bill_table_name != '微信医保账单') -- 排除微信医保账单
<if test="prepayment_code != null and prepayment_code != ''"> <if test="prepayment_code != null and prepayment_code != ''">
and a.PayType != #{prepayment_code} and a.PayType != #{prepayment_code}
</if> </if>
@@ -139,7 +140,7 @@
</if> </if>
) a ) a
inner join inner join
(select * from bankbill_history where C_JYRQ = #{trade_date} and (is_inpatient is null or is_inpatient = '0')) b -- 排除住院订单 (select * from bankbill_history where C_JYRQ = #{trade_date} and (is_inpatient is null or is_inpatient = '0') and (bill_table_name is null or bill_table_name != '微信医保账单')) b -- 排除住院订单与微信医保账单
on a.PlatformTransId = b.C_SHDDH and a.TradingStatus = b.C_JYLX and ROUND(CAST(a.Amount AS DECIMAL(18,2)), 2) = ROUND(CAST(b.C_JYJE AS DECIMAL(18,2)), 2) on a.PlatformTransId = b.C_SHDDH and a.TradingStatus = b.C_JYLX and ROUND(CAST(a.Amount AS DECIMAL(18,2)), 2) = ROUND(CAST(b.C_JYJE AS DECIMAL(18,2)), 2)
</insert> </insert>
@@ -185,7 +186,7 @@
</if> </if>
) a ) a
left join left join
(select * from bankbill_history where C_JYRQ = #{trade_date} and (is_inpatient is null or is_inpatient = '0')) b -- 排除住院订单 (select * from bankbill_history where C_JYRQ = #{trade_date} and (is_inpatient is null or is_inpatient = '0') and (bill_table_name is null or bill_table_name != '微信医保账单')) b -- 排除住院订单与微信医保账单
on a.PlatformTransId = b.C_SHDDH and a.TradingStatus = b.C_JYLX and ROUND(CAST(a.Amount AS DECIMAL(18,2)), 2) = ROUND(CAST(b.C_JYJE AS DECIMAL(18,2)), 2) on a.PlatformTransId = b.C_SHDDH and a.TradingStatus = b.C_JYLX and ROUND(CAST(a.Amount AS DECIMAL(18,2)), 2) = ROUND(CAST(b.C_JYJE AS DECIMAL(18,2)), 2)
where b.C_SHDDH is null where b.C_SHDDH is null
</insert> </insert>
@@ -236,11 +237,13 @@
select * from bankbill_history select * from bankbill_history
where C_JYRQ = #{trade_date} where C_JYRQ = #{trade_date}
and (is_inpatient is null or is_inpatient = '0') and (is_inpatient is null or is_inpatient = '0')
and (bill_table_name is null or bill_table_name != '微信医保账单')
and C_SHDDH in ( and C_SHDDH in (
select C_SHDDH select C_SHDDH
from bankbill_history from bankbill_history
where C_JYRQ = #{trade_date} where C_JYRQ = #{trade_date}
and (is_inpatient is null or is_inpatient = '0') and (is_inpatient is null or is_inpatient = '0')
and (bill_table_name is null or bill_table_name != '微信医保账单')
group by C_SHDDH group by C_SHDDH
having ROUND(SUM(CAST(C_JYJE AS DECIMAL(18,2))), 2) != 0 having ROUND(SUM(CAST(C_JYJE AS DECIMAL(18,2))), 2) != 0
) )

View File

@@ -83,7 +83,7 @@
<div class="layui-inline"> <div class="layui-inline">
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" class="layui-input" style="width: 240px;" id="likeFiled" <input type="text" class="layui-input" style="width: 240px;" id="likeFiled"
placeholder="请输入平台交易号"> placeholder="请输入平台订单号">
</div> </div>
</div> </div>
</form> </form>

View File

@@ -26,46 +26,41 @@
} }
.content { .content {
width: 210rem; /* 放大整体画布,避免大额数字挤压 */
height: 297rem; width: 240rem;
height: 320rem;
margin: 0 auto; margin: 0 auto;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: flex-start;
} }
.table { .hz-table {
width: 90%; width: 95%;
height: 90%; border-collapse: collapse;
border-top: black solid 1px; table-layout: fixed;
border-left: black solid 1px; margin-top: 2rem;
display: grid;
grid-template-columns: 15% 15% 7.5% 20% 7.5% 20% 15%;
grid-template-rows: 8% repeat(11, 4%) 48%;
grid-template-areas:'a a a a a a a'
'. b b b c c .'
'. . . . . . .'
'd . . . e f g'
'd . . . e f g'
'd . . . e f g'
'd . . . e f g'
'. h . . . . .'
'. h . . . . .'
'. h . . . . .'
'. h . . . . .'
'. . . . . . .'
'. i i i i i i'
} }
.table div { .hz-table th,
border-right: 1px solid black; .hz-table td {
border-bottom: black solid 1px; border: 1px solid #000;
height: 100%; text-align: center;
width: 100%; padding: 0.8rem 0.5rem;
display: flex; word-break: break-word;
align-items: center; }
justify-content: center;
.hz-table .title-row th {
font-size: 6rem;
border: none;
padding-top: 1rem;
padding-bottom: 1rem;
}
.hz-table .sub-title-row th {
font-size: 4rem;
border: none;
padding-bottom: 1rem;
} }
</style> </style>
</head> </head>
@@ -95,75 +90,113 @@
</div> </div>
<div class="printDiv"> <div class="printDiv">
<div class="content" id="tableContent"> <div class="content" id="tableContent">
<div class="table" style="font-size: 5rem;"> <table class="hz-table" style="font-size: 5rem;">
<div style="grid-area: a;flex-direction:column;"> <thead>
<span style="align-items:center;display: flex;height: 60%;font-size: 6rem;" <tr class="title-row">
th:text="${table_name}"></span> <th colspan="7" th:text="${table_name}">武警宁夏总队医院对账汇总表</th>
<span class="rqsj" </tr>
style="align-items:center;font-size: 4rem;display: flex;height: 40%;align-self: end;">统计时间:</span> <tr class="sub-title-row">
</div> <th colspan="7" class="rqsj">统计时间:</th>
<div></div> </tr>
<div style="grid-area: b;">银联商务</div> <tr>
<div style="grid-area: c;">医院信息系统</div> <th rowspan="2" style="width:14%;">支付方式</th>
<div>差额</div> <th rowspan="2" style="width:14%;">支付方式</th>
<div style="grid-area: d;">扫码支付</div> <th colspan="2" style="width:30%;">银联商务</th>
<div></div> <th colspan="2" style="width:30%;">医院信息系统<br/>现金金额:<span id="his_cash_money">0.00</span></th>
<div>支付方式</div> <th rowspan="2" style="width:12%;">差额</th>
<div>笔数</div> </tr>
<div style="grid-area: e;" id="his_num_2"></div> <tr>
<div style="grid-area: f;" id="his_money_2"></div> <th>笔数</th>
<div style="grid-area: g;" id="diff_1"></div> <th>金额</th>
<div>金额</div> <th>笔数</th>
<div>笔数</div> <th>金额</th>
<div>金额</div> </tr>
<div></div> </thead>
<div>微信支付</div> <tbody>
<div id="third_num_1_1"></div> <tr>
<div id="third_money_1_1"></div> <td rowspan="4">扫码支付</td>
<div>刷卡支付</div> <td>微信支付</td>
<div id="third_num_1_2"></div> <td id="third_num_1_1"></td>
<div id="third_money_1_2"></div> <td id="third_money_1_1"></td>
<div style="grid-area: h;background:linear-gradient(123deg, transparent 49.5%, black 49.5%, black 50.5%, transparent 50.5%);"></div> <td rowspan="4" id="his_num_2"></td>
<div>支付宝支付</div> <td rowspan="4" id="his_money_2"></td>
<div id="third_num_1_3"></div> <td rowspan="4" id="diff_1"></td>
<div id="third_money_1_3"></div> </tr>
<div>其他支付</div> <tr>
<div id="third_num_1_4"></div> <td>刷卡支付</td>
<div id="third_money_1_4"></div> <td id="third_num_1_2"></td>
<div>支付宝支付</div> <td id="third_money_1_2"></td>
<div id="third_num_2"></div> </tr>
<div id="third_money_2"></div> <tr>
<div id="his_num_1"></div> <td>支付宝支付</td>
<div id="his_money_1"></div> <td id="third_num_1_3"></td>
<div id="diff_2"></div> <td id="third_money_1_3"></td>
<div>微信支付</div> </tr>
<div id="third_num_3"></div> <tr>
<div id="third_money_3"></div> <td>其他支付</td>
<div id="his_num_3"></div> <td id="third_num_1_4"></td>
<div id="his_money_3"></div> <td id="third_money_1_4"></td>
<div id="diff_3"></div> </tr>
<div>银行卡支付</div>
<div id="third_num_4"></div> <tr>
<div id="third_money_4"></div> <td colspan="2">支付宝支付</td>
<div id="his_num_4"></div> <td id="third_num_2"></td>
<div id="his_money_4"></div> <td id="third_money_2"></td>
<div id="diff_4"></div> <td id="his_num_1"></td>
<div>其他</div> <td id="his_money_1"></td>
<div id="third_num_5"></div> <td id="diff_2"></td>
<div id="third_money_5"></div> </tr>
<div id="his_num_5"></div>
<div id="his_money_5"></div> <tr>
<div id="diff_5"></div> <td colspan="2">微信支付</td>
<div>合计</div> <td id="third_num_3"></td>
<div></div> <td id="third_money_3"></td>
<div id="allThirdNum"></div> <td id="his_num_3"></td>
<div id="allThirdMoney"></div> <td id="his_money_3"></td>
<div id="allHisNum"></div> <td id="diff_3"></td>
<div id="allHisMoney"></div> </tr>
<div id="allDiff"></div>
<div>单边账原因</div> <tr>
<div style="grid-area: i;"></div> <td colspan="2">银行卡支付</td>
</div> <td id="third_num_4"></td>
<td id="third_money_4"></td>
<td id="his_num_4"></td>
<td id="his_money_4"></td>
<td id="diff_4"></td>
</tr>
<tr>
<td colspan="2">其他</td>
<td id="third_num_5"></td>
<td id="third_money_5"></td>
<td id="his_num_5"></td>
<td id="his_money_5"></td>
<td id="diff_5"></td>
</tr>
<tr>
<td colspan="2">现金支付</td>
<td id="third_num_cash"></td>
<td id="third_money_cash"></td>
<td id="his_cash_num_row"></td>
<td id="his_cash_money_row"></td>
<td id="diff_cash"></td>
</tr>
<tr>
<td colspan="2">合计</td>
<td id="allThirdNum"></td>
<td id="allThirdMoney"></td>
<td id="allHisNum"></td>
<td id="allHisMoney"></td>
<td id="allDiff"></td>
</tr>
<tr>
<td colspan="7" style="text-align:left;">单边账原因:</td>
</tr>
</tbody>
</table>
</div> </div>
</div> </div>
</div> </div>
@@ -235,45 +268,28 @@
"print-color-adjust:exact;" + "print-color-adjust:exact;" +
" }\n" + " }\n" +
" .content{\n" + " .content{\n" +
" width: 649px;\n" + " width: 740px;\n" +
" height: 978px;\n" + " height: 1040px;\n" +
" margin:auto;\n" + " margin:auto;\n" +
" display: flex;\n" + " display: flex;\n" +
" justify-content: center;\n" + " justify-content: center;\n" +
" align-items:center;\n" + " align-items:flex-start;\n" +
" text-align:center;\n" + " text-align:center;\n" +
" }\n" + " }\n" +
" .table{\n" + " .hz-table{\n" +
" width: 90%;\n" + " width: 95%;\n" +
" height: 90%;\n" + " border-collapse: collapse;\n" +
" border-top: black solid 1px;\n" + " table-layout: fixed;\n" +
" border-left: black solid 1px;\n" + " margin-top: 12px;\n" +
" display: grid;\n" +
" grid-template-columns: 15% 15% 7.5% 20% 7.5% 20% 15%;\n" +
" grid-template-rows: 8% repeat(11,4%) 48%;\n" +
" grid-template-areas:'a a a a a a a'\n" +
" '. b b b c c .'\n" +
" '. . . . . . .'\n" +
" 'd . . . e f g'\n" +
" 'd . . . e f g'\n" +
" 'd . . . e f g'\n" +
" 'd . . . e f g'\n" +
" '. h . . . . .'\n" +
" '. h . . . . .'\n" +
" '. h . . . . .'\n" +
" '. h . . . . .'\n" +
" '. . . . . . .'\n" +
" '. i i i i i i'\n" +
"\n" +
" }\n" + " }\n" +
" .table div{\n" + " .hz-table th, .hz-table td{\n" +
" border-right: 1px solid black;\n" + " border:1px solid #000;\n" +
" border-bottom: black solid 1px;\n" + " text-align:center;\n" +
" height: 100%;\n" + " padding:8px 4px;\n" +
" width: 100%;\n" + " word-break: break-word;\n" +
" display: flex;\n" + " }\n" +
" align-items:center;\n" + " .title-row th{font-size:36px;border:none;padding-top:10px;padding-bottom:10px;}\n" +
" justify-content:center;\n" + " .sub-title-row th{font-size:24px;border:none;padding-bottom:10px;}\n" +
" }</style>"; " }</style>";
@@ -341,10 +357,17 @@
//his需要统计 1银行卡支付 2扫码支付 3掌医支付 4现金支付 5其他 //his需要统计 1银行卡支付 2扫码支付 3掌医支付 4现金支付 5其他
//三方需要统计 1_1微信支付 1_2支付宝支付 1_3云闪付支付 1_4其他支付 2银行卡支付 3掌医支付 4现金支付 5其他 //三方需要统计 1_1微信支付 1_2支付宝支付 1_3云闪付支付 1_4其他支付 2银行卡支付 3掌医支付 4现金支付 5其他
let hisCashMoney = Number(hisMoneyData["5"] || 0);
let hisCashNum = Number(hisNumData["5"] || 0);
for (let key in hisMoneyData) { for (let key in hisMoneyData) {
allHisMoney = allHisMoney + Number(hisMoneyData[key]); if (key !== "5") {
allHisMoney = allHisMoney + Number(hisMoneyData[key]);
}
$("#his_money_" + key).html(formatAmount(hisMoneyData[key])); $("#his_money_" + key).html(formatAmount(hisMoneyData[key]));
} }
$("#his_cash_money").html(formatAmount(hisCashMoney.toFixed(2)));
$("#his_cash_num_row").html(hisCashNum);
$("#his_cash_money_row").html(formatAmount(hisCashMoney.toFixed(2)));
for (let key in thirdMoneyData) { for (let key in thirdMoneyData) {
allThirdMoney = allThirdMoney + Number(thirdMoneyData[key]); allThirdMoney = allThirdMoney + Number(thirdMoneyData[key]);
@@ -352,7 +375,9 @@
} }
for (let key in hisNumData) { for (let key in hisNumData) {
allHisNum = allHisNum + Number(hisNumData[key]); if (key !== "5") {
allHisNum = allHisNum + Number(hisNumData[key]);
}
$("#his_num_" + key).html(hisNumData[key]); $("#his_num_" + key).html(hisNumData[key]);
} }
@@ -360,6 +385,8 @@
allThirdNum = allThirdNum + Number(thirdNumData[key]); allThirdNum = allThirdNum + Number(thirdNumData[key]);
$("#third_num_" + key).html(thirdNumData[key]); $("#third_num_" + key).html(thirdNumData[key]);
} }
$("#third_num_cash").html('0');
$("#third_money_cash").html(formatAmount('0.00'));
$("#diff_1").html(""); $("#diff_1").html("");
$("#diff_2").html(""); $("#diff_2").html("");