自动化立体仓库 - WMS系统
#
zjj
2024-09-27 9633033bedabab61ba8bec71b564de83e1161a15
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -26,10 +26,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.*;
/**
 * 移动端服务核心类
@@ -84,6 +81,9 @@
    public void comb(CombParam param, Long userId) {
        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
            throw new CoolException(BaseRes.PARAM);
        }
        if(param.getCombMats().size()>1){
            throw new CoolException("请提取一个商品,或者刷新重新组托!");
        }
        // 判断是否有相同条码的数据
        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
@@ -147,7 +147,7 @@
        // 关联组托
        } else {
            Order order = orderService.selectByNo(param.getOrderNo());
            if (order.getSettle() > 2) {
            if (Cools.isEmpty(order) || order.getSettle() > 2) {
                throw new CoolException("单据编号已过期");
            }
            // 生成入库通知档
@@ -431,7 +431,7 @@
            String orderNo = "PACK" + snowflakeIdWorker.nextId();
            OpenOrderPakinParam openParam = new OpenOrderPakinParam();
            openParam.setOrderNo(orderNo);
            openParam.setOrderTime(DateUtils.convert(now));
            openParam.setInboundDate(DateUtils.convert(now));
            openParam.setOrderType("打包入库单");
            openParam.setOrderDetails(detlDtos);
            openService.pakinOrderCreate(openParam);
@@ -558,6 +558,57 @@
    }
    @Override
//    @Transactional
    public void leftoversOut(Map<String, Object> map,Long userId) {
        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", map.get("barcode")).eq("io_type", 103));
        if (Cools.isEmpty(wrkMast)) {
            throw new CoolException("未查询到拣料任务");
        }
        Date now = new Date();
        int workNo = commonService.getWorkNo(1);
        WrkMast wrkMast1 = new WrkMast();
        wrkMast1.sync(wrkMast);
        wrkMast1.setWrkNo(workNo);
        wrkMast1.setWrkSts(2L);
        wrkMast1.setIoType(200);
        wrkMast1.setSourceStaNo(wrkMast.getStaNo() == 113 ? 111 : 117);
        wrkMast1.setStaNo(map.get("floor").hashCode() == 2 ? 204:304);
        wrkMast1.setIoTime(now);
        wrkMast1.setIoPri(13D); // 优先级:13
        wrkMast1.setCrnNo(wrkMast.getCrnNo());
        wrkMast1.setSourceLocNo(wrkMast.getLocNo()); // 源库位
        wrkMast1.setFullPlt("Y"); // 满板:Y
        wrkMast1.setPicking("N"); // 拣料
        wrkMast1.setExitMk("N"); // 退出
        wrkMast1.setEmptyMk("N"); // 空板
        wrkMast1.setLinkMis("N");
        wrkMast1.setAppeUser(userId); // 操作人员数据
        wrkMast1.setAppeTime(now);
        wrkMast1.setModiUser(userId);
        wrkMast1.setModiTime(now);
        wrkMast1.setBarcode(wrkMast.getBarcode());
        if (!wrkMastService.insert(wrkMast1)) {
            throw new CoolException("保存工作档失败");
        }
        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("zpallet", map.get("barcode")));
        if (Cools.isEmpty(wrkDetls)) {
            throw new CoolException("未查询到拣料任务明细");
        }
        for(WrkDetl wrkDetl : wrkDetls){
            WrkDetl wrkDetl1 = new WrkDetl();
            wrkDetl1.sync(wrkDetl);
            wrkDetl1.setWrkNo(workNo);
            wrkDetlService.insert(wrkDetl1);
        }
    }
    @Override
    @Transactional
    public void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl,
                         Double curOutQty, Integer ioType, Long userId, Date now) {