入库单下推无合同付款申请单botp插件
This commit is contained in:
parent
db0509d311
commit
4f2bba4991
|
|
@ -0,0 +1,70 @@
|
||||||
|
package zcgj.zcdev.zcdev.fs.plugin.other;
|
||||||
|
|
||||||
|
import kd.bos.coderule.api.CodeRuleInfo;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.entity.ExtendedDataEntity;
|
||||||
|
import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
|
||||||
|
import kd.bos.entity.botp.plugin.args.AfterConvertEventArgs;
|
||||||
|
import kd.bos.servicehelper.coderule.CodeRuleServiceHelper;
|
||||||
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入库单下推无合同付款申请单botp插件
|
||||||
|
*/
|
||||||
|
public class MaterialinbillToNoContractBotpPlugin extends AbstractConvertPlugIn {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterConvert(AfterConvertEventArgs e) {
|
||||||
|
super.afterConvert(e);
|
||||||
|
// 获取已生成的资产卡片
|
||||||
|
ExtendedDataEntity[] billDataEntitys = e.getTargetExtDataEntitySet().FindByEntityKey("er_publicreimbursebill");
|
||||||
|
|
||||||
|
// 构造 ExtendedDataEntity 时需要的索引值
|
||||||
|
int dataIndex = billDataEntitys.length;
|
||||||
|
List<ExtendedDataEntity> copyDataEntitys = new ArrayList<>();
|
||||||
|
for(ExtendedDataEntity billDataEntity : billDataEntitys){
|
||||||
|
System.out.println();
|
||||||
|
DynamicObject dataEntity = billDataEntity.getDataEntity();
|
||||||
|
|
||||||
|
CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(dataEntity.getDataEntityType().getName(), dataEntity, null);
|
||||||
|
String billno = CodeRuleServiceHelper.getNumber(codeRule, dataEntity);
|
||||||
|
dataEntity.set("billno", billno);
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{dataEntity});
|
||||||
|
Map<String,Long> invoiceEntryMap = new HashMap<String, Long>();//发票信息分录
|
||||||
|
Map<String,Long> expensEntryMap = new HashMap<String, Long>();//费用明细分录
|
||||||
|
DynamicObjectCollection invoiceentry = dataEntity.getDynamicObjectCollection("invoiceentry");
|
||||||
|
for (DynamicObject invoice : invoiceentry) {
|
||||||
|
String invoiceno = invoice.getString("invoiceno");
|
||||||
|
long aLong = invoice.getLong("id");
|
||||||
|
invoiceEntryMap.put(invoiceno, aLong);
|
||||||
|
}
|
||||||
|
DynamicObjectCollection expenseentryentity = dataEntity.getDynamicObjectCollection("expenseentryentity");
|
||||||
|
for (DynamicObject expenseentry : expenseentryentity) {
|
||||||
|
String invoiceno = expenseentry.getString("invoiceno_entry");
|
||||||
|
long aLong = expenseentry.getLong("id");
|
||||||
|
expensEntryMap.put(invoiceno, aLong);
|
||||||
|
}
|
||||||
|
|
||||||
|
//发票明细分录
|
||||||
|
DynamicObjectCollection invoiceitementry = dataEntity.getDynamicObjectCollection("invoiceitementry");
|
||||||
|
for (String invoiceno : expensEntryMap.keySet()) {
|
||||||
|
Long itemid = expensEntryMap.get(invoiceno);//费用明细分录id
|
||||||
|
Long invoiceId = invoiceEntryMap.get(invoiceno);//发票信息分录id
|
||||||
|
DynamicObject dynamicObject = invoiceitementry.addNew();//发票明细,费用明细和发票信息关联关系
|
||||||
|
dynamicObject.set("itementryid", itemid);
|
||||||
|
dynamicObject.set("invoiceheadentryid", invoiceId);
|
||||||
|
}
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{dataEntity});
|
||||||
|
|
||||||
|
//dataEntity.getDynamicObjectCollection("invoiceentry").get(0).getLong("id");
|
||||||
|
//dataEntity.getDynamicObjectCollection("expenseentryentity").get(0).getLong("id"); //invoiceno_entry
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue