From 0927dceed8e5504ec0b5eeaa446f5423ddc74ec3 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 26 十一月 2025 13:04:05 +0800
Subject: [PATCH] 1.完善验布组托 2.修复销售订单默认勾选数据对不上
---
src/main/webapp/views/order/outLocDetlQuery.html | 179 +++++++++++++++++++++++++++++++++-----------
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 7 +
src/main/java/com/zy/asrs/controller/MobileController.java | 2
3 files changed, 139 insertions(+), 49 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 896b947..93b7a21 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -137,7 +137,7 @@
@RequestMapping("/comb/auth")
@ManagerAuth(memo = "缁勬墭")
- public R comb(@RequestBody CombParam combParam) {
+ public synchronized R comb(@RequestBody CombParam combParam) {
log.info("缁勬墭鏁版嵁锛歿}", combParam.toString());
mobileService.comb(combParam, getUserId(), getUser().getEmail());
return R.ok("缁勬墭鎴愬姛");
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 f31590c..3842a71 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -108,7 +108,7 @@
}
// 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
- eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
+ eq("zpallet", param.getBarcode())) > 0) {
throw new CoolException(param.getBarcode() + "鏁版嵁缁勬墭妗d腑宸插瓨鍦�");
}
@@ -206,7 +206,10 @@
}
ExdStock id = exdStockService.selectOne(new EntityWrapper<ExdStock>().eq("Fnumber", pid));
waitPakin.setBrand(id.getFname());//浠撳簱
- waitPakin.setInspect(param.isType() ? 1 : 0);
+ if(param.isType()||Cools.isEmpty(param.getOrderNo())){
+ waitPakin.setInspect(1);
+ }
+
if (i == 1) {
// 0锛氫笉闇�瑕佽ˉ绌烘墭鐩�
// 1锛氬皬鎵樼洏
diff --git a/src/main/webapp/views/order/outLocDetlQuery.html b/src/main/webapp/views/order/outLocDetlQuery.html
index be2bcba..aca1225 100644
--- a/src/main/webapp/views/order/outLocDetlQuery.html
+++ b/src/main/webapp/views/order/outLocDetlQuery.html
@@ -186,6 +186,32 @@
</div>
</script>
+<!-- 鎵归噺閫夋嫨鍑哄簱绔欏脊绐楁ā鏉� -->
+<script type="text/html" id="staBatchSelectDialog">
+ <div style="padding: 20px;">
+ <form class="layui-form" id="batchSelectStaBox">
+ <!-- 涓嬫媺妗嗗皢閫氳繃Handlebars妯℃澘鍔ㄦ�佹覆鏌� -->
+ </form>
+ <div style="text-align: center; margin-top: 20px;">
+ <button class="layui-btn layui-btn-sm" lay-submit lay-filter="staBatchSelectConfirm">纭</button>
+ </div>
+ </div>
+</script>
+
+<!-- 鎵归噺閫夋嫨鍑哄簱绔欎笅鎷夋妯℃澘 -->
+<script type="text/html" id="batchStaSelectTpl">
+ <div class="layui-form-item">
+ <label class="layui-form-label">鍑哄簱绔�</label>
+ <div class="layui-input-block">
+ <select name="batchSta" lay-filter="batchSta" lay-search>
+ {{#each list}}
+ <option value="{{this}}">{{this}}</option>
+ {{/each}}
+ </select>
+ </div>
+ </div>
+</script>
+
<script type="text/html" id="tbBasicTbStaNos">
<div class="ew-select-fixed">
<select class="order-sta-select" lay-filter="tbBasicTbStaNos">
@@ -312,31 +338,30 @@
var data = obj.data;
var checked = obj.checked;
var type = obj.type;
-
- // 纭繚window.autoSelectedData宸插垵濮嬪寲
- if (!window.autoSelectedData) {
- window.autoSelectedData = [];
+ console.log("data"+data.batch)
+ if (type === 'one') {
+ // 鍗曚釜閫夋嫨
+ if (checked) {
+ selectedTotal += parseFloat(data.anfme || 0);
+ } else {
+ selectedTotal -= parseFloat(data.anfme || 0);
+ }
+ } else if (type === 'all') {
+ // 鍏ㄩ��
+ var checkStatus = table.checkStatus('stockOut');
+ if (checked) {
+ // 璁$畻褰撳墠椤垫墍鏈夋暟鎹殑鏁伴噺鎬诲拰
+ checkStatus.data.forEach(function(item){
+ selectedTotal += parseFloat(item.anfme || 0);
+ });
+ } else {
+ // 鍙栨秷鍏ㄩ�夛紝鍑忓幓褰撳墠椤垫墍鏈夋暟鎹殑鏁伴噺鎬诲拰
+ checkStatus.data.forEach(function(item){
+ selectedTotal -= parseFloat(item.anfme || 0);
+ });
+ }
}
- // 閲嶆柊璁$畻selectedTotal锛岀‘淇濅笌瀹為檯鍕鹃�夌姸鎬佷竴鑷�
- var updateSelectedTotalFromCheckboxes = function() {
- var checkStatus = table.checkStatus('stockOut');
- selectedTotal = 0;
-
- // 鏇存柊window.autoSelectedData锛屽彧淇濈暀瀹為檯鍕鹃�夌殑鏁版嵁
- window.autoSelectedData = [];
-
- // 閲嶆柊璁$畻閫変腑鎬绘暟鍜屾洿鏂癮utoSelectedData
- checkStatus.data.forEach(function(item) {
- selectedTotal += parseFloat(item.anfme || 0);
- window.autoSelectedData.push(item);
- });
- };
-
- // 涓嶇鏄崟閫夎繕鏄叏閫夛紝閮介噸鏂拌绠楀疄闄呭嬀閫夌殑鏁版嵁鍜屾�绘暟
- updateSelectedTotalFromCheckboxes();
-
- // 鏇存柊鏄剧ず閫変腑鐨勬暟閲�
updateSelectedTotal();
// 濡傛灉閫変腑鐨勬暟閲忚秴杩囪鍗曟暟閲忥紝缁欏嚭鎻愮ず
@@ -408,14 +433,14 @@
var selectedCount = 0;
// 瀵瑰簱浣嶆暟鎹繘琛屾帓搴忥紝浼樺厛閫夋嫨鐩稿悓搴撲綅鐨勫簱瀛�
- allData.sort(function(a, b) {
- // 鍏堟寜搴撲綅鍙锋帓搴�
- if (a.locNo !== b.locNo) {
- return a.locNo.localeCompare(b.locNo);
- }
- // 鍐嶆寜鎵规鎺掑簭
- return a.batch.localeCompare(b.batch);
- });
+ // allData.sort(function(a, b) {
+ // // 鍏堟寜搴撲綅鍙锋帓搴�
+ // if (a.locNo !== b.locNo) {
+ // return a.locNo.localeCompare(b.locNo);
+ // }
+ // // 鍐嶆寜鎵规鎺掑簭
+ // return a.batch.localeCompare(b.batch);
+ // });
for (var i = 0; i < allData.length; i++) {
var item = allData[i];
@@ -580,9 +605,6 @@
, moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1
, content: $('#pakoutPreviewBox').html()
, success: function (layero, index) {
- res.data.forEach((item, index) => {
- console.log(`椤� ${index + 1}:`, item);
- });
stoPreTabIdx = table.render({
elem: '#stoPreTab1',
data: res.data,
@@ -590,8 +612,10 @@
page: false,
limit: Number.MAX_VALUE,
cellMinWidth: 100,
+ // cols蹇呴』浣跨敤浜岀淮鏁扮粍鏍煎紡锛岃繖鏄痩ayui table鐨勬爣鍑嗛厤缃�
cols: [[
- // {type: 'checkbox', merge: ['orderNo']},
+ // 灏嗗閫夋鍒楁斁鍦ㄧ涓�鍒楋紝渚夸簬鐢ㄦ埛鎿嶄綔鍜宼ableMerge澶勭悊
+
{field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
{field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
{field: 'batch', title: '鎵瑰彿', align: 'center'},
@@ -607,6 +631,7 @@
title: '璐т綅',
align: 'center',
width: 100,
+ merge: ['locNo'],
templet: '#locNoTpl'
},
{
@@ -616,7 +641,7 @@
merge: ['locNo'],
templet: '#tbBasicTbStaNos'
},
- {type: 'checkbox', merge: ['locNo']},
+ {type: 'checkbox'}
]],
done: function (res) {
tableMerge.render(this);
@@ -638,7 +663,30 @@
});
// 鎵归噺淇敼鍑哄簱绔�
form.on('submit(batchModifySta)', function () {
- let stoPreTabData = layui.table.checkStatus('stoPreTab1').data;
+ // 鑾峰彇閫変腑鐨勬暟鎹紝鍏煎鍚堝苟琛岀殑鎯呭喌
+ let checkStatus = table.checkStatus('stoPreTab1');
+ let stoPreTabData = checkStatus.data;
+
+ // 濡傛灉checkStatus杩斿洖鐨勬暟鎹负绌猴紝灏濊瘯浠巘ableCache涓幏鍙�
+ if (stoPreTabData.length === 0) {
+ // 閬嶅巻tableCache锛屾壘鍑烘墍鏈夐�変腑鐨勮鍙婂叾鍚堝苟琛�
+ let checkedLocNos = [];
+ // 棣栧厛鎵惧嚭鎵�鏈夎閫変腑鐨勮鐨刲ocNo
+ tableCache.forEach(function(item) {
+ if (item.LAY_CHECKED === true) {
+ checkedLocNos.push(item.locNo);
+ }
+ });
+
+ // 鍘婚噸
+ checkedLocNos = [...new Set(checkedLocNos)];
+
+ // 鏍规嵁locNo杩囨护鍑烘墍鏈夌浉鍏崇殑琛�
+ stoPreTabData = tableCache.filter(function(item) {
+ return checkedLocNos.includes(item.locNo);
+ });
+ }
+
if (stoPreTabData.length < 1) {
layer.msg("璇疯嚦灏戦�夋嫨涓�鏉′互涓婂悎骞舵暟鎹�", {icon: 7});
return false;
@@ -663,6 +711,11 @@
}
}
}
+
+ // 娣诲姞璋冭瘯淇℃伅
+ console.log('staBatchSelectVal:', staBatchSelectVal);
+ console.log('staBatchSelectVal绫诲瀷:', Array.isArray(staBatchSelectVal) ? '鏁扮粍' : '闈炴暟缁�');
+ console.log('staBatchSelectVal闀垮害:', staBatchSelectVal.length);
if (staBatchSelectVal.length === 0) {
layer.msg("鍑哄簱绔欐病鏈変氦闆嗭紝鏃犳硶鎵归噺淇敼", {icon: 2});
return;
@@ -674,21 +727,56 @@
title: '璇烽�夋嫨绔欑偣',
content: $('#staBatchSelectDialog').html(),
success: function (layero, ddIndex) {
- // 娓叉煋涓嬫媺妗�
- let template = Handlebars.compile($('#batchStaSelectTpl').html());
- $('#batchSelectStaBox').html(template({list: staBatchSelectVal}));
+ // 鐩存帴浣跨敤鍘熺敓鏂瑰紡鍒涘缓select鍏冪礌锛屼笉渚濊禆Handlebars妯℃澘
+ let selectHtml = '<div class="layui-form-item">';
+ selectHtml += '<label class="layui-form-label">鍑哄簱绔�</label>';
+ selectHtml += '<div class="layui-input-block">';
+ selectHtml += '<select name="batchSta" lay-filter="batchSta" lay-search>';
+
+ // 鎵嬪姩閬嶅巻鏁扮粍鍒涘缓option
+ staBatchSelectVal.forEach(function(staNo) {
+ selectHtml += '<option value="' + staNo + '">' + staNo + '</option>';
+ });
+
+ selectHtml += '</select>';
+ selectHtml += '</div>';
+ selectHtml += '</div>';
+
+ // 鐩存帴鎻掑叆HTML
+ $(layero).find('#batchSelectStaBox').html(selectHtml);
+
+ // 娓叉煋琛ㄥ崟
+ layui.form.render('select');
+
// 纭
form.on('submit(staBatchSelectConfirm)', function (obj) {
let loadIdx = layer.load(2);
- let batchSta = Number(obj.field.batchSta);
+ // 鐩存帴浠嶥OM涓幏鍙栭�変腑鐨勭珯鐐瑰�硷紝纭繚鑳芥纭幏鍙栧埌
+ let batchSta = $(layero).find('select[name="batchSta"]').val();
+ console.log('鎵归噺淇敼鐨勭珯鐐瑰��:', batchSta);
let arr = [];
- for (let j = 0; j < stoPreTabData.length; j++) {
+
+ // 绠�鍖栨洿鏂伴�昏緫锛岀洿鎺ユ洿鏂版墍鏈夐�変腑鐨勬暟鎹�
+ stoPreTabData.forEach(function(preItem) {
for (let i = 0; i < tableCache.length; i++) {
- if (tableCache[i].orderNo === stoPreTabData[j].orderNo
- && tableCache[i].matnr === stoPreTabData[j].matnr
- && tableCache[i].locNo === stoPreTabData[j].locNo) {
+ // 鍙牴鎹甽ocNo杩涜鍖归厤锛屽洜涓鸿〃鏍间腑locNo鏄悎骞跺崟鍏冩牸鐨勫叧閿瓧娈�
+ if (tableCache[i].locNo === preItem.locNo) {
tableCache[i]['staNo'] = batchSta;
arr.push(i);
+ console.log('鏇存柊浜嗘暟鎹储寮�:', i, '绔欑偣鍊�:', batchSta);
+ }
+ }
+ });
+
+ // 濡傛灉娌℃湁鎵惧埌鍖归厤椤癸紝灏濊瘯鐩存帴鏇存柊閫変腑鐨勬暟鎹�
+ if (arr.length === 0) {
+ console.log('鏈壘鍒板尮閰嶉」锛屽皾璇曠洿鎺ユ洿鏂�');
+ // 鐩存帴閬嶅巻tableCache锛屾洿鏂版墍鏈塋AY_CHECKED涓簍rue鐨勯」
+ for (let i = 0; i < tableCache.length; i++) {
+ if (tableCache[i].LAY_CHECKED === true) {
+ tableCache[i]['staNo'] = batchSta;
+ arr.push(i);
+ console.log('鐩存帴鏇存柊浜嗛�変腑鐨勬暟鎹储寮�:', i);
}
}
}
@@ -706,7 +794,6 @@
});
// 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
$(layero).children('.layui-layer-content').css('overflow', 'visible');
- layui.form.render('select');
},
})
}
--
Gitblit v1.9.1