소스 검색

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/IotStaticController.java
zhangcl 3 달 전
부모
커밋
8c1b9d3406
12개의 변경된 파일319개의 추가작업 그리고 25개의 파일을 삭제
  1. 37 17
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java
  2. 4 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/vo/IotOpeationFillPageReqVO.java
  3. 2 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/vo/IotOpeationFillRespVO.java
  4. 2 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/IotStaticController.java
  5. 6 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/iotopeationfill/IotOpeationFillDO.java
  6. 44 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/iotopeationfill/IotOpeationFillOrderDO.java
  7. 11 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotopeationfill/IotOpeationFillMapper.java
  8. 33 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotopeationfill/IotOpeationFillOrderMapper.java
  9. 75 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/IotOperationFillJob.java
  10. 8 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillService.java
  11. 26 2
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillServiceImpl.java
  12. 71 3
      yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotOpeationFillMapper.xml

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

@@ -15,9 +15,13 @@ 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.dal.dataobject.yanfan.YfDeviceDO;
 import cn.iocoder.yudao.module.pms.service.IDeviceService;
 import cn.iocoder.yudao.module.pms.service.iotopeationfill.IotOpeationFillService;
+import cn.iocoder.yudao.module.pms.service.yanfan.YfDeviceService;
 import com.aliyun.tea.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -30,6 +34,7 @@ import javax.annotation.security.PermitAll;
 import javax.validation.constraints.*;
 import javax.validation.*;
 import javax.servlet.http.*;
