Browse Source

消息通知,任务拆分

yuanchao 2 months ago
parent
commit
53125c22ca
11 changed files with 104 additions and 12 deletions
  1. 1 3
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java
  2. 11 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotprojectinfo/IotProjectInfoController.java
  3. 16 3
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotprojecttask/IotProjectTaskController.java
  4. 22 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotprojectinfo/IotProjectInfoMapper.java
  5. 20 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotprojecttask/IotProjectTaskMapper.java
  6. 5 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/message/PmsMessage.java
  7. 2 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotprojectinfo/IotProjectInfoService.java
  8. 5 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotprojectinfo/IotProjectInfoServiceImpl.java
  9. 3 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotprojecttask/IotProjectTaskService.java
  10. 9 2
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotprojecttask/IotProjectTaskServiceImpl.java
  11. 10 0
      yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/iotprojecttask/IotProjectTaskMapper.xml

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

@@ -238,9 +238,7 @@ public class IotOpeationFillController {
             idList.add(pageReqVO.getDeptId());
             idList.add(pageReqVO.getDeptId());
         }
         }
 
 
-        PageResult<IotOpeationFillOrderDO> fillList = new PageResult<>();
-
-        fillList = iotOpeationFillService.fillList2(pageReqVO,idList);
+        PageResult<IotOpeationFillOrderDO> fillList = iotOpeationFillService.fillList2(pageReqVO,idList);
 
 
         return success(BeanUtils.toBean(fillList, IotOpeationFillOrderDO.class));
         return success(BeanUtils.toBean(fillList, IotOpeationFillOrderDO.class));
     }
     }

+ 11 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotprojectinfo/IotProjectInfoController.java

@@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.pms.controller.admin.iotprojecttask.vo.IotProject
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotprojectinfo.IotProjectInfoDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotprojectinfo.IotProjectInfoDO;
 import cn.iocoder.yudao.module.pms.service.iotprojectinfo.IotProjectInfoService;
 import cn.iocoder.yudao.module.pms.service.iotprojectinfo.IotProjectInfoService;
 import cn.iocoder.yudao.module.pms.service.iotprojecttask.IotProjectTaskService;
 import cn.iocoder.yudao.module.pms.service.iotprojecttask.IotProjectTaskService;
