123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using WMS.BZModels.Dto.FJ.TaskDtos;
- using WMS.BZModels;
- using WMS.Info;
- using WMS.BZSqlSugar;
- using WMS.BZModels.Models.KLHC;
- using WMS.BZModels.Dto.KLHC.SysConDtos;
- namespace WMS.BZServices.KLHC
- {
- public class SysConService
- {
- private readonly Repository<klhcSysConfig> _sysconrepository;
- public SysConService(Repository<klhcSysConfig> sysconrepository)
- {
- _sysconrepository = sysconrepository;
- }
- public PagedInfo<SysConDto> GetPageList(Pagination pagination, SysConQueryDto sysconQueryDto)
- {
- var predicate = Expressionable.Create<klhcSysConfig>();
- predicate = predicate.AndIF(!string.IsNullOrEmpty(sysconQueryDto?.KeyWord), m => m.Code.Contains(sysconQueryDto.KeyWord) || m.Name.Contains(sysconQueryDto.KeyWord) || m.SContent.Contains(sysconQueryDto.KeyWord)
- || m.SType.Contains(sysconQueryDto.KeyWord));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(sysconQueryDto?.Code), m => m.Code.Contains(sysconQueryDto.Code));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(sysconQueryDto?.Name), m => m.Name.Contains(sysconQueryDto.Name));
- predicate = predicate.And(m => m.Default2 != "TunnelType" && m.Default2 != "PationType");
- var list = _sysconrepository.Queryable().Where(predicate.ToExpression())
- .ToPage<klhcSysConfig, SysConDto>(pagination);
- return list;
- }
- public PagedInfo<TunnelDto> GetTunnelList(Pagination pagination, TunnelQueryDto tunnelQueryDto)
- {
- var predicate = Expressionable.Create<klhcSysConfig>();
- predicate = predicate.AndIF(!string.IsNullOrEmpty(tunnelQueryDto?.KeyWord), m => m.Default1.Contains(tunnelQueryDto.KeyWord) || m.Default1.Contains(tunnelQueryDto.KeyWord));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(tunnelQueryDto?.Tunnel), m => m.Default1.Contains(tunnelQueryDto.Tunnel));
- predicate = predicate.And(m => m.Default2 == "TunnelType");
- var list = _sysconrepository.Queryable().Where(predicate.ToExpression())
- .Select(m => new TunnelDto()
- {
- Id = m.Id.ToString(),
- WareHouseName = "分拣库",
- Code = m.Code,
- Name = m.Name,
- Tunnel = m.Default1,
- Statu = string.IsNullOrEmpty(m.SContent) ? "0" : "1",
- StatuName = string.IsNullOrEmpty(m.SContent) ? "启用" : "禁用",
- SType = m.SType,
- Memo = m.Memo,
- AddTime = m.AddTime,
- EditTime = m.EditTime,
- }).MergeTable()
- .ToPage(pagination);
- return list;
- }
- public PagedInfo<OutInPationDto> GetOutInPationList(Pagination pagination, OutInPationQueryDto pationQueryDto)
- {
- var predicate = Expressionable.Create<klhcSysConfig>();
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pationQueryDto?.KeyWord), m => m.Code.Contains(pationQueryDto.KeyWord) || m.Default2.Contains(pationQueryDto.KeyWord)
- || m.Name.Contains(pationQueryDto.KeyWord));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(pationQueryDto?.Pation), m => m.Code.Contains(pationQueryDto.Pation));
- predicate = predicate.And(m => m.Default2 == "PationType");
- var list = _sysconrepository.Queryable().Where(predicate.ToExpression())
- .Select(m => new OutInPationDto()
- {
- Id = m.Id.ToString(),
- WareHouseName = "分拣库",
- Code = m.Code,
- Name = m.Name,
- Statu = string.IsNullOrEmpty(m.SContent) ? "0" : "1",
- StatuName = string.IsNullOrEmpty(m.SContent) ? "启用" : "禁用",
- SType = m.SType,
- Memo = m.Memo,
- AddTime = m.AddTime,
- EditTime = m.EditTime,
- }).MergeTable()
- .ToPage(pagination);
- return list;
- }
- public bool UpdatePationState(List<string> tunnels, string Scontent, string userId)
- {
- if (!tunnels.Any())
- {
- throw new ArgumentException("没有选择站台!");
- }
- var list = _sysconrepository.Queryable().Where(o => tunnels.Contains(o.Id.ToString())).ToList();
- if (!list.Any())
- {
- throw new ArgumentException("没有找到该站台!");
- }
- list.ForEach(o =>
- {
- o.SContent = Scontent;
- o.EditWho = userId;
- o.EditTime = DateTime.Now;
- });
- var result = _sysconrepository.UpdateRange(list.ToArray());
- return result;
- }
- public bool UpdateTunnelState(List<string> tunnels, string Scontent, string userId)
- {
- if (!tunnels.Any())
- {
- throw new ArgumentException("没有选择巷道!");
- }
- var list = _sysconrepository.Queryable().Where(o => tunnels.Contains(o.Id.ToString())).ToList();
- if (!list.Any())
- {
- throw new ArgumentException("没有找到该巷道!");
- }
- list.ForEach(o =>
- {
- o.SContent = Scontent;
- o.EditWho = userId;
- o.EditTime = DateTime.Now;
- });
- var result = _sysconrepository.UpdateRange(list.ToArray());
- return result;
- }
- public void Save(LoginUserInfo loginUser, string keyValue, klhcSysConfig entity)
- {
- try
- {
- if (string.IsNullOrWhiteSpace(entity.Code))
- {
- throw new ArgumentException("配置编码不能为空");
- }
- if (keyValue.IsEmpty() || keyValue == "undefined")
- {
- var mat = _sysconrepository.GetSingle(p => p.Code == entity.Code);
- if (mat != null)
- {
- throw new ArgumentException("编码已存在");
- }
- klhcSysConfig item = new klhcSysConfig()
- {
- AddWho = loginUser.UserNo,
- Code = entity.Code,
- EditWho = loginUser.UserNo,
- Name = entity.Name,
- SContent = entity.SContent,
- SType = entity.SType,
- Default1 = entity.Default1,
- Default2 = entity.Default2,
- Default3 = entity.Default3,
- Memo = entity.Memo
- };
- _sysconrepository.Insert(item);
- }
- else
- {
- entity.EditTime = DateTime.Now;
- entity.EditWho = loginUser.UserNo;
- _sysconrepository.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
- {
- _sysconrepository.Deleteable().Where(it => it.Code == ModuleNo).ExecuteCommand();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- }
- }
|