#
luxiaotao1123
2020-06-17 829f315f17de8cd04756a6c53b325c368469d246
#
1个文件已添加
6个文件已修改
120 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/WrkDetlController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/StockOutParam.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WorkService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/LocDetlDto.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/OutLocDto.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/wrkDetl/wrkDetl.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WrkDetlController.java
@@ -43,7 +43,11 @@
        excludeTrash(param);
        EntityWrapper<WrkDetl> wrapper = new EntityWrapper<>();
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
        if (!Cools.isEmpty(orderByField)){
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        } else {
            wrapper.orderBy("appe_time", false);
        }
        return R.ok(wrkDetlService.selectPage(new Page<>(curr, limit), wrapper));
    }
src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -38,7 +38,7 @@
        private String matnr;
        // 数量
        private Integer count;
        private Double count;
        public String getLocNo() {
            return locNo;
@@ -56,11 +56,11 @@
            this.matnr = matnr;
        }
        public Integer getCount() {
        public Double getCount() {
            return count;
        }
        public void setCount(Integer count) {
        public void setCount(Double count) {
            this.count = count;
        }
    }
src/main/java/com/zy/asrs/service/WorkService.java
@@ -1,10 +1,10 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.entity.param.FullStoreParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.common.model.LocDetlDto;
import java.util.List;
@@ -27,7 +27,7 @@
     * @param staNo 目标站点
     * @param locDetls 待出库物料
     */
    void stockOut(BasDevp staNo, List<LocDetl> locDetls, Long userId);
    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Long userId);
    /**
     * 空板入库
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -10,6 +10,7 @@
import com.zy.asrs.entity.param.FullStoreParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.*;
import com.zy.common.model.LocDetlDto;
import com.zy.common.model.OutLocDto;
import com.zy.common.model.StartupDto;
import com.zy.common.service.CommonService;
@@ -116,19 +117,19 @@
        // 目标站点状态检测
        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
        // 获取库位明细
        List<LocDetl> locDetls = new ArrayList<>();
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl locDetl : param.getLocDetls()) {
            if (!Cools.isEmpty(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getCount())) {
                LocDetl sqlParam = new LocDetl();
                sqlParam.setLocNo(locDetl.getLocNo());
                sqlParam.setMatnr(locDetl.getMatnr());
                LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
                if (null != one) locDetls.add(one);
                if (null != one) locDetlDtos.add(new LocDetlDto(one, locDetl.getCount()));
            }
        }
        if (!locDetls.isEmpty()) {
        if (!locDetlDtos.isEmpty()) {
            // 启动出库开始
            stockOut(staNo, locDetls, userId);
            stockOut(staNo, locDetlDtos, userId);
        } else {
            throw new CoolException("库位物料不存在");
        }
@@ -136,20 +137,20 @@
    @Override
    @Transactional
    public void stockOut(BasDevp staNo, List<LocDetl> locDetls, Long userId) {
    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Long userId) {
        // 生成工作号
        int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
        // 合并同类项
        Set<String> locNos = new HashSet<>();
        locDetls.forEach(locDetl -> locNos.add(locDetl.getLocNo()));
        locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
        List<OutLocDto> dtos = new ArrayList<>();
        for (String locNo : locNos) {
            List<LocDetl> list = new ArrayList<>();
            Iterator<LocDetl> iterator = locDetls.iterator();
            List<LocDetlDto> list = new ArrayList<>();
            Iterator<LocDetlDto> iterator = locDetlDtos.iterator();
            while (iterator.hasNext()) {
                LocDetl locDetl = iterator.next();
                if (locNo.equals(locDetl.getLocNo())) {
                    list.add(locDetl);
                LocDetlDto dto = iterator.next();
                if (locNo.equals(dto.getLocDetl().getLocNo())) {
                    list.add(dto);
                    iterator.remove();
                }
            }
@@ -192,19 +193,19 @@
                throw new CoolException("保存工作档失败,出库库位号:"+dto.getLocNo());
            }
            // 生成工作档明细
            for (LocDetl locDetl : dto.getLocDetls()) {
            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
                WrkDetl wrkDetl = new WrkDetl();
                wrkDetl.setWrkNo(workNo);
                wrkDetl.setIoTime(new Date());
                wrkDetl.setMatnr(locDetl.getMatnr());
                wrkDetl.setAnfme(locDetl.getAnfme()); // 数量
                wrkDetl.setZmatid(locDetl.getZmatid());
                wrkDetl.setTbpos(locDetl.getTbpos());
                wrkDetl.setTbnum(locDetl.getTbnum());
                wrkDetl.setLgnum(locDetl.getLgnum());
                wrkDetl.setAltme(locDetl.getAltme());
                wrkDetl.setBname(locDetl.getBname());
                wrkDetl.setMaktx(locDetl.getMaktx());
                wrkDetl.setMatnr(detlDto.getLocDetl().getMatnr());
                wrkDetl.setAnfme(detlDto.getCount()); // 数量
                wrkDetl.setZmatid(detlDto.getLocDetl().getZmatid());
                wrkDetl.setTbpos(detlDto.getLocDetl().getTbpos());
                wrkDetl.setTbnum(detlDto.getLocDetl().getTbnum());
                wrkDetl.setLgnum(detlDto.getLocDetl().getLgnum());
                wrkDetl.setAltme(detlDto.getLocDetl().getAltme());
                wrkDetl.setBname(detlDto.getLocDetl().getBname());
                wrkDetl.setMaktx(detlDto.getLocDetl().getMaktx());
                wrkDetl.setAppeTime(new Date());
                wrkDetl.setAppeUser(userId);
                wrkDetl.setModiTime(new Date());
src/main/java/com/zy/common/model/LocDetlDto.java
New file
@@ -0,0 +1,37 @@
package com.zy.common.model;
import com.zy.asrs.entity.LocDetl;
/**
 * Created by vincent on 2020/6/17
 */
