diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractFinaceConfirmeInvoicePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractFinaceConfirmeInvoicePlugin.java index e8a7076..fa109fe 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractFinaceConfirmeInvoicePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractFinaceConfirmeInvoicePlugin.java @@ -39,16 +39,17 @@ import java.util.stream.Collectors; */ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn implements Plugin { private static final Log log = LogFactory.getLog(ContractFinaceConfirmeInvoicePlugin.class); + @Override public void beforeDoOperation(BeforeDoOperationEventArgs args) { super.beforeDoOperation(args); - FormOperate operate = (FormOperate)args.getSource(); + FormOperate operate = (FormOperate) args.getSource(); String key = operate.getOperateKey(); if (StringUtils.equals(key, "newsubentry")) { //选择发票 this.beforeNewSubEntry(args); - } else if (StringUtils.equals(key, "selectinvoice")) { //导入发票 + } else if (StringUtils.equals(key, "selectinvoice")) { //导入发票 this.showInvoiceImport(args); - }else if (key.equals("deletesubentry")) { //删除发票 + } else if (key.equals("deletesubentry")) { //删除发票 this.beforeDeleteSubEntry(args); } } @@ -60,7 +61,7 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl if (actionId.toLowerCase().startsWith("zcgj_entryentity") && returnData != null) { //进项发票信息 this.invoiceCloseCallBack(event); - } else if (actionId.toLowerCase().startsWith("selectinvoice") && returnData != null) { + } else if (actionId.toLowerCase().startsWith("selectinvoice") && returnData != null) { //导入发票 this.importInvoiceCallBack(returnData); } @@ -79,8 +80,8 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl } private void showInvoice(String entryType) { - long currencyId = ((DynamicObject)this.getModel().getValue("stdcurrency")).getLong("id");//本位币别 - long orgId = ((DynamicObject)this.getModel().getValue("org")).getLong("id");//所属组织 + long currencyId = ((DynamicObject) this.getModel().getValue("stdcurrency")).getLong("id");//本位币别 + long orgId = ((DynamicObject) this.getModel().getValue("org")).getLong("id");//所属组织 QFilter filter = new QFilter("org", "=", orgId); filter.and(new QFilter("isclaimed", "=", false)); filter.and(new QFilter("billstatus", "=", "C")); @@ -89,7 +90,7 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl filter.and(new QFilter("unapplyamount", ">", BigDecimal.ZERO)); QFilter filter1 = new QFilter("isclaimed", "=", true); filter1.and(new QFilter("billstatus", "=", "C")); - DynamicObject contract = (DynamicObject)this.getModel().getValue("contract"); + DynamicObject contract = (DynamicObject) this.getModel().getValue("contract"); if (contract != null) { long contractId = contract.getLong("id"); filter1.and(new QFilter("contract", "=", contractId)); @@ -98,31 +99,31 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl if (!contInvEntryCol.isEmpty()) { List selectedInvIds = new ArrayList(8); - for(DynamicObject contInvEntryObj : contInvEntryCol) { + for (DynamicObject contInvEntryObj : contInvEntryCol) { DynamicObject invoice = contInvEntryObj.getDynamicObject("zcgj_invoice"); - if(invoice!=null){ + if (invoice != null) { selectedInvIds.add(invoice.getLong("id")); } } filter1.and(new QFilter("id", "not in", selectedInvIds)); } - - ListShowParameter param = ShowFormHelper.createShowListForm("ec_in_invoice_f7", true); - param.getListFilterParameter().setFilter(filter.or(filter1)); - param.setMultiSelect(true); - param.setCloseCallBack(new CloseCallBack(this, entryType)); - param.getOpenStyle().setShowType(ShowType.Modal); - this.getView().showForm(param); } + + ListShowParameter param = ShowFormHelper.createShowListForm("ec_in_invoice_f7", true); + param.getListFilterParameter().setFilter(filter.or(filter1)); + param.setMultiSelect(true); + param.setCloseCallBack(new CloseCallBack(this, entryType)); + param.getOpenStyle().setShowType(ShowType.Modal); + this.getView().showForm(param); } protected void invoiceCloseCallBack(ClosedCallBackEvent event) { - ListSelectedRowCollection rows = (ListSelectedRowCollection)event.getReturnData(); + ListSelectedRowCollection rows = (ListSelectedRowCollection) event.getReturnData(); DynamicObject[] invArr = new DynamicObject[rows.size()]; int index = 0; - DynamicObject upContract = (DynamicObject)this.getModel().getValue("contract");// 合同名称 - for(ListSelectedRow row : rows) { + DynamicObject upContract = (DynamicObject) this.getModel().getValue("contract");// 合同名称 + for (ListSelectedRow row : rows) { Object invoicePk = row.getPrimaryKeyValue().toString(); int rowIndex = this.getModel().createNewEntryRow("zcgj_entryentity"); this.getModel().setValue("zcgj_invoice", invoicePk.toString(), rowIndex); @@ -137,7 +138,7 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl invArr[index++] = invoice; invoice.set("isclaimed", true); invoice.set("contract", upContract); - invoice.set("project", (DynamicObject)this.getModel().getValue("project")); + invoice.set("project", (DynamicObject) this.getModel().getValue("project")); invoice.set("connecttype", "contract"); } SaveServiceHelper.save(invArr); @@ -148,8 +149,8 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl int rowCount = this.getModel().getEntryRowCount(entryId); BigDecimal totalAmount = BigDecimal.ZERO; - for(int i = 0; i < rowCount; ++i) { - BigDecimal amount = (BigDecimal)this.getModel().getValue(columnId, i); + for (int i = 0; i < rowCount; ++i) { + BigDecimal amount = (BigDecimal) this.getModel().getValue(columnId, i); amount = amount == null ? BigDecimal.ZERO : amount; totalAmount = totalAmount.add(amount); } @@ -170,7 +171,7 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl if (!ImportInvoiceUtils.isXhInvoiceCloud()) { args.setCancel(true); ImportInvoiceUtils.showImportView(this); - }else{ + } else { args.setCancel(true); DynamicObject org = (DynamicObject) this.getModel().getValue("org"); InvoiceCollectHelper.showSelectInvoice(this, org); @@ -183,11 +184,11 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl } protected void importInvoiceCallBack(Object returnData) { - DynamicObject org = (DynamicObject)this.getModel().getValue("org"); + DynamicObject org = (DynamicObject) this.getModel().getValue("org"); //List invoiceVOList = InvoiceDataHandleHelper.parseXhInvoiceCloudReturnData(returnData); List invoiceVOList = CustomInvoiceDataHandleHelper.parseXhInvoiceCloudReturnData(returnData); Map> invoiceMap = InvoiceDataHandleHelper.processInvoiceVO(invoiceVOList, RequestContext.get().getCurrUserId(), - org.getLong("id"), new Date(), "ec_in_invoice", (DynamicObject)this.getModel().getValue("currency"), true); + org.getLong("id"), new Date(), "ec_in_invoice", (DynamicObject) this.getModel().getValue("currency"), true); ImportInvoiceUtils invoiceUtils = new ImportInvoiceUtils(this.getView(), this.getPageCache()); this.addInvoiceToEntry(invoiceUtils, invoiceMap); } @@ -196,11 +197,11 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl if (invoiceMap.isEmpty()) { this.getView().showTipNotification(ResManager.loadKDString("导入发票为空。", "PaymentApplyEditUI_19", "ec-contract-formplugin", new Object[0])); } else { - long orgId = (Long)((DynamicObject)this.getModel().getValue("org")).getPkValue(); - Set newInvoices = (Set)invoiceMap.get(Boolean.TRUE); - Set existInvoices = (Set)invoiceMap.get(Boolean.FALSE); + long orgId = (Long) ((DynamicObject) this.getModel().getValue("org")).getPkValue(); + Set newInvoices = (Set) invoiceMap.get(Boolean.TRUE); + Set existInvoices = (Set) invoiceMap.get(Boolean.FALSE); if (newInvoices != null && !newInvoices.isEmpty()) { - for(DynamicObject newInvoice : newInvoices) { + for (DynamicObject newInvoice : newInvoices) { DynamicObject buyerOrg = newInvoice.getDynamicObject("buyer"); if (buyerOrg != null && buyerOrg.getLong("id") != orgId) { this.getView().showErrorNotification(ResManager.loadKDString("导入失败:当前发票购买方不为当前财务记账组织,请确认信息。", "PaymentApplyEditUI_20", "ec-contract-formplugin", new Object[0])); @@ -211,7 +212,7 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl this.saveInvoiceData(invoiceUtils, newInvoices, existInvoices); } else if (existInvoices != null) { DynamicObjectCollection contInvEntryCol = this.getModel().getEntryEntity("zcgj_entryentity"); - Map entryMap = (Map)contInvEntryCol.stream().collect(Collectors.toMap(this::getInvoicePK, this::getInvoicePK)); + Map entryMap = (Map) contInvEntryCol.stream().collect(Collectors.toMap(this::getInvoicePK, this::getInvoicePK)); this.initSubEntryEntity(existInvoices, entryMap); } @@ -224,21 +225,21 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl newInvoices.addAll(existInvoices); } - this.initSubEntryEntity(newInvoices, (Map)null); + this.initSubEntryEntity(newInvoices, (Map) null); } protected void initSubEntryEntity(Set invoices, Map entryMap) { if (invoices != null) { List invArr = new ArrayList(invoices.size()); - for(DynamicObject invoice : invoices) { + for (DynamicObject invoice : invoices) { if (entryMap != null && entryMap.get(invoice.getPkValue()) != null) { this.getView().showTipNotification(String.format(ResManager.loadKDString("发票号码%s,已存在分录行", "PaymentApplyEditUI_22", "ec-contract-formplugin", new Object[0]), invoice.getString("invoiceno"))); } else { BigDecimal unApplyAmount = invoice.getBigDecimal("unapplyamount"); - if (unApplyAmount != null && unApplyAmount.doubleValue() <= (double)0.0F) { + if (unApplyAmount != null && unApplyAmount.doubleValue() <= (double) 0.0F) { this.getView().showTipNotification(String.format(ResManager.loadKDString("发票号码%s,金额已经被关联完毕,不可重复使用", "PaymentApplyEditUI_23", "ec-contract-formplugin", new Object[0]), invoice.getString("invoiceno"))); } else { - DynamicObject upContract = (DynamicObject)this.getModel().getValue("contract"); + DynamicObject upContract = (DynamicObject) this.getModel().getValue("contract"); int rowIndex = this.getModel().createNewEntryRow("zcgj_entryentity"); this.getModel().setValue("zcgj_invoice", invoice.getPkValue(), rowIndex); this.getModel().setValue("zcgj_invoicecurrency", invoice.getDynamicObject("currency") == null ? Long.valueOf("0") : invoice.getDynamicObject("currency").getPkValue(), rowIndex); @@ -250,7 +251,7 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl this.getModel().setValue("zcgj_applyinvoftaxamt", invoice.getBigDecimal("unapplyamount"), rowIndex); invoice.set("isclaimed", true); invoice.set("contract", upContract); - invoice.set("project", (DynamicObject)this.getModel().getValue("project")); + invoice.set("project", (DynamicObject) this.getModel().getValue("project")); invoice.set("connecttype", "contract"); invArr.add(invoice); } @@ -258,7 +259,7 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl } if (invArr.size() > 0) { - SaveServiceHelper.save((DynamicObject[])invArr.toArray(new DynamicObject[invoices.size()])); + SaveServiceHelper.save((DynamicObject[]) invArr.toArray(new DynamicObject[invoices.size()])); } this.getView().invokeOperation("invoicesave"); } @@ -271,7 +272,7 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl //删除发票 开始 protected void beforeDeleteSubEntry(BeforeDoOperationEventArgs args) { - EntryGrid subGrid = (EntryGrid)this.getControl("zcgj_entryentity"); + EntryGrid subGrid = (EntryGrid) this.getControl("zcgj_entryentity"); int[] selRows = subGrid.getEntryState().getSelectedRows(); if (selRows.length == 0) { this.getView().showMessage(ResManager.loadKDString("请选择发票。", "PaymentApplyEditUI_3", "ec-contract-formplugin", new Object[0])); @@ -281,12 +282,12 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl Set updateInvoicePks = new HashSet(selRows.length); DynamicObjectCollection subEntryEntityCol = this.getModel().getEntryEntity("zcgj_entryentity"); - for(int i = selRows.length - 1; i >= 0; --i) { + for (int i = selRows.length - 1; i >= 0; --i) { int rowIndex = selRows[i]; - DynamicObject invoice = (DynamicObject)this.getModel().getValue("zcgj_invoice", rowIndex); + DynamicObject invoice = (DynamicObject) this.getModel().getValue("zcgj_invoice", rowIndex); if (invoice != null) { updateInvoicePks.add(invoice.getPkValue()); - delPks[i] = ((DynamicObject)subEntryEntityCol.get(selRows[i])).getPkValue(); + delPks[i] = ((DynamicObject) subEntryEntityCol.get(selRows[i])).getPkValue(); } this.getModel().deleteEntryRow("zcgj_entryentity", rowIndex); } @@ -299,7 +300,7 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl filter.and("id", "!=", this.getModel().getDataEntity().getPkValue()); DynamicObjectCollection invoiceApplyEntries = QueryServiceHelper.query("ecma_materialinbill", "zcgj_entryentity.zcgj_invoice", new QFilter[]{filter}); if (invoiceApplyEntries != null && !invoiceApplyEntries.isEmpty()) { - for(DynamicObject subEntry : invoiceApplyEntries) { + for (DynamicObject subEntry : invoiceApplyEntries) { updateInvoicePks.remove(subEntry.get("zcgj_entryentity.zcgj_invoice")); } } @@ -308,11 +309,11 @@ public class ContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn impl DynamicObject[] invoices = BusinessDataServiceHelper.load("ec_in_invoice", "isinvoiceclaim,isclaimed,contract,project,connecttype", new QFilter[]{new QFilter("id", "in", updateInvoicePks)}); - for(DynamicObject invoice : invoices) { + for (DynamicObject invoice : invoices) { //if (!invoice.getBoolean("isinvoiceclaim")) { invoice.set("isclaimed", false); - invoice.set("contract", (Object)null); - invoice.set("project", (Object)null); + invoice.set("contract", (Object) null); + invoice.set("project", (Object) null); invoice.set("connecttype", "null"); //} }