自动化立体仓库 - WMS系统
#
Junjie
5 天以前 2f97b2686649d2e2e9b7584c7b9cf39a276569d9
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -15,6 +15,7 @@
import com.zy.asrs.entity.result.FindLocNoAttributeVo;
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.*;
@@ -189,9 +190,7 @@
    public void startupFullTakeStore(StockOutParam param, Long userId) {
        // 目标站点状态检测
        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
        if (Cools.isEmpty(param.getItemId())) {
            throw new CoolException("所入仓库不能为空");
        }
        // 获取库位明细
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
@@ -483,6 +482,19 @@
                        , locDto.getStandby1(), locDto.getStandby2(), locDto.getStandby3(), locDto.getBoxType1(), locDto.getBoxType2(), locDto.getBoxType3());
            }
            Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>()
                    .eq("loc_no", wrkMast.getSourceLocNo())
                    .eq("matnr", orderDetlPakout.getMatnr());
            if (!Cools.isEmpty(locDto.getBatch())) {
                wrapper.eq("batch", locDto.getBatch());
            }
            if (!Cools.isEmpty(orderDetlPakout.getSpecs())) {
                wrapper.eq("specs", orderDetlPakout.getSpecs());
            }
            LocDetl locDetl = locDetlService.selectOne(wrapper);
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(orderDetlPakout);
            wrkDetl.setZpallet(wrkMast.getBarcode());
@@ -496,6 +508,12 @@
            wrkDetl.setModiTime(now);
            wrkDetl.setModiUser(userId);
            wrkDetl.setThreeCode(orderDetlPakout.getId() + "");
            wrkDetl.setSupp(orderPakout.getCstmrName());
            wrkDetl.setStockNum(locDetl.getAnfme());//库存
            //计算辅数量
            Double weight = MatUtils.calcWeight(wrkDetl.getMatnr(), wrkDetl.getAnfme());
            wrkDetl.setWeight(weight);
            if (!wrkDetlService.insert(wrkDetl)) {
                throw new CoolException("保存工作档明细失败");
            }