package tqq9.lc123.cloud.app.plugin.operate.pm; import com.oracle.truffle.regex.tregex.string.StringUTF16; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.ExtendedDataEntity; import kd.bos.entity.ExtendedDataEntitySet; import kd.bos.entity.botp.plugin.AbstractConvertPlugIn; import kd.bos.entity.botp.plugin.args.AfterConvertEventArgs; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.sdk.plugin.Plugin; import tqq9.lc123.cloud.app.plugin.operate.im.PurOrderPushReceiptNoticePlugin; import java.math.BigDecimal; import java.util.Map; /** * 采购订单下推采购建议报表转换插件 */ public class PurRptPushPurOrderPlugin extends AbstractConvertPlugIn implements Plugin { private final static Log logger = LogFactory.getLog(PurRptPushPurOrderPlugin.class); private static String PURORDERBILL = "pm_purorderbill";//采购订单 @Override public void afterConvert(AfterConvertEventArgs e) { super.afterConvert(e); ExtendedDataEntitySet targetExtDataEntitySet = e.getTargetExtDataEntitySet(); ExtendedDataEntity[] extendedDataEntities = targetExtDataEntitySet.FindByEntityKey(PURORDERBILL); Map variables = this.getOption().getVariables(); for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { //采购订单 DynamicObject dataEntity = extendedDataEntity.getDataEntity(); DynamicObjectCollection dynamicObjectCollection = dataEntity.getDynamicObjectCollection("billentry"); for (DynamicObject dynamicObject : dynamicObjectCollection) { DynamicObject org = dataEntity.getDynamicObject("org");//采购组织 String number = org.getString("number"); DynamicObject materialpurchaseinfo = dynamicObject.getDynamicObject("material");//物料采购信息 DynamicObject masterid = materialpurchaseinfo.getDynamicObject("masterid");//物料信息 masterid = BusinessDataServiceHelper.loadSingle("bd_material", new QFilter[]{new QFilter("number", QCP.equals, masterid.getString("number"))}); BigDecimal maxprice = BigDecimal.ZERO; if(StringUtils.equals("SHLC",number)){ maxprice=masterid.getBigDecimal("tqq9_maxprice_sh"); }else if(StringUtils.equals("BJLC",number)){ maxprice=masterid.getBigDecimal("tqq9_maxprice_bj"); }else if(StringUtils.equals("GZLC",number)){ maxprice=masterid.getBigDecimal("tqq9_maxprice_gz"); } dynamicObject.set("priceandtax",maxprice); dynamicObject.set("tqq9_zgcgxj",maxprice); } } } }