Pārlūkot izejas kodu

巡检工单调拨处理

lipenghui 2 mēneši atpakaļ
vecāks
revīzija
49b696c52b

+ 23 - 17
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/InspectCreateOrderJob.java

@@ -134,24 +134,30 @@ public class InspectCreateOrderJob implements JobHandler {
             v.forEach(routeDO -> {
                 List<Map> itemos = JSON.parseArray(routeDO.getItemJson(), Map.class);
                 itemos.forEach(item -> {
-                    IotInspectOrderDetailDO detailDO = new IotInspectOrderDetailDO();
-                    detailDO.setOrderId(iotInspectOrderDO.getId());
-                    detailDO.setDeviceId(routeDO.getDeviceId());
-                    detailDO.setRouteId(routeDO.getId());
-                    detailDO.setItemId(Objects.isNull(item.get("itemId"))?null:Long.valueOf(String.valueOf(item.get("itemId"))));
-                    detailDO.setIndexId(Long.valueOf(String.valueOf(item.get("index"))));
-                    detailDO.setDeleted(false);
-                    items.stream().filter(e -> e.getId().equals(detailDO.getItemId())).findFirst().ifPresent(iotItem->{
-                        detailDO.setStandard(iotItem.getStandard());
-                        detailDO.setUrls(iotItem.getUrls());
-                        detailDO.setItem(iotItem.getItem());
-                    });
-                    IotDeviceDO iotDeviceDO = iotDeviceMapper.selectById(routeDO.getDeviceId());
-                    if (Objects.nonNull(iotDeviceDO)){
-                        detailDO.setDeptId(iotDeviceDO.getDeptId());
+                    Long deviceId = Long.valueOf(String.valueOf(item.get("deviceId")));
+                    IotDeviceDO deviceDO = iotDeviceMapper.selectById(deviceId);
+                    if (Objects.nonNull(deviceDO)){
+                        //如果部门id没调拨过
+                        if (String.valueOf(deviceDO.getDeptId()).equals(String.valueOf(item.get("deptId")))){
+                            IotInspectOrderDetailDO detailDO = new IotInspectOrderDetailDO();
+                            detailDO.setOrderId(iotInspectOrderDO.getId());
+                            detailDO.setDeviceId(routeDO.getDeviceId());
+                            detailDO.setRouteId(routeDO.getId());
+                            detailDO.setItemId(Objects.isNull(item.get("itemId"))?null:Long.valueOf(String.valueOf(item.get("itemId"))));
+                            detailDO.setIndexId(Long.valueOf(String.valueOf(item.get("index"))));
+                            detailDO.setDeleted(false);
+                            items.stream().filter(e -> e.getId().equals(detailDO.getItemId())).findFirst().ifPresent(iotItem->{
+                                detailDO.setStandard(iotItem.getStandard());
+                                detailDO.setUrls(iotItem.getUrls());
+                                detailDO.setItem(iotItem.getItem());
+                            });
+                            IotDeviceDO iotDeviceDO = iotDeviceMapper.selectById(routeDO.getDeviceId());
+                            if (Objects.nonNull(iotDeviceDO)){
+                                detailDO.setDeptId(iotDeviceDO.getDeptId());
+                            }
+                            results.add(detailDO);
+                        }
                     }
-//                    detailDO.setDeptId(iotInspectPlan.getDeptId());
-                    results.add(detailDO);
                 });
             });
             iotInspectOrderDetailMapper.insertBatch(results);

+ 6 - 3
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/inspect/IotInspectOrderServiceImpl.java

@@ -159,6 +159,11 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
         return iotInspectOrderMapper.selectPage(pageReqVO, ids, pageReqVO.getIdList());
     }
 
+    /**
+     * 设备调拨同步修改巡检工单的部门id及明细信息
+     * @param deviceIds 设备id集合
+     * @param deptId 调拨后的部门id
+     */
     @Override
     public void syncWordOrderData(List<Long> deviceIds, Long deptId) {
         deviceIds.forEach(deviceId -> {
@@ -177,10 +182,8 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
                         order.setDeptId(deptId);
                         order.setOrderId(orderDO.getId());
                     });
+                    iotInspectOrderDetailMapper.updateBatch(v);
                 }
-
-
-
             });
 
         });