From 938f981db8389b161199d2099649defd781be664 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 09 九月 2023 11:18:01 +0800
Subject: [PATCH] #拣货单

---
 src/main/java/com/zy/asrs/controller/ManPakOutController.java    |   36 +++++++++--
 src/main/webapp/static/js/picking/picking.js                     |   11 ++-
 src/main/webapp/views/home/map.html                              |    2 
 src/main/resources/mapper/ManPakOutMapper.xml                    |   26 ++++++++
 src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java |   14 ++++
 src/main/java/com/zy/asrs/service/ManPakOutService.java          |    6 ++
 src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java            |    9 +++
 src/main/java/com/zy/asrs/entity/param/PakOutDTO.java            |   37 ++++++++++++
 8 files changed, 127 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ManPakOutController.java b/src/main/java/com/zy/asrs/controller/ManPakOutController.java
index ff45f55..7fd3310 100644
--- a/src/main/java/com/zy/asrs/controller/ManPakOutController.java
+++ b/src/main/java/com/zy/asrs/controller/ManPakOutController.java
@@ -8,6 +8,8 @@
 import com.core.common.*;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.OrderDomainParam;
+import com.zy.asrs.entity.param.PakOutDTO;
+import com.zy.asrs.entity.result.LocDetlAll;
 import com.zy.asrs.service.*;
 import com.zy.common.CodeRes;
 import com.zy.common.config.AdminInterceptor;
@@ -53,9 +55,7 @@
         EntityWrapper<ManPakOut> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
-            wrapper.orderBy("create_time",false);
-        }
+
         return R.ok(manPakOutService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
@@ -69,12 +69,32 @@
         EntityWrapper<ManPakOut> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
-            wrapper.orderBy("create_time",false);
+        String docnum = String.valueOf(param.get("doc_num"));
+        if (Cools.isEmpty(docnum) || docnum.equals("null")) {
+            docnum = null;
         }
-        wrapper.isNotNull("name");
-        Page<ManPakOut> manPakOutPage = manPakOutService.selectPage(new Page<>(curr, limit), wrapper);
-        return R.ok(manPakOutPage);
+
+        List<PakOutDTO> pakOutDTOS = manPakOutService.selectPakOut(docnum, curr, limit);
+        for (PakOutDTO pakOutDTO:pakOutDTOS){
+            List<ManPakOut> manPakOuts = manPakOutService.selectList(new EntityWrapper<ManPakOut>().eq("doc_num", pakOutDTO.getDoc_num()));
+            for (ManPakOut manPakOut:manPakOuts){
+                if (manPakOut.getCount() < manPakOut.getAnfme()){
+                        pakOutDTO.setStatus(0);
+                        break;
+                }
+            }
+            if (pakOutDTO.getStatus() == null){
+                pakOutDTO.setStatus(1);
+            }
+
+        }
+
+
+        int count = manPakOutService.selectPakOutCount(docnum, curr, limit);
+        Page<PakOutDTO> page = new Page<>();
+        page.setRecords(pakOutDTOS);
+        page.setTotal(count);
+        return R.ok(page);
     }
 
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
diff --git a/src/main/java/com/zy/asrs/entity/param/PakOutDTO.java b/src/main/java/com/zy/asrs/entity/param/PakOutDTO.java
new file mode 100644
index 0000000..43cb13d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/PakOutDTO.java
@@ -0,0 +1,37 @@
+package com.zy.asrs.entity.param;
+
+import com.core.common.Cools;
+import lombok.Data;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Data
+public class PakOutDTO {
+    private String doc_num;
+    private Date create_time;
+    private Integer status;
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.create_time)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.create_time);
+    }
+
+    public String getStatus$(){
+        if (null == this.status){ return null; }
+        switch (this.status){
+            case 1:
+                return "宸插嚭搴�";
+            case 0:
+                return "鏈嚭搴�";
+            case 8:
+                return "鏈畬鍏ㄥ嚭搴�";
+            case 9:
+                return "鍏ㄩ儴瀹屾垚鍑哄簱";
+            default:
+                return String.valueOf(this.status);
+        }
+    }
+}
diff --git a/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java b/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java
index 99ed2bf..0783a6b 100644
--- a/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java
@@ -2,11 +2,20 @@
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.ManPakOut;
+import com.zy.asrs.entity.param.PakOutDTO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
 public interface ManPakOutMapper extends BaseMapper<ManPakOut> {
 
+
+
+    List<PakOutDTO> selectPakOut(@Param("docnum") String docnum,@Param("curr") Integer curr,@Param("limit") Integer limit);
+
+    int selectPakOutCount(@Param("docnum") String docnum,@Param("curr") Integer curr,@Param("limit") Integer limit);
 }
