From 34bfa7df61921f7d1798fc08db0b8d81828da96b Mon Sep 17 00:00:00 2001 From: hwh <332078369@qq.com> Date: 星期二, 02 七月 2024 08:07:57 +0800 Subject: [PATCH] 物料、部门、功能设定 --- Wms/WMS.BLL/SysServer/MaterialsServer.cs | 219 ++++++++++++++++-------------------------------------- 1 files changed, 65 insertions(+), 154 deletions(-) diff --git a/Wms/WMS.BLL/SysServer/MaterialsServer.cs b/Wms/WMS.BLL/SysServer/MaterialsServer.cs index 2e80823..6b0d9c7 100644 --- a/Wms/WMS.BLL/SysServer/MaterialsServer.cs +++ b/Wms/WMS.BLL/SysServer/MaterialsServer.cs @@ -9,6 +9,7 @@ using AutoMapper; using Model.ModelDto.SysDto; using SqlSugar; +using Utility; using WMS.DAL; using WMS.Entity.Context; using WMS.Entity.SysEntity; @@ -25,75 +26,20 @@ public IMaterialsRepository _mate { get; set; } private readonly IMapper _mapper; private static readonly SqlSugarScope Db = DataContext.Db; + private readonly UserManager _userManager; /// <summary> /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="mate">鐗╂枡缂栫爜</param> /// <param name="mapper">automapper</param> - public MaterialsServer(IMaterialsRepository mate, IMapper mapper) : base(Db) + public MaterialsServer(IMaterialsRepository mate, IMapper mapper, UserManager userManager) : base(Db) { _mate = mate; //鐗╂枡缂栫爜 _mapper = mapper; //automapper + _userManager = userManager; } #region wms - - //public List<MaterialsDto> GetMaterialsList(string skuNo, string skuName, string type, string isInspect, int page, int limit, out int count) - //{ - // try - // { - // Expression<Func<SysMaterials, bool>> item = Expressionable.Create<SysMaterials>() - // .AndIF(!string.IsNullOrWhiteSpace(skuNo), it => it.SkuNo.Contains(skuNo.Trim())) - // .AndIF(!string.IsNullOrWhiteSpace(skuName), it => it.SkuName.Contains(skuName.Trim())) - // .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type) - // .AndIF(!string.IsNullOrWhiteSpace(isInspect), it => it.IsInspect == isInspect) - // .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - - // var data = _mate.GetAllByOrderPageAsync(item, limit, page, out int counts) - // .Includes(x => x.TypeInfo) - // .Includes(x => x.EnvironmentInfo) - // .Includes(x => x.UnitInfo) - // .Includes(x => x.PackagInfo) - // .Includes(x => x.CreateUserInfo) - // .Includes(x => x.UpdateUserInfo) - // .ToList(); - // count = counts; - - // return data.Select(m => new MaterialsDto() - // { - // Id = m.Id, - // SkuNo = m.SkuNo, - // SkuName = m.SkuName, - // Standard = m.Standard, - // AuditStatusNo = m.AuditStatusNo, - // Type = m.Type, - // TypeName = m.TypeInfo == null ? "" : m.TypeInfo.DictName, - // IsControlled = m.IsControlled, - // IsInspect = m.IsInspect, - // Origin = m.Origin, - // UnitNo = m.UnitNo, - // UnitName = m.UnitInfo == null ? "" : m.UnitInfo.UnitName, - // PackagNo = m.PackagNo, - // PackagName = m.PackagInfo == null ? "" : m.PackagInfo.PackagName, - // Environment = m.Environment, - // EnvironmentName = m.EnvironmentInfo == null ? "" : m.EnvironmentInfo.DictName, - // Weight = m.Weight, - // Warranty = m.Warranty, - // Price = m.Price, - // Demo = m.Demo, - - // CreateUserName = m.CreateUserInfo == null ? "" : m.CreateUserInfo.UserName, - // UpdateUserName = m.UpdateUserInfo == null ? "" : m.UpdateUserInfo.UserName, - // CreateTime = m.CreateTime, - // UpdateTime = m.UpdateTime - // }).ToList(); - // } - // catch (Exception e) - // { - // throw new Exception(e.Message); - // } - //} - /// <summary> /// 鑾峰彇鐗╂枡淇℃伅鍒楄〃 @@ -107,10 +53,21 @@ /// <param name="environment">瀛樺偍鐜</param> /// <param name="categoryNo">绫诲埆缂栫爜</param> /// <returns></returns> - public List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo) + public Task<List<MaterialsDto>> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo) { - List<MaterialsDto> matedto = _mate.GetMateList(skuNo, skuName, auditStatusNo, type, isControlled, isInspect, environment, categoryNo); - return matedto; + return Db.Queryable<SysMaterials>() + .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id) + .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo)) + .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuNo.Contains(skuName)) + .WhereIF(!string.IsNullOrEmpty(auditStatusNo), a => a.AuditStatusNo == auditStatusNo) + .WhereIF(!string.IsNullOrEmpty(type), a => a.Type == type) + .WhereIF(!string.IsNullOrEmpty(isControlled), a => a.IsControlled == isControlled) + .WhereIF(!string.IsNullOrEmpty(isInspect), a => a.IsInspect == isInspect) + .WhereIF(!string.IsNullOrEmpty(environment), a => a.Environment == environment) + .WhereIF(!string.IsNullOrEmpty(categoryNo), a => a.CategoryNo == categoryNo) + .Where(a => a.IsDel == "0") + .Select<MaterialsDto>((a, b) => new MaterialsDto() { CreateUserName = b.RealName }, true) + .ToListAsync(); } /// <summary> @@ -118,10 +75,9 @@ /// </summary> /// <param name="id">鐗╂枡id</param> /// <returns></returns> - public SysMaterials GetMateById(int id) + public async Task<SysMaterials> GetMateById(int id) { - SysMaterials mate = _mate.GetMateById(id); - return mate; + return await Db.Queryable<SysMaterials>().FirstAsync(s => s.Id == id); } /// <summary> @@ -129,10 +85,9 @@ /// </summary> /// <param name="SkuNo">鐗╂枡缂栧彿</param> /// <returns></returns> - public int GetMateByNo(string SkuNo) + public async Task<int> GetMateByNo(string SkuNo) { - List<SysMaterials> mate = _mate.GetMateByNo(SkuNo); - return mate.Count; + return await Db.Queryable<SysMaterials>().CountAsync(s => s.SkuNo == SkuNo && s.IsDel == "0"); } /// <summary> @@ -143,42 +98,22 @@ /// <exception cref="Exception">鎹曡幏寮傚父</exception> public async Task<int> AddMate(MaterialsDto matedto) { - //鎹曡幏寮傚父 - try - { - int count = GetMateByNo(matedto.SkuNo); - - if (count > 0) - { - throw new Exception("绯荤粺涓凡瀛樺湪璇ョ墿鏂�"); - } - if (string.IsNullOrWhiteSpace(matedto.PackagNo)) - { - throw new Exception("鍖呰淇℃伅涓嶈兘涓虹┖"); - } - - - //鏄犲皠妯″瀷 - SysMaterials mate = _mapper.Map<SysMaterials>(matedto); - mate.AuditStatusNo = "9"; //瀹℃牳鐘舵�� - mate.Type = mate.Type; //绫诲瀷 - mate.IsControlled = string.IsNullOrWhiteSpace(mate.IsControlled) ? "0" : mate.IsControlled; //鏄惁鍙楁帶 - mate.IsInspect = string.IsNullOrWhiteSpace(mate.IsInspect) ? "0" : mate.IsInspect; //鏄惁鍏嶆 - mate.IsPasteCode = string.IsNullOrWhiteSpace(mate.IsPasteCode) ? "0" : mate.IsPasteCode; //鏄惁鍏嶆 - mate.Origin = "WMS"; //鏉ユ簮 - mate.IsDel = "0"; - mate.CreateTime = Db.GetDate(); - Db.BeginTran(); - Db.Insertable(mate).ExecuteCommand(); - Db.CommitTran(); - return 1; - } - catch (Exception ex) - { - Db.RollbackTran(); - //鎶涘嚭寮傚父 - throw new Exception(ex.Message); - } + if (string.IsNullOrWhiteSpace(matedto.PackagNo)) + throw Oops.Bah("鍖呰淇℃伅涓嶈兘涓虹┖"); + if (await GetMateByNo(matedto.SkuNo) > 0) + throw Oops.Bah("绯荤粺涓凡瀛樺湪璇ョ墿鏂�"); + //鏄犲皠妯″瀷 + SysMaterials mate = _mapper.Map<SysMaterials>(matedto); + mate.AuditStatusNo = "9"; //瀹℃牳鐘舵�� + mate.Type = mate.Type; //绫诲瀷 + mate.IsControlled = string.IsNullOrWhiteSpace(mate.IsControlled) ? "0" : mate.IsControlled; //鏄惁鍙楁帶 + mate.IsInspect = string.IsNullOrWhiteSpace(mate.IsInspect) ? "0" : mate.IsInspect; //鏄惁鍏嶆 + mate.IsPasteCode = string.IsNullOrWhiteSpace(mate.IsPasteCode) ? "0" : mate.IsPasteCode; //鏄惁鍏嶆 + mate.Origin = "WMS"; //鏉ユ簮 + mate.IsDel = "0"; + mate.CreateTime = DateTime.Now; + mate.CreateUser = _userManager.UserId; + return await Db.Insertable(mate).ExecuteCommandAsync(); } /// <summary> @@ -189,18 +124,12 @@ /// <exception cref="Exception">鎹曡幏寮傚父</exception> public async Task<int> DelMate(SysMaterials mate) { - //鎹曡幏寮傚父 - try - { - //鍒犻櫎 - int i = await _mate.DelMate(mate); - return i; - } - catch (Exception ex) - { - //鎶涘嚭寮傚父 - throw new Exception("鍒犻櫎鐗╂枡寮傚父", ex); - } + return await Db.Updateable<SysMaterials>() + .Where(s => s.Id == mate.Id) + .SetColumns(s => s.IsDel == "1") + .SetColumns(s => s.UpdateTime == DateTime.Now) + .SetColumns(s => s.UpdateUser == _userManager.UserId) + .ExecuteCommandAsync(); } /// <summary> @@ -211,43 +140,27 @@ /// <exception cref="Exception">鎹曡幏寮傚父</exception> public async Task<int> ExitMate(MaterialsDto matedto) { - //鎹曡幏寮傚父 - try + if (matedto.AdventTime > 365 && matedto.AdventTime < 30) { - if (matedto.AdventTime > 365 && matedto.AdventTime < 30) - { - return 2; - } - else if (string.IsNullOrWhiteSpace(matedto.PackagNo)) - { - throw new Exception("鍖呰涓嶈兘涓虹┖"); - } - //else if (matedto.LowInventory > 1000) - //{ - // return 4; - //} - else - { - //鏄犲皠妯″瀷 - SysMaterials mate = _mapper.Map<SysMaterials>(matedto); - //缂栬緫 - //鏍规嵁id鑾峰彇鐗╂枡淇℃伅 - var list = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.Id == mate.Id); - //mate.CategoryNo = list.CategoryNo; - mate.Origin = list.Origin; - mate.CreateUser = list.CreateUser; - mate.UpdateTime = Db.GetDate(); - mate.CreateTime = list.CreateTime; - - int i = Db.Updateable(mate).ExecuteCommand(); - return i; - } + throw Oops.Bah("涓存湡澶╂暟涓嶅彲澶т簬365鍙婂皬浜�30"); } - catch (Exception ex) + else if (string.IsNullOrWhiteSpace(matedto.PackagNo)) { - //鎶涘嚭寮傚父 - throw new Exception(ex.Message); + throw Oops.Bah("鍖呰涓嶈兘涓虹┖"); } + //鏄犲皠妯″瀷 + SysMaterials mate = _mapper.Map<SysMaterials>(matedto); + //缂栬緫 + //鏍规嵁id鑾峰彇鐗╂枡淇℃伅 + var modMaterial = await Db.Queryable<SysMaterials>().FirstAsync(a => a.IsDel == "0" && a.Id == mate.Id); + //mate.CategoryNo = list.CategoryNo; + mate.Origin = modMaterial.Origin; + mate.CreateUser = modMaterial.CreateUser; + mate.UpdateTime = DateTime.Now; + mate.UpdateUser = _userManager.UserId; + mate.CreateTime = modMaterial.CreateTime; + int i = Db.Updateable(mate).ExecuteCommand(); + return i; } #region 鍖呰 鍗曚綅 @@ -256,20 +169,18 @@ /// 鑾峰彇璁¢噺鍗曚綅淇℃伅鍒楄〃 /// </summary> /// <returns></returns> - public List<SysUnit> GetUnitList() + public async Task<List<SysUnit>> GetUnitList() { - List<SysUnit> unitlist = _mate.GetUnitList(); - return unitlist; + return await Db.Queryable<SysUnit>().Where(s => s.IsDel == "0").ToListAsync(); } /// <summary> /// 鑾峰彇鍖呰淇℃伅鍒楄〃 /// </summary> /// <returns></returns> - public List<SysPackag> GetPackagList() + public async Task<List<SysPackag>> GetPackagList() { - List<SysPackag> packlist = _mate.GetPackagList(); - return packlist; + return await Db.Queryable<SysPackag>().Where(s => s.IsDel == "0").ToListAsync(); } #endregion -- Gitblit v1.8.0