新增BZFM物料管理相关后端接口与服务实现

本次提交为BZFM模块新增了物料管理相关的核心后端能力,包括库位、物料、物料分类、出入库记录、出入库类别等6张表的Controller、实体、DTO、Service及接口定义,实现了标准的增删改查接口,支持权限校验、AOP日志、分页查询等,完善了物料管理基础后端支撑。
This commit is contained in:
2025-12-25 12:02:03 +08:00
parent 8ef5202077
commit 4fa187e11d
30 changed files with 2057 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
namespace DOAN.Service.BZFM.IBZFMService
{
/// <summary>
/// 库位表service接口
/// </summary>
public interface IMmLocationService : IBaseService<MmLocation>
{
PagedInfo<MmLocationDto> GetList(MmLocationQueryDto parm);
MmLocation GetInfo(int Id);
MmLocation AddMmLocation(MmLocation parm);
int UpdateMmLocation(MmLocation parm);
}
}

View File

@@ -0,0 +1,21 @@
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
namespace DOAN.Service.BZFM.IBZFMService
{
/// <summary>
/// 物料分类表service接口
/// </summary>
public interface IMmMaterialCategoryService : IBaseService<MmMaterialCategory>
{
PagedInfo<MmMaterialCategoryDto> GetList(MmMaterialCategoryQueryDto parm);
MmMaterialCategory GetInfo(int Id);
MmMaterialCategory AddMmMaterialCategory(MmMaterialCategory parm);
int UpdateMmMaterialCategory(MmMaterialCategory parm);
}
}

View File

@@ -0,0 +1,21 @@
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
namespace DOAN.Service.BZFM.IBZFMService
{
/// <summary>
/// 物料表service接口
/// </summary>
public interface IMmMaterialService : IBaseService<MmMaterial>
{
PagedInfo<MmMaterialDto> GetList(MmMaterialQueryDto parm);
MmMaterial GetInfo(int Id);
MmMaterial AddMmMaterial(MmMaterial parm);
int UpdateMmMaterial(MmMaterial parm);
}
}

View File

@@ -0,0 +1,21 @@
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
namespace DOAN.Service.BZFM.IBZFMService
{
/// <summary>
/// 入库记录表service接口
/// </summary>
public interface IMmRecordInboundService : IBaseService<MmRecordInbound>
{
PagedInfo<MmRecordInboundDto> GetList(MmRecordInboundQueryDto parm);
MmRecordInbound GetInfo(int Id);
MmRecordInbound AddMmRecordInbound(MmRecordInbound parm);
int UpdateMmRecordInbound(MmRecordInbound parm);
}
}

View File

@@ -0,0 +1,21 @@
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
namespace DOAN.Service.BZFM.IBZFMService
{
/// <summary>
/// 出库记录表service接口
/// </summary>
public interface IMmRecordOutboundService : IBaseService<MmRecordOutbound>
{
PagedInfo<MmRecordOutboundDto> GetList(MmRecordOutboundQueryDto parm);
MmRecordOutbound GetInfo(int Id);
MmRecordOutbound AddMmRecordOutbound(MmRecordOutbound parm);
int UpdateMmRecordOutbound(MmRecordOutbound parm);
}
}

View File

@@ -0,0 +1,21 @@
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
namespace DOAN.Service.BZFM.IBZFMService
{
/// <summary>
/// 出入库类别对照表service接口
/// </summary>
public interface IMmTransactionTypeService : IBaseService<MmTransactionType>
{
PagedInfo<MmTransactionTypeDto> GetList(MmTransactionTypeQueryDto parm);
MmTransactionType GetInfo(int Id);
MmTransactionType AddMmTransactionType(MmTransactionType parm);
int UpdateMmTransactionType(MmTransactionType parm);
}
}

View File

