fix:PLM生成替换关系

This commit is contained in:
zzs 2024-11-23 11:31:56 +08:00
parent 2eea9f32cb
commit 4ad03482d2

View File

@ -13,6 +13,7 @@ import kd.bos.schedule.executor.AbstractTask;
import kd.bos.servicehelper.AttachmentServiceHelper;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -86,6 +87,7 @@ 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) {
@ -110,9 +112,10 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
logger.info("是否资源:{}{}", parentno, basemodelib != null);
if (!plm.getBoolean("yem_isassy") && !plm.getBoolean("yem_isresource")) {
enabled.remove(plm);
remove.add(plm);
}
}
collection.removeAll(remove);
// 替换关系生成成功之后更新完成时间状态
Map<Long, DynamicObject> successMap = new HashMap<>();
DynamicObject bomChange = createBOMChange(plmObj, enabled);
@ -186,6 +189,11 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
bomchange.set("creator", head.getDynamicObject("creator"));//创建人
DynamicObjectCollection detail = bomchange.getDynamicObjectCollection("yem_entryentity");
for (DynamicObject entry : entries) {
if (!entry.getBoolean("yem_isassy") && !entry.getBoolean("yem_isresource")) {
continue;
}
DynamicObject addNew = detail.addNew();
addNew.set("id", entry.getLong("id"));
@ -262,6 +270,9 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask {
Date breakpointtime = getBreakPointTime(detail, partno);
DynamicObject attachment = AttachmentServiceHelper.getAttCreatorByUID(pictureid);
if (YEM.isEmpty(attachment)) {
continue;
}
String url = attachment.getString("ffileid");
String fattachmentsize = attachment.getString("fattachmentsize");
if (YEM.isEmpty(fattachmentsize) || Long.parseLong(fattachmentsize) == 0) {