From a77cf677874a6aba1784222188072dd442a862d5 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 19 五月 2023 12:09:24 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java              |    4 ++
 src/main/java/com/zy/asrs/service/LocDetlService.java            |    4 ++
 src/main/java/com/zy/asrs/controller/LocDetlController.java      |   18 +++++++--
 src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java |    1 
 src/main/resources/mapper/LocDetlMapper.xml                      |   18 ++++++++-
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java   |    8 ++++
 src/main/webapp/views/order/order.html                           |    6 +-
 src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java          |    8 ++--
 src/main/java/com/zy/asrs/entity/LocDetl.java                    |    2 
 src/main/webapp/static/js/order/out.js                           |    2 
 src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java            |    1 
 src/main/java/com/zy/asrs/controller/OutController.java          |   22 +++++++++++
 src/main/resources/application.yml                               |    2 
 src/main/java/com/zy/asrs/controller/ReportQueryController.java  |   16 +++++++-
 14 files changed, 94 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index ad11d86..d8c9fa2 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -107,18 +107,26 @@
 //            }
 //        }
         excludeTrash(param);
-        convert(param, wrapper);
+        String locNo = convert(param, wrapper);
         allLike(LocDetl.class, param.keySet(), wrapper, condition);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        Page<LocDetl> locDetlPage = locDetlService.selectPage(new Page<>(curr, limit), wrapper);
+        if (Cools.isEmpty(locDetlPage) || locDetlPage.getTotal()==0){
+            List<LocDetl> locDetls = locDetlService.queryStockViewMerge(locNo);
+            return R.ok(locDetlPage.setRecords(locDetls));
+        }else {
+            return R.ok(locDetlPage);
+        }
 //        if (!row.equals("")){
 //            wrapper.and()
 //                    .where("loc_no like '" +row +"%'");
 //        }
-        return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper));
+//        return R.ok();
     }
 
 
