From 9ad0e9864a506a912829eca81944c4698d76de5d Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 26 五月 2023 09:39:36 +0800
Subject: [PATCH] 库位地图,出库选择,出库拦截非空库位
---
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 5 +
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | 2
src/main/java/com/zy/asrs/service/LocDetlService.java | 2
src/main/webapp/views/report/locDetl.html | 9 ++
src/main/java/com/zy/asrs/utils/Utils.java | 75 ++++++++++++------------
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 34 +++++++++++
src/main/resources/mapper/LocDetlMapper.xml | 22 +++++++
src/main/resources/mapper/LocMastMapper.xml | 4 +
src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 9 +++
src/main/webapp/static/js/common.js | 10 +++
src/main/java/com/zy/asrs/service/LocMastService.java | 3 +
12 files changed, 138 insertions(+), 39 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 6f7e8d2..0d488d4 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -72,4 +72,6 @@
List<LocDetl> selectGroupPage(Map<String, Object> param);
List<LocDetl> selectByLocNo(@Param("locNo") String locNo);
+
+ List<LocDetl> searchByLike(String orderNo, String matnr, String maktx, String specs, String locNo);//閫氳繃璁㈠崟鍙枫�佺墿鏂欏彿銆佺墿鏂欏悕绉般�佽鏍笺�佸簱浣嶅彿杩涜妯$硦鎼滅储
}
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index f39e414..df3533e 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -47,4 +47,6 @@
//鎼滅储浣庨(娣锋斁鍖哄煙)绌哄簱浣�
LocMast findEmptyLowFrequencyLocMast(Short locType1);
+
+ List<LocMast> selectLocByLev(Integer lev);
}
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 81aca94..6f5a09d 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -67,4 +67,6 @@
List<LocDetl> selectGroupPage(Map<String, Object> param, Integer curr, Integer limit);
List<LocDetl> selectByLocNo(String locNo);
+
+ List<LocDetl> searchByLike(String orderNo, String matnr, String maktx, String specs, String locNo);//閫氳繃璁㈠崟鍙枫�佺墿鏂欏彿銆佺墿鏂欏悕绉般�佽鏍笺�佸簱浣嶅彿杩涜妯$硦鎼滅储
}
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index f3fb095..0db6809 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -66,4 +66,7 @@
//鎼滅储浣庨(娣锋斁鍖哄煙)绌哄簱浣�
LocMast findEmptyLowFrequencyLocMast(Short locType1);
+
+ //鏌ヨ鎸囧畾妤煎眰鐨勫簱浣嶆暟鎹�
+ List<LocMast> selectLocByLev(Integer lev);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 89da6aa..2008981 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.LocDetlMapper;
@@ -158,4 +159,12 @@
public LocDetl selectItem(String locNo, String matnr, String batch) {
return this.baseMapper.selectItem(locNo, matnr, batch);
}
+
+ @Override
+ public List<LocDetl> searchByLike(String orderNo, String matnr, String maktx, String specs, String locNo) {
+ if (Cools.isEmpty(orderNo) && Cools.isEmpty(matnr) && Cools.isEmpty(maktx) && Cools.isEmpty(specs) && Cools.isEmpty(locNo)) {
+ return new ArrayList<LocDetl>();
+ }
+ return this.baseMapper.searchByLike(orderNo, matnr, maktx, specs, locNo);
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index 7004ae0..d664829 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -223,4 +223,9 @@
public LocMast findEmptyLowFrequencyLocMast(Short locType1) {
return this.baseMapper.findEmptyLowFrequencyLocMast(locType1);
}
+
+ @Override
+ public List<LocMast> selectLocByLev(Integer lev) {
+ return this.baseMapper.selectLocByLev(lev);
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 94f4225..690e997 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -159,6 +159,40 @@
@Override
@Transactional
public void startupFullTakeStore(StockOutParam param, Long userId) {
+ ArrayList<String> locNos = new ArrayList<>();
+ for (StockOutParam.LocDetl locDetl:param.getLocDetls()){
+ if (!locNos.contains(locDetl.getLocNo())){
+ locNos.add(locDetl.getLocNo());
+ }
+ }
+ //妫�娴嬫槸鍚︿负娴呭簱浣�
+ boolean sign = false;
+ String th = "";
+ for (String locNo : locNos) {
+ if (sign) {
+ break;
+ }
+ List<String> groupInsideLoc = Utils.getGroupLoc(locNo);
+ if (!Cools.isEmpty(groupInsideLoc)) {
+ for (String insideLoc : groupInsideLoc) {
+ if (locNos.contains(insideLoc)) {
+ break;
+ }
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc));
+ if (locMast != null) {
+ if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) {
+ sign = true;
+ th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
+ break;
+ }
+ }
+ }
+ }
+ }
+ if (sign){
+ throw new CoolException("鍑哄簱澶辫触锛�" + th);
+ }
+
// 鐩爣绔欑偣鐘舵�佹娴�
BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
// 鑾峰彇搴撲綅鏄庣粏
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index e75e2a8..e5cc52f 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -3,12 +3,10 @@
import com.core.common.Arith;
import com.core.common.Cools;
import com.zy.common.properties.SlaveProperties;
+import com.zy.common.service.CommonService;
import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* Created by vincent on 2020/8/27
@@ -227,61 +225,59 @@
public static List<String> getGroupLoc(String locNo){
int row = getRow(locNo);
+ ArrayList<String> list = new ArrayList<>();
switch (row) {
case 1:
case 2:
case 3:
- return new ArrayList<String>() {{
- add(zerofill(String.valueOf(1), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(3), 2) + locNo.substring(2));
- }};
+ list.add(zerofill(String.valueOf(1), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(3), 2) + locNo.substring(2));
+ Collections.reverse(list);
+ return list;
case 4:
case 5:
case 6:
case 7:
- return new ArrayList<String>() {{
- add(zerofill(String.valueOf(4), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
- }};
+ list.add(zerofill(String.valueOf(4), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
+ return list;
case 8:
case 9:
case 10:
case 11:
- return new ArrayList<String>() {{
- add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(11), 2) + locNo.substring(2));
- }};
+ list.add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(11), 2) + locNo.substring(2));
+ Collections.reverse(list);
+ return list;
case 12:
case 13:
case 14:
- return new ArrayList<String>() {{
- add(zerofill(String.valueOf(12), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(13), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(14), 2) + locNo.substring(2));
- }};
+ list.add(zerofill(String.valueOf(12), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(13), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(14), 2) + locNo.substring(2));
+ return list;
case 15:
case 16:
case 17:
case 18:
- return new ArrayList<String>() {{
- add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(18), 2) + locNo.substring(2));
- }};
+ list.add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(18), 2) + locNo.substring(2));
+ Collections.reverse(list);
+ return list;
case 19:
case 20:
case 21:
- return new ArrayList<String>() {{
- add(zerofill(String.valueOf(19), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(20), 2) + locNo.substring(2));
- add(zerofill(String.valueOf(21), 2) + locNo.substring(2));
- }};
+ list.add(zerofill(String.valueOf(19), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(20), 2) + locNo.substring(2));
+ list.add(zerofill(String.valueOf(21), 2) + locNo.substring(2));
+ return list;
default:
throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
}
@@ -532,4 +528,9 @@
return result;
}
+ public static void main(String[] args) {
+ List<String> groupLoc = Utils.getGroupLoc("1300801");
+ System.out.println(groupLoc);
+ }
+
}
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 5ea709d..ce393d8 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -514,4 +514,26 @@
</select>
+ <select id="searchByLike" resultMap="BaseResultMap">
+ select *
+ from asr_loc_detl
+ where
+ 1 = 1
+ <if test="orderNo != null and orderNo != ''">
+ and order_no like '%' + #{orderNo} + '%'
+ </if>
+ <if test="locNo != null and locNo != ''">
+ and loc_no like '%' + #{locNo} + '%'
+ </if>
+ <if test="specs != null and specs != ''">
+ and specs like '%' + #{specs} + '%'
+ </if>
+ <if test="matnr != null and matnr != ''">
+ and matnr like '%' + #{matnr} + '%'
+ </if>
+ <if test="maktx != null and maktx != ''">
+ and maktx like '%' + #{maktx} + '%';
+ </if>
+ </select>
+
</mapper>
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 0135339..50c8410 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -326,4 +326,8 @@
and loc_sts = 'O'
order by row1,bay1,lev1
</select>
+
+ <select id="selectLocByLev" resultMap="BaseResultMap">
+ SELECT * FROM asr_loc_mast WHERE lev1 = #{lev}
+ </select>
</mapper>
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index fc8d3be..20b1fec 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -264,3 +264,13 @@
,{field: 'memo', align: 'center',title: '澶囨敞', hide: false}
]
+function getQueryVariable(variable)
+{
+ var query = window.location.search.substring(1);
+ var vars = query.split("&");
+ for (var i=0;i<vars.length;i++) {
+ var pair = vars[i].split("=");
+ if(pair[0] == variable){return pair[1];}
+ }
+ return(false);
+}
\ No newline at end of file
diff --git a/src/main/webapp/views/report/locDetl.html b/src/main/webapp/views/report/locDetl.html
index 9e3ee3d..ed829a7 100644
--- a/src/main/webapp/views/report/locDetl.html
+++ b/src/main/webapp/views/report/locDetl.html
@@ -43,7 +43,12 @@
var $ = layui.jquery;
var form = layui.form;
- $('#locNo').val(parent.locNo);
+ var tmp = getQueryVariable("locNo")
+ if (tmp == false) {
+ $('#locNo').val(parent.locNo);
+ }else {
+ $('#locNo').val(tmp);
+ }
// 鏁版嵁娓叉煋
tableIns = table.render({
@@ -53,7 +58,7 @@
page: true,
limit: 20,
skin: 'line',
- where: {loc_no: parent.locNo},
+ where: {loc_no: $('#locNo').val()},
even: true,
cellMinWidth: 50,
cols: [getCol()],
--
Gitblit v1.9.1