123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using WMS.BZModels;
- using WMS.Info;
- using WMS.BZSqlSugar;
- using wms.sqlsugar.model.sx;
- using WMS.BZModels.Dto.SX.BaseMatinfoDtos;
- using Mapster;
- namespace WMS.BZServices.SX
- {
- public class BaseMatinfoService
- {
- private readonly Repository<BaseMatinfo> _matinforepository;
-
- public BaseMatinfoService(Repository<BaseMatinfo> matinforepository)
- {
- _matinforepository = matinforepository;
-
- }
- public PagedInfo<BaseMatinfoDto> GetPageList(Pagination pagination, BaseMatinfoQueryDto basematinfoQueryDto)
- {
- var list = GetQueryable(basematinfoQueryDto)
- .ToPage<BaseMatinfo, BaseMatinfoDto>(pagination);
- return list;
- }
- private ISugarQueryable<BaseMatinfo> GetQueryable(BaseMatinfoQueryDto basematinfoQueryDto)
- {
- var predicate = Expressionable.Create<BaseMatinfo>();
- predicate = predicate.AndIF(!string.IsNullOrEmpty(basematinfoQueryDto?.KeyWord), m => m.Code.Contains(basematinfoQueryDto.KeyWord));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(basematinfoQueryDto?.Code), m => m.Code.Contains(basematinfoQueryDto.Code));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(basematinfoQueryDto?.Name), m => m.Name.Contains(basematinfoQueryDto.Name));
- predicate = predicate.AndIF(basematinfoQueryDto?.HoldDuration > 0, m => m.HoldDuration == basematinfoQueryDto.HoldDuration);
- predicate = predicate.AndIF(!string.IsNullOrEmpty(basematinfoQueryDto?.SpoolType), m => m.SpoolType.Contains(basematinfoQueryDto.SpoolType));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(basematinfoQueryDto?.ShortDesc), m => m.ShortDesc.Contains(basematinfoQueryDto.ShortDesc));
- var sugarQueryable = _matinforepository.Queryable().Where(predicate.ToExpression());
- return sugarQueryable;
- }
- public IList<BaseMatinfoDto> GetList(BaseMatinfoQueryDto baseMatinfoQueryDto)
- {
- var list = GetQueryable(baseMatinfoQueryDto).ToList().Adapt<List<BaseMatinfoDto>>();
- return list;
- }
-
- public void Save(LoginUserInfo loginUser, string keyValue, BaseMatinfo entity)
- {
- try
- {
- if (string.IsNullOrWhiteSpace(entity.Code))
- {
- throw new ArgumentException("物料编码不能为空");
- }
- if (keyValue.IsEmpty() || keyValue == "undefined")
- {
- var mat = _matinforepository.GetSingle(p => p.Code == entity.Code);
- if (mat != null)
- {
- throw new ArgumentException("物料编码已存在");
- }
- BaseMatinfo item = new BaseMatinfo()
- {
- WarehouseId = 1710853201663758336,
- AddWho = loginUser.UserNo,
- Code = entity.Code,
- EditWho = loginUser.UserNo,
- Name = entity.Name,
- ShortDesc = entity.ShortDesc,
- SpoolType = entity.SpoolType,
- SpoolCode = entity.SpoolCode,
- MatGrpId = 0,
- Description = entity.ShortDesc,
- Strength = entity.Strength,
- Plating = entity.Plating,
- PlatingWeight = entity.PlatingWeight,
- Linear = entity.Linear,
- IsHold = entity.IsHold,
- HoldDuration = entity.HoldDuration,
- Diameter = entity.Diameter
- };
- if (entity.SpoolCode == "BS60")
- {
- entity.SpoolType = "BS60工字轮";
- }
- else if (entity.SpoolCode == "BS40")
- {
- entity.SpoolType = "BS40工字轮";
- }
- else
- {
- entity.SpoolType = "BS80/33工字轮";
- }
- _matinforepository.Insert(item);
- }
- else
- {
- entity.WarehouseId = 1710853201663758336;
- entity.SpoolType = entity.SpoolType;
- entity.SpoolCode = entity.SpoolCode;
- entity.IsHold = entity.HoldDuration > 0 ? true : false;
- entity.HoldDuration = entity.HoldDuration;
- entity.Diameter = entity.Diameter;
- entity.Description = entity.ShortDesc;
- entity.EditTime = DateTime.Now;
- entity.EditWho = loginUser.UserNo;
- if (entity.SpoolCode == "BS60")
- {
- entity.SpoolType = "BS60工字轮";
- }
- else if (entity.SpoolCode == "BS40")
- {
- entity.SpoolType = "BS40工字轮";
- }
- else
- {
- entity.SpoolType = "BS80/33工字轮";
- }
- _matinforepository.AsUpdateable(entity).IgnoreColumns(it => it.AddTime).IgnoreColumns(it => it.AddWho).Where(it => it.Code == keyValue).ExecuteCommand();
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- public void Delete(string ModuleNo)
- {
- try
- {
- _matinforepository.Deleteable().Where(it => it.Code == ModuleNo).ExecuteCommand();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- }
- }
|