-    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
+    private <T> String convert(Map<String, Object> map, EntityWrapper<T> wrapper){
+        String locNo=null;
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
             if (val.contains(RANGE_TIME_LINK)){
@@ -126,13 +134,15 @@
                 wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
             } else {
-                if (entry.getKey().equals("locNo")) {
+                if (entry.getKey().equals("loc_no")) {
                     wrapper.eq("loc_no", String.valueOf(entry.getValue()));
+                    locNo=String.valueOf(entry.getValue());
                 } else {
                     wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
                 }
             }
         }
+        return locNo;
     }
 
     @RequestMapping(value = "/locDetl/add/auth")
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 6d86cff..a99af3c 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -156,6 +156,7 @@
     @ManagerAuth(memo = "鐢熸垚鎷h揣鍗�")
     public synchronized R pakout2(@RequestBody List<LocDto> locDtos) throws InterruptedException {
         int[][] is = new int[locDtos.size()][2];
+        List<String> matnrs=new ArrayList<>();
         for (int i = 0; i < locDtos.size(); i++) {
             LocDto locDto = locDtos.get(locDtos.size() - 1 - i);
             if (locDto.getLocNo() == null || locDto.getManu().equals("绔嬪簱")) {
@@ -165,11 +166,32 @@
             }
             is[i][1] = locDtos.size() - 1 - i;
         }
+        List<LocDto> locDtos1=new ArrayList<>();
         for (int[] i : is) {
             if (i[0] == 1) {
+                if (!matnrs.contains(locDtos.get(i[1]).getMatnr())){
+                    matnrs.add(locDtos.get(i[1]).getMatnr());
+                }
+                locDtos1.add(locDtos.get(i[1]));
                 locDtos.remove(i[1]);
             }
         }
+        for (String matnr:matnrs){
+            Double a = 0.0;
+            int b = 0;
+            for (int i = 0; i < locDtos1.size(); i++){
+                if (locDtos1.get(i).getMatnr().equals(matnr)){
+                    if (a.equals(0)){
+                        b=i;
+                    }
+                    a=a+locDtos1.get(i).getAnfme();
+                }
+            }
+            LocDto locDto = locDtos1.get(b);
+            locDto.setLocNo("绔嬪簱");
+            locDto.setAnfme(a);
+            locDtos.add(locDto);
+        }
         if (Cools.isEmpty(locDtos)) {
             return R.error("骞冲簱鍙傛暟涓虹┖锛屾病鏈夌敓鎴愭嫞璐у崟");
         }
diff --git a/src/main/java/com/zy/asrs/controller/ReportQueryController.java b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
index cd42ffc..2871f11 100644
--- a/src/main/java/com/zy/asrs/controller/ReportQueryController.java
+++ b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
@@ -104,14 +104,26 @@
 		// 琛ㄦ牸琛岋細灞� ====>> 鍊掑簭
 		List<String> levs = reportQueryMapper.getViewLocLevCount(row);
 		List<Map<String, Object>> body = new ArrayList<>();
-		for (String lev : levs){
+		int maxBay=0;
+		for (String lev : levs) {
 			// 鑾峰彇灞傜骇鏁版嵁
 			List<ViewLocMapDto> dtos = reportQueryMapper.getViewLocBays(row, Integer.parseInt(lev));
 			// 锛佽〃鏍肩涓�鍒楁斁灞傜骇鏁�
-			dtos.add(0, new ViewLocMapDto(null ,null, lev));
+			dtos.add(0, new ViewLocMapDto(null, null, lev));
 			Map<String, Object> map = new HashMap<>();
 			map.put("loc", dtos);
 			body.add(map);
+			if (row == 100) {
+				if (maxBay < locDetlService.queryStockViewMergeCount(row, Integer.parseInt(lev))) {
+					maxBay = locDetlService.queryStockViewMergeCount(row, Integer.parseInt(lev));
+				}
+			}
+		}
+
+		if (row==100){
+			for (int i =bays.size()-1;i>maxBay;i--){
+				bays.remove(i);
+			}
 		}
 		Map<String, Object> result = new HashMap<>();
 		result.put("title", bays);
diff --git a/src/main/java/com/zy/asrs/entity/LocDetl.java b/src/main/java/com/zy/asrs/entity/LocDetl.java
index 0556824..37b2284 100644
--- a/src/main/java/com/zy/asrs/entity/LocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -163,7 +163,7 @@
         if (!Cools.isEmpty(locMast)){
             return String.valueOf(locMast.getLocNo());
         }
-        return null;
+        return this.locNo;
     }
 
     public String getBeBatch$(){
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 6238035..e7a9795 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -56,6 +56,8 @@
 
     List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
 
+    List<LocDetl> queryStockViewMerge(@Param("locNo")String locNo);
+
     Double queryStockAnfme(String matnr, String batch);
 
     List<StockVo> queryStockTotal(@Param("matnr")String matnr,@Param("batch")String batch);
@@ -67,4 +69,6 @@
 
     Double selectLocDetlSumQty(String locNo);
 
+    Integer queryStockViewMergeCount(@Param("row")int row,@Param("lev")int lev);
+
 }
diff --git a/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java b/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java
index 652fdc9..99ed2bf 100644
--- a/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java
@@ -8,4 +8,5 @@
 @Mapper
 @Repository
 public interface ManPakOutMapper extends BaseMapper<ManPakOut> {
+
 }
diff --git a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
index 6a804db..41fe703 100644
--- a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
@@ -24,17 +24,17 @@
 	public List<ViewStayTimeBean> getViewStayTimeAll(ViewStayTimeBean viewStayTime);
 
 //	// 搴撲綅Map
-	@Select("select distinct row1 from asr_loc_mast order by row1 asc")
+	@Select("select distinct row1 from asr_loc_mast_man_node_merge order by row1 asc")
 	List<Integer> getViewLocRowTotal();
 
-	@Select("select distinct lev1 from asr_loc_mast where row1=#{row1} order by lev1 desc")
+	@Select("select distinct lev1 from asr_loc_mast_man_node_merge where row1=#{row1} order by lev1 desc")
 	public List<String> getViewLocLevCount(@Param("row1") int row1);
 //
-	@Select("select loc_no as locNo, bay1,loc_sts as locSts from asr_loc_mast where row1=#{row1} and lev1=#{lev1} order by bay1")
+	@Select("select loc_no as locNo, bay1,loc_sts as locSts from asr_loc_mast_man_node_merge where row1=#{row1} and lev1=#{lev1} order by bay1")
 	public List<ViewLocMapDto> getViewLocBays(@Param("row1") int row1, @Param("lev1") int lev1);
 
 	// 搴撲綅Map
-	@Select("select distinct bay1 from asr_loc_mast where row1=#{row1} order by bay1")
+	@Select("select distinct bay1 from asr_loc_mast_man_node_merge where row1=#{row1} order by bay1")
 	public List<String> getViewLocBayCount(@Param("row1") int row1);
 
 	@Select("select lev1,loc_sts as locSts from asr_loc_mast where row1=#{row1} and bay1=#{bay1} order by bay1")
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 5bf12ab..47eb851 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -31,6 +31,8 @@
      */
     List<String> getSameDetlToday(String matnr, Integer start, Integer end);
 
+    List<LocDetl> queryStockViewMerge(String locNo);
+
     Page<LocDetl> getStockStatis(Page<LocDetl> page);
 
     Double getSumAnfme(String matnr);
@@ -41,6 +43,8 @@
 
     Integer countLocNoNum(String locNo);
 
+    Integer queryStockViewMergeCount(int row,int lev);
+
     // --------------------------------------------------
 
     List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
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 8cc6a1f..bd4ef60 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -82,6 +82,11 @@
     }
 
     @Override
