using Furion.DependencyInjection; using Furion.DynamicApiController; using Furion.FriendlyException; using Myshipping.Core.Entity; using Mapster; using Microsoft.AspNetCore.Mvc; using SqlSugar; using System.Linq; using System.Threading.Tasks; using System.Collections.Generic; using System; using Myshipping.Core.Service.CommonDB.Dto; using Microsoft.Extensions.Logging; using Myshipping.Core.Entity.CommonDB; namespace Myshipping.Core.Service; /// /// 公共库 /// [ApiDescriptionSettings(Name = "CommonDB", Order = 1000)] public class CommonDBService : ICommonDBService, IDynamicApiController, ITransient { #region private readonly SqlSugarRepository _codeCarrierRep; private readonly SqlSugarRepository _mappingCarrierRep; private readonly SqlSugarRepository _codeVesselRep; private readonly SqlSugarRepository _mappingVesselRep; private readonly SqlSugarRepository _codeForwarderRep; private readonly SqlSugarRepository _codeYardRep; private readonly SqlSugarRepository _mappingYardRep; private readonly SqlSugarRepository _codePortLoadrRep; private readonly SqlSugarRepository _codePortRep; private readonly SqlSugarRepository _codePackageRep; private readonly SqlSugarRepository _codeServiceRep; private readonly SqlSugarRepository _codeCtnRep; private readonly SqlSugarRepository _mappingCtnRep; private readonly SqlSugarRepository _codeFrtRep; private readonly SqlSugarRepository _mappingFrtRep; private readonly SqlSugarRepository _mappingPortLoadRep; private readonly SqlSugarRepository _mappingPortRep; private readonly SqlSugarRepository _mappingPackageRep; private readonly SqlSugarRepository _mappingServiceRep; private readonly ISysCacheService _sysCacheService; private readonly SqlSugarRepository _codeIssueTypeRep; private readonly SqlSugarRepository _mappingIssueTypeRep; private readonly SqlSugarRepository _commonModuleRep; private readonly ILogger _logger; private readonly SqlSugarRepository _codeLaneRep; private readonly SqlSugarRepository _relaPortCarrierLaneRep; private readonly SqlSugarRepository _codeCountryRep; private readonly SqlSugarRepository _mappingForwarder; public CommonDBService(SqlSugarRepository codeCarrierRep, SqlSugarRepository codeVesselRep, SqlSugarRepository codeForwarderRep, SqlSugarRepository codeYardRep, SqlSugarRepository codePortLoadrRep, SqlSugarRepository codePortRep, SqlSugarRepository codePackageRep, SqlSugarRepository codeServiceRep, SqlSugarRepository codeCtnRep, SqlSugarRepository codeFrtRep, SqlSugarRepository mappingCarrierRep, SqlSugarRepository mappingVesselRep, SqlSugarRepository mappingCtnRep, SqlSugarRepository mappingFrtRep, SqlSugarRepository mappingYardRep, SqlSugarRepository mappingPortLoadRep, SqlSugarRepository mappingPortRep, SqlSugarRepository mappingPackageRep, SqlSugarRepository mappingServiceRep, SqlSugarRepository codeIssueTypeRep, SqlSugarRepository commonModuleRep, ILogger logger, ISysCacheService sysCacheService, SqlSugarRepository codeLaneRep, SqlSugarRepository relaPortCarrierLaneRep, SqlSugarRepository mappingIssueTypeRep, SqlSugarRepository codeCountryRep, SqlSugarRepository mappingForwarder) { _codeCarrierRep = codeCarrierRep; _codeVesselRep = codeVesselRep; _codeForwarderRep = codeForwarderRep; _codeYardRep = codeYardRep; _codePortLoadrRep = codePortLoadrRep; _codePortRep = codePortRep; _codePackageRep = codePackageRep; _codeServiceRep = codeServiceRep; _codeCtnRep = codeCtnRep; _codeFrtRep = codeFrtRep; _mappingCarrierRep = mappingCarrierRep; _mappingVesselRep = mappingVesselRep; _mappingCtnRep = mappingCtnRep; _mappingFrtRep = mappingFrtRep; _mappingYardRep = mappingYardRep; _sysCacheService = sysCacheService; _mappingPortLoadRep = mappingPortLoadRep; _mappingPortRep = mappingPortRep; _mappingPackageRep = mappingPackageRep; _mappingServiceRep = mappingServiceRep; _codeIssueTypeRep = codeIssueTypeRep; _commonModuleRep = commonModuleRep; _logger = logger; _codeLaneRep = codeLaneRep; _relaPortCarrierLaneRep = relaPortCarrierLaneRep; _codeCountryRep = codeCountryRep; _mappingIssueTypeRep= mappingIssueTypeRep; _mappingForwarder = mappingForwarder; } #endregion #region 船公司 /// /// 获取船公司列表信息 /// [HttpGet("/commondb/carrierlist")] public async Task CarrierList([FromQuery] NameQueryDto input) { var list = await _sysCacheService.GetAllCodeCarrier(); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.CnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增船公司信息 /// [HttpPost("/commondb/addcarrier")] public async Task AddCarrier([FromBody] CodeCarrierDto dto) { var list = await _sysCacheService.GetAllCodeCarrier(); var count = list.Where(x => x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeCarrierRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codeCarrierRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllCarrier(); } /// /// 获取船公司映射列表信息 /// [HttpGet("/commondb/mappingcarrierlist")] public async Task MappingCarrierList([FromQuery] MappingQueryDto input) { var list = await _sysCacheService.GetAllMappingCarrier(); //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("请传入模块查询"); } var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑船公司映射信息 /// [HttpPost("/commondb/addorupdatemappingcarrier")] public async Task AddOrUpdateMappingCarrier([FromBody] MappingCarrierDto dto) { var list = await _sysCacheService.GetAllMappingCarrier(); var count = list.Where(x => x.Module == dto.Module && x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingCarrierRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingCarrierRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingCarrier(); } #endregion #region 船名 /// /// 获取船名列表信息 /// [HttpGet("/commondb/vessellist")] public async Task VesselList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodeVessel(); //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.KeyWord)) { return list.Take(10); } var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Name.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).Take(10).ToList(); } /// /// 新增船名信息 /// [HttpPost("/commondb/addvessel")] public async Task AddVessel([FromBody] CodeVesselDto dto) { var list = await _sysCacheService.GetAllCodeVessel(); var count = list.Where(x => x.Name.Trim() == dto.Name.Trim() && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeVesselRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codeVesselRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllVessel(); } /// /// 获取船名映射 /// [HttpGet("/commondb/mappingvessellist")] public async Task MappingVesselList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("请传入模块查询"); } List list = await _sysCacheService.GetAllMappingVessel(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.Name.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.YardCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑船名映射信息 /// [HttpPost("/commondb/addorupdatevessel")] public async Task AddOrUpdateMappingVessel([FromBody] MappingVesselDto dto) { var list = await _sysCacheService.GetAllMappingVessel(); var count = list.Where(x => x.Name == dto.Name.Trim() && x.Module == dto.Module && x.YardCode == dto.YardCode && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingVesselRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingVesselRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingVessel(); } #endregion #region 船代 /// /// 获取船代列表信息 /// [HttpGet("/commondb/forwarderlist")] public async Task ForwarderList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodeForwarder(); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Name.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增船代信息 /// [HttpPost("/commondb/addforwarder")] public async Task AddForwarder([FromBody] CodeForwarderDto dto) { var list = await _sysCacheService.GetAllCodeForwarder(); var count = list.Where(x => x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeForwarderRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codeForwarderRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllForwarder(); } /// /// 获取船代映射 /// [HttpGet("/commondb/mappingforwarderlist")] public async Task MappingForwarderList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("请传入模块查询"); } List list = await _sysCacheService.GetAllMappingForwarder(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑船代映射信息 /// [HttpPost("/commondb/addorupdateforwarderlist")] public async Task AddOrUpdateMappingForwarder([FromBody] MappingForwarderDto dto) { var list = await _sysCacheService.GetAllMappingForwarder(); var count = list.Where(x => x.Code == dto.Code && x.Module == dto.Module && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingForwarder.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingForwarder.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingForwarder(); } #endregion #region 场站 /// /// 获取场站列表信息 /// [HttpGet("/commondb/yardlist")] public async Task YardList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodeYard(); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Name.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.ShowCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增场站信息 /// [HttpPost("/commondb/addyard")] public async Task AddYard([FromBody] CodeYardDto dto) { var list = await _sysCacheService.GetAllCodeYard(); var count = list.Where(x => x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeYardRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codeYardRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllYard(); } /// /// 获取场站映射 /// [HttpGet("/commondb/mappingyardlist")] public async Task MappingYardList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("请传入模块查询"); } List list = await _sysCacheService.GetAllMappingYard(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑场站映射信息 /// [HttpPost("/commondb/addorupdatemappingyard")] public async Task AddOrUpdateMappingYard([FromBody] MappingYardDto dto) { var list = await _sysCacheService.GetAllMappingYard(); var count = list.Where(x => x.Code == dto.Code && x.Module == dto.Module && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingYardRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingYardRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingYard(); } #endregion #region 起始港 /// /// 获取起始港信息 /// [HttpGet("/commondb/portloadlist")] public async Task PortloadList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodePortLoad(); _logger.LogInformation("起始港1:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss.fff")); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.CnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EdiCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); _logger.LogInformation("起始港2:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss.fff")); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增起始港信息 /// [HttpPost("/commondb/addportload")] public async Task AddPortload([FromBody] CodePortLoadDto dto) { var list = await _sysCacheService.GetAllCodePortLoad(); var count = list.Where(x => x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codePortLoadrRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codePortLoadrRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllPortload(); } /// /// 获取起始港映射 /// [HttpGet("/commondb/mappingportloadlist")] public async Task PortloadList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("参数过多,请传入模块查询"); } List list = await _sysCacheService.GetAllMappingPortLoad(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑起始港映射信息 /// [HttpPost("/commondb/addorupdatemappingportload")] public async Task AddOrUpdatePortload([FromBody] MappingPortLoadDto dto) { var list = await _sysCacheService.GetAllMappingPortLoad(); var count = list.Where(x => x.Code == dto.Code && x.Module == dto.Module && x.CarrierCode == dto.CarrierCode && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingPortLoadRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingPortLoadRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingPortLoad(); } #endregion #region 目的港 /// /// 获取目的港信息 /// [HttpGet("/commondb/portlist")] public async Task PortList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodePort(); var listLineRela = await _sysCacheService.GetAllRelaPortCarrierLane(); var listLine = await _sysCacheService.GetAllCodeLane(); List result = null; if (string.IsNullOrWhiteSpace(input.KeyWord)) { result = list.Take(10).ToList(); } else { _logger.LogInformation("目的港1:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss.fff")); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.CnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EdiCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); _logger.LogInformation("目的港2:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss.fff")); if (queryList.Count() > 20) { result = queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } else { result = queryList.OrderBy(x => x.Sort).ToList(); } } result.ForEach(x => { var query = from line in listLine join lineRel in listLineRela on line.Code equals lineRel.LaneCode where lineRel.PortCode == x.Code select new { line, lineRel }; x.LineName = query.Select(x => new { x.line.CnName, x.lineRel.CarrierCode }).ToList(); }); return result; } /// /// 新增目的港信息 /// [HttpPost("/commondb/addport")] public async Task AddPort([FromBody] CodePortDto dto) { var list = await _sysCacheService.GetAllCodePort(); var count = list.Where(x => x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codePortRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codePortRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllPort(); } /// /// 获取目的港映射 /// [HttpGet("/commondb/mappingportlist")] public async Task PortList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("参数过多,请传入模块查询"); } List list = await _sysCacheService.GetAllMappingPort(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑目的港映射信息 /// [HttpPost("/commondb/addorupdatemappingport")] public async Task AddOrUpdatePort([FromBody] MappingPortDto dto) { var list = await _sysCacheService.GetAllMappingPort(); var count = list.Where(x => x.Code == dto.Code && x.Module == dto.Module && x.CarrierCode == dto.CarrierCode && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingPortRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingPortRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingPort(); } #endregion #region 包装 /// /// 获取包装信息 /// [HttpGet("/commondb/package")] public async Task PackageList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodePackage(); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Name.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EdiCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增包装信息 /// [HttpPost("/commondb/addpackage")] public async Task AddPackage([FromBody] CodePackageDto dto) { var list = await _sysCacheService.GetAllCodePackage(); var count = list.Where(x => x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codePackageRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codePackageRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllPackage(); } /// /// 获取包装映射 /// [HttpGet("/commondb/mappingpackage")] public async Task MappingPackageList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("请传入模块查询"); } List list = await _sysCacheService.GetAllMappingPackage(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑包装映射信息 /// [HttpPost("/commondb/addorupdatemappingpackage")] public async Task AddOrUpdateMappingPackage([FromBody] MappingPackageDto dto) { var list = await _sysCacheService.GetAllMappingPackage(); var count = list.Where(x => x.Code == dto.Code && x.Module == dto.Module && x.CarrierCode == dto.CarrierCode && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingPackageRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingPackageRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingPackage(); } #endregion #region 运输条款 /// /// 获取运输条款信息 /// [HttpGet("/commondb/service")] public async Task ServiceList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodeService(); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Name.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EdiCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增运输条款 /// [HttpPost("/commondb/addservice")] public async Task AddService([FromBody] CodeServiceDto dto) { var list = await _sysCacheService.GetAllCodeService(); var count = list.Where(x => x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeServiceRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codeServiceRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllService(); } /// /// 获取运输条款映射 /// [HttpGet("/commondb/mappingservice")] public async Task MappingServiceList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("参数过多,请传入模块查询"); } List list = await _sysCacheService.GetAllMappingService(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑运输条款映射信息 /// [HttpPost("/commondb/addorupdatemappingservice")] public async Task AddOrUpdateMappingService([FromBody] MappingServiceDto dto) { var list = await _sysCacheService.GetAllMappingService(); var count = list.Where(x => x.Code == dto.Code && x.Module == dto.Module && x.CarrierCode == dto.CarrierCode && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingServiceRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingServiceRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingService(); } #endregion #region 箱型 /// /// 获取箱型信息 /// [HttpGet("/commondb/ctn")] public async Task CtnList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodeCtn(); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Name.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EdiCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)).OrderByDescending(x => x.CreateTime); return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增箱型 /// [HttpPost("/commondb/addctn")] public async Task AddCtn([FromBody] CodeCtnDto dto) { var entity = dto.Adapt(); if (!string.IsNullOrWhiteSpace(entity.GID)) { var model = _codeCtnRep.AsQueryable().InSingle(entity.GID); if (model != null) { var checkModel = _codeCtnRep.AsQueryable().First(t => t.Code == entity.Code && t.GID != entity.GID); if (checkModel != null) throw Oops.Bah(ErrorCode.D1006); await _codeCtnRep.AsUpdateable(entity).IgnoreColumns(it => new { it.Code, it.CreateTime, it.CreateUser, }).ExecuteCommandAsync(); await GetAllCtn(); } } else { var model = _codeCtnRep.AsQueryable().First(t => t.Code == entity.Code); if (model != null) throw Oops.Bah(ErrorCode.D1006); entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeCtnRep.InsertAsync(entity); await GetAllCtn(); } } /// /// 获取箱型映射列表信息 /// [HttpGet("/commondb/mappingctnlist")] public async Task MappingCtnList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("参数过多,请传入模块查询"); } var list = await _sysCacheService.GetAllMappingCtn(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑箱型映射信息 /// [HttpPost("/commondb/addmappingctn")] public async Task AddOrUpdateMappingCtn([FromBody] MappingCtnDto dto) { var list = await _sysCacheService.GetAllMappingCtn(); var count = list.Where(x => x.Code == dto.Code && x.Module == dto.Module && x.CarrierCode == dto.CarrierCode && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingCtnRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingCtnRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingCtn(); } #endregion #region 付费方式 /// /// 付费方式 /// [HttpGet("/commondb/frt")] public async Task FrtList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodeFrt(); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.CnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增付费方式 /// [HttpPost("/commondb/addfrt")] public async Task AddFrt([FromBody] CodeFrtDto dto) { var list = await _sysCacheService.GetAllCodeFrt(); var count = list.Where(x => x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeFrtRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codeFrtRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllFrt(); } /// /// 获取付费映射列表信息 /// [HttpGet("/commondb/mappingfrtlist")] public async Task MappingFrtList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("参数过多,请传入模块查询"); } var list = await _sysCacheService.GetAllMappingFrt(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapCode.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑付费映射信息 /// [HttpPost("/commondb/addmappingfrt")] public async Task AddOrUpdateMappingFrt([FromBody] MappingFrtDto dto) { var list = await _sysCacheService.GetAllMappingFrt(); var count = list.Where(x => x.Code == dto.Code && x.Module == dto.Module && x.CarrierCode == dto.CarrierCode && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingFrtRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingFrtRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingFrt(); } #endregion #region 签单方式 /// /// 获取签单方式信息 /// [HttpGet("/commondb/codeissuetypelist")] public async Task CodeIssueTypeList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodeIssueType(); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.EnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.CnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增签单方式 /// [HttpPost("/commondb/addcodeissuetype")] public async Task AddCodeIssueType([FromBody] CodeIssueTypeDto dto) { var list = await _sysCacheService.GetAllCodeIssueType(); var count = list.Where(x => x.Code == dto.Code && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeIssueTypeRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _codeIssueTypeRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllCodeIssueType(); } /// /// 获取签单方式映射列表信息 /// [HttpGet("/commondb/mappingIssueTypelist")] public async Task MappingIssueTypeList([FromQuery] MappingQueryDto input) { //数量太多,不允许查询全部 if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) { throw Oops.Bah("参数过多,请传入模块查询"); } var list = await _sysCacheService.GetAllMappingIssueType(); var queryList = list.Where(x => x.Module == input.Module) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase) || x.MapName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)); if (queryList.Count() > 20) { return queryList.Take(input.Limit).OrderBy(x => x.Sort).ToList(); } return queryList.OrderBy(x => x.Sort).ToList(); } /// /// 新增编辑签单方式映射信息 /// [HttpPost("/commondb/addmappingIssueType")] public async Task AddOrUpdateMappingIssueType([FromBody] MappingIssueTypeDto dto) { var list = await _sysCacheService.GetAllMappingIssueType(); var count = list.Where(x => x.Code == dto.Code && x.Module == dto.Module && x.GID != dto.GID).Count(); if (count > 0) { throw Oops.Bah(ErrorCode.D1006); } var entity = dto.Adapt(); if (string.IsNullOrWhiteSpace(dto.GID)) { entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _mappingIssueTypeRep.InsertAsync(entity); } else { entity.CreateTime = list.Where(x => x.GID == dto.GID).Select(x => x.CreateTime).FirstOrDefault(); entity.CreateUser = list.Where(x => x.GID == dto.GID).Select(x => x.CreateUser).FirstOrDefault(); entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _mappingIssueTypeRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } await GetAllMappingIssueType(); } #endregion #region 模块列表 /// /// 获取模块信息 /// [HttpGet("/commondb/modules")] public async Task ModuleList([FromQuery] NameQueryDto input) { return await _commonModuleRep.AsQueryable().OrderBy(x => x.Sort).Select(x => new { x.Code, x.Name, x.Sort }).ToListAsync(); } #endregion #region 保存航线信息 /// /// 保存航线信息 /// /// 航线 /// [HttpPost("/commondb/savecodelane")] public async Task SaveCodeLane(CodeLaneDto dto) { /* 基础数据只接受新增代码,不能更新代码 */ var entity = dto.Adapt(); if (!string.IsNullOrWhiteSpace(entity.GID)) { var model = _codeLaneRep.AsQueryable().InSingle(entity.GID); if (model != null) { var checkModel = _codeLaneRep.AsQueryable().First(t => t.Code == entity.Code && t.GID != entity.GID); if (checkModel != null) throw Oops.Bah(ErrorCode.D1006); await _codeLaneRep.AsUpdateable(entity).IgnoreColumns(it => new { it.Code, it.CreateTime, it.CreateUser, }).ExecuteCommandAsync(); await GetAllLane(); } } else { var model = _codeLaneRep.AsQueryable().First(t => t.Code == entity.Code); if (model != null) throw Oops.Bah(ErrorCode.D1006); entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeLaneRep.InsertAsync(entity); await GetAllLane(); } } #endregion #region 查询航线信息 /// /// 查询航线信息 /// /// 查询条件 /// public async Task CodeLaneList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodeLane(); var queryList = list.WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => (!string.IsNullOrWhiteSpace(x.Code) && x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)) || (!string.IsNullOrWhiteSpace(x.EnName) && x.EnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)) || (!string.IsNullOrWhiteSpace(x.CnName) && x.CnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)) || (!string.IsNullOrWhiteSpace(x.LaneType) && x.LaneType.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)) ); return queryList.ToList(); } #endregion #region 保存航线与港口的的关系表 /// /// 保存航线与港口的的关系表 /// /// 航线与港口的的关系表 /// public async Task SaveRelaPortCarrierLaneDto(RelaPortCarrierLaneDto dto) { var entity = dto.Adapt(); if (!string.IsNullOrWhiteSpace(entity.GID)) { var model = _relaPortCarrierLaneRep.AsQueryable().InSingle(entity.GID); if (model != null) { entity.ModifyTime = DateTime.Now; entity.ModifyUser = UserManager.DjyUserId; await _relaPortCarrierLaneRep.AsUpdateable(entity).IgnoreColumns(it => new { it.CreateTime, it.CreateUser, }).ExecuteCommandAsync(); await GetAllRelaPortCarrierLane(); } } else { var model = _relaPortCarrierLaneRep.AsQueryable().Where(t => t.LaneCode == entity.LaneCode && t.Module == entity.Module && t.CarrierCode == entity.CarrierCode && t.PortCode == entity.PortCode).First(); if (model != null) throw Oops.Bah(ErrorCode.D1006); entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _relaPortCarrierLaneRep.InsertAsync(entity); await GetAllRelaPortCarrierLane(); } } #endregion #region 查询航线与港口的的关系表 /// /// 查询航线与港口的的关系表 /// /// 查询条件 /// public async Task RelaPortCarrierLaneDtoList([FromQuery] RelaPortCarrierLaneQueryDto input) { var list = await _sysCacheService.GetAllRelaPortCarrierLane(); //数量太多,不允许查询全部 //if (string.IsNullOrEmpty(input.Module) || input.Module.Length < 1) //{ // throw Oops.Bah("参数过多,请传入模块查询"); //} var queryList = list .WhereIF(!string.IsNullOrEmpty(input.Module), x => !string.IsNullOrWhiteSpace(x.Module) && x.Module.Equals(input.LaneCode, System.StringComparison.CurrentCultureIgnoreCase)) .WhereIF(!string.IsNullOrEmpty(input.LaneCode), x => !string.IsNullOrWhiteSpace(x.LaneCode) && x.LaneCode.Contains(input.LaneCode, System.StringComparison.CurrentCultureIgnoreCase)) .WhereIF(!string.IsNullOrEmpty(input.CarrierCode), x => !string.IsNullOrWhiteSpace(x.CarrierCode) && x.CarrierCode.Contains(input.CarrierCode, System.StringComparison.CurrentCultureIgnoreCase)) .WhereIF(!string.IsNullOrEmpty(input.PortCode), x => !string.IsNullOrWhiteSpace(x.PortCode) && x.PortCode.Contains(input.PortCode, System.StringComparison.CurrentCultureIgnoreCase)) .WhereIF(!string.IsNullOrEmpty(input.Module), x => !string.IsNullOrWhiteSpace(x.Module) && x.Module.Contains(input.Module, System.StringComparison.CurrentCultureIgnoreCase)); return queryList.ToList(); } #endregion #region 保存国家 /// /// 保存国家 /// /// 国家 /// [HttpPost("/commondb/savecodecountry")] public async Task SaveCodeCountry(CodeCountryDto dto) { /* 基础数据只接受新增代码,不能更新代码 */ var entity = dto.Adapt(); if (!string.IsNullOrWhiteSpace(entity.GID)) { var model = _codeCountryRep.AsQueryable().InSingle(entity.GID); if (model != null) { var checkModel = _codeCountryRep.AsQueryable().Where(t => t.Code == entity.Code && t.GID != entity.GID).First(); if (checkModel != null) throw Oops.Bah(ErrorCode.D1006); await _codeCountryRep.AsUpdateable(entity).IgnoreColumns(it => new { it.Code, it.CreateTime, it.CreateUser, }).ExecuteCommandAsync(); await GetAllCountry(); } } else { var model = _codeCountryRep.AsQueryable().Where(t => t.Code == entity.Code).First(); if (model != null) throw Oops.Bah(ErrorCode.D1006); entity.GID = Guid.NewGuid().ToString(); entity.CreateTime = DateTime.Now; entity.CreateUser = UserManager.DjyUserId; await _codeCountryRep.InsertAsync(entity); await GetAllCountry(); } } #endregion #region 查询国家 /// /// 查询国家 /// /// 查询条件 /// [HttpGet("/commondb/CodeCountryList")] public async Task CodeCountryList([FromQuery] NameQueryDto input) { List list = await _sysCacheService.GetAllCodeCountry(); var queryList = list .WhereIF(!string.IsNullOrEmpty(input.ENName),x=> x.EnName.Contains(input.ENName, System.StringComparison.CurrentCultureIgnoreCase)) .WhereIF(!string.IsNullOrEmpty(input.KeyWord), x => (!string.IsNullOrWhiteSpace(x.Code) && x.Code.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)) || (!string.IsNullOrWhiteSpace(x.EnName) && x.EnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)) || (!string.IsNullOrWhiteSpace(x.CnName) && x.CnName.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)) || (!string.IsNullOrWhiteSpace(x.Capital) && x.Capital.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)) || (!string.IsNullOrWhiteSpace(x.Continent) && x.Continent.Contains(input.KeyWord, System.StringComparison.CurrentCultureIgnoreCase)) ); return queryList.ToList(); } #endregion #region 实现接口,获取公共数据并缓存 [NonAction] public async Task GetAllCarrier(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_CARRIER)) { var list = await _codeCarrierRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodeCarrier(list); } } else { var list = await _codeCarrierRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodeCarrier(list); } } [NonAction] public async Task GetAllMappingCarrier(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_CARRIER)) { var list = await _mappingCarrierRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingCarrier(list); } } else { var list = await _mappingCarrierRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingCarrier(list); } } [NonAction] public async Task GetAllVessel(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_VESSEL)) { var list = await _codeVesselRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodeVessel(list); } } else { var list = await _codeVesselRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodeVessel(list); } } [NonAction] public async Task GetAllMappingVessel(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_VESSEL)) { var list = await _mappingVesselRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingVessel(list); } } else { var list = await _mappingVesselRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingVessel(list); } } [NonAction] public async Task GetAllMappingYard(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_YARD)) { var list = await _mappingYardRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingYard(list); } } else { var list = await _mappingYardRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingYard(list); } } [NonAction] public async Task GetAllForwarder(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_FORWARDER)) { var list = await _codeForwarderRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodeForwarder(list); } } else { var list = await _codeForwarderRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodeForwarder(list); } } [NonAction] public async Task GetAllYard(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_YARD)) { var list = await _codeYardRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodeYard(list); } } else { var list = await _codeYardRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodeYard(list); } } [NonAction] public async Task GetAllPortload(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_PORTLOAD)) { var list = await _codePortLoadrRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodePortLoad(list); } } else { var list = await _codePortLoadrRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodePortLoad(list); } } [NonAction] public async Task GetAllPort(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_PORT)) { var list = await _codePortRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodePort(list); } } else { var list = await _codePortRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodePort(list); } } [NonAction] public async Task GetAllPackage(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_PACKAGE)) { var list = await _codePackageRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodePackage(list); } } else { var list = await _codePackageRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodePackage(list); } } [NonAction] public async Task GetAllService(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_SERVICE)) { var list = await _codeServiceRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodeService(list); } } else { var list = await _codeServiceRep.AsQueryable().OrderBy(x => x.Name).ToListAsync(); await _sysCacheService.SetAllCodeService(list); } } [NonAction] public async Task GetAllCtn(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_CTN)) { var list = await _codeCtnRep.AsQueryable().OrderBy(x => x.Sort).ToListAsync(); await _sysCacheService.SetAllCodeCtn(list); } } else { var list = await _codeCtnRep.AsQueryable().OrderBy(x => x.Sort).ToListAsync(); await _sysCacheService.SetAllCodeCtn(list); } } /// /// 获取航线信息 /// /// /// [NonAction] public async Task GetAllLane(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_LANE)) { var list = await _codeLaneRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodeLane(list); } } else { var list = await _codeLaneRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodeLane(list); } } [NonAction] public async Task GetAllRelaPortCarrierLane(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_LANE_PORT)) { var list = await _relaPortCarrierLaneRep.ToListAsync(); await _sysCacheService.SetAllRelaPortCarrierLane(list); } } else { var list = await _relaPortCarrierLaneRep.ToListAsync(); await _sysCacheService.SetAllRelaPortCarrierLane(list); } } /// /// 获取国家 /// /// /// [NonAction] public async Task GetAllCountry(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_COUNTRY)) { var list = await _codeCountryRep.ToListAsync(); await _sysCacheService.SetAllCodeCountry(list); } } else { var list = await _codeCountryRep.ToListAsync(); await _sysCacheService.SetAllCodeCountry(list); } } [NonAction] public async Task GetAllMappingCtn(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_CTN)) { var list = await _mappingCtnRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingCtn(list); } } else { var list = await _mappingCtnRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingCtn(list); } } [NonAction] public async Task GetAllFrt(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_FRT)) { var list = await _codeFrtRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodeFrt(list); } } else { var list = await _codeFrtRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodeFrt(list); } } [NonAction] public async Task GetAllMappingFrt(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_FRT)) { var list = await _mappingFrtRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingFrt(list); } } else { var list = await _mappingFrtRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingFrt(list); } } [NonAction] public async Task GetAllMappingPortLoad(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_PORTLOAD)) { var list = await _mappingPortLoadRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingPortLoad(list); } } else { var list = await _mappingPortLoadRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingPortLoad(list); } } [NonAction] public async Task GetAllMappingPort(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_PORT)) { var list = await _mappingPortRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingPort(list); } } else { var list = await _mappingPortRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingPort(list); } } [NonAction] public async Task GetAllMappingPackage(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_PACKAGE)) { var list = await _mappingPackageRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingPackage(list); } } else { var list = await _mappingPackageRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingPackage(list); } } [NonAction] public async Task GetAllMappingService(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_SERVICE)) { var list = await _mappingServiceRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingService(list); } } else { var list = await _mappingServiceRep.AsQueryable().OrderBy(x => x.MapName).ToListAsync(); await _sysCacheService.SetAllMappingService(list); } } [NonAction] public async Task GetAllCodeIssueType(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_CODEISSUETYPE)) { var list = await _codeIssueTypeRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodeIssueType(list); } } else { var list = await _codeIssueTypeRep.AsQueryable().OrderBy(x => x.CnName).ToListAsync(); await _sysCacheService.SetAllCodeIssueType(list); } } [NonAction] public async Task GetAllMappingIssueType(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_ISSUETYPE)) { var list = await _mappingIssueTypeRep.AsQueryable().OrderBy(x => x.Sort).ToListAsync(); await _sysCacheService.SetAllMappingIssueType(list); } } else { var list = await _mappingIssueTypeRep.AsQueryable().OrderBy(x => x.Sort).ToListAsync(); await _sysCacheService.SetAllMappingIssueType(list); } } [NonAction] public async Task GetAllMappingForwarder(bool flag = false) { if (flag) { if (!_sysCacheService.Exists(CommonConst.CACHE_KEY_COMMON_DB_MAPPING_FORWARDER)) { var list = await _mappingForwarder.AsQueryable().OrderBy(x => x.MapCode).ToListAsync(); await _sysCacheService.SetAllMappingForwarder(list); } } else { var list = await _mappingForwarder.AsQueryable().OrderBy(x => x.MapCode).ToListAsync(); await _sysCacheService.SetAllMappingForwarder(list); } } #endregion }