|
|
@ -129,7 +129,7 @@ namespace Myshipping.Application
|
|
|
|
private readonly IBookingGoodsStatusConfigService _GoodsConfig;
|
|
|
|
private readonly IBookingGoodsStatusConfigService _GoodsConfig;
|
|
|
|
private readonly SqlSugarRepository<BookingLineOpMgrConfig> _repLineOpMgrConfig;
|
|
|
|
private readonly SqlSugarRepository<BookingLineOpMgrConfig> _repLineOpMgrConfig;
|
|
|
|
private readonly SqlSugarRepository<SysEmp> _repSysEmp;
|
|
|
|
private readonly SqlSugarRepository<SysEmp> _repSysEmp;
|
|
|
|
private readonly SqlSugarRepository<Booking_AutoYardImport> _repAutoYard;
|
|
|
|
private readonly SqlSugarRepository<BookingAutoYardImport> _repAutoYard;
|
|
|
|
|
|
|
|
|
|
|
|
private readonly SqlSugarRepository<BookingExtendState> _repextendstate;
|
|
|
|
private readonly SqlSugarRepository<BookingExtendState> _repextendstate;
|
|
|
|
|
|
|
|
|
|
|
@ -156,7 +156,7 @@ namespace Myshipping.Application
|
|
|
|
SqlSugarRepository<BookingExcelTemplate> excelrep, SqlSugarRepository<DjyUserMailAccount> repUserMail, SqlSugarRepository<BookingGoodsStatus> goodsStatus, SqlSugarRepository<BookingGoodsStatusConfig> goodsStatusConfig,
|
|
|
|
SqlSugarRepository<BookingExcelTemplate> excelrep, SqlSugarRepository<DjyUserMailAccount> repUserMail, SqlSugarRepository<BookingGoodsStatus> goodsStatus, SqlSugarRepository<BookingGoodsStatusConfig> goodsStatusConfig,
|
|
|
|
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<Booking_AutoYardImport> repAutoYard,
|
|
|
|
ISysOrgService orgService, SqlSugarRepository<BookingLineOpMgrConfig> repLineOpMgrConfig, SqlSugarRepository<SysEmp> repSysEmp, SqlSugarRepository<BookingAutoYardImport> repAutoYard,
|
|
|
|
IServiceWorkFlowManageService serviceWorkFlowManageService)
|
|
|
|
IServiceWorkFlowManageService serviceWorkFlowManageService)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
this._logger = logger;
|
|
|
|
this._logger = logger;
|
|
|
@ -453,7 +453,7 @@ namespace Myshipping.Application
|
|
|
|
var itgoodsStatus = new List<ITGoodsStatusDto>();
|
|
|
|
var itgoodsStatus = new List<ITGoodsStatusDto>();
|
|
|
|
var itconfigs = new List<ITConfigsDto>();
|
|
|
|
var itconfigs = new List<ITConfigsDto>();
|
|
|
|
|
|
|
|
|
|
|
|
List <ServiceProjectStatusDto> statusList = new List<ServiceProjectStatusDto>();
|
|
|
|
List<ServiceProjectStatusDto> statusList = new List<ServiceProjectStatusDto>();
|
|
|
|
if (App.Configuration["ServiceStatusOpenAuto"] == "1")
|
|
|
|
if (App.Configuration["ServiceStatusOpenAuto"] == "1")
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QueryServiceProjectWithStatusBatch batchQuery = new QueryServiceProjectWithStatusBatch
|
|
|
|
QueryServiceProjectWithStatusBatch batchQuery = new QueryServiceProjectWithStatusBatch
|
|
|
@ -596,9 +596,9 @@ namespace Myshipping.Application
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var currStatusList = statusList.Where(a => long.Parse(a.BusiId) == item.Id).ToList();
|
|
|
|
var currStatusList = statusList.Where(a => long.Parse(a.BusiId) == item.Id).ToList();
|
|
|
|
|
|
|
|
|
|
|
|
if(currStatusList.Count > 0)
|
|
|
|
if (currStatusList.Count > 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(currStatusList.Any(a=>a.StatusSKUCode.Equals("YFVGM",StringComparison.OrdinalIgnoreCase) && a.IsYield))
|
|
|
|
if (currStatusList.Any(a => a.StatusSKUCode.Equals("YFVGM", StringComparison.OrdinalIgnoreCase) && a.IsYield))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
item.IsVGM = currStatusList.FirstOrDefault(a =>
|
|
|
|
item.IsVGM = currStatusList.FirstOrDefault(a =>
|
|
|
|
a.StatusSKUCode.Equals("YFVGM", StringComparison.OrdinalIgnoreCase) && a.IsYield).ActDate.Value;
|
|
|
|
a.StatusSKUCode.Equals("YFVGM", StringComparison.OrdinalIgnoreCase) && a.IsYield).ActDate.Value;
|
|
|
@ -616,15 +616,15 @@ namespace Myshipping.Application
|
|
|
|
|
|
|
|
|
|
|
|
item.GoodsStatusList = currStatusList.OrderBy(a => a.CalcSortNo)
|
|
|
|
item.GoodsStatusList = currStatusList.OrderBy(a => a.CalcSortNo)
|
|
|
|
.Select(a => new GoodsStatusList
|
|
|
|
.Select(a => new GoodsStatusList
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FinishTime = a.ActDate,
|
|
|
|
FinishTime = a.ActDate,
|
|
|
|
IsLast = a.IsEnd,
|
|
|
|
IsLast = a.IsEnd,
|
|
|
|
Sort = a.ActSortNo,
|
|
|
|
Sort = a.ActSortNo,
|
|
|
|
StatusName = a.ShowName,
|
|
|
|
StatusName = a.ShowName,
|
|
|
|
SystemCode = a.StatusSKUCode,
|
|
|
|
SystemCode = a.StatusSKUCode,
|
|
|
|
ExtData = !string.IsNullOrWhiteSpace(a.ActVal)? a.ActVal:string.Empty,
|
|
|
|
ExtData = !string.IsNullOrWhiteSpace(a.ActVal) ? a.ActVal : string.Empty,
|
|
|
|
Remark = !string.IsNullOrWhiteSpace(a.ActRemark)? a.ActRemark:string.Empty
|
|
|
|
Remark = !string.IsNullOrWhiteSpace(a.ActRemark) ? a.ActRemark : string.Empty
|
|
|
|
}).ToList();
|
|
|
|
}).ToList();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -906,9 +906,9 @@ namespace Myshipping.Application
|
|
|
|
|
|
|
|
|
|
|
|
var mlist = await _rep.AsQueryable().Filter(null, true).Where(x => x.Id == input.Id).FirstAsync();
|
|
|
|
var mlist = await _rep.AsQueryable().Filter(null, true).Where(x => x.Id == input.Id).FirstAsync();
|
|
|
|
var rightlist = await _right.GetDataScopeList(MenuConst.MenuBookingOrder, true);
|
|
|
|
var rightlist = await _right.GetDataScopeList(MenuConst.MenuBookingOrder, true);
|
|
|
|
_logger.LogInformation("保存权限范围:"+rightlist.ToJsonString());
|
|
|
|
_logger.LogInformation("保存权限范围:" + rightlist.ToJsonString());
|
|
|
|
//除现有配置权限外 操作和本人具有编辑权限
|
|
|
|
//除现有配置权限外 操作和本人具有编辑权限
|
|
|
|
if (rightlist!=null&&!(
|
|
|
|
if (rightlist != null && !(
|
|
|
|
mlist.OPID == UserManager.UserId.ToString() || mlist.OP == UserManager.Name.ToString() ||
|
|
|
|
mlist.OPID == UserManager.UserId.ToString() || mlist.OP == UserManager.Name.ToString() ||
|
|
|
|
mlist.DOCID == UserManager.UserId.ToString() || mlist.DOC == UserManager.Name.ToString() ||
|
|
|
|
mlist.DOCID == UserManager.UserId.ToString() || mlist.DOC == UserManager.Name.ToString() ||
|
|
|
|
mlist.CUSTSERVICEID == UserManager.UserId.ToString() || mlist.CUSTSERVICE == UserManager.Name.ToString() ||
|
|
|
|
mlist.CUSTSERVICEID == UserManager.UserId.ToString() || mlist.CUSTSERVICE == UserManager.Name.ToString() ||
|
|
|
@ -926,7 +926,7 @@ namespace Myshipping.Application
|
|
|
|
entity.VOYNO = entity.VOYNOINNER;
|
|
|
|
entity.VOYNO = entity.VOYNOINNER;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
entity.VERSION = Guid.NewGuid().ToString();
|
|
|
|
entity.VERSION = Guid.NewGuid().ToString();
|
|
|
|
|
|
|
|
//判断如果船名航次船公司变动 同步更新船期字段
|
|
|
|
if (entity.CARRIERID != mlist.CARRIERID || entity.VOYNO != mlist.VOYNO || entity.VESSEL != mlist.VESSEL)
|
|
|
|
if (entity.CARRIERID != mlist.CARRIERID || entity.VOYNO != mlist.VOYNO || entity.VESSEL != mlist.VESSEL)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var vess = await _vesselInfo.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false && x.TenantId == UserManager.TENANT_ID && x.CARRIERID == entity.CARRIERID &&
|
|
|
|
var vess = await _vesselInfo.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false && x.TenantId == UserManager.TENANT_ID && x.CARRIERID == entity.CARRIERID &&
|
|
|
@ -978,6 +978,7 @@ namespace Myshipping.Application
|
|
|
|
it.ATA
|
|
|
|
it.ATA
|
|
|
|
}).ExecuteCommandAsync();
|
|
|
|
}).ExecuteCommandAsync();
|
|
|
|
var ctnlist = await _repCtn.AsQueryable().Filter(null, true).Where(x => x.BILLID == input.Id && x.IsDeleted == false).Select(x => x.Id).ToListAsync();
|
|
|
|
var ctnlist = await _repCtn.AsQueryable().Filter(null, true).Where(x => x.BILLID == input.Id && x.IsDeleted == false).Select(x => x.Id).ToListAsync();
|
|
|
|
|
|
|
|
//删除箱信息 重新插入
|
|
|
|
await _repCtn.DeleteAsync(x => x.BILLID == input.Id);
|
|
|
|
await _repCtn.DeleteAsync(x => x.BILLID == input.Id);
|
|
|
|
await _ctndetailrep.DeleteAsync(x => ctnlist.Contains((long)x.CTNID));
|
|
|
|
await _ctndetailrep.DeleteAsync(x => ctnlist.Contains((long)x.CTNID));
|
|
|
|
if (input.ctnInputs != null)
|
|
|
|
if (input.ctnInputs != null)
|
|
|
@ -7928,12 +7929,15 @@ HLCUTA12307DPXJ3 以这票为例 6个柜
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
_logger.LogInformation($"{bookId}({order.MBLNO})的箱封号自动引入完成");
|
|
|
|
_logger.LogInformation($"{bookId}({order.MBLNO})的箱封号自动引入完成");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//写入提示
|
|
|
|
|
|
|
|
await SaveAutoYardData(bookId, true, $"已自动引入", ctns.ToJson(), rtn.ToJson());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//写入提示
|
|
|
|
|
|
|
|
await SaveAutoYardData(bookId, true, $"已自动引入", ctns.ToJson(), rtn.ToJson());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
//写入提示
|
|
|
|
|
|
|
|
await SaveAutoYardData(bookId, true, $"已自动引入", ctns.ToJson(), rtn.ToJson(), read: true);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -7942,17 +7946,23 @@ HLCUTA12307DPXJ3 以这票为例 6个柜
|
|
|
|
/// </summary>
|
|
|
|
/// </summary>
|
|
|
|
/// <returns></returns>
|
|
|
|
/// <returns></returns>
|
|
|
|
[NonAction]
|
|
|
|
[NonAction]
|
|
|
|
private async Task SaveAutoYardData(long bookId, bool success, string content, string ctnJson, string yardJson)
|
|
|
|
private async Task SaveAutoYardData(long bookId, bool success, string content, string ctnJson, string yardJson, bool read = false)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
await _repAutoYard.DeleteAsync(x => x.Id == bookId);
|
|
|
|
await _repAutoYard.DeleteAsync(x => x.Id == bookId);
|
|
|
|
|
|
|
|
|
|
|
|
//写入提示
|
|
|
|
//写入提示
|
|
|
|
var autoYard = new Booking_AutoYardImport();
|
|
|
|
var autoYard = new BookingAutoYardImport();
|
|
|
|
autoYard.Id = bookId;
|
|
|
|
autoYard.Id = bookId;
|
|
|
|
autoYard.Status = success ? "已导入" : "未导入";
|
|
|
|
autoYard.Status = success ? "已导入" : "未导入";
|
|
|
|
autoYard.Content = content;
|
|
|
|
autoYard.Content = content;
|
|
|
|
autoYard.CtnJson = ctnJson;
|
|
|
|
autoYard.CtnJson = ctnJson;
|
|
|
|
autoYard.YardJson = yardJson;
|
|
|
|
autoYard.YardJson = yardJson;
|
|
|
|
|
|
|
|
if (read) //未开启自动写入的用户,自动已读
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
autoYard.IsRead = true;
|
|
|
|
|
|
|
|
autoYard.ReadTime = DateTime.Now;
|
|
|
|
|
|
|
|
autoYard.ReadUser = "系统";
|
|
|
|
|
|
|
|
}
|
|
|
|
await _repAutoYard.InsertAsync(autoYard);
|
|
|
|
await _repAutoYard.InsertAsync(autoYard);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -9235,6 +9245,7 @@ HLCUTA12307DPXJ3 以这票为例 6个柜
|
|
|
|
extends.noApply = noApply;
|
|
|
|
extends.noApply = noApply;
|
|
|
|
extends.applyNoPrint = applyNoPrint;
|
|
|
|
extends.applyNoPrint = applyNoPrint;
|
|
|
|
extends.print = print;
|
|
|
|
extends.print = print;
|
|
|
|
|
|
|
|
extends.IsLockBooking = false;
|
|
|
|
await _repextendstate.InsertAsync(extends);
|
|
|
|
await _repextendstate.InsertAsync(extends);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|