Browse Source

待办提醒接口

lipenghui 2 months ago
parent
commit
496a5cb4e9

+ 1 - 1
yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/enums/ErrorCodeConstant.java

@@ -68,5 +68,5 @@ public interface ErrorCodeConstant{
     ErrorCode IOT_MATERIAL_REQUISITION_DETAIL_NOT_EXISTS = new ErrorCode(155, "PMS 物料领用明细不存在");
     ErrorCode IOT_PROJECT_INFO_NOT_EXISTS = new ErrorCode(152, "项目信息不存在");
     ErrorCode IOT_PROJECT_TASK_NOT_EXISTS = new ErrorCode(153, "该任务不存在");
-
+    ErrorCode PRODUCT_EXITS_CHILDREN = new ErrorCode(1_002_004_003, "存在子分类,无法删除");
 }

+ 2 - 5
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/IotStaticController.java

@@ -11,9 +11,7 @@ import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectO
 import cn.iocoder.yudao.module.pms.controller.admin.iotmainworkorder.vo.IotMainWorkOrderPageReqVO;
 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.controller.admin.vo.DeviceVO;
 import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDevicePageReqVO;
-import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceSaveReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotProductClassifyDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
@@ -45,7 +43,6 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.Data;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -53,7 +50,6 @@ import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
-import java.sql.Timestamp;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -106,7 +102,8 @@ public class IotStaticController {
     }
 
     @GetMapping("/notice")
