fix:生成替换关系误删数据

This commit is contained in:
zzs 2025-01-09 09:32:43 +08:00
parent c4f70968e6
commit 9fe26f5974

View File

@ -89,7 +89,6 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
*/
private void generateReplaceRelation(DynamicObject plmObj, DynamicObjectCollection enabled) {
DynamicObjectCollection collection = plmObj.getDynamicObjectCollection("yem_change_detail");
ArrayList<DynamicObject> remove = Lists.newArrayList();
// 更新是否资源是否总成
for (DynamicObject plm : enabled) {
@ -112,12 +111,7 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
plm.set("yem_isresource", true);
}
logger.info("是否资源:{}{}", parentno, basemodelib != null);
if (!plm.getBoolean("yem_isassy") && !plm.getBoolean("yem_isresource")) {
remove.add(plm);
}
}
collection.removeAll(remove);
// 替换关系生成成功之后更新完成时间状态
Map<Long, DynamicObject> successMap = new HashMap<>();
DynamicObject bomChange = createBOMChange(plmObj, enabled);
@ -126,50 +120,9 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
for (DynamicObject entryObject : entry) {
useExistReplace(bomChange, entryObject, successMap);
}
// 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<>();
for (Map.Entry<Long, DynamicObject> mapEntry : successMap.entrySet()) {
Long bomChangeEntryId = mapEntry.getKey();
// DynamicObject bomChangeObj = mapEntry.getValue();
// DynamicObjectCollection bomChangeEntry = bomChangeObj.getDynamicObjectCollection("yem_entryentity");
// int idx = 0;
// for (DynamicObject bom : bomChangeEntry) {
// if (bomChangeEntryId == bom.getLong("id")) {
// idx = bomChangeEntry.indexOf(bom);
// }
// }
// DynamicObject currentEntry = bomChangeEntry.get(idx);
// Date completetime = currentEntry.getDate("yem_completetime");//完成时间
for (DynamicObject d : collection) {
long id = d.getLong("id");
if (bomChangeEntryId == id) {