自动化立体仓库 - WMS系统
zc
2 天以前 48a341f0b97479b449cbac9f53faf56f08a5c7cc
src/main/java/com/zy/asrs/controller/OpenMesController.java
@@ -2,14 +2,13 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.annotations.AppAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.InventoryCheckOrder;
import com.zy.asrs.entity.InventoryCheckOrderDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
@@ -39,10 +38,13 @@
    private OpenService openService;
    @Autowired
    private ManLocDetlService manLocDetlService;
    private MatService matService;
    @Autowired
    private WrkMastService wrkMastService;
    private WorkService workService;
    @Autowired
    private LocMastService locMastService;
    @Autowired
    private InventoryCheckOrderService inventoryCheckOrderService;
@@ -73,17 +75,17 @@
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
        if (Cools.isEmpty(wrkMast)) {
            return R.error("无法通过托盘码找到该工作档,请检查托盘码是否正确");
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("barcode", param.getPalletBarcode()));
        if (locMast == null) {
            throw new CoolException("该托盘不存在库中");
        }
        LocDetlAdjustParam adjustParam = new LocDetlAdjustParam();
        adjustParam.setLocNo(wrkMast.getWrkSts() < 100 ? wrkMast.getLocNo() : wrkMast.getSourceLocNo());
        adjustParam.setLocNo(locMast.getLocNo());
        List<LocDetlAdjustParam.LocDetlAdjust> list = new ArrayList<>();
        param.getDetails().forEach(elem -> {
            list.add(new LocDetlAdjustParam.LocDetlAdjust(elem.getMatnr(), elem.getBatch(), elem.getActulQty(), elem.getDanger()));
            list.add(new LocDetlAdjustParam.LocDetlAdjust(elem.getProductionCode(), elem.getBatch(), elem.getActulQty(), elem.getQuality(),elem.getCode()));
        });
        manLocDetlService.adjustLocDetl2(adjustParam, getUserId());
        workService.adjustLocDetl(adjustParam, getUserId());
        return R.ok();
    }
@@ -161,22 +163,7 @@
                                @RequestBody CheckOrderParam param,
                                HttpServletRequest request) {
        auth(appkey, param, request);
        String orderNo = param.getOrderNo();
        long time = new Date().getTime();
        if (Cools.isEmpty(orderNo)) {
            switch (param.getArea()) {
                case "堆垛机":
                    orderNo = "DDJ" + time;
                    break;
                case "四向库":
                    orderNo = "SXK" + time;
                    break;
                case "CTU":
                    orderNo = "CTU" + time;
                    break;
            }
            param.setOrderNo(orderNo);
        }
        String orderNo = param.getInventoryCode();
        int count = inventoryCheckOrderService.selectCount(new EntityWrapper<InventoryCheckOrder>().eq("order_no", orderNo));
        if (count > 0) {
@@ -184,14 +171,20 @@
        }
        InventoryCheckOrder checkOrder = new InventoryCheckOrder();
        checkOrder.setOrderNo(orderNo);
        checkOrder.setCreateBy(getUserId().toString());
        //checkOrder.setCreateBy(getUserId().toString());
        checkOrder.setCreateTime(new Date());
        checkOrder.setStatus("1");
        param.getDetails().forEach(elem -> {
            checkOrder.setArea(param.getArea());
            Mat mat = matService.selectByMatnr(elem.getProductionCode());
            if (mat == null) {
                throw new CoolException("物料不存在");
            }
            //checkOrder.setArea(param.getArea());
            InventoryCheckOrderDetl detail = new InventoryCheckOrderDetl();
            detail.setMatnr(elem.getMatnr());
            detail.setBatch(elem.getBatch());
            detail.setMatnr(elem.getProductionCode());
            detail.setOrderNo(orderNo);
            detail.setMaktx(mat.getMaktx());
            //detail.setBatch(elem.getBatch());
            inventoryCheckOrderDetlService.insert(detail);
        });
        inventoryCheckOrderService.insert(checkOrder);