public class LocDetlDto {
    private LocDetl locDetl;
    private Double count;
    public LocDetlDto() {
    }
    public LocDetlDto(LocDetl locDetl, Double count) {
        this.locDetl = locDetl;
        this.count = count;
    }
    public LocDetl getLocDetl() {
        return locDetl;
    }
    public void setLocDetl(LocDetl locDetl) {
        this.locDetl = locDetl;
    }
    public Double getCount() {
        return count;
    }
    public void setCount(Double count) {
        this.count = count;
    }
}
src/main/java/com/zy/common/model/OutLocDto.java
@@ -1,7 +1,5 @@
package com.zy.common.model;
import com.zy.asrs.entity.LocDetl;
import java.util.List;
/**
@@ -11,14 +9,14 @@
    private String locNo;
    private List<LocDetl> locDetls;
    private List<LocDetlDto> locDetlDtos;
    public OutLocDto() {
    }
    public OutLocDto(String locNo, List<LocDetl> locDetls) {
    public OutLocDto(String locNo, List<LocDetlDto> locDetlDtos) {
        this.locNo = locNo;
        this.locDetls = locDetls;
        this.locDetlDtos = locDetlDtos;
    }
    public String getLocNo() {
@@ -29,11 +27,11 @@
        this.locNo = locNo;
    }
    public List<LocDetl> getLocDetls() {
        return locDetls;
    public List<LocDetlDto> getLocDetlDtos() {
        return locDetlDtos;
    }
    public void setLocDetls(List<LocDetl> locDetls) {
        this.locDetls = locDetls;
    public void setLocDetlDtos(List<LocDetlDto> locDetlDtos) {
        this.locDetlDtos = locDetlDtos;
    }
}
src/main/webapp/static/js/wrkDetl/wrkDetl.js
@@ -17,10 +17,8 @@
        toolbar: '#toolbar',
        cellMinWidth: 50,
        cols: [[
            {type: 'checkbox'}
//            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
            ,{field: 'wrkNo', align: 'center',title: '工作号'}
            ,{field: 'ioTime$', align: 'center',title: '工作时间'}
            {field: 'wrkNo', align: 'center',title: '工作号'}
            ,{field: 'ioTime$', align: 'center',title: '工作时间', width: 160}
            ,{field: 'matnr', align: 'center',title: '物料'}
            ,{field: 'lgnum', align: 'center',title: '仓库号'}
            ,{field: 'tbnum', align: 'center',title: '转储请求编号'}
@@ -32,7 +30,7 @@
            ,{field: 'altme', align: 'center',title: '单位'}
            ,{field: 'zpallet', align: 'center',title: '托盘条码'}
            ,{field: 'bname', align: 'center',title: '用户ID'}
            ,{field: 'memo', align: 'center',title: '备注'}
            // ,{field: 'memo', align: 'center',title: '备注'}
            // ,{field: 'modiUser$', align: 'center',title: '修改人员',event: 'modiUser', style: 'cursor:pointer'}
            // ,{field: 'modiTime$', align: 'center',title: '修改时间'}
            // ,{field: 'appeUser$', align: 'center',title: '创建者',event: 'appeUser', style: 'cursor:pointer'}