From e2544894b3b10187a838e16af6dff02166658511 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 22 四月 2021 15:06:57 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/LocDetlMapper.xml | 5 +++++
src/main/java/zy/cloud/wms/manager/controller/WorkController.java | 2 +-
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java | 2 ++
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java | 6 ++++++
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 37 +++++++++++++++++++++++--------------
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java | 5 +++++
6 files changed, 42 insertions(+), 15 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 3bb9361..e078fd1 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -136,7 +136,7 @@
}
@RequestMapping("/order/init")
- @ManagerAuth(memo = "鐢熸垚閿�鍞鍗�")
+ @ManagerAuth(memo = "鐢熸垚璁㈠崟")
public R initOrder(@RequestBody InitOrderParam param) {
return workService.initOrder(param, getUserId());
}
diff --git a/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
index 36e9c2c..66ca4ee 100644
--- a/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
+++ b/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
@@ -39,4 +39,6 @@
List<LocDetl> getStockStatisExcel();
+ Double getStockByDocType34(String matnr);
+
}
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 108587e..a289eaf 100644
--- a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
@@ -88,4 +88,10 @@
*/
List<LocDetl> getStockStatisExcel();
+ /**
+ * 鑾峰彇褰撳墠鐗╂枡鐨勯噰璐崟鏁伴噺
+ * @return
+ */
+ Double getStockByDocType34(String matnr);
+
}
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 e10eeb6..8b51c74 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
@@ -143,5 +143,10 @@
return this.baseMapper.getStockStatisExcel();
}
+ @Override
+ public Double getStockByDocType34(String matnr) {
+ return this.baseMapper.getStockByDocType34(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 d98e4c6..fb302a3 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
@@ -75,6 +75,18 @@
if (Cools.isEmpty(param.getMats())) {
return R.error("鍏ュ簱鐗╂枡涓嶈兘涓虹┖");
}
+ Integer docId = Optional.ofNullable(param.getDocType()).orElse(34);
+ String docNum = String.valueOf(snowflakeIdWorker.nextId());
+ switch (docId) {
+ case 34: // 閲囪喘鍗�
+ docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
+ break;
+ case 45: // 閿�鍞��璐у崟
+ docNum = "SR-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
+ break;
+ default:
+ break;
+ }
Date now = new Date();
for (MatnrDto dto : param.getMats()) {
Mat mat = matService.selectByMatnr(dto.getMatnr());
@@ -90,8 +102,8 @@
locDetl.setZpallet("");
locDetl.setAnfme(dto.getCount());
VersionUtils.setLocDetl(locDetl, mat);
-// locDetl.setDocId(param.getDocType().longValue());
-// locDetl.setDocNum(docNum);
+ locDetl.setDocId(docId.longValue());
+ locDetl.setDocNum(docNum);
locDetl.setStatus(1);
locDetl.setCreateBy(userId);
locDetl.setCreateTime(now);
@@ -115,18 +127,6 @@
billDto.setMatnr(dto.getMatnr());
billDto.setQty(dto.getCount());
dtos.add(billDto);
- }
- Integer docId = Optional.ofNullable(param.getDocType()).orElse(34);
- String docNum = String.valueOf(snowflakeIdWorker.nextId());
- switch (docId) {
- case 34: // 閲囪喘鍗�
- docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
- break;
- case 45: // 閿�鍞��璐у崟
- docNum = "SR-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
- break;
- default:
- break;
}
if (!erpService.uploadBill(dtos, docId, docNum)) {
throw new CoolException("鏃犳硶涓婃姤鑷砮rp");
@@ -462,6 +462,15 @@
Date now = new Date();
Item item = itemService.selectByName(param.getItem());
Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
+ // 閲囪喘閫�璐у崟妫�楠�
+ if (param.getDocType() == 6) {
+ for (MatnrDto dto : param.getList()) {
+ if (locDetlService.getStockByDocType34(dto.getMatnr()) < dto.getCount()) {
+ return R.error(dto.getMatnr() + "閲囪喘閲忎笉瓒充互鐢熸垚閫�璐у崟锛�");
+ }
+ }
+ }
+
// 鏂板璁㈠崟琛ㄥご
order = new Order(
String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index a2f2421..570a39a 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -205,4 +205,9 @@
group by a.matnr
</select>
+ <select id="getStockByDocType34" resultType="java.lang.Double">
+ select ISNULL(count(anfme),0) as anfme from man_loc_detl where matnr = #{matnr}
+ -- and doc_id = 34
+ </select>
+
</mapper>
--
Gitblit v1.9.1