MesApiAskController.java 5.54 KB
package com.huaheng.api.mes.controller;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.web.bind.annotation.*;

import com.huaheng.api.general.domain.ReceiptDomain;
import com.huaheng.api.general.domain.ShipmentDomain;
import com.huaheng.api.mes.domain.Cartons;
import com.huaheng.api.mes.service.CartonsService;
import com.huaheng.api.mes.service.MesApiAskConService;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * mes逻辑处理控制器
 * @author xcq
 */

@RestController
@RequestMapping("/api/mes")
@Api(tags = {"mes请求处理接口"}, value = "mes请求处理接口")
public class MesApiAskController extends BaseController {

    @Resource
    private MesApiAskConService mesApiAskConService;
    @Resource
    private CartonsService cartonsService;

    /**
     * mes生产出库
     */
    @PostMapping("/productionShipment")
    @ApiOperation("生产出库接口")
    @ResponseBody
    @ApiLogger(apiName = "mes生产出库", from = "MES")
    public AjaxResult productionShipment(@RequestBody ShipmentDomain shipmentDomain) {
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return mesApiAskConService.productionShipment(shipmentDomain);
            }
        });
    }

    /**
     * mes生产入库
     */
    @PostMapping("/productionReceipt")
    @ApiOperation("生产入库接口")
    @ResponseBody
    @ApiLogger(apiName = "mes生产入库", from = "MES")
    public AjaxResult productionReceipt(@RequestBody ReceiptDomain receiptDomain) {
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return mesApiAskConService.checkReceiptType(receiptDomain);
            }
        });
    }

    /**
     * mes不合格品入库
     */
    @PostMapping("/unqualifiedProductsReceipt")
    @ApiOperation("不合格品入库接口")
    @ResponseBody
    @ApiLogger(apiName = "mes不合格品入库", from = "MES")
    public AjaxResult unqualifiedProductsReceipt(@RequestBody ReceiptDomain receiptDomain) {
        // return mesApiAskConService.unqualifiedProductsReceipt(receiptDomain);
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return mesApiAskConService.unqualifiedProductsReceipt(receiptDomain);
            }
        });
    }

    /**
     * mes推送纸箱数据
     */
    @PostMapping("/getCartons")
    @ApiOperation("获取纸箱数据")
    @ResponseBody
    @ApiLogger(apiName = "mes推送纸箱数据", from = "MES")
    public AjaxResult getCartons(@RequestBody List<Cartons> list) {
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return cartonsService.saveCartons(list);
            }
        });
        // return cartonsService.saveCartons(list);
    }

    @PostMapping("/inventoryMorphologicalTransformation")
    @ApiOperation("库存形态转换")
    @ResponseBody
    @ApiLogger(apiName = "mes库存形态转换", from = "MES")
    public AjaxResult inventoryMorphologicalTransformation(@RequestBody InventoryDetail inventoryDetail) {
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return mesApiAskConService.inventoryMorphologicalTransformationServer(inventoryDetail);
            }
        });
//        return mesApiAskConService.inventoryMorphologicalTransformationServer(inventoryDetail);
    }

    @PostMapping("/productionScrapReceipt")
    @ApiOperation("生产报废品入库")
    @ResponseBody
    @ApiLogger(apiName = "mes报废品入库", from = "MES")
    public AjaxResult productionScrapReceipt(@RequestBody List<ReceiptDetail> list) {
        // return mesApiAskConService.scrapProductsReceiptServer(list);
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return mesApiAskConService.scrapProductsReceiptServer(list);
            }
        });
    }

    @PostMapping("/forcedReceipt")
    @ApiOperation("强制入库")
    @ResponseBody
    @ApiLogger(apiName = "强制入库", from = "MES")
    public AjaxResult forcedReceipt(@RequestBody Cartons cartons) {
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return mesApiAskConService.forcedReceiptServer(cartons);
            }
        });
    }

    @PostMapping("/cartonsShipment")
    @ApiOperation("纸箱出库")
    @ResponseBody
    @ApiLogger(apiName = "纸箱出库", from = "MES")
    public AjaxResult cartonsShipment(@RequestBody List<ShipmentDetail> shipmentDetailList) {
        // return mesApiAskConService.cartonsShipmentService(shipmentDetailList);
        return handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                return mesApiAskConService.cartonsShipmentService(shipmentDetailList);
            }
        });
    }
}