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.dataentity.entity.DynamicObjectCollection;
|
||||||
import kd.bos.exception.KDException;
|
import kd.bos.exception.KDException;
|
||||||
import kd.bos.schedule.executor.AbstractTask;
|
import kd.bos.schedule.executor.AbstractTask;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -34,7 +35,25 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
|||||||
// if (替换件启用停用状态 = "启用") {}
|
// if (替换件启用停用状态 = "启用") {}
|
||||||
enabled.add(plm);
|
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 bill 表头数据包
|
||||||
* @param entryentity 分录行数据包
|
* @param entryentity 分录行数据包
|
||||||
* @param entityName 单据标识
|
* @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;
|
DynamicObject billObj = null;
|
||||||
if (type.equals("add")) {
|
if (type.equals("add")) {
|
||||||
billObj = BusinessDataServiceHelper.newDynamicObject(entityName);
|
billObj = BusinessDataServiceHelper.newDynamicObject(entityName);
|
||||||
@ -127,6 +128,7 @@ public class AtlasUtils {
|
|||||||
// AtlasUtils.Upassatlasdet(bill, entryentity, "Audit");
|
// AtlasUtils.Upassatlasdet(bill, entryentity, "Audit");
|
||||||
SubRelationUtils.BomUpdateCMMPTable(bill, entryentity, "Audit");
|
SubRelationUtils.BomUpdateCMMPTable(bill, entryentity, "Audit");
|
||||||
}
|
}
|
||||||
|
return billObj;
|
||||||
} else {
|
} else {
|
||||||
List<IOperateInfo> allErrorOrValidateInfo = Operate.getAllErrorOrValidateInfo();
|
List<IOperateInfo> allErrorOrValidateInfo = Operate.getAllErrorOrValidateInfo();
|
||||||
String message = Operate.getMessage();
|
String message = Operate.getMessage();
|
||||||
@ -1082,52 +1084,4 @@ public class AtlasUtils {
|
|||||||
}
|
}
|
||||||
return list;
|
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