From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:22:45 +0800
Subject: [PATCH] 描述
---
src/main/java/com/gk/firework/Controller/EntryController.java | 237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 237 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Controller/EntryController.java b/src/main/java/com/gk/firework/Controller/EntryController.java
new file mode 100644
index 0000000..88ee014
--- /dev/null
+++ b/src/main/java/com/gk/firework/Controller/EntryController.java
@@ -0,0 +1,237 @@
+package com.gk.firework.Controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gk.firework.Controller.Base.BaseController;
+import com.gk.firework.Domain.EntryOrderInfo;
+import com.gk.firework.Domain.Enum.ErrorCode;
+import com.gk.firework.Domain.Log.JsonParams;
+import com.gk.firework.Domain.SoldNoStockInfo;
+import com.gk.firework.Domain.StockInfo;
+import com.gk.firework.Domain.UserInfo;
+import com.gk.firework.Domain.Utils.FilterObject;
+import com.gk.firework.Domain.Utils.Msg;
+import com.gk.firework.Domain.Utils.StringUtils;
+import com.gk.firework.Domain.Vo.DirectionDetail;
+import com.gk.firework.Domain.Vo.FireworkDeal;
+import com.gk.firework.Domain.Vo.ProductVo;
+import com.gk.firework.Service.EntryDetailService;
+import com.gk.firework.Service.EntryService;
+import com.gk.firework.Service.ProductService;
+import com.gk.firework.Service.StockService;
+import com.gk.firework.Service.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author : jingjy
+ * @date : 2021/4/9 16:17
+ */
+@Api(tags = "入库接口")
+@RestController
+@RequestMapping("/entry")
+public class EntryController extends BaseController {
+ @Autowired
+ private ProductService productService;
+ @Autowired
+ private EntryService entryService;
+ @Autowired
+ private EntryDetailService entryDetailService;
+ @Autowired
+ private StockService stockService;
+ @Autowired
+ private SoldNoStockService soldNoStockService;
+ @Autowired
+ private UserService userService;
+
+ @GetMapping(value = "/getEntryDetail/directionCode/{directionCode}")
+ public Msg getEntryDetail(@PathVariable String directionCode){
+ Msg msg = new Msg(true);
+ if (FireworkDeal.isNotDirectionCode(directionCode)){
+ msg.setCode(ErrorCode.ERROR_999.getCode());
+ msg.setMessage("流向码不符合规则,请重新输入!");
+ return msg;
+ }
+
+ List<ProductVo>productVoList = new ArrayList<>();
+ if (FireworkDeal.is22Characters(directionCode)){
+ DirectionDetail detail = FireworkDeal.dealDirectionCode(directionCode);
+ ProductVo productVo = productService.selectVoByDirection(directionCode);
+ if (productVo == null){
+ msg.setCode(ErrorCode.ERROR_999.getCode());
+ msg.setMessage("产品不存在,请重新输入!");
+ return msg;
+ }
+ FireworkDeal.getProductVos(directionCode,detail,detail,productVoList,productVo);
+ }else {
+ ProductVo productVo = productService.selectVoByDirection(directionCode);
+ if (productVo == null){
+ msg.setCode(ErrorCode.ERROR_999.getCode());
+ msg.setMessage("产品不存在,请重新输入!");
+ return msg;
+ }
+ productVoList.add(productVo);
+ }
+
+
+ if (productVoList.size() == 0){
+ msg.setCode(ErrorCode.ERROR_999.getCode());
+ msg.setMessage("流向码:"+directionCode+"未找到相应入库信息!");
+ return msg;
+ }
+
+ StringBuilder content = new StringBuilder();
+
+ List<ProductVo>productVos = new ArrayList<>();
+ for (ProductVo productVo1 : productVoList){
+ StockInfo stockInfo = stockService.selectStockByDireAndUser(getUser().getCompanyid(),productVo1.getDirectionCode());
+ if (stockInfo == null || stockInfo.getStatus().equals(StockInfo.STOCK_SOLD)){
+ msg.setCode(ErrorCode.ERROR_999.getCode());
+ content.append(productVo1.getDirectionCode()).append(" 未入库或者已经销售了!");
+ }else {
+ productVos.add(productVo1);
+ }
+ }
+
+ msg.setMessage(content.toString());
+ msg.setResult(productVos);
+
+ return msg;
+ }
+
+ @PostMapping("entryPatch")
+ @JsonParams
+ public Msg entryPatch(@RequestBody JSONArray jsonArray){
+ Msg msg = new Msg(true);
+ if (jsonArray.size() == 0){
+ msg.setCode(ErrorCode.ERROR_999.getCode());
+ msg.setMessage(ErrorCode.ERROR_999.getMsg());
+ return msg;
+ }
+ UserInfo userInfo = userService.getById(getUser().getId());
+ String auth = getAuth();
+ auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth;
+ List<SoldNoStockInfo>soldNoStockInfos = new ArrayList<>();
+ for (int i = 0; i < jsonArray.size(); i++){
+ JSONObject object = jsonArray.getJSONObject(i);
+ String directionCode = object.getString("directioncode");
+ SoldNoStockInfo soldNoStockInfo = soldNoStockService.selectSoldNoStockByDire(directionCode);
+ if (soldNoStockInfo == null){
+ msg.setCode(ErrorCode.ERROR_999.getCode());
+ msg.setMessage(ErrorCode.ERROR_999.getMsg());
+ return msg;
+ }
+ soldNoStockInfos.add(soldNoStockInfo);
+ }
+ entryService.entryPatch(soldNoStockInfos,userInfo,auth);
+
+ return msg;
+ }
+
+
+
+ /**
+ * @Description: 入库查询
+ * @date 2021/4/14 16:35
+ */
+ @PostMapping("/inbound-query")
+ @ApiOperation(value = "入库查询", httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "pageIndex", value = "当前页码", required = true),
+ @ApiImplicitParam(name = "pageSize", value = "页大小", required = true),
+ @ApiImplicitParam(name = "filter.province", value = "省"),
+ @ApiImplicitParam(name = "filter.city", value = "市"),
+ @ApiImplicitParam(name = "filter.district", value = "区"),
+ @ApiImplicitParam(name = "filter.street", value = "街道"),
+ @ApiImplicitParam(name = "filter.committee", value = "委员会"),
+ @ApiImplicitParam(name = "filter.starttime", value = "开始时间"),
+ @ApiImplicitParam(name = "filter.endtime", value = "结束时间"),
+ @ApiImplicitParam(name = "filter.transportcert", value = "运输证号码"),
+ @ApiImplicitParam(name = "filter.enterprisename", value = "入库企业名称"),
+ @ApiImplicitParam(name = "filter.safetysupervision", value = "安全监管分类"),
+ @ApiImplicitParam(name = "filter.type", value = "入库类型"),
+ @ApiImplicitParam(name = "filter.code", value = "单号"),
+ })
+ Object getInboundInfo(@RequestBody FilterObject jsonFilter) {
+ Integer pageIndex = jsonFilter.getPageIndex();
+ Integer pageSize = jsonFilter.getPageSize();
+ IPage page = entryService.selectPage(new Page<>(pageIndex, pageSize), jsonFilter.getFilter(), getUser());
+ return success(page);
+ }
+
+ @PostMapping("/stock/inbound-query")
+ @ApiOperation(value = "入库查询", httpMethod = "POST")
+ Object getStockInboundInfo(@RequestBody FilterObject jsonFilter) {
+ Integer pageIndex = jsonFilter.getPageIndex();
+ Integer pageSize = jsonFilter.getPageSize();
+ IPage page = entryService.selectStockPage(new Page<>(pageIndex, pageSize), jsonFilter.getFilter(), getUser());
+ return success(page);
+ }
+
+ /**
+ * @Description: 入库导出
+ * @date 2021/4/19 17:11
+ */
+
+ @PostMapping("/export/inbound")
+ @ApiOperation(value = "入库查询导出", httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "filter.province", value = "省"),
+ @ApiImplicitParam(name = "filter.city", value = "市"),
+ @ApiImplicitParam(name = "filter.district", value = "区"),
+ @ApiImplicitParam(name = "filter.street", value = "街道"),
+ @ApiImplicitParam(name = "filter.committee", value = "委员会"),
+ @ApiImplicitParam(name = "filter.starttime", value = "开始时间"),
+ @ApiImplicitParam(name = "filter.endtime", value = "结束时间"),
+ @ApiImplicitParam(name = "filter.transportcert", value = "运输证号码"),
+ @ApiImplicitParam(name = "filter.enterprisename", value = "入库企业名称"),
+ })
+ Object exportInbound(@RequestBody FilterObject jsonFilter) {
+ List<EntryOrderInfo> list = entryService.selectExportInBound(jsonFilter.getFilter(), getUser());
+ return success(list);
+ }
+
+ /**
+ * @Description: 根据{入库单code}查询入库明细
+ * @date 2021/4/15 11:09
+ */
+ @PostMapping("/inbound-detail")
+ @ApiOperation(value = "入库单明细", httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "pageIndex", value = "当前页码", required = true),
+ @ApiImplicitParam(name = "pageSize", value = "页大小", required = true),
+ @ApiImplicitParam(name = "filter.code", value = "入库单号code"),
+ })
+ Object getInboundDetail(@RequestBody FilterObject jsonFilter) {
+ Integer pageIndex = jsonFilter.getPageIndex();
+ Integer pageSize = jsonFilter.getPageSize();
+ IPage page = entryService.selectDetailPage(new Page<>(pageIndex,pageSize),jsonFilter.getFilter());
+ return success(page);
+ }
+
+
+ /**
+ * @Description: 根据{入库单code}查询入库明细并导出
+ * @date 2021/4/15 11:09
+ */
+ @GetMapping("/export/inbound-detail")
+ @ApiOperation(value = "入库单明细导出", httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "code", value = "入库单号code"),
+ })
+ Object getInboundDetail(@RequestParam String code) {
+ List<Map> detailExport = entryDetailService.selectDetailExport(code);
+ return success(detailExport);
+ }
+
+}
--
Gitblit v1.9.2