From 16df414db25bf21058077e37ad3bc28bba1cbb10 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期日, 08 八月 2021 15:52:43 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/controller/WorkController.java | 268 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 261 insertions(+), 7 deletions(-) diff --git a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java index 2086f73..fd7b482 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java @@ -1,26 +1,64 @@ package zy.cloud.wms.manager.controller; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; import com.core.common.R; +import com.core.common.SnowflakeIdWorker; +import com.core.exception.CoolException; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import zy.cloud.wms.common.model.BillDto; +import zy.cloud.wms.common.service.erp.ErpR; +import zy.cloud.wms.common.service.erp.ErpService; import zy.cloud.wms.common.web.BaseController; -import zy.cloud.wms.manager.entity.param.StockInParam; -import zy.cloud.wms.manager.entity.param.StockOutParam; -import zy.cloud.wms.manager.service.WorkService; +import zy.cloud.wms.manager.entity.*; +import zy.cloud.wms.manager.entity.param.*; +import zy.cloud.wms.manager.entity.result.KeyValueVo; +import zy.cloud.wms.manager.service.*; + +import java.util.ArrayList; +import java.util.List; /** * Created by vincent on 2021/2/25 */ +@Slf4j @RestController @RequestMapping("/work") public class WorkController extends BaseController { @Autowired private WorkService workService; + @Autowired + private PakoutService pakoutService; + @Autowired + private WrkStsService wrkStsService; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private OrderService orderService; + @Autowired + private ErpService erpService; + + + @RequestMapping("/stock/pakin") + @ManagerAuth(memo = "鍏ュ簱") + public R stockPakin(@RequestBody PakinParam number) { + return workService.stockPakin(number, getUserId()); + } + + @RequestMapping("/stock/pakout") + @ManagerAuth(memo = "鍑哄簱") + public R stockPakout(@RequestBody PakoutParam number) { + return workService.stockPakout(number, getUserId()); + } @RequestMapping("/stock/in") @ManagerAuth(memo = "涓婃灦") @@ -29,15 +67,231 @@ } @RequestMapping("/stock/out/check") - @ManagerAuth(memo = "鎷h揣") + @ManagerAuth(memo = "搴撳瓨鏁伴噺妫�娴�") public R stockOutCheck(@RequestParam String number) { return workService.stockOutCheck(number, getUserId()); } - @RequestMapping("/stock/out") - @ManagerAuth(memo = "鎷h揣") + @RequestMapping("/stock/out/preview") + @ManagerAuth(memo = "鎷h揣棰勮") + public R stockOutPreview(@RequestBody StockOutParam stockOutParam) { + return workService.stockOutPreview(stockOutParam, getUserId()); + } + + @RequestMapping("/stock/out/create") + @ManagerAuth(memo = "鐢熸垚鎷h揣鍗�") public R stockOut(@RequestBody StockOutParam stockOutParam) { - return workService.stockOut(stockOutParam, getUserId()); + return workService.stockOutCreate(stockOutParam, getUserId()); + } + + @RequestMapping("/stock/out/print") + @ManagerAuth(memo = "鎷h揣鍗曟墦鍗�") + public R stockOutPrint(@RequestBody StockOutParam stockOutParam) { + return workService.stockOutPrint(stockOutParam, getUserId()); + } + + @RequestMapping("/stock/allot") + @ManagerAuth(memo = "搴撳瓨璋冩嫧") + public R stockAllot() { + return R.ok(); + } + + @RequestMapping("/pakout/get") + @ManagerAuth(memo = "鑾峰彇鍑哄簱鍗�") + public R getPakout(@RequestParam String docNumber) { + List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", docNumber).in("wrk_sts", 1, 2)); + if (Cools.isEmpty(pakouts)) { + return R.parse(BaseRes.EMPTY); + } + Long sts = pakouts.get(0).getWrkSts(); + if (sts == 1) { + sts = 2L; + } + WrkSts wrkSts = wrkStsService.selectById(sts); + return R.ok().add(Cools + .add("number", pakouts.get(0).getDocNum()) + .add("wrkSts", pakouts.get(0).getWrkSts()) + .add("wrkSts$", wrkSts == null ? "鏈煡" : wrkSts.getStsName()) + .add("custName", Cools.isEmpty(pakouts.get(0).getCustName()) ? "-" : pakouts.get(0).getCustName()) + .add("pakouts", pakouts) + ); + } + + @RequestMapping("/stock/out/confirm") + @ManagerAuth(memo = "鎷h揣纭") + public R stockOutConfirm(@RequestBody StockConfirmParam param) { + return workService.stockOutComplete(param, getUserId()); + } + + @RequestMapping("/pakout/init") + @ManagerAuth(memo = "鐢熸垚鎷h揣鍗�") + public R initPakout(@RequestBody List<InitPakoutParam> params) { + return workService.initPakout(params, getUserId()); + } + + @RequestMapping("/hand/control/pakout") + @ManagerAuth(memo = "鎵嬪姩澶勭悊鎷h揣鍗�") + public R handControlWrkMast(@RequestParam String wrkNo, @RequestParam Integer type) { + if (type == 1) { + return workService.completePakout(wrkNo, getUserId()); + } else if (type == 2) { + return workService.cancelPakout(wrkNo, getUserId()); + } + return R.ok(); + } + + @RequestMapping("/orderNo/init") + @ManagerAuth(memo = "鐢熸垚鍗曟嵁缂栧彿") + public R initOrderNo() { + long nextId = snowflakeIdWorker.nextId(); + String orderNo = "AT-" + String.valueOf(nextId).substring(0, 15); + if (orderService.selectByOrderNo(orderNo) != null) { + return R.error("鎶辨瓑锛屽崟鎹紪鍙峰凡瀛樺湪"); + } + return R.ok().add(orderNo); + } + + @RequestMapping("/order/init") + @ManagerAuth(memo = "鐢熸垚璁㈠崟") + public R initOrder(@RequestBody InitOrderParam param) { + return workService.initOrder(param, getUserId()); + } + + @RequestMapping("/stock/transfer") + @ManagerAuth(memo = "搴撳瓨璋冩嫧") + public R stockTransfer(@RequestBody AsrsTransferParam number) { + return workService.asrsStockTransfer(number, getUserId()); + } + + @RequestMapping("/stock/transfer/locMode") + @ManagerAuth(memo = "搴撳瓨璋冩嫧-绔嬪簱妯″紡") + public R stockTransferLocMode(@RequestBody AsrsTransferParam number) { + return workService.asrsStockTransferLocMode(number, getUserId()); + } + + @RequestMapping("/stock/check") + @ManagerAuth(memo = "搴撳瓨鐩樼偣") + public R stockCheck(@RequestBody StoCheckParam param) { + return workService.stockCheck(param, getUserId()); + } + + @RequestMapping("/stock/check/auditing") + @ManagerAuth(memo = "鐩樼偣璁板綍瀹℃牳") + public R checkAuditing(@RequestParam Long checkId) { + return workService.stockCheckAuditing(checkId, getUserId()); + } + + @RequestMapping("/stock/checks/auditing") + @ManagerAuth(memo = "鐩樼偣璁板綍鎵归噺瀹℃牳") + public R checksAuditing(@RequestParam(value = "checkIds[]") Long[] checkIds) { + int success = 0; + for (Long checkId : checkIds) { + R r = workService.stockCheckAuditing(checkId, getUserId()); + if (String.valueOf(r.get("code")).equals("200")) { + success++; + } + } + return R.ok("瀹℃牳鎴愬姛鏁伴噺锛�" + success); + } + + // 鐩樼偣涓婁紶 + @RequestMapping("/check/upload") + @ManagerAuth(memo = "鐩樼偣涓婁紶") + public R checkUpload(@RequestBody CheckUploadParam params) { + List<BillDto> dtos = new ArrayList<>(); + if (params.getMats().size() > 0) { + for (Mat matList : params.getMats()) { + BillDto dto = new BillDto(); + dto.setMatnr(matList.getMatnr()); + dto.setQty(matList.getCount().doubleValue()); + dtos.add(dto); + } + } else { + throw new CoolException("鏁版嵁寮傚父"); + } + int docId; + String docNum; + if (params.getType().equals("1")) { // 鐩樼泩 + docNum = "CS-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15); + docId = 14; // 鎶ユ孩鍗� + } else if (params.getType().equals("2")) { // 鐩樹簭 + docNum = "CD-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15); + docId = 9; // 鎶ユ崯鍗� + } else { + throw new CoolException("鏁版嵁寮傚父"); + } + // erp涓婁紶鐩樼泩鐩樹簭 + ErpR erpR = erpService.uploadBill(dtos, docId, docNum); + if (!erpR.getSuccess()) { + throw new CoolException("鏃犳硶涓婃姤鑷砮rp锛�"+erpR.getMsg()); + } + String dotsStr = JSON.toJSONString(dtos); + log.info("鐩樼偣涓婁紶锛岀被鍨嬶細" + (docId == 14 ? "鐩樼泩" : "鐩樹簭") + "锛屽崟鍙凤細" + docNum + "锛屼笂浼犵墿鏂欐竻鍗�:" + dotsStr); + log.info("==============================================================================================="); + return R.ok().add("涓婃姤鑷砮rp鎴愬姛"); + } + + /******************************************************************************************************/ + + @Autowired + private DocTypeService docTypeService; + @Autowired + private CstmrService cstmrService; + @Autowired + private ItemService itemService; + + // 鑾峰彇鎵�鏈夊崟鎹被鍨� + @RequestMapping("/docType/all/get") + @ManagerAuth + public R getDocTypeData() { + List<DocType> docTypes = docTypeService.selectList(new EntityWrapper<DocType>().eq("status", 1).orderBy("create_time", false)); + return R.ok().add(docTypes); + } + + // 鑾峰彇鎵�鏈夊鎴� + @RequestMapping("/cstmr/all/get") + @ManagerAuth + public R getCstmrData() { + List<Cstmr> cstmrs = cstmrService.selectList(new EntityWrapper<Cstmr>().eq("status", 1).orderBy("create_time", false)); + return R.ok().add(cstmrs); + } + + // 鑾峰彇鎵�鏈夊鎴� [閿�煎鐗圿 + @RequestMapping("/cstmr/all/get/kv") + @ManagerAuth + public R getCstmrDataKV() { + List<Cstmr> cstmrs = cstmrService.selectList(new EntityWrapper<Cstmr>().eq("status", 1).orderBy("create_time", false)); + List<KeyValueVo> valueVos = new ArrayList<>(); + for (Cstmr cstmr : cstmrs) { + KeyValueVo vo = new KeyValueVo(); + vo.setName(cstmr.getName()); + vo.setValue(cstmr.getId()); + valueVos.add(vo); + } + return R.ok().add(valueVos); + } + + // 鑾峰彇鎵�鏈夐」鐩� + @RequestMapping("/item/all/get") + @ManagerAuth + public R getItemData() { + List<Item> items = itemService.selectList(new EntityWrapper<Item>().eq("status", 1).orderBy("create_time", false)); + return R.ok().add(items); + } + + // 鑾峰彇鎵�鏈夐」鐩� + @RequestMapping("/item/all/get/kv") + @ManagerAuth + public R getItemDataKV() { + List<Item> items = itemService.selectList(new EntityWrapper<Item>().eq("status", 1).orderBy("create_time", false)); + List<KeyValueVo> valueVos = new ArrayList<>(); + for (Item item : items) { + KeyValueVo vo = new KeyValueVo(); + vo.setName(item.getName()); + vo.setValue(item.getId()); + valueVos.add(vo); + } + return R.ok().add(valueVos); } } -- Gitblit v1.9.1