package shkd.repc.resm.opplugin; import kd.bos.dataentity.OperateOption; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.operate.result.OperationResult; import kd.bos.entity.plugin.args.BeginOperationTransactionArgs; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.operation.DeleteServiceHelper; import kd.bos.servicehelper.operation.OperationServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.repc.resm.opplugin.exam.ExamPlanOp; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; public class newExamPlanOp extends ExamPlanOp { @Override protected void botPubTask(DynamicObject dataEntity) { // super.botPubTask(dataEntity); DynamicObjectCollection plandetails = dataEntity.getDynamicObjectCollection("plandetails"); List evalTaskIdList = (List)plandetails.stream().filter((item) -> { return item.getDynamicObject("evaltask") != null; }).map((item) -> { return item.getDynamicObject("evaltask").getPkValue(); }).collect(Collectors.toList()); QFilter qFilter = new QFilter("id", "in", evalTaskIdList); DynamicObject[] load = BusinessDataServiceHelper.load("resm_exam_task", "id", qFilter.toArray()); DynamicObject[] objects = Arrays.stream(load) // 将数组转换为 Stream .map(dynamicObject -> BusinessDataServiceHelper.loadSingle(dynamicObject.getPkValue(), "resm_exam_task")) // 对每个元素进行处理 .filter(Objects::nonNull) // 过滤掉 null 元素 .toArray(DynamicObject[]::new); OperationResult result = OperationServiceHelper.executeOperate("submit", "resm_exam_task", objects, OperateOption.create()); //提交失败,等候答复 } }