+    public List<LocDetl> queryStockViewMerge(String locNo) {
+        return this.baseMapper.queryStockViewMerge(locNo);
+    }
+
+    @Override
     public Double queryStockAnfme(String matnr, String batch) {
         return this.baseMapper.queryStockAnfme(matnr, batch);
     }
@@ -118,4 +123,7 @@
     public Double getLocDetlSumQty(String locNo) {
         return this.baseMapper.selectLocDetlSumQty(locNo);
     }
+
+    @Override
+    public Integer queryStockViewMergeCount(int row,int lev){return this.baseMapper.queryStockViewMergeCount(row,lev);}
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
index 11ba3b8..6d94617 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
@@ -9,4 +9,5 @@
 @Service("manPakOutService")
 public class ManPakOutServiceImpl extends ServiceImpl<ManPakOutMapper, ManPakOut> implements ManPakOutService {
 
+
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1fa2a37..3530324 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -11,7 +11,7 @@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
 #    url: jdbc:sqlserver://10.10.10.100:1433;databasename=stasrs
-    url: jdbc:sqlserver://192.168.4.13:1433;databasename=stasrs
+    url: jdbc:sqlserver://192.168.4.15:1433;databasename=stasrs
     username: sa
     password: sa@123
   mvc:
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 81c8ca0..3859479 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -197,8 +197,8 @@
 
     <select id="queryStock" resultMap="BaseResultMap">
         select a.*
-        from asr_loc_detl a
-        left join asr_loc_mast b on a.loc_no = b.loc_no
+        from asr_loc_detl_merge a
+        left join asr_loc_mast_man_node_merge b on a.loc_no = b.loc_no
         where 1=1
         and b.loc_sts = 'F'
         and a.matnr = #{matnr}
@@ -325,5 +325,19 @@
         where loc_no=#{locNo}
     </select>
 
+    <select id="queryStockViewMerge" resultMap="BaseResultMap">
+        select a.*
+        from asr_loc_detl_merge a
+        left join asr_loc_mast_man_node_merge b on a.loc_no = b.loc_no
+        where 1=1
+        and a.loc_no = #{locNo}
+    </select>
+    <select id="queryStockViewMergeCount" resultType="java.lang.Integer">
+        select count(1) from asr_loc_mast_man_node_merge
+        where 1=1
+        and row1 = #{row}
+        and lev1 = #{lev}
+    </select>
+
 
 </mapper>
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index fd062a8..a07830d 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -168,7 +168,7 @@
                                     { title: '鍑哄簱鏁伴噺', align: 'center',field: 'anfme', width: 90, style: 'font-weight: bold; color: red'},
                                     {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
                                     {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
-                                    {type: 'checkbox', merge: ['locNo']},
+                                    // {type: 'checkbox', merge: ['locNo']},
                                 ]],
                                 done: function (res) {
                                     tableMerge.render(this);
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 94fa164..070c09c 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -95,9 +95,9 @@
     <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
     {{# } }}
 
-    {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 1 || d.docType == 11 || d.docType == 14 || d.docType == 17 || d.docType == 18)) { }}
-    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="manPrint">鐢熸垚鎷h揣鍗�</a>
-    {{# } }}
+<!--    {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 1 || d.docType == 11 || d.docType == 14 || d.docType == 17 || d.docType == 18)) { }}-->
+<!--    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="manPrint">鐢熸垚鎷h揣鍗�</a>-->
+<!--    {{# } }}-->
     <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint">鎵撳嵃</a>
 </script>
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->

--
Gitblit v1.9.1