BasicDataApiController.java 6.43 KB
package com.huaheng.api.general.controller;

import com.huaheng.api.general.domain.ContainerTypeDomain;
import com.huaheng.api.general.domain.InventoryQueryDomain;
import com.huaheng.api.general.service.BasicDataApiService;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.containerCapacity.domain.ContainerCapacity;
import com.huaheng.pc.config.customer.domain.Customer;
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.config.supplier.domain.Supplier;
import com.huaheng.pc.config.warehouse.domain.Warehouse;
import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
import com.huaheng.pc.system.dept.domain.Dept;
import com.huaheng.pc.system.dict.domain.DictData;
import com.huaheng.pc.system.user.domain.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/api/basicData")
@Api(tags = {"基础数据接口"}, value = "基础数据接口basicData")
public class BasicDataApiController extends BaseController {

    @Autowired
    private BasicDataApiService basicDataApiService;

    /**
     * 同步物料
     */
    @Log(title = "物料添加", action = BusinessType.INSERT)
    @PostMapping("/addMaterial")
    @ApiOperation("物料添加公共接口")
    @ApiLogger(apiName = "添加物料", from = "ERP")
    public AjaxResult addMaterialApi(@RequestBody List<Material> materialList) {
        return basicDataApiService.material(materialList);
    }


    @Log(title = "物料查询", action = BusinessType.INSERT)
    @PostMapping("/queryMaterial")
    @ApiOperation("物料查询公共接口")
    @ApiLogger(apiName = "查询物料", from = "ERP")
    public AjaxResult queryMaterialApi(@RequestBody Material material) {
        return basicDataApiService.queryMaterial(material);
    }

    @Log(title = "库存查询", action = BusinessType.INSERT)
    @PostMapping("/queryInventory")
    @ApiOperation("库存查询公共接口")
    @ApiLogger(apiName = "查询物料", from = "ERP")
    public AjaxResult QueryInventoryApi(@RequestBody InventoryQueryDomain inventoryQueryDomain) {
//        AjaxResult ajaxResult = basicDataApiService.queryMaterial(material);
        return null;
    }

    /**
     * 同步字典
     */
    @Log(title = "字典添加", action = BusinessType.INSERT)
    @PostMapping("/dictData")
    @ApiOperation("字典添加公共接口")
    @ApiLogger(apiName = "添加字典", from = "ERP")
    public AjaxResult dictApi(@RequestBody DictData dictData) {
        return basicDataApiService.dict(dictData);
    }


    /**
     * 同步仓库和货主
     */
    @Log(title = "仓库添加", action = BusinessType.INSERT)
    @PostMapping("/addWarehouse")
    @ApiOperation("仓库添加公共接口")
    @ApiLogger(apiName = "添加仓库", from = "ERP")
    public AjaxResult warehouseApi(@RequestBody Warehouse warehouse) {
        return basicDataApiService.warehouse(warehouse);
    }

    /**
     * 同步客户档案
     */
    @Log(title = "客户档案添加", action = BusinessType.INSERT)
    @PostMapping("/customer")
    @ApiOperation("客户档案添加公共接口")
    @ApiLogger(apiName = "添加客户", from = "ERP")
    public AjaxResult customerApi(@RequestBody Customer customer) {
        return basicDataApiService.customer(customer);
    }

    /**
     * 同步部门档案
     */
    @Log(title = "部门档案添加", action = BusinessType.INSERT)
    @PostMapping("/dept")
    @ApiOperation("部门档案添加公共接口")
    @ApiLogger(apiName = "添加部门", from = "ERP")
    public AjaxResult deptApi(@RequestBody Dept dept) {
        return basicDataApiService.dept(dept);
    }

    /**
     * 同步人员档案
     */
    @Log(title = "人员档案添加", action = BusinessType.INSERT)
    @PostMapping("/user")
    @ApiOperation("人员档案添加公共接口")
    @ApiLogger(apiName = "添加人员", from = "ERP")
    public AjaxResult userApi(@RequestBody User user) {
        return basicDataApiService.user(user);
    }


    @Log(title = "用户同步", action = BusinessType.INSERT)
    @PostMapping("/queryUserApi")
    @ApiOperation("用户查询公共接口")
    @ApiLogger(apiName = "查询用户", from = "ERP")
    public AjaxResult queryUserApi(@RequestBody User user) {
        return basicDataApiService.queryUser(user);
    }

    /**
     * 同步容器容量
     */
    @Log(title = "容器容量添加", action = BusinessType.INSERT)
    @PostMapping("/containerCapacity")
    @ApiOperation("容器容量添加公共接口")
    @ApiLogger(apiName = "添加容器容量", from = "ERP")
    public AjaxResult containerCapacityApi(@RequestBody ContainerCapacity containerCapacity) {
        return basicDataApiService.containerCapacity(containerCapacity);
    }

    /**
     * 同步容器类型
     */
    @Log(title = "同步容器类型", action = BusinessType.INSERT)
    @PostMapping("/containerType")
    @ApiOperation("同步容器类型")
    @ApiLogger(apiName = "同步容器类型", from = "ERP")
    public AjaxResult containerTypeApi(@RequestBody ContainerTypeDomain containerTypeDomain) {
        return basicDataApiService.containerType(containerTypeDomain);
    }

    /**
     * 同步供应商档案
     */
    @Log(title = "供应商档案添加", action = BusinessType.INSERT)
    @PostMapping("/supplier")
    @ApiOperation("供应商档案添加公共接口")
    @ApiLogger(apiName = "添加供应商", from = "ERP")
    public AjaxResult SupplierApi(@RequestBody Supplier supplier) {
        return basicDataApiService.supplier(supplier);
    }


    @Log(title = "库存同步", action = BusinessType.INSERT)
    @PostMapping("/queryInventoryApi")
    @ApiOperation("库存查询公共接口")
    @ApiLogger(apiName = "查询库存", from = "ERP")
    public AjaxResult queryInventoryApi(@RequestBody InventoryDetail inventoryDetail) {
        return basicDataApiService.queryInventoryApi(inventoryDetail);
    }
}