-    public CommonResult<PageResult<OrderVo>> getNotice(@Valid IotMaintainPageReqVO pageReqVO) {
+    public CommonResult<PageResult<OrderVo>> getNotice(@Valid OrderVo pageReqVO) {
+        pageReqVO.setPageSize(1);
         PageResult<OrderVo> notice = iotMaintainService.getNotice(pageReqVO);
         if (CollUtil.isEmpty(notice.getList())) {
             return success(new PageResult<>(notice.getTotal()));

+ 6 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/vo/OrderVo.java

@@ -1,9 +1,14 @@
 package cn.iocoder.yudao.module.pms.controller.admin.stat.vo;
 
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
 
 @Data
-public class OrderVo {
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class OrderVo extends PageParam {
     private Long id;
     private String title;
     private String status;

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

@@ -1,21 +1,19 @@
 package cn.iocoder.yudao.module.pms.dal.mysql.maintain;
 
-import java.util.*;
-
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportPageReqVO;
+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.IotDeviceDO;
-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.metadata.IPage;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Collection;
+import java.util.List;
+
 /**
  * 维修工单 Mapper
  *
@@ -60,5 +58,5 @@ public interface IotMaintainMapper extends BaseMapperX<IotMaintainDO> {
                 .eq(IotMaintainDO::getAuditStatus, auditStatus)
                 .in(IotMaintainDO::getDeviceId, deviceIds));
     }
-    IPage<OrderVo> selectNotice(IPage<IotMaintainMaterialDO> page);
+    IPage<OrderVo> selectNotice(IPage<OrderVo> page, @Param("reqVO")OrderVo reqVO);
 }

+ 2 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/IotProductClassifyServiceImpl.java

@@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.pms.controller.admin.vo.IotProductClassifyListReq
 import cn.iocoder.yudao.module.pms.controller.admin.vo.IotProductClassifySaveReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotProductClassifyDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.IotProductClassifyMapper;
+import cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant;
 import com.google.common.annotations.VisibleForTesting;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -71,7 +72,7 @@ public class IotProductClassifyServiceImpl implements IotProductClassifyService
         validateIotProductClassifyExists(id);
         // 校验是否有子产品分类
         if (iotProductClassifyMapper.selectCountByParentId(id) > 0) {
-            throw exception(DEPT_EXITS_CHILDREN);
+            throw exception(ErrorCodeConstant.PRODUCT_EXITS_CHILDREN);
         }
         // 删除产品分类
         iotProductClassifyMapper.deleteById(id);

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

@@ -21,7 +21,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.material.IotMaintainM
  * @author 袁超
  */
 public interface IotMaintainService {
-    PageResult<OrderVo> getNotice(IotMaintainPageReqVO pageReqVO);
+    PageResult<OrderVo> getNotice(OrderVo pageReqVO);
     void approvalMaintain(Long businessKey, Integer bpmStatus);
     Long submitForApproval(Long id);
     Long updateMaintainProcess(IotFailureReportProcessVO iotFailureReportProcessVO);

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

@@ -21,6 +21,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotProductClassifyDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.information.IotInformationDbDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectRouteDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotlockstock.IotLockStockDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotoutbound.IotOutboundDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainBomDO;
@@ -381,8 +382,9 @@ public class IotMaintainServiceImpl implements IotMaintainService {
 
 
     @Override
-    public PageResult<OrderVo> getNotice(IotMaintainPageReqVO pageReqVO) {
-        IPage<OrderVo> notices = iotMaintainMapper.selectNotice(Page.of(pageReqVO.getPageNo(), pageReqVO.getPageSize()));
+    public PageResult<OrderVo> getNotice(OrderVo pageReqVO) {
+
+        IPage<OrderVo> notices = iotMaintainMapper.selectNotice(Page.of(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO);
         return new PageResult<>(notices.getRecords(), notices.getTotal());
     }
 }

+ 47 - 7
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotMaintainMapper.xml

@@ -4,12 +4,52 @@
 
     <select id="selectNotice"
             resultType="cn.iocoder.yudao.module.pms.controller.admin.stat.vo.OrderVo">
-        select a.id,a.failure_name title, '待填写' as status,a.maintain_person person, '维修工单' as type,a.create_time from rq_iot_maintain a where status='tx' and deleted=false
-        union all
-        select b.id,b.inspect_order_title title,'待执行' as status,b.charge_name person,'巡检工单' as type,b.create_time from rq_iot_inspect_order b where status='todo' and deleted=false
-        union all
-        select c.id,c.name title, '待填写' as status, c.responsible_person person,'保养工单' as type,c.create_time from rq_iot_main_work_order c where result=1 and deleted=false
-        union all
-        select d.id,d.order_name title,'待填写' as status,user_name as person, '运行记录' as type,d.create_time from rq_iot_opeation_fill_order d where order_status=0 and deleted=false
+select * from (select a.id,
+                      a.failure_name    title,
+                      '待填写'   as     status,
+                      a.maintain_person person,
+                      '维修工单' as     type,
+                      a.create_time
+               from rq_iot_maintain a
+               where status = 'tx'
+                 and deleted = false
+               union all
+               select b.id,
+                      b.inspect_order_title title,
+                      '待执行'   as         status,
+                      b.charge_name         person,
+                      '巡检工单' as         type,
+                      b.create_time
+               from rq_iot_inspect_order b
+               where status = 'todo'
+                 and deleted = false
+               union all
+               select c.id,
+                      c.name               title,
+                      '待填写'   as        status,
+                      c.responsible_person person,
+                      '保养工单' as        type,
+                      c.create_time
+               from rq_iot_main_work_order c
+               where result = 1
+                 and deleted = false
+               union all
+               select d.id,
+                      d.order_name  title,
+                      '待填写'   as status,
+                      user_name  as person,
+                      '运行记录' as type,
+                      d.create_time
+               from rq_iot_opeation_fill_order d
+               where order_status = 0
+                 and deleted = false)fin
+        <where>
+            <if test="reqVO.title!=null and reqVO.title!=''">
+                and fin.title LIKE CONCAT('%',#{reqVO.title},'%')
+            </if>
+            <if test="reqVO.type!=null and reqVO.type!=''">
+                and fin.type LIKE CONCAT('%',#{reqVO.type},'%')
+            </if>
+        </where>
     </select>
 </mapper>