From eb3237e9ed800b260ff3fa97cf02167135eee3c0 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 17 Sep 2025 17:08:53 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=AF=B9=E5=85=AC=E6=8A=A5=E9=94=80?= =?UTF-8?q?=E5=8D=95=E4=BB=98=E6=AC=BE=E4=BA=BA=E7=B1=BB=E5=9E=8B=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcdev/zcdev/fs/plugin/form/CostcompanyDefaultPlugin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/CostcompanyDefaultPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/CostcompanyDefaultPlugin.java index fc9d454..68682eb 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/CostcompanyDefaultPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/CostcompanyDefaultPlugin.java @@ -42,7 +42,7 @@ public class CostcompanyDefaultPlugin extends AbstractBillPlugIn implements Plu String billFormId = ((BillView) this.getView()).getFormId(); //如果是新增时 BillShowParameter bsp=(BillShowParameter)this.getView().getFormShowParameter(); - if(bsp.getStatus()== OperationStatus.ADDNEW ){ + //if(bsp.getStatus()== OperationStatus.ADDNEW ){ if("er_dailyreimbursebill".equals(billFormId)) { //隐藏费用报销单收款信息,收款人类型为供应商和客户的选项 Object company = this.getModel().getValue("costcompany");//核算组织 @@ -74,7 +74,7 @@ public class CostcompanyDefaultPlugin extends AbstractBillPlugIn implements Plu } } } - } + // } } @Override From c7ea54355dcbc34499bd6a44618052b0c4bb2d05 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 17 Sep 2025 17:09:17 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java index 656bac0..57229a7 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java @@ -186,7 +186,7 @@ public class MaintenanceAckBillPlugin extends AbstractBillPlugIn implements Plug DynamicObject org = (DynamicObject) this.getModel().getValue("zcgj_accountorg"); //List invoiceVOList = InvoiceDataHandleHelper.parseXhInvoiceCloudReturnData(returnData); List invoiceVOList = CustomInvoiceDataHandleHelper.parseXhInvoiceCloudReturnData(returnData); - Map> invoiceMap = InvoiceDataHandleHelper.processInvoiceVO(invoiceVOList, RequestContext.get().getCurrUserId(), + Map> invoiceMap = CustomInvoiceDataHandleHelper.processInvoiceVO(invoiceVOList, RequestContext.get().getCurrUserId(), org.getLong("id"), new Date(), "ec_in_invoice", (DynamicObject) this.getModel().getValue("zcgj_currency"), true); ImportInvoiceUtils invoiceUtils = new ImportInvoiceUtils(this.getView(), this.getPageCache()); this.addInvoiceToEntry(invoiceUtils, invoiceMap); From 67778668f7a24d523f5b052f5355c44c2124205d Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 17 Sep 2025 17:09:35 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=AF=B9=E5=85=AC=E6=8A=A5=E9=94=80?= =?UTF-8?q?=E5=8D=95=E5=92=8C=E6=97=A0=E5=90=88=E5=90=8C=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=8D=95=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/PublicBillRecAccountCkOp.java | 40 +++++++++++++++++-- .../operate/PublicReimburPayerSubOp.java | 6 ++- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/PublicBillRecAccountCkOp.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/PublicBillRecAccountCkOp.java index 73d69e2..ed2552e 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/PublicBillRecAccountCkOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/PublicBillRecAccountCkOp.java @@ -24,12 +24,16 @@ public class PublicBillRecAccountCkOp extends AbstractOperationServicePlugIn { @Override public void onPreparePropertys(PreparePropertysEventArgs e) { super.onPreparePropertys(e); + e.getFieldKeys().add("zcgj_isec");//工程单据 ,如果是工程单据则需要判断付款方式为DG才需要判断账户一致性 e.getFieldKeys().add("costcompany"); e.getFieldKeys().add("accountentry"); - + e.getFieldKeys().add("billpayerid");//往来单位 + e.getFieldKeys().add("zcgj_ecpaytype");//付款方式 e.getFieldKeys().add("zcgj_prepay");//冲销预付 e.getFieldKeys().add("writeoffmoney");//冲销预付 + + } @Override @@ -57,6 +61,13 @@ public class PublicBillRecAccountCkOp extends AbstractOperationServicePlugIn { for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { DynamicObject dataEntity = extendedDataEntity.getDataEntity(); + DynamicObject billPayerId = dataEntity.getDynamicObject("billpayerid");//往来单位 + String ecpaytype = dataEntity.getString("zcgj_ecpaytype");//付款方式 + boolean isec = dataEntity.getBoolean("zcgj_isec");//付款方式 + boolean ckType = true; + if(isec){ + ckType = "DG".equals(ecpaytype); //如果是无合同付款中的付款方式为 对公,则需要校验 + } long aLong = dataEntity.getLong("id"); //获取报销人 DynamicObject applier = dataEntity.getDynamicObject("applier"); @@ -84,7 +95,12 @@ public class PublicBillRecAccountCkOp extends AbstractOperationServicePlugIn { continue; } String name = supplier.getString("name"); - isOk = payeraccountname.equals(name); + if(ckType){ + String billPayerIdName = billPayerId.getString("name"); + isOk = payeraccountname.equals(name) && payeraccountname.equals(billPayerIdName); + }else{ + isOk = payeraccountname.equals(name); + } }else if("bd_customer".equals(payertype)){ //客户 DynamicObject customer = dynamicObject.getDynamicObject("customer"); if(customer ==null){ @@ -92,10 +108,28 @@ public class PublicBillRecAccountCkOp extends AbstractOperationServicePlugIn { continue; } String name = customer.getString("name"); + if(ckType){ + String billPayerIdName = billPayerId.getString("name"); + isOk = payeraccountname.equals(name) && payeraccountname.equals(billPayerIdName); + }else{ + isOk = payeraccountname.equals(name); + } + }else if("er_payeer".equals(payertype)){ //职员 + DynamicObject payer = dynamicObject.getDynamicObject("payer"); + if(payer ==null){ + this.addFatalErrorMessage(extendedDataEntity, String.format("收款信息第%d行,收款人不能为空!",i)); + continue; + } + String name = payer.getString("name"); isOk = payeraccountname.equals(name); } + if(!isOk && accountTxt.isEmpty()){ - this.addFatalErrorMessage(extendedDataEntity, String.format("收款信息第%d行,收款人名称和账户名称不一致!请在当前行填写账户不一致说明!",i)); + if(ckType){//带往来单位 + this.addFatalErrorMessage(extendedDataEntity, String.format("收款信息第%d行,往来单位与收款人名称和账户名称不一致!请在当前行填写账户不一致说明!",i)); + }else{ + this.addFatalErrorMessage(extendedDataEntity, String.format("收款信息第%d行,收款人名称和账户名称不一致!请在当前行填写账户不一致说明!",i)); + } } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/PublicReimburPayerSubOp.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/PublicReimburPayerSubOp.java index d38b78d..4ca1a79 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/PublicReimburPayerSubOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/PublicReimburPayerSubOp.java @@ -22,6 +22,9 @@ public class PublicReimburPayerSubOp extends AbstractOperationServicePlugIn { e.getFieldKeys().add("zcgj_invoiceremark"); e.getFieldKeys().add("makeoutcompname"); e.getFieldKeys().add("costcompany"); + //无合同付款相关 + e.getFieldKeys().add("zcgj_isec");//工程单据 + //e.getFieldKeys().add("zcgj_ecpaytype");//付款方式 } @Override @@ -37,7 +40,8 @@ public class PublicReimburPayerSubOp extends AbstractOperationServicePlugIn { for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { DynamicObject dataEntity = extendedDataEntity.getDataEntity(); DynamicObject costCompany = dataEntity.getDynamicObject("costcompany");//费用承担公司 - if (costCompany != null) { + boolean isec = dataEntity.getBoolean("zcgj_isec"); + if (costCompany != null && !isec) { Long companyId = costCompany.getLong("id"); if (OrgCheckUtils.isKS(companyId)) { //仅针对矿山下组织下的逻辑