+import cn.iocoder.yudao.module.system.service.dept.DeptService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
@@ -44,6 +45,8 @@ public class IotProjectInfoController {
     private IotProjectInfoService iotProjectInfoService;
     private IotProjectInfoService iotProjectInfoService;
     @Resource
     @Resource
     private IotProjectTaskService iotProjectTaskService;
     private IotProjectTaskService iotProjectTaskService;
+    @Resource
+    private DeptService deptService;
 
 
     @PostMapping("/create")
     @PostMapping("/create")
     @Operation(summary = "创建项目信息")
     @Operation(summary = "创建项目信息")
@@ -89,7 +92,14 @@ public class IotProjectInfoController {
     @Operation(summary = "获得项目信息分页")
     @Operation(summary = "获得项目信息分页")
     @PreAuthorize("@ss.hasPermission('rq:iot-project-info:query')")
     @PreAuthorize("@ss.hasPermission('rq:iot-project-info:query')")
     public CommonResult<PageResult<IotProjectInfoRespVO>> getIotProjectInfoPage(@Valid IotProjectInfoPageReqVO pageReqVO) {
     public CommonResult<PageResult<IotProjectInfoRespVO>> getIotProjectInfoPage(@Valid IotProjectInfoPageReqVO pageReqVO) {
-        PageResult<IotProjectInfoDO> pageResult = iotProjectInfoService.getIotProjectInfoPage(pageReqVO);
+
+        Set<Long> idList = new HashSet<>();
+        if(Objects.nonNull(pageReqVO.getDeptId())){
+            idList =  deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
+            idList.add(pageReqVO.getDeptId());
+        }
+
+        PageResult<IotProjectInfoDO> pageResult = iotProjectInfoService.getIotProjectInfoPage1(pageReqVO,idList);
         return success(BeanUtils.toBean(pageResult, IotProjectInfoRespVO.class));
         return success(BeanUtils.toBean(pageResult, IotProjectInfoRespVO.class));
     }
     }
 
 

+ 16 - 3
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotprojecttask/IotProjectTaskController.java

@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.pms.controller.admin.iotprojecttask.vo.IotProject
 import cn.iocoder.yudao.module.pms.controller.admin.iotprojecttask.vo.IotTaskSaveVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotprojecttask.vo.IotTaskSaveVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotprojecttask.IotProjectTaskDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotprojecttask.IotProjectTaskDO;
 import cn.iocoder.yudao.module.pms.service.iotprojecttask.IotProjectTaskService;
 import cn.iocoder.yudao.module.pms.service.iotprojecttask.IotProjectTaskService;
+import cn.iocoder.yudao.module.system.service.dept.DeptService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
@@ -40,6 +41,8 @@ public class IotProjectTaskController {
 
 
     @Resource
     @Resource
     private IotProjectTaskService iotProjectTaskService;
     private IotProjectTaskService iotProjectTaskService;
+    @Resource
+    private DeptService deptService;
 
 
     @PostMapping("/create")
     @PostMapping("/create")
     @Operation(summary = "创建项目信息任务拆分")
     @Operation(summary = "创建项目信息任务拆分")
@@ -78,15 +81,25 @@ public class IotProjectTaskController {
     @Operation(summary = "获得项目信息任务拆分分页")
     @Operation(summary = "获得项目信息任务拆分分页")
     @PreAuthorize("@ss.hasPermission('rq:iot-project-task:query')")
     @PreAuthorize("@ss.hasPermission('rq:iot-project-task:query')")
     public CommonResult<PageResult<IotProjectTaskRespVO>> getIotProjectTaskPage(@Valid IotProjectTaskPageReqVO pageReqVO) {
     public CommonResult<PageResult<IotProjectTaskRespVO>> getIotProjectTaskPage(@Valid IotProjectTaskPageReqVO pageReqVO) {
-        PageResult<IotProjectTaskDO> pageResult = iotProjectTaskService.getIotProjectTaskPage(pageReqVO);
+        Set<Long> idList = new HashSet<>();
+        if(Objects.nonNull(pageReqVO.getDeptId())){
+            idList =  deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
+            idList.add(pageReqVO.getDeptId());
+        }
+        PageResult<IotProjectTaskDO> pageResult = iotProjectTaskService.getIotProjectTaskPage1(pageReqVO,idList);
         return success(BeanUtils.toBean(pageResult, IotProjectTaskRespVO.class));
         return success(BeanUtils.toBean(pageResult, IotProjectTaskRespVO.class));
     }
     }
 
 
     @GetMapping("/list")
     @GetMapping("/list")
     @Operation(summary = "获得项目信息任务拆分全部数据")
     @Operation(summary = "获得项目信息任务拆分全部数据")
     @PreAuthorize("@ss.hasPermission('rq:iot-project-task:query')")
     @PreAuthorize("@ss.hasPermission('rq:iot-project-task:query')")
-    public CommonResult<PageResult<IotProjectTaskRespVO>> getTaskList( IotProjectTaskPageReqVO taskDO) {
-        PageResult<IotProjectTaskDO> taskList = iotProjectTaskService.taskList(taskDO);
+    public CommonResult<PageResult<IotProjectTaskRespVO>> getTaskList( IotProjectTaskPageReqVO pageReqVO) {
+        Set<Long> idList = new HashSet<>();
+        if(Objects.nonNull(pageReqVO.getDeptId())){
+            idList =  deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
+            idList.add(pageReqVO.getDeptId());
+        }
+        PageResult<IotProjectTaskDO> taskList = iotProjectTaskService.taskList(pageReqVO,idList);
         return success(BeanUtils.toBean(taskList, IotProjectTaskRespVO.class));
         return success(BeanUtils.toBean(taskList, IotProjectTaskRespVO.class));
     }
     }
 
 

+ 22 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotprojectinfo/IotProjectInfoMapper.java

@@ -39,5 +39,27 @@ public interface IotProjectInfoMapper extends BaseMapperX<IotProjectInfoDO> {
                 .orderByDesc(IotProjectInfoDO::getId));
                 .orderByDesc(IotProjectInfoDO::getId));
     }
     }
 
 
+    default PageResult<IotProjectInfoDO> selectPage1(IotProjectInfoPageReqVO reqVO,Collection<Long> deptIds) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<IotProjectInfoDO>()
+                .inIfPresent(IotProjectInfoDO::getDeptId,  deptIds)
+                .likeIfPresent(IotProjectInfoDO::getManufactureName, reqVO.getManufactureName())
+                .likeIfPresent(IotProjectInfoDO::getDeptName, reqVO.getDeptName())
+                .likeIfPresent(IotProjectInfoDO::getContractName, reqVO.getContractName())
+                .eqIfPresent(IotProjectInfoDO::getContractCode, reqVO.getContractCode())
+                .eqIfPresent(IotProjectInfoDO::getWorkloadTotal, reqVO.getWorkloadTotal())
+                .eqIfPresent(IotProjectInfoDO::getWorkloadFinish, reqVO.getWorkloadFinish())
+                .betweenIfPresent(IotProjectInfoDO::getStartTime, reqVO.getStartTime())
+                .betweenIfPresent(IotProjectInfoDO::getEndTime, reqVO.getEndTime())
+                .eqIfPresent(IotProjectInfoDO::getLocation, reqVO.getLocation())
+                .eqIfPresent(IotProjectInfoDO::getTechnique, reqVO.getTechnique())
+                .eqIfPresent(IotProjectInfoDO::getPayment, reqVO.getPayment())
+                .betweenIfPresent(IotProjectInfoDO::getCreateTime, reqVO.getCreateTime())
+                .likeIfPresent(IotProjectInfoDO::getUserName, reqVO.getUserName())
+                .eqIfPresent(IotProjectInfoDO::getManufacturerId, reqVO.getManufacturerId())
+                .eqIfPresent(IotProjectInfoDO::getUserId, reqVO.getUserId())
+                .likeIfPresent(IotProjectInfoDO::getRemark, reqVO.getRemark())
+                .orderByDesc(IotProjectInfoDO::getId));
+    }
+
     List<IotProjectInfoDO> projectList();
     List<IotProjectInfoDO> projectList();
 }
 }

