wip:PLM匹配,生成替换关系
This commit is contained in:
parent
15ec1e9cac
commit
db1cce9b4d
@ -6,6 +6,7 @@ import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.exception.KDException;
|
||||
import kd.bos.schedule.executor.AbstractTask;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@ -34,7 +35,25 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
||||
// if (替换件启用停用状态 = "启用") {}
|
||||
enabled.add(plm);
|
||||
}
|
||||
AtlasUtils.generateReplaceRelationPLM(plmObj, enabled);
|
||||
DynamicObject bomChange = createBOMChange(plmObj, enabled);
|
||||
DynamicObjectCollection entry = bomChange.getDynamicObjectCollection("yem_entryentity");
|
||||
if (!entry.isEmpty()) {
|
||||
DynamicObject replace = null;
|
||||
if (entry.size() == 1) {
|
||||
replace = AtlasUtils.Addreplace(bomChange, entry.get(0), null, "yem_em_replace", "add");
|
||||
}
|
||||
for (DynamicObject entryObject : entry) {
|
||||
int idx = entry.indexOf(entryObject);
|
||||
if (idx == 0) continue;
|
||||
replace = AtlasUtils.Addreplace(bomChange, entry.get(0), replace, "yem_em_replace", "update");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private DynamicObject createBOMChange(DynamicObject head, DynamicObjectCollection entry) {
|
||||
DynamicObject bomchange = BusinessDataServiceHelper.newDynamicObject("yem_em_bomchange");
|
||||
|
||||
return bomchange;
|
||||
}
|
||||
}
|
||||
|
@ -32,8 +32,9 @@ public class AtlasUtils {
|
||||
* @param bill 表头数据包
|
||||
* @param entryentity 分录行数据包
|
||||
* @param entityName 单据标识
|
||||
* @return
|
||||
*/
|
||||
public static void Addreplace(DynamicObject bill, DynamicObject entryentity, DynamicObject replace, String entityName, String type) {
|
||||
public static DynamicObject Addreplace(DynamicObject bill, DynamicObject entryentity, DynamicObject replace, String entityName, String type) {
|
||||
DynamicObject billObj = null;
|
||||
if (type.equals("add")) {
|
||||
billObj = BusinessDataServiceHelper.newDynamicObject(entityName);
|
||||
@ -127,6 +128,7 @@ public class AtlasUtils {
|
||||
// AtlasUtils.Upassatlasdet(bill, entryentity, "Audit");
|
||||
SubRelationUtils.BomUpdateCMMPTable(bill, entryentity, "Audit");
|
||||
}
|
||||
return billObj;
|
||||
} else {
|
||||
List<IOperateInfo> allErrorOrValidateInfo = Operate.getAllErrorOrValidateInfo();
|
||||
String message = Operate.getMessage();
|
||||
@ -1082,52 +1084,4 @@ public class AtlasUtils {
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* PLM变更单生成替换关系
|
||||
* @param head 单据头数据
|
||||
* @param entryCollection 分录数据(一行)
|
||||
*/
|
||||
public static void generateReplaceRelationPLM(DynamicObject head, DynamicObjectCollection entryCollection) {
|
||||
DynamicObject replace = BusinessDataServiceHelper.newDynamicObject("yem_em_replace");
|
||||
replace.set("createorg", head.getDynamicObject("createorg"));
|
||||
replace.set("enable", "1");
|
||||
replace.set("status", "C");
|
||||
replace.set("yem_sourcetype", "PLM");//来源类型
|
||||
DynamicObjectCollection collection = replace.getDynamicObjectCollection("yem_entryentity");
|
||||
for (DynamicObject entry : entryCollection) {
|
||||
DynamicObject addNew = collection.addNew();
|
||||
|
||||
addNew.set("yem_operator", YEM.getCurrentUserId());//操作人
|
||||
addNew.set("yem_replacedate", new Date());//操作时间
|
||||
|
||||
addNew.set("yem_replace", entry.getString("yem_exchangetype"));//替换关系
|
||||
addNew.set("yem_sourcetypeen", head.getDynamicObjectType().getName());//来源类型
|
||||
addNew.set("yem_trackingno", head.getString("billno"));//来源单号
|
||||
addNew.set("yem_trackingid", head.getLong("id"));//来源内码
|
||||
addNew.set("yem_sourceid", entry.getLong("id"));//来源分录内码
|
||||
}
|
||||
|
||||
OperationResult Operate = OperationServiceHelper.executeOperate("save",
|
||||
replace.getDynamicObjectType().getName(),
|
||||
new DynamicObject[]{replace}, OperateOption.create());
|
||||
|
||||
if (Operate.isSuccess()) {
|
||||
// //总成
|
||||
// boolean yem_isass = entryentity.getBoolean("yem_isass");
|
||||
// if (yem_isass) {
|
||||
// AtlasUtils.Upassatlasdet(head, entryentity, "Audit");
|
||||
// }
|
||||
// //资源
|
||||
// boolean yem_isresource = entryentity.getBoolean("yem_isresource");
|
||||
// if (yem_isresource) {
|
||||
//// AtlasUtils.Upassatlasdet(bill, entryentity, "Audit");
|
||||
// SubRelationUtils.BomUpdateCMMPTable(bill, entryentity, "Audit");
|
||||
// }
|
||||
} else {
|
||||
List<IOperateInfo> allErrorOrValidateInfo = Operate.getAllErrorOrValidateInfo();
|
||||
String message = Operate.getMessage();
|
||||
throw new KDBizException("保存《替换关系》失败,失败信息为:," + message + "," + allErrorOrValidateInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user