修改订舱台账增加“货物状态”的个人配置判断,只有开启了此列显示才批量读取货物状态信息

optimize
jianghaiqing 1 year ago
parent c7b2ebed6e
commit 912b56900d

@ -134,7 +134,7 @@ namespace Myshipping.Application
private readonly SqlSugarRepository<BookingExtendState> _repextendstate; private readonly SqlSugarRepository<BookingExtendState> _repextendstate;
private readonly IServiceWorkFlowManageService _serviceWorkFlowManageService; private readonly IServiceWorkFlowManageService _serviceWorkFlowManageService;
private readonly IDjyUserConfigService _djyUserConfigService;
const string CONST_MAPPING_MODULE = "BOOK_OR_CLOSING"; const string CONST_MAPPING_MODULE = "BOOK_OR_CLOSING";
const string CONST_MAPPING_MODULE_ROUTE = "BOOK_OR_CLOSING_RT"; const string CONST_MAPPING_MODULE_ROUTE = "BOOK_OR_CLOSING_RT";
@ -157,7 +157,7 @@ namespace Myshipping.Application
SqlSugarRepository<SysTenant> repTenant, SqlSugarRepository<BookingStatus> repBookingStatus, SqlSugarRepository<BookingEDIExt> bookingEDIExt, SqlSugarRepository<BookingServiceItem> serviceItem, SqlSugarRepository<SysTenant> repTenant, SqlSugarRepository<BookingStatus> repBookingStatus, SqlSugarRepository<BookingEDIExt> bookingEDIExt, SqlSugarRepository<BookingServiceItem> serviceItem,
SqlSugarRepository<ParaContractNoInfo> paraContractNoInfoRepository, IHttpContextAccessor httpContextAccessor, IBookingGoodsStatusConfigService GoodsConfig, SqlSugarRepository<DjyWebsiteAccountConfig> djyWebsiteAccountConfigRepository, SqlSugarRepository<ParaContractNoInfo> paraContractNoInfoRepository, IHttpContextAccessor httpContextAccessor, IBookingGoodsStatusConfigService GoodsConfig, SqlSugarRepository<DjyWebsiteAccountConfig> djyWebsiteAccountConfigRepository,
ISysOrgService orgService, SqlSugarRepository<BookingLineOpMgrConfig> repLineOpMgrConfig, SqlSugarRepository<SysEmp> repSysEmp, SqlSugarRepository<BookingAutoYardImport> repAutoYard, ISysOrgService orgService, SqlSugarRepository<BookingLineOpMgrConfig> repLineOpMgrConfig, SqlSugarRepository<SysEmp> repSysEmp, SqlSugarRepository<BookingAutoYardImport> repAutoYard,
IServiceWorkFlowManageService serviceWorkFlowManageService) IServiceWorkFlowManageService serviceWorkFlowManageService, IDjyUserConfigService djyUserConfigService)
{ {
this._logger = logger; this._logger = logger;
this._rep = rep; this._rep = rep;
@ -203,6 +203,7 @@ namespace Myshipping.Application
this._repAutoYard = repAutoYard; this._repAutoYard = repAutoYard;
this._repextendstate = repextendstate; this._repextendstate = repextendstate;
_serviceWorkFlowManageService = serviceWorkFlowManageService; _serviceWorkFlowManageService = serviceWorkFlowManageService;
_djyUserConfigService = djyUserConfigService;
} }
#region 主表和箱信息 #region 主表和箱信息
@ -466,8 +467,23 @@ namespace Myshipping.Application
var itgoodsStatus = new List<ITGoodsStatusDto>(); var itgoodsStatus = new List<ITGoodsStatusDto>();
var itconfigs = new List<ITConfigsDto>(); var itconfigs = new List<ITConfigsDto>();
var pageColsCfg = _djyUserConfigService.Multi(new string[] { "booking_list_column" })
.GetAwaiter().GetResult().FirstOrDefault();
bool isUseGoodsStatus = true;
//这里因为个人配置的不是标准的格式化数据,所以这里只做了正则匹配
if (pageColsCfg != null && !string.IsNullOrWhiteSpace(pageColsCfg.ConfigJson))
{
isUseGoodsStatus = Regex.IsMatch(pageColsCfg.ConfigJson, "\\\"field\\\"\\s?\\:\\s?\\\"goodsStatusList\\\"");
_logger.LogInformation("取到个人配置里是否展示 goodsStatusList货物状态={rlt}", (isUseGoodsStatus ? "展示" : "隐藏"));
}
List<ServiceProjectStatusDto> statusList = new List<ServiceProjectStatusDto>(); List<ServiceProjectStatusDto> statusList = new List<ServiceProjectStatusDto>();
if (App.Configuration["ServiceStatusOpenAuto"] == "1") if (App.Configuration["ServiceStatusOpenAuto"] == "1")
{
if (isUseGoodsStatus)
{ {
QueryServiceProjectWithStatusBatch batchQuery = new QueryServiceProjectWithStatusBatch QueryServiceProjectWithStatusBatch batchQuery = new QueryServiceProjectWithStatusBatch
{ {
@ -483,6 +499,7 @@ namespace Myshipping.Application
statusList = JSON.Deserialize<List<ServiceProjectStatusDto>>(JSON.Serialize(queryRlt.ext)); statusList = JSON.Deserialize<List<ServiceProjectStatusDto>>(JSON.Serialize(queryRlt.ext));
} }
} }
}
else else
{ {
//货物状态 //货物状态
@ -608,6 +625,8 @@ namespace Myshipping.Application
#endregion #endregion
if (App.Configuration["ServiceStatusOpenAuto"] == "1") if (App.Configuration["ServiceStatusOpenAuto"] == "1")
{
if (isUseGoodsStatus)
{ {
var currStatusList = statusList.Where(a => long.Parse(a.BusiId) == item.Id).ToList(); var currStatusList = statusList.Where(a => long.Parse(a.BusiId) == item.Id).ToList();
@ -647,6 +666,11 @@ namespace Myshipping.Application
} }
} }
else else
{
item.GoodsStatusList = new List<GoodsStatusList>();
}
}
else
{ {
var itgoods = itgoodsStatus.Where(x => x.CreatedUserId == item.CreatedUserId && x.bookingid == item.Id).OrderBy(x => x.Sort). var itgoods = itgoodsStatus.Where(x => x.CreatedUserId == item.CreatedUserId && x.bookingid == item.Id).OrderBy(x => x.Sort).
Select(x => new GoodsStatusList Select(x => new GoodsStatusList

Loading…
Cancel
Save