From 91734f9fd2735e3cd7ff410e6e44dfadf199b7bb Mon Sep 17 00:00:00 2001 From: yuxueliang0813 <407010292@qq.com> Date: Wed, 2 Jul 2025 11:32:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=98=E6=AC=BE=E5=8D=95=EF=BC=8C=E5=B7=B2?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E2=80=9C=E7=BB=93=E6=9E=84=E6=80=A7=E6=B8=85?= =?UTF-8?q?=E8=B4=A6=E5=AE=A2=E6=88=B7=E6=98=A0=E5=B0=84=E8=A1=A8=E2=80=9D?= =?UTF-8?q?=20and=20=E4=B8=9A=E5=8A=A1=E5=B0=8F=E7=B1=BB=3D=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E9=87=91=E8=9D=B6=E6=B8=85=E8=B4=A6=E7=9A=84=EF=BC=8C?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E9=9C=80=E8=A6=81=E4=B8=8B=E6=8E=A8=E6=B8=85?= =?UTF-8?q?=E8=B4=A6=E5=8D=95=E7=9A=84=E6=89=8D=E9=9C=80=E8=A6=81=E5=8B=BE?= =?UTF-8?q?=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/operate/RecBillSaveOperation.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecBillSaveOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecBillSaveOperation.java index 72d63b6..58e7b40 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecBillSaveOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecBillSaveOperation.java @@ -187,10 +187,30 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme } //根据业务小类的清账方式,设置分录和表头的清账方式,以及分录下推清账单标记 if ("qbjdqz".equals(shjhEBizsmall.getString("shjh_qzfs"))) { - //【业务小类】清账方式字段=全部金蝶清账 - entryss.set("shjh_needpushbill", true);//需要下推清账单 - entryss.set("shjh_closingstatus", "B");//待清账 - bill.set("shjh_qzzt", "B");//待清账 + //【业务小类】清账方式字段=全部金蝶清账,再判断是否为结构性清账客户 + //判断客户是否拆分,客户拆分为否时,以表头付款人来判断,否则以分录上的客户来判断 + boolean customerSplit = bill.getBoolean("shjh_customersplit"); + if(customerSplit){ + //以分录上客户来判断的话,先设置成不下推,由人为操作单子后系统判断 + entryss.set("shjh_needpushbill", false);//不需要下推清账单 + entryss.set("shjh_closingstatus", "A");//无需金蝶清账 + bill.set("shjh_qzzt", "A");//无需金蝶清账 + }else{ + //根据收款单付款人id判断,此时的付款类型是客户 + QFilter mapnumber = new QFilter("shjh_customer.id", QCP.equals, bill.getLong("payer")); + DynamicObject mappingObj = BusinessDataServiceHelper.loadSingle("shjh_jgqzcust", mapnumber.toArray()); + if(mappingObj != null){ + //结构性清账客户映射表中有值 + entryss.set("shjh_needpushbill", true);//需要下推清账单 + entryss.set("shjh_closingstatus", "B");//待清账 + bill.set("shjh_qzzt", "B");//待清账 + }else{ + entryss.set("shjh_needpushbill", false);//不需要下推清账单 + entryss.set("shjh_closingstatus", "A");//无需金蝶清账 + bill.set("shjh_qzzt", "A");//无需金蝶清账 + } + } + }else{ entryss.set("shjh_needpushbill", false);//不需要下推清账单 entryss.set("shjh_closingstatus", "A");//无需金蝶清账