using Model.ModelDto;
|
using Model.ModelDto.SysDto;
|
using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Linq.Expressions;
|
using System.Text;
|
using WMS.DAL;
|
using WMS.Entity.BllSoEntity;
|
using WMS.Entity.Context;
|
using WMS.Entity.SysEntity;
|
using WMS.IBLL.ISysServer;
|
|
namespace WMS.BLL.SysServer
|
{
|
/// <summary>
|
/// 物料类别管理方法
|
/// </summary>
|
public class MaterialCategory : DbHelper<SysMaterialCategory>, IMaterialCategory
|
{
|
|
private static readonly SqlSugarScope Db = DataContext.Db;
|
public MaterialCategory() : base(Db)
|
{
|
}
|
|
/// <summary>
|
/// 获取物料类别信息
|
/// </summary>
|
/// <param name="categoryName">类别名称</param>
|
/// <param name="areaNo">区域编码</param>
|
/// <returns></returns>
|
/// <exception cref="Exception"></exception>
|
public List<MaterialCategoryDto> GetMaterialCategories(string categoryName, string areaNo)
|
{
|
try
|
{
|
var list = Db.Queryable<MaterialCategoryDto>()
|
.WhereIF(!string.IsNullOrWhiteSpace(categoryName), a => a.CategoryName == categoryName)
|
.WhereIF(!string.IsNullOrWhiteSpace(areaNo), a => a.AreaNo == areaNo)
|
.Where(a => a.IsDel == "0").ToList();
|
|
return list;
|
}
|
catch (Exception ex)
|
{
|
throw new Exception(ex.Message);
|
}
|
}
|
|
/// <summary>
|
/// 新增类别信息
|
/// </summary>
|
/// <param name="category">物料类别实体</param>
|
/// <returns></returns>
|
/// <exception cref="Exception"></exception>
|
public string InsertMaterialCategories(SysMaterialCategory category)
|
{
|
try
|
{
|
string msg = "";
|
//获取类别信息
|
var categoryInfo = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == category.CategoryNo);
|
//获取区域信息
|
var area = Db.Queryable<SysStorageArea>().First(a => a.AreaNo == category.AreaNo && a.IsDel == "0");
|
|
if (categoryInfo != null)
|
{
|
msg = "当前类别信息已被创建,请重新填写信息!";
|
return msg;
|
}
|
if (area == null)
|
{
|
msg = "当前选择区域信息异常,请重新选择或联系管理员!";
|
return msg;
|
}
|
|
Db.BeginTran();
|
SysMaterialCategory list = new SysMaterialCategory()
|
{
|
CategoryNo = category.CategoryNo, //类别号
|
CategoryName = category.CategoryName, //类别名称
|
|
AreaNo = category.AreaNo, //区域编码
|
WareHouseNo = area.WareHouseNo, //所属仓库
|
Demo = category.Demo, //备注
|
|
IsDel = "0", //是否删除
|
CreateUser = category.CreateUser, //创建人
|
CreateTime = Db.GetDate(), //创建时间
|
};
|
|
Db.Insertable(list).ExecuteCommand();
|
|
|
Db.CommitTran();
|
|
msg = "新增类别信息成功!";
|
return msg;
|
|
|
}
|
catch (Exception ex)
|
{
|
Db.RollbackTran();
|
throw new Exception(ex.Message);
|
}
|
}
|
|
/// <summary>
|
/// 编辑类别信息
|
/// </summary>
|
/// <param name="category">物料类别实体</param>
|
/// <returns></returns>
|
/// <exception cref="Exception"></exception>
|
public string ExitMaterialCategories(SysMaterialCategory category)
|
{
|
try
|
{
|
string msg = "";
|
//获取类别信息
|
var categoryInfo = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == category.CategoryNo);
|
//获取区域信息
|
var area = Db.Queryable<SysStorageArea>().First(a => a.AreaNo == category.AreaNo && a.IsDel == "0");
|
|
if (categoryInfo != null)
|
{
|
msg = "当前类别信息已被创建,请重新填写信息!";
|
return msg;
|
}
|
|
if (area == null)
|
{
|
msg = "当前选择区域信息异常,请重新选择或联系管理员!";
|
return msg;
|
}
|
|
Db.BeginTran();
|
categoryInfo = new SysMaterialCategory()
|
{
|
CategoryNo = category.CategoryNo, //类别号
|
CategoryName = category.CategoryName, //类别名称
|
|
AreaNo = category.AreaNo, //区域编码
|
WareHouseNo = area.WareHouseNo, //所属仓库
|
Demo = category.Demo, //备注
|
|
IsDel = "0", //是否删除
|
UpdateUser = category.CreateUser, //更改人
|
UpdateTime = Db.GetDate(), //更改时间
|
};
|
|
Db.Updateable(categoryInfo).ExecuteCommand();
|
|
Db.CommitTran();
|
|
msg = "编辑类别信息成功!";
|
return msg;
|
|
|
}
|
catch (Exception ex)
|
{
|
Db.RollbackTran();
|
throw new Exception(ex.Message);
|
}
|
}
|
|
/// <summary>
|
/// 删除类别信息
|
/// </summary>
|
/// <param name="category">物料类别实体</param>
|
/// <returns></returns>
|
/// <exception cref="Exception"></exception>
|
public string DeleteMaterialCategories(SysMaterialCategory category)
|
{
|
try
|
{
|
string msg = "";
|
//获取类别信息
|
var categoryInfo = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == category.CategoryNo);
|
//获取区域信息
|
var area = Db.Queryable<SysStorageArea>().First(a => a.AreaNo == category.AreaNo && a.IsDel == "0");
|
|
|
if (categoryInfo != null)
|
{
|
msg = "当前类别信息已被删除,请重新选择!";
|
return msg;
|
}
|
if (area == null)
|
{
|
msg = "当前选择区域信息异常,请重新选择或联系管理员!";
|
return msg;
|
}
|
|
Db.BeginTran();
|
|
categoryInfo.IsDel = "1";
|
|
Db.Updateable(categoryInfo).ExecuteCommand();
|
|
Db.CommitTran();
|
|
msg = "删除类别信息成功!";
|
return msg;
|
|
|
}
|
catch (Exception ex)
|
{
|
Db.RollbackTran();
|
throw new Exception(ex.Message);
|
}
|
}
|
}
|
}
|