From 2b38e9c64ce9d6b6b054d1540ccd53a9d1bba30a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 02 三月 2021 11:23:28 +0800
Subject: [PATCH] #
---
src/main/java/zy/cloud/wms/common/config/CodeCoolException.java | 16 +++++
src/main/java/zy/cloud/wms/common/config/CoolExceptionHandler.java | 5 +
src/main/resources/mapper/LocDetlMapper.xml | 4 +
src/main/webapp/static/js/custOrder/custOrder.js | 39 +++++++-----
src/main/java/zy/cloud/wms/common/CodeRes.java | 3 +
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java | 2
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 8 ++
src/main/java/zy/cloud/wms/manager/service/WorkService.java | 2
src/main/java/zy/cloud/wms/common/service/MainService.java | 4 +
src/main/java/zy/cloud/wms/common/service/MainScheduler.java | 3
src/main/java/zy/cloud/wms/manager/controller/WorkController.java | 7 ++
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java | 3 +
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java | 37 ++++++++++++
13 files changed, 114 insertions(+), 19 deletions(-)
diff --git a/src/main/java/zy/cloud/wms/common/CodeRes.java b/src/main/java/zy/cloud/wms/common/CodeRes.java
index 55d82cb..ed69cef 100644
--- a/src/main/java/zy/cloud/wms/common/CodeRes.java
+++ b/src/main/java/zy/cloud/wms/common/CodeRes.java
@@ -9,4 +9,7 @@
String USER_10002 = "10002-璐﹀彿宸茶绂佺敤";
String USER_10003 = "10003-瀵嗙爜閿欒";
+ // stock
+ String NONE_STOCK = "20002-搴撳瓨涓嶈冻";
+
}
diff --git a/src/main/java/zy/cloud/wms/common/config/CodeCoolException.java b/src/main/java/zy/cloud/wms/common/config/CodeCoolException.java
new file mode 100644
index 0000000..1d6766a
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/config/CodeCoolException.java
@@ -0,0 +1,16 @@
+package zy.cloud.wms.common.config;
+
+/**
+ * Created by vincent on 2021/3/2
+ */
+public class CodeCoolException extends RuntimeException {
+
+ public CodeCoolException(Throwable e) {
+ super(e);
+ }
+
+ public CodeCoolException(String message) {
+ super(message);
+ }
+
+}
diff --git a/src/main/java/zy/cloud/wms/common/config/CoolExceptionHandler.java b/src/main/java/zy/cloud/wms/common/config/CoolExceptionHandler.java
index cb164df..f28fb46 100644
--- a/src/main/java/zy/cloud/wms/common/config/CoolExceptionHandler.java
+++ b/src/main/java/zy/cloud/wms/common/config/CoolExceptionHandler.java
@@ -29,4 +29,9 @@
return R.error(e.getMessage());
}
+ @ExceptionHandler(CodeCoolException.class)
+ public R handleRRException(CodeCoolException e) {
+ return R.parse(e.getMessage());
+ }
+
}
diff --git a/src/main/java/zy/cloud/wms/common/service/MainScheduler.java b/src/main/java/zy/cloud/wms/common/service/MainScheduler.java
index 9927ffd..0bdff18 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainScheduler.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainScheduler.java
@@ -4,7 +4,6 @@
import com.core.common.Cools;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import zy.cloud.wms.common.model.OrderStoDto;
import zy.cloud.wms.manager.entity.CustOrder;
@@ -27,7 +26,7 @@
/**
* 鎵弿閿�鍞鍗曟暟鎹紝鐢熸垚鍑哄簱鍗�
*/
- @Scheduled(cron = "0/5 * * * * ? ")
+// @Scheduled(cron = "0/5 * * * * ? ")
public void stockOutExecute(){
List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("status", 1));
if (Cools.isEmpty(custOrders)){
diff --git a/src/main/java/zy/cloud/wms/common/service/MainService.java b/src/main/java/zy/cloud/wms/common/service/MainService.java
index beff4c3..cc82650 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainService.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainService.java
@@ -55,7 +55,7 @@
for (Prior prior : priors) {
LocDetl locDetl = locDetlService.getLocDetl(prior.getNodeId(), prior.getMatnr());
if (null != locDetl && locDetl.getAnfme() > 0) {
- // 淇濆瓨鍑哄簱閫氱煡鍗�
+ // 淇濆瓨鍑哄簱閫氱煡鍗昞
Pakout pakout = new Pakout();
pakout.setWrkSts(1L);
// pakout.setAnfme();
@@ -73,6 +73,8 @@
}
}
+ } else {
+
}
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 d661097..2086f73 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -5,6 +5,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import zy.cloud.wms.common.web.BaseController;
import zy.cloud.wms.manager.entity.param.StockInParam;
@@ -27,6 +28,12 @@
return workService.stockIn(stockInParam, getUserId());
}
+ @RequestMapping("/stock/out/check")
+ @ManagerAuth(memo = "鎷h揣")
+ public R stockOutCheck(@RequestParam String number) {
+ return workService.stockOutCheck(number, getUserId());
+ }
+
@RequestMapping("/stock/out")
@ManagerAuth(memo = "鎷h揣")
public R stockOut(@RequestBody StockOutParam stockOutParam) {
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 ff30237..577eb81 100644
--- a/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
+++ b/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
@@ -16,4 +16,7 @@
List<LocDetl> listByPage(Page page, @Param("nodeId") String nodeId, @Param("locNo") Object locNo, @Param("matnr") Object matnr, @Param("maktx") Object maktx);
LocDetl selectByLocNoAndMatnr(@Param("nodeId")Long nodeId, @Param("matnr")String martnr);
+
+ Double selectCountByMatnr(@Param("matnr") 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 deb5b13..13d029f 100644
--- a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
@@ -10,4 +10,6 @@
LocDetl getLocDetl(Long nodeId, String matnr);
+ void checkLocDetlCount(String number);
+
}
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 e022bdf..a95b921 100644
--- a/src/main/java/zy/cloud/wms/manager/service/WorkService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/WorkService.java
@@ -8,6 +8,8 @@
R stockIn(StockInParam param, Long userId);
+ R stockOutCheck(String number, Long userId);
+
R stockOut(StockOutParam param, 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 3c37193..733e735 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
@@ -1,14 +1,28 @@
package zy.cloud.wms.manager.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import zy.cloud.wms.common.config.CodeCoolException;
+import zy.cloud.wms.manager.entity.CustOrder;
import zy.cloud.wms.manager.entity.LocDetl;
+import zy.cloud.wms.manager.entity.Mat;
import zy.cloud.wms.manager.mapper.LocDetlMapper;
+import zy.cloud.wms.manager.service.CustOrderService;
import zy.cloud.wms.manager.service.LocDetlService;
+import zy.cloud.wms.manager.service.MatService;
+
+import java.util.List;
@Service("locDetlService")
public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
+
+ @Autowired
+ private CustOrderService custOrderService;
+ @Autowired
+ private MatService matService;
@Override
public Page<LocDetl> getPage(Page page, String nodeId, Object locNo, Object matnr, Object maktx) {
@@ -20,5 +34,28 @@
return this.baseMapper.selectByLocNoAndMatnr(nodeId, matnr);
}
+ @Override
+ public void checkLocDetlCount(String number) {
+ List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("number", number).eq("status", 1));
+ StringBuilder errorMsg = new StringBuilder();
+ boolean error = false;
+ for (CustOrder custOrder : custOrders) {
+ Double count = this.baseMapper.selectCountByMatnr(custOrder.getUserCode());
+ if (count == null) {
+ count = 0.0D;
+ }
+ if (count < custOrder.getQty()) {
+ if (!error) {
+ error = true;
+ }
+ Mat mat = matService.selectByMatnr(custOrder.getUserCode());
+ errorMsg.append(mat == null ? custOrder.getUserCode() : mat.getMaktx()).append("搴撳瓨涓嶈冻锛岀己璐ф暟閲忥細").append(custOrder.getQty() - count).append("</br>");
+ }
+ }
+ if (error) {
+ throw new CodeCoolException("20001-" + errorMsg.toString());
+ }
+ }
+
}
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 047063b..b7b32cd 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
@@ -76,7 +76,15 @@
}
@Override
+ public R stockOutCheck(String number, Long userId) {
+ return null;
+ }
+
+ @Override
public R stockOut(StockOutParam param, Long userId) {
+ // 妫�鏌ュ簱瀛樻槸鍚﹁冻澶�
+ locDetlService.checkLocDetlCount(param.getNumber());
+
return null;
}
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 8a39a3a..f736e12 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -54,4 +54,8 @@
select * from man_loc_detl where 1=1 and node_id = #{nodeId} and matnr = #{matnr}
</select>
+ <select id="selectCountByMatnr" resultType="java.lang.Double">
+ select sum(anfme) as count from man_loc_detl where 1=1 and matnr = #{matnr}
+ </select>
+
</mapper>
diff --git a/src/main/webapp/static/js/custOrder/custOrder.js b/src/main/webapp/static/js/custOrder/custOrder.js
index fb5fccd..f0901c8 100644
--- a/src/main/webapp/static/js/custOrder/custOrder.js
+++ b/src/main/webapp/static/js/custOrder/custOrder.js
@@ -183,23 +183,30 @@
case 'stockOut':
layer.confirm(data.number + ' 璁㈠崟鎷h揣', {shadeClose: true}, function(){
layer.closeAll();
+ $.ajax({
+ url: baseUrl+"/work/stock/out",
+ headers: {'token': localStorage.getItem('token')},
+ contentType:'application/json;charset=UTF-8',
+ data: JSON.stringify({
+ number: data.number
+ }),
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+
+ } else if (res.code === 20001) {
+ layer.confirm(res.msg, {shadeClose: true}, function(){
+ layer.closeAll();
+ })
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg)
+ }
+ layer.close(index);
+ }
+ })
});
- // layer.open({
- // type: 2,
- // title: data.number + ' 璁㈠崟鎷h揣',
- // maxmin: true,
- // area: [top.detailWidth, top.detailHeight],
- // shadeClose: true,
- // content: 'custOrder_detail.html',
- // success: function(layero, index){
- // setFormVal(layer.getChildFrame('#detail', index), data, true);
- // top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true);
- // layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide();
- // layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
- // layero.find('iframe')[0].contentWindow.layui.form.render('select');
- // layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
- // }
- // });
break;
// 璇︽儏
case 'detail':
--
Gitblit v1.9.1