From b650e00a5e5ecdad78014452c8bfa60b3ffbfca7 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期六, 20 三月 2021 10:56:11 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java | 16 +++++ src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java | 42 ++++++++++++++ src/main/webapp/static/js/custOrder/custOrder.js | 29 ++++++++- src/main/java/zy/cloud/wms/manager/controller/WorkController.java | 6 ++ src/main/java/zy/cloud/wms/common/service/asrs/entity/Result.java | 17 +++++ src/main/java/zy/cloud/wms/manager/service/LocDetlService.java | 7 ++ src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 34 +++++++++++ src/main/java/zy/cloud/wms/manager/service/WorkService.java | 2 src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java | 5 + src/main/resources/application.yml | 7 + 10 files changed, 160 insertions(+), 5 deletions(-) diff --git a/src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java b/src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java new file mode 100644 index 0000000..9fb018a --- /dev/null +++ b/src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java @@ -0,0 +1,42 @@ +package zy.cloud.wms.common.service.asrs; + +import com.alibaba.fastjson.JSON; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import zy.cloud.wms.common.service.asrs.entity.Result; +import zy.cloud.wms.manager.entity.param.StockTransferParam; +import zy.cloud.wms.manager.utils.HttpHandler; + +import java.io.IOException; +import java.util.List; + +/** + * Created by vincent on 2021/3/20 + */ +@Service("asrsService") +public class AsrsService { + + @Value("${asrs.baseUrl}") + private String asrsBaseUrl; + + public Boolean stockTransfer(List<StockTransferParam> params) { + try { + String response = new HttpHandler.Builder() + .setUri(asrsBaseUrl) + .setPath("/open/api/stockOut") + .setJson(JSON.toJSONString(params)) + .build() + .doPost(); + Result result = JSON.parseObject(response, Result.class); + if (result.getCode() == 200) { + return true; + } else { + return false; + } + } catch (IOException e) { + e.printStackTrace(); + return false; + } + } + +} diff --git a/src/main/java/zy/cloud/wms/common/service/asrs/entity/Result.java b/src/main/java/zy/cloud/wms/common/service/asrs/entity/Result.java new file mode 100644 index 0000000..497cd3b --- /dev/null +++ b/src/main/java/zy/cloud/wms/common/service/asrs/entity/Result.java @@ -0,0 +1,17 @@ +package zy.cloud.wms.common.service.asrs.entity; + +import lombok.Data; + +/** + * Created by vincent on 2021/3/20 + */ +@Data +public class Result { + + private Integer code; + + private String msg; + + private Object data; + +} 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 7210836..47649e2 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java @@ -137,4 +137,10 @@ return workService.initOrder(param, getUserId()); } + @RequestMapping("/stock/transfer") + @ManagerAuth(memo = "搴撳瓨璋冩嫧") + public R stockTransfer(@RequestParam String number) { + return workService.stockTransfer(number, getUserId()); + } + } diff --git a/src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java b/src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java new file mode 100644 index 0000000..eb0ff73 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java @@ -0,0 +1,16 @@ +package zy.cloud.wms.manager.entity.param; + +import lombok.Data; + +/** + * Created by vincent on 2021/3/20 + */ +@Data +public class StockTransferParam { + + private String matnr; + + private Double anfme; + + +} diff --git a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java index 441cecd..a0eab4c 100644 --- a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java +++ b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java @@ -52,4 +52,11 @@ */ List<LocDetl> getLocDetlStatis(); + /** + * 鏁伴噺 sum鍑芥暟 + * @param matnr + * @return + */ + Double selectCountByMatnr(String matnr); + } diff --git a/src/main/java/zy/cloud/wms/manager/service/WorkService.java b/src/main/java/zy/cloud/wms/manager/service/WorkService.java index f77a8a4..37fceca 100644 --- a/src/main/java/zy/cloud/wms/manager/service/WorkService.java +++ b/src/main/java/zy/cloud/wms/manager/service/WorkService.java @@ -27,4 +27,6 @@ R initOrder(InitOrderParam param, Long userId); + R stockTransfer(String number, Long userId); + } diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java index c76e116..64ec318 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java @@ -108,5 +108,10 @@ return this.baseMapper.getLocDetlStatis(); } + @Override + public Double selectCountByMatnr(String matnr) { + return this.baseMapper.selectCountByMatnr(matnr); + } + } diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java index dec1993..b580661 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java @@ -11,12 +11,14 @@ import org.springframework.transaction.annotation.Transactional; import zy.cloud.wms.common.model.OrderStoDto; import zy.cloud.wms.common.service.MainService; +import zy.cloud.wms.common.service.asrs.AsrsService; import zy.cloud.wms.common.utils.VersionUtils; import zy.cloud.wms.manager.entity.*; import zy.cloud.wms.manager.entity.param.*; import zy.cloud.wms.manager.entity.result.StoPrintVo; import zy.cloud.wms.manager.service.*; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -42,6 +44,8 @@ private SnowflakeIdWorker snowflakeIdWorker; @Autowired private MatService matService; + @Autowired + private AsrsService asrsService; @Override @Transactional @@ -327,4 +331,34 @@ return R.ok("鐢熸垚閿�鍞鍗�" + param.getNumber() + "鎴愬姛"); } + @Override + public R stockTransfer(String number, Long userId) { + List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("number", number).eq("status", 1)); + boolean error = false; + List<StockTransferParam> params = new ArrayList<>(); + for (CustOrder custOrder : custOrders) { + Double count = locDetlService.selectCountByMatnr(custOrder.getUserCode()); + if (count == null) { + count = 0.0D; + } + if (count < custOrder.getQty()) { + if (!error) { + error = true; + } + StockTransferParam param = new StockTransferParam(); + param.setMatnr(custOrder.getUserCode()); + param.setAnfme(custOrder.getQty() - count); + params.add(param); + } + } + if (error) { + if (asrsService.stockTransfer(params)) { + return R.ok("搴撳瓨璋冩嫧鎴愬姛"); + } else { + return R.error("绔嬪簱璋冩嫧澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + } + return R.error("鏆備笉缂鸿揣锛屼笉闇�瑕佺珛搴撹皟鎷�"); + } + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 42e759e..8686aa2 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -14,7 +14,7 @@ # password: xltys1995 # sql-server driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://192.168.110.56:1433;databasename=htasrs + url: jdbc:sqlserver://192.168.2.250:1433;databasename=htasrs username: sa password: sa@123 mvc: @@ -50,4 +50,7 @@ id: LTAI4GDzr6ioSHuRw2mk22ug secret: 84CHL7tF21LbU1qpaP0jn9mIAZP9bv bucket: tjdt - endpoint: http://oss-cn-hangzhou.aliyuncs.com \ No newline at end of file + endpoint: http://oss-cn-hangzhou.aliyuncs.com + +asrs: + baseUrl: http://localhost:8081/htwms \ No newline at end of file diff --git a/src/main/webapp/static/js/custOrder/custOrder.js b/src/main/webapp/static/js/custOrder/custOrder.js index cc47364..932e1f0 100644 --- a/src/main/webapp/static/js/custOrder/custOrder.js +++ b/src/main/webapp/static/js/custOrder/custOrder.js @@ -254,7 +254,8 @@ , area: ['400px'] , btn: ['搴撳瓨璋冩嫧', '鍙栨秷'] }, function() { - // todo 搴撳瓨璋冩嫧 + // 搴撳瓨璋冩嫧 + stockTransfer(data.number); layer.closeAll(); }, function() { // printPakouts(data.number); @@ -309,10 +310,10 @@ shadeClose: true , btn: ['搴撳瓨璋冩嫧', '鍙栨秷'] }, function() { - // todo 搴撳瓨璋冩嫧 + // 搴撳瓨璋冩嫧 layer.closeAll(); }, function() { - // printPakouts(data.number); + alert(number) layer.closeAll(); } ) @@ -327,6 +328,28 @@ // }); } + // 搴撳瓨璋冩嫧 + function stockTransfer(number) { + + $.ajax({ + url: baseUrl + "/work/stock/transfer", + headers: {'token': localStorage.getItem('token')}, + data: { + number: number + }, + method: 'POST', + success: function (res) { + if (res.code === 200) { + layer.msg(res.msg, {icon: 1}) + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + } + // 鎵撳嵃鎷h揣鍗� function printPakouts(docNumber) { $.ajax({ -- Gitblit v1.9.1