Pārlūkot izejas kodu

运行记录填报

yuanchao 3 mēneši atpakaļ
vecāks
revīzija
4fb0be1c9a
11 mainītis faili ar 220 papildinājumiem un 16 dzēšanām
  1. 9 8
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java
  2. 3 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/vo/IotOpeationFillPageReqVO.java
  3. 1 2
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/IotStaticController.java
  4. 6 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/iotopeationfill/IotOpeationFillDO.java
  5. 44 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/iotopeationfill/IotOpeationFillOrderDO.java
  6. 7 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotopeationfill/IotOpeationFillMapper.java
  7. 33 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotopeationfill/IotOpeationFillOrderMapper.java
  8. 75 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/IotOperationFillJob.java
  9. 4 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillService.java
  10. 11 2
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillServiceImpl.java
  11. 27 2
      yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotOpeationFillMapper.xml

+ 9 - 8
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java

@@ -15,6 +15,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotThingsModelDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillOrderDO;
 import cn.iocoder.yudao.module.pms.service.IDeviceService;
 import cn.iocoder.yudao.module.pms.service.iotopeationfill.IotOpeationFillService;
 import com.aliyun.tea.utils.StringUtils;
@@ -117,17 +118,17 @@ public class IotOpeationFillController {
     @PreAuthorize("@ss.hasPermission('rq:iot-opeation-fill:query')")
     public CommonResult<List<IotOpeationFillDO>> getIotOpeationFillPage(@Valid IotOpeationFillPageReqVO pageReqVO) {
         List<IotOpeationFillDO> fillList = iotOpeationFillService.fillList(pageReqVO);
-        List<IotOpeationFillDO> pageResult = iotOpeationFillService.getFillDevices(pageReqVO);
-        if(fillList.size()==0){
-            for (IotOpeationFillDO re:pageResult) {
-                re.setDeviceId(re.getId());
-            }
-            iotOpeationFillService.insertFill(pageResult);
-        }
-        fillList = iotOpeationFillService.fillList(pageReqVO);
         return success(BeanUtils.toBean(fillList, IotOpeationFillDO.class));
     }
 
+    @GetMapping("/page1")
+    @Operation(summary = "获得运行记录填报分页")
+    @PreAuthorize("@ss.hasPermission('rq:iot-opeation-fill:query')")
+    public CommonResult<PageResult<IotOpeationFillOrderDO>> getIotOpeationFillPage1(@Valid IotOpeationFillPageReqVO pageReqVO) {
+        PageResult<IotOpeationFillOrderDO> fillList = iotOpeationFillService.fillList1(pageReqVO);
+        return success(BeanUtils.toBean(fillList, IotOpeationFillOrderDO.class));
+    }
+
     @GetMapping("/getAttrs")
     @PermitAll
     @Operation(summary = "获得PMS 功能优化 设备模板属性")

+ 3 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/vo/IotOpeationFillPageReqVO.java

@@ -72,5 +72,8 @@ public class IotOpeationFillPageReqVO extends PageParam {
     private LocalDateTime[] createTime;
 
     private int isFill;
+    private String orderName;
+    private String orderType;
+    private int orderStatus;
 
 }

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

@@ -301,7 +301,6 @@ public class IotStaticController {
         if (StringUtils.isBlank(identifier)) {
             return null;
         }
-
-
+        return null;
     }
 }

+ 6 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/iotopeationfill/IotOpeationFillDO.java

@@ -91,6 +91,12 @@ public class IotOpeationFillDO extends BaseDO {
      */
     private LocalDate creDate;
 
+    private LocalDateTime createTime;
+
     private int isFill;
 
+    private String orderName;
+    private String orderType;
+    private int orderStatus;
+
 }

+ 44 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/iotopeationfill/IotOpeationFillOrderDO.java

@@ -0,0 +1,44 @@
+package cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 运行记录填报 DO
+ *
+ * @author 芋道源码
+ */
+@TableName("rq_iot_opeation_fill_order")
+@KeySequence("rq_iot_opeation_fill_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class IotOpeationFillOrderDO extends BaseDO {
+
+    /**
+     * 主键id
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 公司id
+     */
+    private Long deptId;
+
+    private LocalDateTime createTime;
+
+    private String orderName;
+    private String orderType;
+    private int orderStatus;
+
+}

+ 7 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotopeationfill/IotOpeationFillMapper.java

