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