From bf1a1999cc8e1608e43bd07bec9ddd59544e0ccf Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 23 Sep 2022 16:29:39 +0800
Subject: [PATCH] ·
---
src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 92 insertions(+), 1 deletions(-)
diff --git a/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java b/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
index 420be2e..09966c9 100644
--- a/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
+++ b/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
@@ -9,13 +9,17 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.recovery.service.RecoveryService;
+import org.springblade.modules.traceability.dto.TraceabilityDTO;
+import org.springblade.modules.traceability.dto.TraceabilityDetailDTO;
import org.springblade.modules.traceability.entity.Traceability;
import org.springblade.modules.traceability.service.TraceabilityService;
import org.springblade.modules.traceability.vo.TraceabilityVO;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
-
import javax.validation.Valid;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
import java.util.Date;
/**
@@ -29,6 +33,9 @@
public class TraceabilityController extends BladeController {
private final TraceabilityService traceabilityService;
+
+
+ private final RecoveryService recoveryService;
/**
* 详情
@@ -64,6 +71,30 @@
}
/**
+ * 小程序列表分页
+ * @param traceability
+ * @param query
+ * @return
+ */
+ @GetMapping("/xcxpage")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入traceability")
+ public R<IPage<TraceabilityVO>> xcxpage(TraceabilityVO traceability, Query query) {
+ IPage<TraceabilityVO> pages = traceabilityService.selectTraceabilityXcxPage(Condition.getPage(query), traceability);
+ return R.data(pages);
+ }
+
+ /**
+ * 自定义查询,不分页
+ * @param traceability
+ * @return
+ */
+ @GetMapping("/getTraceabilityList")
+ public R getTraceabilityList(TraceabilityVO traceability) {
+ return R.data(traceabilityService.getTraceabilityList(traceability));
+ }
+
+ /**
* 新增
*/
@PostMapping("/save")
@@ -71,7 +102,33 @@
@Transactional(rollbackFor = Exception.class)
public R save(@Valid @RequestBody Traceability traceability) {
traceability.setCreateTime(new Date());
+ //生成溯源码编号
+ //去生成保安证编号
+ String pre = getCodePre();
+ //查询当前前缀下最大的编号
+ int max = recoveryService.getCodePreCount(pre);
+ String result = null;
+ if (max == 0) {
+ result = pre + "0000001";
+ } else {
+ //格式化
+ DecimalFormat decimalFormat = new DecimalFormat("0000000");
+ max++;
+ result = pre + (decimalFormat.format(max));
+ }
+ traceability.setCode(result);
+ //新增
return R.status(traceabilityService.save(traceability));
+ }
+
+
+ /**
+ * 编号前缀
+ * @return
+ */
+ private String getCodePre() {
+ String nowDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+ return nowDate.substring(2,4)+nowDate.substring(5,7);
}
/**
@@ -80,6 +137,7 @@
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入traceability")
+ @Transactional(rollbackFor = Exception.class)
public R update(@Valid @RequestBody Traceability traceability) {
//更新并返回
return R.status(traceabilityService.updateById(traceability));
@@ -106,4 +164,37 @@
return R.status(traceabilityService.removeByIds(Func.toLongList(ids)));
}
+ /**
+ * 获取溯源简介信息
+ * @param traceability
+ * @return
+ */
+ @GetMapping("/getSimpleInfo")
+ public R<TraceabilityDTO> getSimpleInfo(Traceability traceability) {
+ TraceabilityDTO traceabilityDTO = traceabilityService.getSimpleInfo(traceability);
+ return R.data(traceabilityDTO);
+ }
+
+ /**
+ * 获取溯源详情信息(包含农产品信息,认证检测信息,产地(地块信息),农事记录,企业信息)
+ * @param traceability
+ * @return
+ */
+ @GetMapping("/getTraceabilityDetailInfo")
+ public R<TraceabilityDetailDTO> getTraceabilityDetailInfo(Traceability traceability) {
+ TraceabilityDetailDTO traceabilityDTO = traceabilityService.getTraceabilityDetailInfo(traceability);
+ return R.data(traceabilityDTO);
+ }
+
+ /**
+ * 获取溯源详情信息(包含农产品信息,认证检测信息,产地(地块信息),农事记录,企业信息)扫码
+ * @param traceability
+ * @return
+ */
+ @GetMapping("/getTraceabilityDetailInfos")
+ public R<TraceabilityDetailDTO> getTraceabilityDetailInfos(Traceability traceability) {
+ TraceabilityDetailDTO traceabilityDTO = traceabilityService.getTraceabilityDetailInfos(traceability);
+ return R.data(traceabilityDTO);
+ }
+
}
--
Gitblit v1.9.3