From 0ee00b5d3cbd625fc9d0e92f88bb327aac6c86e9 Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期六, 15 五月 2021 15:27:34 +0800
Subject: [PATCH] 1.立库任务单入库支持批量组托的功能
---
src/main/java/com/zy/asrs/entity/param/CombParam.java | 21 +++++
src/main/webapp/views/pda/combPro.html | 74 +++++++++++-------
src/main/java/com/zy/asrs/entity/WaitPakinLog.java | 2
src/main/java/com/zy/asrs/entity/WaitPakin.java | 2
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 84 ++++++++++++++++++++-
src/main/java/com/zy/asrs/controller/MobileController.java | 10 ++
src/main/java/com/zy/asrs/service/MobileService.java | 5 +
7 files changed, 164 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index c56e2b5..6d2b05c 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -52,6 +52,16 @@
return R.ok();
}
+ /**
+ * 缁勬墭-鎵归噺
+ */
+ @RequestMapping("/comb/auth/batch")
+ @ManagerAuth(memo = "缁勬墭-鎵归噺")
+ public R combBatch(@RequestBody CombParam combParam){
+ mobileService.combBatch(combParam, getUserId());
+ return R.ok();
+ }
+
/**
* 缁勬墭
diff --git a/src/main/java/com/zy/asrs/entity/WaitPakin.java b/src/main/java/com/zy/asrs/entity/WaitPakin.java
index 0c90eff..2df04fb 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakin.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -99,7 +99,7 @@
@ApiModelProperty(value= "搴撲綅鍙�")
@TableField("loc_no")
- private Date locNo;
+ private String locNo;
@ApiModelProperty(value= "鐘舵��")
private String status;
diff --git a/src/main/java/com/zy/asrs/entity/WaitPakinLog.java b/src/main/java/com/zy/asrs/entity/WaitPakinLog.java
index 7124fc8..ff28ed5 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakinLog.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakinLog.java
@@ -91,7 +91,7 @@
@ApiModelProperty(value= "搴撲綅鍙�")
@TableField("loc_no")
- private Date locNo;
+ private String locNo;
@ApiModelProperty(value= "鐘舵��")
private String status;
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index 199224d..51f4e35 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -47,6 +47,12 @@
// 鐗╂枡鏁伴噺
private Double count;
+ // 閫氱煡鍗曞彿
+ private String supplier;
+
+ // 鐢熶骇鍗曞彿
+ private String mnemonic;
+
public String getMatNo() {
return matNo;
}
@@ -63,6 +69,21 @@
this.count = count;
}
+ public String getSupplier() {
+ return supplier;
+ }
+
+ public void setSupplier(String supplier) {
+ this.supplier = supplier;
+ }
+
+ public String getMnemonic() {
+ return mnemonic;
+ }
+
+ public void setMnemonic(String mnemonic) {
+ this.mnemonic = mnemonic;
+ }
}
public String getBarcode() {
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index c3b6fd3..345e60a 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -10,4 +10,9 @@
*/
void comb(CombParam param, Long userId);
+ /**
+ * 缁勬墭-鎵归噺
+ * @param param
+ */
+ void combBatch(CombParam param, Long userId);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index cd6121c..3b05adb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -95,7 +95,7 @@
// 鍏宠仈閫氱煡鍗曠粍鎵�
for (CombParam.CombMat combMat : param.getCombMats()) {
WaitPakin one = waitPakinService.selectOne(new EntityWrapper<WaitPakin>()
- .eq("supplier", param.getBillNo())
+ .eq("supplier", combMat.getSupplier())
.eq("matnr", combMat.getMatNo())
.isNull("zpallet"));
if (one == null) {
@@ -115,24 +115,25 @@
waitPakin.setAppeTime(new Date());
waitPakin.setModiUser(userId);
waitPakin.setModiTime(new Date());
+ waitPakin.setSupplier(combMat.getSupplier());
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鏁版嵁澶辫触");
}
// 鍑忓皯閫氱煡鍗曚笂璇ョ墿鏂欑粍鎵樻暟閲�
if (waitPakin.getAnfme() >= one.getAnfme()) {
waitPakinService.delete(new EntityWrapper<WaitPakin>()
- .eq("supplier", param.getBillNo())
+ .eq("supplier", combMat.getSupplier())
.eq("matnr", combMat.getMatNo())
.eq("mnemonic", param.getMnemonic())
.isNull("zpallet"));
} else {
Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>();
if ("".equals(param.getMnemonic())) {
- wrapper.eq("supplier", param.getBillNo())
+ wrapper.eq("supplier", combMat.getSupplier())
.eq("matnr", combMat.getMatNo())
.isNull("zpallet");
} else {
- wrapper.eq("supplier", param.getBillNo())
+ wrapper.eq("supplier", combMat.getSupplier())
.eq("matnr", combMat.getMatNo())
.eq("mnemonic", param.getMnemonic())
.isNull("zpallet");
@@ -153,4 +154,79 @@
}
+ @Override
+ @Transactional
+ public void combBatch(CombParam param, Long userId) {
+ if (Cools.isEmpty(param.getBarcode())) {
+ throw new CoolException(BaseRes.PARAM);
+ }
+ if (Cools.isEmpty(param.getCombMats()) && Cools.isEmpty(param.getProductCode())) {
+ throw new CoolException(BaseRes.PARAM);
+ }
+ int count = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
+ eq("zpallet", param.getBarcode()).eq("io_status", "N"));
+ if (count > 0) {
+ throw new CoolException("鏉$爜鏁版嵁宸插瓨鍦�");
+ }
+ // 鍏宠仈閫氱煡鍗曠粍鎵�
+ for (CombParam.CombMat combMat : param.getCombMats()) {
+ WaitPakin one = waitPakinService.selectOne(new EntityWrapper<WaitPakin>()
+ .eq("supplier", combMat.getSupplier())
+ .eq("matnr", combMat.getMatNo())
+ .isNull("zpallet"));
+ if (one == null) {
+ throw new CoolException("閫氱煡鍗曚笉瀛樺湪" + combMat.getMatNo() + "鏁版嵁锛�");
+ }
+ if (combMat.getCount() > one.getAnfme()) {
+ throw new CoolException(combMat.getMatNo() + "鐗╂枡鏁伴噺涓嶈冻锛�");
+ }
+ MatCode matCode = matCodeService.selectById(combMat.getMatNo());
+ if (Cools.isEmpty(matCode)) {
+ throw new CoolException("鐗╂枡鏁版嵁閿欒");
+ }
+ WaitPakin waitPakin = one.clone();
+ waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
+ waitPakin.setAnfme(combMat.getCount()); // 鏁伴噺
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(new Date());
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(new Date());
+ waitPakin.setSupplier(combMat.getSupplier());
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+ }
+ // 鍑忓皯閫氱煡鍗曚笂璇ョ墿鏂欑粍鎵樻暟閲�
+ if (waitPakin.getAnfme() >= one.getAnfme()) {
+ waitPakinService.delete(new EntityWrapper<WaitPakin>()
+ .eq("supplier", combMat.getSupplier())
+ .eq("matnr", combMat.getMatNo())
+ .eq("mnemonic", combMat.getMnemonic())
+ .isNull("zpallet"));
+ } else {
+ Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>();
+ if ("".equals(param.getMnemonic())) {
+ wrapper.eq("supplier", combMat.getSupplier())
+ .eq("matnr", combMat.getMatNo())
+ .isNull("zpallet");
+ } else {
+ wrapper.eq("supplier", combMat.getSupplier())
+ .eq("matnr", combMat.getMatNo())
+ .eq("mnemonic", combMat.getMnemonic())
+ .isNull("zpallet");
+ }
+ WaitPakin pakin = new WaitPakin();
+ pakin.setAnfme(one.getAnfme() - waitPakin.getAnfme());
+ pakin.setSupplier(combMat.getSupplier());
+ pakin.setMatnr(combMat.getMatNo());
+ pakin.setMnemonic(combMat.getMnemonic());
+ if (!waitPakinService.update(pakin, wrapper)) {
+ throw new CoolException("鏇存柊鏁版嵁澶辫触");
+ }
+
+ }
+
+ }
+
+
+ }
}
diff --git a/src/main/webapp/views/pda/combPro.html b/src/main/webapp/views/pda/combPro.html
index 95cc57c..7579b01 100644
--- a/src/main/webapp/views/pda/combPro.html
+++ b/src/main/webapp/views/pda/combPro.html
@@ -166,6 +166,8 @@
}
var tableIns;
var countLayer;
+ var matData = [];
+ var sourceData = [];
layui.use(['table', 'laydate', 'form'], function () {
var table = layui.table;
var $ = layui.jquery;
@@ -179,8 +181,8 @@
limit: 500,
cellMinWidth: 50,
cols: [[
- {field: 'matNo', align: 'center', title: '鐗╂枡缂栫爜',event: 'modify',},
- {field: 'mnemonic', align: 'center', title: '鐢熶骇鍗曞彿',event: 'modify',},
+ {field: 'matNo', align: 'center', title: '鐗╂枡缂栫爜', event: 'modify',},
+ {field: 'mnemonic', align: 'center', title: '鐢熶骇鍗曞彿', event: 'modify',},
{
align: 'center',
field: 'count',
@@ -189,7 +191,7 @@
style: 'cursor: pointer;color: blue',
width: 50
},
- {field: 'matName', align: 'center', title: '鐗╂枡鍚嶇О',event: 'modify',}
+ {field: 'matName', align: 'center', title: '鐗╂枡鍚嶇О', event: 'modify',}
]],
done: function (res, curr, count) {
}
@@ -228,7 +230,7 @@
}
// 娣诲姞琛ㄦ牸鏁版嵁
- var matData = [];
+ // var matData = [];
function addTableData(data) {
for (var i = 0; i < data.length; i++) {
@@ -241,6 +243,12 @@
}
if (toPush) {
matData.push(data[i]);
+ sourceData.push({
+ matNo: data[i].matNo,
+ count: data[i].count,
+ supplier: data[i].supplier,
+ mnemonic: data[i].mnemonic,
+ });
}
}
tableIns.reload({data: matData});
@@ -263,7 +271,7 @@
return;
}
// 璧嬪�煎墠娓呯┖琛ㄦ牸
- matData = [];
+// matData = [];
tableIns.reload({data: matData});
$.ajax({
@@ -277,6 +285,10 @@
if (res.code === 200) {
if (res.data != null) {
addTableData(res.data);
+ // 寤惰繜1绉掑悗娓呯┖閫氱煡鍗曞彿
+ setTimeout(function () {
+ $('#billNo').val("");
+ }, 500);
}
} else if (res.code === 403) {
top.location.href = baseUrl + "/pda";
@@ -345,6 +357,7 @@
$('#code').val("");
$('#billNo').val("");
matData = [];
+ sourceData = [];
tableIns.reload({data: matData});
}
@@ -364,31 +377,36 @@
tips("璇锋彁鍙栫墿鏂�", true);
return;
}
- var billNo = $('#billNo').val();
- var mnemonic = $('#mnemonic').val();
- $.ajax({
- url: baseUrl + "/mobile/comb/auth",
- headers: {'token': localStorage.getItem('token')},
- data: JSON.stringify({
- barcode: barcode,
- combMats: matData,
- billNo: billNo,
- mnemonic: mnemonic,
- }),
- contentType: 'application/json;charset=UTF-8',
- method: 'POST',
- async: false,
- success: function (res) {
- if (res.code === 200) {
- reset();
- tips("缁勬墭鎴愬姛")
- } else if (res.code === 403) {
- top.location.href = baseUrl + "/pda";
- } else {
- tips(res.msg, true)
+ for (var i = 0; i < matData.length; i++) {
+ for (var j = 0; j < sourceData.length ; j++) {
+ if (matData[i].matNo == sourceData[j].matNo && matData[i].mnemonic == sourceData[j].mnemonic && matData[i].count == sourceData[j].count) {
+ // 鏁伴噺鎻愰啋
+ layer.confirm('鏁伴噺鍜屽墿浣欐暟閲忎竴鑷达紝纭畾缁х画缁勬墭鍚�?', function(){
+ $.ajax({
+ url: baseUrl + "/mobile/comb/auth/batch",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify({
+ barcode: barcode,
+ combMats: matData,
+ }),
+ contentType: 'application/json;charset=UTF-8',
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200) {
+ reset();
+ tips("缁勬墭鎴愬姛")
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/pda";
+ } else {
+ tips(res.msg, true)
+ }
+ }
+ })
+ });
}
}
- })
+ }
}
/**
--
Gitblit v1.9.1