自动化立体仓库 - WMS系统
1
zhang
9 天以前 9afe7ca53c38f2aa1010c2ac2a778012d133160f
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -17,7 +17,6 @@
import com.zy.common.model.DetlDto;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import com.zy.nc.entity.NccJcQilibcBarcodeflowWms;
import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +46,8 @@
    private BasDevpService basDevpService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private WorkService workService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
@@ -605,6 +606,12 @@
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(now);
                waitPakin.setBoxType1(detlDto.getBoxType1());
                waitPakin.setBoxType2(detlDto.getBoxType2());
                waitPakin.setBoxType3(detlDto.getBoxType3());
                waitPakin.setStandby1(detlDto.getStandby1());
                waitPakin.setStandby2(detlDto.getStandby2());
                waitPakin.setStandby3(detlDto.getStandby3());
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
@@ -620,7 +627,6 @@
            List<DetlDto> detlDtos = new ArrayList<>();
            param.getCombMats().forEach(elem -> {
                // 订单明细数量校验
//                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
@@ -662,6 +668,12 @@
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(now);
                waitPakin.setBoxType1(detlDto.getBoxType1());
                waitPakin.setBoxType2(detlDto.getBoxType2());
                waitPakin.setBoxType3(detlDto.getBoxType3());
                waitPakin.setStandby1(detlDto.getStandby1());
                waitPakin.setStandby2(detlDto.getStandby2());
                waitPakin.setStandby3(detlDto.getStandby3());
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
@@ -731,14 +743,14 @@
    @Override
    @Transactional
    public void adjust(MobileAdjustParam param, Long userId) {
        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
        if (null == basDevp || basDevp.getWrkNo() == null) {
            throw new CoolException(param.getStaNo() + "盘点站无效");
        }
        if (!param.getWrkNo().equals(basDevp.getWrkNo())) {
            throw new CoolException(param.getStaNo() + "盘点站更新,请重新检索");
        }
        WrkMast wrkMast = wrkMastService.selectById(param.getWrkNo());
//        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
//        if (null == basDevp || basDevp.getWrkNo() == null) {
//            throw new CoolException(param.getStaNo() + "盘点站无效");
//        }
//        if (!param.getWrkNo().equals(basDevp.getWrkNo())) {
//            throw new CoolException(param.getStaNo() + "盘点站更新,请重新检索");
//        }
        WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
        if (wrkMast.getWrkSts() < 10) {
            throw new CoolException("盘点无效,任务已盘点再入库");
        }
@@ -746,7 +758,10 @@
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        List<WrkDetl> list = param.getWrkDetls();
        LocDetlAdjustParam adjustParam = new LocDetlAdjustParam();
        List<LocDetlAdjustParam.LocDetlAdjust> locDetlAdjusts = new ArrayList<>();
        adjustParam.setLocNo(wrkMast.getSourceLocNo());
        // 修改数量
        Iterator<WrkDetl> iterator = wrkDetls.iterator();
        while (iterator.hasNext()) {
@@ -796,15 +811,22 @@
            if (!wrkDetlService.insert(wrkDetl)) {
                throw new CoolException("添加" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号任务明细失败");
            }
        }
        }
        List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        for (WrkDetl wrkDetl : wrkDetls1) {
            LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
            locDetlAdjusts.add(locDetlAdjust);
        }
        // 修改盘点任务主档状态
        wrkMast.setFullPlt(wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).size() != 0 ? "Y" : "N");
        wrkMast.setFullPlt(wrkDetls1.size() != 0 ? "Y" : "N");
        wrkMast.setModiTime(now);
        wrkMast.setModiUser(userId);
        if (!wrkMastService.updateById(wrkMast)) {
            throw new CoolException("修改盘点任务主档失败");
        }
        adjustParam.setList(locDetlAdjusts);
        workService.adjustLocDetl2(adjustParam, userId);
    }