package com.yem.em.task; import com.yem.em.utils.AtlasUtils; import kd.bos.context.RequestContext; 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.Date; import java.util.Map; import static com.yem.em.task.MatchingPLMChangeUpdateTaskEdit.queryPLMChange; /** * @Description: 1、如《PLM变更单》分录【替换关系】=【相互替换】【新替换旧】【互不替换】,分录【启用停用状态】=‘停用’,并且【替换件启用停用状态】=‘启用’,更新当前行【执行状态】为【完成】、【完成时间】默认当前时间,并生成替换关系,记录替换关系id以及行id *

* 2、如《PLM变更单》分录【替换关系】=【新增】,分录【替换件启用停用状态】=‘启用’,更新当前行【执行状态】为【完成】、【完成时间】默认当前时间,并生成替换关系,记录替换关系id以及行id *

* 3、如《PLM变更单》分录【替换关系】=【删除】,分录【启用停用状态】=‘停用’,更新当前行【执行状态】为【完成】、【完成时间】默认当前时间,并生成替换关系,记录替换关系id以及行id * @Date: 2024/8/29 15:38 * @Created: by ZZSLL */ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask { @Override public void execute(RequestContext requestContext, Map map) throws KDException { DynamicObject[] plms = queryPLMChange(); for (DynamicObject plmObj : plms) { DynamicObjectCollection collection = plmObj.getDynamicObjectCollection("yem_change_detail"); DynamicObjectCollection enabled = new DynamicObjectCollection(); for (DynamicObject plm : collection) { Date starttime = plm.getDate("yem_starttime"); // if (替换件启用停用状态 = "启用") {} enabled.add(plm); } 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", "PLM"); } 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", "PLM"); } } } } private DynamicObject createBOMChange(DynamicObject head, DynamicObjectCollection entry) { DynamicObject bomchange = BusinessDataServiceHelper.newDynamicObject("yem_em_bomchange"); return bomchange; } }