Browse Source

添加设备台账及app的查询

lipenghui 1 month ago
parent
commit
c9c85fe0aa
13 changed files with 124 additions and 13 deletions
  1. 8 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/failure/IotFailureReportController.java
  2. 8 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/order/IotInspectOrderController.java
  3. 8 10
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/maintain/IotMaintainController.java
  4. 2 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/maintain/IotMaintainDO.java
  5. 14 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/failure/IotFailureReportMapper.java
  6. 17 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/inspect/IotInspectOrderMapper.java
  7. 18 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/maintain/IotMaintainMapper.java
  8. 1 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/failure/IotFailureReportService.java
  9. 16 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/failure/IotFailureReportServiceImpl.java
  10. 1 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/inspect/IotInspectOrderService.java
  11. 11 3
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/inspect/IotInspectOrderServiceImpl.java
  12. 1 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/maintain/IotMaintainService.java
  13. 19 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/maintain/IotMaintainServiceImpl.java

+ 8 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/failure/IotFailureReportController.java

@@ -82,6 +82,14 @@ public class IotFailureReportController {
         return success(BeanUtils.toBean(pageResult, IotFailureReportRespVO.class));
     }
 
+    @GetMapping("/page/app")
+    @Operation(summary = "获得故障上报分页")
+    @PreAuthorize("@ss.hasPermission('rq:iot-failure-report:query')")
+    public CommonResult<PageResult<IotFailureReportRespVO>> getIotFailureReportPageApp(@Valid IotFailureReportPageReqVO pageReqVO) {
+        PageResult<IotFailureReportDO> pageResult = iotFailureReportService.getIotFailureReportPageApp(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, IotFailureReportRespVO.class));
+    }
+
     @GetMapping("/export-excel")
     @Operation(summary = "导出故障上报 Excel")
     @PreAuthorize("@ss.hasPermission('rq:iot-failure-report:export')")

+ 8 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/order/IotInspectOrderController.java

@@ -155,6 +155,14 @@ public class IotInspectOrderController {
         return success(BeanUtils.toBean(pageResult, IotInspectOrderRespVO.class));
     }
 
+    @GetMapping("/page/app")
+    @Operation(summary = "获得巡检工单分页")
+    @PreAuthorize("@ss.hasPermission('rq:iot-inspect-order:query')")
+    public CommonResult<PageResult<IotInspectOrderRespVO>> getIotInspectOrderPageApp(@Valid IotInspectOrderPageReqVO pageReqVO) {
+        PageResult<IotInspectOrderDO> pageResult = iotInspectOrderService.getIotInspectOrderPageApp(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, IotInspectOrderRespVO.class));
+    }
+
     @GetMapping("/device/page")
     @Operation(summary = "获得设备的巡检工单信息")
     @PreAuthorize("@ss.hasPermission('rq:iot-inspect-order:query')")

+ 8 - 10
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/maintain/IotMaintainController.java

@@ -117,16 +117,14 @@ public class IotMaintainController {
     @PreAuthorize("@ss.hasPermission('rq:iot-maintain:query')")
     public CommonResult<PageResult<IotMaintainRespVO>> getIotMaintainPage(@Valid IotMaintainPageReqVO pageReqVO) {
         PageResult<IotMaintainDO> pageResult = iotMaintainService.getIotMaintainPage(pageReqVO);
-//        for (IotMaintainDO iotMaintainDO : pageResult.getList()) {
-//            Long deviceId = iotMaintainDO.getDeviceId();
-//            if (Objects.nonNull(deviceId)) {
-//                IotDeviceDO iotDevice = iotDeviceService.getIotDevice(deviceId);
-//                if (Objects.nonNull(iotDevice)) {
-//                    iotMaintainDO.setDeviceCode(iotDevice.getDeviceCode());
-//                }
-//            }
-//
-//        }
+        return success(BeanUtils.toBean(pageResult, IotMaintainRespVO.class));
+    }
+
+    @GetMapping("/page/app")
+    @Operation(summary = "获得维修工单分页")
+    @PreAuthorize("@ss.hasPermission('rq:iot-maintain:query')")
+    public CommonResult<PageResult<IotMaintainRespVO>> getIotMaintainPageApp(@Valid IotMaintainPageReqVO pageReqVO) {
+        PageResult<IotMaintainDO> pageResult = iotMaintainService.getIotMaintainPageApp(pageReqVO);
         return success(BeanUtils.toBean(pageResult, IotMaintainRespVO.class));
     }
 

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/maintain/IotMaintainDO.java

@@ -140,4 +140,6 @@ public class IotMaintainDO extends BaseDO {
     private String maintainType;
 
     private String deviceCode;
+
+    private String maintainPersonName;
 }

+ 14 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/failure/IotFailureReportMapper.java

@@ -9,6 +9,8 @@ import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportP
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -41,6 +43,18 @@ public interface IotFailureReportMapper extends BaseMapperX<IotFailureReportDO>
                 .orderByDesc(IotFailureReportDO::getId));
     }
 
