#
luxiaotao1123
2021-06-05 535f6c82435e868a360cc97b0f875874b41df7af
#
4个文件已修改
56 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/WorkController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WorkService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WorkController.java
@@ -65,6 +65,13 @@
            map.put("desc", siteId + "(拣料出库口)");
            result.add(map);
        }
        List<Integer> agvAvailableInSite = basDevpService.getAgvAvailableInSite();
        for (Integer siteId : agvAvailableInSite) {
            Map<String, Object> map = new HashMap<>();
            map.put("siteId", siteId);
            map.put("desc", siteId + "(小车工作区)");
            result.add(map);
        }
        return R.ok().add(result);
    }
src/main/java/com/zy/asrs/service/WorkService.java
@@ -25,7 +25,7 @@
     * @param locDetls 待出库物料
     * @param ioType 入出库类型
     */
    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId);
    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId, Integer agvSite);
    /**
     * 空板入库
src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.mapper.BasDevpMapper;
@@ -54,18 +55,25 @@
            throw new CoolException(devpNo+"站点不存在");
        }
        if (put) {
            if(station.getAutoing()==null || !station.getAutoing().equals("Y")) {
                throw new CoolException(devpNo+"站点不是自动状态");
            // 小车工作区
            if (!Cools.isEmpty(station.getFronting()) && station.getFronting().equals("Y")) {
            // 常规站点
            } else {
                if(station.getAutoing()==null || !station.getAutoing().equals("Y")) {
                    throw new CoolException(devpNo+"站点不是自动状态");
                }
                if(station.getLoading()==null || !station.getLoading().equals("Y")) {
                    throw new CoolException(devpNo+"站点无物");
                }
                if(station.getWrkNo()!=null && station.getWrkNo()>0 && station.getWrkNo() < 9990) {
                    throw new CoolException(devpNo+"站点已有工作号");
                }
                if(wrkMastService.getWorkingMast(devpNo)>0){
                    throw new CoolException(devpNo+"站点不能同时生成两笔入库工作档");
                }
            }
            if(station.getLoading()==null || !station.getLoading().equals("Y")) {
                throw new CoolException(devpNo+"站点无物");
            }
            if(station.getWrkNo()!=null && station.getWrkNo()>0 && station.getWrkNo() < 9990) {
                throw new CoolException(devpNo+"站点已有工作号");
            }
            if(wrkMastService.getWorkingMast(devpNo)>0){
                throw new CoolException(devpNo+"站点不能同时生成两笔入库工作档");
            }
        }
        return station;
    }
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -185,6 +185,11 @@
    public void startupFullTakeStore(StockOutParam param, Long userId) {
        // 目标站点状态检测
        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
        int agvSite = 0;
        if (!Cools.isEmpty(staNo.getFronting()) && staNo.getFronting().equals("Y")) {
            agvSite = staNo.getDevNo();
            staNo = basDevpService.checkSiteStatus(201);
        }
        // 获取库位明细
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
@@ -198,7 +203,7 @@
        }
        if (!locDetlDtos.isEmpty()) {
            // 启动出库开始 101.出库
            stockOut(staNo, locDetlDtos, null, userId);
            stockOut(staNo, locDetlDtos, null, userId, agvSite);
        } else {
            throw new CoolException("库位物料不存在");
        }
@@ -206,7 +211,7 @@
    @Override
    @Transactional
    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) {
    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId, Integer agvSite) {
        // 合并同类项
        Set<String> locNos = new HashSet<>();
        locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
@@ -259,6 +264,7 @@
            wrkMast.setExitMk("N"); // 退出
            wrkMast.setEmptyMk("N"); // 空板
            wrkMast.setLinkMis("N");
            wrkMast.setCtnKind(agvSite); // 出库下的小车工作区站好
            wrkMast.setAppeUser(userId); // 操作人员数据
            wrkMast.setAppeTime(new Date());
            wrkMast.setModiUser(userId);
@@ -427,6 +433,11 @@
    public void locCheckOut(StockOutParam param, Long userId) {
        // 目标站点状态检测
        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
        int agvSite = 0;
        if (!Cools.isEmpty(staNo.getFronting()) && staNo.getFronting().equals("Y")) {
            agvSite = staNo.getDevNo();
            staNo = basDevpService.checkSiteStatus(201);
        }
        // 获取库位明细
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
@@ -445,7 +456,7 @@
        }
        if (!locDetlDtos.isEmpty()) {
            // 启动出库开始 107.盘点出库
            stockOut(staNo, locDetlDtos, 107, userId);
            stockOut(staNo, locDetlDtos, 107, userId, agvSite);
        } else {
            throw new CoolException("库位物料不存在");
        }