From f65443d8abeaedc9d102324565e8368e7c9d90c8 Mon Sep 17 00:00:00 2001 From: 郑永安 <zyazyz250@sina.com> Date: 星期一, 19 六月 2023 14:41:54 +0800 Subject: [PATCH] commit --- 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