Forráskód Böngészése

巡检工单提交更新状态

lipenghui 3 hónapja
szülő
commit
1d0bf1d299

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

@@ -51,33 +51,26 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
             throw exception(IOT_INSPECT_ORDER_NOT_EXISTS);
         }
         //删除已有的
-//        IotInspectRouteDO routeDO = JSON.parseArray(order.getDeviceIds(), IotInspectRouteDO.class).stream().filter(e -> String.valueOf(e.getDeviceId()).equals(deviceId)).findFirst().get();
-//
-//        List<IotInspectOrderDetailDO> details = iotInspectOrderDetailMapper.selectByMap(ImmutableMap.of("orderId", orderId, "deviceId", deviceId, "itemId", Long.valueOf(String.valueOf(map.get("itemId")))));
-//        if (CollUtil.isNotEmpty(details)){
-//            iotInspectOrderDetailMapper.deleteByIds(details);
-//        }
-//        IotInspectOrderDetailDO detailDO = new IotInspectOrderDetailDO();
-//        detailDO.setOrderId(orderId);
-//        detailDO.setDeviceId(Long.valueOf(deviceId));
-//        detailDO.setItemId(Long.valueOf(String.valueOf(map.get("itemId"))));
-//        detailDO.setIfNormal("1".equals(ifNormal));
-//        detailDO.setDescription(description);
-//        detailDO.setPicUrl(picUrl);
-//        detailDO.setIndexId(Long.valueOf(indexId));
-//        iotInspectOrderDetailMapper.insert(detailDO);
+        IotInspectRouteDO routeDO1 = JSON.parseArray(order.getDeviceIds(), IotInspectRouteDO.class).stream().filter(e -> String.valueOf(e.getDeviceId()).equals(deviceId)).findFirst().get();
+        List<Map> maps1 = JSON.parseArray(routeDO1.getItemJson(), Map.class);
+
+        List<IotInspectOrderDetailDO> details = iotInspectOrderDetailMapper.selectByMap(ImmutableMap.of("order_id", orderId, "device_id", deviceId, "index_id", Long.valueOf(indexId)));
+        Long itemId = details.get(0).getItemId();
+        if (CollUtil.isNotEmpty(details)){
+            iotInspectOrderDetailMapper.deleteByIds(details);
+        }
+        IotInspectOrderDetailDO detailDO = new IotInspectOrderDetailDO();
+        detailDO.setOrderId(orderId);
+        detailDO.setDeviceId(Long.valueOf(deviceId));
+        detailDO.setItemId(itemId);
+        detailDO.setIfNormal("1".equals(ifNormal));
+        detailDO.setDescription(description);
+        detailDO.setPicUrl(picUrl);
+        detailDO.setIndexId(Long.valueOf(indexId));
+        detailDO.setDeleted(false);
+        iotInspectOrderDetailMapper.insert(detailDO);
         //更新order的json串
         List<IotInspectRouteDO> routeDOS = JSON.parseArray(order.getDeviceIds(), IotInspectRouteDO.class);
-//        routeDOS.forEach(routeDO -> {
-//            List<Map> maps = JSON.parseArray(routeDO.getItemJson(), Map.class);
-//            maps.forEach(e -> {
-//                if (String.valueOf(e.get("index")).equals(indexId)){
-//                    e.put("ifNormal", "true".equals(ifNormal));
-//                    e.put("description", description);
-//                    e.put("picUrl", picUrl);
-//                }
-//            });
-//        });
         List<IotInspectRouteDO> newArray = new ArrayList<>();
         for (IotInspectRouteDO routeDO : routeDOS) {
             IotInspectRouteDO newRoute = new IotInspectRouteDO();
@@ -115,6 +108,10 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
             newArray.add(newRoute);
         }
         order.setDeviceIds(JSON.toJSONString(newArray));
+        boolean ma = iotInspectOrderDetailMapper.selectList("order_id", orderId).stream().anyMatch(e -> Objects.isNull(e.getIfNormal()));
+        if (!ma) {
+            order.setStatus("finished");
+        }
         iotInspectOrderMapper.updateById(order);
     }