自动化立体仓库 - WMS系统
*
lsh
15 小时以前 8d702fa2c62b3617f71c5e91293e338d1ccd1549
src/main/java/com/zy/asrs/controller/OutController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.*;
import com.core.exception.CoolException;
@@ -12,6 +13,8 @@
import com.zy.common.model.LocDto;
import com.zy.common.model.TaskDto;
import com.zy.common.web.BaseController;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -28,6 +31,7 @@
@RestController
public class OutController extends BaseController {
    private static final Logger log = LoggerFactory.getLogger(OutController.class);
    @Autowired
    private OrderService orderService;
    @Autowired
@@ -136,16 +140,40 @@
    public synchronized R pakout(@RequestBody List<LocDto> locDtos) throws InterruptedException {
        StockOutParam param = new StockOutParam();
        ArrayList<StockOutParam.LocDetl> locDetls = new ArrayList<>();
        int staNoOrder = 0;
        for (LocDto locDto:locDtos){
            Order order = orderService.selectByNo(locDto.getOrderNo());
            DocType docType = docTypeService.selectById(order.getDocType());
            if (docType.getDocName().equals("不合格品出库")){
                staNoOrder = 212;
            }
            if (docType.getDocName().equals("拆包装检出库")){
                staNoOrder = 212;
            }
            if (docType.getDocName().equals("退货至二楼")){
                staNoOrder = 212;
            }
            OrderDetl orderDetl = orderDetlService.selectById(locDto.getOrderDetlId());
            StockOutParam.LocDetl locDetl = new StockOutParam.LocDetl();
            locDetl.setBrand(locDto.getBrand());
            locDetl.setLocNo(locDto.getLocNo());
            try{
                LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", locDto.getBatch()));
                locDetl.setLocNo(locDetl1.getLocNo());
            }catch (Exception e){
                log.error("订单出库库位号处理异常:"+e);
                locDetl.setLocNo(locDto.getLocNo());
            }
            locDetl.setAnfme(locDto.getAnfme());
            locDetl.setMatnr(locDto.getMatnr());
            locDetl.setBatch(locDto.getBatch());
            locDetl.setModel(locDto.getModel());
            locDetl.setSpecs(locDto.getSpecs());
            locDetl.setZpallet(locDto.getZpallet());
            locDetl.setMemo(orderDetl.getMemo());
            locDetl.setColor(order.getCstmrName());
            param.setOrderNo(locDto.getOrderNo());
@@ -153,8 +181,10 @@
        }
        param.setLocDetls(locDetls);
        List<StockOutParam> stockOutParams = OutboundAllocationUtil.OutboundClassification(param);
        List<StockOutParam> stockOutParams = OutboundAllocationUtil.OutboundClassificationOrder(param,staNoOrder);
        Date now = new Date();
        for (StockOutParam stockOutParam : stockOutParams){
            stockOutParam.setNowTime(now);
            workService.startupFullTakeStore(stockOutParam, getUserId());
        }