lc/lc123/cloud/app/plugin/form/sys/GetGoodsByMaterialBillPlugi...

78 lines
3.3 KiB
Java

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);
}
}
}
}
}
}