@@ -0,0 +1,79 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
using DOAN.Repository;
using DOAN.Service.BZFM.IBZFMService;
namespace DOAN.Service.BZFM
{
/// <summary>
/// 库位表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IMmLocationService), ServiceLifetime = LifeTime.Transient)]
public class MmLocationService : BaseService<MmLocation>, IMmLocationService
{
/// <summary>
/// 查询库位表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<MmLocationDto> GetList(MmLocationQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<MmLocation, MmLocationDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public MmLocation GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加库位表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public MmLocation AddMmLocation(MmLocation model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改库位表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateMmLocation(MmLocation model)
{
return Update(model, true);
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<MmLocation> QueryExp(MmLocationQueryDto parm)
{
var predicate = Expressionable.Create<MmLocation>();
return predicate;
}
}
}

View File

@@ -0,0 +1,79 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
using DOAN.Repository;
using DOAN.Service.BZFM.IBZFMService;
namespace DOAN.Service.BZFM
{
/// <summary>
/// 物料分类表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IMmMaterialCategoryService), ServiceLifetime = LifeTime.Transient)]
public class MmMaterialCategoryService : BaseService<MmMaterialCategory>, IMmMaterialCategoryService
{
/// <summary>
/// 查询物料分类表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<MmMaterialCategoryDto> GetList(MmMaterialCategoryQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<MmMaterialCategory, MmMaterialCategoryDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public MmMaterialCategory GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加物料分类表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public MmMaterialCategory AddMmMaterialCategory(MmMaterialCategory model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改物料分类表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateMmMaterialCategory(MmMaterialCategory model)
{
return Update(model, true);
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<MmMaterialCategory> QueryExp(MmMaterialCategoryQueryDto parm)
{
var predicate = Expressionable.Create<MmMaterialCategory>();
return predicate;
}
}
}

View File

@@ -0,0 +1,79 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
using DOAN.Repository;
using DOAN.Service.BZFM.IBZFMService;
namespace DOAN.Service.BZFM
{
/// <summary>
/// 物料表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IMmMaterialService), ServiceLifetime = LifeTime.Transient)]
public class MmMaterialService : BaseService<MmMaterial>, IMmMaterialService
{
/// <summary>
/// 查询物料表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<MmMaterialDto> GetList(MmMaterialQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<MmMaterial, MmMaterialDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public MmMaterial GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加物料表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public MmMaterial AddMmMaterial(MmMaterial model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改物料表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateMmMaterial(MmMaterial model)
{
return Update(model, true);
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<MmMaterial> QueryExp(MmMaterialQueryDto parm)
{
var predicate = Expressionable.Create<MmMaterial>();
return predicate;
}
}
}

View File

@@ -0,0 +1,79 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
using DOAN.Repository;
using DOAN.Service.BZFM.IBZFMService;
namespace DOAN.Service.BZFM
{
/// <summary>
/// 入库记录表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IMmRecordInboundService), ServiceLifetime = LifeTime.Transient)]
public class MmRecordInboundService : BaseService<MmRecordInbound>, IMmRecordInboundService
{
/// <summary>
/// 查询入库记录表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<MmRecordInboundDto> GetList(MmRecordInboundQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<MmRecordInbound, MmRecordInboundDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public MmRecordInbound GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加入库记录表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public MmRecordInbound AddMmRecordInbound(MmRecordInbound model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改入库记录表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateMmRecordInbound(MmRecordInbound model)
{
return Update(model, true);
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<MmRecordInbound> QueryExp(MmRecordInboundQueryDto parm)
{
var predicate = Expressionable.Create<MmRecordInbound>();
return predicate;
}
}
}

View File

@@ -0,0 +1,79 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
using DOAN.Repository;
using DOAN.Service.BZFM.IBZFMService;
namespace DOAN.Service.BZFM
{
/// <summary>
/// 出库记录表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IMmRecordOutboundService), ServiceLifetime = LifeTime.Transient)]
public class MmRecordOutboundService : BaseService<MmRecordOutbound>, IMmRecordOutboundService
{
/// <summary>
/// 查询出库记录表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<MmRecordOutboundDto> GetList(MmRecordOutboundQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<MmRecordOutbound, MmRecordOutboundDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public MmRecordOutbound GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加出库记录表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public MmRecordOutbound AddMmRecordOutbound(MmRecordOutbound model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改出库记录表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateMmRecordOutbound(MmRecordOutbound model)
{
return Update(model, true);
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<MmRecordOutbound> QueryExp(MmRecordOutboundQueryDto parm)
{
var predicate = Expressionable.Create<MmRecordOutbound>();
return predicate;
}
}
}

View File

@@ -0,0 +1,79 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM;
using DOAN.Repository;
using DOAN.Service.BZFM.IBZFMService;
namespace DOAN.Service.BZFM
{
/// <summary>
/// 出入库类别对照表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IMmTransactionTypeService), ServiceLifetime = LifeTime.Transient)]
public class MmTransactionTypeService : BaseService<MmTransactionType>, IMmTransactionTypeService
{
/// <summary>
/// 查询出入库类别对照表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<MmTransactionTypeDto> GetList(MmTransactionTypeQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<MmTransactionType, MmTransactionTypeDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public MmTransactionType GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加出入库类别对照表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public MmTransactionType AddMmTransactionType(MmTransactionType model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改出入库类别对照表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateMmTransactionType(MmTransactionType model)
{
return Update(model, true);
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<MmTransactionType> QueryExp(MmTransactionTypeQueryDto parm)
{
var predicate = Expressionable.Create<MmTransactionType>();
return predicate;
}
}
}