生成物料业务信息时修改原创建组织、物料采购信息内码
This commit is contained in:
parent
8df9acd85f
commit
a926ee073e
|
|
@ -7,6 +7,7 @@ import kd.bos.entity.botp.runtime.ConvertOperationResult;
|
||||||
import kd.bos.entity.botp.runtime.PushArgs;
|
import kd.bos.entity.botp.runtime.PushArgs;
|
||||||
import kd.bos.entity.datamodel.ListSelectedRow;
|
import kd.bos.entity.datamodel.ListSelectedRow;
|
||||||
import kd.bos.entity.operate.OperateOptionConst;
|
import kd.bos.entity.operate.OperateOptionConst;
|
||||||
|
import kd.bos.entity.operate.result.OperationResult;
|
||||||
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||||
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||||
import kd.bos.entity.plugin.args.AfterOperationArgs;
|
import kd.bos.entity.plugin.args.AfterOperationArgs;
|
||||||
|
|
@ -18,6 +19,7 @@ import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.basedata.BaseDataServiceHelper;
|
import kd.bos.servicehelper.basedata.BaseDataServiceHelper;
|
||||||
import kd.bos.servicehelper.botp.ConvertServiceHelper;
|
import kd.bos.servicehelper.botp.ConvertServiceHelper;
|
||||||
|
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -99,37 +101,7 @@ public class MaterialManualAssignOpPlugin extends AbstractOperationServicePlugIn
|
||||||
DynamicObject gzlc = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{new QFilter("number", QCP.equals, "GZLC")});
|
DynamicObject gzlc = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{new QFilter("number", QCP.equals, "GZLC")});
|
||||||
DynamicObject shlc = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{new QFilter("number", QCP.equals, "SHLC")});
|
DynamicObject shlc = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{new QFilter("number", QCP.equals, "SHLC")});
|
||||||
|
|
||||||
if (success) {
|
generateMaterialInfo(targetEntityNumber, targetBillIds, success, bjlc, gzlc, shlc);
|
||||||
if (targetBillIds.size() > 0) {
|
|
||||||
for (Object targetBillId : targetBillIds) {
|
|
||||||
OperateOption option = OperateOption.create();
|
|
||||||
option.setVariableValue(OperateOptionConst.ISHASRIGHT, "true");
|
|
||||||
option.setVariableValue(OperateOptionConst.ORM_SAVEOP_REMOVECACHE, "true");
|
|
||||||
DynamicObject sh = BusinessDataServiceHelper.loadSingle(targetBillId, targetEntityNumber);
|
|
||||||
sh.set("createorg", shlc);
|
|
||||||
|
|
||||||
|
|
||||||
List<Long> ids = new ArrayList<>();
|
|
||||||
ids.add((Long) targetBillId);
|
|
||||||
BaseDataServiceHelper.managePermChange(targetEntityNumber, ids, shlc.getLong("id"));
|
|
||||||
|
|
||||||
DynamicObject bj = (DynamicObject) new CloneUtils(false, true).clone(sh);
|
|
||||||
bj.set("createorg", bjlc);
|
|
||||||
bj.set("srccreateorg", bjlc);
|
|
||||||
bj.set("mbdmasterid", bj.getLong("id"));
|
|
||||||
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{bj}, OperateOption.create());
|
|
||||||
|
|
||||||
DynamicObject gz = (DynamicObject) new CloneUtils(false, true).clone(sh);
|
|
||||||
gz.set("createorg", gzlc);
|
|
||||||
gz.set("srccreateorg", gzlc);
|
|
||||||
gz.set("mbdmasterid", gz.getLong("id"));
|
|
||||||
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{gz}, OperateOption.create());
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
targetEntityNumber = "bd_materialpurchaseinfo";//物料采购信息
|
targetEntityNumber = "bd_materialpurchaseinfo";//物料采购信息
|
||||||
//目标单标识
|
//目标单标识
|
||||||
pushArgs.setTargetEntityNumber(targetEntityNumber);
|
pushArgs.setTargetEntityNumber(targetEntityNumber);
|
||||||
|
|
@ -142,36 +114,7 @@ public class MaterialManualAssignOpPlugin extends AbstractOperationServicePlugIn
|
||||||
//获取下推目标单id
|
//获取下推目标单id
|
||||||
targetBillIds = result.getTargetBillIds();
|
targetBillIds = result.getTargetBillIds();
|
||||||
success = result.isSuccess();
|
success = result.isSuccess();
|
||||||
if (success) {
|
generateMaterialInfo(targetEntityNumber, targetBillIds, success, bjlc, gzlc, shlc);
|
||||||
if (targetBillIds.size() > 0) {
|
|
||||||
for (Object targetBillId : targetBillIds) {
|
|
||||||
OperateOption option = OperateOption.create();
|
|
||||||
option.setVariableValue(OperateOptionConst.ISHASRIGHT, "true");
|
|
||||||
option.setVariableValue(OperateOptionConst.ORM_SAVEOP_REMOVECACHE, "true");
|
|
||||||
DynamicObject sh = BusinessDataServiceHelper.loadSingle(targetBillId, targetEntityNumber);
|
|
||||||
sh.set("createorg", shlc);
|
|
||||||
|
|
||||||
|
|
||||||
List<Long> ids = new ArrayList<>();
|
|
||||||
ids.add((Long) targetBillId);
|
|
||||||
BaseDataServiceHelper.managePermChange(targetEntityNumber, ids, shlc.getLong("id"));
|
|
||||||
|
|
||||||
DynamicObject bj = (DynamicObject) new CloneUtils(false, true).clone(sh);
|
|
||||||
bj.set("createorg", bjlc);
|
|
||||||
bj.set("srccreateorg", bjlc);
|
|
||||||
bj.set("mbdmasterid", bj.getLong("id"));
|
|
||||||
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{bj}, OperateOption.create());
|
|
||||||
|
|
||||||
DynamicObject gz = (DynamicObject) new CloneUtils(false, true).clone(sh);
|
|
||||||
gz.set("createorg", gzlc);
|
|
||||||
gz.set("srccreateorg", gzlc);
|
|
||||||
gz.set("mbdmasterid", gz.getLong("id"));
|
|
||||||
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{gz}, OperateOption.create());
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ruleId = "2352406985778951168";
|
ruleId = "2352406985778951168";
|
||||||
targetEntityNumber = "bd_materialsalinfo";//物料销售信息
|
targetEntityNumber = "bd_materialsalinfo";//物料销售信息
|
||||||
|
|
@ -185,37 +128,9 @@ public class MaterialManualAssignOpPlugin extends AbstractOperationServicePlugIn
|
||||||
//获取下推目标单id
|
//获取下推目标单id
|
||||||
targetBillIds = result.getTargetBillIds();
|
targetBillIds = result.getTargetBillIds();
|
||||||
success = result.isSuccess();
|
success = result.isSuccess();
|
||||||
if (success) {
|
generateMaterialInfo(targetEntityNumber, targetBillIds, success, bjlc, gzlc, shlc);
|
||||||
if (targetBillIds.size() > 0) {
|
|
||||||
for (Object targetBillId : targetBillIds) {
|
|
||||||
OperateOption option = OperateOption.create();
|
|
||||||
option.setVariableValue(OperateOptionConst.ISHASRIGHT, "true");
|
|
||||||
option.setVariableValue(OperateOptionConst.ORM_SAVEOP_REMOVECACHE, "true");
|
|
||||||
DynamicObject sh = BusinessDataServiceHelper.loadSingle(targetBillId, targetEntityNumber);
|
|
||||||
sh.set("createorg", shlc);
|
|
||||||
|
|
||||||
|
|
||||||
List<Long> ids = new ArrayList<>();
|
|
||||||
ids.add((Long) targetBillId);
|
|
||||||
BaseDataServiceHelper.managePermChange(targetEntityNumber, ids, shlc.getLong("id"));
|
|
||||||
|
|
||||||
DynamicObject bj = (DynamicObject) new CloneUtils(false, true).clone(sh);
|
|
||||||
bj.set("createorg", bjlc);
|
|
||||||
bj.set("srccreateorg", bjlc);
|
|
||||||
bj.set("mbdmasterid", bj.getLong("id"));
|
|
||||||
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{bj}, OperateOption.create());
|
|
||||||
|
|
||||||
DynamicObject gz = (DynamicObject) new CloneUtils(false, true).clone(sh);
|
|
||||||
gz.set("createorg", gzlc);
|
|
||||||
gz.set("srccreateorg", gzlc);
|
|
||||||
gz.set("mbdmasterid", gz.getLong("id"));
|
|
||||||
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{gz}, OperateOption.create());
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Set<Long> dataIds = new HashSet();
|
/*Set<Long> dataIds = new HashSet();
|
||||||
|
|
||||||
long id = dynamicObject.getLong("id");
|
long id = dynamicObject.getLong("id");
|
||||||
|
|
@ -241,4 +156,63 @@ public class MaterialManualAssignOpPlugin extends AbstractOperationServicePlugIn
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成对应的物料业务信息(库存、采购、销售)
|
||||||
|
*
|
||||||
|
* @param targetEntityNumber 目标单据标识
|
||||||
|
* @param targetBillIds 下推成功的目标单据id
|
||||||
|
* @param success 是否下推成功
|
||||||
|
* @param bjlc 北京组织
|
||||||
|
* @param gzlc 广州组织
|
||||||
|
* @param shlc 上海组织
|
||||||
|
*/
|
||||||
|
private void generateMaterialInfo(String targetEntityNumber, Set<Object> targetBillIds, boolean success, DynamicObject bjlc, DynamicObject gzlc, DynamicObject shlc) {
|
||||||
|
if (success) {
|
||||||
|
if (targetBillIds.size() > 0) {
|
||||||
|
for (Object targetBillId : targetBillIds) {
|
||||||
|
OperateOption option = OperateOption.create();
|
||||||
|
option.setVariableValue(OperateOptionConst.ISHASRIGHT, "true");
|
||||||
|
option.setVariableValue(OperateOptionConst.ORM_SAVEOP_REMOVECACHE, "true");
|
||||||
|
DynamicObject sh = BusinessDataServiceHelper.loadSingle(targetBillId, targetEntityNumber);
|
||||||
|
sh.set("createorg", shlc);
|
||||||
|
sh.set("srccreateorg", shlc);
|
||||||
|
|
||||||
|
List<Long> ids = new ArrayList<>();
|
||||||
|
ids.add((Long) targetBillId);
|
||||||
|
BaseDataServiceHelper.managePermChange(targetEntityNumber, ids, shlc.getLong("id"));
|
||||||
|
|
||||||
|
DynamicObject bj = (DynamicObject) new CloneUtils(false, true).clone(sh);
|
||||||
|
DynamicObject gz = (DynamicObject) new CloneUtils(false, true).clone(sh);
|
||||||
|
|
||||||
|
OperationResult submitResult = OperationServiceHelper.executeOperate("submit", targetEntityNumber, new DynamicObject[]{sh}, OperateOption.create());
|
||||||
|
if (submitResult.isSuccess()) {
|
||||||
|
OperationResult auditResult = OperationServiceHelper.executeOperate("audit", targetEntityNumber, new DynamicObject[]{sh}, OperateOption.create());
|
||||||
|
}
|
||||||
|
|
||||||
|
bj.set("createorg", bjlc);
|
||||||
|
bj.set("srccreateorg", bjlc);
|
||||||
|
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{bj}, OperateOption.create());
|
||||||
|
bj.set("mbdmasterid", bj.getLong("id"));
|
||||||
|
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{bj}, OperateOption.create());
|
||||||
|
submitResult = OperationServiceHelper.executeOperate("submit", targetEntityNumber, new DynamicObject[]{bj}, OperateOption.create());
|
||||||
|
if (submitResult.isSuccess()) {
|
||||||
|
OperationResult auditResult = OperationServiceHelper.executeOperate("audit", targetEntityNumber, new DynamicObject[]{bj}, OperateOption.create());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
gz.set("createorg", gzlc);
|
||||||
|
gz.set("srccreateorg", gzlc);
|
||||||
|
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{gz}, OperateOption.create());
|
||||||
|
gz.set("mbdmasterid", gz.getLong("id"));
|
||||||
|
SaveServiceHelper.saveOperate(targetEntityNumber, new DynamicObject[]{gz}, OperateOption.create());
|
||||||
|
submitResult = OperationServiceHelper.executeOperate("submit", targetEntityNumber, new DynamicObject[]{gz}, OperateOption.create());
|
||||||
|
if (submitResult.isSuccess()) {
|
||||||
|
OperationResult auditResult = OperationServiceHelper.executeOperate("audit", targetEntityNumber, new DynamicObject[]{gz}, OperateOption.create());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue