自动化立体仓库 - WMS系统
18516761980
2022-08-13 bcb5e464f879458c421069e7d8c72d8c16b4ac7b
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
@@ -11,6 +12,8 @@
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.service.*;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.WorkLogHandler;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.CodeRes;
import com.zy.common.constant.MesConstant;
@@ -23,6 +26,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.ArrayList;
import java.util.Date;
@@ -69,6 +74,15 @@
    private StaDescService staDescService;
    @Autowired
    private CommonService commonService;
    @Autowired
    private NodeService nodeService;
    @Autowired
    private ManLocDetlService manLocDetlService;
    @Autowired
    private TestMastService testMastService;
    @Autowired
    private WorkLogHandler workLogHandler;
    @Override
    @Transactional
@@ -180,6 +194,39 @@
            orderService.updateSettle(order.getId(), 2L, userId);
        }
    }
    @Override
    public void onSale(CombParam param) {
        // 获取库位号
        String locno = param.getLocno();
        Node node = nodeService.selectByUuid(locno);
        if (Cools.isEmpty(node)) {
            throw new CoolException(param.getLocno() + ":库位不存在");
        }
        // 获取商品列表
        for(CombParam.CombMat combMat : param.getCombMats()){
            Mat mat = matService.selectByMatnr(combMat.getMatnr());
            if (Cools.isEmpty(mat)){
                throw new CoolException(combMat.getMatnr() + ":商品档案不存在!");
            }
            if (Cools.isEmpty(combMat.getAnfme()) || combMat.getAnfme()==0){
                throw new CoolException(combMat.getMatnr() + ":商品数量有误!");
            }
            if (Cools.isEmpty(combMat.getBatch())){
                throw new CoolException(combMat.getMatnr() + ":商品批号有误!");
            }
            ManLocDetl manLocDetl = new ManLocDetl();
            manLocDetl.setLocNo(locno);
            manLocDetl.setNodeId(node.getId());
            manLocDetl.setMatnr(combMat.getMatnr());
            manLocDetl.setBatch(combMat.getBatch());
            manLocDetl.setAnfme(combMat.getAnfme());
            if (!manLocDetlService.insert(manLocDetl)) {
                throw new CoolException("商品上架失败!");
            }
        }
    }
    @Override
@@ -554,4 +601,47 @@
            throw new CoolException(locDetl.getLocNo() + "库位不是在库状态");
        }
    }
    /*...........................赣州新增..............以下.............赣州新增...........................*/
    @Override
    @Transactional
    public void startUpTestPACK(TestMast testMast) {
        //启动测试请求
        ReturnT<String> result=workLogHandler.startUpTestPACK(testMast);
        if (!result.isSuccess()) {
            log.error("测试申请失败", testMast.getBarcode());
        }
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", testMast.getLocNo()));
        if (Cools.isEmpty(locMast)) {
            throw new CoolException(BaseRes.PARAM);
        }
        Date date1;
        try {
            date1 = new Date();
        }catch (Exception e){
            throw new CoolException("获取时间失败");
        }
        testMast.setChannel(1);
        testMast.setStatus(1);
        testMast.setModiTime(date1);
        testMast.setAppeTime(date1);
        if (!testMastService.insert(testMast)){
            throw new CoolException("添加testMast失败");
        }
        locMast.setPackStatus(2);
        locMast.setModiTime(date1);
        if (!locMastService.update(locMast,new EntityWrapper<LocMast>().eq("loc_no", testMast.getLocNo()))){
            throw new CoolException("申请测试失败");
        }
    }
    @Override
    @Transactional
    public void suspendTestPACK() {
        ReturnT<String> result=workLogHandler.suspendTestPACK();
        if (!result.isSuccess()) {
            log.error("测试申请失败");
        }
    }
    /*...........................赣州新增..............以上.............赣州新增...........................*/
}