123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package fi.em.formPlugin;
- import com.alibaba.druid.util.StringUtils;
- import com.alibaba.dubbo.common.utils.CollectionUtils;
- import com.alibaba.fastjson.JSONObject;
- import kd.bos.context.RequestContext;
- import kd.bos.dataentity.entity.DynamicObject;
- import kd.bos.dataentity.entity.DynamicObjectCollection;
- import kd.bos.entity.datamodel.events.BeforeImportEntryEventArgs;
- import kd.bos.entity.datamodel.events.ChangeData;
- import kd.bos.entity.datamodel.events.PropertyChangedArgs;
- import kd.bos.form.plugin.AbstractFormPlugin;
- import kd.bos.form.plugin.importentry.resolving.ImportEntryData;
- import kd.bos.orm.query.QCP;
- import kd.bos.orm.query.QFilter;
- import kd.bos.servicehelper.BusinessDataServiceHelper;
- import kd.bos.servicehelper.user.UserServiceHelper;
- import java.util.*;
- public class BusinessProcessingSplitPlugin extends AbstractFormPlugin {
- @Override
- public void propertyChanged(PropertyChangedArgs e) {
- String fieldKey = e.getProperty().getName();
- if (StringUtils.equals("nckd_basedatafield19", fieldKey)) {
- //获取变更的数据
- ChangeData changeData = e.getChangeSet()[0];
- DynamicObject dynamicObject = (DynamicObject) changeData.getNewValue();
- this.getModel().deleteEntryData("nckd_entryentity6112");
- if (dynamicObject != null) {
- DynamicObject realCard = dynamicObject.getDynamicObject("realcard");
- String number = realCard.getString("number");
- QFilter filter = new QFilter("nckd_card_real_code", QCP.equals,number);
- DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("nckd_fa_card_real_list","id",new QFilter[] {filter});
- int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity6112");
- this.getModel().setValue("nckd_combofield5", "拆分前", 0);
- if (dynamicObjects.length > 0) {
- this.getView().setVisible(false, "nckd_advconbaritemap61");
- this.getView().setVisible(false, "nckd_advconbaritemap6");
- this.getView().setVisible(true, "nckd_card");
- this.getView().setEnable(false, "nckd_integerfield1");
- this.getModel().setValue("nckd_integerfield1", dynamicObjects.length);
- }else {
- this.getView().setVisible(true, "nckd_advconbaritemap61");
- this.getView().setVisible(true, "nckd_advconbaritemap6");
- this.getView().setVisible(false, "nckd_card");
- this.getView().setEnable(true, "nckd_integerfield1");
- this.getModel().setValue("nckd_integerfield1", 0);
- }
- }
- } else if (StringUtils.equals("nckd_detailtype", fieldKey)) {
- //获取变更的数据
- ChangeData changeData = e.getChangeSet()[0];
- String nckd_detailtype = (String) changeData.getNewValue();
- if (StringUtils.equals(nckd_detailtype, "E")) {
- //当前用户
- Long currentUserId = UserServiceHelper.getCurrentUserId();
- // 当前用户组织
- Long id = RequestContext.get().getOrgId();
- //调出组织
- this.getModel().setValue("nckd_orgfield1", id);
- }else {
- this.getModel().setValue("nckd_orgfield1", null);
- }
- }
- }
- @Override
- public void beforeImportEntry(BeforeImportEntryEventArgs e) {
- Map source = (Map) e.getSource();
- Set<Map.Entry<String, List<ImportEntryData>>> entries = source.entrySet();
- for (Map.Entry<String, List<ImportEntryData>> entry : entries) {
- String entryName = entry.getKey();
- if (StringUtils.equals(entryName, "nckd_entryentity61121")) {
- List<ImportEntryData> entryEntityImportDataList = entry.getValue();
- if (CollectionUtils.isEmpty(entryEntityImportDataList)) {
- return;
- }
- DynamicObjectCollection nckd_entryentity61121s = this.getModel().getEntryEntity("nckd_entryentity61121");
- Map<String, DynamicObject> entryMap = new HashMap<>();
- for (DynamicObject dynamicObject : nckd_entryentity61121s) {
- entryMap.put(dynamicObject.getDynamicObject("nckd_basedatafield18").getString("number"), dynamicObject);
- }
- Iterator<ImportEntryData> iterator = entryEntityImportDataList.iterator();
- while (iterator.hasNext()) {
- ImportEntryData entryData = iterator.next();
- JSONObject jsonObject = entryData.getData();
- String importNumber = jsonObject.getJSONObject("nckd_basedatafield18").getString("number");
- DynamicObject dynamicObject = entryMap.get(importNumber);
- if (dynamicObject != null){
- nckd_entryentity61121s.remove(dynamicObject);
- }
- }
- }
- }
- }
- }
|