瀏覽代碼

添加统计接口,添加站内信参数json

lipenghui 2 月之前
父節點
當前提交
2767482228

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

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.pms.controller.admin.stat;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.Pms;
 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
 import cn.iocoder.yudao.module.pms.controller.admin.DeviceHistoryParam;
@@ -9,8 +10,10 @@ import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportP
 import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectOrderPageReqVO;
 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;
@@ -28,8 +31,10 @@ import cn.iocoder.yudao.module.pms.dal.mysql.iotsapstock.IotSapStockMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper;
 import cn.iocoder.yudao.module.pms.service.DeviceServiceImpl;
 import cn.iocoder.yudao.module.pms.service.inspect.IotInspectOrderService;
+import cn.iocoder.yudao.module.pms.service.maintain.IotMaintainService;
 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
 import cn.iocoder.yudao.module.system.service.dict.DictDataService;
 import com.alibaba.fastjson.JSON;
@@ -47,14 +52,13 @@ import org.springframework.web.bind.annotation.*;
 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.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.getLastYearMonthRanges;
 
 @Tag(name = "统计接口")
@@ -86,6 +90,8 @@ public class IotStaticController {
     private IotSapStockMapper iotSapStockMapper;
     @Autowired
     private RestTemplate restTemplate;
+    @Autowired
+    private IotMaintainService iotMaintainService;
 
     @GetMapping("/main/day")
     public CommonResult<Map<String, Object>> getMaintainDay() {
@@ -99,12 +105,21 @@ public class IotStaticController {
         return CommonResult.success(ImmutableMap.of("failureDay", failure, "maintainDay", maintain));
     }
 
-
-
-    public static class OrderVo{
-        private String title;
-        private String status;
-        private String person;
+    @GetMapping("/notice")
+    public CommonResult<PageResult<OrderVo>> getNotice(@Valid IotMaintainPageReqVO pageReqVO) {
+        PageResult<OrderVo> notice = iotMaintainService.getNotice(pageReqVO);
+        if (CollUtil.isEmpty(notice.getList())) {
+            return success(new PageResult<>(notice.getTotal()));
+        }
+        notice.getList().forEach(orderVo -> {
+            if ("维修工单".equals(orderVo.getType())||"保养工单".equals(orderVo.getType())) {
+                if (Objects.nonNull(orderVo.getPerson())) {
+                    AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(orderVo.getPerson()));
+                    orderVo.setPerson(user.getNickname());
+                }
+            }
+        });
+        return success(notice);
     }
 
     @GetMapping("/main/week")

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

@@ -0,0 +1,13 @@
+package cn.iocoder.yudao.module.pms.controller.admin.stat.vo;
+
+import lombok.Data;
+
+@Data
+public class OrderVo {
+    private Long id;
+    private String title;
+    private String status;
+    private String person;
+    private String type;
+    private String createTime;
+}

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

@@ -7,10 +7,14 @@ 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.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;
 
 /**
  * 维修工单 Mapper
@@ -56,4 +60,5 @@ public interface IotMaintainMapper extends BaseMapperX<IotMaintainDO> {
                 .eq(IotMaintainDO::getAuditStatus, auditStatus)
                 .in(IotMaintainDO::getDeviceId, deviceIds));
     }
+    IPage<OrderVo> selectNotice(IPage<IotMaintainMaterialDO> page);
 }

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

@@ -4,12 +4,16 @@ import java.util.*;
 import javax.validation.*;
 
 import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportProcessVO;
+import cn.iocoder.yudao.module.pms.controller.admin.maintain.material.vo.IotMaintainMaterialPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainSaveReqVO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainSaveVO;
+import cn.iocoder.yudao.module.pms.controller.admin.stat.IotStaticController;
+import cn.iocoder.yudao.module.pms.controller.admin.stat.vo.OrderVo;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.material.IotMaintainMaterialDO;
 
 /**
  * 维修工单 Service 接口
@@ -17,6 +21,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
  * @author 袁超
  */
 public interface IotMaintainService {
+    PageResult<OrderVo> getNotice(IotMaintainPageReqVO pageReqVO);
     void approvalMaintain(Long businessKey, Integer bpmStatus);
     Long submitForApproval(Long id);
     Long updateMaintainProcess(IotFailureReportProcessVO iotFailureReportProcessVO);

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

@@ -11,9 +11,12 @@ import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
 import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
 import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportProcessVO;
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.bom.vo.IotMaintainBomSaveReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.maintain.material.vo.IotMaintainMaterialPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainSaveReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainSaveVO;
+import cn.iocoder.yudao.module.pms.controller.admin.stat.IotStaticController;
+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.IotProductClassifyDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
@@ -23,6 +26,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotoutbound.IotOutboundDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainBomDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainMaterialsDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.material.IotMaintainMaterialDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.failure.IotFailureReportMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.information.IotInformationDbMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotlockstock.IotLockStockMapper;
@@ -41,7 +45,10 @@ import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
 import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
+import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
 import cn.iocoder.yudao.module.system.service.dept.DeptService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.ImmutableMap;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -372,4 +379,10 @@ public class IotMaintainServiceImpl implements IotMaintainService {
         iotMaintainMapper.updateBatch(maintainDOS);
     }
 
+
+    @Override
+    public PageResult<OrderVo> getNotice(IotMaintainPageReqVO pageReqVO) {
+        IPage<OrderVo> notices = iotMaintainMapper.selectNotice(Page.of(pageReqVO.getPageNo(), pageReqVO.getPageSize()));
+        return new PageResult<>(notices.getRecords(), notices.getTotal());
+    }
 }

+ 15 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotMaintainMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper">
+
+    <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>
+</mapper>

+ 0 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.java

@@ -51,6 +51,4 @@ public class NotifyMessageRespVO {
 
     @Schema(description = "业务id")
     private String businessId;
-
-    private String paramJson;
 }

+ 0 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyMessageDO.java

@@ -107,6 +107,4 @@ public class NotifyMessageDO extends BaseDO {
      * 业务id
      */
     private String businessId;
-
-    private String paramJson;
 }