From 20956b0f05f81ca47cf6c3e8f9b3b426e9cfd035 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期日, 24 九月 2023 21:54:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java | 85 ++++++++++++++++++++++++++++++++----------
1 files changed, 65 insertions(+), 20 deletions(-)
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java b/inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java
index 0505b8c..bd6a077 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java
@@ -1,22 +1,36 @@
package com.yuanchu.mom.controller;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.yuanchu.mom.pojo.vo.SaleVo;
-import com.yuanchu.mom.service.RepertoryService;
-import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.pojo.dto.ExportSaleDto;
+import com.yuanchu.mom.utils.easyexcel.template.ExportSaleTemplate;
import com.yuanchu.mom.pojo.dto.SaleDto;
+import com.yuanchu.mom.pojo.dto.SaleMaterialDto;
+import com.yuanchu.mom.pojo.vo.SaleVo;
import com.yuanchu.mom.service.SaleService;
+import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.utils.Jwt;
+import com.yuanchu.mom.utils.easyexcel.CustemHandler;
+import com.yuanchu.mom.utils.easyexcel.EasyExcelUtils;
+import com.yuanchu.mom.utils.easyexcel.LocalDateConverter;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import springfox.documentation.spring.web.json.Json;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.util.*;
/**
@@ -38,8 +52,6 @@
@Resource
Jwt jwt;
- @Resource
- RepertoryService repertoryService;
@ApiOperation(value = "鏌ヨ閿�鍞崟鍒楄〃")
@ApiImplicitParams(value = {
@@ -59,15 +71,21 @@
return Result.success(map);
}
- @ApiOperation(value = "鏂板閿�鍞崟-->娣诲姞浜у搧-->鏌ヨ鎴愬搧搴撳瓨")
- @PostMapping("/seleRepe")
- public Result seleRepe() {
- return Result.success(repertoryService.getSale());
- }
-
@ApiOperation(value = "鏂板閿�鍞崟")
@PostMapping("/addSale")
- public Result addSale(@RequestHeader("token") String token, @RequestBody SaleDto saleDto) throws Exception {
+ public Result addSale(@RequestHeader("token") String token, @Validated @RequestBody SaleDto saleDto) throws Exception {
+ //鏍¢獙,鍚屼竴涓骇鍝佺殑瑙勬牸鍨嬪彿涓嶈兘鐩稿悓
+ List<SaleMaterialDto> saleMaterialList = saleDto.getSaleMaterialList();
+ // 浣跨敤鍝堝笇闆嗗悎鏉ュ垽鏂槸鍚﹀瓨鍦ㄧ浉鍚屽瓧娈靛�肩粍鍚�
+ Set<String> seen = new HashSet<>();
+ for (SaleMaterialDto saleMaterial: saleMaterialList) {
+ String key = saleMaterial.getName() + "," + saleMaterial.getSpecifications();
+ if (seen.contains(key)) {
+ return Result.fail("鍚屼竴涓骇鍝佺殑瑙勬牸鍨嬪彿涓嶈兘鐩稿悓");
+ } else {
+ seen.add(key);
+ }
+ }
Map<String, String> data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class);
saleService.addSale(data.get("name").replaceAll("\"", ""), saleDto);
return Result.success("鏂板鎴愬姛!");
@@ -84,13 +102,14 @@
@ApiOperation(value = "鏍规嵁閿�鍞崟id淇敼璇︽儏淇℃伅")
@ApiImplicitParams(value = {
- @ApiImplicitParam(name = "id", value = "閿�鍞崟id", dataTypeClass = Integer.class, required = true)
+ @ApiImplicitParam(name = "id", value = "閿�鍞崟id", dataTypeClass = Integer.class, required = true),
+ @ApiImplicitParam(name = "id", value = "json鏍煎紡鐨勯攢鍞崟鍐呭", dataTypeClass = Json.class, required = true)
})
@PostMapping("/updateSaleById")
- public Result updateSaleById(@RequestHeader("token") String token, Integer id, @RequestBody SaleVo saleVo) throws Exception {
+ public Result updateSaleById(@RequestHeader("token") String token, Integer id, String str) throws Exception {
+ SaleVo saleVo = JackSonUtil.unmarshal(str, SaleVo.class);
Map<String, String> data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class);
- saleService.updateSaleById(data.get("name").replaceAll("\"", ""),id, saleVo);
- return Result.success("淇敼鎴愬姛!");
+ return Result.success(saleService.updateSaleById(data.get("name").replaceAll("\"", ""), id, saleVo));
}
@ApiOperation(value = "鏍规嵁閿�鍞崟id鍒犻櫎")
@@ -105,10 +124,10 @@
@ApiOperation(value = "鎵归噺鍒犻櫎")
@ApiImplicitParams(value = {
- @ApiImplicitParam(name = "ids", value = "ids", dataTypeClass = Integer.class, dataType = "List",required = true)
+ @ApiImplicitParam(name = "ids", value = "ids", dataTypeClass = String.class,required = true)
})
@PostMapping("/delAllSale")
- public Result delAllSale( @RequestParam("ids") List<Integer> ids) {
+ public Result delAllSale(String ids) {
saleService.delAllSale(ids);
return Result.success();
}
@@ -119,11 +138,37 @@
@ApiImplicitParam(name = "type", value = "鐘舵��", dataTypeClass = Integer.class, required = true)
})
@PostMapping("/check")
- public Result check(@RequestHeader("token") String token,Integer id,Integer type) throws Exception {
+ public Result check(@RequestHeader("token") String token, Integer id, Integer type) throws Exception {
Map<String, String> data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class);
- saleService.check(data.get("name").replaceAll("\"", ""),id,type);
+ saleService.check(data.get("name").replaceAll("\"", ""), id, type);
return Result.success("瀹℃牳鎴愬姛");
}
+ @ApiOperation(value = "鍚屾")
+ @PostMapping("/synchronization")
+ public Result synchronization(){
+ return Result.success(saleService.synchronization());
+ }
+
+ @ApiOperation(value = "涓嬭浇闄勪欢")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "id", value = "閿�鍞崟id", dataTypeClass = Integer.class, required = true)
+ })
+ @PostMapping("/download")
+ public Result download(Integer id){
+ return Result.success(saleService.download(id));
+ }
+
+ @ApiOperation(value = "閿�鍞鍗曞鍑�")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "orderNumber", value = "璁㈠崟缂栧彿", dataTypeClass = String.class),
+ @ApiImplicitParam(name = "name", value = "浜у搧鍚嶇О", dataTypeClass = String.class),
+ @ApiImplicitParam(name = "type", value = "鐘舵��(涓虹┖=鍏ㄩ儴)", dataTypeClass = Integer.class),
+ @ApiImplicitParam(name = "delTime", value = "浜よ揣鏃ユ湡", dataTypeClass = String.class)
+ })
+ @PostMapping("/exportSale")
+ public void exportSale(@RequestBody ExportSaleDto dto, HttpServletResponse response){
+ saleService.exportSale(dto,response);
+ }
}
--
Gitblit v1.9.3