From 427ab7d061fd8b3bc11cad9ecd3ab42a61c26130 Mon Sep 17 00:00:00 2001 From: 18516761980 <56479841@qq.com> Date: 星期四, 23 六月 2022 14:49:14 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/luxiaotao1123/zy-asrs into hylyasrs --- src/main/java/com/zy/asrs/controller/OpenController.java | 48 +++--- src/main/java/com/zy/asrs/entity/Mat.java | 4 src/main/java/com/zy/asrs/entity/param/MatSyncParam.java | 199 ++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 114 +++++++++++++++ src/main/java/com/zy/asrs/service/OpenService.java | 10 5 files changed, 346 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index c16c8af..cb34a46 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -4,10 +4,7 @@ import com.core.annotations.AppAuth; import com.core.common.*; import com.core.exception.CoolException; -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.param.*; import com.zy.asrs.service.OpenService; import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; @@ -36,30 +33,40 @@ @Autowired private OpenService openService; - + @PostMapping("/order/matSync/default/v1") + @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛") + public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey, + @RequestBody(required = false) MatSyncParam param, + HttpServletRequest request){ + auth(appkey, param, request); + if (Cools.isEmpty(param)) { + return R.parse(BaseRes.PARAM); + } + openService.syncMat(param); + return R.ok(); + } /****************************************************************************/ /********************************* 鎵撳寘涓婄嚎 **********************************/ /****************************************************************************/ - - @PostMapping("/order/pakin/new/package/v1") - @AppAuth(memo = "鎵撳寘涓婄嚎鎺ュ彛") - public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey, - @RequestBody(required = false) PackParam param, - HttpServletRequest request) { - auth(appkey, param, request); - if (Cools.isEmpty(param)) { - return R.parse(BaseRes.PARAM); - } - openService.packageUp(param); - return R.ok(); - } +// @PostMapping("/order/pakin/new/package/v1") +// @AppAuth(memo = "鎵撳寘涓婄嚎鎺ュ彛") +// public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey, +// @RequestBody(required = false) PackParam param, +// HttpServletRequest request) { +// auth(appkey, param, request); +// if (Cools.isEmpty(param)) { +// return R.parse(BaseRes.PARAM); +// } +// openService.packageUp(param); +// return R.ok(); +// } /** * 娣诲姞鍏ュ簱鍗� */ - @PostMapping("/order/pakin/new/default/v1") + @PostMapping("/order/pakin/default/v1") public synchronized R pakinOrderCreate(@RequestHeader(required = false) String appkey, @RequestBody OpenOrderPakinParam param, HttpServletRequest request) { @@ -94,7 +101,7 @@ /** * 娣诲姞鍑哄簱鍗� */ - @PostMapping("/order/pakout/new/default/v1") + @PostMapping("/order/pakout/default/v1") @AppAuth(memo = "娣诲姞璁㈠崟鍑哄簱") public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey, @RequestBody OpenOrderPakoutParam param, @@ -143,7 +150,6 @@ auth(appkey, null, request); return R.ok().add(openService.queryStock()); } - private void auth(String appkey, Object obj, HttpServletRequest request) { log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj)); diff --git a/src/main/java/com/zy/asrs/entity/Mat.java b/src/main/java/com/zy/asrs/entity/Mat.java index bb98001..edeaf84 100644 --- a/src/main/java/com/zy/asrs/entity/Mat.java +++ b/src/main/java/com/zy/asrs/entity/Mat.java @@ -8,6 +8,7 @@ import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.asrs.service.TagService; +import com.zy.common.utils.Synchro; import com.zy.system.entity.User; import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; @@ -491,5 +492,8 @@ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } + public void sync(Object source) { + Synchro.Copy(source, this); + } } diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java new file mode 100644 index 0000000..ff2f451 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java @@ -0,0 +1,199 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +import java.util.List; + +/** + * 鍟嗗搧鍚屾鎺ュ彛锛屽弬鏁� + * Created on 2022/6/22 + */ +@Data +public class MatSyncParam { + + /** + * 鍒涘缓鏃堕棿 + */ + public String createTime; + + public List<MatParam> matDetails; + + @Data + public class MatParam{ + /** + * 鍟嗗搧缂栧彿 + */ + private String matnr; + + /** + * 鍟嗗搧鍚嶇О + */ + private String maktx; + + /** + * 鍟嗗搧鍒嗙被 + */ + private String groupCode; + + /** + * 鍒嗙被鍚嶇О + */ + private String groupName; + + /** + * 鍒悕 + */ + private String name; + + /** + * 瑙勬牸 + */ + private String specs; + + /** + * 鍨嬪彿 + */ + private String model; + + /** + * 棰滆壊 + */ + private String color; + + /** + * 鍝佺墝 + */ + private String brand; + + /** + * 鍗曚綅 + */ + private String unit; + + /** + * 鍗曚环 + */ + private Double price; + + /** + * sku + */ + private String sku; + + /** + * 鍗曚綅閲� + */ + private Double units; + + /** + * 鏉$爜 + */ + private String barcode; + + /** + * 浜у湴 + */ + private String origin; + + /** + * 鍘傚 + */ + private String manu; + + /** + * 鐢熶骇鏃ユ湡 + */ + private String manuDate; + + /** + * 鍝侀」鏁� + */ + private String itemNum; + + /** + * 瀹夊叏搴撳瓨閲� + */ + private Double safeQty; + + /** + * 閲嶉噺 + */ + private Double weight; + + /** + * 闀垮害 + */ + private Double length; + + /** + * 浣撶Н + */ + private Double volume; + + /** + * 涓夋柟缂栫爜 + */ + private String threeCode; + + /** + * 渚涘簲鍟� + */ + private String supp; + + /** + * 渚涘簲鍟嗙紪鐮� + */ + private String suppCode; + + /** + * 鏄惁鎵规 1: 鏄� 0: 鍚� + */ + private Integer beBatch; + + /** + * 淇濊川鏈� + */ + private String deadTime; + + /** + * 棰勮澶╂暟 + */ + private Integer deadWarn; + + /** + * 鏉ユ簮 1: 鍒堕�� 2: 閲囪喘 3: 澶栧崗 + */ + private Integer source; + + /** + * 瑕佹眰妫�楠� 1: 鏄� 0: 鍚� + */ + private Integer inspect; + + /** + * 鍗遍櫓鍝� 1: 鏄� 0: 鍚� + */ + private Integer danger; + + /** + * 鐘舵�� 1: 姝e父 0: 绂佺敤 + */ + private Integer status; + + /** + * 娣诲姞浜哄憳 + */ + private String createBy; + + /** + * 娣诲姞鏃堕棿 + */ + private String createTime; + + /** + * 澶囨敞 + */ + private String memo; + } + +} diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java index c349203..afd90b1 100644 --- a/src/main/java/com/zy/asrs/service/OpenService.java +++ b/src/main/java/com/zy/asrs/service/OpenService.java @@ -1,9 +1,6 @@ package com.zy.asrs.service; -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.param.*; import com.zy.asrs.entity.result.OpenOrderCompeteResult; import com.zy.asrs.entity.result.StockVo; @@ -41,4 +38,9 @@ // 鎵撳寘涓婄嚎 void packageUp(PackParam param); + /** + * 鍚屾鍟嗗搧淇℃伅 + * @param param + */ + void syncMat(MatSyncParam 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 d593df9..5d8970a 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -6,10 +6,7 @@ import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; -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.param.*; import com.zy.asrs.entity.result.OpenOrderCompeteResult; import com.zy.asrs.entity.result.StockVo; import com.zy.asrs.mapper.TagMapper; @@ -438,4 +435,113 @@ } } + @Override + @Transactional + public void syncMat(MatSyncParam param) { + if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <=0 ) { + throw new CoolException("鍟嗗搧鏁版嵁涓虹┖"); + } + + for(MatSyncParam.MatParam matParam : param.getMatDetails()){ + if(Cools.isEmpty(matParam.getMatnr())){ + throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖"); + } + + Date now = new Date(); + Mat mat = matService.selectByMatnr(matParam.getMatnr()); + if (mat == null) { + mat = new Mat(); + // 鍒嗙被 + Long tagId; + // 涓�绾у垎绫� + if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) { + Tag priTag = tagService.selectByName(matParam.getGroupCode(), 2); + if (priTag == null) { + Tag top = tagService.getTop(); + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(top.getId()); + priTag = new Tag( + null, // 缂栧彿 + matParam.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(matParam.getGroupName(), 3); + if (secTag == null) { + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(priTag.getId()); + secTag = new Tag( + null, // 缂栧彿 + matParam.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.sync(param); +// mat.setMatnr(param.getMatnr()); +// mat.setMaktx(param.getMaktx()); +// mat.setSpecs(param.getSpecs()); +// mat.setModel(param.getModel()); + + mat.setTagId(tagId); + mat.setStatus(1); + mat.setCreateTime(now); + mat.setUpdateTime(now); + if (!matService.insert(mat)) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } else { + log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); + } + } else { + mat.sync(param); + if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) { + throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); + } + } + } + + } + } -- Gitblit v1.9.1