luowei 2 роки тому
батько
коміт
e8302a607b

+ 92 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/dto/CoreMonitoringTaskRegistrationDTO.java

@@ -1,6 +1,10 @@
 package com.xunmei.core.access.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
+import com.xunmei.common.core.web.domain.PageRequest;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -11,7 +15,94 @@ import java.util.Date;
  * @date : 2023/8/28
  */
 @Data
-public class CoreMonitoringTaskRegistrationDTO extends CoreMonitoringRetrievalTask {
+public class CoreMonitoringTaskRegistrationDTO  extends PageRequest {
     @ApiModelProperty(value = "月份")
     private Date moth;
+    private Long id;
+
+    /** 计划id */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long planId;
+
+    /** 任务名称 */
+    @ApiModelProperty(value = "任务名称")
+    private String taskName;
+
+    /** 调阅机构 */
+    private String orgPath;
+
+    /** 调阅机构 */
+    @ApiModelProperty(value = "调阅机构")
+    private String orgName;
+
+    /** 年月日 */
+    private Date ymdDate;
+
+    /** 年 */
+    private Integer ymdYear;
+
+    /** 半年 */
+    private Integer ymdHalfyear;
+
+    /** 季度 */
+    private Integer ymdQuarter;
+
+    /** 月 */
+    private Integer ymdMonth;
+
+    /** 周 */
+    private Integer ymdWeek;
+
+    /** 日 */
+    private Integer ymdDay;
+
+    /** 周期无周期、每日、每周、每月、每季度、每半年、每年(0-6) */
+    private String cycle;
+
+    /** 开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "开始时间")
+    private Date planStartTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "结束时间")
+    private Date planEndTime;
+
+    /** 调阅开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "调阅开始时间")
+    private Date startTime;
+
+    /** 调阅结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "调阅结束时间")
+    private Date endTime;
+
+    /** 状态 */
+    @ApiModelProperty(value = "状态")
+    private String status;
+
+    /** 角色id */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long roleId;
+
+    /** 调阅人 */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long retrievalUser;
+
+    /** 第几次调阅(根据计划的频次计算的来) */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Integer orderNum;
+
+    /** 批次号(同一计划多频次为一个批次号) */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long batchNum;
+
+    /** 提交时间 */
+    private Date submitTime;
+
+    /** 异常数 */
+    @ApiModelProperty(value = "异常数")
+    private Integer exceptionCount;
 }

+ 7 - 7
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java

@@ -86,18 +86,15 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
 
         QueryWrapper<TMonitoringRetrievalPlan> query = new QueryWrapper<>(tMonitoringRetrievalPlan);
         //下穿
-       // tMonitoringRetrievalPlan.setCheckSub(true);
         List<SysOrg> data = remoteOrgService.selectSysOrgByParentId(MINUS_ONE.longValue(), SecurityConstants.INNER);
         if (null == tMonitoringRetrievalPlan.getOrgId()) {
             tMonitoringRetrievalPlan.setOrgId(data.get(0).getId());
         }
         Boolean checkSub = tMonitoringRetrievalPlan.getCheckSub();
         if (Boolean.TRUE.equals(checkSub)) {
-            List<Long> ids = remoteOrgService.selectCheckSubOrgIdList(tMonitoringRetrievalPlan.getOrgId(), SecurityConstants.INNER);
-            //清空前端传递的org_id
+            SysOrg sysOrg = remoteOrgService.selectSysOrgById(tMonitoringRetrievalPlan.getOrgId(), SecurityConstants.INNER);
             tMonitoringRetrievalPlan.setOrgId(null);
-            //添加in条件
-            query.in("org_id", ids);
+            query.lambda().likeRight(TMonitoringRetrievalPlan::getOrgPath,sysOrg.getPath());
         }
         if (StringUtils.isNotEmpty(planName)) {
             query.like("plan_name", planName);
@@ -147,8 +144,9 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
     public int distribute(Long id) {
         //查询
         TMonitoringRetrievalPlan tMonitoringRetrievalPlan = tMonitoringRetrievalPlanMapper.selectById(id);
-        tMonitoringRetrievalPlan.setPlanStatus(ZERO);
-        tMonitoringRetrievalPlanMapper.updateById(tMonitoringRetrievalPlan);
+        if (tMonitoringRetrievalPlan.getPlanStatus()==1){
+            throw new ServiceException("禁用中,不能下发");
+        }
         List<SysOrg> list = remoteOrgService.selectSysOrgByParentId(tMonitoringRetrievalPlan.getOrgId(), SecurityConstants.INNER);
         Integer i = ZERO;
         List<TMonitoringRetrievalPlan> tMonitoringRetrievalPlans = new ArrayList<>();
@@ -216,6 +214,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
         tMonitoringRetrievalPlan.setRoleName(sysRole.getRoleName());
         long id = IdWorker.getId();
         tMonitoringRetrievalPlan.setId(id);
+        tMonitoringRetrievalPlan.setOrgPath(data.getPath());
         if (tMonitoringRetrievalPlan.getOrgType().equals("1")) {
             tMonitoringRetrievalPlan.setPlanStatus(1);
             tMonitoringRetrievalPlan.setCreateType(ZERO);
@@ -241,6 +240,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
     @Override
     public int updateTMonitoringRetrievalPlan(TMonitoringRetrievalPlan tMonitoringRetrievalPlan) {
         tMonitoringRetrievalPlan.setUpdateTime(DateUtils.getNowDate());
+        tMonitoringRetrievalPlan.setUpdateBy(SecurityUtils.getUsername());
         return tMonitoringRetrievalPlanMapper.updateById(tMonitoringRetrievalPlan);
     }
 

+ 8 - 7
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/controller/CoreMonitoringRetrievalTaskController.java

@@ -15,12 +15,10 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.time.LocalDate;
-import java.util.Date;
-import java.util.List;
+
 
 /**
  * 监控调阅任务Controller
@@ -50,8 +48,8 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
      */
     @ApiOperation(value = "app查询调阅任务列表")
     @GetMapping("/selectListApp")
-    public AjaxResult selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO) {
-        return success(coreMonitoringRetrievalTaskService.selectListApp(coreMonitoringTaskRegistrationDTO));
+    public TableDataInfo<CoreMonitoringRetrievalTask> selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO) {
+        return coreMonitoringRetrievalTaskService.selectListApp(coreMonitoringTaskRegistrationDTO);
     }
 
     /**
@@ -112,11 +110,12 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     /**
      * 每天生成日任务
      * 如果当天是周一还需生成周任务
+     *
      * @return
      */
     @InnerAuth
     @GetMapping("/dayTask")
-    public AjaxResult dayTask(@RequestParam(value = "taskTime",required = false) LocalDate taskTime) {
+    public AjaxResult dayTask(@RequestParam(value = "taskTime", required = false) LocalDate taskTime) {
         try {
             coreMonitoringRetrievalTaskService.dayTask(taskTime);
             return AjaxResult.success("任务生成成功");
@@ -132,11 +131,12 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
      * 4.1||10.1日生成周期为每月,每季
      * 7.1日获取执行周期为每月,每季,每半年的
      * 其他日期生成月任务
+     *
      * @return
      */
     @InnerAuth
     @GetMapping("/monthTask")
-    public AjaxResult monthTask(@RequestParam(value = "taskTime",required = false)  LocalDate taskTime) {
+    public AjaxResult monthTask(@RequestParam(value = "taskTime", required = false) LocalDate taskTime) {
         try {
             coreMonitoringRetrievalTaskService.monthTask(taskTime);
             return AjaxResult.success("任务生成成功");
@@ -147,6 +147,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
 
     /**
      * 修改未完成任务(待调阅和调阅中的任务)的状态为已超期
+     *
      * @return
      */
     @InnerAuth

+ 4 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/mapper/CoreMonitoringRetrievalTaskMapper.java

@@ -5,6 +5,8 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingPlanPageDto;
+import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanPageVo;
 import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 import com.xunmei.common.core.domain.retrieval.dto.RetrievalTaskPageDto;
 import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskOneVo;
@@ -72,8 +74,8 @@ public interface CoreMonitoringRetrievalTaskMapper extends BaseMapper<CoreMonito
 
     Page<CoreMonitoringRetrievalTaskVo> selectPageList(Page<CoreMonitoringRetrievalTaskVo> page, @Param("request") RetrievalTaskPageDto request);
 
-    List<CoreMonitoringRetrievalTask> selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO);
-
+    Page<CoreMonitoringRetrievalTask> selectListApp(Page<CoreMonitoringRetrievalTask> page,@Param("request")CoreMonitoringTaskRegistrationDTO request);
+  //  Page<CoreEduTrainingPlanPageVo> selectPageData(Page<CoreEduTrainingPlanPageVo> page, @Param("request") CoreEduTrainingPlanPageDto request);
     List<TaskDataVo> selectTaskDataVoListByRetrievalTaskId(@Param("taskId") Long id);
 
     CoreMonitoringRetrievalTaskOneVo selectOneById(@Param("taskId") Long id);

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/ICoreMonitoringRetrievalTaskService.java

@@ -80,7 +80,7 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
 
     void export(RetrievalTaskPageDto request, HttpServletResponse response) throws IOException;
 
-    List<CoreMonitoringRetrievalTask> selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO);
+    TableDataInfo selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO);
 
     void noCycleTask(List<TMonitoringRetrievalPlan> planList);
     void dayTask(LocalDate taskTime);

+ 9 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskServiceImpl.java

@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.constant.ErrorMsgConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.DateRange;
+import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanPageVo;
 import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 import com.xunmei.common.core.domain.retrieval.dto.RetrievalTaskPageDto;
 import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskOneVo;
@@ -139,8 +140,14 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
     }
 
     @Override
-    public List<CoreMonitoringRetrievalTask> selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO) {
-        return baseMapper.selectListApp(coreMonitoringTaskRegistrationDTO);
+    public TableDataInfo selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO) {
+        Page<CoreMonitoringRetrievalTask> coreMonitoringRetrievalTaskPage = baseMapper.selectListApp(coreMonitoringTaskRegistrationDTO.getPageRequest(),coreMonitoringTaskRegistrationDTO);
+        TableDataInfo<CoreMonitoringRetrievalTask> tableDataInfo = new TableDataInfo();
+        tableDataInfo.setMsg("操作成功");
+        tableDataInfo.setCode(200);
+        tableDataInfo.setTotal(coreMonitoringRetrievalTaskPage.getTotal());
+        tableDataInfo.setRows(coreMonitoringRetrievalTaskPage.getRecords());
+        return tableDataInfo;
     }
 
 

+ 6 - 6
soc-modules/soc-modules-core/src/main/resources/mapper/retrieval/CoreMonitoringRetrievalTaskMapper.xml

@@ -102,14 +102,14 @@
         FROM
             core_monitoring_retrieval_task
         WHERE 1=1
-        <if test="orgId != null ">
-            and org_id = #{orgId}
+        <if test="request.orgId != null ">
+            and org_id = #{request.orgId}
         </if>
-        <if test="status !=null and status !='' ">
-            and status =#{status}
+        <if test="request.status !=null and request.status !='' ">
+            and status =#{request.status}
         </if>
-     <if test="ymdDate !=null">
-         and ymdDate like concat('%', #{ymd_date}, '%')
+     <if test="request.ymdDate !=null">
+         and ymd_date like concat('%', #{request.ymdDate}, '%')
      </if>
     </select>
     <select id="selectTaskDataVoListByRetrievalTaskId"

+ 11 - 8
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/SysDeviceMapper.java

@@ -20,14 +20,17 @@ public interface SysDeviceMapper extends BaseMapper<SysDevice> {
      * @param id 【请填写功能名称】主键
      * @return 【请填写功能名称】
      */
-     SysDevice selectSysDeviceById(Long id);
-List<Long>selectVideoChannelByMonitorId(Long monitorId );
+    SysDevice selectSysDeviceById(Long id);
+
+    List<Long> selectVideoChannelByMonitorId(Long monitorId);
+
     /**
      * 根据机构查出所有的视频主机
+     *
      * @param orgId
      * @return
      */
-     List<SysDevice> getHostByOrgId(Long orgId);
+    List<SysDevice> getHostByOrgId(Long orgId);
 
     /**
      * 查询【请填写功能名称】列表
@@ -35,7 +38,7 @@ List<Long>selectVideoChannelByMonitorId(Long monitorId );
      * @param sysDevice 【请填写功能名称】
      * @return 【请填写功能名称】集合
      */
-     List<SysDevice> selectSysDeviceList(SysDevice sysDevice);
+    List<SysDevice> selectSysDeviceList(SysDevice sysDevice);
 
     /**
      * 新增【请填写功能名称】
@@ -43,7 +46,7 @@ List<Long>selectVideoChannelByMonitorId(Long monitorId );
      * @param sysDevice 【请填写功能名称】
      * @return 结果
      */
-     int insertSysDevice(SysDevice sysDevice);
+    int insertSysDevice(SysDevice sysDevice);
 
     /**
      * 修改【请填写功能名称】
@@ -51,7 +54,7 @@ List<Long>selectVideoChannelByMonitorId(Long monitorId );
      * @param sysDevice 【请填写功能名称】
      * @return 结果
      */
-     int updateSysDevice(SysDevice sysDevice);
+    int updateSysDevice(SysDevice sysDevice);
 
     /**
      * 删除【请填写功能名称】
@@ -59,7 +62,7 @@ List<Long>selectVideoChannelByMonitorId(Long monitorId );
      * @param id 【请填写功能名称】主键
      * @return 结果
      */
-     int deleteSysDeviceById(Long id);
+    int deleteSysDeviceById(Long id);
 
     /**
      * 批量删除【请填写功能名称】
@@ -67,5 +70,5 @@ List<Long>selectVideoChannelByMonitorId(Long monitorId );
      * @param ids 需要删除的数据主键集合
      * @return 结果
      */
-     int deleteSysDeviceByIds(Long[] ids);
+    int deleteSysDeviceByIds(Long[] ids);
 }

+ 13 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeviceServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import com.alibaba.nacos.common.utils.CollectionUtils;
+import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.system.api.domain.SysDevice;
@@ -114,7 +115,7 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
         QueryWrapper queryWrapper = new QueryWrapper();
         queryWrapper.eq("del_flag", "0");
         queryWrapper.eq("host_id", hostId);
-        if (CollectionUtils.isNotEmpty(longs)){
+        if (CollectionUtils.isNotEmpty(longs)) {
             queryWrapper.notIn("id", longs);
         }
         List<SysDevice> list = baseMapper.selectList(queryWrapper);
@@ -159,6 +160,17 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
      */
     @Override
     public int deleteSysDeviceByIds(Long[] ids) {
+        //判断是否关联视频
+        QueryWrapper queryWrapper = new QueryWrapper();
+        for (Long id : ids) {
+            queryWrapper.eq("host_id", id);
+            queryWrapper.eq("del_flag", 0);
+            List list = sysDeviceMapper.selectList(queryWrapper);
+            if (CollectionUtils.isNotEmpty(list)) {
+                SysDevice sysDevice = sysDeviceMapper.selectSysDeviceById(id);
+                throw new ServiceException("主机" + sysDevice.getDeviceName() + "已关联摄像头,不能删除");
+            }
+        }
         return sysDeviceMapper.deleteBatchIds(Arrays.asList((ids)));
     }