ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Report.java
@@ -71,7 +71,7 @@ @TableField("end_create_time") private Date endCreateTime; /** 版本号:可用于查询历史审核记录 */ @TableField("version") private Integer version; /** 标识号:可用于查询历史审核记录 */ @TableField("identify") private String identify; } ycl-pojo/src/main/java/com/ycl/platform/domain/form/ReportForm.java
@@ -1,5 +1,6 @@ package com.ycl.platform.domain.form; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.system.domain.group.Update; import com.ycl.system.domain.group.Add; import com.ycl.platform.base.AbsForm; @@ -35,13 +36,12 @@ @ApiModelProperty("点位") private Integer pointId; @ApiModelProperty("审核时间") private Date auditingTime; @ApiModelProperty("生效时间") @JsonFormat(pattern = "yyyy-MM-dd") private Date beginCreateTime; @ApiModelProperty("失效时间") @JsonFormat(pattern = "yyyy-MM-dd") private Date endCreateTime; @ApiModelProperty("审核类型") @@ -57,12 +57,6 @@ @ApiModelProperty("故障类型") private String errorType; @ApiModelProperty("审核意见") private String auditOpinion; @ApiModelProperty("状态") private Integer status; public static Report getEntityByForm(@NonNull ReportForm form, Report entity) { if(entity == null) { ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java
@@ -24,9 +24,9 @@ private String reportType; private Date beginCreateTime; private Date endCreateTime; // private Date beginCreateTime; // // private Date endCreateTime; private String pointId; @@ -36,5 +36,8 @@ private List<Integer> peopleIdList; @ApiModelProperty("状态") private Integer status; } ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java
@@ -1,6 +1,7 @@ package com.ycl.platform.domain.vo; import annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.platform.base.AbsVo; import com.ycl.platform.domain.entity.Report; @@ -56,17 +57,20 @@ private String errorType; /** 审核时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd") private Date auditingTime; /** * 生效时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date beginCreateTime; /** * 失效时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date endCreateTime; /** ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
@@ -88,11 +88,11 @@ return reportService.all(); } @GetMapping("/examine/record") @GetMapping("/auditing/record/{id}") @ApiOperation(value = "审核记录", notes = "审核记录") @PreAuthorize("@ss.hasPermi('system:report:record')") public Result examineRecord() { return reportService.examineRecord(); public Result auditingRecord(@PathVariable("id") Integer id) { return reportService.auditingRecord(id); } @PostMapping("/auditing") ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
@@ -9,6 +9,7 @@ import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.web.bind.annotation.PathVariable; /** * 报备 Mapper 接口 @@ -20,4 +21,12 @@ public interface ReportMapper extends BaseMapper<Report> { IPage<ReportVO> page(IPage page, @Param("query") ReportQuery query); /** * 审核记录 * * @param id * @return */ List<ReportVO> examineRecord(@Param("id") Integer id); } ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
@@ -75,8 +75,9 @@ * 获取审核记录 * * @return * @param id */ Result examineRecord(); Result auditingRecord(Integer id); /** * 审核报备 ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
@@ -12,7 +12,6 @@ import com.ycl.platform.domain.form.ReportForm; import com.ycl.platform.domain.query.ReportQuery; import com.ycl.platform.domain.vo.ReportVO; import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.mapper.ReportMapper; import com.ycl.platform.mapper.YwPeopleMapper; import com.ycl.platform.mapper.YwPointMapper; @@ -21,9 +20,11 @@ import com.ycl.system.Result; import com.ycl.system.page.PageUtil; import com.ycl.utils.SecurityUtils; import com.ycl.utils.uuid.IdUtils; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; @@ -61,6 +62,7 @@ form.setUnitId(people.getBelongUnit()); Report entity = ReportForm.getEntityByForm(form, null); entity.setStatus(0); entity.setIdentify(IdUtils.timeAddRandomNO(3)); if(baseMapper.insert(entity) > 0) { return Result.ok("添加成功"); } @@ -76,14 +78,25 @@ public Result update(ReportForm form) { Report entity = baseMapper.selectById(form.getId()); // 为空抛IllegalArgumentException,做全局异常处理 Assert.notNull(entity, "记录不存在"); BeanUtils.copyProperties(form, entity); if (baseMapper.updateById(entity) > 0) { return Result.ok("修改成功"); if (0 == entity.getStatus()) { // 待审核的直接改 BeanUtils.copyProperties(form, entity); baseMapper.updateById(entity); } else if (2 == entity.getStatus()) { // 如果是未审核通过,进行修改,那么直接新增(为了保存审核记录) Report report = new Report(); BeanUtils.copyProperties(entity, report); BeanUtils.copyProperties(form, report); report.setId(null); report.setStatus(0); report.setAuditingTime(null); report.setAuditOpinion(null); baseMapper.insert(report); } return Result.error("修改失败"); return Result.ok("修改成功"); } /** @@ -174,8 +187,8 @@ IPage<Report> page = new LambdaQueryChainWrapper<>(baseMapper) .eq(StringUtils.isNotBlank(query.getReportType()), Report::getReportType, query.getReportType()) .le(Objects.nonNull(query.getBeginCreateTime()), Report::getBeginCreateTime, query.getBeginCreateTime()) .ge(Objects.nonNull(query.getEndCreateTime()), Report::getEndCreateTime, query.getEndCreateTime()) // .le(Objects.nonNull(query.getBeginCreateTime()), Report::getBeginCreateTime, query.getBeginCreateTime()) // .ge(Objects.nonNull(query.getEndCreateTime()), Report::getEndCreateTime, query.getEndCreateTime()) .in(!CollectionUtils.isEmpty(query.getPointIdList()), Report::getPointId, query.getPointIdList()) .in(!CollectionUtils.isEmpty(query.getPeopleIdList()), Report::getPeopleId, query.getPeopleIdList()) .orderByDesc(Report::getCreateTime) @@ -200,9 +213,9 @@ @Override public Result examineRecord() { return null; public Result auditingRecord(Integer id) { List<ReportVO> reportList = baseMapper.examineRecord(id); return Result.ok().data(reportList); } @Override ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -23,6 +23,7 @@ import com.ycl.utils.DateUtils; import com.ycl.utils.SecurityUtils; import com.ycl.utils.redis.RedisCache; import com.ycl.utils.uuid.IdUtils; import enumeration.general.*; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.ArrayUtils; @@ -74,7 +75,7 @@ @Override public Result add(WorkOrderForm form) { WorkOrder entity = WorkOrderForm.getEntityByForm(form, null); entity.setWorkOrderNo(DateUtils.dateTimeNow()); entity.setWorkOrderNo(IdUtils.timeAddRandomNO(5)); entity.setCreateTime(DateUtils.getNowDate()); entity.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE); if(baseMapper.insert(entity) > 0) { ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java
@@ -1,15 +1,22 @@ package com.ycl.utils.uuid; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; /** * ID生成器工具类 * * * @author ruoyi */ public class IdUtils { private final static SimpleDateFormat FORMAT = new SimpleDateFormat("yyyyMMddHHmmss"); /** * 获取随机UUID * * * @return 随机UUID */ public static String randomUUID() @@ -39,11 +46,36 @@ /** * 简化的UUID,去掉了横线,使用性能更好的ThreadLocalRandom生成UUID * * * @return 简化的UUID,去掉了横线 */ public static String fastSimpleUUID() { return UUID.fastUUID().toString(true); } /** * 获取当前时间+随机数的编号 * * @param numberNum 时间后生成几位数字,默认5 * @return 编号 */ public static String timeAddRandomNO(Integer numberNum) { if (numberNum == null || numberNum == 0 || numberNum < 3) { numberNum = 5; } Date now = new Date(); String timeString = FORMAT.format(now); Random random = new Random(); StringBuilder builder = new StringBuilder(); builder.append(timeString); for (int i = 0; i < numberNum; i++) { // 生成一个0到9之间的随机数(包括0和9) builder.append(random.nextInt(10)); } return builder.toString(); } } ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
@@ -24,13 +24,19 @@ LEFT JOIN t_yw_unit u ON r.unit_id = u.id and u.deleted = 0 LEFT JOIN t_yw_people p ON r.people_id = p.id and p.deleted = 0 LEFT JOIN t_yw_point pt ON r.point_id = pt.id and pt.deleted = 0 where INNER JOIN ( SELECT identify,MAX(create_time) AS create_time FROM t_report WHERE deleted = 0 GROUP BY identify ) as rr ON r.create_time = rr.create_time WHERE r.deleted = 0 <if test="query.reportType != null and query.reportType != ''"> AND r.report_type = #{query.reportType} </if> <if test="query.beginCreateTime != null"> AND r.create_time between #{query.beginCreateTime} and #{query.endCreateTime} <if test="query.status != null"> AND r.status = #{query.status} </if> <if test="query.pointId != null and query.pointId != ''"> AND pt.point_name like concat('%', #{query.pointId}, '%') @@ -38,7 +44,22 @@ <if test="query.peopleId != null and query.peopleId != ''"> AND p.yw_person_name like concat('%', #{query.peopleId}, '%') </if> ORDER BY r.create_time DESC ORDER BY r.update_time DESC </select> <select id="examineRecord" resultMap="BaseResultMap"> SELECT r.*, u.unit_name, p.yw_person_name as peopleName, pt.point_name FROM t_report r LEFT JOIN t_yw_unit u ON r.unit_id = u.id and u.deleted = 0 LEFT JOIN t_yw_people p ON r.people_id = p.id and p.deleted = 0 LEFT JOIN t_yw_point pt ON r.point_id = pt.id and pt.deleted = 0 INNER JOIN ( SELECT identify, create_time FROM t_report WHERE id = #{id} AND deleted = 0 ) as rr ON r.identify = rr.identify AND r.create_time <= rr.create_time </select> </mapper>