package tqq9.lc123.cloud.app.plugin.form.sys; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import tqq9.lc123.cloud.app.plugin.utils.EntryFieldRefresher; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; /** * 根据物料获取商品信息 */ public class GetGoodsByMaterialBillPlugin extends AbstractBillPlugIn { @Override public void propertyChanged(PropertyChangedArgs e) { super.propertyChanged(e); ChangeData[] changeSet = e.getChangeSet(); int rowIndex = changeSet[0].getRowIndex(); String name = e.getProperty().getName(); DynamicObject dataEntity = this.getModel().getDataEntity(true); String dataEntityName = dataEntity.getDataEntityType().getName(); String materialFieldName = EntryFieldRefresher.getEntryMaterialFieldNameByEntityName(dataEntityName); if(StringUtils.isBlank(materialFieldName)){ materialFieldName = "material"; } if (materialFieldName.equals(name)) { DynamicObject material = (DynamicObject) this.getModel().getValue(materialFieldName, rowIndex); if (material != null) { String number=null; if (StringUtils.equals("bd_material", material.getDynamicObjectType().getName())) { number = material.getString("number"); }else{ DynamicObject masterid = material.getDynamicObject("masterid"); number = masterid.getString("number"); } QFilter f1 = new QFilter("tqq9_mater.number", "=", number); QFilter f5 = new QFilter("tqq9_isauto", "=", true); DynamicObject[] goodsA = BusinessDataServiceHelper.load("tqq9_goodspackage", "id,number,name,tqq9_mater.baseunit,tqq9_mater.modelnum,tqq9_isauto", new QFilter[]{f1, f5}); if (goodsA != null && goodsA.length > 0) { this.getModel().setValue("tqq9_goods", goodsA[0], rowIndex); } } } // 形态转换单子明细 if ("im_adjustbill".equals(dataEntityName)) { int parentRowIndex = changeSet[0].getParentRowIndex(); if ("material1".equals(name) ) { DynamicObject material = (DynamicObject) this.getModel().getValue("material1", rowIndex); if (material != null) { QFilter f1 = new QFilter("tqq9_mater.number", "=", material.getString("number")); QFilter f5 = new QFilter("tqq9_isauto", "=", true); DynamicObject[] goodsA = BusinessDataServiceHelper.load("tqq9_goodspackage", "id,number,name,tqq9_mater.baseunit,tqq9_mater.modelnum,tqq9_isauto", new QFilter[]{f1, f5}); if (goodsA != null && goodsA.length > 0) { this.getModel().setValue("tqq9_goods", goodsA[0], rowIndex); } } } } } }