瀏覽代碼

pms 临时新建的保养工单 如果前端没有获取到登录用户部门则直接使用保养项设备所属部门。

zhangcl 19 小時之前
父節點
當前提交
2017e9dd9c

+ 16 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotmainworkorder/IotMainWorkOrderServiceImpl.java

@@ -2345,6 +2345,22 @@ public class IotMainWorkOrderServiceImpl implements IotMainWorkOrderService {
         order.setOrderNumber(createWorkOrderNumber());
         order.setType(2);
         order.setResult(2);
+        // 如果前端没有获取到部门信息 deptId 则使用设备所属部门 作为工单的deptId
+        if (ObjUtil.isEmpty(order.getDeptId())) {
+            List<Long> deviceIds = new ArrayList<>();
+            // 查询 mainWorkOrderBom 集合内部各设备所在部门deptId
+            workOrderBOMs.forEach(bom -> {
+                deviceIds.add(bom.getDeviceId());
+            });
+            IotDevicePageReqVO reqVO = new IotDevicePageReqVO();
+            reqVO.setDeviceIds(deviceIds);
+            List<IotDeviceDO> devices = iotDeviceMapper.selectListAlone(reqVO);
+            if (CollUtil.isNotEmpty(devices)) {
+                devices.forEach(device -> {
+                    order.setDeptId(device.getDeptId());
+                });
+            }
+        }
         iotMainWorkOrderMapper.insert(order);
         // 保养工单明细
         Set<Long> bomNodeIds = new HashSet<>();