BasicDataApiService.java 3.81 KB
package com.huaheng.api.general.service;

import com.huaheng.api.general.domain.ContainerTypeDomain;
import com.huaheng.api.general.domain.InventoryQueryDomain;
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 org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface BasicDataApiService {

    // 检查仓库
    Warehouse checkWarehouse(String code);

    /**
     * 字典通用接口
     * 1、判断必填字段是否为空
     * 2、仓库是否正确
     * 3、检查字典头表,如果没有就添加
     * 4、增新一条字典明细表的记录
     *
     * @param dictData
     * @return
     */
    AjaxResult dict(DictData dictData);

    /**
     * 检查是否存在物料,如果存在就修改,不存在就新增
     * 1、判断必填字段是否为空
     * 2、检查仓库和货主
     * 3、查看此物料在系统是否存在
     *
     * @param materialList
     * @return
     */
    AjaxResult material(List<Material> materialList);


    AjaxResult material(Material material);

    /**
     * 1,物料同步
     * 2,条件查询
     *
     * @param material
     * @return
     */
    AjaxResult queryMaterial(Material material);

    /**
     * 人员档案通用接口
     * 1、判断必填字段是否为空
     * 2、判断系统中是否有该用户,如果有则更新,如果没有则新增
     * 新增: (1)、默认密码为123456
     * (2)默认为普通用户
     * (3)默认为长沙仓库
     *
     * @param user
     * @return
     */
    AjaxResult user(User user);

    /**
     * 1,用户同步
     * 2,条件查询
     *
     * @param user
     * @return
     */
    AjaxResult queryUser(User user);

    /**
     * 部门档案通用接口
     * 1、判断必填字段是否为空
     * 2、部门编码长度应是双数
     *
     * @param dept
     * @return
     */
    AjaxResult dept(Dept dept);

    /**
     * 客户档案通用接口
     * 1、判断必填字段是否为空
     * 2、检查仓库
     * 3、查看此客户在系统是否存在
     *
     * @param customer
     * @return
     */
    AjaxResult customer(Customer customer);

    /**
     * 仓库档案通用接口
     * 1、判断必填字段是否为空
     * 2、判断系统中是否有该仓库,若有则更新,若无则新增
     *
     * @param warehouse
     * @return
     */
    AjaxResult warehouse(Warehouse warehouse);

    /**
     * 供应商档案通用接口
     * 1、判断必填字段是否为空
     * 2、检查仓库
     * 3、查看此供应商在系统是否存在
     *
     * @param supplier
     * @return
     */
    AjaxResult supplier(Supplier supplier);

    /**
     * 容器容量通用接口
     * 1、判断必填字段是否为空
     * 2、检查仓库、物料和容器类型
     * 3、检查此容器容量是否存在,不存在则添加
     *
     * @param containerCapacity
     * @return
     */
    AjaxResult containerCapacity(ContainerCapacity containerCapacity);

    AjaxResult containerType(ContainerTypeDomain containerTypeDomain);

    /**
     * 1,库存同步
     * 2,条件查询
     *
     * @param inventoryDetail
     * @return
     */
    @Transactional
    AjaxResult queryInventoryApi(InventoryDetail inventoryDetail);

    AjaxResult queryInventory(InventoryQueryDomain queryDomain);
}