自动化立体仓库 - WMS系统
zc
3 天以前 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;
@@ -27,7 +26,7 @@
 */
@Slf4j
@RestController
@RequestMapping("open/wms")
@RequestMapping("Open/wms")
public class OpenMesController extends BaseController {
    private static final boolean auth = true;
@@ -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,32 +75,32 @@
        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();
    }
    @PostMapping("/orderSync/default/v1")
    @AppAuth(memo = "订单信息同步接口")
    public synchronized R syncOrderInfo(@RequestHeader(required = false) String appkey,
                                        @RequestBody(required = false) GTOrderParam param,
                                        HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        return R.ok();
    }
//    @PostMapping("/orderSync/default/v1")
//    @AppAuth(memo = "订单信息同步接口")
//    public synchronized R syncOrderInfo(@RequestHeader(required = false) String appkey,
//                                        @RequestBody(required = false) GTOrderParam param,
//                                        HttpServletRequest request) {
//        auth(appkey, param, request);
//        if (Cools.isEmpty(param)) {
//            return R.parse(BaseRes.PARAM);
//        }
//
//        return R.ok();
//    }
    /**
@@ -130,7 +132,7 @@
    /**
     * 添加出库单
     */
    @PostMapping("/order/pakout/default/v1")
    @PostMapping("/order/pakout/auth/v1")
    @AppAuth(memo = "添加订单出库")
    public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey,
                                            @RequestBody OpenOrderPakoutParam param,
@@ -138,12 +140,6 @@
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getLgort())) {
            return R.error("单据编号[lgort]不能为空");
        }
        if (!param.getLgort().equals("5006")) {
            return R.ok();
        }
        if (Cools.isEmpty(param.getOrderNo())) {
            return R.error("单据编号[orderNo]不能为空");
@@ -167,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) {
@@ -190,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);
@@ -213,12 +200,12 @@
        if (!auth) {
            return;
        }
        if (Cools.isEmpty(appkey)) {
            throw new CoolException("认证失败,请确认appkey无误!");
        }
        if (!APP_KEY_LIST.contains(appkey)) {
            throw new CoolException("认证失败,请确认appkey无误!");
        }
//        if (Cools.isEmpty(appkey)) {
//            throw new CoolException("认证失败,请确认appkey无误!");
//        }
//        if (!APP_KEY_LIST.contains(appkey)) {
//            throw new CoolException("认证失败,请确认appkey无误!");
//        }
    }