@@ -17,10 +17,12 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLo
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillOrderDO;
 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 org.springframework.stereotype.Repository;
 
 /**
  * 运行记录填报 Mapper
@@ -47,10 +49,14 @@ public interface IotOpeationFillMapper extends BaseMapperX<IotOpeationFillDO> {
                 .orderByDesc(IotOpeationFillDO::getId));
     }
 
-    List<IotOpeationFillDO> getFillDevices(IotOpeationFillPageReqVO vo);
+    List<IotOpeationFillDO> getFillDevices();
     List<IotModelTemplateAttrsDO> getAttrsById(IotModelTemplateAttrsRespVO vo);
     int insertFill(List<IotOpeationFillDO> vo);
+    int insertFillOrder(List<IotOpeationFillDO> vo);
     List<IotOpeationFillDO> fillList(IotOpeationFillPageReqVO vo);
+    PageResult<IotOpeationFillDO> fillList1(IotOpeationFillPageReqVO vo);
+
+
     int insertLog(List<IotDeviceRunLogDO> logDO);
     int updateFill(IotOpeationFillSaveReqVO vo);
     List<IotDeviceRunLogDO> getDeivceFillInfo(IotDeviceRunLogDO vo);

+ 33 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotopeationfill/IotOpeationFillOrderMapper.java

@@ -0,0 +1,33 @@
+package cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+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.iotmodeltemplateattrs.vo.IotModelTemplateAttrsRespVO;
+import cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.IotOpeationFillPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.IotOpeationFillSaveReqVO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLogDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillOrderDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 运行记录填报 Mapper
+ *
+ * @author 芋道源码
+ */
+@Mapper
+public interface IotOpeationFillOrderMapper extends BaseMapperX<IotOpeationFillOrderDO> {
+
+    default PageResult<IotOpeationFillOrderDO> selectPage(IotOpeationFillPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<IotOpeationFillOrderDO>()
+                .eqIfPresent(IotOpeationFillOrderDO::getDeptId, reqVO.getDeptId())
+                .likeIfPresent(IotOpeationFillOrderDO::getOrderName, reqVO.getOrderName())
+                .eqIfPresent(IotOpeationFillOrderDO::getOrderType, reqVO.getOrderType())
+                .eqIfPresent(IotOpeationFillOrderDO::getOrderStatus, reqVO.getOrderStatus())
+                .betweenIfPresent(IotOpeationFillOrderDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(IotOpeationFillOrderDO::getId));
+    }
+}

+ 75 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/IotOperationFillJob.java

@@ -0,0 +1,75 @@
+package cn.iocoder.yudao.module.pms.job;
+
+import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
+import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
+import cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.IotOpeationFillPageReqVO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO;
+import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.security.PermitAll;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author yc
+ * @version 1.0
+ * @className IotOperationFillTask
+ * @date 2025/5/11 10:26
+ * @description
+ */
+@Component
+@Slf4j
+public class IotOperationFillJob implements JobHandler {
+
+
+    @Autowired
+    private IotOpeationFillMapper iotOpeationFillMapper;
+
+    @Override
+    @TenantJob
+    public String execute(String param) throws Exception {
+        System.out.println("***********创建运行记录填报工单开始执行*********8");
+        List<IotOpeationFillDO> orderList = new ArrayList<>();
+        Long[] deptArray = {157L,158L,163L};
+        for (Long a:deptArray) {
+            IotOpeationFillDO fillDO = new IotOpeationFillDO();
+            fillDO.setDeptId(a);
+            if(a==157L){
+                fillDO.setOrderName("瑞恒兴域运行记录填报");
+            }else if(a==158L){
+                fillDO.setOrderName("瑞鹰国际运行记录填报");
+            }else{
+                fillDO.setOrderName("四川瑞都运行记录填报");
+            }
+            fillDO.setOrderType("计划生成");
+            fillDO.setOrderStatus(0);
+            fillDO.setCreateTime(LocalDateTime.now());
+            orderList.add(fillDO);
+        }
+        iotOpeationFillMapper.insertFillOrder(orderList);
+        System.out.println("***********创建运行记录填报工单执行结束*********8");
+
+        System.out.println("*****************插入运行记录设备表***********************");
+        IotOpeationFillPageReqVO vo = new IotOpeationFillPageReqVO();
+        List<IotOpeationFillDO> fillList = iotOpeationFillMapper.fillList(vo);
+        if(fillList.size()==0){
+            List<IotOpeationFillDO> deviceList = iotOpeationFillMapper.getFillDevices();
+            for (IotOpeationFillDO re:deviceList) {
+                re.setDeviceId(re.getId());
+            }
+            iotOpeationFillMapper.insertFill(deviceList);
+        }
+        System.out.println("*****************插入运行记录设备表完成***********************");
+        return "创建成功";
+    }
+
+}