diff --git a/src/main/java/com/zy/asrs/service/ManPakOutService.java b/src/main/java/com/zy/asrs/service/ManPakOutService.java
index af88f3b..aa7e4dc 100644
--- a/src/main/java/com/zy/asrs/service/ManPakOutService.java
+++ b/src/main/java/com/zy/asrs/service/ManPakOutService.java
@@ -2,6 +2,12 @@
 
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.asrs.entity.ManPakOut;
+import com.zy.asrs.entity.param.PakOutDTO;
+
+import java.util.List;
 
 public interface ManPakOutService extends IService<ManPakOut> {
+    List<PakOutDTO> selectPakOut(String docnum,Integer curr,Integer limit);
+
+    int selectPakOutCount(String docnum, Integer curr, Integer limit);
 }
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 6d94617..21d514c 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
@@ -2,12 +2,26 @@
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.zy.asrs.entity.ManPakOut;
+import com.zy.asrs.entity.param.PakOutDTO;
 import com.zy.asrs.mapper.ManPakOutMapper;
 import com.zy.asrs.service.ManPakOutService;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 @Service("manPakOutService")
 public class ManPakOutServiceImpl extends ServiceImpl<ManPakOutMapper, ManPakOut> implements ManPakOutService {
 
 
+
+
+    @Override
+    public List<PakOutDTO> selectPakOut(String docnum, Integer curr, Integer limit) {
+        return this.baseMapper.selectPakOut(docnum,curr,limit);
+    }
+
+    @Override
+    public int selectPakOutCount(String docnum, Integer curr, Integer limit) {
+        return this.baseMapper.selectPakOutCount(docnum,curr,limit);
+    }
 }
diff --git a/src/main/resources/mapper/ManPakOutMapper.xml b/src/main/resources/mapper/ManPakOutMapper.xml
index b199bc7..17daba0 100644
--- a/src/main/resources/mapper/ManPakOutMapper.xml
+++ b/src/main/resources/mapper/ManPakOutMapper.xml
@@ -2,4 +2,30 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.asrs.mapper.ManPakOutMapper">
 
+    <sql id="selectPakOutSql">
+        <if test="docnum != null and docnum != '' ">
+            and doc_num like '%' + #{docnum} + '%'
+        </if>
+
+
+    </sql>
+
+    <select id="selectPakOut" resultType="com.zy.asrs.entity.param.PakOutDTO">
+        select * from (
+          SELECT ROW_NUMBER() over (order by doc_num) as row,  doc_num,MAX(create_time) as create_time FROM man_pakout
+           where 1=1
+            <include refid="selectPakOutSql"></include>
+          GROUP BY doc_num
+      ) t where t.row BETWEEN ((#{curr}-1)*#{limit}+1) and (#{curr}*#{limit})
+        ORDER BY create_time DESC
+
+    </select>
+    <select id="selectPakOutCount" resultType="java.lang.Integer">
+        select count(1) from (
+          SELECT ROW_NUMBER() over (order by doc_num) as row,  doc_num,MAX(create_time) as create_time FROM man_pakout
+       where 1=1
+        <include refid="selectPakOutSql"></include>
+          GROUP BY doc_num
+      ) t
+    </select>
 </mapper>
diff --git a/src/main/webapp/static/js/picking/picking.js b/src/main/webapp/static/js/picking/picking.js
index b1dec70..cf4ac4b 100644
--- a/src/main/webapp/static/js/picking/picking.js
+++ b/src/main/webapp/static/js/picking/picking.js
@@ -27,7 +27,7 @@
             // {type: 'checkbox'}
             {type: 'numbers'}
             ,{field: 'wrkNo', align: 'center',title: 'id', hide:true}
-            ,{field: 'docNum',title: '鎷h揣鍗曞彿' }
+            ,{field: 'doc_num',title: '鎷h揣鍗曞彿' }
             ,{align: 'center', title: '浜岀淮鐮�', toolbar: '#operate', width: 200 , hide:true}
             ,{align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160}
             ,{field: 'status$', align: 'center',title: '鐘舵��'}
@@ -85,15 +85,16 @@
     // 鐩戝惉琛屽伐鍏蜂簨浠�
     table.on('tool(saasLog)', function(obj){
         var data = obj.data;
+        console.log(data);
         switch (obj.event) {
             case "btnPrint":
-                btnPrint(data.wrkNo, data.docNum, 4);
+                btnPrint(data.wrkNo, data.doc_num, 4);
                 break;
             case "wrkTrace":
-                btnPrint(data.wrkNo, data.docNum, 4);
+                btnPrint(data.wrkNo, data.doc_num, 4);
                 break;
             case "btnPrint2":
-                btnPrint2(data.wrkNo, data.docNum, 4);
+                btnPrint2(data.wrkNo, data.doc_num, 4);
                 break;
             case "del":
                 doDel(data.docNum);
@@ -119,7 +120,7 @@
                             headers: {token: localStorage.getItem('token')},
                             url: baseUrl+'/ManPakOut/list/auth',
                             where: {
-                                doc_num: data.docNum,
+                                doc_num: data.doc_num,
                                 uuid: data.uuid
                             },
                             page: true,
diff --git a/src/main/webapp/views/home/map.html b/src/main/webapp/views/home/map.html
index 7be535c..9976a08 100644
--- a/src/main/webapp/views/home/map.html
+++ b/src/main/webapp/views/home/map.html
@@ -446,7 +446,7 @@
             <div class="pointContainer" v-for="(x,index) in map" :key="index">
                 <div v-if="index != 0 && (index != map.length-1)" v-for="(y,idx) in x" :key="idx">
                     <div v-if="idx != 0 && (idx != map[index].length-1)">
-                        <div v-if="map[index][idx].value < 0" class="pointBox"></div>
+                        <div v-if="map[index][idx].value < 0" style="visibility: hidden;" class="pointBox"></div>
 
                         <!--搴撲綅-->
                         <div v-else-if="map[index][idx].value  == 0" @contextmenu.prevent="rightEvent(index,idx,$event)">

--
Gitblit v1.9.1