From 49ffaeabe598b7f5ce781ce78c338e96408df90f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期六, 23 四月 2022 10:28:43 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/entity/param/PackParam.java | 22 +++++++ src/main/java/com/zy/asrs/controller/OpenController.java | 9 +- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 94 ++++++++++++++++++++++++++++--- src/main/java/com/zy/asrs/service/OpenService.java | 3 4 files changed, 114 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 19883d4..6fe51c9 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -7,6 +7,7 @@ import com.zy.asrs.entity.param.OpenOrderCompleteParam; import com.zy.asrs.entity.param.OpenOrderPakinParam; import com.zy.asrs.entity.param.OpenOrderPakoutParam; +import com.zy.asrs.entity.param.PackParam; import com.zy.asrs.service.OpenService; import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; @@ -44,12 +45,12 @@ @PostMapping("/order/pakin/new/package/v1") @AppAuth(memo = "鎵撳寘涓婄嚎鎺ュ彛") public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey, - @RequestParam(required = false) String barcode) { - auth(appkey, barcode); - if (Cools.isEmpty(barcode)) { + @RequestBody(required = false) PackParam param) { + auth(appkey, param); + if (Cools.isEmpty(param)) { return R.parse(BaseRes.PARAM); } - openService.packageUp(barcode); + openService.packageUp(param); return R.ok(); } diff --git a/src/main/java/com/zy/asrs/entity/param/PackParam.java b/src/main/java/com/zy/asrs/entity/param/PackParam.java new file mode 100644 index 0000000..33a001c --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/PackParam.java @@ -0,0 +1,22 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +/** + * {"barcode": "", "materialName": "", "groupCode": "", "groupName": "", "configureDesc": ""} + * Created by vincent on 2022/4/23 + */ +@Data +public class PackParam { + + private String barcode; + + private String materialName; + + private String groupCode; + + private String groupName; + + private String configureDesc; + +} diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java index 5ce5643..c349203 100644 --- a/src/main/java/com/zy/asrs/service/OpenService.java +++ b/src/main/java/com/zy/asrs/service/OpenService.java @@ -3,6 +3,7 @@ import com.zy.asrs.entity.param.OpenOrderCompleteParam; import com.zy.asrs.entity.param.OpenOrderPakinParam; import com.zy.asrs.entity.param.OpenOrderPakoutParam; +import com.zy.asrs.entity.param.PackParam; import com.zy.asrs.entity.result.OpenOrderCompeteResult; import com.zy.asrs.entity.result.StockVo; @@ -38,6 +39,6 @@ // ------------------------------------------ // 鎵撳寘涓婄嚎 - void packageUp(String barcode); + void packageUp(PackParam param); } diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index c0045f2..a9fd5d6 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -9,11 +9,14 @@ import com.zy.asrs.entity.param.OpenOrderCompleteParam; import com.zy.asrs.entity.param.OpenOrderPakinParam; import com.zy.asrs.entity.param.OpenOrderPakoutParam; +import com.zy.asrs.entity.param.PackParam; import com.zy.asrs.entity.result.OpenOrderCompeteResult; import com.zy.asrs.entity.result.StockVo; +import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; import com.zy.common.model.DetlDto; +import com.zy.common.utils.NodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,6 +49,8 @@ private PackService packService; @Autowired private TagService tagService; + @Autowired + private TagMapper tagMapper; @Override @Transactional @@ -315,15 +320,18 @@ @Override @Transactional - public void packageUp(String barcode) { - Mat analyse = MatUtils.analyseMat(barcode); - Pack pack = packService.selectByBarcode(barcode); + public void packageUp(PackParam param) { + if (Cools.isEmpty(param.getBarcode())) { + throw new CoolException("barcode涓嶈兘涓虹┖"); + } + Mat analyse = MatUtils.analyseMat(param.getBarcode()); + Pack pack = packService.selectByBarcode(param.getBarcode()); if (null != pack) { - throw new CoolException(barcode + "閲嶅鎻愪氦"); + throw new CoolException(param.getBarcode() + "閲嶅鎻愪氦"); } Date now = new Date(); pack = new Pack( - barcode, // 鏉$爜[闈炵┖] + param.getBarcode(), // 鏉$爜[闈炵┖] analyse.getMatnr(), // 鍟嗗搧缂栧彿 analyse.getBarcode(), // 鎵瑰彿 1L, // 璁㈠崟鐘舵�� @@ -341,14 +349,82 @@ Mat mat = matService.selectByMatnr(analyse.getMatnr()); if (mat == null) { mat = new Mat(); - // todo - mat.setTagId(tagService.getTop().getId()); + // 鍒嗙被 + Long tagId; + // 涓�绾у垎绫� + if (!Cools.isEmpty(param.getGroupCode()) && !Cools.isEmpty(param.getGroupName())) { + Tag priTag = tagService.selectByName(param.getGroupCode(), 2); + if (priTag == null) { + Tag top = tagService.getTop(); + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(top.getId()); + priTag = new Tag( + null, // 缂栧彿 + param.getGroupCode(), // 鍚嶇О + top.getId(), // 鐖剁骇 + top.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 2, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + null // 澶囨敞 + ); + if (tagMapper.insert(priTag) == 0) { + throw new CoolException("淇濆瓨涓�绾у垎绫诲け璐�"); + } + } + // 浜岀骇鍒嗙被 + Tag secTag = tagService.selectByName(param.getGroupName(), 3); + if (secTag == null) { + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(priTag.getId()); + secTag = new Tag( + null, // 缂栧彿 + param.getGroupName(), // 鍚嶇О + priTag.getId(), // 鐖剁骇 + priTag.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 3, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + null // 澶囨敞 + ); + if (tagMapper.insert(secTag) == 0) { + throw new CoolException("淇濆瓨浜岀骇鍒嗙被澶辫触"); + } + } + tagId = secTag.getId(); + } else { + tagId = tagService.getTop().getId(); + } + mat.setTagId(tagId); mat.setMatnr(analyse.getMatnr()); - mat.setMaktx(barcode); + mat.setMaktx(param.getMaterialName()); + mat.setSpecs(param.getConfigureDesc()); + mat.setModel(analyse.getModel()); mat.setStatus(1); mat.setCreateTime(now); mat.setUpdateTime(now); - mat.setMemo("鎵撳寘涓婄嚎"); if (!matService.insert(mat)) { throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } else { -- Gitblit v1.9.1