From 95f0a8b4d82a859f2018c9d77e1a8a3a38b2d523 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 23 七月 2024 17:06:50 +0800
Subject: [PATCH] 报备记录、编号工具方法
---
ycl-pojo/src/main/java/com/ycl/platform/domain/form/ReportForm.java | 12 +---
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Report.java | 6 +-
ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java | 9 ++-
ycl-server/src/main/java/com/ycl/platform/service/ReportService.java | 3
ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java | 9 +++
ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java | 6 +-
ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml | 29 ++++++++-
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 3
ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java | 38 +++++++++++-
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java | 4 +
ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java | 35 ++++++++---
11 files changed, 116 insertions(+), 38 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Report.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Report.java
index f0e710f..07f8c7e 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Report.java
+++ b/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;
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/ReportForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/ReportForm.java
index 10bf0ff..461f9a2 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/ReportForm.java
+++ b/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) {
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java
index 4e63f3b..2e69882 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java
+++ b/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;
+
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java
index aafc0aa..13f523d 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java
+++ b/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;
/**
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java b/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
index 2f07121..4f85e46 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
+++ b/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")
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
index bb38f57..aff5d13 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
+++ b/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);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java b/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
index 752cfee..c8f3bba 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
@@ -75,8 +75,9 @@
* 鑾峰彇瀹℃牳璁板綍
*
* @return
+ * @param id
*/
- Result examineRecord();
+ Result auditingRecord(Integer id);
/**
* 瀹℃牳鎶ュ
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
index d284f95..3230e09 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
+++ b/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());
-
// 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
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()) {
+ // 濡傛灉鏄湭瀹℃牳閫氳繃锛岃繘琛屼慨鏀癸紝閭d箞鐩存帴鏂板锛堜负浜嗕繚瀛樺鏍歌褰曪級
+ 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
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 03e14a0..7e75841 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/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) {
diff --git a/ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java b/ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java
index c95c6e3..eaf4e6b 100644
--- a/ycl-server/src/main/java/com/ycl/utils/uuid/IdUtils.java
+++ b/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锛屽幓鎺変簡妯嚎锛屼娇鐢ㄦ�ц兘鏇村ソ鐨凾hreadLocalRandom鐢熸垚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();
+ }
}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
index a6bac16..382f7b4 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
+++ b/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>
--
Gitblit v1.8.0