+ 4 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillService.java

@@ -16,6 +16,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLo
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillOrderDO;
 
 /**
  * 运行记录填报 Service 接口
@@ -62,7 +63,7 @@ public interface IotOpeationFillService {
      */
     PageResult<IotOpeationFillDO> getIotOpeationFillPage(IotOpeationFillPageReqVO pageReqVO);
 
-    List<IotOpeationFillDO> getFillDevices(IotOpeationFillPageReqVO vo);
+    List<IotOpeationFillDO> getFillDevices();
 
     List<IotModelTemplateAttrsDO> getAttrsById(IotModelTemplateAttrsRespVO vo);
 
@@ -70,6 +71,8 @@ public interface IotOpeationFillService {
 
     List<IotOpeationFillDO> fillList(IotOpeationFillPageReqVO vo);
 
+    PageResult<IotOpeationFillOrderDO> fillList1(IotOpeationFillPageReqVO vo);
+
     int insertLog(List<IotDeviceRunLogDO> logDO);
 
     /**

+ 11 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillServiceImpl.java

@@ -12,7 +12,9 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLo
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillOrderDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillMapper;
+import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillOrderMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.stereotype.Service;
@@ -40,6 +42,8 @@ public class IotOpeationFillServiceImpl implements IotOpeationFillService {
 
     @Resource
     private IotOpeationFillMapper iotOpeationFillMapper;
+    @Resource
+    private IotOpeationFillOrderMapper iotOpeationFillOrderMapper;
 
     @Override
     public Long createIotOpeationFill(IotOpeationFillSaveReqVO createReqVO) {
@@ -85,8 +89,8 @@ public class IotOpeationFillServiceImpl implements IotOpeationFillService {
 
 
     @Override
-    public List<IotOpeationFillDO> getFillDevices(IotOpeationFillPageReqVO vo) {
-        return iotOpeationFillMapper.getFillDevices(vo);
+    public List<IotOpeationFillDO> getFillDevices() {
+        return iotOpeationFillMapper.getFillDevices();
     }
 
     @Override
@@ -104,6 +108,11 @@ public class IotOpeationFillServiceImpl implements IotOpeationFillService {
         return iotOpeationFillMapper.fillList(vo);
     }
 
+    @Override
+    public PageResult<IotOpeationFillOrderDO> fillList1(IotOpeationFillPageReqVO vo) {
+        return iotOpeationFillOrderMapper.selectPage(vo);
+    }
+
     @Override
     public int insertLog(List<IotDeviceRunLogDO> logDO) {
         return iotOpeationFillMapper.insertLog(logDO);

+ 27 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotOpeationFillMapper.xml

@@ -4,7 +4,6 @@
 
 
     <select id="getFillDevices"
-            parameterType="cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.IotOpeationFillPageReqVO"
             resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
         select
             distinct
@@ -37,6 +36,16 @@
         </foreach>
     </insert>
 
+    <insert id="insertFillOrder"
+            parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
+        insert into rqiot.rq_iot_opeation_fill_order(dept_id,order_name,order_status,create_time,order_type)
+        values
+        <foreach collection="list" item="item" separator=",">
+            (#{item.deptId},#{item.orderName},#{item.orderStatus},#{item.createTime},#{item.orderType})
+        </foreach>
+
+    </insert>
+
     <insert id="insertLog"
             parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLogDO">
         insert into rqiot.rq_iot_device_run_log
@@ -55,10 +64,26 @@
             rqiot.rq_iot_opeation_fill
         WHERE DATE(create_time) = CURDATE()
         <if test="deptId != null  and deptId != ''">
-        and dept_id = #{deptId}
+        and dept_id in (SELECT d1.id
+            FROM system_dept d1
+            JOIN system_dept d2 ON d2.id = d1.parent_id
+            WHERE d2.parent_id = #{deptId}
+            union
+            select id from system_dept where id = #{deptId})
         </if>
     </select>
 
+    <select id="fillList1" parameterType="cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.IotOpeationFillRespVO"
+            resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
+        SELECT * FROM
+        rqiot.rq_iot_opeation_fill_order
+        WHERE 1=1
+        <if test="deptId != null  and deptId != ''">
+            and dept_id = #{deptId}
+        </if>
+    </select>
+
+
     <select id="getAttrsById" parameterType="cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceRespVO"
     resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO">
         select