|
@@ -4,11 +4,13 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
|
|
|
import cn.iocoder.yudao.module.pms.constant.PmsConstants;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectOrderPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectOrderSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdeviceperson.vo.IotDevicePersonPageReqVO;
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDevicePageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.*;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotdeviceperson.IotDevicePersonDO;
|
|
@@ -18,6 +20,7 @@ import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectOrderDetailMapper
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectOrderMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectPlanMapper;
|
|
|
import cn.iocoder.yudao.module.pms.message.PmsMessage;
|
|
|
+import cn.iocoder.yudao.module.pms.service.IotDeviceService;
|
|
|
import cn.iocoder.yudao.module.pms.service.iotdeviceperson.IotDevicePersonService;
|
|
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
@@ -67,6 +70,8 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
|
|
|
private IotDevicePersonService iotDevicePersonService;
|
|
|
@Resource
|
|
|
private PmsMessage pmsMessage;
|
|
|
+ @Autowired
|
|
|
+ private IotDeviceService iotDeviceService;
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -80,60 +85,24 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
|
|
|
if (Objects.isNull(order)){
|
|
|
throw exception(IOT_INSPECT_ORDER_NOT_EXISTS);
|
|
|
}
|
|
|
- //删除已有的
|
|
|
-// 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)));
|
|
|
if (CollUtil.isEmpty(details)){
|
|
|
throw exception(IOT_INSPECT_ORDER_DETAIL_NOT_EXISTS);
|
|
|
}
|
|
|
IotInspectOrderDetailDO detailDO = details.get(0);
|
|
|
-// iotInspectOrderDetailMapper.deleteByIds(details);
|
|
|
detailDO.setIfNormal("true".equals(ifNormal));
|
|
|
detailDO.setDescription(description);
|
|
|
detailDO.setPicUrl(picUrl);
|
|
|
iotInspectOrderDetailMapper.updateById(detailDO);
|
|
|
- //更新order的json串
|
|
|
-// List<IotInspectRouteDO> routeDOS = JSON.parseArray(order.getDeviceIds(), IotInspectRouteDO.class);
|
|
|
-// List<IotInspectRouteDO> newArray = new ArrayList<>();
|
|
|
-// for (IotInspectRouteDO routeDO : routeDOS) {
|
|
|
-// IotInspectRouteDO newRoute = new IotInspectRouteDO();
|
|
|
-// BeanUtils.copyProperties(routeDO, newRoute);
|
|
|
-// List<Map> maps = JSON.parseArray(routeDO.getItemJson(), Map.class);
|
|
|
-// List<Map> newMaps = new ArrayList<>();
|
|
|
-// for (Map map : maps) {
|
|
|
-// Map newMap = new HashMap();
|
|
|
-//// BeanUtils.copyProperties(map, newMap);
|
|
|
-// newMap.put("itemId", map.get("itemId"));
|
|
|
-// newMap.put("index", map.get("index"));
|
|
|
-// newMap.put("item", map.get("item"));
|
|
|
-// newMap.put("standard", map.get("standard"));
|
|
|
-// if (Objects.nonNull(map.get("ifNormal"))) {
|
|
|
-// newMap.put("ifNormal", map.get("ifNormal"));
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(map.get("description"))) {
|
|
|
-// newMap.put("description", map.get("description"));
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(map.get("picUrl"))) {
|
|
|
-// newMap.put("picUrl", map.get("picUrl"));
|
|
|
-// }
|
|
|
-// if (String.valueOf(map.get("index")).equals(indexId)) {
|
|
|
-// newMap.put("ifNormal", "true".equals(ifNormal));
|
|
|
-// if (StringUtils.isNotBlank(description)) {
|
|
|
-// newMap.put("description", description);
|
|
|
-// }
|
|
|
-// if (StringUtils.isNotBlank(picUrl)) {
|
|
|
-// newMap.put("picUrl", picUrl);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// newMaps.add(newMap);
|
|
|
-// }
|
|
|
-// newRoute.setItemJson(JSON.toJSONString(newMaps));
|
|
|
-// newArray.add(newRoute);
|
|
|
-// }
|
|
|
-// order.setDeviceIds(JSON.toJSONString(newArray));
|
|
|
- boolean ma = iotInspectOrderDetailMapper.selectList("order_id", orderId).stream().anyMatch(e -> Objects.isNull(e.getIfNormal()));
|
|
|
+
|
|
|
+ Long deptId = SecurityFrameworkUtils.getLoginUserDeptId();
|
|
|
+ Set<Long> ids = new HashSet<>();
|
|
|
+ if (Objects.nonNull(deptId)) {
|
|
|
+ ids = deptService.getChildDeptIdListFromCache(deptId);
|
|
|
+ ids.add(deptId);
|
|
|
+ }
|
|
|
+ Set<Long> collect = iotDeviceMapper.selectSimpleList(new IotDevicePageReqVO(), ids).stream().map(IotDeviceDO::getId).collect(Collectors.toSet());
|
|
|
+ boolean ma = iotInspectOrderDetailMapper.selectList("order_id", orderId).stream().filter(e -> collect.contains(e.getDeviceId())).anyMatch(f -> Objects.isNull(f.getIfNormal()));
|
|
|
if (!ma) {
|
|
|
order.setStatus("finished");
|
|
|
}
|