diff --git a/src/main/java/com/yem/wm/task/ServiceRepairTask.java b/src/main/java/com/yem/wm/task/ServiceRepairTask.java index 3eadaade..884e7932 100644 --- a/src/main/java/com/yem/wm/task/ServiceRepairTask.java +++ b/src/main/java/com/yem/wm/task/ServiceRepairTask.java @@ -1,6 +1,7 @@ package com.yem.wm.task; import com.yem.wm.utils.DynamicObjectUtil; +import com.yem.wm.utils.YEM; import kd.bos.context.RequestContext; import kd.bos.dataentity.OperateOption; import kd.bos.dataentity.entity.DynamicObject; @@ -86,6 +87,51 @@ public class ServiceRepairTask extends AbstractTask { } } } + + updateVoidStatus(); + } + + + /** + * 更新作废状态 + */ + private void updateVoidStatus() { + QFilter qFilter = new QFilter("billstatus", QCP.equals, "C"); + qFilter.and(new QFilter("yem_ismachine", QCP.equals, true)); + DynamicObjectCollection servicerepair_pl = QueryServiceHelper.query("yem_servicerepair", "id,billno,yem_factoryno", new QFilter[]{qFilter}, null); + + for (DynamicObject object : servicerepair_pl) { + String factoryno = object.getString("yem_factoryno"); + if (YEM.isEmpty(factoryno)) { + continue; + } + + //整机档案 + DynamicObject getdevicefiles = getdevicefiles(factoryno); + //服务维修单 + DynamicObject servicerepair = BusinessDataServiceHelper.loadSingle(object.getString("id"), "yem_servicerepair"); + + if (YEM.isNotEmpty(servicerepair) && YEM.isNotEmpty(getdevicefiles)) { + //整机档案维修记录 + DynamicObjectCollection maintenancerecords = getdevicefiles.getDynamicObjectCollection("yem_maintenancerecords"); + //服务维修 + DynamicObjectCollection faultypartsreco = servicerepair.getDynamicObjectCollection("yem_faultypartsreco"); + + for (DynamicObject dynamicObject : faultypartsreco) { + long id = dynamicObject.getLong("id"); + String voidstatus = servicerepair.getString("yem_voidstatus");//作废状态 + for (DynamicObject maintenancerecord : maintenancerecords) { + long yem_servicerepairenryid = maintenancerecord.getLong("yem_servicerepairenryid"); + if (yem_servicerepairenryid == id) { + maintenancerecord.set("yem_voidstatus", voidstatus); + } + } + } + } + + OperationServiceHelper.executeOperate("save", + getdevicefiles.getDynamicObjectType().getName(), new DynamicObject[]{getdevicefiles}, OperateOption.create()); + } } /**