123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package fi.fa.opplugin;
- import com.alibaba.druid.util.StringUtils;
- import kd.bos.dataentity.entity.DynamicObject;
- import kd.bos.dataentity.entity.DynamicObjectCollection;
- import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
- import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
- import kd.bos.orm.query.QCP;
- import kd.bos.orm.query.QFilter;
- import kd.bos.servicehelper.BusinessDataServiceHelper;
- import kd.bos.servicehelper.operation.SaveServiceHelper;
- //业务处理单
- public class BusProcessBillOpPlugin extends AbstractOperationServicePlugIn {
- @Override
- public void beginOperationTransaction(BeginOperationTransactionArgs e) {
- DynamicObject[] dynamicObjects = e.getDataEntities();
- for (int i = 0; i < dynamicObjects.length; i++) {
- if (StringUtils.equals(e.getOperationKey(),"audit")) {
- DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
- if ("D".equals(info.getString("nckd_detailtype"))) {
- for (DynamicObject nckd_entryentity6 : info.getDynamicObjectCollection("nckd_entryentity6")) {
- String number = nckd_entryentity6.getDynamicObject("nckd_basedatafield").getString("number");
- if (!StringUtils.isEmpty(number)) {
- //查询e管家实物卡片清单
- QFilter filter = new QFilter("nckd_card_real_code", QCP.equals,number);
- DynamicObject[] cardObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
- for (int j = 0; j < cardObjects.length; j++) {
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(cardObjects[j].getPkValue(), cardObjects[j].getDynamicObjectType().getName());
- //回写e管家实物清单字段
- cardInfo.set("nckd_discard", "1");//是否报废
- SaveServiceHelper.save(new DynamicObject[]{cardInfo});
- }
- }
- }
- }
- //获取租赁合同分录
- DynamicObjectCollection nckd_entryentity3 = info.getDynamicObjectCollection("nckd_entryentity3");
- for (DynamicObject object : nckd_entryentity3) {
- long org = object.getDynamicObject("nckd_pzhtorg").getLong("id");
- String nckd_pzhthth = object.getString("nckd_pzhthth");
- String nckd_combofield = object.getString("nckd_combofield");
- //查询租赁合同反写
- QFilter htfilter = new QFilter("number", QCP.equals,nckd_pzhthth);
- htfilter.and("org.id", QCP.equals,org);
- DynamicObject[] contract = BusinessDataServiceHelper.load("fa_lease_contract","id",new QFilter[] {htfilter});
- for (int j = 0; j < contract.length; j++) {
- DynamicObject contractInfo = BusinessDataServiceHelper.loadSingle(contract[j].getPkValue(), contract[j].getDynamicObjectType().getName());
- //收款/付款计划明细分录
- DynamicObjectCollection payplanentryentity = contractInfo.getDynamicObjectCollection("payplanentryentity");
- for (DynamicObject detail : payplanentryentity) {
- detail.set("nckd_combofield1", nckd_combofield);
- }
- SaveServiceHelper.save(new DynamicObject[]{contractInfo});
- }
- }
- }
- else if (StringUtils.equals(e.getOperationKey(),"unaudit")) {
- DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
- if ("D".equals(info.getString("nckd_detailtype"))) {
- for (DynamicObject nckd_entryentity6 : info.getDynamicObjectCollection("nckd_entryentity6")) {
- String number = nckd_entryentity6.getDynamicObject("nckd_basedatafield").getString("number");
- if (!StringUtils.isEmpty(number)) {
- //查询e管家实物卡片清单
- QFilter filter = new QFilter("nckd_card_real_code", QCP.equals,number);
- DynamicObject[] cardObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
- for (int j = 0; j < cardObjects.length; j++) {
- DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(cardObjects[j].getPkValue(), cardObjects[j].getDynamicObjectType().getName());
- //回写e管家实物清单字段
- cardInfo.set("nckd_discard", "0");//是否报废
- SaveServiceHelper.save(new DynamicObject[]{cardInfo});
- }
- }
- }
- }
- //获取租赁合同分录
- DynamicObjectCollection nckd_entryentity3 = info.getDynamicObjectCollection("nckd_entryentity3");
- for (DynamicObject object : nckd_entryentity3) {
- long org = object.getDynamicObject("nckd_pzhtorg").getLong("id");
- String nckd_pzhthth = object.getString("nckd_pzhthth");
- //查询租赁合同反写
- QFilter htfilter = new QFilter("number", QCP.equals,nckd_pzhthth);
- htfilter.and("org.id", QCP.equals,org);
- DynamicObject[] contract = BusinessDataServiceHelper.load("fa_lease_contract","id",new QFilter[] {htfilter});
- for (int j = 0; j < contract.length; j++) {
- DynamicObject contractInfo = BusinessDataServiceHelper.loadSingle(contract[j].getPkValue(), contract[j].getDynamicObjectType().getName());
- //收款/付款计划明细分录
- DynamicObjectCollection payplanentryentity = contractInfo.getDynamicObjectCollection("payplanentryentity");
- for (DynamicObject detail : payplanentryentity) {
- detail.set("nckd_combofield1", null);
- }
- SaveServiceHelper.save(new DynamicObject[]{contractInfo});
- }
- }
- } else if (StringUtils.equals(e.getOperationKey(),"delete")) {
- DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
- if ("D".equals(info.getString("nckd_detailtype"))) {
- String type = info.getString("nckd_source_type");
- Long nckd_mid_assert = info.getLong("nckd_mid_assert");
- if (!StringUtils.isEmpty(type)) {
- //查询e管家实物卡片清单
- QFilter filter = new QFilter("id", QCP.equals,nckd_mid_assert);
- DynamicObject[] midObjects = BusinessDataServiceHelper.load(type,"id",new QFilter[] {filter});
- for (int j = 0; j < midObjects.length; j++) {
- DynamicObject midInfo = BusinessDataServiceHelper.loadSingle(midObjects[j].getPkValue(), midObjects[j].getDynamicObjectType().getName());
- //回写e管家实物清单字段
- midInfo.set("nckd_flag", "0");//是否报废
- SaveServiceHelper.save(new DynamicObject[]{midInfo});
- }
- }
- }
- }
- }
- }
- }
|