自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-03-30 e28f0020df3b7b7c5fbfc79af99a208d57673401
#
3个文件已修改
43 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/OutLocDto.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/pakStore/stockOut.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -170,20 +170,22 @@
        Date now = new Date();
        // 合并同类项
        Set<String> locNos = new HashSet<>();
        locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
        List<OutLocDto> dtos = new ArrayList<>();
        for (String locNo : locNos) {
            List<LocDetlDto> list = new ArrayList<>();
            Iterator<LocDetlDto> iterator = locDetlDtos.iterator();
            while (iterator.hasNext()) {
                LocDetlDto dto = iterator.next();
                if (locNo.equals(dto.getLocDetl().getLocNo())) {
                    list.add(dto);
                    iterator.remove();
        for (LocDetlDto locDetlDto : locDetlDtos) {
            String locNo = locDetlDto.getLocDetl().getLocNo();
            if (locNos.contains(locNo)) {
                for (OutLocDto dto : dtos) {
                    if (dto.getLocNo().equals(locNo)) {
                        dto.getLocDetlDtos().add(locDetlDto);
                        break;
                    }
                }
            } else {
                locNos.add(locNo);
                dtos.add(new OutLocDto(locNo, locDetlDto));
            }
            dtos.add(new OutLocDto(locNo, list));
        }
        // 生成工作档
        for (OutLocDto dto : dtos) {
            // 判断入出库类型:101.全板出库 or 103.拣料出库
src/main/java/com/zy/common/model/OutLocDto.java
@@ -8,8 +8,7 @@
import com.zy.asrs.service.LocDetlService;
import lombok.Data;
import java.util.Iterator;
import java.util.List;
import java.util.*;
/**
 * Created by vincent on 2020/6/17
@@ -19,17 +18,18 @@
    private String locNo;
    private List<LocDetlDto> locDetlDtos;
    private List<LocDetlDto> locDetlDtos = new ArrayList<>();
    public OutLocDto() {
    }
    public OutLocDto(String locNo, List<LocDetlDto> locDetlDtos) {
    public OutLocDto(String locNo, LocDetlDto locDetlDto) {
        this.locNo = locNo;
        this.locDetlDtos = locDetlDtos;
        this.locDetlDtos.add(locDetlDto);
    }
    public boolean isAll(){
        List<LocDetlDto> locDetlDtosCp = new ArrayList<>(this.locDetlDtos);
        // 查询当前库位号所有的库存明细
        LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo));
@@ -38,7 +38,7 @@
        }
        int sameNumber = 0;
        for (LocDetl locDetl : locDetls) {
            Iterator<LocDetlDto> iterator = this.locDetlDtos.iterator();
            Iterator<LocDetlDto> iterator = locDetlDtosCp.iterator();
            while (iterator.hasNext()) {
                LocDetl next = iterator.next().getLocDetl();
                if (!next.getMatnr().equals(locDetl.getMatnr())) {
src/main/webapp/static/js/pakStore/stockOut.js
@@ -64,10 +64,9 @@
    // 监听头工具栏事件
    table.on('toolbar(chooseData)', function (obj) {
        var data = locDetlData;
        switch (obj.event) {
            case 'outbound':
                if (data.length === 0){
                if (locDetlData.length === 0){
                    layer.msg('请先提取商品库存', {icon: 2});
                } else {
                    var staNo = $("#staNoSelect").val();
@@ -75,13 +74,9 @@
                        layer.msg("请选择出库口", {icon: 2});
                        return;
                    }
                    var locDetls = [];
                    data.forEach(function(elem) {
                        locDetls.push({locNo: elem.locNo, matnr: elem.matnr, batch: elem.batch, count: elem.count});
                    });
                    let param = {
                        outSite: staNo,
                        locDetls: locDetls
                        locDetls: locDetlData
                    }
                    $.ajax({
                        url: baseUrl+"/plate/out/start",