From 918032ec4d745924bbed1d405e93a219b6a6f6f0 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 23 Aug 2022 17:37:55 +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