+import java.sql.SQLException;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.*;
@@ -57,6 +62,8 @@ public class IotOpeationFillController {
     private IotOpeationFillService iotOpeationFillService;
     @Resource
     private IDeviceService iDeviceService;
+    @Autowired
+    private YfDeviceService yfDeviceService;
 
     @PostMapping("/create")
     @Operation(summary = "创建运行记录填报")
@@ -116,23 +123,29 @@ public class IotOpeationFillController {
     @Operation(summary = "获得运行记录填报分页")
     @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);
+        List<IotOpeationFillDO> fillList = new ArrayList<>();
+        List<IotOpeationFillDO> deviceList = iotOpeationFillService.deviceList(pageReqVO);
+        if(deviceList.size()==0){
+            fillList = iotOpeationFillService.fillListByDeptId(pageReqVO);
+        }else{
+            fillList = iotOpeationFillService.fillListByUserId(pageReqVO);
         }
-        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 功能优化 设备模板属性")
     @Parameter(name = "deviceCategoryName", description = "名称", required = true, example = "1024")
-    public CommonResult<List<IotModelTemplateAttrsDO>> getModelAttrs(@Valid IotModelTemplateAttrsRespVO vo) {
+    public CommonResult<List<IotModelTemplateAttrsDO>> getModelAttrs(@Valid IotModelTemplateAttrsRespVO vo) throws SQLException{
         List<IotModelTemplateAttrsDO> list = iotOpeationFillService.getAttrsById(vo );
 
         /**
@@ -142,14 +155,21 @@ public class IotOpeationFillController {
          * 3、数采无值,已填写 满足
          * 4、数采无值,未填写 满足
          */
-        for (IotModelTemplateAttrsDO attrsDO:list) {
-            DeviceVO dv= new DeviceVO();
-            dv.setDeviceName(vo.getDeviceCode().toLowerCase());
-            dv.setColName(attrsDO.getModelAttr());
-            DeviceVO deviceVO = iDeviceService.getYesInfo(dv);
-            if(!StringUtils.isEmpty(deviceVO)){
-                attrsDO.setFillContent(
-                        String.valueOf(Double.parseDouble(deviceVO.getLatestData())-Double.parseDouble(deviceVO.getEarliestData())));
+        List<YfDeviceDO> allDevice = yfDeviceService.getAllDevice();
+
+        boolean exists = allDevice.stream()
+                .anyMatch(yfDeviceDO -> yfDeviceDO.getSerialNumber().equals(vo.getDeviceCode()));
+
+        if(exists){
+            for (IotModelTemplateAttrsDO attrsDO:list) {
+                DeviceVO dv= new DeviceVO();
+                dv.setDeviceName(vo.getDeviceCode().toLowerCase());
+                dv.setColName(attrsDO.getModelAttr());
+                DeviceVO deviceVO = iDeviceService.getYesInfo(dv);
+                if(!StringUtils.isEmpty(deviceVO)){
+                    attrsDO.setFillContent(
+                            String.valueOf(Double.parseDouble(deviceVO.getLatestData())-Double.parseDouble(deviceVO.getEarliestData())));
+                }
             }
         }
 

+ 4 - 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,9 @@ public class IotOpeationFillPageReqVO extends PageParam {
     private LocalDateTime[] createTime;
 
     private int isFill;
+    private String orderName;
+    private String orderType;
+    private int orderStatus;
+    private int userId;
 
 }

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

@@ -74,4 +74,6 @@ public class IotOpeationFillRespVO {
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
 
+    private Integer userId;
+
 }

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

@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.util.date.DateUtils;
 import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportPageReqVO;
 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.iotmainworkorder.vo.IotMainWorkOrderSaveReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainPageReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectOrderDO;
@@ -19,6 +20,7 @@ import com.alibaba.fastjson.JSON;
 import com.google.common.collect.ImmutableMap;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -299,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;
+
+}

+ 11 - 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,18 @@ 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);
+    List<IotOpeationFillDO> fillListByUserId(IotOpeationFillPageReqVO vo);
+    List<IotOpeationFillDO> fillListByDeptId(IotOpeationFillPageReqVO vo);
+    List<IotOpeationFillDO> deviceList(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 "创建成功";
+    }
+
+}

+ 8 - 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,12 @@ public interface IotOpeationFillService {
 
     List<IotOpeationFillDO> fillList(IotOpeationFillPageReqVO vo);
 
+    List<IotOpeationFillDO> fillListByUserId(IotOpeationFillPageReqVO vo);
+    List<IotOpeationFillDO> fillListByDeptId(IotOpeationFillPageReqVO vo);
+    List<IotOpeationFillDO> deviceList(IotOpeationFillPageReqVO vo);
+
+    PageResult<IotOpeationFillOrderDO> fillList1(IotOpeationFillPageReqVO vo);
+
     int insertLog(List<IotDeviceRunLogDO> logDO);
 
     /**

+ 26 - 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,26 @@ public class IotOpeationFillServiceImpl implements IotOpeationFillService {
         return iotOpeationFillMapper.fillList(vo);
     }
 
+    @Override
+    public List<IotOpeationFillDO> fillListByUserId(IotOpeationFillPageReqVO vo) {
+        return iotOpeationFillMapper.fillListByUserId(vo);
+    }
+
+    @Override
+    public List<IotOpeationFillDO> fillListByDeptId(IotOpeationFillPageReqVO vo) {
+        return iotOpeationFillMapper.fillListByDeptId(vo);
+    }
+
+    @Override
+    public List<IotOpeationFillDO> deviceList(IotOpeationFillPageReqVO vo) {
+        return iotOpeationFillMapper.deviceList(vo);
+    }
+
+    @Override
+    public PageResult<IotOpeationFillOrderDO> fillList1(IotOpeationFillPageReqVO vo) {
+        return iotOpeationFillOrderMapper.selectPage(vo);
+    }
+
     @Override
     public int insertLog(List<IotDeviceRunLogDO> logDO) {
         return iotOpeationFillMapper.insertLog(logDO);

+ 71 - 3
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
@@ -49,16 +58,75 @@
 
     </insert>
 
-    <select id="fillList" parameterType="cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.IotOpeationFillRespVO"
+   <!-- <select id="fillList" 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
         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="fillList" 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
+        WHERE DATE(create_time) = CURDATE()
+        <if test="userId != null  and userId != ''">
+            and device_id in (select device_id from
+            rqiot.rq_iot_device_person where person_id = #{userId})
+        </if>
+    </select>
+
+
+    <select id="deviceList" parameterType="cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.IotOpeationFillRespVO"
+            resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
+        select device_id from
+            rqiot.rq_iot_device_person where person_id = #{userId}
+    </select>
+
+    <select id="fillListByUserId" 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
+        WHERE DATE(create_time) = CURDATE()
+        <if test="userId != null  and userId != ''">
+            and device_id in (select device_id from
+            rqiot.rq_iot_device_person where person_id = #{userId})
+        </if>
+    </select>
+
+    <select id="fillListByDeptId" 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
+        WHERE DATE(create_time) = CURDATE()
+        <if test="deptId != null  and 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