ERPController.java 2.94 KB
package com.huaheng.api.erp.controller;

import com.huaheng.api.erp.domain.*;
import com.huaheng.api.erp.service.ERPService;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.rabbitmq.client.AMQP;
import io.swagger.annotations.ApiOperation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@RestController
@RequestMapping("/API/WMS/v2")
public class ERPController extends BaseController {

    @Resource
    private ERPService erpService;

    @PostMapping("/receipt")
    @ApiOperation("入库组盘信息")
    @ResponseBody
    @ApiLogger(apiName = "入库组盘信息", from="码垛系统")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult receipt(@RequestBody ERPReceipt erpReceipt) {
        if(erpReceipt == null) {
            return AjaxResult.error("入库组盘信息为空");
        }
        String containerCode = erpReceipt.getContainerCode();
        String receiptCode = erpReceipt.getReceiptCode();
        String position = erpReceipt.getRequestInCode();
        String orderCode = erpReceipt.getOrderCode();
        String orderName = erpReceipt.getOrderName();
        List<BoxInfo> boxInfoList = erpReceipt.getListBoxInfo();
        String stack = erpReceipt.getStack();
        int qc = erpReceipt.getQc();
        int orderFinish = erpReceipt.getOrderFinish();

        if(receiptCode == null) {
            return AjaxResult.error("入库组盘信息,排产订单编码为空");
        }
        if(containerCode == null) {
            return AjaxResult.error("入库组盘信息,托盘号为空");
        }
        if(position == null) {
            return AjaxResult.error("入库组盘信息,码垛站台位置为空");
        }
        if(orderCode == null) {
            return AjaxResult.error("入库组盘信息,订单信息为空");
        }
        if(orderName == null) {
            return AjaxResult.error("入库组盘信息,订单名称为空");
        }
        if(boxInfoList == null) {
            return AjaxResult.error("入库组盘信息,箱信息为空");
        }
        if(stack == null) {
            return AjaxResult.error("入库组盘信息,垛型为空");
        }
        if(orderFinish == 0) {
            return AjaxResult.error("入库组盘信息,垛型为空");
        }
        AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                AjaxResult ajaxResult = erpService.innerReceipt(containerCode, position,receiptCode, orderCode,
                        orderName, boxInfoList, stack, qc,orderFinish);
                return ajaxResult;
            }
        });
        return ajaxResult;
    }



}