ErpController.java 3.74 KB
package com.huaheng.api.erp.controller;

import com.huaheng.api.erp.domain.ErpMaterialSync;
import com.huaheng.api.erp.domain.ErpMaterialSyncDomain;
import com.huaheng.api.erp.domain.ErpMiscReceiptSyncDomain;
import com.huaheng.api.erp.domain.ErpSalesReturnSyncDomain;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;


@Api(tags = "ERP接口")
@RestController
@RequestMapping("/api/erp/v2")
public class ErpController extends BaseController {

    @Resource
    private ErpService erpService;

    @PostMapping("/syncMaterial")
    @ApiOperation("ERP物料信息同步")
    @ResponseBody
    @ApiLogger(apiName = "ERP物料信息同步", from = "ERP")
    public AjaxResult materialSync(@RequestBody ErpMaterialSyncDomain erpMaterialSyncDomain) {
        if (erpMaterialSyncDomain == null) {
            return AjaxResult.error("物料同步信息为空");
        }
        List<ErpMaterialSync> masterDataList = erpMaterialSyncDomain.getMasterDataList();
        if (masterDataList == null || masterDataList.isEmpty()) {
            return AjaxResult.error("物料同步信息列表为空");
        }
        for (ErpMaterialSync erpMaterial : masterDataList) {
            if (erpMaterial.getSku() == null || erpMaterial.getSku().isEmpty()) {
                return AjaxResult.error("物料编码不能为空");
            }
        }
        return erpService.materialSync(masterDataList);
    }

    @PostMapping("/salesReturn/add")
    @ApiOperation("ERP销退单新增")
    @ResponseBody
    @ApiLogger(apiName = "ERP销退单新增", from = "ERP")
    public AjaxResult salesReturnAdd(@RequestBody ErpSalesReturnSyncDomain erpSalesReturnSyncDomain) {
        if (erpSalesReturnSyncDomain == null) {
            return AjaxResult.error("销退单信息为空");
        }
        if (erpSalesReturnSyncDomain.getOrderNo() == null || erpSalesReturnSyncDomain.getOrderNo().isEmpty()) {
            return AjaxResult.error("销退单任务号不能为空");
        }
        if (erpSalesReturnSyncDomain.getOrderType() == null || erpSalesReturnSyncDomain.getOrderType().isEmpty()) {
            return AjaxResult.error("销退单入库类型不能为空");
        }
        if (erpSalesReturnSyncDomain.getItems() == null || erpSalesReturnSyncDomain.getItems().isEmpty()) {
            return AjaxResult.error("销退单明细不能为空");
        }
        return erpService.salesReturnAdd(erpSalesReturnSyncDomain);
    }

    @PostMapping("/miscReceipt/add")
    @ApiOperation("ERP杂收单新增")
    @ResponseBody
    @ApiLogger(apiName = "ERP杂收单新增", from = "ERP")
    public AjaxResult miscReceiptAdd(@RequestBody ErpMiscReceiptSyncDomain erpMiscReceiptSyncDomain) {
        if (erpMiscReceiptSyncDomain == null) {
            return AjaxResult.error("杂收单信息为空");
        }
        if (erpMiscReceiptSyncDomain.getOrderNo() == null || erpMiscReceiptSyncDomain.getOrderNo().isEmpty()) {
            return AjaxResult.error("杂收单任务号不能为空");
        }
        if (erpMiscReceiptSyncDomain.getOrderType() == null || erpMiscReceiptSyncDomain.getOrderType().isEmpty()) {
            return AjaxResult.error("杂收单入库类型不能为空");
        }
        if (erpMiscReceiptSyncDomain.getItems() == null || erpMiscReceiptSyncDomain.getItems().isEmpty()) {
            return AjaxResult.error("杂收单明细不能为空");
        }
        return erpService.miscReceiptAdd(erpMiscReceiptSyncDomain);
    }
}