From 0ea162c9bbd4e2ac337aae567005369fbc911032 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 01 Jul 2022 18:19:35 +0800
Subject: [PATCH] 新增查询溯源详情接口,采收新增修改

---
 src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 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..ef56345 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,20 @@
 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.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.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 +37,9 @@
 public class TraceabilityController extends BladeController {
 
 	private final TraceabilityService traceabilityService;
+
+
+	private final RecoveryService recoveryService;
 
 	/**
 	 * 详情
@@ -71,7 +82,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 +117,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 +144,26 @@
 		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);
+	}
+
 }

--
Gitblit v1.9.3