+    default PageResult<IotFailureReportDO> selectPageApp(IotFailureReportPageReqVO reqVO, Collection<Long> ids) {
+
+        LambdaQueryWrapper<IotFailureReportDO> wrapper = new LambdaQueryWrapper<>();
+        wrapper.like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotFailureReportDO::getDeviceCode, reqVO.getCommonParam())
+                .or()
+                .like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotFailureReportDO::getDeviceName, reqVO.getCommonParam())
+                .or()
+                .like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotFailureReportDO::getFailureCode, reqVO.getCommonParam()).orderByDesc(IotFailureReportDO::getId);
+        ;
+        return selectPage(reqVO, wrapper);
+    }
+
     default Long selectCountByTimeAndStatus(IotFailureReportPageReqVO reqVO) {
         return selectCount(new LambdaQueryWrapperX<IotFailureReportDO>()
                 .eqIfPresent(IotFailureReportDO::getStatus, reqVO.getStatus())

+ 17 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/inspect/IotInspectOrderMapper.java

@@ -10,6 +10,9 @@ import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectO
 import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectOrderDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectPlanDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -33,6 +36,20 @@ public interface IotInspectOrderMapper extends BaseMapperX<IotInspectOrderDO> {
                 .eqIfPresent(IotInspectOrderDO::getCharge, reqVO.getCharge())
                 .orderByDesc(IotInspectOrderDO::getId));
     }
+
+    default PageResult<IotInspectOrderDO> selectPageApp(IotInspectOrderPageReqVO reqVO, Collection<Long> ids, Collection<Long> idList) {
+        LambdaQueryWrapper<IotInspectOrderDO> wrapper = new LambdaQueryWrapper<>();
+        wrapper.like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotInspectOrderDO::getChargeName, reqVO.getCommonParam())
+                .or()
+                .like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotInspectOrderDO::getInspectOrderCode, reqVO.getCommonParam())
+                .or()
+                .like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotInspectOrderDO::getInspectOrderTitle, reqVO.getCommonParam())
+                .or()
+                .like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotInspectOrderDO::getPlanCode, reqVO.getCommonParam())
+                .orderByDesc(IotInspectOrderDO::getId);
+        return selectPage(reqVO, wrapper);
+    }
+
     default Long selectCountByTimeAndStatus(IotInspectOrderPageReqVO reqVO) {
         return selectCount(new LambdaQueryWrapperX<IotInspectOrderDO>()
                 .eqIfPresent(IotInspectOrderDO::getStatus, reqVO.getStatus())

+ 18 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/maintain/IotMaintainMapper.java

@@ -5,9 +5,12 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.stat.vo.OrderVo;
+import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.material.IotMaintainMaterialDO;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -46,6 +49,21 @@ public interface IotMaintainMapper extends BaseMapperX<IotMaintainDO> {
                 .orderByDesc(IotMaintainDO::getId));
     }
 
+    default PageResult<IotMaintainDO> selectPageApp(IotMaintainPageReqVO reqVO, Collection<Long> ids) {
+
+        LambdaQueryWrapper<IotMaintainDO> wrapper = new LambdaQueryWrapper<>();
+        wrapper.like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotMaintainDO::getDeviceCode, reqVO.getCommonParam())
+                .or()
+                .like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotMaintainDO::getDeviceName, reqVO.getCommonParam())
+                .or()
+                .like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotMaintainDO::getFailureCode, reqVO.getCommonParam())
+                .or()
+                .like(StringUtils.isNotBlank(reqVO.getCommonParam()), IotMaintainDO::getMaintainPersonName, reqVO.getCommonParam())
+                .orderByDesc(IotMaintainDO::getId);
+        ;
+        return selectPage(reqVO, wrapper);
+    }
+
     default Long selectCountByTimeAndStatus(IotMaintainPageReqVO reqVO) {
         return selectCount(new LambdaQueryWrapperX<IotMaintainDO>()
                 .eqIfPresent(IotMaintainDO::getStatus, reqVO.getStatus())

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/failure/IotFailureReportService.java

@@ -58,6 +58,7 @@ public interface IotFailureReportService {
      * @return 故障上报分页
      */
     PageResult<IotFailureReportDO> getIotFailureReportPage(IotFailureReportPageReqVO pageReqVO);
+    PageResult<IotFailureReportDO> getIotFailureReportPageApp(IotFailureReportPageReqVO pageReqVO);
 
     /**
      * 调拨后同步 维修 保养 巡检 工单历史数据

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

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.pms.service.failure;
 
 import cn.hutool.core.date.DateUtil;
+import cn.iocoder.yudao.framework.common.exception.ErrorCode;
 import cn.iocoder.yudao.framework.common.exception.ServiceException;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
@@ -95,6 +96,11 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
             iotMaintainDO.setAuditStatus(null);
             iotMaintainDO.setMaintainType("故障上报");
             iotMaintainDO.setMaintainPerson(Objects.isNull(failureReportDO.getAssigneeUserId())? Long.valueOf(failureReportDO.getCreator()) :failureReportDO.getAssigneeUserId());
+            AdminUserRespDTO apiUser = adminUserApi.getUser(iotMaintainDO.getMaintainPerson());
+            if (Objects.isNull(apiUser)) {
+                throw new ServiceException(new ErrorCode(11,"责任人不存在"));
+            }
+            iotMaintainDO.setMaintainPersonName(apiUser.getNickname());
             iotMaintainDO.setFailureId(failureReportDO.getId());
             iotMaintainDO.setId(null);
             iotMaintainMapper.insert(iotMaintainDO);
@@ -235,6 +241,16 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
         return iotFailureReportMapper.selectPage(pageReqVO, ids);
     }
 
+    @Override
+    public PageResult<IotFailureReportDO> getIotFailureReportPageApp(IotFailureReportPageReqVO pageReqVO) {
+        Set<Long> ids = new HashSet<>();
+        if (Objects.nonNull(pageReqVO.getDeptId())) {
+            ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
+            ids.add(pageReqVO.getDeptId());
+        }
+        return iotFailureReportMapper.selectPageApp(pageReqVO, ids);
+    }
+
     @Override
     public void syncWordOrderData(List<Long> deviceIds, Long deptId) {
         List<IotFailureReportDO> failureReportDOS = iotFailureReportMapper.selectByStatusAndDeviceId(ImmutableList.of("finished", "orderfinished", "close"), deviceIds);

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/inspect/IotInspectOrderService.java

@@ -54,6 +54,7 @@ public interface IotInspectOrderService {
      * @return 巡检工单分页
      */
     PageResult<IotInspectOrderDO> getIotInspectOrderPage(IotInspectOrderPageReqVO pageReqVO);
+    PageResult<IotInspectOrderDO> getIotInspectOrderPageApp(IotInspectOrderPageReqVO pageReqVO);
 
     /**
      * 调拨后同步 维修 保养 巡检 工单历史数据

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

@@ -156,6 +156,16 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
         return iotInspectOrderMapper.selectPage(pageReqVO, ids, pageReqVO.getIdList());
     }
 
+    @Override
+    public PageResult<IotInspectOrderDO> getIotInspectOrderPageApp(IotInspectOrderPageReqVO pageReqVO) {
+        Set<Long> ids = new HashSet<>();
+        if (Objects.nonNull(pageReqVO.getDeptId())) {
+            ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
+            ids.add(pageReqVO.getDeptId());
+        }
+        return iotInspectOrderMapper.selectPageApp(pageReqVO, ids, pageReqVO.getIdList());
+    }
+
     /**
      * 设备调拨同步修改巡检工单的部门id及明细信息
      * @param deviceIds 设备id集合
@@ -240,9 +250,7 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
             iotInspectOrderDO.setChargeName(Objects.nonNull(user)?user.getNickname():"");
             iotInspectOrderDO.setDeptId(v.get(0).getDeptId());
             TenantUtils.execute(1L, () -> iotInspectOrderMapper.insert(iotInspectOrderDO));
-            results.forEach(result->{
-                result.setOrderId(iotInspectOrderDO.getId());
-            });
+            results.forEach(result-> result.setOrderId(iotInspectOrderDO.getId()));
             TenantUtils.execute(1L, () -> {
                 iotInspectOrderDetailMapper.insertBatch(results);
                 iotInspectPlan.setLastCreateTime(LocalDateTime.now());

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/maintain/IotMaintainService.java

@@ -62,6 +62,7 @@ public interface IotMaintainService {
      * @return 维修工单分页
      */
     PageResult<IotMaintainDO> getIotMaintainPage(IotMaintainPageReqVO pageReqVO);
+    PageResult<IotMaintainDO> getIotMaintainPageApp(IotMaintainPageReqVO pageReqVO);
 
     /**
      * 调拨后同步 维修 保养 巡检 工单历史数据

+ 19 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/maintain/IotMaintainServiceImpl.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.pms.service.maintain;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.date.LocalDateTimeUtil;
+import cn.iocoder.yudao.framework.common.exception.ErrorCode;
 import cn.iocoder.yudao.framework.common.exception.ServiceException;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@@ -134,6 +135,10 @@ public class IotMaintainServiceImpl implements IotMaintainService {
         //更新责任人
         IotMaintainDO iotMaintainDO = iotMaintainMapper.selectById(iotFailureReportProcessVO.getId());
         iotMaintainDO.setMaintainPerson(iotFailureReportProcessVO.getAssigneeUserId());
+        if (Objects.isNull(iotFailureReportProcessVO.getAssigneeUserId())) throw new ServiceException(new ErrorCode(11,"责任人id不存在"));
+        AdminUserRespDTO user = adminUserApi.getUser(iotFailureReportProcessVO.getAssigneeUserId());
+        if (Objects.isNull(user)) throw new ServiceException(new ErrorCode(22,"责任人不存在"));
+        iotMaintainDO.setMaintainPersonName(user.getNickname());
         iotMaintainMapper.updateById(iotMaintainDO);
         return iotMaintainDO.getId();
     }
@@ -150,6 +155,10 @@ public class IotMaintainServiceImpl implements IotMaintainService {
         }
         iotMaintain.setDeleted(false);
         iotMaintain.setMaintainPerson(SecurityFrameworkUtils.getLoginUserId());
+        if (Objects.isNull(SecurityFrameworkUtils.getLoginUserId())) throw new ServiceException(new ErrorCode(11,"责任人id不存在"));
+        AdminUserRespDTO user = adminUserApi.getUser(SecurityFrameworkUtils.getLoginUserId());
+        if (Objects.isNull(user)) throw new ServiceException(new ErrorCode(22,"责任人不存在"));
+        iotMaintain.setMaintainPersonName(user.getNickname());
         iotMaintain.setMaintainType("手动新增");
         iotMaintainMapper.insert(iotMaintain);
         //插入工单bom
@@ -373,6 +382,16 @@ public class IotMaintainServiceImpl implements IotMaintainService {
         return iotMaintainMapper.selectPage(pageReqVO, ids);
     }
 
+    @Override
+    public PageResult<IotMaintainDO> getIotMaintainPageApp(IotMaintainPageReqVO pageReqVO) {
+        Set<Long> ids = new HashSet<>();
+        if (Objects.nonNull(pageReqVO.getDeptId())) {
+            ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
+            ids.add(pageReqVO.getDeptId());
+        }
+        return iotMaintainMapper.selectPageApp(pageReqVO, ids);
+    }
+
     @Override
     public void syncWordOrderData(List<Long> deviceIds, Long deptId) {
         List<IotMaintainDO> maintainDOS = iotMaintainMapper.selectByStatusAndAuditStatusAndDeviceId("finished", 20, deviceIds);