车车 vor 11 Monaten
Ursprung
Commit
7cb345a472

+ 2 - 0
ktg-common/src/main/java/com/ktg/common/core/domain/entity/SysUser.java

@@ -8,6 +8,7 @@ import com.ktg.common.annotation.Excel.Type;
 import com.ktg.common.annotation.Excels;
 import com.ktg.common.core.domain.BaseEntity;
 import com.ktg.common.xss.Xss;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
@@ -22,6 +23,7 @@ import java.util.List;
  *
  * @author ktg
  */
+@Data
 public class SysUser extends BaseEntity
 {
     private static final long serialVersionUID = 1L;

+ 4 - 0
ktg-iscs/pom.xml

@@ -54,6 +54,10 @@
             <artifactId>javax.xml.soap-api</artifactId>
             <version>1.4.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.ktg</groupId>
+            <artifactId>ktg-quartz</artifactId>
+        </dependency>
 
     </dependencies>
 

+ 117 - 0
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsCheckTaskController.java

@@ -0,0 +1,117 @@
+package com.ktg.iscs.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ktg.common.annotation.Log;
+import com.ktg.common.core.controller.BaseController;
+import com.ktg.common.enums.BusinessType;
+import com.ktg.common.exception.job.TaskException;
+import com.ktg.common.pojo.CommonResult;
+import com.ktg.common.utils.poi.ExcelUtil;
+import com.ktg.iscs.domain.IsCheckTask;
+import com.ktg.iscs.service.IIsCheckTaskService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Parameters;
+import org.quartz.SchedulerException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 检查任务Controller
+ *
+ * @author cgj
+ * @date 2024-12-12
+ */
+@Api(tags = "检查任务")
+@RestController
+@RequestMapping("/iscs/task")
+public class IsCheckTaskController extends BaseController
+{
+    @Autowired
+    private IIsCheckTaskService isCheckTaskService;
+
+    /**
+     * 查询检查任务分页
+     */
+    @ApiOperation("查询检查任务-分页")
+    @Parameters({
+            @Parameter(name = "page", description = "Page"),
+            @Parameter(name = "isCheckTask", description = "实体参数")
+    })
+    @PreAuthorize("@ss.hasPermi('iscs:task:list')")
+    @GetMapping("/getIsCheckTaskPage")
+    public CommonResult<Page<IsCheckTask>> getIsCheckTaskPage(Page<IsCheckTask> page, IsCheckTask isCheckTask)
+    {
+        Page<IsCheckTask> result = isCheckTaskService.page(page, Wrappers.<IsCheckTask>lambdaQuery()
+                .orderByDesc(IsCheckTask::getCheckId));
+        return CommonResult.success(result);
+    }
+
+    /**
+     * 导出检查任务列表
+     */
+    @ApiOperation("导出检查任务列表")
+    @Parameter(name = "isCheckTask", description = "实体参数")
+    @PreAuthorize("@ss.hasPermi('iscs:task:export')")
+    @Log(title = "检查任务", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportIsCheckTask")
+    public void exportIsCheckTask(HttpServletResponse response, IsCheckTask isCheckTask)
+    {
+        List<IsCheckTask> list = isCheckTaskService.selectIsCheckTaskList(isCheckTask);
+        ExcelUtil<IsCheckTask> util = new ExcelUtil<IsCheckTask>(IsCheckTask.class);
+        util.exportExcel(response, list, "检查任务数据");
+    }
+
+    /**
+     * 获取检查任务详细信息
+     */
+    @ApiOperation("获取检查任务详细信息")
+    @Parameter(name = "checkId", description = "checkId")
+    @PreAuthorize("@ss.hasPermi('iscs:task:query')")
+    @GetMapping(value = "/selectIsCheckTaskById")
+    public CommonResult<IsCheckTask> selectIsCheckTaskById(Long checkId)
+    {
+        return CommonResult.success(isCheckTaskService.selectIsCheckTaskByCheckId(checkId));
+    }
+
+    /**
+     * 新增检查任务
+     */
+    @ApiOperation("新增检查任务")
+    @PreAuthorize("@ss.hasPermi('iscs:task:add')")
+    @Log(title = "检查任务", businessType = BusinessType.INSERT)
+    @PostMapping("/insertIsCheckTask")
+    public CommonResult<Boolean> insertIsCheckTask(@RequestBody @Parameter(name = "isCheckTask", description = "新增数据类,放到body") IsCheckTask isCheckTask) throws SchedulerException, TaskException {
+        return CommonResult.success(isCheckTaskService.insertIsCheckTask(isCheckTask) == 1);
+    }
+
+    /**
+     * 修改检查任务
+     */
+    @ApiOperation("修改检查任务")
+    @PreAuthorize("@ss.hasPermi('iscs:task:edit')")
+    @Log(title = "检查任务", businessType = BusinessType.UPDATE)
+    @PostMapping("/updateIsCheckTask")
+    public CommonResult<Boolean> updateIsCheckTask(@RequestBody @Parameter(name = "isCheckTask", description = "修改数据类,放到body") IsCheckTask isCheckTask)
+    {
+        return CommonResult.success(isCheckTaskService.updateIsCheckTask(isCheckTask) == 1);
+    }
+
+    /**
+     * 删除检查任务
+     */
+    @ApiOperation("删除检查任务")
+    @PreAuthorize("@ss.hasPermi('iscs:task:remove')")
+    @Log(title = "检查任务", businessType = BusinessType.DELETE)
+	@PostMapping("/deleteIsCheckTaskByCheckIds")
+    public CommonResult<Boolean> deleteIsCheckTaskByCheckIds(String checkIds)
+    {
+        return CommonResult.success(isCheckTaskService.deleteIsCheckTaskByCheckIds(checkIds) != 0);
+    }
+}

+ 59 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/IsCheckTask.java

@@ -0,0 +1,59 @@
+package com.ktg.iscs.domain;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.ktg.common.annotation.Excel;
+import com.ktg.common.core.domain.model.BaseBean;
+
+/**
+ * 检查任务对象 is_check_task
+ *
+ * @author cgj
+ * @date 2024-12-12
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class IsCheckTask extends BaseBean
+{
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "检查任务ID")
+    @TableId(type = IdType.AUTO)
+    private Long checkId;
+
+    @ApiModelProperty(value = "任务名称")
+    @Excel(name = "任务名称")
+    private String checkName;
+
+    @ApiModelProperty(value = "定时任务ID")
+    @Excel(name = "定时任务ID")
+    private Long taskId;
+
+    @ApiModelProperty(value = "关联物资柜")
+    @Excel(name = "关联物资柜")
+    private String cabinetIdStr;
+
+    @ApiModelProperty(value = "关联检查人员")
+    @Excel(name = "关联检查人员")
+    private String userIdStr;
+
+    @ApiModelProperty(value = "时间频率(0-每天 1-每周 2-每两周 3-每月)")
+    @Excel(name = "时间频率(0-每天 1-每周 2-每两周 3-每月)")
+    private Integer timeFrequency;
+
+    @ApiModelProperty(value = "发送的时间点")
+    @Excel(name = "发送的时间点")
+    private String sendingTime;
+
+    @ApiModelProperty(value = "cron")
+    @Excel(name = "cron")
+    private String cron;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+
+}

+ 47 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/IsCheckTaskMail.java

@@ -0,0 +1,47 @@
+package com.ktg.iscs.domain;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.ktg.common.annotation.Excel;
+import com.ktg.common.core.domain.model.BaseBean;
+
+/**
+ * 检查任务关联邮件对象 is_check_task_mail
+ *
+ * @author cgj
+ * @date 2024-12-12
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class IsCheckTaskMail extends BaseBean
+{
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "记录ID")
+    @TableId(type = IdType.AUTO)
+    private Long recordId;
+
+    @ApiModelProperty(value = "检查任务ID")
+    @Excel(name = "检查任务ID")
+    private Long chackId;
+
+    @ApiModelProperty(value = "人员ID")
+    @Excel(name = "人员ID")
+    private Long userId;
+
+    @ApiModelProperty(value = "邮件发送状态(0-失败 1-成功)")
+    @Excel(name = "邮件发送状态(0-失败 1-成功)")
+    private Integer emailSendState;
+
+    @ApiModelProperty(value = "邮件内容")
+    @Excel(name = "邮件内容")
+    private String emailContent;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+
+}

+ 10 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/ticket/MonitorJobTicketDetailVO.java

@@ -1,11 +1,13 @@
 package com.ktg.iscs.domain.vo.ticket;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ktg.iscs.domain.IsJobTicket;
 import com.ktg.iscs.domain.IsJobTicketUser;
 import com.ktg.iscs.domain.vo.ticketPoints.IsJobTicketPointsVO;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -25,9 +27,17 @@ public class MonitorJobTicketDetailVO
     @ApiModelProperty(value = "上锁钥匙名称")
     private String lockKeyName;
 
+    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "上锁时间")
+    private Date lockTime;
+
     @ApiModelProperty(value = "解锁钥匙名称")
     private String colockKeyName;
 
+    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "解锁时间")
+    private Date colockTime;
+
     @ApiModelProperty(value = "关联上锁人信息")
     private List<IsJobTicketUser> lockUserList;
 

+ 64 - 0
ktg-iscs/src/main/java/com/ktg/iscs/mapper/IsCheckTaskMailMapper.java

@@ -0,0 +1,64 @@
+package com.ktg.iscs.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import com.ktg.common.mapper.BaseMapperX;
+import com.ktg.iscs.domain.IsCheckTaskMail;
+
+/**
+ * 检查任务关联邮件Mapper接口
+ *
+ * @author cgj
+ * @date 2024-12-12
+ */
+@Mapper
+public interface IsCheckTaskMailMapper extends BaseMapperX<IsCheckTaskMail>
+{
+    /**
+     * 查询检查任务关联邮件
+     *
+     * @param recordId 检查任务关联邮件主键
+     * @return 检查任务关联邮件
+     */
+    IsCheckTaskMail selectIsCheckTaskMailByRecordId(Long recordId);
+
+    /**
+     * 查询检查任务关联邮件列表
+     *
+     * @param isCheckTaskMail 检查任务关联邮件
+     * @return 检查任务关联邮件集合
+     */
+    List<IsCheckTaskMail> selectIsCheckTaskMailList(IsCheckTaskMail isCheckTaskMail);
+
+    /**
+     * 新增检查任务关联邮件
+     *
+     * @param isCheckTaskMail 检查任务关联邮件
+     * @return 结果
+     */
+    int insertIsCheckTaskMail(IsCheckTaskMail isCheckTaskMail);
+
+    /**
+     * 修改检查任务关联邮件
+     *
+     * @param isCheckTaskMail 检查任务关联邮件
+     * @return 结果
+     */
+    int updateIsCheckTaskMail(IsCheckTaskMail isCheckTaskMail);
+
+    /**
+     * 删除检查任务关联邮件
+     *
+     * @param recordId 检查任务关联邮件主键
+     * @return 结果
+     */
+    int deleteIsCheckTaskMailByRecordId(Long recordId);
+
+    /**
+     * 批量删除检查任务关联邮件
+     *
+     * @param recordIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteIsCheckTaskMailByRecordIds(Long[] recordIds);
+}

+ 64 - 0
ktg-iscs/src/main/java/com/ktg/iscs/mapper/IsCheckTaskMapper.java

@@ -0,0 +1,64 @@
+package com.ktg.iscs.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import com.ktg.common.mapper.BaseMapperX;
+import com.ktg.iscs.domain.IsCheckTask;
+
+/**
+ * 检查任务Mapper接口
+ *
+ * @author cgj
+ * @date 2024-12-12
+ */
+@Mapper
+public interface IsCheckTaskMapper extends BaseMapperX<IsCheckTask>
+{
+    /**
+     * 查询检查任务
+     *
+     * @param checkId 检查任务主键
+     * @return 检查任务
+     */
+    IsCheckTask selectIsCheckTaskByCheckId(Long checkId);
+
+    /**
+     * 查询检查任务列表
+     *
+     * @param isCheckTask 检查任务
+     * @return 检查任务集合
+     */
+    List<IsCheckTask> selectIsCheckTaskList(IsCheckTask isCheckTask);
+
+    /**
+     * 新增检查任务
+     *
+     * @param isCheckTask 检查任务
+     * @return 结果
+     */
+    int insertIsCheckTask(IsCheckTask isCheckTask);
+
+    /**
+     * 修改检查任务
+     *
+     * @param isCheckTask 检查任务
+     * @return 结果
+     */
+    int updateIsCheckTask(IsCheckTask isCheckTask);
+
+    /**
+     * 删除检查任务
+     *
+     * @param checkId 检查任务主键
+     * @return 结果
+     */
+    int deleteIsCheckTaskByCheckId(Long checkId);
+
+    /**
+     * 批量删除检查任务
+     *
+     * @param checkIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteIsCheckTaskByCheckIds(Long[] checkIds);
+}

+ 63 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/IIsCheckTaskMailService.java

@@ -0,0 +1,63 @@
+package com.ktg.iscs.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ktg.iscs.domain.IsCheckTaskMail;
+
+import java.util.List;
+
+/**
+ * 检查任务关联邮件Service接口
+ *
+ * @author cgj
+ * @date 2024-12-12
+ */
+public interface IIsCheckTaskMailService extends IService<IsCheckTaskMail>
+{
+    /**
+     * 查询检查任务关联邮件
+     *
+     * @param recordId 检查任务关联邮件主键
+     * @return 检查任务关联邮件
+     */
+    IsCheckTaskMail selectIsCheckTaskMailByRecordId(Long recordId);
+
+    /**
+     * 查询检查任务关联邮件列表
+     *
+     * @param isCheckTaskMail 检查任务关联邮件
+     * @return 检查任务关联邮件集合
+     */
+    List<IsCheckTaskMail> selectIsCheckTaskMailList(IsCheckTaskMail isCheckTaskMail);
+
+    /**
+     * 新增检查任务关联邮件
+     *
+     * @param isCheckTaskMail 检查任务关联邮件
+     * @return 结果
+     */
+    int insertIsCheckTaskMail(IsCheckTaskMail isCheckTaskMail);
+
+    /**
+     * 修改检查任务关联邮件
+     *
+     * @param isCheckTaskMail 检查任务关联邮件
+     * @return 结果
+     */
+    int updateIsCheckTaskMail(IsCheckTaskMail isCheckTaskMail);
+
+    /**
+     * 批量删除检查任务关联邮件
+     *
+     * @param recordIds 需要删除的检查任务关联邮件主键集合
+     * @return 结果
+     */
+    int deleteIsCheckTaskMailByRecordIds(String recordIds);
+
+    /**
+     * 删除检查任务关联邮件信息
+     *
+     * @param recordId 检查任务关联邮件主键
+     * @return 结果
+     */
+    int deleteIsCheckTaskMailByRecordId(Long recordId);
+}

+ 67 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/IIsCheckTaskService.java

@@ -0,0 +1,67 @@
+package com.ktg.iscs.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ktg.common.exception.job.TaskException;
+import com.ktg.iscs.domain.IsCheckTask;
+import org.quartz.SchedulerException;
+
+import java.util.List;
+
+/**
+ * 检查任务Service接口
+ *
+ * @author cgj
+ * @date 2024-12-12
+ */
+public interface IIsCheckTaskService extends IService<IsCheckTask>
+{
+    /**
+     * 查询检查任务
+     *
+     * @param checkId 检查任务主键
+     * @return 检查任务
+     */
+    IsCheckTask selectIsCheckTaskByCheckId(Long checkId);
+
+    /**
+     * 查询检查任务列表
+     *
+     * @param isCheckTask 检查任务
+     * @return 检查任务集合
+     */
+    List<IsCheckTask> selectIsCheckTaskList(IsCheckTask isCheckTask);
+
+    /**
+     * 新增检查任务
+     *
+     * @param isCheckTask 检查任务
+     * @return 结果
+     */
+    int insertIsCheckTask(IsCheckTask isCheckTask) throws TaskException, SchedulerException;
+
+    /**
+     * 修改检查任务
+     *
+     * @param isCheckTask 检查任务
+     * @return 结果
+     */
+    int updateIsCheckTask(IsCheckTask isCheckTask);
+
+    /**
+     * 批量删除检查任务
+     *
+     * @param checkIds 需要删除的检查任务主键集合
+     * @return 结果
+     */
+    int deleteIsCheckTaskByCheckIds(String checkIds);
+
+    /**
+     * 删除检查任务信息
+     *
+     * @param checkId 检查任务主键
+     * @return 结果
+     */
+    int deleteIsCheckTaskByCheckId(Long checkId);
+
+    Boolean checkMaterialsCabinet(Long checkId);
+}

+ 101 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsCheckTaskMailServiceImpl.java

@@ -0,0 +1,101 @@
+package com.ktg.iscs.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import java.util.List;
+import cn.hutool.core.lang.Assert;
+import com.ktg.common.core.text.Convert;
+import com.ktg.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ktg.iscs.mapper.IsCheckTaskMailMapper;
+import com.ktg.iscs.domain.IsCheckTaskMail;
+import com.ktg.iscs.service.IIsCheckTaskMailService;
+
+/**
+ * 检查任务关联邮件Service业务层处理
+ *
+ * @author cgj
+ * @date 2024-12-12
+ */
+@Service
+public class IsCheckTaskMailServiceImpl extends ServiceImpl<IsCheckTaskMailMapper, IsCheckTaskMail> implements IIsCheckTaskMailService
+{
+    @Autowired
+    private IsCheckTaskMailMapper isCheckTaskMailMapper;
+
+    /**
+     * 查询检查任务关联邮件
+     *
+     * @param recordId 检查任务关联邮件主键
+     * @return 检查任务关联邮件
+     */
+    @Override
+    public IsCheckTaskMail selectIsCheckTaskMailByRecordId(Long recordId)
+    {
+        return isCheckTaskMailMapper.selectIsCheckTaskMailByRecordId(recordId);
+    }
+
+    /**
+     * 查询检查任务关联邮件列表
+     *
+     * @param isCheckTaskMail 检查任务关联邮件
+     * @return 检查任务关联邮件
+     */
+    @Override
+    public List<IsCheckTaskMail> selectIsCheckTaskMailList(IsCheckTaskMail isCheckTaskMail)
+    {
+        return isCheckTaskMailMapper.selectIsCheckTaskMailList(isCheckTaskMail);
+    }
+
+    /**
+     * 新增检查任务关联邮件
+     *
+     * @param isCheckTaskMail 检查任务关联邮件
+     * @return 结果
+     */
+    @Override
+    public int insertIsCheckTaskMail(IsCheckTaskMail isCheckTaskMail)
+    {
+        isCheckTaskMail.setCreateTime(DateUtils.getNowDate());
+        return isCheckTaskMailMapper.insertIsCheckTaskMail(isCheckTaskMail);
+    }
+
+    /**
+     * 修改检查任务关联邮件
+     *
+     * @param isCheckTaskMail 检查任务关联邮件
+     * @return 结果
+     */
+    @Override
+    public int updateIsCheckTaskMail(IsCheckTaskMail isCheckTaskMail)
+    {
+        isCheckTaskMail.setUpdateTime(DateUtils.getNowDate());
+        return isCheckTaskMailMapper.updateIsCheckTaskMail(isCheckTaskMail);
+    }
+
+    /**
+     * 批量删除检查任务关联邮件
+     *
+     * @param recordIds 需要删除的检查任务关联邮件主键
+     * @return 结果
+     */
+    @Override
+    public int deleteIsCheckTaskMailByRecordIds(String recordIds)
+    {
+        Assert.notBlank(recordIds, "请选择需要删除的数据!");
+        Long[] longIds = Convert.toLongArray(recordIds);
+        return isCheckTaskMailMapper.deleteIsCheckTaskMailByRecordIds(longIds);
+    }
+
+    /**
+     * 删除检查任务关联邮件信息
+     *
+     * @param recordId 检查任务关联邮件主键
+     * @return 结果
+     */
+    @Override
+    public int deleteIsCheckTaskMailByRecordId(Long recordId)
+    {
+        return isCheckTaskMailMapper.deleteIsCheckTaskMailByRecordId(recordId);
+    }
+}

+ 151 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsCheckTaskServiceImpl.java

@@ -0,0 +1,151 @@
+package com.ktg.iscs.service.impl;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ktg.common.core.text.Convert;
+import com.ktg.common.exception.job.TaskException;
+import com.ktg.common.utils.DateUtils;
+import com.ktg.iscs.domain.IsCheckTask;
+import com.ktg.iscs.mapper.IsCheckTaskMapper;
+import com.ktg.iscs.service.IIsCheckTaskService;
+import com.ktg.quartz.domain.SysJob;
+import com.ktg.quartz.service.ISysJobService;
+import com.ktg.system.service.ISysUserService;
+import org.quartz.SchedulerException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 检查任务Service业务层处理
+ *
+ * @author cgj
+ * @date 2024-12-12
+ */
+@Service
+public class IsCheckTaskServiceImpl extends ServiceImpl<IsCheckTaskMapper, IsCheckTask> implements IIsCheckTaskService
+{
+    @Autowired
+    private IsCheckTaskMapper isCheckTaskMapper;
+    @Lazy
+    @Autowired
+    private ISysJobService iSysJobService;
+    @Autowired
+    private ISysUserService iSysUserService;
+
+
+    /**
+     * 查询检查任务
+     *
+     * @param checkId 检查任务主键
+     * @return 检查任务
+     */
+    @Override
+    public IsCheckTask selectIsCheckTaskByCheckId(Long checkId)
+    {
+        return isCheckTaskMapper.selectIsCheckTaskByCheckId(checkId);
+    }
+
+    /**
+     * 查询检查任务列表
+     *
+     * @param isCheckTask 检查任务
+     * @return 检查任务
+     */
+    @Override
+    public List<IsCheckTask> selectIsCheckTaskList(IsCheckTask isCheckTask)
+    {
+        return isCheckTaskMapper.selectIsCheckTaskList(isCheckTask);
+    }
+
+    /**
+     * 新增检查任务
+     *
+     * @param isCheckTask 检查任务
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int insertIsCheckTask(IsCheckTask isCheckTask) throws TaskException, SchedulerException {
+        // 1.检查数据
+        Assert.notBlank(isCheckTask.getCheckName(), "任务名称不可为空!");
+        Assert.notBlank(isCheckTask.getCabinetIdStr(), "请选择需要检查的物资柜信息!");
+        Assert.notBlank(isCheckTask.getUserIdStr(), "请选择参与人员信息!");
+        Assert.notBlank(isCheckTask.getCron(), "请告知我cron!");
+        // 2.开始新增定检查信息,但是缺失定时任务的关联信息,所以后面需要更新一下
+        isCheckTaskMapper.insert(isCheckTask);
+        // 3.新增定时任务
+        SysJob sysJob = new SysJob();
+        sysJob.setJobName(isCheckTask.getCheckName());
+        sysJob.setJobGroup("DEFAULT");
+        sysJob.setInvokeTarget("sendEmailsTask.checkMaterialsCabinet("+ isCheckTask.getCheckId() + ")");
+        sysJob.setCronExpression(isCheckTask.getCron());
+        sysJob.setMisfirePolicy("3");
+        sysJob.setConcurrent("1");
+        sysJob.setStatus("1");
+        iSysJobService.insertJob(sysJob);
+        // 4.更新定检查信息
+        isCheckTaskMapper.update(Wrappers.<IsCheckTask>lambdaUpdate()
+                .eq(IsCheckTask::getCheckId, isCheckTask.getCheckId())
+                .set(IsCheckTask::getTaskId, sysJob.getJobId()));
+        return 1;
+    }
+
+    /**
+     * 修改检查任务
+     *
+     * @param isCheckTask 检查任务
+     * @return 结果
+     */
+    @Override
+    public int updateIsCheckTask(IsCheckTask isCheckTask)
+    {
+        isCheckTask.setUpdateTime(DateUtils.getNowDate());
+        return isCheckTaskMapper.updateIsCheckTask(isCheckTask);
+    }
+
+    /**
+     * 批量删除检查任务
+     *
+     * @param checkIds 需要删除的检查任务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteIsCheckTaskByCheckIds(String checkIds)
+    {
+        Assert.notBlank(checkIds, "请选择需要删除的数据!");
+        Long[] longIds = Convert.toLongArray(checkIds);
+        return isCheckTaskMapper.deleteIsCheckTaskByCheckIds(longIds);
+    }
+
+    /**
+     * 删除检查任务信息
+     *
+     * @param checkId 检查任务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteIsCheckTaskByCheckId(Long checkId)
+    {
+        return isCheckTaskMapper.deleteIsCheckTaskByCheckId(checkId);
+    }
+
+    @Override
+    public Boolean checkMaterialsCabinet(Long checkId) {
+        // 1.开始检查参数
+        Assert.notNull(checkId, "当前任务缺失参数");
+        // 2.查询当前任务
+        IsCheckTask checkTask = getById(checkId);
+        Assert.notNull(checkTask, "该任务不存在");
+        // 3.开始检查人员信息
+        //iSysUserService.
+
+
+
+        return null;
+    }
+}

+ 82 - 0
ktg-iscs/src/main/resources/mapper/IsCheckTaskMailMapper.xml

@@ -0,0 +1,82 @@
+<?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="com.ktg.iscs.mapper.IsCheckTaskMailMapper">
+
+
+    <sql id="selectIsCheckTaskMailVo">
+        select * from is_check_task_mail
+    </sql>
+
+    <select id="selectIsCheckTaskMailList" parameterType="IsCheckTaskMail" resultType="IsCheckTaskMail">
+        <include refid="selectIsCheckTaskMailVo"/>
+        <where>
+            <if test="chackId != null "> and chack_id = #{chackId}</if>
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="emailSendState != null "> and email_send_state = #{emailSendState}</if>
+            <if test="emailContent != null  and emailContent != ''"> and email_content = #{emailContent}</if>
+        </where>
+    </select>
+
+    <select id="selectIsCheckTaskMailByRecordId" parameterType="Long" resultType="IsCheckTaskMail">
+        <include refid="selectIsCheckTaskMailVo"/>
+        where record_id = #{recordId}
+    </select>
+
+    <insert id="insertIsCheckTaskMail" parameterType="IsCheckTaskMail" useGeneratedKeys="true" keyProperty="recordId">
+        insert into is_check_task_mail
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="chackId != null">chack_id,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="emailSendState != null">email_send_state,</if>
+            <if test="emailContent != null">email_content,</if>
+            <if test="remark != null">remark,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="updateBy != null">update_by,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="chackId != null">#{chackId},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="emailSendState != null">#{emailSendState},</if>
+            <if test="emailContent != null">#{emailContent},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+         </trim>
+    </insert>
+
+    <update id="updateIsCheckTaskMail" parameterType="IsCheckTaskMail">
+        update is_check_task_mail
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="chackId != null">chack_id = #{chackId},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="emailSendState != null">email_send_state = #{emailSendState},</if>
+            <if test="emailContent != null">email_content = #{emailContent},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+        </trim>
+        where record_id = #{recordId}
+    </update>
+
+    <delete id="deleteIsCheckTaskMailByRecordId" parameterType="Long">
+        delete from is_check_task_mail where record_id = #{recordId}
+    </delete>
+
+    <delete id="deleteIsCheckTaskMailByRecordIds" parameterType="String">
+        delete from is_check_task_mail where record_id in
+        <foreach item="recordId" collection="array" open="(" separator="," close=")">
+            #{recordId}
+        </foreach>
+    </delete>
+</mapper>

+ 89 - 0
ktg-iscs/src/main/resources/mapper/IsCheckTaskMapper.xml

@@ -0,0 +1,89 @@
+<?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="com.ktg.iscs.mapper.IsCheckTaskMapper">
+
+    <sql id="selectIsCheckTaskVo">
+        select * from is_check_task
+    </sql>
+
+    <select id="selectIsCheckTaskList" parameterType="IsCheckTask" resultType="IsCheckTask">
+        <include refid="selectIsCheckTaskVo"/>
+        <where>
+            <if test="taskId != null "> and task_id = #{taskId}</if>
+            <if test="cabinetIdStr != null  and cabinetIdStr != ''"> and cabinet_id_str = #{cabinetIdStr}</if>
+            <if test="userIdStr != null  and userIdStr != ''"> and user_id_str = #{userIdStr}</if>
+            <if test="timeFrequency != null "> and time_frequency = #{timeFrequency}</if>
+            <if test="sendingTime != null  and sendingTime != ''"> and sending_time = #{sendingTime}</if>
+            <if test="cron != null  and cron != ''"> and cron = #{cron}</if>
+        </where>
+    </select>
+
+    <select id="selectIsCheckTaskByCheckId" parameterType="Long" resultType="IsCheckTask">
+        <include refid="selectIsCheckTaskVo"/>
+        where check_id = #{checkId}
+    </select>
+
+    <insert id="insertIsCheckTask" parameterType="IsCheckTask" useGeneratedKeys="true" keyProperty="checkId">
+        insert into is_check_task
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="taskId != null">task_id,</if>
+            <if test="cabinetIdStr != null">cabinet_id_str,</if>
+            <if test="userIdStr != null">user_id_str,</if>
+            <if test="timeFrequency != null">time_frequency,</if>
+            <if test="sendingTime != null">sending_time,</if>
+            <if test="cron != null">cron,</if>
+            <if test="remark != null">remark,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="updateBy != null">update_by,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="taskId != null">#{taskId},</if>
+            <if test="cabinetIdStr != null">#{cabinetIdStr},</if>
+            <if test="userIdStr != null">#{userIdStr},</if>
+            <if test="timeFrequency != null">#{timeFrequency},</if>
+            <if test="sendingTime != null">#{sendingTime},</if>
+            <if test="cron != null">#{cron},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+         </trim>
+    </insert>
+
+    <update id="updateIsCheckTask" parameterType="IsCheckTask">
+        update is_check_task
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="taskId != null">task_id = #{taskId},</if>
+            <if test="cabinetIdStr != null">cabinet_id_str = #{cabinetIdStr},</if>
+            <if test="userIdStr != null">user_id_str = #{userIdStr},</if>
+            <if test="timeFrequency != null">time_frequency = #{timeFrequency},</if>
+            <if test="sendingTime != null">sending_time = #{sendingTime},</if>
+            <if test="cron != null">cron = #{cron},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+        </trim>
+        where check_id = #{checkId}
+    </update>
+
+    <delete id="deleteIsCheckTaskByCheckId" parameterType="Long">
+        delete from is_check_task where check_id = #{checkId}
+    </delete>
+
+    <delete id="deleteIsCheckTaskByCheckIds" parameterType="String">
+        delete from is_check_task where check_id in
+        <foreach item="checkId" collection="array" open="(" separator="," close=")">
+            #{checkId}
+        </foreach>
+    </delete>
+</mapper>

+ 21 - 0
ktg-quartz/src/main/java/com/ktg/quartz/task/SendEmailsTask.java

@@ -0,0 +1,21 @@
+package com.ktg.quartz.task;
+
+import org.springframework.stereotype.Component;
+
+/**
+ * 定时发送检查物资柜提醒邮件
+ *
+ * @author CGJ
+ */
+@Component("sendEmailsTask")
+public class SendEmailsTask
+{
+
+    public void checkMaterialsCabinet(Long checkId)
+    {
+
+
+
+        System.out.println("执行无参方法");
+    }
+}

+ 5 - 3
ktg-system/src/main/java/com/ktg/system/mapper/SysUserMapper.java

@@ -1,15 +1,17 @@
 package com.ktg.system.mapper;
 
-import java.util.List;
-import org.apache.ibatis.annotations.Param;
 import com.ktg.common.core.domain.entity.SysUser;
+import com.ktg.common.mapper.BaseMapperX;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 用户表 数据层
  *
  * @author guoruan
  */
-public interface SysUserMapper
+public interface SysUserMapper extends BaseMapperX<SysUser>
 {
     /**
      * 根据条件分页查询用户列表

+ 4 - 2
ktg-system/src/main/java/com/ktg/system/service/ISysUserService.java

@@ -1,14 +1,16 @@
 package com.ktg.system.service;
 
-import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ktg.common.core.domain.entity.SysUser;
 
+import java.util.List;
+
 /**
  * 用户 业务层
  *
  * @author guoruan
  */
-public interface ISysUserService
+public interface ISysUserService extends IService<SysUser>
 {
     /**
      * 根据条件分页查询用户列表

+ 14 - 16
ktg-system/src/main/java/com/ktg/system/service/impl/SysUserServiceImpl.java

@@ -1,15 +1,6 @@
 package com.ktg.system.service.impl;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-import javax.validation.Validator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ktg.common.annotation.DataScope;
 import com.ktg.common.constant.UserConstants;
 import com.ktg.common.core.domain.entity.SysRole;
@@ -22,13 +13,20 @@ import com.ktg.common.utils.spring.SpringUtils;
 import com.ktg.system.domain.SysPost;
 import com.ktg.system.domain.SysUserPost;
 import com.ktg.system.domain.SysUserRole;
-import com.ktg.system.mapper.SysPostMapper;
-import com.ktg.system.mapper.SysRoleMapper;
-import com.ktg.system.mapper.SysUserMapper;
-import com.ktg.system.mapper.SysUserPostMapper;
-import com.ktg.system.mapper.SysUserRoleMapper;
+import com.ktg.system.mapper.*;
 import com.ktg.system.service.ISysConfigService;
 import com.ktg.system.service.ISysUserService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import javax.validation.Validator;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 用户 业务层处理
@@ -36,7 +34,7 @@ import com.ktg.system.service.ISysUserService;
  * @author guoruan
  */
 @Service
-public class SysUserServiceImpl implements ISysUserService
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService
 {
     private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);