123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- using SqlSugar;
- using WMS.BZModels;
- using WMS.Info;
- using wms.sqlsugar.model.fj;
- using WMS.BZSqlSugar;
- using WMS.BZModels.Dto.FJ.BaseWareareaDtos;
- namespace WMS.BZServices.FJ
- {
- public class BaseWareAreaService
- {
- private readonly Repository<BaseWarearea> _wareArearepository;
- private readonly Repository<BaseWarehouse> _warehouseRepository;
- public BaseWareAreaService(Repository<BaseWarearea> wareArearepository, Repository<BaseWarehouse> warehouseRepository)
- {
- _wareArearepository = wareArearepository;
- _warehouseRepository = warehouseRepository;
- }
- public PagedInfo<BaseWareareaDto> GetPageList(Pagination pagination, BaseWareareaQueryDto wareAreaQueryDto)
- {
- if (pagination.sord.ToUpper() != "ASC")
- {
- pagination.sidx = pagination.sidx + " DESC";
- }
- if (pagination.sidx.IsEmpty())
- {
- pagination.sidx = "AddTime DESC";
- }
- var predicate = Expressionable.Create<BaseWarearea, BaseWarehouse>();
- predicate = predicate.AndIF(!string.IsNullOrEmpty(wareAreaQueryDto?.KeyWord), (warearea, warehouse) => warearea.Code.Contains(wareAreaQueryDto.KeyWord) || warearea.Name.Contains(wareAreaQueryDto.Name));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(wareAreaQueryDto?.Code), (warearea, warehouse) => warearea.Code.Contains(wareAreaQueryDto.Code));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(wareAreaQueryDto?.Name), (warearea, warehouse) => warearea.Name.Contains(wareAreaQueryDto.Name));
- var list = _wareArearepository.Context.Queryable<BaseWarearea, BaseWarehouse>((warearea, warehouse) => new object[] {
- JoinType.Left,warearea.WarehouseId == warehouse.Id })
- .Select((warearea, warehouse) => new BaseWareareaDto
- {
- Id = warearea.Id.ToString(),
- WarehouseId = warearea.WarehouseId.ToString(),
- WarehouseName = warehouse.Name,
- IsStop = warearea.IsStop,
- Code = warearea.Code,
- Name = warearea.Name,
- TypeNum = warearea.TypeNum,
- Memo = warearea.Memo,
- AddWho = warearea.AddWho,
- AddTime = warearea.AddTime,
- EditWho = warearea.EditWho,
- EditTime = warearea.EditTime
- }).MergeTable().ToPage(pagination);
- return list;
- }
- public IEnumerable<dynamic> GetSelectNameList()
- {
- var lists = _wareArearepository.Queryable().Where(o=>o.IsStop==0).ToList().Select(o => new { id = o.Id.ToString(), text = o.Name });
- return lists;
- }
- public void Save(LoginUserInfo loginUser, string keyValue, BaseWarearea entity)
- {
- try
- {
- if (string.IsNullOrWhiteSpace(entity.Code))
- {
- throw new ArgumentException("库区编码不能为空");
- }
- var warehouse = _warehouseRepository.Queryable().First(o => o.Id == entity.WarehouseId);
- if (warehouse == null)
- {
- throw new ArgumentException("不存在的仓库!");
- }
- if (keyValue.IsEmpty() || keyValue == "undefined")
- {
- var mat = _wareArearepository.GetSingle(p => p.Code == entity.Code);
- if (mat != null)
- {
- throw new ArgumentException("库区编码已存在");
- }
- BaseWarearea item = new BaseWarearea()
- {
- WarehouseId = warehouse.Id,
- AddWho = loginUser.UserNo,
- Code = entity.Code,
- EditWho = loginUser.UserNo,
- Name = entity.Name,
- IsStop = 0,
- TypeNum = 1
- };
- _wareArearepository.Insert(item);
- }
- else
- {
- entity.EditTime = DateTime.Now;
- entity.EditWho = loginUser.UserNo;
- _wareArearepository.AsUpdateable(entity).IgnoreColumns(it => it.AddTime).IgnoreColumns(it => it.AddWho).IgnoreColumns(it => it.WarehouseId).Where(it => it.Code == keyValue).ExecuteCommand();
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- public void Delete(string ModuleNo)
- {
- try
- {
- _wareArearepository.Deleteable().Where(it => it.Code == ModuleNo).ExecuteCommand();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- }
- }
|