+ 20 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotprojecttask/IotProjectTaskMapper.java

@@ -36,11 +36,30 @@ public interface IotProjectTaskMapper extends BaseMapperX<IotProjectTaskDO> {
                 .orderByDesc(IotProjectTaskDO::getId));
                 .orderByDesc(IotProjectTaskDO::getId));
     }
     }
 
 
+    default PageResult<IotProjectTaskDO> selectPage1(IotProjectTaskPageReqVO reqVO,Collection<Long> deptIds) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<IotProjectTaskDO>()
+                .eqIfPresent(IotProjectTaskDO::getProjectId, reqVO.getProjectId())
+                .likeIfPresent(IotProjectTaskDO::getWellName, reqVO.getWellName())
+                .eqIfPresent(IotProjectTaskDO::getWellType, reqVO.getWellType())
+                .eqIfPresent(IotProjectTaskDO::getLocation, reqVO.getLocation())
+                .eqIfPresent(IotProjectTaskDO::getTechnique, reqVO.getTechnique())
+                .eqIfPresent(IotProjectTaskDO::getWorkloadDesign, reqVO.getWorkloadDesign())
+                .betweenIfPresent(IotProjectTaskDO::getCreateTime, reqVO.getCreateTime())
+                .likeIfPresent(IotProjectTaskDO::getUserName, reqVO.getUserName())
+                .eqIfPresent(IotProjectTaskDO::getUserId, reqVO.getUserId())
+                .inIfPresent(IotProjectTaskDO::getDeptId,deptIds)
+                .eqIfPresent(IotProjectTaskDO::getRemark, reqVO.getRemark())
+                .orderByDesc(IotProjectTaskDO::getId));
+    }
+
+
     IPage<IotProjectTaskDO> taskList(IPage<IotProjectTaskPageReqVO> page,
     IPage<IotProjectTaskDO> taskList(IPage<IotProjectTaskPageReqVO> page,
                                      @Param("manufactureName") String manufactureName,
                                      @Param("manufactureName") String manufactureName,
                                      @Param("contractName") String contractName,
                                      @Param("contractName") String contractName,
                                      @Param("contractCode") String contractCode,
                                      @Param("contractCode") String contractCode,
-                                     @Param("createTime") LocalDateTime[] createTime
+                                     @Param("wellName") String wellName,
+                                     @Param("createTime") LocalDateTime[] createTime,
+                                     @Param("deptIds") Collection<Long> deptIds
     );
     );
 
 
 }
 }

