123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- package fi.em.opplugin;
- import com.alibaba.fastjson.JSONObject;
- import kd.bos.dataentity.entity.DynamicObject;
- import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
- import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
- import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
- import kd.bos.orm.query.QCP;
- import kd.bos.orm.query.QFilter;
- import kd.bos.servicehelper.BusinessDataServiceHelper;
- import kd.bos.servicehelper.operation.SaveServiceHelper;
- import kd.fi.cas.helper.CasBotpHelper;
- import java.math.BigDecimal;
- public class BusinessProcessingSaveOpPlugin extends AbstractOperationServicePlugIn {
- @Override
- public void endOperationTransaction(EndOperationTransactionArgs e) {
- super.endOperationTransaction(e);
-
- DynamicObject[] dynamicObjects = e.getDataEntities();
- for (int i = 0; i < dynamicObjects.length; i++) {
- JSONObject object = new JSONObject();
-
- DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
- String detailtype = info.getString("nckd_detailtype");
- if("A".equals(detailtype)){
- for (DynamicObject entryentity : info.getDynamicObjectCollection("nckd_entryentity1")) {
- String nckdcysnumber = entryentity.getString("nckd_cysnumber");
- BigDecimal nckdCyscxbalance = entryentity.getBigDecimal("nckd_cyscxbalance");
-
- QFilter nckd_orgamountFilter = new QFilter("billno", QCP.equals,nckdcysnumber);
- DynamicObject[] nckd_cas_arbill = BusinessDataServiceHelper.load("ar_finarbill", "id", new QFilter[]{nckd_orgamountFilter});
- DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_cas_arbill[0].getPkValue(), nckd_cas_arbill[0].getDynamicObjectType().getName());
- BigDecimal unsettleamount = dynamicObject.getBigDecimal("unsettleamount");
- BigDecimal settleamount = dynamicObject.getBigDecimal("settleamount");
- BigDecimal recamount = dynamicObject.getBigDecimal("recamount");
- unsettleamount=unsettleamount.subtract(nckdCyscxbalance);
- settleamount=settleamount.add(nckdCyscxbalance);
- settleamount=recamount.subtract(settleamount);
-
- dynamicObject.set("unsettleamount",unsettleamount);
- dynamicObject.set("unsettlelocalamt",unsettleamount);
- dynamicObject.set("unverifyamount",unsettleamount);
- dynamicObject.set("settleamount",settleamount);
- dynamicObject.set("settlelocalamt",settleamount);
- SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
- }
- for (DynamicObject entryentity : info.getDynamicObjectCollection("nckd_entryentity3")) {
- String nckdpzhthth = entryentity.getString("nckd_pzhthth");
- BigDecimal nckdCyscxbalance = entryentity.getBigDecimal("nckd_pzhtcxbalance");
-
- QFilter nckd_orgamountFilter = new QFilter("number", QCP.equals,nckdpzhthth);
- DynamicObject[] nckd_cas_arbill = BusinessDataServiceHelper.load("fa_lease_contract", "id", new QFilter[]{nckd_orgamountFilter});
- DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_cas_arbill[0].getPkValue(), nckd_cas_arbill[0].getDynamicObjectType().getName());
- BigDecimal nckdamountfield = dynamicObject.getBigDecimal("nckd_amountfield");
- BigDecimal nckdamountfield1 = dynamicObject.getBigDecimal("nckd_amountfield1");
- nckdamountfield=nckdamountfield.add(nckdCyscxbalance);
- nckdamountfield1=nckdamountfield1.subtract(nckdCyscxbalance);
-
- dynamicObject.set("nckd_amountfield",nckdamountfield);
- dynamicObject.set("nckd_amountfield1",nckdamountfield1);
- SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
- }
- } else if ("B".equals(detailtype)){
- for (DynamicObject entryentity : info.getDynamicObjectCollection("nckd_entryentity2")) {
- String nckdBigintfield = entryentity.getString("nckd_bigintfield");
- BigDecimal nckdCyscxbalance = entryentity.getBigDecimal("nckd_cyfcxbalance");
-
- QFilter nckd_orgamountFilter = new QFilter("id", QCP.equals,Long.valueOf(nckdBigintfield));
- DynamicObject[] nckd_cas_arbill = BusinessDataServiceHelper.load("ap_finapbill", "id,supplier.number,", new QFilter[]{nckd_orgamountFilter});
- DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_cas_arbill[0].getPkValue(), nckd_cas_arbill[0].getDynamicObjectType().getName());
- BigDecimal unsettleamount = dynamicObject.getBigDecimal("unsettleamount");
- BigDecimal settleamount = dynamicObject.getBigDecimal("settleamount");
- BigDecimal pricetaxtotal = dynamicObject.getBigDecimal("pricetaxtotal");
- unsettleamount=unsettleamount.subtract(nckdCyscxbalance);
- settleamount=settleamount.add(nckdCyscxbalance);
- settleamount=pricetaxtotal.subtract(settleamount);
-
- dynamicObject.set("unsettleamount",unsettleamount);
- dynamicObject.set("unsettleamountbase",unsettleamount);
- dynamicObject.set("unverifyamount",unsettleamount);
- dynamicObject.set("settleamount",settleamount);
- dynamicObject.set("settleamountbase",settleamount);
- SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
- }
- }
- }
- }
- }
|