From a1041aa735e52079c51d6ccb59bc8660a0425031 Mon Sep 17 00:00:00 2001 From: yuxueliang0813 <407010292@qq.com> Date: Wed, 19 Mar 2025 15:21:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8D=E5=86=99=E6=94=B6=E6=AC=BE=E5=8D=95?= =?UTF-8?q?=E5=88=86=E5=BD=95=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/ClearAccountBillOperation.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/ClearAccountBillOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/ClearAccountBillOperation.java index 4a06bbb..2a91477 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/ClearAccountBillOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/ClearAccountBillOperation.java @@ -40,6 +40,8 @@ public class ClearAccountBillOperation extends AbstractOperationServicePlugIn im private static final String updateDetailStatusByID = "update tk_shjh_clear_acctdetail set fbillstatus='D' where fid=?;"; private static final String updateDetailClearStatus = "update tk_shjh_clear_acctdetail set fbillstatus='D',fk_shjh_clearstatus='C' where fk_shjh_clearbillid=?;"; + private static final String queryRealtion = "select fsid from tk_shjh_clear_account_tc where ftbillid=?;";//查看清账单与收款单的关联关系表 + private static final String entityName = "shjh_clear_acctdetail";//清账明细单 private static final String userName = "bos_user";//用户 private static final String pzbName = "shjh_jgqzcust";//结构性清账客户映射表 @@ -135,14 +137,20 @@ public class ClearAccountBillOperation extends AbstractOperationServicePlugIn im } private boolean reWriteCeceBill(DynamicObject prinfo, String closingstatus){ - //反写收款单 - String receBillEntrys = prinfo.getString(""); - if(!JhzjUtils.isEmpty(receBillEntrys)){ - String[] entryids = receBillEntrys.split(","); + //反写收款单分录行 + //根据清账单id查找上游收款单分录行 + List entryids = DB.query(DBRoute.of("fi"),queryRealtion,new Object[]{prinfo.getPkValue()},(rs) -> { + List entryidList = new ArrayList<>(); + while(rs.next()) { + entryidList.add(rs.getLong(1)); + } + return entryidList; + }); + if(!entryids.isEmpty()){ StringBuffer sqlsb = new StringBuffer(); - sqlsb.append("update T_CAS_ReceivingBillEntry set fk_shjh_closingstatus=? where fid in ("); - for (int i = 0; i < entryids.length; i++) { - sqlsb.append(entryids[i]); + sqlsb.append("update T_CAS_ReceivingBillEntry set fk_shjh_closingstatus=? where FEntryID in ("); + for (int i = 0; i < entryids.size(); i++) { + sqlsb.append(entryids.get(i)); sqlsb.append(","); } sqlsb.setLength(sqlsb.length()-1);