package tqq9.lc123.cloud.app.plugin.operate.im; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; 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.entity.botp.plugin.args.AfterCreateTargetEventArgs; import kd.bos.entity.botp.plugin.args.AfterFieldMappingEventArgs; import kd.bos.entity.botp.plugin.args.BeforeCreateTargetEventArgs; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; import kd.sdk.plugin.Plugin; import java.math.BigDecimal; import java.util.Map; /** * 采购订单转换插件 * 退货补货数量修改 */ public class PurOrderPushReceiptNoticePlugin extends AbstractConvertPlugIn implements Plugin { private final static Log logger = LogFactory.getLog(PurOrderPushReceiptNoticePlugin.class); private static String RECEIPTNOTICE = "pm_receiptnotice"; @Override public void afterConvert(AfterConvertEventArgs e) { super.afterConvert(e); ExtendedDataEntitySet targetExtDataEntitySet = e.getTargetExtDataEntitySet(); ExtendedDataEntity[] extendedDataEntities = targetExtDataEntitySet.FindByEntityKey(RECEIPTNOTICE); Map variables = this.getOption().getVariables(); for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { //收货通知单 DynamicObject dataEntity = extendedDataEntity.getDataEntity(); DynamicObjectCollection dynamicObjectCollection = dataEntity.getDynamicObjectCollection("billentry"); for (DynamicObject dynamicObject : dynamicObjectCollection) { String mainbillentryid = dynamicObject.getString("mainbillentryid"); //核心单据号一致,修改补货数量 if (variables.containsKey(mainbillentryid)) { String qty = variables.get(mainbillentryid); BigDecimal entry_qty = new BigDecimal(qty).negate(); dynamicObject.set("qty", entry_qty);//数量 dynamicObject.set("baseqty", entry_qty);//基本数量 } } } } }