自动化立体仓库 - WMS系统
zjj
2023-09-09 938f981db8389b161199d2099649defd781be664
#拣货单
7个文件已修改
1个文件已添加
141 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/ManPakOutController.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/PakOutDTO.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/ManPakOutMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/ManPakOutService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ManPakOutMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/picking/picking.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/home/map.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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){
src/main/java/com/zy/asrs/entity/param/PakOutDTO.java
New file
@@ -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);
        }
    }
}
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);
}
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);
}
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);
    }
}
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>
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: '拣货单号' }
            ,{field: 'doc_num',title: '拣货单号' }
            ,{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,
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)">