From 258c781597200e0d82fda71fd53a9f8254b9ad91 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 14 Jun 2022 11:57:46 +0800
Subject: [PATCH] 农场,农产品,种类,种植,农事,采收,农产品库存新增租户农场id 字段,接口修改

---
 src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 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..fc2d017 100644
--- a/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
+++ b/src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
@@ -1,4 +1,5 @@
 package org.springblade.modules.traceability.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.ApiOperation;
@@ -9,13 +10,18 @@
 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.entity.Recovery;
+import org.springblade.modules.recovery.service.RecoveryService;
 import org.springblade.modules.traceability.entity.Traceability;
 import org.springblade.modules.traceability.service.TraceabilityService;
 import org.springblade.modules.traceability.vo.TraceabilityVO;
+import org.springframework.retry.annotation.Recover;
 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 +35,9 @@
 public class TraceabilityController extends BladeController {
 
 	private final TraceabilityService traceabilityService;
+
+
+	private final RecoveryService recoveryService;
 
 	/**
 	 * 详情
@@ -71,7 +80,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 +115,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));

--
Gitblit v1.9.3