入库单发票导入优化
This commit is contained in:
parent
8fc5d49a18
commit
15f1caf561
|
@ -44,16 +44,17 @@ import java.util.stream.Collectors;
|
|||
*/
|
||||
public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn implements Plugin {
|
||||
private static final Log log = LogFactory.getLog(MaterialInbFinaceConfirmeInvoicePlugin.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);
|
||||
}
|
||||
}
|
||||
|
@ -65,7 +66,7 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
//returnData = "{\"invoiceData\":[{\"xbrlName\":\"\",\"fileName\":\"\",\"specialTypeMark\":\"\",\"downloadUrl\":\"/dev/2170355234897924096/202505/5b96f486f0de44d4a437a482e830cf95/扬尚发票103417.6.pdf\",\"invoiceAmount\":\"91520\",\"needCheck\":\"1\",\"personFlag\":false,\"type\":\"0\",\"authenticateFlag\":1,\"isElectricInvoice\":\"1\",\"payee\":\"\",\"taxOfdUrl\":\"\",\"salerTaxNo\":\"91320117MADRMAMU8L\",\"invoiceType\":\"27\",\"orgNumber\":\"10006834\",\"invoiceNo\":\"25322000000224247311\",\"salerType\":\"\",\"area\":\"\",\"orgName\":\"南京矿山江苏溧水分公司\",\"buyerTaxNo\":\"913201176867400458\",\"resource\":\"发票助手\",\"selectTime\":\"\",\"originalState\":\"0\",\"companySeal\":\"0\",\"originalInvoiceNo\":\"\",\"xbrlType\":\"\",\"serialNo\":\"c2108f40b42046a986c5891cb59d65cc0\",\"xmlUrl\":\"\",\"checkFlag\":1,\"errorLevel\":\"3\",\"totalAmount\":\"103417.6\",\"xbrlUrl\":\"\",\"salerAddressPhone\":\"江苏省南京市溧水区溧水区晶桥镇枫香岭村配件小区16号 13305141166\",\"checkTime\":\"\",\"authenticateTime\":\"\",\"recordedPurpose\":\"\",\"salelistSum\":0,\"isRevise\":\"1\",\"region\":\"\",\"totalTaxAmount\":\"11897.6\",\"taxAmount\":\"11897.6\",\"recordedTime\":\"\",\"items\":[{\"unitPrice\":\"400\",\"num\":\"228.8\",\"preferentialPolicy\":\"\",\"zeroTaxRateFlag\":\"\",\"taxRate\":\"0.13\",\"unit\":\"时\",\"vatException\":\"\",\"versionNo\":\"\",\"detailAmount\":\"91520\",\"specModel\":\"\",\"discountType\":\"0\",\"goodsCode\":\"3040502019900000000\",\"taxAmount\":\"11897.6\",\"goodsName\":\"*经营租赁*挖机租赁费\",\"seq\":\"0\"}],\"originalInvoiceCode\":\"\",\"deductionFlag\":\"1\",\"salerName\":\"南京扬尚机械租赁有限公司\",\"taxPeriod\":\"\",\"uploadSeq\":1747898704052000000,\"destArea\":\"\",\"proxyMark\":\"0\",\"remark\":\"购方开户银行:中国农业银行股份有限公司南京晶桥支行 银行账号:10127901040003185销方开户银行:中国工商银行股份有限公司南京珍珠南路支行 银行账号:4301031809100080341\",\"delete\":\"1\",\"billCreateTime\":\"2025-05-22 10:45:53\",\"invoice_info\":\"ty_27,st_0,ex_1,ch_1,or_0,au_0,\",\"checkStatus\":\"1\",\"availableAmount\":\"103417.6\",\"imageUrl\":\"/dev/2170355234897924096/202505/rim/22/snap/f4f68a6c6cb84255a3a4e6b35fe710d60.jpg\",\"taxPdfUrl\":\"\",\"pixel\":\"\",\"recordedPeriod\":\"\",\"effectiveTaxAmount\":\"11897.6\",\"invoiceRiskLevel\":\"\",\"buyerAddressPhone\":\"南京市溧水区晶桥镇 18551696115\",\"originalFileName\":\"扬尚发票103417.6.pdf\",\"originalGraphUrl\":\"/dev/2170355234897924096/202505/5b96f486f0de44d4a437a482e830cf95/扬尚发票103417.6.pdf\",\"salerAccount\":\"销方开户银行:中国工商银行股份有限公司南京珍珠南路支行 银行账号:4301031809100080341\",\"amount\":\"91520\",\"fileIndex\":\"\",\"validateMessage\":\"合规性校验通过\",\"drawer\":\"\",\"verifyResult\":[],\"updateTime\":\"2025-05-22 15:24:42\",\"reviewer\":\"\",\"invoiceDate\":\"2025-05-19\",\"buyerName\":\"中国非金属材料南京矿山工程有限公司溧水分公司\",\"invalidDate\":\"\",\"invoiceSource\":\"\",\"pdfurl\":\"/dev/2170355234897924096/202505/5b96f486f0de44d4a437a482e830cf95/扬尚发票103417.6.pdf\",\"sourceArea\":\"\",\"salelistComplete\":\"1\",\"buyerAccount\":\"购方开户银行:中国农业银行股份有限公司南京晶桥支行 银行账号:10127901040003185\",\"rotationAngle\":\"0\",\"recordedStatus\":\"01\",\"snapshotUrl\":\"/dev/2170355234897924096/202505/rim/22/snap/f4f68a6c6cb84255a3a4e6b35fe710d60.jpg\",\"invoiceStatus\":\"0\",\"isModify\":\"0\",\"deductionPurpose\":\"\",\"expendStatus\":\"1\",\"fileType\":\"1\",\"expenseStatus\":\"1\",\"taxXmlUrl\":\"\"}],\"attachData\":[]}";
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -82,8 +83,14 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
}
|
||||
|
||||
private void showInvoice(String entryType) {
|
||||
long currencyId = ((DynamicObject)this.getModel().getValue("zcgj_currency")).getLong("id");
|
||||
long orgId = ((DynamicObject)this.getModel().getValue("zcgj_invoice_org")).getLong("id");
|
||||
Boolean ismulticurrency = (Boolean) this.getModel().getValue("ismulticurrency");//多币别
|
||||
long currencyId = 0L;
|
||||
if (ismulticurrency) {
|
||||
currencyId = ((DynamicObject) this.getModel().getValue("currency")).getLong("id");//签约币别
|
||||
} else {
|
||||
currencyId = ((DynamicObject) this.getModel().getValue("stdcurrency")).getLong("id");//本位币别
|
||||
}
|
||||
long orgId = ((DynamicObject) this.getModel().getValue("fiaccountorg")).getLong("id");//财务记账组织
|
||||
QFilter filter = new QFilter("org", "=", orgId);
|
||||
filter.and(new QFilter("isclaimed", "=", false));
|
||||
filter.and(new QFilter("billstatus", "=", "C"));
|
||||
|
@ -92,38 +99,38 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
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("zcgj_contract");
|
||||
if (contract != null) {
|
||||
long contractId = contract.getLong("id");
|
||||
filter1.and(new QFilter("contract", "=", contractId));
|
||||
filter1.and(new QFilter("unapplyamount", ">", BigDecimal.ZERO));
|
||||
DynamicObjectCollection contInvEntryCol = this.getModel().getEntryEntity("zcgj_entryentity");
|
||||
if (contInvEntryCol.size() > 0) {
|
||||
List<Long> selectedInvIds = new ArrayList(8);
|
||||
// DynamicObject contract = (DynamicObject) this.getModel().getValue("zcgj_contract");
|
||||
// if (contract != null) {
|
||||
// long contractId = contract.getLong("id");
|
||||
// filter1.and(new QFilter("contract", "=", contractId));
|
||||
filter1.and(new QFilter("unapplyamount", ">", BigDecimal.ZERO));
|
||||
DynamicObjectCollection contInvEntryCol = this.getModel().getEntryEntity("zcgj_entryentity");
|
||||
if (contInvEntryCol.size() > 0) {
|
||||
List<Long> selectedInvIds = new ArrayList(8);
|
||||
|
||||
for(DynamicObject contInvEntryObj : contInvEntryCol) {
|
||||
DynamicObject invoice = contInvEntryObj.getDynamicObject("zcgj_invoice");
|
||||
selectedInvIds.add(invoice.getLong("id"));
|
||||
}
|
||||
|
||||
filter1.and(new QFilter("id", "not in", selectedInvIds));
|
||||
for (DynamicObject contInvEntryObj : contInvEntryCol) {
|
||||
DynamicObject invoice = contInvEntryObj.getDynamicObject("zcgj_invoice");
|
||||
selectedInvIds.add(invoice.getLong("id"));
|
||||
}
|
||||
|
||||
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);
|
||||
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);
|
||||
// }
|
||||
}
|
||||
|
||||
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("zcgj_contract");
|
||||
for(ListSelectedRow row : rows) {
|
||||
DynamicObject upContract = (DynamicObject) this.getModel().getValue("zcgj_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);
|
||||
|
@ -138,7 +145,7 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
invArr[index++] = invoice;
|
||||
invoice.set("isclaimed", true);
|
||||
invoice.set("contract", upContract);
|
||||
invoice.set("project", (DynamicObject)this.getModel().getValue("zcgj_project"));
|
||||
invoice.set("project", (DynamicObject) this.getModel().getValue("zcgj_project"));
|
||||
invoice.set("connecttype", "contract");
|
||||
}
|
||||
SaveServiceHelper.save(invArr);
|
||||
|
@ -149,8 +156,8 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
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);
|
||||
}
|
||||
|
@ -163,16 +170,16 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
protected void showInvoiceImport(BeforeDoOperationEventArgs args) {
|
||||
String billId = this.getModel().getDataEntity().getPkValue().toString();
|
||||
if (!billId.equals("0") && "A".equals(this.getModel().getValue("billstatus"))) {
|
||||
if (this.getModel().getValue("zcgj_invoice_org") == null) {
|
||||
if (this.getModel().getValue("fiaccountorg") == null) {
|
||||
this.getView().showTipNotification(ResManager.loadKDString("发票企业名称不能为空", "PaymentApplyEditUI_18", "ec-contract-formplugin", new Object[0]));
|
||||
args.setCancel(true);
|
||||
} else {
|
||||
if (!ImportInvoiceUtils.isXhInvoiceCloud()) {
|
||||
args.setCancel(true);
|
||||
ImportInvoiceUtils.showImportView(this);
|
||||
}else{
|
||||
} else {
|
||||
args.setCancel(true);
|
||||
DynamicObject org = (DynamicObject) this.getModel().getValue("zcgj_invoice_org");
|
||||
DynamicObject org = (DynamicObject) this.getModel().getValue("fiaccountorg");
|
||||
InvoiceCollectHelper.showSelectInvoice(this, org);
|
||||
}
|
||||
}
|
||||
|
@ -183,11 +190,18 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
}
|
||||
|
||||
protected void importInvoiceCallBack(Object returnData) {
|
||||
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_invoice_org");
|
||||
DynamicObject org = (DynamicObject) this.getModel().getValue("fiaccountorg");
|
||||
//List<InvoiceVO> invoiceVOList = InvoiceDataHandleHelper.parseXhInvoiceCloudReturnData(returnData);
|
||||
List<InvoiceVO> invoiceVOList = CustomInvoiceDataHandleHelper.parseXhInvoiceCloudReturnData(returnData);
|
||||
Boolean ismulticurrency = (Boolean) this.getModel().getValue("ismulticurrency");//多币别
|
||||
DynamicObject currency = null;
|
||||
if (ismulticurrency) {
|
||||
currency = (DynamicObject) this.getModel().getValue("currency");//签约币别
|
||||
} else {
|
||||
currency = (DynamicObject) this.getModel().getValue("stdcurrency");//本位币别
|
||||
}
|
||||
Map<Boolean, Set<DynamicObject>> invoiceMap = InvoiceDataHandleHelper.processInvoiceVO(invoiceVOList, RequestContext.get().getCurrUserId(),
|
||||
org.getLong("id"), new Date(), "ec_in_invoice", (DynamicObject)this.getModel().getValue("zcgj_currency"), true);
|
||||
org.getLong("id"), new Date(), "ec_in_invoice", currency, true);
|
||||
ImportInvoiceUtils invoiceUtils = new ImportInvoiceUtils(this.getView(), this.getPageCache());
|
||||
this.addInvoiceToEntry(invoiceUtils, invoiceMap);
|
||||
}
|
||||
|
@ -196,11 +210,11 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
if (invoiceMap.isEmpty()) {
|
||||
this.getView().showTipNotification(ResManager.loadKDString("导入发票为空。", "PaymentApplyEditUI_19", "ec-contract-formplugin", new Object[0]));
|
||||
} else {
|
||||
long orgId = (Long)((DynamicObject)this.getModel().getValue("zcgj_invoice_org")).getPkValue();
|
||||
Set<DynamicObject> newInvoices = (Set)invoiceMap.get(Boolean.TRUE);
|
||||
Set<DynamicObject> existInvoices = (Set)invoiceMap.get(Boolean.FALSE);
|
||||
long orgId = (Long) ((DynamicObject) this.getModel().getValue("fiaccountorg")).getPkValue();
|
||||
Set<DynamicObject> newInvoices = (Set) invoiceMap.get(Boolean.TRUE);
|
||||
Set<DynamicObject> 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 +225,7 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
this.saveInvoiceData(invoiceUtils, newInvoices, existInvoices);
|
||||
} else if (existInvoices != null) {
|
||||
DynamicObjectCollection contInvEntryCol = this.getModel().getEntryEntity("zcgj_entryentity");
|
||||
Map<Object, Object> entryMap = (Map)contInvEntryCol.stream().collect(Collectors.toMap(this::getInvoicePK, this::getInvoicePK));
|
||||
Map<Object, Object> entryMap = (Map) contInvEntryCol.stream().collect(Collectors.toMap(this::getInvoicePK, this::getInvoicePK));
|
||||
this.initSubEntryEntity(existInvoices, entryMap);
|
||||
}
|
||||
|
||||
|
@ -224,21 +238,21 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
newInvoices.addAll(existInvoices);
|
||||
}
|
||||
|
||||
this.initSubEntryEntity(newInvoices, (Map)null);
|
||||
this.initSubEntryEntity(newInvoices, (Map) null);
|
||||
}
|
||||
|
||||
protected void initSubEntryEntity(Set<DynamicObject> invoices, Map<Object, Object> entryMap) {
|
||||
if (invoices != null) {
|
||||
List<DynamicObject> 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("zcgj_contract");
|
||||
DynamicObject upContract = (DynamicObject) this.getModel().getValue("zcgj_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 +264,7 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
this.getModel().setValue("zcgj_applyinvoftaxamt", invoice.getBigDecimal("unapplyamount"), rowIndex);
|
||||
invoice.set("isclaimed", true);
|
||||
invoice.set("contract", upContract);
|
||||
invoice.set("project", (DynamicObject)this.getModel().getValue("zcgj_project"));
|
||||
invoice.set("project", (DynamicObject) this.getModel().getValue("zcgj_project"));
|
||||
invoice.set("connecttype", "contract");
|
||||
invArr.add(invoice);
|
||||
}
|
||||
|
@ -258,7 +272,7 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
}
|
||||
|
||||
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 +285,7 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
|
||||
//删除发票 开始
|
||||
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,11 +295,11 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
Set<Object> 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);
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -297,7 +311,7 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
filter.and("id", "!=", this.getModel().getDataEntity().getPkValue());
|
||||
DynamicObjectCollection invoiceApplyEntries = QueryServiceHelper.query("zcgj_ecma_materialinb_ext", "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"));
|
||||
}
|
||||
}
|
||||
|
@ -306,11 +320,11 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
|
|||
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");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue