fix:生成替换关系,更新已有替换关系
This commit is contained in:
parent
7534118301
commit
c08202795b
@ -122,39 +122,41 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
|||||||
Map<Long, DynamicObject> successMap = new HashMap<>();
|
Map<Long, DynamicObject> successMap = new HashMap<>();
|
||||||
DynamicObject bomChange = createBOMChange(plmObj, enabled);
|
DynamicObject bomChange = createBOMChange(plmObj, enabled);
|
||||||
DynamicObjectCollection entry = bomChange.getDynamicObjectCollection("yem_entryentity");
|
DynamicObjectCollection entry = bomChange.getDynamicObjectCollection("yem_entryentity");
|
||||||
String selectfields = DynamicObjectUtil.getSelectfields("yem_em_replace");
|
|
||||||
selectfields = DynamicObjectUtil.getEntrySelectfields(selectfields, "yem_em_replace", "yem_entryentity");
|
for (DynamicObject entryObject : entry) {
|
||||||
if (!entry.isEmpty()) {
|
useExistReplace(bomChange, entryObject, successMap);
|
||||||
DynamicObject replace = null;
|
|
||||||
String billno = plmObj.getString("billno");
|
|
||||||
String gybg_no = plmObj.getString("yem_gybg_no");
|
|
||||||
if (entry.size() == 1) {
|
|
||||||
logger.info("生成替换关系:PLM单号:{}, PLM工艺变更单号:{},父项编码:{}", billno, gybg_no, entry.get(0).getString("yem_parentno"));
|
|
||||||
logger.info("生成_当前替换关系:{}", entry.get(0).getString("yem_replace"));
|
|
||||||
replace = AtlasUtils.Addreplace(bomChange, entry.get(0), null, "yem_em_replace", "add", "PLM");
|
|
||||||
successMap.put(entry.get(0).getLong("id"), bomChange);
|
|
||||||
} else {
|
|
||||||
for (DynamicObject entryObject : entry) {
|
|
||||||
int idx = entry.indexOf(entryObject);
|
|
||||||
if (idx == 0) {
|
|
||||||
QFilter qFilter = new QFilter("status", "=", "C");
|
|
||||||
qFilter.and("number", "=", bomChange.getString("number"));
|
|
||||||
DynamicObject[] load = BusinessDataServiceHelper.load("yem_em_replace", selectfields, qFilter.toArray());
|
|
||||||
if (load.length == 1) {
|
|
||||||
replace = load[0];
|
|
||||||
replace = AtlasUtils.Addreplace(bomChange, entry.get(0), replace, "yem_em_replace", "update", "PLM");
|
|
||||||
} else {
|
|
||||||
replace = AtlasUtils.Addreplace(bomChange, entry.get(0), null, "yem_em_replace", "add", "PLM");
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
};
|
|
||||||
logger.info("更新替换关系:PLM单号:{}, PLM工艺变更单号:{},父项编码:{}", billno, gybg_no, entryObject.getString("yem_parentno"));
|
|
||||||
logger.info("更新_替换关系:{}", entryObject.getString("yem_replace"));
|
|
||||||
replace = AtlasUtils.Addreplace(bomChange, entry.get(0), replace, "yem_em_replace", "update", "PLM");
|
|
||||||
successMap.put(entryObject.getLong("id"), bomChange);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
// if (!entry.isEmpty()) {
|
||||||
|
// DynamicObject replace = null;
|
||||||
|
// String billno = plmObj.getString("billno");
|
||||||
|
// String gybg_no = plmObj.getString("yem_gybg_no");
|
||||||
|
// if (entry.size() == 1) {
|
||||||
|
// logger.info("生成替换关系:PLM单号:{}, PLM工艺变更单号:{},父项编码:{}", billno, gybg_no, entry.get(0).getString("yem_parentno"));
|
||||||
|
// logger.info("生成_当前替换关系:{}", entry.get(0).getString("yem_replace"));
|
||||||
|
// replace = AtlasUtils.Addreplace(bomChange, entry.get(0), null, "yem_em_replace", "add", "PLM");
|
||||||
|
// successMap.put(entry.get(0).getLong("id"), bomChange);
|
||||||
|
// } else {
|
||||||
|
// for (DynamicObject entryObject : entry) {
|
||||||
|
// int idx = entry.indexOf(entryObject);
|
||||||
|
// if (idx == 0) {
|
||||||
|
// QFilter qFilter = new QFilter("status", "=", "C");
|
||||||
|
// qFilter.and("number", "=", entryObject.getString("yem_parentno"));
|
||||||
|
// DynamicObject[] load = BusinessDataServiceHelper.load("yem_em_replace", selectfields, qFilter.toArray());
|
||||||
|
// if (load.length == 1) {
|
||||||
|
// replace = load[0];
|
||||||
|
// replace = AtlasUtils.Addreplace(bomChange, entry.get(0), replace, "yem_em_replace", "update", "PLM");
|
||||||
|
// } else {
|
||||||
|
// replace = AtlasUtils.Addreplace(bomChange, entry.get(0), null, "yem_em_replace", "add", "PLM");
|
||||||
|
// }
|
||||||
|
// continue;
|
||||||
|
// };
|
||||||
|
// logger.info("更新替换关系:PLM单号:{}, PLM工艺变更单号:{},父项编码:{}", billno, gybg_no, entryObject.getString("yem_parentno"));
|
||||||
|
// logger.info("更新_替换关系:{}", entryObject.getString("yem_replace"));
|
||||||
|
// replace = AtlasUtils.Addreplace(bomChange, entry.get(0), replace, "yem_em_replace", "update", "PLM");
|
||||||
|
// successMap.put(entryObject.getLong("id"), bomChange);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
List<Long> list = new ArrayList<>();
|
List<Long> list = new ArrayList<>();
|
||||||
for (Map.Entry<Long, DynamicObject> mapEntry : successMap.entrySet()) {
|
for (Map.Entry<Long, DynamicObject> mapEntry : successMap.entrySet()) {
|
||||||
Long bomChangeEntryId = mapEntry.getKey();
|
Long bomChangeEntryId = mapEntry.getKey();
|
||||||
@ -188,6 +190,31 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
|||||||
syncImage(plmObj, list);
|
syncImage(plmObj, list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询已存在的替换关系
|
||||||
|
*
|
||||||
|
* @param bomChange
|
||||||
|
* @param bomChangeEntry
|
||||||
|
* @param successMap
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private void useExistReplace(DynamicObject bomChange, DynamicObject bomChangeEntry, Map<Long, DynamicObject> successMap) {
|
||||||
|
QFilter qFilter = new QFilter("status", "=", "C");
|
||||||
|
qFilter.and("number", "=", bomChangeEntry.getString("yem_parentno"));
|
||||||
|
DynamicObject[] load = BusinessDataServiceHelper.load("yem_em_replace", "id, billno", qFilter.toArray());
|
||||||
|
if (load.length > 0) {
|
||||||
|
DynamicObject replace = load[0];
|
||||||
|
replace = BusinessDataServiceHelper.loadSingle(replace.getPkValue(), replace.getDataEntityType().getName());
|
||||||
|
logger.info("使用已有替换关系:{}", replace.getString("number"));
|
||||||
|
AtlasUtils.Addreplace(bomChange, bomChangeEntry, replace, "yem_em_replace", "update", "PLM");
|
||||||
|
successMap.put(bomChangeEntry.getLong("id"), bomChange);
|
||||||
|
} else {
|
||||||
|
logger.info("创建新的替换关系:{}", bomChangeEntry.getString("yem_parentno"));
|
||||||
|
AtlasUtils.Addreplace(bomChange, bomChangeEntry, null, "yem_em_replace", "add", "PLM");
|
||||||
|
successMap.put(bomChangeEntry.getLong("id"), bomChange);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据PLM创建BOM,用于生成替换关系
|
* 根据PLM创建BOM,用于生成替换关系
|
||||||
*
|
*
|
||||||
@ -334,6 +361,7 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
|
|||||||
* 查询匹配的 总成图册明细
|
* 查询匹配的 总成图册明细
|
||||||
* PLM:变更后父项编码 - 总成图册明细.编码
|
* PLM:变更后父项编码 - 总成图册明细.编码
|
||||||
* PLM:变更后子项编码 - 替换关系:ABC 替换编码,E(删除):不匹配,D(新增)替换前编码
|
* PLM:变更后子项编码 - 替换关系:ABC 替换编码,E(删除):不匹配,D(新增)替换前编码
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private DynamicObject queryMatchAssemblyAtlasDetails(DynamicObject plmObj, DynamicObject d) {
|
private DynamicObject queryMatchAssemblyAtlasDetails(DynamicObject plmObj, DynamicObject d) {
|
||||||
|
Loading…
Reference in New Issue
Block a user