+ 5 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/message/PmsMessage.java

@@ -74,8 +74,12 @@ public class PmsMessage {
             String url = "";
             String url = "";
 
 
             if(PmsConstants.GENERATE_OPERATION.equals(businessType)){
             if(PmsConstants.GENERATE_OPERATION.equals(businessType)){
+                ZoneId zoneId = ZoneId.of("UTC");
+                ZonedDateTime zonedDateTime = fillDO.getCreateTime().atZone(zoneId);
+                Instant instant = zonedDateTime.toInstant();
+                long timestamp = instant.toEpochMilli();
                 url="https://iot.deepoil.cc/dingding?deptId="+fillDO.getDeptId()+"&userId="+userId
                 url="https://iot.deepoil.cc/dingding?deptId="+fillDO.getDeptId()+"&userId="+userId
-                        +"&createTime="+fillDO.getCreateTime()+"&id="
+                        +"&createTime="+timestamp+"&id="
                         +businessId+"&orderStatus="+fillDO.getOrderStatus()+"&type="+businessType+"&userName="+fillDO.getUserName()+"&orderName="+fillDO.getOrderName();
                         +businessId+"&orderStatus="+fillDO.getOrderStatus()+"&type="+businessType+"&userName="+fillDO.getUserName()+"&orderName="+fillDO.getOrderName();
             }else{
             }else{
                 url="https://iot.deepoil.cc/dingding?id="+businessId+"&type="+businessType+"&userId="+userId;
                 url="https://iot.deepoil.cc/dingding?id="+businessId+"&type="+businessType+"&userId="+userId;

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotprojectinfo/IotProjectInfoService.java

@@ -54,6 +54,8 @@ public interface IotProjectInfoService {
      */
      */
     PageResult<IotProjectInfoDO> getIotProjectInfoPage(IotProjectInfoPageReqVO pageReqVO);
     PageResult<IotProjectInfoDO> getIotProjectInfoPage(IotProjectInfoPageReqVO pageReqVO);
 
 
+    PageResult<IotProjectInfoDO> getIotProjectInfoPage1(IotProjectInfoPageReqVO pageReqVO,Collection<Long> deptIds);
+
     List<IotProjectInfoDO> projectList();
     List<IotProjectInfoDO> projectList();
 
 
 }
 }

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

@@ -71,6 +71,11 @@ public class IotProjectInfoServiceImpl implements IotProjectInfoService {
         return iotProjectInfoMapper.selectPage(pageReqVO);
         return iotProjectInfoMapper.selectPage(pageReqVO);
     }
     }
 
 
+    @Override
+    public PageResult<IotProjectInfoDO> getIotProjectInfoPage1(IotProjectInfoPageReqVO pageReqVO, Collection<Long> deptIds) {
+        return iotProjectInfoMapper.selectPage1(pageReqVO,deptIds);
+    }
+
     @Override
     @Override
     public List<IotProjectInfoDO> projectList() {
     public List<IotProjectInfoDO> projectList() {
         return iotProjectInfoMapper.projectList();
         return iotProjectInfoMapper.projectList();

+ 3 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotprojecttask/IotProjectTaskService.java

@@ -58,7 +58,9 @@ public interface IotProjectTaskService {
      */
      */
     PageResult<IotProjectTaskDO> getIotProjectTaskPage(IotProjectTaskPageReqVO pageReqVO);
     PageResult<IotProjectTaskDO> getIotProjectTaskPage(IotProjectTaskPageReqVO pageReqVO);
 
 
+    PageResult<IotProjectTaskDO> getIotProjectTaskPage1(IotProjectTaskPageReqVO pageReqVO,Collection<Long> deptIds);
 
 
-    PageResult<IotProjectTaskDO> taskList(IotProjectTaskPageReqVO taskDO);
+
+    PageResult<IotProjectTaskDO> taskList(IotProjectTaskPageReqVO taskDO,Collection<Long> deptIds);
 
 
 }
 }

+ 9 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotprojecttask/IotProjectTaskServiceImpl.java

@@ -96,12 +96,19 @@ public class IotProjectTaskServiceImpl implements IotProjectTaskService {
     }
     }
 
 
     @Override
     @Override
-    public PageResult<IotProjectTaskDO> taskList(IotProjectTaskPageReqVO vo) {
+    public PageResult<IotProjectTaskDO> getIotProjectTaskPage1(IotProjectTaskPageReqVO pageReqVO, Collection<Long> deptIds) {
+        return iotProjectTaskMapper.selectPage1(pageReqVO,deptIds);
+    }
+
+    @Override
+    public PageResult<IotProjectTaskDO> taskList(IotProjectTaskPageReqVO vo,Collection<Long> deptIds) {
         IPage<IotProjectTaskDO> taskDOIPage = iotProjectTaskMapper.taskList(Page.of(vo.getPageNo(), vo.getPageSize()),
         IPage<IotProjectTaskDO> taskDOIPage = iotProjectTaskMapper.taskList(Page.of(vo.getPageNo(), vo.getPageSize()),
                 vo.getManufactureName(),
                 vo.getManufactureName(),
                 vo.getContractName(),
                 vo.getContractName(),
                 vo.getContractCode(),
                 vo.getContractCode(),
-                vo.getCreateTime());
+                vo.getWellName(),
+                vo.getCreateTime(),
+                deptIds);
         return new PageResult<>(taskDOIPage.getRecords(),taskDOIPage.getTotal());
         return new PageResult<>(taskDOIPage.getRecords(),taskDOIPage.getTotal());
     }
     }
 
 

+ 10 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/iotprojecttask/IotProjectTaskMapper.xml

@@ -20,6 +20,7 @@
         a.workload_design,
         a.workload_design,
         a.create_time,
         a.create_time,
         a.dept_ids,
         a.dept_ids,
+        a.remark,
         b.manufacture_name,
         b.manufacture_name,
         b.contract_name,
         b.contract_name,
         b.contract_code
         b.contract_code
@@ -39,6 +40,9 @@
         <if test="contractCode != null  and contractCode != ''">
         <if test="contractCode != null  and contractCode != ''">
             and b.contract_code like concat('%', #{contractCode}, '%')
             and b.contract_code like concat('%', #{contractCode}, '%')
         </if>
         </if>
+        <if test="wellName != null  and wellName != ''">
+            and a.wellName like concat('%', #{wellName}, '%')
+        </if>
         <if test="createTime != null and createTime.length > 0">
         <if test="createTime != null and createTime.length > 0">
             <choose>
             <choose>
                 <when test="createTime.length == 1">
                 <when test="createTime.length == 1">
@@ -49,6 +53,12 @@
                 </otherwise>
                 </otherwise>
             </choose>
             </choose>
         </if>
         </if>
+        <if test="deptIds != null and !deptIds.isEmpty()">
+            AND a.dept_id IN
+            <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
+                #{deptId}
+            </foreach>
+        </if>
     </select>
     </select>
 
 
 </mapper>
 </mapper>