From b34b41f262e179448e1b4c6f592936ae0cbd130f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期五, 08 四月 2022 14:14:05 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OpenController.java | 104 +++++++++++++-------------------------------------- 1 files changed, 27 insertions(+), 77 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index f43c842..0f94938 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -1,101 +1,51 @@ package com.zy.asrs.controller; +import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; -import com.core.exception.CoolException; -import com.zy.asrs.entity.LocDetl; -import com.zy.asrs.entity.MatCode; -import com.zy.asrs.entity.param.OpenApiStockOutParam; -import com.zy.asrs.entity.result.StoPreTab; -import com.zy.asrs.service.LocDetlService; -import com.zy.asrs.service.MatCodeService; +import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.param.OpenOrderPakinParam; +import com.zy.asrs.service.OrderDetlService; +import com.zy.asrs.service.OrderService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - /** - * Created by vincent on 2021/3/19 + * Created by vincent on 2022/4/8 */ @RestController -@RequestMapping("/open/api") +@RequestMapping("open/asrs/") public class OpenController { @Autowired - private LocDetlService locDetlService; + private OrderService orderService; @Autowired - private MatCodeService matCodeService; + private OrderDetlService orderDetlService; - @PostMapping("/stockOut/prew") - @Transactional - public R stockOutPrew(@RequestBody List<OpenApiStockOutParam> params){ - List<StoPreTab> result = new ArrayList<>(); - StringBuilder errorMsg = new StringBuilder(); - boolean error = false; - for (OpenApiStockOutParam param : params) { - Double sumAnfme = Optional.ofNullable(locDetlService.getSumAnfme(param.getMatnr())).orElse(0.0D); - if (sumAnfme < param.getAnfme()) { - if (!error) { - error = true; - } - MatCode mat = matCodeService.selectById(param.getMatnr()); - errorMsg.append(mat == null ? param.getMatnr() : mat.getMatName()).append("搴撳瓨涓嶈冻锛岀己璐ф暟閲忥細").append(param.getAnfme() - sumAnfme).append("</br>"); - continue; - } - List<LocDetl> locDetls = locDetlService.selectPakoutByRule(param.getMatnr()); - double issued = Optional.ofNullable(param.getAnfme()).orElse(0.0D) ; - double anfme = issued; - for (LocDetl locDetl : locDetls) { - if (issued > 0) { - // 瑙嗗浘瀵硅薄 - StoPreTab tab = new StoPreTab(); - tab.setTitle(locDetl.getMatnr() + "锛�" + locDetl.getMaktx() + "锛�"); - tab.setMatnr(locDetl.getMatnr()); - tab.setMaktx(locDetl.getMaktx()); - tab.setAnfme(param.getTotal()); - - tab.setLocNo(locDetl.getLocNo()); -// tab.setNodeId(locDetl.getNodeId()); - tab.setTotal(locDetl.getAnfme()); - tab.setReduce(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued); - tab.setRemQty(tab.getTotal() - tab.getReduce()); - tab.setPrior(false); - tab.setPrior$("脳"); - tab.setType(2); - result.add(tab); - // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued = issued - locDetl.getAnfme(); - } - } - + /** + * 娣诲姞鍏ュ簱鍗� + */ + @PostMapping("order/pakin/default/v1") + public synchronized R orderCreate(@RequestBody OpenOrderPakinParam param) { + if (Cools.isEmpty(param)) { + return R.parse(BaseRes.PARAM); } - if (error) { - return R.error().add(errorMsg.toString()); + if (Cools.isEmpty(param.getOrderNo())) { + return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖"); } - return R.ok().add(result); - } - - @PostMapping("/stockOut") - @Transactional - public R stockOut(@RequestBody List<OpenApiStockOutParam> params){ - if (!Cools.isEmpty(params)) { - for (OpenApiStockOutParam param : params) { - Double sumAnfme = Optional.ofNullable(locDetlService.getSumAnfme(param.getMatnr())).orElse(0.0D); - if (sumAnfme < param.getAnfme()) { - throw new CoolException(param.getMatnr() + "鐗╂枡鏁伴噺涓嶈冻锛岀己璐ф暟閲忥細" + (param.getAnfme() - sumAnfme)); - } - - - - } + if (Cools.isEmpty(param.getOrderType())) { + return R.error("鍗曟嵁绫诲瀷[orderType]閿欒"); } - + if (Cools.isEmpty(param.getOrderDetails())) { + return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖"); + } + Order order = orderService.selectByNo(param.getOrderNo()); + if (!Cools.isEmpty(order)) { + return R.error(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); + } return R.ok(); } -- Gitblit v1.9.1