From 004d92ca1012cfe3808131386ce0ef83127d28d6 Mon Sep 17 00:00:00 2001 From: me Date: Tue, 22 Jul 2025 17:40:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=89=93=E5=8D=B0=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MenBanReports/MenBanPackingListDto.cs | 2 +- .../MenBanReports/MenBanPackingRecDto.cs | 32 +- .../Interfaces/IBillM100AppService.cs | 8 +- .../WY.NewJit.Application.Contracts.xml | 42 +- .../MsgCheck/BillM100s/BillM100AppService.cs | 5561 ++++++++--------- .../WY.NewJit.Application.xml | 188 +- .../PaiGe/MenBanReports/MenBanPackingList.cs | 4 +- .../PaiGe/MenBanReports/MenBanPackingRec.cs | 27 +- .../MsgBaseData/Entitys/DicItem.cs | 8 +- .../20250721080257_2025072102.Designer.cs | 3578 +++++++++++ .../Migrations/20250721080257_2025072102.cs | 1793 ++++++ .../20250722083754_2025072201.Designer.cs | 3578 +++++++++++ .../Migrations/20250722083754_2025072201.cs | 83 + .../NewJitDbContextModelSnapshot.cs | 3576 +++++++++++ .../Messages/MsgTransmissionService.cs | 10 +- .../bin/Debug/Win.Sfs.Shared.2.0.0.nupkg | Bin 32771 -> 32774 bytes .../bin/Debug/netcoreapp5/Win.Sfs.Shared.dll | Bin 73728 -> 73728 bytes .../bin/Debug/netcoreapp5/Win.Sfs.Shared.pdb | Bin 48412 -> 48412 bytes .../obj/Debug/Win.Sfs.Shared.2.0.0.nuspec | 2 +- .../Win.Sfs.Shared.AssemblyInfo.cs | 2 +- .../Win.Sfs.Shared.AssemblyInfoInputs.cache | 2 +- .../obj/Debug/netcoreapp5/Win.Sfs.Shared.dll | Bin 73728 -> 73728 bytes .../obj/Debug/netcoreapp5/Win.Sfs.Shared.pdb | Bin 48412 -> 48412 bytes .../Debug/netcoreapp5/ref/Win.Sfs.Shared.dll | Bin 42496 -> 42496 bytes .../netcoreapp5/refint/Win.Sfs.Shared.dll | Bin 42496 -> 42496 bytes 25 files changed, 15365 insertions(+), 3131 deletions(-) create mode 100644 Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250721080257_2025072102.Designer.cs create mode 100644 Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250721080257_2025072102.cs create mode 100644 Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250722083754_2025072201.Designer.cs create mode 100644 Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250722083754_2025072201.cs create mode 100644 Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/NewJitDbContextModelSnapshot.cs diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingListDto.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingListDto.cs index 2237265..63362f8 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingListDto.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingListDto.cs @@ -30,7 +30,7 @@ namespace WY.NewJit.Extends /// /// 左或右 /// - public string BillLocation { get; set; } + public string VehicleModel { get; set; } /// diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingRecDto.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingRecDto.cs index 98deb0b..ba07fbc 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingRecDto.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingRecDto.cs @@ -15,6 +15,9 @@ namespace WY.NewJit.Extends /// public class MenBanPackingRecDto { + + public Guid M100BillId { get; set; } + /// /// 装箱单号(对应主表) /// @@ -39,49 +42,40 @@ namespace WY.NewJit.Extends /// /// 车型门板代码 门板代号:是零件关键件,从汇总excel中取 /// - public virtual string VehicleModel_DoorPlankCode { get; set; } + public virtual string PartCode1 { get; set; } - /// - /// 上箱位号 - /// - public virtual string TopBoxPositionNum { get; set; } /// /// 上箱位 SAP物料号 /// - public string TopSAPMaterialNum { get; set; } + public string PartCode2 { get; set; } /// /// 上箱位 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) /// - public string TopMaterialDescription { get; set; } - - - - /// - /// 下箱位号 - /// - //public virtual string BelowBoxPositionNum { get; set; } + public string PartCode3 { get; set; } /// /// 下箱位 SAP物料号 /// - public string BelowSAPMaterialNum { get; set; } + public string PartCode4 { get; set; } /// /// 下箱位 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) /// - public string BelowMaterialDescription { get; set; } + public string PartCode5 { get; set; } /// /// 用于报表排序 /// - public int sn { get; set; } + //public int sn { get; set; } - public Guid M100BillId { get; set; } + /// + /// 上箱位号 + /// + public virtual string SN { get; set; } - } diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/IBillM100AppService.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/IBillM100AppService.cs index a4b691f..87b7b74 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/IBillM100AppService.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/IBillM100AppService.cs @@ -81,21 +81,21 @@ namespace WY.NewJit.MsgCheck /// /// /// 断号时Item不为空 - Task> CheckZHBHostSNBreakNum(ZhuHuBanPrintInputDto input); + //Task> CheckZHBHostSNBreakNum(ZhuHuBanPrintInputDto input); /// /// 打印门板装箱单 /// /// /// 执行成功返回真 - Task> PrintMenBanPackingList(MenBanPrintInputDto input); + //Task> PrintMenBanPackingList(MenBanPrintInputDto input); /// /// 打印柱护板装箱单 /// /// /// 执行成功返回真 - Task> PrintZhuHuBanPackingList(ZhuHuBanPrintInputDto input); + //Task> PrintZhuHuBanPackingList(ZhuHuBanPrintInputDto input); #endregion @@ -107,7 +107,7 @@ namespace WY.NewJit.MsgCheck /// 生产线超时情况 Task> ProductLineTimeoutRemind(TimeOutRemindInputDto input); - Task> GetReplenishPrintListAsync(QueryBillM100Dto input); + //Task> GetReplenishPrintListAsync(QueryBillM100Dto input); diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml index 096cb7e..c18958b 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml @@ -19,7 +19,7 @@ - + 左或右 @@ -149,39 +149,34 @@ 大众顺序号 - + 车型门板代码 门板代号:是零件关键件,从汇总excel中取 - - - 上箱位号 - - - + 上箱位 SAP物料号 - + 上箱位 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - + 下箱位 SAP物料号 - + 下箱位 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - + - 用于报表排序 + 上箱位号 @@ -1929,27 +1924,6 @@ 断号时Item不为空 - - - 打印前检查柱护板大众顺序号是否断号 - - - 断号时Item不为空 - - - - 打印门板装箱单 - - - 执行成功返回真 - - - - 打印柱护板装箱单 - - - 执行成功返回真 - 生产线超时提醒 diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs index 6c8d86a..17c828c 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs @@ -131,6 +131,8 @@ namespace WY.NewJit.MsgCheck private readonly IRepository _tbBillHisRepository; private readonly IRepository _tsSortDetailHisRepository; + private readonly IRepository _dicItemRepository; + /// /// 错误信息前缀 /// @@ -182,7 +184,8 @@ namespace WY.NewJit.MsgCheck IRepository tbBillHisRepository, IRepository tsSortDetailHisRepository, IRepository printTemplateConfigurationRepository, - IRepository zHBPrintStatusRepository + IRepository zHBPrintStatusRepository, + IRepository dicItemRepository ) @@ -212,6 +215,7 @@ namespace WY.NewJit.MsgCheck _printTemplateConfigurationRepository = printTemplateConfigurationRepository; _zHBPrintStatusRepository = zHBPrintStatusRepository; _topBoxPositionNumPrefix = _configuration["ConfigDic:TopBoxPositionNumPrefix"]; + _dicItemRepository = dicItemRepository; } #endregion @@ -395,7 +399,11 @@ select * from } - + /// + /// 从M100中取当前产线、已经打印的最大大众顺序号 + /// + /// + /// private async Task GetMenBanLastPrintNum(MenBanPrintInputDto input) { string sql = @" select top(1) HostSN from FisBillM100 where ProductLine = '{0}' and BillStatus = 3 order by SerialNumStr desc"; @@ -403,25 +411,26 @@ select * from var lastNum = await _newJitDapperRepository.GetSingleBySqlAsync(sql); return lastNum; } - private async Task GetZhuHuBanLastPrintNum(ZhuHuBanPrintInputDto input) - { - string sql = @" with d as -( - select *from [dbo].[FisZHBPrintStatus] where groupName='{0}' -) -select top(1) HostSN from -( - select d.CreationTime as ptime, - b.* - from FisBillM100 b - join d on b.VIN=d.VIN - where 1=1 and ProductLine='{1}' and ( b.PrintBillNum is not null or d.BillStatus=1) -) t order by SerialNumStr desc "; - sql = string.Format(sql, input.GroupName,input.ProductLine); - var lastNum = await _newJitDapperRepository.GetSingleBySqlAsync(sql); - return lastNum; - } +// private async Task GetZhuHuBanLastPrintNum(ZhuHuBanPrintInputDto input) +// { +// string sql = @" with d as +//( +// select *from [dbo].[FisZHBPrintStatus] where groupName='{0}' +//) + +//select top(1) HostSN from +//( +// select d.CreationTime as ptime, +// b.* +// from FisBillM100 b +// join d on b.VIN=d.VIN +// where 1=1 and ProductLine='{1}' and ( b.PrintBillNum is not null or d.BillStatus=1) +//) t order by SerialNumStr desc "; +// sql = string.Format(sql, input.GroupName,input.ProductLine); +// var lastNum = await _newJitDapperRepository.GetSingleBySqlAsync(sql); +// return lastNum; +// } /// /// 根据筛选条件获取实体列表 @@ -601,24 +610,24 @@ select * from /// /// /// - private List GetErpAssemblyListByBill(Guid vehicleAssemblyId) - { - List retLst = new List(); - AssemblyCfgVehicle vobj = _assemblyCfgVehicleRepository.GetAsync(vehicleAssemblyId).GetAwaiter().GetResult(); //取单据对应的整车总成 - if (vobj != null && vobj.AssemblyCfgVehicleChilds != null && vobj.AssemblyCfgVehicleChilds.Count > 0) - { - List vehicleChildLst = vobj.AssemblyCfgVehicleChilds; - foreach (AssemblyCfgVehicleChild vehicleChildItm in vehicleChildLst) - { - AssemblyCfgErp erpObj = _assemblyCfgErpRepository.GetAsync(vehicleChildItm.ErpAssemblyId).GetAwaiter().GetResult(); - if (erpObj != null) - { - retLst.Add(erpObj); - } - } - } - return retLst; - } + //private List GetErpAssemblyListByBill(Guid vehicleAssemblyId) + //{ + // List retLst = new List(); + // AssemblyCfgVehicle vobj = _assemblyCfgVehicleRepository.GetAsync(vehicleAssemblyId).GetAwaiter().GetResult(); //取单据对应的整车总成 + // if (vobj != null && vobj.AssemblyCfgVehicleChilds != null && vobj.AssemblyCfgVehicleChilds.Count > 0) + // { + // List vehicleChildLst = vobj.AssemblyCfgVehicleChilds; + // foreach (AssemblyCfgVehicleChild vehicleChildItm in vehicleChildLst) + // { + // AssemblyCfgErp erpObj = _assemblyCfgErpRepository.GetAsync(vehicleChildItm.ErpAssemblyId).GetAwaiter().GetResult(); + // if (erpObj != null) + // { + // retLst.Add(erpObj); + // } + // } + // } + // return retLst; + //} #endregion @@ -664,8 +673,9 @@ select * from if ((input.EndHostSN % 10000) > 1999) //存在大众顺序号1999、0001的情况 { string firstSNStr = firstObj.SerialNumStr; - var tempLst = await _billM100Repository.Where(itm => - itm.ProductLine == input.ProductLine //指定生产线 + var tempLst = await _billM100Repository + .Include(itm => itm.BillM100Parts) + .Where(itm => itm.ProductLine == input.ProductLine //指定生产线 && itm.CanNotPrint != true //能打印 && itm.BillStatus != BillStatusEnum.Publish //不等于 已打印 && itm.SerialNumStr.CompareTo(firstSNStr) >= 0) @@ -683,8 +693,9 @@ select * from else //起止大众顺序号都小于等于1999 { string firstSNStr2 = firstObj.SerialNumStr; - billLst = await _billM100Repository.Where(itm => - itm.ProductLine == input.ProductLine //指定生产线 + billLst = await _billM100Repository + .Include(itm => itm.BillM100Parts) + .Where(itm => itm.ProductLine == input.ProductLine //指定生产线 && itm.CanNotPrint != true //能打印 && itm.BillStatus != BillStatusEnum.Publish //不等于 已打印 && itm.SerialNumStr.CompareTo(firstSNStr2) >= 0 @@ -864,186 +875,111 @@ select * from /// /// 加1后的序号 /// - private string GetBillNum(long newSN) - { - string newSNStr = newSN.ToString(); - //装箱单号规则 1开头,11位,自增顺序号 - if (newSNStr.Length < 11) - { - return "F" + newSNStr.PadLeft(10, '0'); - } - return newSNStr; - } + //private string GetBillNum(long newSN) + //{ + // string newSNStr = newSN.ToString(); + // //装箱单号规则 1开头,11位,自增顺序号 + // if (newSNStr.Length < 11) + // { + // return "F" + newSNStr.PadLeft(10, '0'); + // } + // return newSNStr; + //} /// /// 打印左侧或右侧门板 /// /// - /// + /// /// /// /// /// - /// + /// /// - private List DoMBPrint(MenBanPrintInputDto input, int pageIdx, ref double maxBillNum, double maxSN, DateTime printTime, List billLst, string rightOrLeft) + private MenBanPackingList DoMBPrint(MenBanPrintInputDto input, int pageIdx, double maxSN, List billLst, string reportSort, string[] partLargeType) { const int _colNumberPerPage = 12; - List retLst = new List(); //取当前页内容 List curPageLst = billLst.Skip(pageIdx * _colNumberPerPage).Take(_colNumberPerPage).ToList(); - //取车型 C8,Q5 - var vmLst = curPageLst.Select(itm => itm.VehicleModelCode).Distinct().ToList(); - string vmStr = ""; - foreach (var item in vmLst) - { - vmStr += item + ","; - } - if (vmStr.Length >0) - { - vmStr = vmStr.Substring(0, vmStr.Length - 1); - } - - //填充门板装箱单主实体 - MenBanPackingList mbObj = new MenBanPackingList(); - mbObj.SetId(GuidGenerator.Create()); - - long maxBillNum2 = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - mbObj.BillNum = GetBillNum(maxBillNum2); - mbObj.BillSerialNum = maxSN.ToString().PadLeft(2, '0'); + var vmLst = curPageLst.Select(itm => itm.VehicleModelCode).Distinct().JoinAsString(","); //取车型 + string ymd = ServerHelper.CurrentDateTime.ToString("yyyyMMdd"); + string serialNum = maxSN.ToString().PadLeft(3, '0'); //075 - mbObj.BillLocation = rightOrLeft; //右或左 - mbObj.ProviderCode = _providerCode; //供应商厂家代码 - mbObj.PartType = vmStr + " DP"; //零件类型 - mbObj.Capacity = curPageLst.Count(itm => itm.BillStatus == BillStatusEnum.Match || itm.BillStatus == BillStatusEnum.Publish).ToString(); //器具容量 - mbObj.PrintDate = printTime; //打印日期 - mbObj.PrintType = input.PrintType; - mbObj.ProductLine = input.ProductLine; + MenBanPackingList packingMain = new MenBanPackingList(); + packingMain.SetId(GuidGenerator.Create()); + packingMain.BillNum = $"C{ymd}{serialNum}{reportSort}"; + packingMain.VehicleModel = vmLst; + packingMain.BillSerialNum = serialNum; + packingMain.PrintDate = ServerHelper.CurrentDateTime; + packingMain.ProductLine = billLst[0].ProductLine; var tempLst = curPageLst.Where(itm => string.IsNullOrEmpty(itm.VIN) == false).OrderBy(itm => itm.OnlineTime).ThenBy(itm => itm.HostSN).ToList(); if (tempLst.Count > 0) { - mbObj.BeginVin = tempLst[0].VIN; - mbObj.EndVin = tempLst[tempLst.Count - 1].VIN; - mbObj.BeginHostSN = tempLst[0].HostSN.ToString(); - mbObj.EndHostSN = tempLst[tempLst.Count - 1].HostSN.ToString(); + packingMain.BeginVin = tempLst[0].VIN; + packingMain.EndVin = tempLst[tempLst.Count - 1].VIN; + packingMain.BeginHostSN = tempLst[0].HostSN.ToString(); + packingMain.EndHostSN = tempLst[tempLst.Count - 1].HostSN.ToString(); } - mbObj.MinOnlineTime = tempLst.Min(itm => itm.OnlineTime); //本单据最早的上线时间 - - int posNum = 0; - string promMsg; //报表数据异常提示信息 + packingMain.MinOnlineTime = tempLst.Min(itm => itm.OnlineTime); //本单据最早的上线时间 + //明细 + int sn = 1; foreach (BillM100 billObj in curPageLst) { - posNum++; - promMsg = ""; - //取物料信息 - MaterialExt leftObj = null; - MaterialExt rightObj = null; - if (billObj.AssemblyID != null) - { - //取单据包含的ERP总成列表 - List erpAssemblyLst = GetErpAssemblyListByBill((Guid)billObj.AssemblyID); - List erpCodeLst = erpAssemblyLst.Select(itm => itm.ErpAssemblyCode).ToList(); - //根据ERP总成编码取对应的物料扩展信息 - List materialExtLst = _materialExtRepository.Where(itm => erpCodeLst.Contains(itm.RelationKey)).ToList(); - if (erpCodeLst.Count != 4) - { - promMsg += $"*总成数量是{erpCodeLst.Count}*"; - } - if (erpCodeLst.Count == 4 && materialExtLst.Count == 0) - { - promMsg += $"*物料表没数据*"; - } - - //车型C8的第一二页分为左后, 右前,第三四页分为右后、左前;其它车型 第一二页分为左后、左前,第三四页分为右后、右前 - if (curPageLst[0].VehicleModelCode == "C8") - { - //C8 分为左前、右后 一组 右前、左后 一组,以前门为主,前门是右, 单子是右 - if (rightOrLeft == "右") - { - rightObj = materialExtLst.FirstOrDefault(itm => itm.MaterialDescription.Contains("右前")); - leftObj = materialExtLst.FirstOrDefault(itm => itm.MaterialDescription.Contains("左后")); - } - else //左 - { - rightObj = materialExtLst.FirstOrDefault(itm => itm.MaterialDescription.Contains("左前")); - leftObj = materialExtLst.FirstOrDefault(itm => itm.MaterialDescription.Contains("右后")); - } - } - else - { - leftObj = materialExtLst.FirstOrDefault(itm => itm.MaterialDescription.Contains(rightOrLeft + "后")); - rightObj = materialExtLst.FirstOrDefault(itm => itm.MaterialDescription.Contains(rightOrLeft + "前")); - } - } - - //填充门板装箱单明细 - MenBanPackingRec mbRec = new MenBanPackingRec(); - mbRec.SetId(GuidGenerator.Create()); - mbRec.M100BillId = billObj.Id; - mbRec.KNR = billObj.KNR; //KNR订单号 - mbRec.VIN = billObj.VIN; //底牌号 - mbRec.HostSN = billObj.HostSN.ToString(); //大众顺序号 - mbRec.TopBoxPositionNum = GetTopBoxPositionNumPrefix(billObj.KNR) + posNum.ToString().PadLeft(2, '0'); //上箱位号 - if (leftObj != null) //右后 + MenBanPackingRec packingDetail = new MenBanPackingRec(); + packingDetail.SetId(GuidGenerator.Create()); + packingDetail.M100BillId = billObj.Id; + packingDetail.KNR = billObj.KNR; + packingDetail.VIN = billObj.VIN; + packingDetail.HostSN = billObj.HostSN?.ToString(); + if (billObj.VIN == null) { - mbRec.VehicleModel_DoorPlankCode = leftObj.MaterialMemo; //车型门板代码 - mbRec.TopSAPMaterialNum = leftObj.MaterialNum; //上箱位 SAP物料号 - mbRec.TopMaterialDescription = leftObj.MaterialDescription2.IsNullOrEmpty() ? leftObj.MaterialDescription : leftObj.MaterialDescription2; //上箱位 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) + packingDetail.VIN += "*断号*"; } - else + //第一个零件 + if (partLargeType.Length >= 1) { - if (billObj.VIN == null) - { - mbRec.TopMaterialDescription += "*断号*"; - } - else if (billObj.AssemblyID == null) - { - mbRec.TopMaterialDescription += "*未知总成*"; - } - else + var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[0]); + if (partObj != null) { - mbRec.TopMaterialDescription += "*leftObj为空*"; + packingDetail.PartCode1 = partObj.PartCode; } } - - if (rightObj != null) //右前 - { - mbRec.BelowSAPMaterialNum = rightObj.MaterialNum; //下箱位 SAP物料号 - mbRec.BelowMaterialDescription = rightObj.MaterialDescription2.IsNullOrEmpty() ? rightObj.MaterialDescription : rightObj.MaterialDescription2; //下箱位 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - } - else + //第二个零件 + if (partLargeType.Length >= 2) { - if (billObj.VIN == null) - { - mbRec.TopMaterialDescription += "*断号*"; - } - else if (billObj.AssemblyID == null) - { - mbRec.BelowMaterialDescription += "*未知总成*"; - } - else + var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[1]); + if (partObj != null) { - mbRec.BelowMaterialDescription += "*rightObj为空*"; + packingDetail.PartCode2 = partObj.PartCode; } } - - if (string.IsNullOrEmpty(mbRec.KNR) == false && mbRec.KNR.Length == 10 && mbRec.KNR.Substring(4, 1) == "7" && string.IsNullOrEmpty(mbRec.VehicleModel_DoorPlankCode) == true) + //第三个零件 + if (partLargeType.Length >= 3) { - mbRec.VehicleModel_DoorPlankCode += "*预批量*"; + var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[2]); + if (partObj != null) + { + packingDetail.PartCode3 = partObj.PartCode; + } } - - if (!String.IsNullOrEmpty(promMsg)) + //第四个零件 + if (partLargeType.Length >= 4) { - mbRec.VehicleModel_DoorPlankCode += promMsg; + var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[3]); + if (partObj != null) + { + packingDetail.PartCode4 = partObj.PartCode; + } } - mbObj.Details.Add(mbRec); - } //foreach - - retLst.Add(mbObj); //有用 - return retLst; + packingDetail.SN = sn.ToString(); + packingMain.Details.Add(packingDetail); + sn++; + } + return packingMain; } /// @@ -1054,305 +990,306 @@ select * from /// /// /// - private string GetTopBoxPositionNumPrefix(string knr) - { - if (knr.IsNullOrEmpty() || knr.Length < 4) - { - return ""; - } - string knrPrefix = knr.Substring(0, 4); + //private string GetTopBoxPositionNumPrefix(string knr) + //{ + // if (knr.IsNullOrEmpty() || knr.Length < 4) + // { + // return ""; + // } + // string knrPrefix = knr.Substring(0, 4); - int res = string.Compare(knrPrefix, "2402"); - if (res >= 0) - { - return ""; - } - else - { - return _topBoxPositionNumPrefix ?? ""; - } + // int res = string.Compare(knrPrefix, "2402"); + // if (res >= 0) + // { + // return ""; + // } + // else + // { + // return _topBoxPositionNumPrefix ?? ""; + // } - } + //} /// /// 打印门板装箱单时调用库存系统接口 /// /// - private void CallWMSInterface_MB(List input) - { + //private void CallWMSInterface_MB(List input) + //{ - List targetMainLst = new List(); - List targetDetailLst = new List(); - List cxLst = new List(); - foreach (MenBanPackingList sourceObj in input) - { - TB_BILL targetMain = new TB_BILL(); - targetMain.BillNum = sourceObj.BillNum; //单据编号 - targetMain.State = 0; - targetMain.BillType = 206; //单据类型 - targetMain.SubBillType = 21004; //单据子类型 - targetMain.BillTime = sourceObj.PrintDate; //单据时间 - targetMain.OperName = sourceObj.CreatorId.ToString(); //操作员 - targetMain.DetailQty = 0; //明细数量 - targetMain.CustId = _providerCode; //供应商编号 - //targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 - //targetMain.DockCode = sourceObj.BillLocation; + // List targetMainLst = new List(); + // List targetDetailLst = new List(); + // List cxLst = new List(); + // foreach (MenBanPackingList sourceObj in input) + // { + // TB_BILL targetMain = new TB_BILL(); + // targetMain.BillNum = sourceObj.BillNum; //单据编号 + // targetMain.State = 0; + // targetMain.BillType = 206; //单据类型 + // targetMain.SubBillType = 21004; //单据子类型 + // targetMain.BillTime = sourceObj.PrintDate; //单据时间 + // targetMain.OperName = sourceObj.CreatorId.ToString(); //操作员 + // targetMain.DetailQty = 0; //明细数量 + // targetMain.CustId = _providerCode; //供应商编号 + // //targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 + // //targetMain.DockCode = sourceObj.BillLocation; + + // targetMain.GateCode = sourceObj.PartType; //B柱下 + // targetMain.GateName = sourceObj.BillSerialNum; //顺序号 + // targetMain.DockCode = sourceObj.VehicleModel; //左或右 + // targetMain.Remark = sourceObj.MinOnlineTime == null ? null : ((DateTime)sourceObj.MinOnlineTime).ToString("yyyy-MM-dd HH:mm"); //最早上线时间(预计到达时间) + // targetMain.TransportType = sourceObj.BillSerialNum; //顺序号 + // targetMain.SourceBillNum3 = sourceObj.ProductLine; //2022-10-13加生产线 + // targetMainLst.Add(targetMain); + // int idx = 0; + // int idx2 = 0; + // foreach (MenBanPackingRec sourceRec in sourceObj.Details) + // { + // idx2++; + // if (sourceRec.PartCode2.IsNullOrEmpty() == false) + // { + // var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.MaterialNum == sourceRec.PartCode2 && itm.MaterialType == "1"); + // idx++; + // TS_SORT_DETAIL targetDetail = new TS_SORT_DETAIL(); + // targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 + // targetDetail.LineNum = idx2; //行号 + // targetDetail.VinCode = sourceRec.VIN; //VIN码 + // targetDetail.SeqNum = idx2.ToString(); //顺序号sourceRec.HostSN.ToString() + // targetDetail.PartCode = sourceRec.PartCode2; //物料号 + // //targetDetail.BarCode = sourceRec.TopBoxPositionNum; //箱码 + // targetDetail.ProjectId = ""; //车型 + // targetDetail.PlanQty = 1; //计划数量 + // targetDetail.State = "0"; //状态 + // targetDetail.CustPartCode = materialObj == null ? null : materialObj.RelationKey; + // targetDetail.FullBarCode = null; + // targetDetail.VendId = sourceRec.KNR; + + // //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 + + // targetDetailLst.Add(targetDetail); + // if (materialObj != null && materialObj.VehicleModel != null) + // { + // cxLst.Add(materialObj.VehicleModel); + // } + // } + // if (sourceRec.PartCode4.IsNullOrEmpty() == false) + // { + // var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.MaterialNum == sourceRec.PartCode4 && itm.MaterialType == "1"); + + // idx++; + // TS_SORT_DETAIL targetDetail = new TS_SORT_DETAIL(); + // targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 + // targetDetail.VinCode = sourceRec.VIN; //VIN码 + // targetDetail.PartCode = sourceRec.PartCode4; //物料号 + // targetDetail.LineNum = (idx2 + 12); //行号 + // targetDetail.SeqNum = (idx2 + 12).ToString(); //顺序号sourceRec.HostSN.ToString() + // //targetDetail.BarCode = sourceRec.TopBoxPositionNum; //箱码 + // targetDetail.ProjectId = ""; //车型 + // targetDetail.State = "0"; //状态 + // targetDetail.PlanQty = 1; //计划数量 + // targetDetail.CustPartCode = materialObj == null ? null : materialObj.RelationKey; + // targetDetail.FullBarCode = null; + // targetDetail.VendId = sourceRec.KNR; + + // //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 + + // targetDetailLst.Add(targetDetail); + // if (materialObj != null && materialObj.VehicleModel != null) + // { + // cxLst.Add(materialObj.VehicleModel); + // } + // } + // } + // //生成车型 + // string cxStr = ""; + // foreach (string cxObj in cxLst.Distinct()) + // { + // cxStr += cxObj + "、"; + // } + // if (cxStr.Length > 0) + // { + // cxStr = cxStr.Substring(0, cxStr.Length - 1); + // } + // targetMain.ProjectId = cxStr; //添加车型 - targetMain.GateCode = sourceObj.PartType; //B柱下 - targetMain.GateName = sourceObj.BillSerialNum; //顺序号 - targetMain.DockCode = sourceObj.BillLocation; //左或右 - targetMain.Remark = sourceObj.MinOnlineTime == null ? null : ((DateTime)sourceObj.MinOnlineTime).ToString("yyyy-MM-dd HH:mm"); //最早上线时间(预计到达时间) - targetMain.TransportType = sourceObj.BillSerialNum; //顺序号 - targetMain.SourceBillNum3 = sourceObj.ProductLine; //2022-10-13加生产线 - targetMainLst.Add(targetMain); - int idx = 0; - int idx2 = 0; - foreach (MenBanPackingRec sourceRec in sourceObj.Details) - { - idx2++; - if (sourceRec.TopSAPMaterialNum.IsNullOrEmpty() == false) - { - var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.MaterialNum == sourceRec.TopSAPMaterialNum && itm.MaterialType == "1"); - idx++; - TS_SORT_DETAIL targetDetail = new TS_SORT_DETAIL(); - targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 - targetDetail.LineNum = idx2; //行号 - targetDetail.VinCode = sourceRec.VIN; //VIN码 - targetDetail.SeqNum = idx2.ToString(); //顺序号sourceRec.HostSN.ToString() - targetDetail.PartCode = sourceRec.TopSAPMaterialNum; //物料号 - //targetDetail.BarCode = sourceRec.TopBoxPositionNum; //箱码 - targetDetail.ProjectId = ""; //车型 - targetDetail.PlanQty = 1; //计划数量 - targetDetail.State = "0"; //状态 - targetDetail.CustPartCode = materialObj == null ? null : materialObj.RelationKey; - targetDetail.FullBarCode = null; - targetDetail.VendId = sourceRec.KNR; + // if (string.IsNullOrEmpty(cxStr)) + // { + // targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 + // } + + // } + // foreach (TB_BILL targetMain in targetMainLst) + // { + // //明细数量 + // targetMain.DetailQty = targetDetailLst.Where(p=>p.BillNum== targetMain.BillNum).Count(); + // int cnt = InsertOrUpdateWMSMain(targetMain); + // if (cnt == 0) + // { + // throw new Exception("插入或更新库存系统接口表记录数为零!"); + // } + // } + // foreach (TS_SORT_DETAIL targetDetail in targetDetailLst) + // { + // int cnt = InsertOrUpdateWMSDetail(targetDetail); + // if (cnt == 0) + // { + // throw new Exception("插入或更新库存系统接口表记录数为零!"); + // } + // } + + //} + //private int InsertOrUpdateWMSMain(TB_BILL targetMain) + //{ + // int ret = 0; + // string sqlSelMain = string.Format("select * from TB_BILL where BillNum = '{0}'", targetMain.BillNum); + // TB_BILL wmsMain = _wmsDapperRepository.GetSingleBySql(sqlSelMain, true); + // if (wmsMain == null) + // { + // string sqlInsertMain = @" + // insert into TB_BILL (BillNum, [State], BillType, SubBillType, BillTime, OperName, DetailQty, CustId, ProjectId, DockCode, GateCode, GateName, Remark) + // values ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}')"; + // sqlInsertMain = string.Format(sqlInsertMain, + // targetMain.BillNum, targetMain.State, targetMain.BillType, targetMain.SubBillType, targetMain.BillTime, + // targetMain.OperName, targetMain.DetailQty, targetMain.CustId, targetMain.ProjectId, targetMain.DockCode, targetMain.GateCode, targetMain.GateName, targetMain.Remark); + // try + // { + // ret = _wmsDapperRepository.ExecuteSql(sqlInsertMain, null, true); + // } + // catch (Exception ex) + // { + // throw new Exception("调用InsertOrUpdateWMSMain方法时报错:" + ex.Message + "SQL:" + sqlInsertMain + "单据号:" + targetMain.BillNum); + // } + // } + // else + // { + // if (wmsMain.State != 0) + // { + // throw new Exception("库存系统接口主表中已经存在该单据,并且已经排序,不能重新打印,单据号" + wmsMain.BillNum); + // } + // string sqlUpdateMain = @" + // update TB_BILL set + // [State] = '{1}', + // BillType = '{2}', + // SubBillType = '{3}', + // BillTime = '{4}', + // OperName = '{5}', + // DetailQty = '{6}', + // CustId = '{7}', + // ProjectId = '{8}', + // DockCode = '{9}', + // GateCode = '{10}', + // GateName = '{11}', + // Remark = '{12}' + // where BillNum = '{0}' + // "; + // sqlUpdateMain = string.Format(sqlUpdateMain, + // targetMain.BillNum, targetMain.State, targetMain.BillType, targetMain.SubBillType, targetMain.BillTime, + // targetMain.OperName, targetMain.DetailQty, targetMain.CustId, targetMain.ProjectId, targetMain.DockCode, targetMain.GateCode, targetMain.GateName, targetMain.Remark); + // try + // { + // ret = _wmsDapperRepository.ExecuteSql(sqlUpdateMain, null, true); + // } + // catch (Exception ex) + // { + // throw new Exception("调用InsertOrUpdateWMSMain方法时报错:" + ex.Message + "SQL:" + sqlUpdateMain + "单据号:" + targetMain.BillNum); + // } - //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 + // } + // return ret; + //} + + //private int InsertOrUpdateWMSDetail(TS_SORT_DETAIL targetDetail) + //{ + // int ret = 0; + // string sqlSelDetail = string.Format("select * from TS_SORT_DETAIL where BillNum = '{0}' and VinCode = '{1}' and PartCode = '{2}'", targetDetail.BillNum, targetDetail.VinCode, targetDetail.PartCode); + // TS_SORT_DETAIL wmsDetail = _wmsDapperRepository.GetSingleBySql(sqlSelDetail, true); + // if (wmsDetail == null) + // { + // string sqlInsertDetail = @" + // insert into TS_SORT_DETAIL ( + // BillNum, VinCode, PartCode, LineNum, SeqNum, + // ProjectId, [State], BarCode, PlanQty, CustPartCode, + // FullBarCode, VendId) + // values ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}')"; + // sqlInsertDetail = string.Format(sqlInsertDetail, + // targetDetail.BillNum, targetDetail.VinCode, targetDetail.PartCode, targetDetail.LineNum, targetDetail.SeqNum, + // targetDetail.ProjectId, targetDetail.State, targetDetail.BarCode, targetDetail.PlanQty, targetDetail.CustPartCode, + // targetDetail.FullBarCode, targetDetail.VendId); + // try + // { + // ret = _wmsDapperRepository.ExecuteSql(sqlInsertDetail, null, true); + // } + // catch (Exception ex) + // { + // throw new Exception("调用InsertOrUpdateWMSDetail方法时报错:" + ex.Message + "SQL:" + sqlInsertDetail); + // } + // } + // else + // { + // string sqlUpdateDetail = @" + // update TS_SORT_DETAIL set + // LineNum = '{3}', + // SeqNum = '{4}', + // ProjectId = '{5}', + // [State] = '{6}', + // BarCode = '{7}', + // PlanQty = '{8}', + // CustPartCode = '{9}', + // FullBarCode = '{10}' + // VendId = '{11}' + // where BillNum = '{0}' and VinCode = '{1}' and PartCode = '{2}' + // "; + // sqlUpdateDetail = string.Format(sqlUpdateDetail, + // targetDetail.BillNum, targetDetail.VinCode, targetDetail.PartCode, targetDetail.LineNum, targetDetail.SeqNum, + // targetDetail.ProjectId, targetDetail.State, targetDetail.BarCode, targetDetail.PlanQty, targetDetail.CustPartCode, + // targetDetail.FullBarCode, targetDetail.VendId); + // try + // { + // ret = _wmsDapperRepository.ExecuteSql(sqlUpdateDetail, null, true); + // } + // catch (Exception ex) + // { + // throw new Exception("调用InsertOrUpdateWMSDetail方法时报错:" + ex.Message + "SQL:" + sqlUpdateDetail); + // } + // } + // return ret; + //} - targetDetailLst.Add(targetDetail); - if (materialObj != null && materialObj.VehicleModel != null) - { - cxLst.Add(materialObj.VehicleModel); - } - } - if (sourceRec.BelowSAPMaterialNum.IsNullOrEmpty() == false) - { - var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.MaterialNum == sourceRec.BelowSAPMaterialNum && itm.MaterialType == "1"); + #endregion + /* + #region 柱护板装箱单 + //private void DelOrScrapWMSInterface(string billNum) + //{ + // //重新打印时,库存系统接口如果存在已发运的正常打印单据,则不允许重新打印;如果存在未发运的正常打印单据则删除该单据 + // string oldBillNum = billNum; + // TB_BILL oldBillObj = _wmsDapperRepository.GetSingleBySql($"select top 1 * from TB_BILL where BillNum = '{oldBillNum}'", true); + // if (oldBillObj != null) + // { + // if (oldBillObj.State == 0) + // { + // string sqlMain = $"delete from TS_SORT_DETAIL where BillNum = '{oldBillNum}'"; + // _wmsDapperRepository.ExecuteSql(sqlMain, null, true); - idx++; - TS_SORT_DETAIL targetDetail = new TS_SORT_DETAIL(); - targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 - targetDetail.VinCode = sourceRec.VIN; //VIN码 - targetDetail.PartCode = sourceRec.BelowSAPMaterialNum; //物料号 - targetDetail.LineNum = (idx2 + 12); //行号 - targetDetail.SeqNum = (idx2 + 12).ToString(); //顺序号sourceRec.HostSN.ToString() - //targetDetail.BarCode = sourceRec.TopBoxPositionNum; //箱码 - targetDetail.ProjectId = ""; //车型 - targetDetail.State = "0"; //状态 - targetDetail.PlanQty = 1; //计划数量 - targetDetail.CustPartCode = materialObj == null ? null : materialObj.RelationKey; - targetDetail.FullBarCode = null; - targetDetail.VendId = sourceRec.KNR; + // string sqlDetail = $"delete from TB_BILL where BillNum = '{oldBillNum}'"; + // _wmsDapperRepository.ExecuteSql(sqlDetail, null, true); + // } + // else + // { + // throw new BusinessException("1001", $"该单据{oldBillNum}在库存系统中已经排序或发运,不允许删除!"); + // } + // } + //} - //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 - - targetDetailLst.Add(targetDetail); - if (materialObj != null && materialObj.VehicleModel != null) - { - cxLst.Add(materialObj.VehicleModel); - } - } - } - //生成车型 - string cxStr = ""; - foreach (string cxObj in cxLst.Distinct()) - { - cxStr += cxObj + "、"; - } - if (cxStr.Length > 0) - { - cxStr = cxStr.Substring(0, cxStr.Length - 1); - } - targetMain.ProjectId = cxStr; //添加车型 - - if (string.IsNullOrEmpty(cxStr)) - { - targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 - } - - } - foreach (TB_BILL targetMain in targetMainLst) - { - //明细数量 - targetMain.DetailQty = targetDetailLst.Where(p=>p.BillNum== targetMain.BillNum).Count(); - int cnt = InsertOrUpdateWMSMain(targetMain); - if (cnt == 0) - { - throw new Exception("插入或更新库存系统接口表记录数为零!"); - } - } - foreach (TS_SORT_DETAIL targetDetail in targetDetailLst) - { - int cnt = InsertOrUpdateWMSDetail(targetDetail); - if (cnt == 0) - { - throw new Exception("插入或更新库存系统接口表记录数为零!"); - } - } - - } - private int InsertOrUpdateWMSMain(TB_BILL targetMain) - { - int ret = 0; - string sqlSelMain = string.Format("select * from TB_BILL where BillNum = '{0}'", targetMain.BillNum); - TB_BILL wmsMain = _wmsDapperRepository.GetSingleBySql(sqlSelMain, true); - if (wmsMain == null) - { - string sqlInsertMain = @" - insert into TB_BILL (BillNum, [State], BillType, SubBillType, BillTime, OperName, DetailQty, CustId, ProjectId, DockCode, GateCode, GateName, Remark) - values ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}')"; - sqlInsertMain = string.Format(sqlInsertMain, - targetMain.BillNum, targetMain.State, targetMain.BillType, targetMain.SubBillType, targetMain.BillTime, - targetMain.OperName, targetMain.DetailQty, targetMain.CustId, targetMain.ProjectId, targetMain.DockCode, targetMain.GateCode, targetMain.GateName, targetMain.Remark); - try - { - ret = _wmsDapperRepository.ExecuteSql(sqlInsertMain, null, true); - } - catch (Exception ex) - { - throw new Exception("调用InsertOrUpdateWMSMain方法时报错:" + ex.Message + "SQL:" + sqlInsertMain + "单据号:" + targetMain.BillNum); - } - } - else - { - if (wmsMain.State != 0) - { - throw new Exception("库存系统接口主表中已经存在该单据,并且已经排序,不能重新打印,单据号" + wmsMain.BillNum); - } - string sqlUpdateMain = @" - update TB_BILL set - [State] = '{1}', - BillType = '{2}', - SubBillType = '{3}', - BillTime = '{4}', - OperName = '{5}', - DetailQty = '{6}', - CustId = '{7}', - ProjectId = '{8}', - DockCode = '{9}', - GateCode = '{10}', - GateName = '{11}', - Remark = '{12}' - where BillNum = '{0}' - "; - sqlUpdateMain = string.Format(sqlUpdateMain, - targetMain.BillNum, targetMain.State, targetMain.BillType, targetMain.SubBillType, targetMain.BillTime, - targetMain.OperName, targetMain.DetailQty, targetMain.CustId, targetMain.ProjectId, targetMain.DockCode, targetMain.GateCode, targetMain.GateName, targetMain.Remark); - try - { - ret = _wmsDapperRepository.ExecuteSql(sqlUpdateMain, null, true); - } - catch (Exception ex) - { - throw new Exception("调用InsertOrUpdateWMSMain方法时报错:" + ex.Message + "SQL:" + sqlUpdateMain + "单据号:" + targetMain.BillNum); - } - - } - return ret; - } - private int InsertOrUpdateWMSDetail(TS_SORT_DETAIL targetDetail) - { - int ret = 0; - string sqlSelDetail = string.Format("select * from TS_SORT_DETAIL where BillNum = '{0}' and VinCode = '{1}' and PartCode = '{2}'", targetDetail.BillNum, targetDetail.VinCode, targetDetail.PartCode); - TS_SORT_DETAIL wmsDetail = _wmsDapperRepository.GetSingleBySql(sqlSelDetail, true); - if (wmsDetail == null) - { - string sqlInsertDetail = @" - insert into TS_SORT_DETAIL ( - BillNum, VinCode, PartCode, LineNum, SeqNum, - ProjectId, [State], BarCode, PlanQty, CustPartCode, - FullBarCode, VendId) - values ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}')"; - sqlInsertDetail = string.Format(sqlInsertDetail, - targetDetail.BillNum, targetDetail.VinCode, targetDetail.PartCode, targetDetail.LineNum, targetDetail.SeqNum, - targetDetail.ProjectId, targetDetail.State, targetDetail.BarCode, targetDetail.PlanQty, targetDetail.CustPartCode, - targetDetail.FullBarCode, targetDetail.VendId); - try - { - ret = _wmsDapperRepository.ExecuteSql(sqlInsertDetail, null, true); - } - catch (Exception ex) - { - throw new Exception("调用InsertOrUpdateWMSDetail方法时报错:" + ex.Message + "SQL:" + sqlInsertDetail); - } - } - else - { - string sqlUpdateDetail = @" - update TS_SORT_DETAIL set - LineNum = '{3}', - SeqNum = '{4}', - ProjectId = '{5}', - [State] = '{6}', - BarCode = '{7}', - PlanQty = '{8}', - CustPartCode = '{9}', - FullBarCode = '{10}' - VendId = '{11}' - where BillNum = '{0}' and VinCode = '{1}' and PartCode = '{2}' - "; - sqlUpdateDetail = string.Format(sqlUpdateDetail, - targetDetail.BillNum, targetDetail.VinCode, targetDetail.PartCode, targetDetail.LineNum, targetDetail.SeqNum, - targetDetail.ProjectId, targetDetail.State, targetDetail.BarCode, targetDetail.PlanQty, targetDetail.CustPartCode, - targetDetail.FullBarCode, targetDetail.VendId); - try - { - ret = _wmsDapperRepository.ExecuteSql(sqlUpdateDetail, null, true); - } - catch (Exception ex) - { - throw new Exception("调用InsertOrUpdateWMSDetail方法时报错:" + ex.Message + "SQL:" + sqlUpdateDetail); - } - } - return ret; - } - - #endregion - - #region 柱护板装箱单 - //private void DelOrScrapWMSInterface(string billNum) - //{ - // //重新打印时,库存系统接口如果存在已发运的正常打印单据,则不允许重新打印;如果存在未发运的正常打印单据则删除该单据 - // string oldBillNum = billNum; - // TB_BILL oldBillObj = _wmsDapperRepository.GetSingleBySql($"select top 1 * from TB_BILL where BillNum = '{oldBillNum}'", true); - // if (oldBillObj != null) - // { - // if (oldBillObj.State == 0) - // { - // string sqlMain = $"delete from TS_SORT_DETAIL where BillNum = '{oldBillNum}'"; - // _wmsDapperRepository.ExecuteSql(sqlMain, null, true); - - // string sqlDetail = $"delete from TB_BILL where BillNum = '{oldBillNum}'"; - // _wmsDapperRepository.ExecuteSql(sqlDetail, null, true); - // } - // else - // { - // throw new BusinessException("1001", $"该单据{oldBillNum}在库存系统中已经排序或发运,不允许删除!"); - // } - // } - //} - - /// - /// 根据条件取用于打印的柱护板单据列表 - /// - /// - /// - /// - private async Task> GetZHBReportDetailList(ZhuHuBanPrintInputDto input, bool isFillBreakNum = false) - { - List billLst = new List(); - ListResultDto ret = new ListResultDto(billLst); + /// + /// 根据条件取用于打印的柱护板单据列表 + /// + /// + /// + /// + private async Task> GetZHBReportDetailList(ZhuHuBanPrintInputDto input, bool isFillBreakNum = false) + { + List billLst = new List(); + ListResultDto ret = new ListResultDto(billLst); int printBillCnt = 0; if (input.PrintType == PrintTypeEnum.正常打印) @@ -2053,7 +1990,7 @@ select * from return null; } #endregion - + */ #region 报表公共方法 /// @@ -2069,27 +2006,30 @@ select * from List retLst = new List(); try { - int lastNum = await GetMenBanLastPrintNum(input); - int newNum = lastNum + 1; - if ((lastNum % 10000) == 1999) + int lastNum = await GetMenBanLastPrintNum(input); //从M100中取当前产线、已经打印的最大大众顺序号 + if (lastNum > 0) { - if ((input.BeginHostSN % 10000) != 1) + if ((lastNum % 10000) == 1999) { - string msg = $"单据之间断号,上次打印的最后大众顺序号为【{lastNum}】,与本次打印开始号【{input.BeginHostSN}】中间存在断号!"; - retLst.Add(msg); - _logger.LogDebug(msg); + if ((input.BeginHostSN % 10000) != 1) + { + string msg = $"单据之间断号,上次打印的最后大众顺序号为【{lastNum}】,与本次打印开始号【{input.BeginHostSN}】中间存在断号!"; + retLst.Add(msg); + _logger.LogDebug(msg); + } } - } - else - { - if(newNum!= input.BeginHostSN) + else { - string msg = $"单据之间断号,上次打印的最后大众顺序号为【{lastNum}】,与本次打印开始号【{input.BeginHostSN}】中间存在断号!"; - retLst.Add(msg); - _logger.LogDebug(msg); + if (lastNum + 1 != input.BeginHostSN) + { + string msg = $"单据之间断号,上次打印的最后大众顺序号为【{lastNum}】,与本次打印开始号【{input.BeginHostSN}】中间存在断号!"; + retLst.Add(msg); + _logger.LogDebug(msg); + } } } + ListResultDto tempLst = await GetMBReportDetailList(input, false); List billLst = tempLst.Item; if (billLst.Count < 2) @@ -2142,134 +2082,71 @@ select * from /// /// 是否柱护板 /// 断号时Item不为空 - [UnitOfWork(false)] - [HttpPost] - [Route("check-zhb-hostsn-break-num")] - public virtual async Task> CheckZHBHostSNBreakNum(ZhuHuBanPrintInputDto input) - { - List retLst = new List(); - try - { - int lastNum = await GetZhuHuBanLastPrintNum(input); - int newNum = lastNum + 1; - if ((lastNum % 10000) == 1999) - { - if ((input.BeginHostSN % 10000) != 1) - { - retLst.Add($"上次打印的最后大众顺序号为【{lastNum}】,与本次打印开始号【{input.BeginHostSN}】中间存在断号!"); - } - } - else - { - if (newNum != input.BeginHostSN) - { - retLst.Add($"上次打印的最后大众顺序号为【{lastNum}】,与本次打印开始号【{input.BeginHostSN}】中间存在断号!"); - } - } - ListResultDto tempLst = await GetZHBReportDetailList(input, false); - List billLst = tempLst.Item; - if (billLst.Count < 2) - { - return new ListResultDto(retLst); - } - for (int i = 1; i < billLst.Count; i++) - { - BillM100 priorObj = billLst[i - 1]; - BillM100 curObj = billLst[i]; - int priorHostSN = (int)billLst[i - 1].HostSN; - int curHostSN = (int)billLst[i].HostSN; - - if (curHostSN > priorHostSN) //0005、0006 - { - if (curHostSN > priorHostSN + 1) //0005、0008时,补号 0006、0007 - { - retLst.Add($"大众顺序号{priorObj.HostSN}与{curObj.HostSN}之间存在断号情况!"); - } - } - else if (curHostSN < priorHostSN) //1999到0001的情况 - { - if (curHostSN + _hostSNMaxVal > priorHostSN + 1) //0005、0008时,补号 0006、0007 - { - retLst.Add($"大众顺序号{priorObj.HostSN}与{curObj.HostSN}之间存在断号情况!"); - } - } - } - return new ListResultDto(retLst); - } - catch (Exception ex) - { - ListResultDto ret = new ListResultDto(); - ret.Status = false; - ret.Message = _errorMessagePrefix + "打印前检查大众顺序号是否断号CheckZHBHostSNBreakNum 执行出错:" + ex.Message; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 根据生产线获取正常打印单据的起始大众顺序号 - /// - /// 生产线 - /// 起始大众顺序号 - //[UnitOfWork] - //[HttpGet] - //[Route("get-print-start-hostsn")] - //public virtual async Task> GetPrintStartHostSN(string productLine) + //[UnitOfWork(false)] + //[HttpPost] + //[Route("check-zhb-hostsn-break-num")] + //public virtual async Task> CheckZHBHostSNBreakNum(ZhuHuBanPrintInputDto input) //{ - // int? beginHostSN = null; + // List retLst = new List(); // try // { - // //存在已打印单据 - // var publishQry = _billM100Repository.Where(itm => itm.ProductLine == productLine && itm.BillStatus == BillStatusEnum.Publish); - // if (publishQry.Any() == true) + // int lastNum = await GetZhuHuBanLastPrintNum(input); + // int newNum = lastNum + 1; + // if ((lastNum % 10000) == 1999) // { - // //取已打印最后一个单据 - // DateTime publishMaxCreateTime = publishQry.Max(itm => itm.CreationTime); - // //取指定生产线、不等于已打印状态、大于已打印最后一个单据、最小的CreationTime - // var query = _billM100Repository.Where(itm => - // itm.ProductLine == productLine - // && (itm.BillStatus != BillStatusEnum.Publish) - // && itm.CreationTime > publishMaxCreateTime); - // if (query.Any()) + // if ((input.BeginHostSN % 10000) != 1) // { - // DateTime minCreateTime = query.Min(itm => itm.CreationTime); - // //根据CreationTime取大众顺序号 - // var obj = await _billM100Repository.FirstOrDefaultAsync(itm => itm.ProductLine == productLine && itm.CreationTime == minCreateTime); - // if (obj != null) - // { - // beginHostSN = obj.HostSN; - // } + // retLst.Add($"上次打印的最后大众顺序号为【{lastNum}】,与本次打印开始号【{input.BeginHostSN}】中间存在断号!"); // } // } // else // { - // //取指定生产线、不等于已打印状态、最小的CreationTime - // var query2 = _billM100Repository.Where(itm => - // itm.ProductLine == productLine - // && itm.BillStatus != BillStatusEnum.Publish); - // if (query2.Any()) + // if (newNum != input.BeginHostSN) + // { + // retLst.Add($"上次打印的最后大众顺序号为【{lastNum}】,与本次打印开始号【{input.BeginHostSN}】中间存在断号!"); + // } + // } + // ListResultDto tempLst = await GetZHBReportDetailList(input, false); + // List billLst = tempLst.Item; + // if (billLst.Count < 2) + // { + // return new ListResultDto(retLst); + // } + // for (int i = 1; i < billLst.Count; i++) + // { + // BillM100 priorObj = billLst[i - 1]; + // BillM100 curObj = billLst[i]; + // int priorHostSN = (int)billLst[i - 1].HostSN; + // int curHostSN = (int)billLst[i].HostSN; + + // if (curHostSN > priorHostSN) //0005、0006 + // { + // if (curHostSN > priorHostSN + 1) //0005、0008时,补号 0006、0007 + // { + // retLst.Add($"大众顺序号{priorObj.HostSN}与{curObj.HostSN}之间存在断号情况!"); + // } + // } + // else if (curHostSN < priorHostSN) //1999到0001的情况 // { - // DateTime minCreateTime2 = query2.Min(itm => itm.CreationTime); - // //根据流水号取大众顺序号 - // var obj = await _billM100Repository.FirstOrDefaultAsync(itm => itm.ProductLine == productLine && itm.CreationTime == minCreateTime2); - // if (obj != null) + // if (curHostSN + _hostSNMaxVal > priorHostSN + 1) //0005、0008时,补号 0006、0007 // { - // beginHostSN = obj.HostSN; + // retLst.Add($"大众顺序号{priorObj.HostSN}与{curObj.HostSN}之间存在断号情况!"); // } // } // } - // return new ObjectResultDto(beginHostSN); + // return new ListResultDto(retLst); // } // catch (Exception ex) // { - // ObjectResultDto ret = new ObjectResultDto(); + // ListResultDto ret = new ListResultDto(); // ret.Status = false; - // ret.Message = _errorMessagePrefix + "GetPrintStartHostSN 执行出错:" + ex.Message; + // ret.Message = _errorMessagePrefix + "打印前检查大众顺序号是否断号CheckZHBHostSNBreakNum 执行出错:" + ex.Message; // _logger.LogError(ret.Message); // return ret; // } //} + /// /// 根据生产线获取正常打印单据的起始大众顺序号2 /// @@ -2349,284 +2226,284 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN /// /// /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("print-menban-packing-list")] - public virtual async Task> PrintMenBanPackingList(MenBanPrintInputDto input) - { - /* - 1、 一次打印24辆车,分为4页纸张,四个纸张的装箱单号不是一样 - 2、 按大众顺序号过滤打印,一次打印12套(不是24辆车),到1999后按2000、2001顺序排,下次打印按3延续排列右前 - 5、 物料描述字体尽量大 - 6、 右上角的“01 左” 字体尽量大 - 7、 零件类别: C8是车型, DP表示门板 - 8、 器具容量: 24表示当页包含24个门板 - 9、 车型门板代码: 从物料汇总文件- 补充备注 字段中取 Q5-DV OQ N5K 3L4 QQ2 6XE 7HB 9VS 7X1 3Y4 - 3、 根据物料描述字段区分左后、左前、右后、右前 - 4、 车型C8的第一二页分为左后, 右前,第三四页分为右后、左前;其它车型 第一二页分为左后、左前,第三四页分为右后、 - 10、 物料描述: 从物料汇总文件-物料描述 字段中取 - */ - MenBanPrintResultDto retObj = new MenBanPrintResultDto(); - ObjectResultDto ret = new ObjectResultDto(retObj); - ret.Status = false; - try - { - List reportMainLst = new List(); + //[UnitOfWork] + //[HttpPost] + //[Route("print-menban-packing-list")] + //public virtual async Task> PrintMenBanPackingList(MenBanPrintInputDto input) + //{ + // /* + // 1、 一次打印24辆车,分为4页纸张,四个纸张的装箱单号不是一样 + // 2、 按大众顺序号过滤打印,一次打印12套(不是24辆车),到1999后按2000、2001顺序排,下次打印按3延续排列右前 + // 5、 物料描述字体尽量大 + // 6、 右上角的“01 左” 字体尽量大 + // 7、 零件类别: C8是车型, DP表示门板 + // 8、 器具容量: 24表示当页包含24个门板 + // 9、 车型门板代码: 从物料汇总文件- 补充备注 字段中取 Q5-DV OQ N5K 3L4 QQ2 6XE 7HB 9VS 7X1 3Y4 + // 3、 根据物料描述字段区分左后、左前、右后、右前 + // 4、 车型C8的第一二页分为左后, 右前,第三四页分为右后、左前;其它车型 第一二页分为左后、左前,第三四页分为右后、 + // 10、 物料描述: 从物料汇总文件-物料描述 字段中取 + // */ + // MenBanPrintResultDto retObj = new MenBanPrintResultDto(); + // ObjectResultDto ret = new ObjectResultDto(retObj); + // ret.Status = false; + // try + // { + // List reportMainLst = new List(); - if (input.PrintType == PrintTypeEnum.正常打印) - { - if (input.BeginHostSN != 0 && input.EndHostSN != 0) - { - if (input.BeginHostSN > input.EndHostSN) - { - ret.Message = "止大众顺序号必须大于等于起大众顺序号!"; - ret.Status = false; - return ret; - } - } - ListResultDto tempLst = await GetMBReportDetailList(input, true); //----------------------------- - List billLst = tempLst.Item; - if (tempLst.Status == false) - { - ret.Message = tempLst.Message; - ret.Status = false; - return ret; - } + // if (input.PrintType == PrintTypeEnum.正常打印) + // { + // if (input.BeginHostSN != 0 && input.EndHostSN != 0) + // { + // if (input.BeginHostSN > input.EndHostSN) + // { + // ret.Message = "止大众顺序号必须大于等于起大众顺序号!"; + // ret.Status = false; + // return ret; + // } + // } + // ListResultDto tempLst = await GetMBReportDetailList(input, true); //----------------------------- + // List billLst = tempLst.Item; + // if (tempLst.Status == false) + // { + // ret.Message = tempLst.Message; + // ret.Status = false; + // return ret; + // } - int pageCnt = (int)Math.Ceiling(billLst.Count / 12.0); //每页打印12列,取打印页数 + // int pageCnt = (int)Math.Ceiling(billLst.Count / 12.0); //每页打印12列,取打印页数 - double maxBillNum = 0; + // double maxBillNum = 0; - DateTime printTime = ServerHelper.CurrentDateTime; + // DateTime printTime = ServerHelper.CurrentDateTime; - for (int pageIdx = 0; pageIdx < pageCnt; pageIdx++) - { - //取右上角顺序号:按生产线分组,取当前生产线的最大流水号:01至99循环,例如01左、01右 - double maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.门板, input.ProductLine, string.Empty); - // 先打印两张:左后左前,再打印两张:右后右前 - List leftLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "左"); - List rightLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "右"); - - //作废时需要同时作废相同VIN的左右两页,SortId相同表示是同一组左右 - Guid sortId = GuidGenerator.Create(); - foreach (var leftItm in leftLst) - { - leftItm.SortId = sortId; - } - foreach (var rightItm in rightLst) - { - rightItm.SortId = sortId; - } + // for (int pageIdx = 0; pageIdx < pageCnt; pageIdx++) + // { + // //取右上角顺序号:按生产线分组,取当前生产线的最大流水号:01至99循环,例如01左、01右 + // double maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.门板, input.ProductLine, string.Empty); + // // 先打印两张:左后左前,再打印两张:右后右前 + // List leftLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "左"); + // List rightLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "右"); + + // //作废时需要同时作废相同VIN的左右两页,SortId相同表示是同一组左右 + // Guid sortId = GuidGenerator.Create(); + // foreach (var leftItm in leftLst) + // { + // leftItm.SortId = sortId; + // } + // foreach (var rightItm in rightLst) + // { + // rightItm.SortId = sortId; + // } - reportMainLst.AddRange(rightLst); - reportMainLst.AddRange(leftLst); - } + // reportMainLst.AddRange(rightLst); + // reportMainLst.AddRange(leftLst); + // } - //调用派格版库存接口 - CallWMSInterface_MB(reportMainLst); + // //调用派格版库存接口 + // CallWMSInterface_MB(reportMainLst); - //插入门板打印记录表 - await _menBanPackingListRepository.InsertManyAsync(reportMainLst, true); + // //插入门板打印记录表 + // await _menBanPackingListRepository.InsertManyAsync(reportMainLst, true); - //更新M100的门板打印标志:BillStatus=3 - foreach (BillM100 billObj in billLst) - { - if (billObj.BillStatus == BillStatusEnum.Match) - { - billObj.SetBillStatus(BillStatusEnum.Publish); - billObj.PrintTime = ServerHelper.CurrentDateTime; - billObj.NeedReplenishPrint = 0; //不需要补打 - await _billM100Repository.UpdateAsync(billObj, true); - } - else if (billObj.BillStatus == BillStatusEnum.NotMatch) - { - //billObj.PrintTime = ServerHelper.CurrentDateTime; - billObj.NeedReplenishPrint = 1; //需要补打 - await _billM100Repository.UpdateAsync(billObj, true); - } - } - } - else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 - { - reportMainLst = await _menBanPackingListRepository.GetListAsync(itm => input.ReportIdList.Contains(itm.Id), true); - //按大众顺序号排序 - foreach (var reportMainObj in reportMainLst) - { - List recLst = reportMainObj.Details; - if (recLst == null) - continue; - //bool has1999 = recLst.Any(itm => itm.HostSN.Contains("1999") || itm.HostSN.Contains("1998") || itm.HostSN.Contains("1997")); - //bool has0001 = recLst.Any(itm => itm.HostSN.Contains("0001") || itm.HostSN.Contains("0002") || itm.HostSN.Contains("0003")); - bool has1999 = recLst.Any(itm => itm.HostSN.Contains("1999") || itm.HostSN.Contains("1998") || itm.HostSN.Contains("1997") - || itm.HostSN.Contains("1996") || itm.HostSN.Contains("1995") || itm.HostSN.Contains("1994") - || itm.HostSN.Contains("1993") || itm.HostSN.Contains("1992") || itm.HostSN.Contains("1991") - || itm.HostSN.Contains("1990") || itm.HostSN.Contains("1989") || itm.HostSN.Contains("1988") - || itm.HostSN.Contains("1987") || itm.HostSN.Contains("1986") || itm.HostSN.Contains("1985") - || itm.HostSN.Contains("1984") || itm.HostSN.Contains("1983") || itm.HostSN.Contains("1982") - || itm.HostSN.Contains("1981") || itm.HostSN.Contains("1980") || itm.HostSN.Contains("1979") - || itm.HostSN.Contains("1978") || itm.HostSN.Contains("1977") || itm.HostSN.Contains("1976") - ); - bool has0001 = recLst.Any(itm => itm.HostSN.Contains("0001") || itm.HostSN.Contains("0002") || itm.HostSN.Contains("0003") - || itm.HostSN.Contains("0004") || itm.HostSN.Contains("0005") || itm.HostSN.Contains("0006") - || itm.HostSN.Contains("0007") || itm.HostSN.Contains("0008") || itm.HostSN.Contains("0009") - || itm.HostSN.Contains("0010") || itm.HostSN.Contains("0011") || itm.HostSN.Contains("0012") - || itm.HostSN.Contains("0013") || itm.HostSN.Contains("0014") || itm.HostSN.Contains("0015") - || itm.HostSN.Contains("0016") || itm.HostSN.Contains("0017") || itm.HostSN.Contains("0018") - || itm.HostSN.Contains("0019") || itm.HostSN.Contains("0020") || itm.HostSN.Contains("0021") - || itm.HostSN.Contains("0022") || itm.HostSN.Contains("0023") || itm.HostSN.Contains("0024") - ); - if (has1999 && has0001) - { - reportMainObj.Details = recLst.OrderBy(itm => (itm.HostSN.TryToIntZero() % 10000) < 240 ? (itm.HostSN.TryToIntZero() % 10000 + 1999) : (itm.HostSN.TryToIntZero() % 10000)).ToList(); - } - else - { - reportMainObj.Details = recLst.OrderBy(itm => itm.HostSN).ToList(); - } - } - } - else if (input.PrintType == PrintTypeEnum.补打) - { - List billLst = _billM100Repository.Where(itm => input.M100IdList.Contains(itm.Id)).OrderBy(itm => itm.SerialNumStr).ToList(); - if (billLst.Count == 0) - { - ret.Message = "没有补打的单据,请先选择要补打的单据!"; - ret.Status = false; - return ret; - } - - int pageCnt = (int)Math.Ceiling(billLst.Count / 12.0); //每页打印12列,取打印页数 + // //更新M100的门板打印标志:BillStatus=3 + // foreach (BillM100 billObj in billLst) + // { + // if (billObj.BillStatus == BillStatusEnum.Match) + // { + // billObj.SetBillStatus(BillStatusEnum.Publish); + // billObj.PrintTime = ServerHelper.CurrentDateTime; + // billObj.NeedReplenishPrint = 0; //不需要补打 + // await _billM100Repository.UpdateAsync(billObj, true); + // } + // else if (billObj.BillStatus == BillStatusEnum.NotMatch) + // { + // //billObj.PrintTime = ServerHelper.CurrentDateTime; + // billObj.NeedReplenishPrint = 1; //需要补打 + // await _billM100Repository.UpdateAsync(billObj, true); + // } + // } + // } + // else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 + // { + // reportMainLst = await _menBanPackingListRepository.GetListAsync(itm => input.ReportIdList.Contains(itm.Id), true); + // //按大众顺序号排序 + // foreach (var reportMainObj in reportMainLst) + // { + // List recLst = reportMainObj.Details; + // if (recLst == null) + // continue; + // //bool has1999 = recLst.Any(itm => itm.HostSN.Contains("1999") || itm.HostSN.Contains("1998") || itm.HostSN.Contains("1997")); + // //bool has0001 = recLst.Any(itm => itm.HostSN.Contains("0001") || itm.HostSN.Contains("0002") || itm.HostSN.Contains("0003")); + // bool has1999 = recLst.Any(itm => itm.HostSN.Contains("1999") || itm.HostSN.Contains("1998") || itm.HostSN.Contains("1997") + // || itm.HostSN.Contains("1996") || itm.HostSN.Contains("1995") || itm.HostSN.Contains("1994") + // || itm.HostSN.Contains("1993") || itm.HostSN.Contains("1992") || itm.HostSN.Contains("1991") + // || itm.HostSN.Contains("1990") || itm.HostSN.Contains("1989") || itm.HostSN.Contains("1988") + // || itm.HostSN.Contains("1987") || itm.HostSN.Contains("1986") || itm.HostSN.Contains("1985") + // || itm.HostSN.Contains("1984") || itm.HostSN.Contains("1983") || itm.HostSN.Contains("1982") + // || itm.HostSN.Contains("1981") || itm.HostSN.Contains("1980") || itm.HostSN.Contains("1979") + // || itm.HostSN.Contains("1978") || itm.HostSN.Contains("1977") || itm.HostSN.Contains("1976") + // ); + // bool has0001 = recLst.Any(itm => itm.HostSN.Contains("0001") || itm.HostSN.Contains("0002") || itm.HostSN.Contains("0003") + // || itm.HostSN.Contains("0004") || itm.HostSN.Contains("0005") || itm.HostSN.Contains("0006") + // || itm.HostSN.Contains("0007") || itm.HostSN.Contains("0008") || itm.HostSN.Contains("0009") + // || itm.HostSN.Contains("0010") || itm.HostSN.Contains("0011") || itm.HostSN.Contains("0012") + // || itm.HostSN.Contains("0013") || itm.HostSN.Contains("0014") || itm.HostSN.Contains("0015") + // || itm.HostSN.Contains("0016") || itm.HostSN.Contains("0017") || itm.HostSN.Contains("0018") + // || itm.HostSN.Contains("0019") || itm.HostSN.Contains("0020") || itm.HostSN.Contains("0021") + // || itm.HostSN.Contains("0022") || itm.HostSN.Contains("0023") || itm.HostSN.Contains("0024") + // ); + // if (has1999 && has0001) + // { + // reportMainObj.Details = recLst.OrderBy(itm => (itm.HostSN.TryToIntZero() % 10000) < 240 ? (itm.HostSN.TryToIntZero() % 10000 + 1999) : (itm.HostSN.TryToIntZero() % 10000)).ToList(); + // } + // else + // { + // reportMainObj.Details = recLst.OrderBy(itm => itm.HostSN).ToList(); + // } + // } + // } + // else if (input.PrintType == PrintTypeEnum.补打) + // { + // List billLst = _billM100Repository.Where(itm => input.M100IdList.Contains(itm.Id)).OrderBy(itm => itm.SerialNumStr).ToList(); + // if (billLst.Count == 0) + // { + // ret.Message = "没有补打的单据,请先选择要补打的单据!"; + // ret.Status = false; + // return ret; + // } - double maxBillNum = 0; + // int pageCnt = (int)Math.Ceiling(billLst.Count / 12.0); //每页打印12列,取打印页数 - DateTime printTime = ServerHelper.CurrentDateTime; + // double maxBillNum = 0; - for (int pageIdx = 0; pageIdx < pageCnt; pageIdx++) - { - //取右上角顺序号:按生产线分组,取当前生产线的最大流水号:01至99循环,例如01左、01右 - double maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.门板, input.ProductLine, string.Empty); - // 先打印两张:左后左前,再打印两张:右后右前 - List leftLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "左"); - List rightLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "右"); - - //作废时需要同时作废相同VIN的左右两页,SortId相同表示是同一组左右 - Guid sortId = GuidGenerator.Create(); - foreach (var leftItm in leftLst) - { - leftItm.SortId = sortId; - } - foreach (var rightItm in rightLst) - { - rightItm.SortId = sortId; - } + // DateTime printTime = ServerHelper.CurrentDateTime; - reportMainLst.AddRange(rightLst); - reportMainLst.AddRange(leftLst); - } - //校验底盘号、零件是否重复打印 - string checkVinPartRepeatSql = @" - select top 1 a.BillNum from FisMenBanPackingList a join FisMenBanPackingRec b - on a.Id = b.MenBanPackingListId - where a.ReportStatus = 0 - and b.VIN = '{0}' and (TopSAPMaterialNum = '{1}' or BelowSAPMaterialNum = '{1}') - "; - foreach (MenBanPackingList reportMainObj in reportMainLst) - { - foreach (MenBanPackingRec reportRecObj in reportMainObj.Details) - { - string sql1 = string.Format(checkVinPartRepeatSql, reportRecObj.VIN, reportRecObj.TopSAPMaterialNum); - string checkVinPartRepeatBillNum1 = _newJitDapperRepository.GetSingleBySql(sql1, true); - if (string.IsNullOrEmpty(checkVinPartRepeatBillNum1) == false) - { - throw new BusinessException("1001", $"与装箱单号{checkVinPartRepeatBillNum1}中的底盘号{reportRecObj.VIN}、零件号{reportRecObj.TopSAPMaterialNum}之间重复!"); - } + // for (int pageIdx = 0; pageIdx < pageCnt; pageIdx++) + // { + // //取右上角顺序号:按生产线分组,取当前生产线的最大流水号:01至99循环,例如01左、01右 + // double maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.门板, input.ProductLine, string.Empty); + // // 先打印两张:左后左前,再打印两张:右后右前 + // List leftLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "左"); + // List rightLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "右"); + + // //作废时需要同时作废相同VIN的左右两页,SortId相同表示是同一组左右 + // Guid sortId = GuidGenerator.Create(); + // foreach (var leftItm in leftLst) + // { + // leftItm.SortId = sortId; + // } + // foreach (var rightItm in rightLst) + // { + // rightItm.SortId = sortId; + // } - string sql2 = string.Format(checkVinPartRepeatSql, reportRecObj.VIN, reportRecObj.BelowSAPMaterialNum); - string checkVinPartRepeatBillNum2 = _newJitDapperRepository.GetSingleBySql(sql2, true); - if (string.IsNullOrEmpty(checkVinPartRepeatBillNum2) == false) - { - throw new BusinessException("1001", $"与装箱单号{checkVinPartRepeatBillNum2}中的底盘号{reportRecObj.VIN}、零件号{reportRecObj.BelowSAPMaterialNum}之间重复!"); - } - } - } + // reportMainLst.AddRange(rightLst); + // reportMainLst.AddRange(leftLst); + // } + // //校验底盘号、零件是否重复打印 + // string checkVinPartRepeatSql = @" + // select top 1 a.BillNum from FisMenBanPackingList a join FisMenBanPackingRec b + // on a.Id = b.MenBanPackingListId + // where a.ReportStatus = 0 + // and b.VIN = '{0}' and (TopSAPMaterialNum = '{1}' or BelowSAPMaterialNum = '{1}') + // "; + // foreach (MenBanPackingList reportMainObj in reportMainLst) + // { + // foreach (MenBanPackingRec reportRecObj in reportMainObj.Details) + // { + // string sql1 = string.Format(checkVinPartRepeatSql, reportRecObj.VIN, reportRecObj.PartCode2); + // string checkVinPartRepeatBillNum1 = _newJitDapperRepository.GetSingleBySql(sql1, true); + // if (string.IsNullOrEmpty(checkVinPartRepeatBillNum1) == false) + // { + // throw new BusinessException("1001", $"与装箱单号{checkVinPartRepeatBillNum1}中的底盘号{reportRecObj.VIN}、零件号{reportRecObj.PartCode2}之间重复!"); + // } + + // string sql2 = string.Format(checkVinPartRepeatSql, reportRecObj.VIN, reportRecObj.PartCode4); + // string checkVinPartRepeatBillNum2 = _newJitDapperRepository.GetSingleBySql(sql2, true); + // if (string.IsNullOrEmpty(checkVinPartRepeatBillNum2) == false) + // { + // throw new BusinessException("1001", $"与装箱单号{checkVinPartRepeatBillNum2}中的底盘号{reportRecObj.VIN}、零件号{reportRecObj.PartCode4}之间重复!"); + // } + // } + // } - //调用派格版库存接口 - CallWMSInterface_MB(reportMainLst); + // //调用派格版库存接口 + // CallWMSInterface_MB(reportMainLst); - //插入门板打印记录表 - await _menBanPackingListRepository.InsertManyAsync(reportMainLst); + // //插入门板打印记录表 + // await _menBanPackingListRepository.InsertManyAsync(reportMainLst); - //更新M100的门板打印标志:BillStatus=3 - foreach (BillM100 billObj in billLst) - { - if (billObj.BillStatus == BillStatusEnum.Match) - { - billObj.SetBillStatus(BillStatusEnum.Publish); - billObj.PrintTime = ServerHelper.CurrentDateTime; - await _billM100Repository.UpdateAsync(billObj); - } - } - } + // //更新M100的门板打印标志:BillStatus=3 + // foreach (BillM100 billObj in billLst) + // { + // if (billObj.BillStatus == BillStatusEnum.Match) + // { + // billObj.SetBillStatus(BillStatusEnum.Publish); + // billObj.PrintTime = ServerHelper.CurrentDateTime; + // await _billM100Repository.UpdateAsync(billObj); + // } + // } + // } - #region 格式转换 - //实体 转 DTO - List targetLst = ObjectMapper.Map, List>(reportMainLst); - targetLst = targetLst.OrderBy(itm => itm.BillNum).ToList(); + // #region 格式转换 + // //实体 转 DTO + // List targetLst = ObjectMapper.Map, List>(reportMainLst); + // targetLst = targetLst.OrderBy(itm => itm.BillNum).ToList(); - //补充空行 - foreach (var masterObj in targetLst) - { - int trueCnt = masterObj.Details.Count; - int planCnt = 12; - if (trueCnt > planCnt) - { - throw new Exception($"实际打印行数{trueCnt}超过每页总行数{planCnt}, 底盘起{masterObj.BeginVin}底盘止{masterObj.EndVin}"); - } - int diffCnt = planCnt - trueCnt; - for (int i = 0; i < diffCnt; i++) - { - MenBanPackingRecDto dtlObj = new MenBanPackingRecDto(); - masterObj.Details.Add(dtlObj); - } - } - //子表BillNum赋值, BillNum填充空格 - foreach (var masterObj in targetLst) - { - masterObj.BillNum = GetTrueString(masterObj.BillNum); - int sn = 1; - foreach (var detailObj in masterObj.Details) - { - detailObj.BillNum = masterObj.BillNum; - detailObj.KNR = GetTrueString(detailObj.KNR); - detailObj.sn = sn++; - detailObj.VIN = detailObj.VIN.TryToRight(6); //底盘号返回后六位 - } - } - //返回结果格式转换 - foreach (var masterObj in targetLst) - { - foreach (var detailObj in masterObj.Details) - { - retObj.DetailList.Add(detailObj); - } - masterObj.Details = null; - retObj.MasterList.Add(masterObj); - } - #endregion - ret.Status = true; - return ret; - } - catch (Exception ex) - { - string errorMsg = _errorMessagePrefix + "PrintMenBanPackingList 执行出错:" + ex.Message; - _logger.LogError(errorMsg); - throw new BusinessException("1001", errorMsg); - ret.Status = false; - ret.Message = ex.Message; - return ret; - } - } + // //补充空行 + // foreach (var masterObj in targetLst) + // { + // int trueCnt = masterObj.Details.Count; + // int planCnt = 12; + // if (trueCnt > planCnt) + // { + // throw new Exception($"实际打印行数{trueCnt}超过每页总行数{planCnt}, 底盘起{masterObj.BeginVin}底盘止{masterObj.EndVin}"); + // } + // int diffCnt = planCnt - trueCnt; + // for (int i = 0; i < diffCnt; i++) + // { + // MenBanPackingRecDto dtlObj = new MenBanPackingRecDto(); + // masterObj.Details.Add(dtlObj); + // } + // } + // //子表BillNum赋值, BillNum填充空格 + // foreach (var masterObj in targetLst) + // { + // masterObj.BillNum = GetTrueString(masterObj.BillNum); + // int sn = 1; + // foreach (var detailObj in masterObj.Details) + // { + // detailObj.BillNum = masterObj.BillNum; + // detailObj.KNR = GetTrueString(detailObj.KNR); + // detailObj.sn = sn++; + // detailObj.VIN = detailObj.VIN.TryToRight(6); //底盘号返回后六位 + // } + // } + // //返回结果格式转换 + // foreach (var masterObj in targetLst) + // { + // foreach (var detailObj in masterObj.Details) + // { + // retObj.DetailList.Add(detailObj); + // } + // masterObj.Details = null; + // retObj.MasterList.Add(masterObj); + // } + // #endregion + // ret.Status = true; + // return ret; + // } + // catch (Exception ex) + // { + // string errorMsg = _errorMessagePrefix + "PrintMenBanPackingList 执行出错:" + ex.Message; + // _logger.LogError(errorMsg); + // throw new BusinessException("1001", errorMsg); + // ret.Status = false; + // ret.Message = ex.Message; + // return ret; + // } + //} @@ -2636,423 +2513,402 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN /// /// /// 执行成功返回真 - [UnitOfWork(isTransactional:false)] - [HttpPost] - [Route("print-zhuhuban-packing-list")] - public virtual async Task> PrintZhuHuBanPackingList(ZhuHuBanPrintInputDto input) - { - ZhuHuBanPrintResultDto retObj = new ZhuHuBanPrintResultDto(); - ObjectResultDto ret = new ObjectResultDto(retObj); - ret.Status = false; - try - { - List reportMainLst = new List(); - List forWMSLst = new List(); + //[UnitOfWork(isTransactional:false)] + //[HttpPost] + //[Route("print-zhuhuban-packing-list")] + //public virtual async Task> PrintZhuHuBanPackingList(ZhuHuBanPrintInputDto input) + //{ + // ZhuHuBanPrintResultDto retObj = new ZhuHuBanPrintResultDto(); + // ObjectResultDto ret = new ObjectResultDto(retObj); + // ret.Status = false; + // try + // { + // List reportMainLst = new List(); + // List forWMSLst = new List(); - if (input.PrintType == PrintTypeEnum.正常打印) - { - if (input.BeginHostSN > input.EndHostSN) - { - ret.Message = "起大众顺序号不能大于止大众顺序号!"; - ret.Status = false; - return ret; - } + // if (input.PrintType == PrintTypeEnum.正常打印) + // { + // if (input.BeginHostSN > input.EndHostSN) + // { + // ret.Message = "起大众顺序号不能大于止大众顺序号!"; + // ret.Status = false; + // return ret; + // } - ListResultDto tempLst = await GetZHBReportDetailList(input, true); //------------------- - List billLst = tempLst.Item; - if (tempLst.Status == false) - { - ret.Message = tempLst.Message; - ret.Status = false; - return ret; - } - if (billLst.Count > 24) - { - ret.Message = "打印柱护板单据的数量不能大于24!"; - ret.Status = false; - return ret; - } - //加载柱护板缓存列表 - _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + // ListResultDto tempLst = await GetZHBReportDetailList(input, true); //------------------- + // List billLst = tempLst.Item; + // if (tempLst.Status == false) + // { + // ret.Message = tempLst.Message; + // ret.Status = false; + // return ret; + // } + // if (billLst.Count > 24) + // { + // ret.Message = "打印柱护板单据的数量不能大于24!"; + // ret.Status = false; + // return ret; + // } + // //加载柱护板缓存列表 + // _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 - long maxBillNum = 0; //子方法内部赋值 - DateTime printTime = ServerHelper.CurrentDateTime; - double maxSN; + // long maxBillNum = 0; //子方法内部赋值 + // DateTime printTime = ServerHelper.CurrentDateTime; + // double maxSN; - //A上C上 - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); - List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 - if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) - { - acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 - } - reportMainLst.AddRange(acLst); - forWMSLst.AddRange(acLstOnlyWMSUse); - //A柱下,A中 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); - - List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); - List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(aaLst1); - reportMainLst.AddRange(aaLst2); - forWMSLst.AddRange(aaLst1); - forWMSLst.AddRange(aaLst2); - //B柱上 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); - List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bUpLst1); - reportMainLst.AddRange(bUpLst2); - forWMSLst.AddRange(bUpLst1); - forWMSLst.AddRange(bUpLst2); - //B柱下 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); - - List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bDownLst1); - reportMainLst.AddRange(bDownLst2); - forWMSLst.AddRange(bDownLst1); - forWMSLst.AddRange(bDownLst2); - //D柱 - var lst1 = billLst.Take(12).ToList(); - var lst2 = billLst.Skip(12).ToList(); - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); //左用于打印 - List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); //左右用于库存接口 - - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); - List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); - reportMainLst.AddRange(dLst1); - reportMainLst.AddRange(dLst2); - forWMSLst.AddRange(forWMSLst1); - forWMSLst.AddRange(forWMSLst2); - - //后轮,上装饰板 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); - List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); - List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(hsLst1); - reportMainLst.AddRange(hsLst2); - forWMSLst.AddRange(hsLst1); - forWMSLst.AddRange(hsLst2); - - #region 调用库存接口 - //List forWMSLst = new List(); - //forWMSLst.AddRange(reportMainLst); - //forWMSLst.AddRange(acLstOnlyWMSUse); - CallWMSInterface_ZHB(forWMSLst); - #endregion - - //插入柱护板打印记录表 - Guid sortId = GuidGenerator.Create(); - foreach (var srcObj2 in reportMainLst) - { - srcObj2.SortId = sortId; //一次打印SortId相同 - var ret22 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); - } + // //A上C上 + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); + // List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 + // if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) + // { + // acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 + // } + // reportMainLst.AddRange(acLst); + // forWMSLst.AddRange(acLstOnlyWMSUse); + // //A柱下,A中 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); + + // List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(aaLst1); + // reportMainLst.AddRange(aaLst2); + // forWMSLst.AddRange(aaLst1); + // forWMSLst.AddRange(aaLst2); + // //B柱上 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); + // List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bUpLst1); + // reportMainLst.AddRange(bUpLst2); + // forWMSLst.AddRange(bUpLst1); + // forWMSLst.AddRange(bUpLst2); + // //B柱下 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); + + // List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bDownLst1); + // reportMainLst.AddRange(bDownLst2); + // forWMSLst.AddRange(bDownLst1); + // forWMSLst.AddRange(bDownLst2); + // //D柱 + // var lst1 = billLst.Take(12).ToList(); + // var lst2 = billLst.Skip(12).ToList(); + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); //左用于打印 + // List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); //左右用于库存接口 + + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); + // List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); + // reportMainLst.AddRange(dLst1); + // reportMainLst.AddRange(dLst2); + // forWMSLst.AddRange(forWMSLst1); + // forWMSLst.AddRange(forWMSLst2); + + // //后轮,上装饰板 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); + // List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(hsLst1); + // reportMainLst.AddRange(hsLst2); + // forWMSLst.AddRange(hsLst1); + // forWMSLst.AddRange(hsLst2); + + // #region 调用库存接口 + // //List forWMSLst = new List(); + // //forWMSLst.AddRange(reportMainLst); + // //forWMSLst.AddRange(acLstOnlyWMSUse); + // CallWMSInterface_ZHB(forWMSLst); + // #endregion + + // //插入柱护板打印记录表 + // Guid sortId = GuidGenerator.Create(); + // foreach (var srcObj2 in reportMainLst) + // { + // srcObj2.SortId = sortId; //一次打印SortId相同 + // var ret22 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); + // } - ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 - var updIdLst = billLst.Select(itm => itm.Id).ToList(); - var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); - foreach (var updObj in updLst) - { - updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" - updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 - } - await _billM100Repository.UpdateManyAsync(updLst, true); + // ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 + // var updIdLst = billLst.Select(itm => itm.Id).ToList(); + // var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); + // foreach (var updObj in updLst) + // { + // updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" + // updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 + // } + // await _billM100Repository.UpdateManyAsync(updLst, true); - } - else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 - { - if (input.DataResultType == "1") //全部11条数据 - { - var firObj = await _zhuHuBanPackingListRepository.FirstOrDefaultAsync(itm => input.ReportIdList.Contains(itm.Id)); - if (firObj != null) - { - Guid? sortId = firObj.SortId; - reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId, true); - } - } - else - { - reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => input.ReportIdList.Contains(itm.Id), true); - } + // } + // else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 + // { + // if (input.DataResultType == "1") //全部11条数据 + // { + // var firObj = await _zhuHuBanPackingListRepository.FirstOrDefaultAsync(itm => input.ReportIdList.Contains(itm.Id)); + // if (firObj != null) + // { + // Guid? sortId = firObj.SortId; + // reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId, true); + // } + // } + // else + // { + // reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => input.ReportIdList.Contains(itm.Id), true); + // } - //按大众顺序号排序 - foreach (var reportMainObj in reportMainLst) - { - List recLst = reportMainObj.Details; - if (recLst == null) - continue; - //bool has1999 = recLst.Any(itm => itm.HostSN.ToString().Contains("1999") || itm.HostSN.ToString().Contains("1998")); - //bool has0001 = recLst.Any(itm => itm.HostSN.ToString().Contains("0001") || itm.HostSN.ToString().Contains("0002")); - bool has1999 = recLst.Any(itm => (itm.HostSN % 10000) >= 1999 - 24); - bool has0001 = recLst.Any(itm => (itm.HostSN % 10000) <= 24); - if (has1999 && has0001) - { - reportMainObj.Details = recLst.OrderBy(itm => (itm.HostSN % 10000) <= 23 ? (itm.HostSN % 10000 + 1999) : (itm.HostSN % 10000)).ToList(); - } - else - { - reportMainObj.Details = recLst.OrderBy(itm => itm.HostSN).ToList(); - } - } - } - else if (input.PrintType == PrintTypeEnum.补打) - { - if (input.M100IdList.Count > 24) - { - throw new BusinessException("1001", $"选中的柱护板补打不能超过24个底盘!"); - } + // //按大众顺序号排序 + // foreach (var reportMainObj in reportMainLst) + // { + // List recLst = reportMainObj.Details; + // if (recLst == null) + // continue; + // //bool has1999 = recLst.Any(itm => itm.HostSN.ToString().Contains("1999") || itm.HostSN.ToString().Contains("1998")); + // //bool has0001 = recLst.Any(itm => itm.HostSN.ToString().Contains("0001") || itm.HostSN.ToString().Contains("0002")); + // bool has1999 = recLst.Any(itm => (itm.HostSN % 10000) >= 1999 - 24); + // bool has0001 = recLst.Any(itm => (itm.HostSN % 10000) <= 24); + // if (has1999 && has0001) + // { + // reportMainObj.Details = recLst.OrderBy(itm => (itm.HostSN % 10000) <= 23 ? (itm.HostSN % 10000 + 1999) : (itm.HostSN % 10000)).ToList(); + // } + // else + // { + // reportMainObj.Details = recLst.OrderBy(itm => itm.HostSN).ToList(); + // } + // } + // } + // else if (input.PrintType == PrintTypeEnum.补打) + // { + // if (input.M100IdList.Count > 24) + // { + // throw new BusinessException("1001", $"选中的柱护板补打不能超过24个底盘!"); + // } - List billLst = _billM100Repository.GetListAsync(itm => input.M100IdList.Contains(itm.Id), true).GetAwaiter().GetResult(); - if (billLst.Count == 0) - { - ret.Message = "没有补打的柱护板,请先选择要补打的柱护板!"; - ret.Status = false; - return ret; - } - billLst = billLst.OrderBy(itm => itm.SerialNumStr).ToList(); + // List billLst = _billM100Repository.GetListAsync(itm => input.M100IdList.Contains(itm.Id), true).GetAwaiter().GetResult(); + // if (billLst.Count == 0) + // { + // ret.Message = "没有补打的柱护板,请先选择要补打的柱护板!"; + // ret.Status = false; + // return ret; + // } + // billLst = billLst.OrderBy(itm => itm.SerialNumStr).ToList(); - //加载柱护板缓存列表 - _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + // //加载柱护板缓存列表 + // _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 - long maxBillNum = 0; //全局唯一装箱单号 - DateTime printTime = ServerHelper.CurrentDateTime; - double maxSN; //右上角顺序号01-99 + // long maxBillNum = 0; //全局唯一装箱单号 + // DateTime printTime = ServerHelper.CurrentDateTime; + // double maxSN; //右上角顺序号01-99 - //A上C上 - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); - List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 - if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) - { - acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 - } - reportMainLst.AddRange(acLst); - forWMSLst.AddRange(acLstOnlyWMSUse); - //A柱下,A中 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); - - List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); - List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(aaLst1); - reportMainLst.AddRange(aaLst2); - forWMSLst.AddRange(aaLst1); - forWMSLst.AddRange(aaLst2); - //B柱上 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); - List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bUpLst1); - reportMainLst.AddRange(bUpLst2); - forWMSLst.AddRange(bUpLst1); - forWMSLst.AddRange(bUpLst2); - //B柱下 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); - - List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bDownLst1); - reportMainLst.AddRange(bDownLst2); - forWMSLst.AddRange(bDownLst1); - forWMSLst.AddRange(bDownLst2); - //D柱 - var lst1 = billLst.Take(12).ToList(); - var lst2 = billLst.Skip(12).ToList(); - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); - List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); - - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); - List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); - reportMainLst.AddRange(dLst1); - reportMainLst.AddRange(dLst2); - forWMSLst.AddRange(forWMSLst1); - forWMSLst.AddRange(forWMSLst2); - - //后轮,上装饰板 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); - List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); - List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(hsLst1); - reportMainLst.AddRange(hsLst2); - forWMSLst.AddRange(hsLst1); - forWMSLst.AddRange(hsLst2); - - #region 调用库存接口 - //List forWMSLst = new List(); - //forWMSLst.AddRange(reportMainLst); - //forWMSLst.AddRange(acLstOnlyWMSUse); - CallWMSInterface_ZHB(forWMSLst); - #endregion + // //A上C上 + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); + // List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 + // if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) + // { + // acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 + // } + // reportMainLst.AddRange(acLst); + // forWMSLst.AddRange(acLstOnlyWMSUse); + // //A柱下,A中 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); + + // List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(aaLst1); + // reportMainLst.AddRange(aaLst2); + // forWMSLst.AddRange(aaLst1); + // forWMSLst.AddRange(aaLst2); + // //B柱上 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); + // List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bUpLst1); + // reportMainLst.AddRange(bUpLst2); + // forWMSLst.AddRange(bUpLst1); + // forWMSLst.AddRange(bUpLst2); + // //B柱下 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); + + // List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bDownLst1); + // reportMainLst.AddRange(bDownLst2); + // forWMSLst.AddRange(bDownLst1); + // forWMSLst.AddRange(bDownLst2); + // //D柱 + // var lst1 = billLst.Take(12).ToList(); + // var lst2 = billLst.Skip(12).ToList(); + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); + // List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); + + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); + // List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); + // reportMainLst.AddRange(dLst1); + // reportMainLst.AddRange(dLst2); + // forWMSLst.AddRange(forWMSLst1); + // forWMSLst.AddRange(forWMSLst2); + + // //后轮,上装饰板 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); + // List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(hsLst1); + // reportMainLst.AddRange(hsLst2); + // forWMSLst.AddRange(hsLst1); + // forWMSLst.AddRange(hsLst2); + + // #region 调用库存接口 + // //List forWMSLst = new List(); + // //forWMSLst.AddRange(reportMainLst); + // //forWMSLst.AddRange(acLstOnlyWMSUse); + // CallWMSInterface_ZHB(forWMSLst); + // #endregion + + // //插入柱护板打印记录表 + // Guid sortId = GuidGenerator.Create(); + // foreach (var srcObj2 in reportMainLst) + // { + // srcObj2.SortId = sortId; //一次打印SortId相同 + // var ret22 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); + // } - //插入柱护板打印记录表 - Guid sortId = GuidGenerator.Create(); - foreach (var srcObj2 in reportMainLst) - { - srcObj2.SortId = sortId; //一次打印SortId相同 - var ret22 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); - } + // ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 + // var updIdLst = billLst.Select(itm => itm.Id).ToList(); + // var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); + // foreach (var updObj in updLst) + // { + // updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" + // updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 + // } + // await _billM100Repository.UpdateManyAsync(updLst, true); + // } - ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 - var updIdLst = billLst.Select(itm => itm.Id).ToList(); - var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); - foreach (var updObj in updLst) - { - updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" - updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 - } - await _billM100Repository.UpdateManyAsync(updLst, true); - } + // #region 返回结果格式转换 + // //实体 转 DTO + // List targetLst = ObjectMapper.Map, List>(reportMainLst); + // //补充空行 + // foreach (var masterObj in targetLst) + // { + // int trueCnt = masterObj.Details.Count; - #region 返回结果格式转换 - //实体 转 DTO - List targetLst = ObjectMapper.Map, List>(reportMainLst); - //补充空行 - foreach (var masterObj in targetLst) - { - int trueCnt = masterObj.Details.Count; + // int planCnt = 0; + // switch (masterObj.PartType) + // { + // case "A上C上": + // case "A柱下A中": + // case "B柱上": + // case "B柱下": + // case "后轮上装饰板": + // planCnt = 24; + // break; + // case "D柱": + // planCnt = 12; + // break; + // default: + // planCnt = 24; + // break; + // } + // if (trueCnt > planCnt) + // { + // throw new Exception($"实际打印行数{trueCnt}超过每页总行数{planCnt}, 底盘起{masterObj.BeginVin}底盘止{masterObj.EndVin}"); + // } + // int diffCnt = planCnt - trueCnt; + // for (int i = 0; i < diffCnt; i++) + // { + // ZhuHuBanPackingRecDto dtlObj = new ZhuHuBanPackingRecDto(); + // masterObj.Details.Add(dtlObj); + // } + // } + // //子表BillNum赋值, BillNum填充空格, SN赋值 + // foreach (var masterObj in targetLst) + // { + // masterObj.BillNum = GetTrueString(masterObj.BillNum); + // int sn = 1; + // foreach (var detailObj in masterObj.Details) + // { + // detailObj.BillNum = masterObj.BillNum; + // detailObj.KNR = GetTrueString(detailObj.KNR); + // detailObj.KNR = detailObj.KNR.Replace(" ", "").Replace("\n", "").Replace("\r", "").Replace("/n", "").Replace("/r", ""); + // detailObj.sn = sn++; + // detailObj.VIN = detailObj.VIN.TryToRight(6); //底盘号返回后六位 + // //客户要求显示零件描述,替换之前的零件编码 + // detailObj.PartCode = detailObj.MaterialDescription; + // detailObj.PartCode2 = detailObj.MaterialDescription2; + // detailObj.MaterialDescription = null; + // detailObj.MaterialDescription2 = null; + // } + // } - int planCnt = 0; - switch (masterObj.PartType) - { - case "A上C上": - case "A柱下A中": - case "B柱上": - case "B柱下": - case "后轮上装饰板": - planCnt = 24; - break; - case "D柱": - planCnt = 12; - break; - default: - planCnt = 24; - break; - } - if (trueCnt > planCnt) - { - throw new Exception($"实际打印行数{trueCnt}超过每页总行数{planCnt}, 底盘起{masterObj.BeginVin}底盘止{masterObj.EndVin}"); - } - int diffCnt = planCnt - trueCnt; - for (int i = 0; i < diffCnt; i++) - { - ZhuHuBanPackingRecDto dtlObj = new ZhuHuBanPackingRecDto(); - masterObj.Details.Add(dtlObj); - } - } - //子表BillNum赋值, BillNum填充空格, SN赋值 - foreach (var masterObj in targetLst) - { - masterObj.BillNum = GetTrueString(masterObj.BillNum); - int sn = 1; - foreach (var detailObj in masterObj.Details) - { - detailObj.BillNum = masterObj.BillNum; - detailObj.KNR = GetTrueString(detailObj.KNR); - detailObj.KNR = detailObj.KNR.Replace(" ", "").Replace("\n", "").Replace("\r", "").Replace("/n", "").Replace("/r", ""); - detailObj.sn = sn++; - detailObj.VIN = detailObj.VIN.TryToRight(6); //底盘号返回后六位 - //客户要求显示零件描述,替换之前的零件编码 - detailObj.PartCode = detailObj.MaterialDescription; - detailObj.PartCode2 = detailObj.MaterialDescription2; - detailObj.MaterialDescription = null; - detailObj.MaterialDescription2 = null; - } - } + // retObj.MasterList_AC = targetLst.Where(itm => itm.PartType == "A上C上").ToList(); + // if (retObj.MasterList_AC.Count == 0) retObj.IsVisibleAC = false; + // foreach (var masterObj in retObj.MasterList_AC) + // { + // retObj.DetailList_AC.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_AC = targetLst.Where(itm => itm.PartType == "A上C上").ToList(); - if (retObj.MasterList_AC.Count == 0) retObj.IsVisibleAC = false; - foreach (var masterObj in retObj.MasterList_AC) - { - retObj.DetailList_AC.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_AA = targetLst.Where(itm => itm.PartType == "A柱下A中").ToList(); + // if (retObj.MasterList_AA.Count == 0) retObj.IsVisibleAA = false; + // foreach (var masterObj in retObj.MasterList_AA) + // { + // retObj.DetailList_AA.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_AA = targetLst.Where(itm => itm.PartType == "A柱下A中").ToList(); - if (retObj.MasterList_AA.Count == 0) retObj.IsVisibleAA = false; - foreach (var masterObj in retObj.MasterList_AA) - { - retObj.DetailList_AA.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_BS = targetLst.Where(itm => itm.PartType == "B柱上").ToList(); + // if (retObj.MasterList_BS.Count == 0) retObj.IsVisibleBS = false; + // foreach (var masterObj in retObj.MasterList_BS) + // { + // retObj.DetailList_BS.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_BS = targetLst.Where(itm => itm.PartType == "B柱上").ToList(); - if (retObj.MasterList_BS.Count == 0) retObj.IsVisibleBS = false; - foreach (var masterObj in retObj.MasterList_BS) - { - retObj.DetailList_BS.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_BX = targetLst.Where(itm => itm.PartType == "B柱下").ToList(); + // if (retObj.MasterList_BX.Count == 0) retObj.IsVisibleBX = false; + // foreach (var masterObj in retObj.MasterList_BX) + // { + // retObj.DetailList_BX.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_BX = targetLst.Where(itm => itm.PartType == "B柱下").ToList(); - if (retObj.MasterList_BX.Count == 0) retObj.IsVisibleBX = false; - foreach (var masterObj in retObj.MasterList_BX) - { - retObj.DetailList_BX.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_D = targetLst.Where(itm => itm.PartType == "D柱").ToList(); + // if (retObj.MasterList_D.Count == 0) retObj.IsVisibleD = false; + // foreach (var masterObj in retObj.MasterList_D) + // { + // retObj.DetailList_D.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_D = targetLst.Where(itm => itm.PartType == "D柱").ToList(); - if (retObj.MasterList_D.Count == 0) retObj.IsVisibleD = false; - foreach (var masterObj in retObj.MasterList_D) - { - retObj.DetailList_D.AddRange(masterObj.Details); - masterObj.Details = null; - } - - retObj.MasterList_HL = targetLst.Where(itm => itm.PartType == "后轮上装饰板").ToList(); - if (retObj.MasterList_HL.Count == 0) retObj.IsVisibleHL = false; - foreach (var masterObj in retObj.MasterList_HL) - { - retObj.DetailList_HL.AddRange(masterObj.Details); - masterObj.Details = null; - } - #endregion - ret.Status = true; - return ret; - } - catch (Exception ex) - { - string errorMsg = _errorMessagePrefix + "PrintZhuHuBanPackingList 执行出错:" + ex.Message; - _logger.LogError(errorMsg); - throw new BusinessException("1001", errorMsg); - ret.Status = false; - ret.Message = ex.Message; - return ret; - } - } - - /// - /// 相同VIN的左右SortId相同,用于作废 - /// - /// - /// - //private void ModifySortId(List lst1, List lst2 = null) - //{ - // Guid sortId = GuidGenerator.Create(); - // foreach (var itm in lst1) - // { - // itm.SortId = sortId; - // } - // if (lst2 != null) - // { - // foreach (var itm in lst2) + // retObj.MasterList_HL = targetLst.Where(itm => itm.PartType == "后轮上装饰板").ToList(); + // if (retObj.MasterList_HL.Count == 0) retObj.IsVisibleHL = false; + // foreach (var masterObj in retObj.MasterList_HL) // { - // itm.SortId = sortId; + // retObj.DetailList_HL.AddRange(masterObj.Details); + // masterObj.Details = null; // } + // #endregion + // ret.Status = true; + // return ret; + // } + // catch (Exception ex) + // { + // string errorMsg = _errorMessagePrefix + "PrintZhuHuBanPackingList 执行出错:" + ex.Message; + // _logger.LogError(errorMsg); + // throw new BusinessException("1001", errorMsg); + // ret.Status = false; + // ret.Message = ex.Message; + // return ret; // } //} @@ -3064,56 +2920,56 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN /// /// 输入查询条件 /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("replenish-print-list")] - public virtual async Task> GetReplenishPrintListAsync(QueryBillM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetReplenishPrintListAsync 进入"); - try - { - input.CanNotPrint = null; //忽略不能打印 - input.ZHBBillStatus = null; - input.BillStatus = BillStatusEnum.Match; //单据状态是已解析未打印 - input.IsNeedReplenishPrint = true; //只显示需要补打的记录 - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetReplenishPrintListAsync 执行出错:" + ex.Message; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } + //[HttpGet] + //[UnitOfWork(false)] + //[Route("replenish-print-list")] + //public virtual async Task> GetReplenishPrintListAsync(QueryBillM100Dto input) + //{ + // _logger.LogDebug(_errorMessagePrefix + "GetReplenishPrintListAsync 进入"); + // try + // { + // input.CanNotPrint = null; //忽略不能打印 + // input.ZHBBillStatus = null; + // input.BillStatus = BillStatusEnum.Match; //单据状态是已解析未打印 + // input.IsNeedReplenishPrint = true; //只显示需要补打的记录 + // PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); + // return ret; + // } + // catch (Exception ex) + // { + // string errMsg = _errorMessagePrefix + "GetReplenishPrintListAsync 执行出错:" + ex.Message; + // _logger.LogError(errMsg); + // return new PagedResultDto(0, new List()); + // } + //} /// /// 取柱护板补打列表(IsNeedReplenishPrint=true、单据状态BillStatus是未打印) /// /// 输入查询条件 /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("replenish-print-zhb-list")] - public virtual async Task> GetReplenishPrintZHBListAsync(QueryBillM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetReplenishPrintZHBListAsync 进入"); - try - { - input.CanNotPrint = null; //忽略不能打印 - input.BillStatus = null; - input.ZHBBillStatus = ZHBBillStatusEnum.NotPrint; //柱护板状态是已解析未打印 - input.IsNeedReplenishPrint = true; //只显示需要补打的记录 - PagedResultDto ret = await QueryZHBByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetReplenishPrintZHBListAsync 执行出错:" + ex.Message; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } + //[HttpGet] + //[UnitOfWork(false)] + //[Route("replenish-print-zhb-list")] + //public virtual async Task> GetReplenishPrintZHBListAsync(QueryBillM100Dto input) + //{ + // _logger.LogDebug(_errorMessagePrefix + "GetReplenishPrintZHBListAsync 进入"); + // try + // { + // input.CanNotPrint = null; //忽略不能打印 + // input.BillStatus = null; + // input.ZHBBillStatus = ZHBBillStatusEnum.NotPrint; //柱护板状态是已解析未打印 + // input.IsNeedReplenishPrint = true; //只显示需要补打的记录 + // PagedResultDto ret = await QueryZHBByConditionAsync(input, (PagedAndSortedBase)input); + // return ret; + // } + // catch (Exception ex) + // { + // string errMsg = _errorMessagePrefix + "GetReplenishPrintZHBListAsync 执行出错:" + ex.Message; + // _logger.LogError(errMsg); + // return new PagedResultDto(0, new List()); + // } + //} #endregion @@ -3395,7 +3251,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN public virtual async Task>> SaveMenBanReport(MenBanPrintInputDto input) { Stopwatch sw = new Stopwatch(); - sw.Start(); + _logger.LogDebug(_errorMessagePrefix + "SaveMenBanReport 进入"); List retLst = new List(); @@ -3427,60 +3283,48 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN ret.Status = false; return ret; } - sw.Stop(); + _logger.LogWarning($"SaveMenBanReport读取数据 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); + int pageCnt = (int)Math.Ceiling(billLst.Count / 12.0); //每页打印12列,取打印页数 - double maxBillNum = 0; + //double maxBillNum = 0; + + //DateTime printTime = ServerHelper.CurrentDateTime; - DateTime printTime = ServerHelper.CurrentDateTime; + var reportSortDic = _dicItemRepository + .Where(itm => itm.DicTypeCode == "零件大类" && itm.DicItemSort2 == input.ProductLine) + .ToList() + .GroupBy(itm => itm.DicItemSort4) + .ToDictionary(itm => itm.Key, it2 => it2.Select(itm => itm.DicItemCode).ToArray()); for (int pageIdx = 0; pageIdx < pageCnt; pageIdx++) { - //取右上角顺序号:按生产线分组,取当前生产线的最大流水号:01至99循环,例如01左、01右 - double maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.门板, input.ProductLine, string.Empty); - // 先打印两张:左后左前,再打印两张:右后右前 - List leftLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "左"); - List rightLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "右"); - - //作废时需要同时作废相同VIN的左右两页,SortId相同表示是同一组左右 - Guid sortId = GuidGenerator.Create(); - foreach (var leftItm in leftLst) - { - leftItm.SortId = sortId; - } - foreach (var rightItm in rightLst) + + foreach (var reportSortItem in reportSortDic) { - rightItm.SortId = sortId; - } + //生成顺序号:按生产线分组,取当前生产线的最大流水号:001至999往复循环 + double maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.门板, input.ProductLine, string.Empty); - reportMainLst.AddRange(rightLst); - reportMainLst.AddRange(leftLst); + MenBanPackingList packingObj = DoMBPrint(input, pageIdx, maxSN, billLst, reportSortItem.Key, reportSortItem.Value); + reportMainLst.Add(packingObj); + } } - sw.Stop(); + _logger.LogWarning($"SaveMenBanReport转换数据 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); + //插入门板打印记录表 await _menBanPackingListRepository.InsertManyAsync(reportMainLst, true); retLst.AddRange(reportMainLst.Select(itm => itm.Id)); - //foreach (var reportMainObj in reportMainLst) - //{ - // var insObj = await _menBanPackingListRepository.InsertAsync(reportMainObj, true); - // if (insObj != null) - // { - // retLst.Add(insObj.Id); - // } - //} - sw.Stop(); + _logger.LogWarning($"SaveMenBanReport插入门板打印记录表 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); + //调用派格版库存接口 - await SaveMiddleTable_MB(reportMainLst); - sw.Stop(); + //await SaveMiddleTable_MB(reportMainLst); + _logger.LogWarning($"SaveMenBanReport插入中间表 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); + //更新M100的门板打印标志:BillStatus=3 foreach (BillM100 billObj in billLst) @@ -3499,103 +3343,103 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN await _billM100Repository.UpdateAsync(billObj, true); } } - sw.Stop(); + _logger.LogWarning($"SaveMenBanReport更新M100的门板打印标志 - {sw.ElapsedMilliseconds}毫秒"); } - else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 - { - throw new BusinessException("请调用LoadMenBanReport方法!"); - } - else if (input.PrintType == PrintTypeEnum.补打) - { - List billLst = _billM100Repository.Where(itm => input.M100IdList.Contains(itm.Id)).OrderBy(itm => itm.SerialNumStr).ToList(); - if (billLst.Count == 0) - { - ret.Message = "没有补打的单据,请先选择要补打的单据!"; - ret.Status = false; - return ret; - } - - int pageCnt = (int)Math.Ceiling(billLst.Count / 12.0); //每页打印12列,取打印页数 - - double maxBillNum = 0; - - DateTime printTime = ServerHelper.CurrentDateTime; - - for (int pageIdx = 0; pageIdx < pageCnt; pageIdx++) - { - //取右上角顺序号:按生产线分组,取当前生产线的最大流水号:01至99循环,例如01左、01右 - double maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.门板, input.ProductLine, string.Empty); - // 先打印两张:左后左前,再打印两张:右后右前 - List leftLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "左"); - List rightLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "右"); - - //作废时需要同时作废相同VIN的左右两页,SortId相同表示是同一组左右 - Guid sortId = GuidGenerator.Create(); - foreach (var leftItm in leftLst) - { - leftItm.SortId = sortId; - } - foreach (var rightItm in rightLst) - { - rightItm.SortId = sortId; - } - - reportMainLst.AddRange(rightLst); - reportMainLst.AddRange(leftLst); - } - //校验底盘号、零件是否重复打印 - string checkVinPartRepeatSql = @" - select top 1 a.BillNum from FisMenBanPackingList a join FisMenBanPackingRec b - on a.Id = b.MenBanPackingListId - where a.ReportStatus = 0 - and b.VIN = '{0}' and (TopSAPMaterialNum = '{1}' or BelowSAPMaterialNum = '{1}') - "; - foreach (MenBanPackingList reportMainObj in reportMainLst) - { - foreach (MenBanPackingRec reportRecObj in reportMainObj.Details) - { - string sql1 = string.Format(checkVinPartRepeatSql, reportRecObj.VIN, reportRecObj.TopSAPMaterialNum); - string checkVinPartRepeatBillNum1 = _newJitDapperRepository.GetSingleBySql(sql1, true); - if (string.IsNullOrEmpty(checkVinPartRepeatBillNum1) == false) - { - throw new BusinessException("1001", $"与装箱单号{checkVinPartRepeatBillNum1}中的底盘号{reportRecObj.VIN}、零件号{reportRecObj.TopSAPMaterialNum}之间重复!"); - } - - string sql2 = string.Format(checkVinPartRepeatSql, reportRecObj.VIN, reportRecObj.BelowSAPMaterialNum); - string checkVinPartRepeatBillNum2 = _newJitDapperRepository.GetSingleBySql(sql2, true); - if (string.IsNullOrEmpty(checkVinPartRepeatBillNum2) == false) - { - throw new BusinessException("1001", $"与装箱单号{checkVinPartRepeatBillNum2}中的底盘号{reportRecObj.VIN}、零件号{reportRecObj.BelowSAPMaterialNum}之间重复!"); - } - } - } - - //调用派格版库存接口 - await SaveMiddleTable_MB(reportMainLst); - - //插入门板打印记录表 - //await _menBanPackingListRepository.InsertManyAsync(reportMainLst); - foreach (var reportMainObj in reportMainLst) - { - var insObj = await _menBanPackingListRepository.InsertAsync(reportMainObj, true); - if (insObj != null) - { - retLst.Add(insObj.Id); - } - } - //更新M100的门板打印标志:BillStatus=3 - foreach (BillM100 billObj in billLst) - { - if (billObj.BillStatus == BillStatusEnum.Match) - { - billObj.SetBillStatus(BillStatusEnum.Publish); - billObj.PrintTime = ServerHelper.CurrentDateTime; - await _billM100Repository.UpdateAsync(billObj); - } - } - } //补打if + //else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 + //{ + // throw new BusinessException("请调用LoadMenBanReport方法!"); + //} + //else if (input.PrintType == PrintTypeEnum.补打) + //{ + // List billLst = _billM100Repository.Where(itm => input.M100IdList.Contains(itm.Id)).OrderBy(itm => itm.SerialNumStr).ToList(); + // if (billLst.Count == 0) + // { + // ret.Message = "没有补打的单据,请先选择要补打的单据!"; + // ret.Status = false; + // return ret; + // } + + // int pageCnt = (int)Math.Ceiling(billLst.Count / 12.0); //每页打印12列,取打印页数 + + // double maxBillNum = 0; + + // DateTime printTime = ServerHelper.CurrentDateTime; + + // for (int pageIdx = 0; pageIdx < pageCnt; pageIdx++) + // { + // //取右上角顺序号:按生产线分组,取当前生产线的最大流水号:01至99循环,例如01左、01右 + // double maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.门板, input.ProductLine, string.Empty); + // // 先打印两张:左后左前,再打印两张:右后右前 + // List leftLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "左"); + // List rightLst = DoMBPrint(input, pageIdx, ref maxBillNum, maxSN, printTime, billLst, "右"); + + // //作废时需要同时作废相同VIN的左右两页,SortId相同表示是同一组左右 + // Guid sortId = GuidGenerator.Create(); + // foreach (var leftItm in leftLst) + // { + // leftItm.SortId = sortId; + // } + // foreach (var rightItm in rightLst) + // { + // rightItm.SortId = sortId; + // } + + // reportMainLst.AddRange(rightLst); + // reportMainLst.AddRange(leftLst); + // } + // //校验底盘号、零件是否重复打印 + // string checkVinPartRepeatSql = @" + // select top 1 a.BillNum from FisMenBanPackingList a join FisMenBanPackingRec b + // on a.Id = b.MenBanPackingListId + // where a.ReportStatus = 0 + // and b.VIN = '{0}' and (TopSAPMaterialNum = '{1}' or BelowSAPMaterialNum = '{1}') + // "; + // foreach (MenBanPackingList reportMainObj in reportMainLst) + // { + // foreach (MenBanPackingRec reportRecObj in reportMainObj.Details) + // { + // string sql1 = string.Format(checkVinPartRepeatSql, reportRecObj.VIN, reportRecObj.PartCode2); + // string checkVinPartRepeatBillNum1 = _newJitDapperRepository.GetSingleBySql(sql1, true); + // if (string.IsNullOrEmpty(checkVinPartRepeatBillNum1) == false) + // { + // throw new BusinessException("1001", $"与装箱单号{checkVinPartRepeatBillNum1}中的底盘号{reportRecObj.VIN}、零件号{reportRecObj.PartCode2}之间重复!"); + // } + + // string sql2 = string.Format(checkVinPartRepeatSql, reportRecObj.VIN, reportRecObj.PartCode4); + // string checkVinPartRepeatBillNum2 = _newJitDapperRepository.GetSingleBySql(sql2, true); + // if (string.IsNullOrEmpty(checkVinPartRepeatBillNum2) == false) + // { + // throw new BusinessException("1001", $"与装箱单号{checkVinPartRepeatBillNum2}中的底盘号{reportRecObj.VIN}、零件号{reportRecObj.PartCode4}之间重复!"); + // } + // } + // } + + // //调用派格版库存接口 + // await SaveMiddleTable_MB(reportMainLst); + + // //插入门板打印记录表 + // //await _menBanPackingListRepository.InsertManyAsync(reportMainLst); + // foreach (var reportMainObj in reportMainLst) + // { + // var insObj = await _menBanPackingListRepository.InsertAsync(reportMainObj, true); + // if (insObj != null) + // { + // retLst.Add(insObj.Id); + // } + // } + // //更新M100的门板打印标志:BillStatus=3 + // foreach (BillM100 billObj in billLst) + // { + // if (billObj.BillStatus == BillStatusEnum.Match) + // { + // billObj.SetBillStatus(BillStatusEnum.Publish); + // billObj.PrintTime = ServerHelper.CurrentDateTime; + // await _billM100Repository.UpdateAsync(billObj); + // } + // } + //} //补打if await uow.CompleteAsync(); ret.Status = true; ret.Item = retLst; @@ -3616,13 +3460,10 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN [UnitOfWork] [HttpPost] [Route("load-menban-report")] - public virtual async Task> LoadMenBanReport(List input) + public virtual async Task> LoadMenBanReport(List input) { _logger.LogDebug(_errorMessagePrefix + "LoadMenBanReport 进入"); - MenBanPrintResultDto retObj = new MenBanPrintResultDto(); - ObjectResultDto ret = new ObjectResultDto(retObj); - ret.Status = false; try { List reportMainLst = new List(); @@ -3668,22 +3509,6 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN List targetLst = ObjectMapper.Map, List>(reportMainLst); targetLst = targetLst.OrderBy(itm => itm.BillNum).ToList(); - //补充空行 - foreach (var masterObj in targetLst) - { - int trueCnt = masterObj.Details.Count; - int planCnt = 12; - if (trueCnt > planCnt) - { - throw new Exception($"实际打印行数{trueCnt}超过每页总行数{planCnt}, 底盘起{masterObj.BeginVin}底盘止{masterObj.EndVin}"); - } - int diffCnt = planCnt - trueCnt; - for (int i = 0; i < diffCnt; i++) - { - MenBanPackingRecDto dtlObj = new MenBanPackingRecDto(); - masterObj.Details.Add(dtlObj); - } - } //子表BillNum赋值, BillNum填充空格 foreach (var masterObj in targetLst) { @@ -3693,1571 +3518,1571 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN { detailObj.BillNum = masterObj.BillNum; detailObj.KNR = GetTrueString(detailObj.KNR); - detailObj.sn = sn++; + detailObj.SN = (sn++).ToString(); detailObj.VIN = detailObj.VIN.TryToRight(6); //底盘号返回后六位 } } - //返回结果格式转换 - foreach (var masterObj in targetLst) - { - foreach (var detailObj in masterObj.Details) - { - retObj.DetailList.Add(detailObj); - } - masterObj.Details = null; - retObj.MasterList.Add(masterObj); - } #endregion - ret.Status = true; - return ret; + return targetLst; } catch (Exception ex) { string errorMsg = _errorMessagePrefix + "LoadMenBanReport 执行出错:" + ex.Message; _logger.LogError(errorMsg); - ret.Status = false; - ret.Message = ex.Message; - return ret; + throw new UserFriendlyException(errorMsg); } } - - + private static string GetTrueString(string str) + { + return str == null ? " " : str.Trim(); ; + } /// /// 打印柱护板装箱单 /// /// /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("print-group-zhuhuban-packing-list")] - public virtual async Task> PrintGroupZhuHuBanPackingList(ZhuHuBanPrintInputDto input) - { - ZhuHuBanPrintResultDto retObj = new ZhuHuBanPrintResultDto(); - ObjectResultDto ret = new ObjectResultDto(retObj); - ret.Status = false; - try - { - List reportMainLst = new List(); - List forWMSLst = new List(); + //[UnitOfWork] + //[HttpPost] + //[Route("print-group-zhuhuban-packing-list")] + //public virtual async Task> PrintGroupZhuHuBanPackingList(ZhuHuBanPrintInputDto input) + //{ + // throw new NotImplementedException(); + // ZhuHuBanPrintResultDto retObj = new ZhuHuBanPrintResultDto(); + // ObjectResultDto ret = new ObjectResultDto(retObj); + // ret.Status = false; + // try + // { + // List reportMainLst = new List(); + // List forWMSLst = new List(); - if (input.PrintType == PrintTypeEnum.正常打印) - { - if (input.BeginHostSN > input.EndHostSN) - { - ret.Message = "起大众顺序号不能大于止大众顺序号!"; - ret.Status = false; - return ret; - } - ListResultDto tempLst = await GetZHBReportDetailList(input, true); //------------------- - List billLst = tempLst.Item; - if (tempLst.Status == false) - { - ret.Message = tempLst.Message; - ret.Status = false; - return ret; - } - if (billLst.Count > 24) - { - ret.Message = "打印柱护板单据的数量不能大于24!"; - ret.Status = false; - return ret; - } - //加载柱护板缓存列表 - _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + // if (input.PrintType == PrintTypeEnum.正常打印) + // { + // if (input.BeginHostSN > input.EndHostSN) + // { + // ret.Message = "起大众顺序号不能大于止大众顺序号!"; + // ret.Status = false; + // return ret; + // } - long maxBillNum = 0; //子方法内部赋值 - DateTime printTime = ServerHelper.CurrentDateTime; - double maxSN; + // ListResultDto tempLst = await GetZHBReportDetailList(input, true); //------------------- + // List billLst = tempLst.Item; + // if (tempLst.Status == false) + // { + // ret.Message = tempLst.Message; + // ret.Status = false; + // return ret; + // } + // if (billLst.Count > 24) + // { + // ret.Message = "打印柱护板单据的数量不能大于24!"; + // ret.Status = false; + // return ret; + // } + // //加载柱护板缓存列表 + // _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 - //获取当前打印柱护板的零件类型 - var partTypes = await _printTemplateConfigurationRepository.GetListAsync(r => r.GroupName == input.GroupName); - foreach (var partType in partTypes) - { - switch (partType.PartType) - { - case "A上C上": - //A上C上 - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); - List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 - if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) - { - acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 - } - reportMainLst.AddRange(acLst); - forWMSLst.AddRange(acLstOnlyWMSUse); - break; - case "A柱下A中": - //A柱下,A中 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); + // long maxBillNum = 0; //子方法内部赋值 + // DateTime printTime = ServerHelper.CurrentDateTime; + // double maxSN; - List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); - List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(aaLst1); - reportMainLst.AddRange(aaLst2); - forWMSLst.AddRange(aaLst1); - forWMSLst.AddRange(aaLst2); + // //获取当前打印柱护板的零件类型 + // var partTypes = await _printTemplateConfigurationRepository.GetListAsync(r => r.GroupName == input.GroupName); + // foreach (var partType in partTypes) + // { + // switch (partType.PartType) + // { + // case "A上C上": + // //A上C上 + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); + // List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 + // if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) + // { + // acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 + // } + // reportMainLst.AddRange(acLst); + // forWMSLst.AddRange(acLstOnlyWMSUse); + // break; + // case "A柱下A中": + // //A柱下,A中 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); + + // List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(aaLst1); + // reportMainLst.AddRange(aaLst2); + // forWMSLst.AddRange(aaLst1); + // forWMSLst.AddRange(aaLst2); + + // break; + // case "B柱上": + // //B柱上 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); + // List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bUpLst1); + // reportMainLst.AddRange(bUpLst2); + // forWMSLst.AddRange(bUpLst1); + // forWMSLst.AddRange(bUpLst2); + // break; + // case "B柱下": + // //B柱下 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); + + // List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bDownLst1); + // reportMainLst.AddRange(bDownLst2); + // forWMSLst.AddRange(bDownLst1); + // forWMSLst.AddRange(bDownLst2); + // break; + // case "D柱": + // //D柱 + // var lst1 = billLst.Take(12).ToList(); + // var lst2 = billLst.Skip(12).ToList(); + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); //左用于打印 + // List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); //左右用于库存接口 + + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); + // List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); + // reportMainLst.AddRange(dLst1); + // reportMainLst.AddRange(dLst2); + // forWMSLst.AddRange(forWMSLst1); + // forWMSLst.AddRange(forWMSLst2); + // break; + // case "后轮上装饰板": + // //后轮,上装饰板 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); + // List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(hsLst1); + // reportMainLst.AddRange(hsLst2); + // forWMSLst.AddRange(hsLst1); + // forWMSLst.AddRange(hsLst2); + // break; + // } + // } - break; - case "B柱上": - //B柱上 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); - List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bUpLst1); - reportMainLst.AddRange(bUpLst2); - forWMSLst.AddRange(bUpLst1); - forWMSLst.AddRange(bUpLst2); - break; - case "B柱下": - //B柱下 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); - - List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bDownLst1); - reportMainLst.AddRange(bDownLst2); - forWMSLst.AddRange(bDownLst1); - forWMSLst.AddRange(bDownLst2); - break; - case "D柱": - //D柱 - var lst1 = billLst.Take(12).ToList(); - var lst2 = billLst.Skip(12).ToList(); - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); //左用于打印 - List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); //左右用于库存接口 - - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); - List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); - reportMainLst.AddRange(dLst1); - reportMainLst.AddRange(dLst2); - forWMSLst.AddRange(forWMSLst1); - forWMSLst.AddRange(forWMSLst2); - break; - case "后轮上装饰板": - //后轮,上装饰板 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); - List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); - List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(hsLst1); - reportMainLst.AddRange(hsLst2); - forWMSLst.AddRange(hsLst1); - forWMSLst.AddRange(hsLst2); - break; - } - } + // #region 调用库存接口 + // //List forWMSLst = new List(); + // //forWMSLst.AddRange(reportMainLst); + // //forWMSLst.AddRange(acLstOnlyWMSUse); + // CallWMSInterface_ZHB(forWMSLst); + // #endregion - #region 调用库存接口 - //List forWMSLst = new List(); - //forWMSLst.AddRange(reportMainLst); - //forWMSLst.AddRange(acLstOnlyWMSUse); - CallWMSInterface_ZHB(forWMSLst); - #endregion + // //插入柱护板打印记录表 + // Guid sortId = GuidGenerator.Create(); + // foreach (var srcObj2 in reportMainLst) + // { + // srcObj2.SortId = sortId; //一次打印SortId相同 + // var ret22 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); + // } - //插入柱护板打印记录表 - Guid sortId = GuidGenerator.Create(); - foreach (var srcObj2 in reportMainLst) - { - srcObj2.SortId = sortId; //一次打印SortId相同 - var ret22 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); - } + // ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 + // var updIdLst = billLst.Select(itm => itm.Id).ToList(); + // var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); + // foreach (var updObj in updLst) + // { + // updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" + // updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 + // } + // await _billM100Repository.UpdateManyAsync(updLst, true); - ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 - var updIdLst = billLst.Select(itm => itm.Id).ToList(); - var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); - foreach (var updObj in updLst) - { - updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" - updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 - } - await _billM100Repository.UpdateManyAsync(updLst, true); + // } + // else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 + // { + // if (input.DataResultType == "1") //全部11条数据 + // { + // var firObj = await _zhuHuBanPackingListRepository.FirstOrDefaultAsync(itm => input.ReportIdList.Contains(itm.Id)); + // if (firObj != null) + // { + // Guid? sortId = firObj.SortId; + // reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId, true); + // } + // } + // else + // { + // reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => input.ReportIdList.Contains(itm.Id), true); + // } - } - else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 - { - if (input.DataResultType == "1") //全部11条数据 - { - var firObj = await _zhuHuBanPackingListRepository.FirstOrDefaultAsync(itm => input.ReportIdList.Contains(itm.Id)); - if (firObj != null) - { - Guid? sortId = firObj.SortId; - reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId, true); - } - } - else - { - reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => input.ReportIdList.Contains(itm.Id), true); - } + // //按大众顺序号排序 + // foreach (var reportMainObj in reportMainLst) + // { + // List recLst = reportMainObj.Details; + // if (recLst == null) + // continue; + // //bool has1999 = recLst.Any(itm => itm.HostSN.ToString().Contains("1999") || itm.HostSN.ToString().Contains("1998")); + // //bool has0001 = recLst.Any(itm => itm.HostSN.ToString().Contains("0001") || itm.HostSN.ToString().Contains("0002")); + // bool has1999 = recLst.Any(itm => (itm.HostSN % 10000) >= 1977); + // bool has0001 = recLst.Any(itm => (itm.HostSN % 10000) <= 23); + // if (has1999 && has0001) + // { + // reportMainObj.Details = recLst.OrderBy(itm => (itm.HostSN % 10000) <= 23 ? (itm.HostSN % 10000 + 1999) : (itm.HostSN % 10000)).ToList(); + // } + // else + // { + // reportMainObj.Details = recLst.OrderBy(itm => itm.HostSN).ToList(); + // } + // } + // } + // else if (input.PrintType == PrintTypeEnum.补打) + // { + // if (input.M100IdList.Count > 24) + // { + // throw new BusinessException("1001", $"选中的柱护板补打不能超过24个底盘!"); + // } - //按大众顺序号排序 - foreach (var reportMainObj in reportMainLst) - { - List recLst = reportMainObj.Details; - if (recLst == null) - continue; - //bool has1999 = recLst.Any(itm => itm.HostSN.ToString().Contains("1999") || itm.HostSN.ToString().Contains("1998")); - //bool has0001 = recLst.Any(itm => itm.HostSN.ToString().Contains("0001") || itm.HostSN.ToString().Contains("0002")); - bool has1999 = recLst.Any(itm => (itm.HostSN % 10000) >= 1977); - bool has0001 = recLst.Any(itm => (itm.HostSN % 10000) <= 23); - if (has1999 && has0001) - { - reportMainObj.Details = recLst.OrderBy(itm => (itm.HostSN % 10000) <= 23 ? (itm.HostSN % 10000 + 1999) : (itm.HostSN % 10000)).ToList(); - } - else - { - reportMainObj.Details = recLst.OrderBy(itm => itm.HostSN).ToList(); - } - } - } - else if (input.PrintType == PrintTypeEnum.补打) - { - if (input.M100IdList.Count > 24) - { - throw new BusinessException("1001", $"选中的柱护板补打不能超过24个底盘!"); - } + // List billLst = _billM100Repository.GetListAsync(itm => input.M100IdList.Contains(itm.Id), true).GetAwaiter().GetResult(); + // if (billLst.Count == 0) + // { + // ret.Message = "没有补打的柱护板,请先选择要补打的柱护板!"; + // ret.Status = false; + // return ret; + // } + // billLst = billLst.OrderBy(itm => itm.SerialNumStr).ToList(); - List billLst = _billM100Repository.GetListAsync(itm => input.M100IdList.Contains(itm.Id), true).GetAwaiter().GetResult(); - if (billLst.Count == 0) - { - ret.Message = "没有补打的柱护板,请先选择要补打的柱护板!"; - ret.Status = false; - return ret; - } - billLst = billLst.OrderBy(itm => itm.SerialNumStr).ToList(); + // //加载柱护板缓存列表 + // _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 - //加载柱护板缓存列表 - _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + // long maxBillNum = 0; //全局唯一装箱单号 + // DateTime printTime = ServerHelper.CurrentDateTime; + // double maxSN; //右上角顺序号01-99 - long maxBillNum = 0; //全局唯一装箱单号 - DateTime printTime = ServerHelper.CurrentDateTime; - double maxSN; //右上角顺序号01-99 + // //A上C上 + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); + // List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 + // if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) + // { + // acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 + // } + // reportMainLst.AddRange(acLst); + // forWMSLst.AddRange(acLstOnlyWMSUse); + // //A柱下,A中 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); + + // List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(aaLst1); + // reportMainLst.AddRange(aaLst2); + // forWMSLst.AddRange(aaLst1); + // forWMSLst.AddRange(aaLst2); + // //B柱上 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); + // List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bUpLst1); + // reportMainLst.AddRange(bUpLst2); + // forWMSLst.AddRange(bUpLst1); + // forWMSLst.AddRange(bUpLst2); + // //B柱下 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); + + // List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bDownLst1); + // reportMainLst.AddRange(bDownLst2); + // forWMSLst.AddRange(bDownLst1); + // forWMSLst.AddRange(bDownLst2); + // //D柱 + // var lst1 = billLst.Take(12).ToList(); + // var lst2 = billLst.Skip(12).ToList(); + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); + // List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); + + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); + // List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); + // reportMainLst.AddRange(dLst1); + // reportMainLst.AddRange(dLst2); + // forWMSLst.AddRange(forWMSLst1); + // forWMSLst.AddRange(forWMSLst2); + + // //后轮,上装饰板 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); + // List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(hsLst1); + // reportMainLst.AddRange(hsLst2); + // forWMSLst.AddRange(hsLst1); + // forWMSLst.AddRange(hsLst2); + + // #region 调用库存接口 + // //List forWMSLst = new List(); + // //forWMSLst.AddRange(reportMainLst); + // //forWMSLst.AddRange(acLstOnlyWMSUse); + // CallWMSInterface_ZHB(forWMSLst); + // #endregion + + // //插入柱护板打印记录表 + // Guid sortId = GuidGenerator.Create(); + // foreach (var srcObj2 in reportMainLst) + // { + // srcObj2.SortId = sortId; //一次打印SortId相同 + // var ret22 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); + // } - //A上C上 - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); - List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 - if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) - { - acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 - } - reportMainLst.AddRange(acLst); - forWMSLst.AddRange(acLstOnlyWMSUse); - //A柱下,A中 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); - - List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); - List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(aaLst1); - reportMainLst.AddRange(aaLst2); - forWMSLst.AddRange(aaLst1); - forWMSLst.AddRange(aaLst2); - //B柱上 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); - List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bUpLst1); - reportMainLst.AddRange(bUpLst2); - forWMSLst.AddRange(bUpLst1); - forWMSLst.AddRange(bUpLst2); - //B柱下 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); - - List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bDownLst1); - reportMainLst.AddRange(bDownLst2); - forWMSLst.AddRange(bDownLst1); - forWMSLst.AddRange(bDownLst2); - //D柱 - var lst1 = billLst.Take(12).ToList(); - var lst2 = billLst.Skip(12).ToList(); - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); - List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); - - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); - List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); - reportMainLst.AddRange(dLst1); - reportMainLst.AddRange(dLst2); - forWMSLst.AddRange(forWMSLst1); - forWMSLst.AddRange(forWMSLst2); - - //后轮,上装饰板 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); - List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); - List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(hsLst1); - reportMainLst.AddRange(hsLst2); - forWMSLst.AddRange(hsLst1); - forWMSLst.AddRange(hsLst2); - - #region 调用库存接口 - //List forWMSLst = new List(); - //forWMSLst.AddRange(reportMainLst); - //forWMSLst.AddRange(acLstOnlyWMSUse); - CallWMSInterface_ZHB(forWMSLst); - #endregion + // ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 + // var updIdLst = billLst.Select(itm => itm.Id).ToList(); + // var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); + // foreach (var updObj in updLst) + // { + // updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" + // updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 + // } + // await _billM100Repository.UpdateManyAsync(updLst, true); + // } - //插入柱护板打印记录表 - Guid sortId = GuidGenerator.Create(); - foreach (var srcObj2 in reportMainLst) - { - srcObj2.SortId = sortId; //一次打印SortId相同 - var ret22 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); - } + // #region 返回结果格式转换 + // //实体 转 DTO + // List targetLst = ObjectMapper.Map, List>(reportMainLst); + // //补充空行 + // foreach (var masterObj in targetLst) + // { + // int trueCnt = masterObj.Details.Count; - ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 - var updIdLst = billLst.Select(itm => itm.Id).ToList(); - var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); - foreach (var updObj in updLst) - { - updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" - updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 - } - await _billM100Repository.UpdateManyAsync(updLst, true); - } - - #region 返回结果格式转换 - //实体 转 DTO - List targetLst = ObjectMapper.Map, List>(reportMainLst); - //补充空行 - foreach (var masterObj in targetLst) - { - int trueCnt = masterObj.Details.Count; - - int planCnt = 0; - switch (masterObj.PartType) - { - case "A上C上": - case "A柱下A中": - case "B柱上": - case "B柱下": - case "后轮上装饰板": - planCnt = 24; - break; - case "D柱": - planCnt = 12; - break; - default: - planCnt = 24; - break; - } - if (trueCnt > planCnt) - { - throw new Exception($"实际打印行数{trueCnt}超过每页总行数{planCnt}, 底盘起{masterObj.BeginVin}底盘止{masterObj.EndVin}"); - } - int diffCnt = planCnt - trueCnt; - for (int i = 0; i < diffCnt; i++) - { - ZhuHuBanPackingRecDto dtlObj = new ZhuHuBanPackingRecDto(); - masterObj.Details.Add(dtlObj); - } - } - //子表BillNum赋值, BillNum填充空格, SN赋值 - foreach (var masterObj in targetLst) - { - masterObj.BillNum = GetTrueString(masterObj.BillNum); - int sn = 1; - foreach (var detailObj in masterObj.Details) - { - detailObj.BillNum = masterObj.BillNum; - detailObj.KNR = GetTrueString(detailObj.KNR); - detailObj.KNR = detailObj.KNR.Replace(" ", "").Replace("\n", "").Replace("\r", "").Replace("/n", "").Replace("/r", ""); - detailObj.sn = sn++; - detailObj.VIN = detailObj.VIN.TryToRight(6); //底盘号返回后六位 - //客户要求显示零件描述,替换之前的零件编码 - detailObj.PartCode = detailObj.MaterialDescription; - detailObj.PartCode2 = detailObj.MaterialDescription2; - detailObj.MaterialDescription = null; - detailObj.MaterialDescription2 = null; - } - } + // int planCnt = 0; + // switch (masterObj.PartType) + // { + // case "A上C上": + // case "A柱下A中": + // case "B柱上": + // case "B柱下": + // case "后轮上装饰板": + // planCnt = 24; + // break; + // case "D柱": + // planCnt = 12; + // break; + // default: + // planCnt = 24; + // break; + // } + // if (trueCnt > planCnt) + // { + // throw new Exception($"实际打印行数{trueCnt}超过每页总行数{planCnt}, 底盘起{masterObj.BeginVin}底盘止{masterObj.EndVin}"); + // } + // int diffCnt = planCnt - trueCnt; + // for (int i = 0; i < diffCnt; i++) + // { + // ZhuHuBanPackingRecDto dtlObj = new ZhuHuBanPackingRecDto(); + // masterObj.Details.Add(dtlObj); + // } + // } + // //子表BillNum赋值, BillNum填充空格, SN赋值 + // foreach (var masterObj in targetLst) + // { + // masterObj.BillNum = GetTrueString(masterObj.BillNum); + // int sn = 1; + // foreach (var detailObj in masterObj.Details) + // { + // detailObj.BillNum = masterObj.BillNum; + // detailObj.KNR = GetTrueString(detailObj.KNR); + // detailObj.KNR = detailObj.KNR.Replace(" ", "").Replace("\n", "").Replace("\r", "").Replace("/n", "").Replace("/r", ""); + // detailObj.sn = sn++; + // detailObj.VIN = detailObj.VIN.TryToRight(6); //底盘号返回后六位 + // //客户要求显示零件描述,替换之前的零件编码 + // detailObj.PartCode = detailObj.MaterialDescription; + // detailObj.PartCode2 = detailObj.MaterialDescription2; + // detailObj.MaterialDescription = null; + // detailObj.MaterialDescription2 = null; + // } + // } - retObj.MasterList_AC = targetLst.Where(itm => itm.PartType == "A上C上").ToList(); - if (retObj.MasterList_AC.Count == 0) retObj.IsVisibleAC = false; - foreach (var masterObj in retObj.MasterList_AC) - { - retObj.DetailList_AC.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_AC = targetLst.Where(itm => itm.PartType == "A上C上").ToList(); + // if (retObj.MasterList_AC.Count == 0) retObj.IsVisibleAC = false; + // foreach (var masterObj in retObj.MasterList_AC) + // { + // retObj.DetailList_AC.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_AA = targetLst.Where(itm => itm.PartType == "A柱下A中").ToList(); - if (retObj.MasterList_AA.Count == 0) retObj.IsVisibleAA = false; - foreach (var masterObj in retObj.MasterList_AA) - { - retObj.DetailList_AA.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_AA = targetLst.Where(itm => itm.PartType == "A柱下A中").ToList(); + // if (retObj.MasterList_AA.Count == 0) retObj.IsVisibleAA = false; + // foreach (var masterObj in retObj.MasterList_AA) + // { + // retObj.DetailList_AA.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_BS = targetLst.Where(itm => itm.PartType == "B柱上").ToList(); - if (retObj.MasterList_BS.Count == 0) retObj.IsVisibleBS = false; - foreach (var masterObj in retObj.MasterList_BS) - { - retObj.DetailList_BS.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_BS = targetLst.Where(itm => itm.PartType == "B柱上").ToList(); + // if (retObj.MasterList_BS.Count == 0) retObj.IsVisibleBS = false; + // foreach (var masterObj in retObj.MasterList_BS) + // { + // retObj.DetailList_BS.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_BX = targetLst.Where(itm => itm.PartType == "B柱下").ToList(); - if (retObj.MasterList_BX.Count == 0) retObj.IsVisibleBX = false; - foreach (var masterObj in retObj.MasterList_BX) - { - retObj.DetailList_BX.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_BX = targetLst.Where(itm => itm.PartType == "B柱下").ToList(); + // if (retObj.MasterList_BX.Count == 0) retObj.IsVisibleBX = false; + // foreach (var masterObj in retObj.MasterList_BX) + // { + // retObj.DetailList_BX.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_D = targetLst.Where(itm => itm.PartType == "D柱").ToList(); - if (retObj.MasterList_D.Count == 0) retObj.IsVisibleD = false; - foreach (var masterObj in retObj.MasterList_D) - { - retObj.DetailList_D.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_D = targetLst.Where(itm => itm.PartType == "D柱").ToList(); + // if (retObj.MasterList_D.Count == 0) retObj.IsVisibleD = false; + // foreach (var masterObj in retObj.MasterList_D) + // { + // retObj.DetailList_D.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_HL = targetLst.Where(itm => itm.PartType == "后轮上装饰板").ToList(); - if (retObj.MasterList_HL.Count == 0) retObj.IsVisibleHL = false; - foreach (var masterObj in retObj.MasterList_HL) - { - retObj.DetailList_HL.AddRange(masterObj.Details); - masterObj.Details = null; - } - #endregion - ret.Status = true; - return ret; - } - catch (Exception ex) - { - string errorMsg = _errorMessagePrefix + "PrintZhuHuBanPackingList 执行出错:" + ex.Message; - _logger.LogError(errorMsg); - throw new BusinessException("1001", errorMsg); - ret.Status = false; - ret.Message = ex.Message; - return ret; - } - } + // retObj.MasterList_HL = targetLst.Where(itm => itm.PartType == "后轮上装饰板").ToList(); + // if (retObj.MasterList_HL.Count == 0) retObj.IsVisibleHL = false; + // foreach (var masterObj in retObj.MasterList_HL) + // { + // retObj.DetailList_HL.AddRange(masterObj.Details); + // masterObj.Details = null; + // } + // #endregion + // ret.Status = true; + // return ret; + // } + // catch (Exception ex) + // { + // string errorMsg = _errorMessagePrefix + "PrintZhuHuBanPackingList 执行出错:" + ex.Message; + // _logger.LogError(errorMsg); + // throw new BusinessException("1001", errorMsg); + // ret.Status = false; + // ret.Message = ex.Message; + // return ret; + // } + //} /// /// 保存柱护板装箱单报表 /// - [UnitOfWork] - [HttpPost] - [Route("save-group-zhuhuban-report")] - public virtual async Task>> SaveGroupZhuHuBanReport(ZhuHuBanPrintInputDto input) - { - _logger.LogDebug(_errorMessagePrefix + "SaveGroupZhuHuBanReport 进入"); + //[UnitOfWork] + //[HttpPost] + //[Route("save-group-zhuhuban-report")] + //public virtual async Task>> SaveGroupZhuHuBanReport(ZhuHuBanPrintInputDto input) + //{ + // throw new NotImplementedException(); - List retLst = new List(); - ObjectResultDto> ret = new ObjectResultDto>(); - ret.Status = false; - using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true, isolationLevel: System.Data.IsolationLevel.Unspecified )) - { - try - { - List reportMainLst = new List(); - List forWMSLst = new List(); + // _logger.LogDebug(_errorMessagePrefix + "SaveGroupZhuHuBanReport 进入"); - if (input.PrintType == PrintTypeEnum.正常打印) - { - if (input.BeginHostSN > input.EndHostSN) - { - ret.Message = "起大众顺序号不能大于止大众顺序号!"; - ret.Status = false; - return ret; - } + // List retLst = new List(); + // ObjectResultDto> ret = new ObjectResultDto>(); + // ret.Status = false; + // using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true, isolationLevel: System.Data.IsolationLevel.Unspecified )) + // { + // try + // { + // List reportMainLst = new List(); + // List forWMSLst = new List(); - ListResultDto tempLst = await GetZHBReportDetailList(input, true); //------------------- - List billLst = tempLst.Item; - if (tempLst.Status == false) - { - ret.Message = tempLst.Message; - ret.Status = false; - return ret; - } - if (billLst.Count > 24) - { - ret.Message = "打印柱护板单据的数量不能大于24!"; - ret.Status = false; - return ret; - } - //加载柱护板缓存列表 - _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + // if (input.PrintType == PrintTypeEnum.正常打印) + // { + // if (input.BeginHostSN > input.EndHostSN) + // { + // ret.Message = "起大众顺序号不能大于止大众顺序号!"; + // ret.Status = false; + // return ret; + // } - long maxBillNum = 0; //子方法内部赋值 - DateTime printTime = ServerHelper.CurrentDateTime; - double maxSN; + // ListResultDto tempLst = await GetZHBReportDetailList(input, true); //------------------- + // List billLst = tempLst.Item; + // if (tempLst.Status == false) + // { + // ret.Message = tempLst.Message; + // ret.Status = false; + // return ret; + // } + // if (billLst.Count > 24) + // { + // ret.Message = "打印柱护板单据的数量不能大于24!"; + // ret.Status = false; + // return ret; + // } + // //加载柱护板缓存列表 + // _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + // long maxBillNum = 0; //子方法内部赋值 + // DateTime printTime = ServerHelper.CurrentDateTime; + // double maxSN; - - //获取当前打印柱护板的零件类型 - var partTypes = await _printTemplateConfigurationRepository.GetListAsync(r => r.GroupName == input.GroupName); - foreach (var partType in partTypes) - { - switch (partType.PartType) - { - case "A上C上": - //A上C上 - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); - List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 - if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) - { - acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 - } - reportMainLst.AddRange(acLst); - forWMSLst.AddRange(acLstOnlyWMSUse); - break; - case "A柱下A中": - //A柱下,A中 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); - - List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); - List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(aaLst1); - reportMainLst.AddRange(aaLst2); - forWMSLst.AddRange(aaLst1); - forWMSLst.AddRange(aaLst2); - break; - case "B柱上": - //B柱上 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); - List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bUpLst1); - reportMainLst.AddRange(bUpLst2); - forWMSLst.AddRange(bUpLst1); - forWMSLst.AddRange(bUpLst2); - break; - case "B柱下": - //B柱下 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); - - List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bDownLst1); - reportMainLst.AddRange(bDownLst2); - forWMSLst.AddRange(bDownLst1); - forWMSLst.AddRange(bDownLst2); - break; - case "D柱": - //D柱 - var lst1 = billLst.Take(12).ToList(); - var lst2 = billLst.Skip(12).ToList(); - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); //左用于打印 - List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); //左右用于库存接口 - - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); - List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); - reportMainLst.AddRange(dLst1); - reportMainLst.AddRange(dLst2); - forWMSLst.AddRange(forWMSLst1); - forWMSLst.AddRange(forWMSLst2); - break; - case "后轮上装饰板": - //后轮,上装饰板 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); - List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); - List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(hsLst1); - reportMainLst.AddRange(hsLst2); - forWMSLst.AddRange(hsLst1); - forWMSLst.AddRange(hsLst2); - break; - } - } - #region 调用库存接口 - await SaveMiddleTable_ZHB(forWMSLst); - #endregion - //插入柱护板打印记录表 - Guid sortId = GuidGenerator.Create(); - foreach (var srcObj2 in reportMainLst) - { - srcObj2.SortId = sortId; //一次打印SortId相同 - var insObj2 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); - if (insObj2 != null) - { - retLst.Add(insObj2.Id); - } - } - ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 - var updIdLst = billLst.Select(itm => itm.Id).ToList(); - var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); - List list = new List(); - foreach (var updObj in updLst) - { - ZHBPrintStatus item = new ZHBPrintStatus( - GuidGenerator.Create(), - updObj.VIN, - input.GroupName, - 1 - ); - list.Add(item); - - updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" - updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 - } - await _zHBPrintStatusRepository.InsertManyAsync(list);//柱护板插入状态 - await _billM100Repository.UpdateManyAsync(updLst, true); - } - else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 - { - throw new BusinessException("请调用LoadZhuHuBanReport方法!"); - } - else if (input.PrintType == PrintTypeEnum.补打) - { - if (input.M100IdList.Count > 24) - { - throw new BusinessException("1001", $"选中的柱护板补打不能超过24个底盘!"); - } + // //获取当前打印柱护板的零件类型 + // var partTypes = await _printTemplateConfigurationRepository.GetListAsync(r => r.GroupName == input.GroupName); + // foreach (var partType in partTypes) + // { + // switch (partType.PartType) + // { + // case "A上C上": + // //A上C上 + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); + // List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 + // if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) + // { + // acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 + // } + // reportMainLst.AddRange(acLst); + // forWMSLst.AddRange(acLstOnlyWMSUse); + // break; + // case "A柱下A中": + // //A柱下,A中 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); + + // List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(aaLst1); + // reportMainLst.AddRange(aaLst2); + // forWMSLst.AddRange(aaLst1); + // forWMSLst.AddRange(aaLst2); + // break; + // case "B柱上": + // //B柱上 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); + // List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bUpLst1); + // reportMainLst.AddRange(bUpLst2); + // forWMSLst.AddRange(bUpLst1); + // forWMSLst.AddRange(bUpLst2); + // break; + // case "B柱下": + // //B柱下 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); + + // List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bDownLst1); + // reportMainLst.AddRange(bDownLst2); + // forWMSLst.AddRange(bDownLst1); + // forWMSLst.AddRange(bDownLst2); + // break; + // case "D柱": + // //D柱 + // var lst1 = billLst.Take(12).ToList(); + // var lst2 = billLst.Skip(12).ToList(); + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); //左用于打印 + // List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); //左右用于库存接口 + + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); + // List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); + // reportMainLst.AddRange(dLst1); + // reportMainLst.AddRange(dLst2); + // forWMSLst.AddRange(forWMSLst1); + // forWMSLst.AddRange(forWMSLst2); + // break; + // case "后轮上装饰板": + // //后轮,上装饰板 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); + // List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(hsLst1); + // reportMainLst.AddRange(hsLst2); + // forWMSLst.AddRange(hsLst1); + // forWMSLst.AddRange(hsLst2); + // break; + // } + // } + // #region 调用库存接口 + // await SaveMiddleTable_ZHB(forWMSLst); + // #endregion - List billLst = _billM100Repository.GetListAsync(itm => input.M100IdList.Contains(itm.Id), true).GetAwaiter().GetResult(); - if (billLst.Count == 0) - { - ret.Message = "没有补打的柱护板,请先选择要补打的柱护板!"; - ret.Status = false; - return ret; - } - billLst = billLst.OrderBy(itm => itm.SerialNumStr).ToList(); + // //插入柱护板打印记录表 + // Guid sortId = GuidGenerator.Create(); + // foreach (var srcObj2 in reportMainLst) + // { + // srcObj2.SortId = sortId; //一次打印SortId相同 + // var insObj2 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); + // if (insObj2 != null) + // { + // retLst.Add(insObj2.Id); + // } + // } - //加载柱护板缓存列表 - _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + // ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 + // var updIdLst = billLst.Select(itm => itm.Id).ToList(); + // var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); + // List list = new List(); + // foreach (var updObj in updLst) + // { + // ZHBPrintStatus item = new ZHBPrintStatus( + // GuidGenerator.Create(), + // updObj.VIN, + // input.GroupName, + // 1 + // ); + // list.Add(item); + + // updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" + // updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 + // } + // await _zHBPrintStatusRepository.InsertManyAsync(list);//柱护板插入状态 + // await _billM100Repository.UpdateManyAsync(updLst, true); + // } + // else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 + // { + // throw new BusinessException("请调用LoadZhuHuBanReport方法!"); + // } + // else if (input.PrintType == PrintTypeEnum.补打) + // { + // if (input.M100IdList.Count > 24) + // { + // throw new BusinessException("1001", $"选中的柱护板补打不能超过24个底盘!"); + // } - long maxBillNum = 0; //全局唯一装箱单号 - DateTime printTime = ServerHelper.CurrentDateTime; - double maxSN; //右上角顺序号01-99 + // List billLst = _billM100Repository.GetListAsync(itm => input.M100IdList.Contains(itm.Id), true).GetAwaiter().GetResult(); + // if (billLst.Count == 0) + // { + // ret.Message = "没有补打的柱护板,请先选择要补打的柱护板!"; + // ret.Status = false; + // return ret; + // } + // billLst = billLst.OrderBy(itm => itm.SerialNumStr).ToList(); - //获取当前打印柱护板的零件类型 - var partTypes = await _printTemplateConfigurationRepository.GetListAsync(r => r.GroupName == input.GroupName); - foreach (var partType in partTypes) - { - switch (partType.PartType) - { - case "A上C上": - //A上C上 - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); - List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 - if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) - { - acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 - } - reportMainLst.AddRange(acLst); - forWMSLst.AddRange(acLstOnlyWMSUse); - break; - case "A柱下A中": - //A柱下,A中 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); - - List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); - List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(aaLst1); - reportMainLst.AddRange(aaLst2); - forWMSLst.AddRange(aaLst1); - forWMSLst.AddRange(aaLst2); - break; - case "B柱上": - - //B柱上 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); - List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bUpLst1); - reportMainLst.AddRange(bUpLst2); - forWMSLst.AddRange(bUpLst1); - forWMSLst.AddRange(bUpLst2); - break; - case "B柱下": - //B柱下 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); - - List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bDownLst1); - reportMainLst.AddRange(bDownLst2); - forWMSLst.AddRange(bDownLst1); - forWMSLst.AddRange(bDownLst2); - break; - case "D柱": - //D柱 - var lst1 = billLst.Take(12).ToList(); - var lst2 = billLst.Skip(12).ToList(); - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); - List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); - - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); - List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); - reportMainLst.AddRange(dLst1); - reportMainLst.AddRange(dLst2); - forWMSLst.AddRange(forWMSLst1); - forWMSLst.AddRange(forWMSLst2); - - break; - case "后轮上装饰板": - //后轮,上装饰板 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); - List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); - List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(hsLst1); - reportMainLst.AddRange(hsLst2); - forWMSLst.AddRange(hsLst1); - forWMSLst.AddRange(hsLst2); - - break; - } - } - #region 调用库存接口 - await SaveMiddleTable_ZHB(forWMSLst); - #endregion + // //加载柱护板缓存列表 + // _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 - //插入柱护板打印记录表 - Guid sortId = GuidGenerator.Create(); - foreach (var srcObj2 in reportMainLst) - { - srcObj2.SortId = sortId; //一次打印SortId相同 - var insObj2 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); - if (insObj2 != null) - { - retLst.Add(insObj2.Id); - } - } + // long maxBillNum = 0; //全局唯一装箱单号 + // DateTime printTime = ServerHelper.CurrentDateTime; + // double maxSN; //右上角顺序号01-99 - ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 - var updIdLst = billLst.Select(itm => itm.Id).ToList(); - var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); - foreach (var updObj in updLst) - { - updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" - updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 - } - await _billM100Repository.UpdateManyAsync(updLst, true); - } //补打if + // //获取当前打印柱护板的零件类型 + // var partTypes = await _printTemplateConfigurationRepository.GetListAsync(r => r.GroupName == input.GroupName); + // foreach (var partType in partTypes) + // { + // switch (partType.PartType) + // { + // case "A上C上": + // //A上C上 + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); + // List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 + // if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) + // { + // acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 + // } + // reportMainLst.AddRange(acLst); + // forWMSLst.AddRange(acLstOnlyWMSUse); + // break; + // case "A柱下A中": + // //A柱下,A中 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); + + // List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(aaLst1); + // reportMainLst.AddRange(aaLst2); + // forWMSLst.AddRange(aaLst1); + // forWMSLst.AddRange(aaLst2); + // break; + // case "B柱上": + + // //B柱上 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); + // List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bUpLst1); + // reportMainLst.AddRange(bUpLst2); + // forWMSLst.AddRange(bUpLst1); + // forWMSLst.AddRange(bUpLst2); + // break; + // case "B柱下": + // //B柱下 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); + + // List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bDownLst1); + // reportMainLst.AddRange(bDownLst2); + // forWMSLst.AddRange(bDownLst1); + // forWMSLst.AddRange(bDownLst2); + // break; + // case "D柱": + // //D柱 + // var lst1 = billLst.Take(12).ToList(); + // var lst2 = billLst.Skip(12).ToList(); + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); + // List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); + + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); + // List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); + // reportMainLst.AddRange(dLst1); + // reportMainLst.AddRange(dLst2); + // forWMSLst.AddRange(forWMSLst1); + // forWMSLst.AddRange(forWMSLst2); + + // break; + // case "后轮上装饰板": + // //后轮,上装饰板 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); + // List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(hsLst1); + // reportMainLst.AddRange(hsLst2); + // forWMSLst.AddRange(hsLst1); + // forWMSLst.AddRange(hsLst2); + + // break; + // } + // } + // #region 调用库存接口 + // await SaveMiddleTable_ZHB(forWMSLst); + // #endregion - await uow.CompleteAsync(); - ret.Status = true; - ret.Item = retLst; - return ret; - } - catch (Exception ex) - { - await uow.RollbackAsync(); - string errorMsg = _errorMessagePrefix + "SaveGroupZhuHuBanReport 执行出错:" + ex.Message; - _logger.LogError(errorMsg); - //throw new BusinessException("1001", errorMsg); - ret.Status = false; - ret.Message = ex.Message; - return ret; - } + // //插入柱护板打印记录表 + // Guid sortId = GuidGenerator.Create(); + // foreach (var srcObj2 in reportMainLst) + // { + // srcObj2.SortId = sortId; //一次打印SortId相同 + // var insObj2 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); + // if (insObj2 != null) + // { + // retLst.Add(insObj2.Id); + // } + // } - } //事务 - } + // ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 + // var updIdLst = billLst.Select(itm => itm.Id).ToList(); + // var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); + // foreach (var updObj in updLst) + // { + // updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" + // updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 + // } + // await _billM100Repository.UpdateManyAsync(updLst, true); + // } //补打if + + // await uow.CompleteAsync(); + // ret.Status = true; + // ret.Item = retLst; + // return ret; + // } + // catch (Exception ex) + // { + // await uow.RollbackAsync(); + // string errorMsg = _errorMessagePrefix + "SaveGroupZhuHuBanReport 执行出错:" + ex.Message; + // _logger.LogError(errorMsg); + // //throw new BusinessException("1001", errorMsg); + // ret.Status = false; + // ret.Message = ex.Message; + // return ret; + // } + // } //事务 + //} /// /// 保存柱护板装箱单报表 /// - [UnitOfWork(IsDisabled = true)] - [HttpPost] - [Route("save-zhuhuban-report")] - public virtual async Task>> SaveZhuHuBanReport(ZhuHuBanPrintInputDto input) - { - Stopwatch sw = new Stopwatch(); - sw.Start(); - _logger.LogDebug(_errorMessagePrefix + "SaveZhuHuBanReport 进入"); - List retLst = new List(); - ObjectResultDto> ret = new ObjectResultDto>(); - ret.Status = false; - using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true, isolationLevel: System.Data.IsolationLevel.Unspecified)) - { - try - { - List reportMainLst = new List(); - List forWMSLst = new List(); + //[UnitOfWork(IsDisabled = true)] + //[HttpPost] + //[Route("save-zhuhuban-report")] + //public virtual async Task>> SaveZhuHuBanReport(ZhuHuBanPrintInputDto input) + //{ + // throw new NotImplementedException(); + // Stopwatch sw = new Stopwatch(); + + // _logger.LogDebug(_errorMessagePrefix + "SaveZhuHuBanReport 进入"); + // List retLst = new List(); + // ObjectResultDto> ret = new ObjectResultDto>(); + // ret.Status = false; + // using (var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true, isolationLevel: System.Data.IsolationLevel.Unspecified)) + // { + // try + // { + // List reportMainLst = new List(); + // List forWMSLst = new List(); - if (input.PrintType == PrintTypeEnum.正常打印) - { - if (input.BeginHostSN > input.EndHostSN) - { - ret.Message = "起大众顺序号不能大于止大众顺序号!"; - ret.Status = false; - return ret; - } + // if (input.PrintType == PrintTypeEnum.正常打印) + // { + // if (input.BeginHostSN > input.EndHostSN) + // { + // ret.Message = "起大众顺序号不能大于止大众顺序号!"; + // ret.Status = false; + // return ret; + // } - ListResultDto tempLst = await GetZHBReportDetailList(input, true); //------------------- - List billLst = tempLst.Item; - if (tempLst.Status == false) - { - ret.Message = tempLst.Message; - ret.Status = false; - return ret; - } - if (billLst.Count > 24) - { - ret.Message = "打印柱护板单据的数量不能大于24!"; - ret.Status = false; - return ret; - } - //加载柱护板缓存列表 - _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + // ListResultDto tempLst = await GetZHBReportDetailList(input, true); //------------------- + // List billLst = tempLst.Item; + // if (tempLst.Status == false) + // { + // ret.Message = tempLst.Message; + // ret.Status = false; + // return ret; + // } + // if (billLst.Count > 24) + // { + // ret.Message = "打印柱护板单据的数量不能大于24!"; + // ret.Status = false; + // return ret; + // } + // //加载柱护板缓存列表 + // _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 - sw.Stop(); - _logger.LogWarning($"SaveZhuHuBanReport 加载缓存 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); + // _logger.LogWarning($"SaveZhuHuBanReport 加载缓存 - {sw.ElapsedMilliseconds}毫秒"); - long maxBillNum = 0; //子方法内部赋值 - DateTime printTime = ServerHelper.CurrentDateTime; - double maxSN; - //A上C上 - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); //插入序列表、并返回序列 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); - List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 - if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) - { - acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 - } - reportMainLst.AddRange(acLst); - forWMSLst.AddRange(acLstOnlyWMSUse); - - sw.Stop(); - _logger.LogWarning($"SaveZhuHuBanReport 转换A上C上 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); - - - //A柱下,A中 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); - - List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); - List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(aaLst1); - reportMainLst.AddRange(aaLst2); - forWMSLst.AddRange(aaLst1); - forWMSLst.AddRange(aaLst2); - //B柱上 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); - List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bUpLst1); - reportMainLst.AddRange(bUpLst2); - forWMSLst.AddRange(bUpLst1); - forWMSLst.AddRange(bUpLst2); - //B柱下 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); - - List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bDownLst1); - reportMainLst.AddRange(bDownLst2); - forWMSLst.AddRange(bDownLst1); - forWMSLst.AddRange(bDownLst2); - //D柱 - var lst1 = billLst.Take(12).ToList(); - var lst2 = billLst.Skip(12).ToList(); - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); //左用于打印 - List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); //左右用于库存接口 - - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); - List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); - reportMainLst.AddRange(dLst1); - reportMainLst.AddRange(dLst2); - forWMSLst.AddRange(forWMSLst1); - forWMSLst.AddRange(forWMSLst2); - - //后轮,上装饰板 - maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); - List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); - List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(hsLst1); - reportMainLst.AddRange(hsLst2); - forWMSLst.AddRange(hsLst1); - forWMSLst.AddRange(hsLst2); - - sw.Stop(); - _logger.LogWarning($"SaveZhuHuBanReport 转换除A上C上的其它 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); - - - #region 调用库存接口 - await SaveMiddleTable_ZHB(forWMSLst); - #endregion - sw.Stop(); - _logger.LogWarning($"SaveZhuHuBanReport 保存中间库 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); + // long maxBillNum = 0; //子方法内部赋值 + // DateTime printTime = ServerHelper.CurrentDateTime; + // double maxSN; + // //A上C上 + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); //插入序列表、并返回序列 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); + // List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 + // if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) + // { + // acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 + // } + // reportMainLst.AddRange(acLst); + // forWMSLst.AddRange(acLstOnlyWMSUse); - //插入柱护板打印记录表 - Guid sortId = GuidGenerator.Create(); - foreach (var srcObj2 in reportMainLst) - { - srcObj2.SortId = sortId; //一次打印SortId相同 - //var insObj2 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); - //if (insObj2 != null) - //{ - // retLst.Add(insObj2.Id); - //} - retLst.Add(srcObj2.Id); - } - await _zhuHuBanPackingListRepository.InsertManyAsync(reportMainLst); - sw.Stop(); - _logger.LogWarning($"SaveZhuHuBanReport 插入柱护板打印记录表 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); + // _logger.LogWarning($"SaveZhuHuBanReport 转换A上C上 - {sw.ElapsedMilliseconds}毫秒"); - ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 - var updIdLst = billLst.Select(itm => itm.Id).ToList(); - var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); - foreach (var updObj in updLst) - { - updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" - updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 - } - //await _billM100Repository.UpdateManyAsync(updLst, true); - await _billM100Repository.UpdateManyAsync(updLst); - sw.Stop(); - _logger.LogWarning($"SaveZhuHuBanReport 更新M100的柱护板打印标志 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); - } - else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 - { - throw new BusinessException("请调用LoadZhuHuBanReport方法!"); - } - else if (input.PrintType == PrintTypeEnum.补打) - { - if (input.M100IdList.Count > 24) - { - throw new BusinessException("1001", $"选中的柱护板补打不能超过24个底盘!"); - } + // //A柱下,A中 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); - List billLst = _billM100Repository.GetListAsync(itm => input.M100IdList.Contains(itm.Id), true).GetAwaiter().GetResult(); - if (billLst.Count == 0) - { - ret.Message = "没有补打的柱护板,请先选择要补打的柱护板!"; - ret.Status = false; - return ret; - } - billLst = billLst.OrderBy(itm => itm.SerialNumStr).ToList(); + // List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(aaLst1); + // reportMainLst.AddRange(aaLst2); + // forWMSLst.AddRange(aaLst1); + // forWMSLst.AddRange(aaLst2); + // //B柱上 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); + // List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bUpLst1); + // reportMainLst.AddRange(bUpLst2); + // forWMSLst.AddRange(bUpLst1); + // forWMSLst.AddRange(bUpLst2); + // //B柱下 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); - //加载柱护板缓存列表 - _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + // List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bDownLst1); + // reportMainLst.AddRange(bDownLst2); + // forWMSLst.AddRange(bDownLst1); + // forWMSLst.AddRange(bDownLst2); + // //D柱 + // var lst1 = billLst.Take(12).ToList(); + // var lst2 = billLst.Skip(12).ToList(); + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); //左用于打印 + // List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); //左右用于库存接口 - long maxBillNum = 0; //全局唯一装箱单号 - DateTime printTime = ServerHelper.CurrentDateTime; - double maxSN; //右上角顺序号01-99 + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); + // List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); + // reportMainLst.AddRange(dLst1); + // reportMainLst.AddRange(dLst2); + // forWMSLst.AddRange(forWMSLst1); + // forWMSLst.AddRange(forWMSLst2); - //A上C上 - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); - List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 - if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) - { - acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 - } - reportMainLst.AddRange(acLst); - forWMSLst.AddRange(acLstOnlyWMSUse); - //A柱下,A中 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); - - List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); - List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(aaLst1); - reportMainLst.AddRange(aaLst2); - forWMSLst.AddRange(aaLst1); - forWMSLst.AddRange(aaLst2); - //B柱上 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); - List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bUpLst1); - reportMainLst.AddRange(bUpLst2); - forWMSLst.AddRange(bUpLst1); - forWMSLst.AddRange(bUpLst2); - //B柱下 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); - - List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); - List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(bDownLst1); - reportMainLst.AddRange(bDownLst2); - forWMSLst.AddRange(bDownLst1); - forWMSLst.AddRange(bDownLst2); - //D柱 - var lst1 = billLst.Take(12).ToList(); - var lst2 = billLst.Skip(12).ToList(); - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); - List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); - - maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); - List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); - List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); - reportMainLst.AddRange(dLst1); - reportMainLst.AddRange(dLst2); - forWMSLst.AddRange(forWMSLst1); - forWMSLst.AddRange(forWMSLst2); - - //后轮,上装饰板 - maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); - List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); - List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); - reportMainLst.AddRange(hsLst1); - reportMainLst.AddRange(hsLst2); - forWMSLst.AddRange(hsLst1); - forWMSLst.AddRange(hsLst2); - - #region 调用库存接口 - await SaveMiddleTable_ZHB(forWMSLst); - #endregion + // //后轮,上装饰板 + // maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); + // List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(hsLst1); + // reportMainLst.AddRange(hsLst2); + // forWMSLst.AddRange(hsLst1); + // forWMSLst.AddRange(hsLst2); - //插入柱护板打印记录表 - Guid sortId = GuidGenerator.Create(); - foreach (var srcObj2 in reportMainLst) - { - srcObj2.SortId = sortId; //一次打印SortId相同 - var insObj2 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); - if (insObj2 != null) - { - retLst.Add(insObj2.Id); - } - } - ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 - var updIdLst = billLst.Select(itm => itm.Id).ToList(); - var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); - foreach (var updObj in updLst) - { - updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" - updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 - } - await _billM100Repository.UpdateManyAsync(updLst, true); - } //补打if + // _logger.LogWarning($"SaveZhuHuBanReport 转换除A上C上的其它 - {sw.ElapsedMilliseconds}毫秒"); - await uow.CompleteAsync(); - sw.Stop(); - _logger.LogWarning($"SaveZhuHuBanReport CompleteAsync - {sw.ElapsedMilliseconds}毫秒"); - ret.Status = true; - ret.Item = retLst; - return ret; - } - catch (Exception ex) - { - await uow.RollbackAsync(); - string errorMsg = _errorMessagePrefix + "SaveZhuHuBanReport 执行出错:" + ex.Message; - _logger.LogError(errorMsg); - //throw new BusinessException("1001", errorMsg); - ret.Status = false; - ret.Message = ex.Message; - return ret; - } - } //事务 - } + // #region 调用库存接口 + // await SaveMiddleTable_ZHB(forWMSLst); + // #endregion + + + // _logger.LogWarning($"SaveZhuHuBanReport 保存中间库 - {sw.ElapsedMilliseconds}毫秒"); + + + + // //插入柱护板打印记录表 + // Guid sortId = GuidGenerator.Create(); + // foreach (var srcObj2 in reportMainLst) + // { + // srcObj2.SortId = sortId; //一次打印SortId相同 + // //var insObj2 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); + // //if (insObj2 != null) + // //{ + // // retLst.Add(insObj2.Id); + // //} + // retLst.Add(srcObj2.Id); + // } + // await _zhuHuBanPackingListRepository.InsertManyAsync(reportMainLst); + + + // _logger.LogWarning($"SaveZhuHuBanReport 插入柱护板打印记录表 - {sw.ElapsedMilliseconds}毫秒"); + + + + // ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 + // var updIdLst = billLst.Select(itm => itm.Id).ToList(); + // var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); + // foreach (var updObj in updLst) + // { + // updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" + // updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 + // } + // //await _billM100Repository.UpdateManyAsync(updLst, true); + // await _billM100Repository.UpdateManyAsync(updLst); + + + // _logger.LogWarning($"SaveZhuHuBanReport 更新M100的柱护板打印标志 - {sw.ElapsedMilliseconds}毫秒"); + + // } + // else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 + // { + // throw new BusinessException("请调用LoadZhuHuBanReport方法!"); + // } + // else if (input.PrintType == PrintTypeEnum.补打) + // { + // if (input.M100IdList.Count > 24) + // { + // throw new BusinessException("1001", $"选中的柱护板补打不能超过24个底盘!"); + // } + + // List billLst = _billM100Repository.GetListAsync(itm => input.M100IdList.Contains(itm.Id), true).GetAwaiter().GetResult(); + // if (billLst.Count == 0) + // { + // ret.Message = "没有补打的柱护板,请先选择要补打的柱护板!"; + // ret.Status = false; + // return ret; + // } + // billLst = billLst.OrderBy(itm => itm.SerialNumStr).ToList(); + + // //加载柱护板缓存列表 + // _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件 + + // long maxBillNum = 0; //全局唯一装箱单号 + // DateTime printTime = ServerHelper.CurrentDateTime; + // double maxSN; //右上角顺序号01-99 + + // //A上C上 + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A上C上"); + // List acLst = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List acLstOnlyWMSUse = DoZHBPrint_3x8_LRMerge("A上C上", input, maxBillNum, maxSN, printTime, billLst, "右"); //仅库存系统接口使用,打印记录表不保存 + // if (acLstOnlyWMSUse.Count > 0 && acLst.Count > 0) + // { + // acLstOnlyWMSUse[0].Details.InsertRange(0, acLst[0].Details); //右插入左 + // } + // reportMainLst.AddRange(acLst); + // forWMSLst.AddRange(acLstOnlyWMSUse); + // //A柱下,A中 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "A柱下A中"); + + // List aaLst1 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List aaLst2 = DoZHBPrint_3x8_LR("A柱下A中", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(aaLst1); + // reportMainLst.AddRange(aaLst2); + // forWMSLst.AddRange(aaLst1); + // forWMSLst.AddRange(aaLst2); + // //B柱上 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱上"); + // List bUpLst1 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bUpLst2 = DoZHBPrint_4x6_LR("B柱上", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bUpLst1); + // reportMainLst.AddRange(bUpLst2); + // forWMSLst.AddRange(bUpLst1); + // forWMSLst.AddRange(bUpLst2); + // //B柱下 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "B柱下"); + + // List bDownLst1 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List bDownLst2 = DoZHBPrint_4x6_LR("B柱下", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(bDownLst1); + // reportMainLst.AddRange(bDownLst2); + // forWMSLst.AddRange(bDownLst1); + // forWMSLst.AddRange(bDownLst2); + // //D柱 + // var lst1 = billLst.Take(12).ToList(); + // var lst2 = billLst.Skip(12).ToList(); + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1, "左"); + // List forWMSLst1 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst1); + + // maxBillNum = _sequenceDomainService.GetSequence(SequenceTypeEnum.门板及柱护板装箱单号); + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "D柱"); + // List dLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2, "左"); + // List forWMSLst2 = DoZHBPrint_4x3("D柱", input, maxBillNum, maxSN, printTime, lst2); + // reportMainLst.AddRange(dLst1); + // reportMainLst.AddRange(dLst2); + // forWMSLst.AddRange(forWMSLst1); + // forWMSLst.AddRange(forWMSLst2); + + // //后轮,上装饰板 + // maxSN = 0; // await _lineSNDomianService.GetMaxSN(ProductTypeEnum.柱护板, input.ProductLine, "后轮上装饰板"); + // List hsLst1 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "左"); + // List hsLst2 = DoZHBPrint_4x6_LR("后轮上装饰板", input, maxBillNum, maxSN, printTime, billLst, "右"); + // reportMainLst.AddRange(hsLst1); + // reportMainLst.AddRange(hsLst2); + // forWMSLst.AddRange(hsLst1); + // forWMSLst.AddRange(hsLst2); + + // #region 调用库存接口 + // await SaveMiddleTable_ZHB(forWMSLst); + // #endregion + + // //插入柱护板打印记录表 + // Guid sortId = GuidGenerator.Create(); + // foreach (var srcObj2 in reportMainLst) + // { + // srcObj2.SortId = sortId; //一次打印SortId相同 + // var insObj2 = await _zhuHuBanPackingListRepository.InsertAsync(srcObj2, true); + // if (insObj2 != null) + // { + // retLst.Add(insObj2.Id); + // } + // } + + // ////更新M100的柱护板打印标志: PrintBillNum不为空时表示已打印 + // var updIdLst = billLst.Select(itm => itm.Id).ToList(); + // var updLst = await _billM100Repository.GetListAsync(itm => updIdLst.Contains(itm.Id)); + // foreach (var updObj in updLst) + // { + // updObj.SetZHBBillStatus(ZHBBillStatusEnum.Print); //PrintBillNum = "柱护板已打印" + // updObj.PrintTime2 = ServerHelper.CurrentDateTime; //PrintTime只适用于门板 + // } + // await _billM100Repository.UpdateManyAsync(updLst, true); + // } //补打if + + // await uow.CompleteAsync(); + + // _logger.LogWarning($"SaveZhuHuBanReport CompleteAsync - {sw.ElapsedMilliseconds}毫秒"); + + // ret.Status = true; + // ret.Item = retLst; + // return ret; + // } + // catch (Exception ex) + // { + // await uow.RollbackAsync(); + // string errorMsg = _errorMessagePrefix + "SaveZhuHuBanReport 执行出错:" + ex.Message; + // _logger.LogError(errorMsg); + // //throw new BusinessException("1001", errorMsg); + // ret.Status = false; + // ret.Message = ex.Message; + // return ret; + // } + // } //事务 + //} /// /// 加载柱护板装箱单报表【仅ReportIdList、DataResultType参数有效】 /// - [UnitOfWork] - [HttpPost] - [Route("load-zhuhuban-report")] - public virtual async Task> LoadZhuHuBanReport(ZhuHuBanPrintInputDto input) - { - Stopwatch sw = new Stopwatch(); - sw.Start(); + //[UnitOfWork] + //[HttpPost] + //[Route("load-zhuhuban-report")] + //public virtual async Task> LoadZhuHuBanReport(ZhuHuBanPrintInputDto input) + //{ + // throw new NotImplementedException(); - _logger.LogDebug(_errorMessagePrefix + "LoadZhuHuBanReport 进入"); + // Stopwatch sw = new Stopwatch(); - ZhuHuBanPrintResultDto retObj = new ZhuHuBanPrintResultDto(); - ObjectResultDto ret = new ObjectResultDto(retObj); - ret.Status = false; - try - { - List reportMainLst = new List(); - List forWMSLst = new List(); - if (input.DataResultType == "1") //全部11条数据 - { - var firObj = await _zhuHuBanPackingListRepository.FirstOrDefaultAsync(itm => input.ReportIdList.Contains(itm.Id)); - if (firObj != null) - { - Guid? sortId = firObj.SortId; - reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId, true); - } - } - else - { - reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => input.ReportIdList.Contains(itm.Id), true); - } + // _logger.LogDebug(_errorMessagePrefix + "LoadZhuHuBanReport 进入"); - sw.Stop(); - _logger.LogWarning($"LoadZhuHuBanReport 取柱护板数据 - {sw.ElapsedMilliseconds}毫秒"); - sw.Start(); + // ZhuHuBanPrintResultDto retObj = new ZhuHuBanPrintResultDto(); + // ObjectResultDto ret = new ObjectResultDto(retObj); + // ret.Status = false; + // try + // { + // List reportMainLst = new List(); + // List forWMSLst = new List(); - //按大众顺序号排序 - foreach (var reportMainObj in reportMainLst) - { - List recLst = reportMainObj.Details; - if (recLst == null) - continue; - //bool has1999 = recLst.Any(itm => itm.HostSN.ToString().Contains("1999") || itm.HostSN.ToString().Contains("1998")); - //bool has0001 = recLst.Any(itm => itm.HostSN.ToString().Contains("0001") || itm.HostSN.ToString().Contains("0002")); - bool has1999 = recLst.Any(itm => (itm.HostSN % 10000) > 1999 - 240); - bool has0001 = recLst.Any(itm => (itm.HostSN % 10000) < 240); - if (has1999 && has0001) - { - reportMainObj.Details = recLst.OrderBy(itm => (itm.HostSN % 10000) < 240 ? (itm.HostSN % 10000 + 1999) : (itm.HostSN % 10000)).ToList(); - } - else - { - reportMainObj.Details = recLst.OrderBy(itm => itm.HostSN).ToList(); - } - } + // if (input.DataResultType == "1") //全部11条数据 + // { + // var firObj = await _zhuHuBanPackingListRepository.FirstOrDefaultAsync(itm => input.ReportIdList.Contains(itm.Id)); + // if (firObj != null) + // { + // Guid? sortId = firObj.SortId; + // reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId, true); + // } + // } + // else + // { + // reportMainLst = await _zhuHuBanPackingListRepository.GetListAsync(itm => input.ReportIdList.Contains(itm.Id), true); + // } - #region 返回结果格式转换 - //实体 转 DTO - List targetLst = ObjectMapper.Map, List>(reportMainLst); - //补充空行 - foreach (var masterObj in targetLst) - { - int trueCnt = masterObj.Details.Count; - int planCnt = 0; - switch (masterObj.PartType) - { - case "A上C上": - case "A柱下A中": - case "B柱上": - case "B柱下": - case "后轮上装饰板": - planCnt = 24; - break; - case "D柱": - planCnt = 12; - break; - default: - planCnt = 24; - break; - } - if (trueCnt > planCnt) - { - throw new Exception($"实际打印行数{trueCnt}超过每页总行数{planCnt}, 底盘起{masterObj.BeginVin}底盘止{masterObj.EndVin}"); - } - int diffCnt = planCnt - trueCnt; - for (int i = 0; i < diffCnt; i++) - { - ZhuHuBanPackingRecDto dtlObj = new ZhuHuBanPackingRecDto(); - masterObj.Details.Add(dtlObj); - } - } - //子表BillNum赋值, BillNum填充空格, SN赋值 - foreach (var masterObj in targetLst) - { - masterObj.BillNum = GetTrueString(masterObj.BillNum); - int sn = 1; - foreach (var detailObj in masterObj.Details) - { - detailObj.BillNum = masterObj.BillNum; - detailObj.KNR = GetTrueString(detailObj.KNR); - detailObj.KNR = detailObj.KNR.Replace(" ", "").Replace("\n", "").Replace("\r", "").Replace("/n", "").Replace("/r", ""); - detailObj.sn = sn++; - detailObj.VIN = detailObj.VIN.TryToRight(6); //底盘号返回后六位 - //客户要求显示零件描述,替换之前的零件编码 - detailObj.PartCode = detailObj.MaterialDescription; - detailObj.PartCode2 = detailObj.MaterialDescription2; - detailObj.MaterialDescription = null; - detailObj.MaterialDescription2 = null; - } - } + // _logger.LogWarning($"LoadZhuHuBanReport 取柱护板数据 - {sw.ElapsedMilliseconds}毫秒"); - retObj.MasterList_AC = targetLst.Where(itm => itm.PartType == "A上C上").ToList(); - if (retObj.MasterList_AC.Count == 0) retObj.IsVisibleAC = false; - foreach (var masterObj in retObj.MasterList_AC) - { - retObj.DetailList_AC.AddRange(masterObj.Details); - masterObj.Details = null; - } - retObj.MasterList_AA = targetLst.Where(itm => itm.PartType == "A柱下A中").ToList(); - if (retObj.MasterList_AA.Count == 0) retObj.IsVisibleAA = false; - foreach (var masterObj in retObj.MasterList_AA) - { - retObj.DetailList_AA.AddRange(masterObj.Details); - masterObj.Details = null; - } + // //按大众顺序号排序 + // foreach (var reportMainObj in reportMainLst) + // { + // List recLst = reportMainObj.Details; + // if (recLst == null) + // continue; + // //bool has1999 = recLst.Any(itm => itm.HostSN.ToString().Contains("1999") || itm.HostSN.ToString().Contains("1998")); + // //bool has0001 = recLst.Any(itm => itm.HostSN.ToString().Contains("0001") || itm.HostSN.ToString().Contains("0002")); + // bool has1999 = recLst.Any(itm => (itm.HostSN % 10000) > 1999 - 240); + // bool has0001 = recLst.Any(itm => (itm.HostSN % 10000) < 240); + // if (has1999 && has0001) + // { + // reportMainObj.Details = recLst.OrderBy(itm => (itm.HostSN % 10000) < 240 ? (itm.HostSN % 10000 + 1999) : (itm.HostSN % 10000)).ToList(); + // } + // else + // { + // reportMainObj.Details = recLst.OrderBy(itm => itm.HostSN).ToList(); + // } + // } - retObj.MasterList_BS = targetLst.Where(itm => itm.PartType == "B柱上").ToList(); - if (retObj.MasterList_BS.Count == 0) retObj.IsVisibleBS = false; - foreach (var masterObj in retObj.MasterList_BS) - { - retObj.DetailList_BS.AddRange(masterObj.Details); - masterObj.Details = null; - } + // #region 返回结果格式转换 + // //实体 转 DTO + // List targetLst = ObjectMapper.Map, List>(reportMainLst); + // //补充空行 + // foreach (var masterObj in targetLst) + // { + // int trueCnt = masterObj.Details.Count; - retObj.MasterList_BX = targetLst.Where(itm => itm.PartType == "B柱下").ToList(); - if (retObj.MasterList_BX.Count == 0) retObj.IsVisibleBX = false; - foreach (var masterObj in retObj.MasterList_BX) - { - retObj.DetailList_BX.AddRange(masterObj.Details); - masterObj.Details = null; - } + // int planCnt = 0; + // switch (masterObj.PartType) + // { + // case "A上C上": + // case "A柱下A中": + // case "B柱上": + // case "B柱下": + // case "后轮上装饰板": + // planCnt = 24; + // break; + // case "D柱": + // planCnt = 12; + // break; + // default: + // planCnt = 24; + // break; + // } + // if (trueCnt > planCnt) + // { + // throw new Exception($"实际打印行数{trueCnt}超过每页总行数{planCnt}, 底盘起{masterObj.BeginVin}底盘止{masterObj.EndVin}"); + // } + // int diffCnt = planCnt - trueCnt; + // for (int i = 0; i < diffCnt; i++) + // { + // ZhuHuBanPackingRecDto dtlObj = new ZhuHuBanPackingRecDto(); + // masterObj.Details.Add(dtlObj); + // } + // } + // //子表BillNum赋值, BillNum填充空格, SN赋值 + // foreach (var masterObj in targetLst) + // { + // masterObj.BillNum = GetTrueString(masterObj.BillNum); + // int sn = 1; + // foreach (var detailObj in masterObj.Details) + // { + // detailObj.BillNum = masterObj.BillNum; + // detailObj.KNR = GetTrueString(detailObj.KNR); + // detailObj.KNR = detailObj.KNR.Replace(" ", "").Replace("\n", "").Replace("\r", "").Replace("/n", "").Replace("/r", ""); + // detailObj.sn = sn++; + // detailObj.VIN = detailObj.VIN.TryToRight(6); //底盘号返回后六位 + // //客户要求显示零件描述,替换之前的零件编码 + // detailObj.PartCode = detailObj.MaterialDescription; + // detailObj.PartCode2 = detailObj.MaterialDescription2; + // detailObj.MaterialDescription = null; + // detailObj.MaterialDescription2 = null; + // } + // } - retObj.MasterList_D = targetLst.Where(itm => itm.PartType == "D柱").ToList(); - if (retObj.MasterList_D.Count == 0) retObj.IsVisibleD = false; - foreach (var masterObj in retObj.MasterList_D) - { - retObj.DetailList_D.AddRange(masterObj.Details); - masterObj.Details = null; - } + // retObj.MasterList_AC = targetLst.Where(itm => itm.PartType == "A上C上").ToList(); + // if (retObj.MasterList_AC.Count == 0) retObj.IsVisibleAC = false; + // foreach (var masterObj in retObj.MasterList_AC) + // { + // retObj.DetailList_AC.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - retObj.MasterList_HL = targetLst.Where(itm => itm.PartType == "后轮上装饰板").ToList(); - if (retObj.MasterList_HL.Count == 0) retObj.IsVisibleHL = false; - foreach (var masterObj in retObj.MasterList_HL) - { - retObj.DetailList_HL.AddRange(masterObj.Details); - masterObj.Details = null; - } - #endregion + // retObj.MasterList_AA = targetLst.Where(itm => itm.PartType == "A柱下A中").ToList(); + // if (retObj.MasterList_AA.Count == 0) retObj.IsVisibleAA = false; + // foreach (var masterObj in retObj.MasterList_AA) + // { + // retObj.DetailList_AA.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - sw.Stop(); - _logger.LogWarning($"LoadZhuHuBanReport 排序及转换 - {sw.ElapsedMilliseconds}毫秒"); + // retObj.MasterList_BS = targetLst.Where(itm => itm.PartType == "B柱上").ToList(); + // if (retObj.MasterList_BS.Count == 0) retObj.IsVisibleBS = false; + // foreach (var masterObj in retObj.MasterList_BS) + // { + // retObj.DetailList_BS.AddRange(masterObj.Details); + // masterObj.Details = null; + // } - ret.Status = true; - return ret; - } - catch (Exception ex) - { - string errorMsg = _errorMessagePrefix + "LoadZhuHuBanReport 执行出错:" + ex.Message; - _logger.LogError(errorMsg); - //throw new BusinessException("1001", errorMsg); - ret.Status = false; - ret.Message = ex.Message; - return ret; - } - } + // retObj.MasterList_BX = targetLst.Where(itm => itm.PartType == "B柱下").ToList(); + // if (retObj.MasterList_BX.Count == 0) retObj.IsVisibleBX = false; + // foreach (var masterObj in retObj.MasterList_BX) + // { + // retObj.DetailList_BX.AddRange(masterObj.Details); + // masterObj.Details = null; + // } + + // retObj.MasterList_D = targetLst.Where(itm => itm.PartType == "D柱").ToList(); + // if (retObj.MasterList_D.Count == 0) retObj.IsVisibleD = false; + // foreach (var masterObj in retObj.MasterList_D) + // { + // retObj.DetailList_D.AddRange(masterObj.Details); + // masterObj.Details = null; + // } + + // retObj.MasterList_HL = targetLst.Where(itm => itm.PartType == "后轮上装饰板").ToList(); + // if (retObj.MasterList_HL.Count == 0) retObj.IsVisibleHL = false; + // foreach (var masterObj in retObj.MasterList_HL) + // { + // retObj.DetailList_HL.AddRange(masterObj.Details); + // masterObj.Details = null; + // } + // #endregion + + + // _logger.LogWarning($"LoadZhuHuBanReport 排序及转换 - {sw.ElapsedMilliseconds}毫秒"); + + // ret.Status = true; + // return ret; + // } + // catch (Exception ex) + // { + // string errorMsg = _errorMessagePrefix + "LoadZhuHuBanReport 执行出错:" + ex.Message; + // _logger.LogError(errorMsg); + // //throw new BusinessException("1001", errorMsg); + // ret.Status = false; + // ret.Message = ex.Message; + // return ret; + // } + //} /// /// 保存门板信息到中间表,中间表是位于FIS库,和WMS中间表结构相同 /// /// - private async Task SaveMiddleTable_MB(List input) - { - List targetMainLst = new List(); - List targetDetailLst = new List(); - List cxLst = new List(); - foreach (MenBanPackingList sourceObj in input) - { - FisTB_BILL targetMain = new FisTB_BILL(); - targetMain.BillNum = sourceObj.BillNum; //单据编号 - targetMain.State = 0; - targetMain.BillType = 206; //单据类型 - targetMain.SubBillType = 21004; //单据子类型 - targetMain.BillTime = sourceObj.PrintDate; //单据时间 - targetMain.OperName = sourceObj.CreatorId.ToString(); //操作员 - targetMain.DetailQty = 0; //明细数量 - targetMain.CustId = _providerCode; //供应商编号 - //targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 - //targetMain.DockCode = sourceObj.BillLocation; - - targetMain.GateCode = sourceObj.PartType; //B柱下 - targetMain.GateName = sourceObj.BillSerialNum; //顺序号 - targetMain.DockCode = sourceObj.BillLocation; //左或右 - targetMain.Remark = sourceObj.MinOnlineTime == null ? null : ((DateTime)sourceObj.MinOnlineTime).ToString("yyyy-MM-dd HH:mm"); //最早上线时间(预计到达时间) - targetMain.TransportType = sourceObj.BillSerialNum; //顺序号 - targetMain.SourceBillNum3 = sourceObj.ProductLine; //2022-10-13加生产线 - targetMainLst.Add(targetMain); - int idx = 0; - int idx2 = 0; - foreach (MenBanPackingRec sourceRec in sourceObj.Details) - { - idx2++; - if (sourceRec.TopSAPMaterialNum.IsNullOrEmpty() == false) - { - var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.MaterialNum == sourceRec.TopSAPMaterialNum && itm.MaterialType == "1"); - idx++; - FisTS_SORT_DETAIL targetDetail = new FisTS_SORT_DETAIL(); - targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 - targetDetail.LineNum = idx2; //行号 - targetDetail.VinCode = sourceRec.VIN; //VIN码 - targetDetail.SeqNum = idx2.ToString(); //顺序号sourceRec.HostSN.ToString() - targetDetail.PartCode = sourceRec.TopSAPMaterialNum; //物料号 - //targetDetail.BarCode = sourceRec.TopBoxPositionNum; //箱码 - targetDetail.ProjectId = ""; //车型 - targetDetail.PlanQty = 1; //计划数量 - targetDetail.State = "0"; //状态 - targetDetail.CustPartCode = materialObj == null ? null : materialObj.RelationKey; - targetDetail.FullBarCode = "-"; - targetDetail.VendId = sourceRec.KNR; - //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 - targetDetailLst.Add(targetDetail); - if (materialObj != null && materialObj.VehicleModel != null) - { - cxLst.Add(materialObj.VehicleModel); - } - } - if (sourceRec.BelowSAPMaterialNum.IsNullOrEmpty() == false) - { - var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.MaterialNum == sourceRec.BelowSAPMaterialNum && itm.MaterialType == "1"); + //private async Task SaveMiddleTable_MB(List input) + //{ + // throw new NotImplementedException(); - idx++; - FisTS_SORT_DETAIL targetDetail = new FisTS_SORT_DETAIL(); - targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 - targetDetail.VinCode = sourceRec.VIN; //VIN码 - targetDetail.PartCode = sourceRec.BelowSAPMaterialNum; //物料号 - targetDetail.LineNum = (idx2 + 12); //行号 - targetDetail.SeqNum = (idx2 + 12).ToString(); //顺序号sourceRec.HostSN.ToString() - //targetDetail.BarCode = sourceRec.TopBoxPositionNum; //箱码 - targetDetail.ProjectId = ""; //车型 - targetDetail.State = "0"; //状态 - targetDetail.PlanQty = 1; //计划数量 - targetDetail.CustPartCode = materialObj == null ? null : materialObj.RelationKey; - targetDetail.FullBarCode = "-"; - targetDetail.VendId = sourceRec.KNR; - //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 - targetDetailLst.Add(targetDetail); - if (materialObj != null && materialObj.VehicleModel != null) - { - cxLst.Add(materialObj.VehicleModel); - } - } - } - //生成车型 - string cxStr = ""; - foreach (string cxObj in cxLst.Distinct()) - { - cxStr += cxObj + "、"; - } - if (cxStr.Length > 0) - { - cxStr = cxStr.Substring(0, cxStr.Length - 1); - } - targetMain.ProjectId = cxStr; //添加车型 + // List targetMainLst = new List(); + // List targetDetailLst = new List(); + // List cxLst = new List(); + // foreach (MenBanPackingList sourceObj in input) + // { + // FisTB_BILL targetMain = new FisTB_BILL(); + // targetMain.BillNum = sourceObj.BillNum; //单据编号 + // targetMain.State = 0; + // targetMain.BillType = 206; //单据类型 + // targetMain.SubBillType = 21004; //单据子类型 + // targetMain.BillTime = sourceObj.PrintDate; //单据时间 + // targetMain.OperName = sourceObj.CreatorId.ToString(); //操作员 + // targetMain.DetailQty = 0; //明细数量 + // targetMain.CustId = _providerCode; //供应商编号 + // //targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 + // //targetMain.DockCode = sourceObj.BillLocation; + + // targetMain.GateCode = sourceObj.PartType; //B柱下 + // targetMain.GateName = sourceObj.BillSerialNum; //顺序号 + // targetMain.DockCode = sourceObj.VehicleModel; //左或右 + // targetMain.Remark = sourceObj.MinOnlineTime == null ? null : ((DateTime)sourceObj.MinOnlineTime).ToString("yyyy-MM-dd HH:mm"); //最早上线时间(预计到达时间) + // targetMain.TransportType = sourceObj.BillSerialNum; //顺序号 + // targetMain.SourceBillNum3 = sourceObj.ProductLine; //2022-10-13加生产线 + // targetMainLst.Add(targetMain); + // int idx = 0; + // int idx2 = 0; + // foreach (MenBanPackingRec sourceRec in sourceObj.Details) + // { + // idx2++; + // if (sourceRec.PartCode2.IsNullOrEmpty() == false) + // { + // var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.MaterialNum == sourceRec.PartCode2 && itm.MaterialType == "1"); + // idx++; + // FisTS_SORT_DETAIL targetDetail = new FisTS_SORT_DETAIL(); + // targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 + // targetDetail.LineNum = idx2; //行号 + // targetDetail.VinCode = sourceRec.VIN; //VIN码 + // targetDetail.SeqNum = idx2.ToString(); //顺序号sourceRec.HostSN.ToString() + // targetDetail.PartCode = sourceRec.PartCode2; //物料号 + // //targetDetail.BarCode = sourceRec.TopBoxPositionNum; //箱码 + // targetDetail.ProjectId = ""; //车型 + // targetDetail.PlanQty = 1; //计划数量 + // targetDetail.State = "0"; //状态 + // targetDetail.CustPartCode = materialObj == null ? null : materialObj.RelationKey; + // targetDetail.FullBarCode = "-"; + // targetDetail.VendId = sourceRec.KNR; + // //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 + // targetDetailLst.Add(targetDetail); + // if (materialObj != null && materialObj.VehicleModel != null) + // { + // cxLst.Add(materialObj.VehicleModel); + // } + // } + // if (sourceRec.PartCode4.IsNullOrEmpty() == false) + // { + // var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.MaterialNum == sourceRec.PartCode4 && itm.MaterialType == "1"); + + // idx++; + // FisTS_SORT_DETAIL targetDetail = new FisTS_SORT_DETAIL(); + // targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 + // targetDetail.VinCode = sourceRec.VIN; //VIN码 + // targetDetail.PartCode = sourceRec.PartCode4; //物料号 + // targetDetail.LineNum = (idx2 + 12); //行号 + // targetDetail.SeqNum = (idx2 + 12).ToString(); //顺序号sourceRec.HostSN.ToString() + // //targetDetail.BarCode = sourceRec.TopBoxPositionNum; //箱码 + // targetDetail.ProjectId = ""; //车型 + // targetDetail.State = "0"; //状态 + // targetDetail.PlanQty = 1; //计划数量 + // targetDetail.CustPartCode = materialObj == null ? null : materialObj.RelationKey; + // targetDetail.FullBarCode = "-"; + // targetDetail.VendId = sourceRec.KNR; + // //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 + // targetDetailLst.Add(targetDetail); + // if (materialObj != null && materialObj.VehicleModel != null) + // { + // cxLst.Add(materialObj.VehicleModel); + // } + // } + // } + // //生成车型 + // string cxStr = ""; + // foreach (string cxObj in cxLst.Distinct()) + // { + // cxStr += cxObj + "、"; + // } + // if (cxStr.Length > 0) + // { + // cxStr = cxStr.Substring(0, cxStr.Length - 1); + // } + // targetMain.ProjectId = cxStr; //添加车型 - if (string.IsNullOrEmpty(cxStr)) - { - targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 - } - } + // if (string.IsNullOrEmpty(cxStr)) + // { + // targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 + // } + // } - foreach (FisTB_BILL targetMain in targetMainLst) - { - //明细数量 - targetMain.DetailQty = targetDetailLst.Where(p => p.BillNum == targetMain.BillNum).Count(); - } - //保存到数据表 - await _tbBillRepository.InsertManyAsync(targetMainLst, true); - await _tsSortDetailRepository.InsertManyAsync(targetDetailLst, true); - } + // foreach (FisTB_BILL targetMain in targetMainLst) + // { + // //明细数量 + // targetMain.DetailQty = targetDetailLst.Where(p => p.BillNum == targetMain.BillNum).Count(); + // } + // //保存到数据表 + // await _tbBillRepository.InsertManyAsync(targetMainLst, true); + // await _tsSortDetailRepository.InsertManyAsync(targetDetailLst, true); + //} /// /// 保存柱护板信息到中间表,中间表是位于FIS库,和WMS中间表结构相同 /// /// - private async Task SaveMiddleTable_ZHB(List input) - { - List targetMainLst = new List(); - List targetDetailLst = new List(); + //private async Task SaveMiddleTable_ZHB(List input) + //{ + // throw new NotImplementedException(); - List cxLst = new List(); - foreach (ZhuHuBanPackingList sourceObj in input) - { - FisTB_BILL targetMain = new FisTB_BILL(); - targetMain.BillNum = sourceObj.BillNum; //单据编号 - targetMain.State = 0; - targetMain.BillType = 206; //单据类型 - targetMain.SubBillType = 20110; //单据子类型 - targetMain.BillTime = sourceObj.PrintDate; //单据时间 - targetMain.OperName = sourceObj.CreatorId.ToString(); //操作员 - targetMain.DetailQty = 0; //明细数量 - targetMain.CustId = _providerCode; //供应商编号 - //targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 + // List targetMainLst = new List(); + // List targetDetailLst = new List(); - targetMain.GateName = sourceObj.BillSerialNum; //顺序号 - targetMain.GateCode = sourceObj.PartType; //B柱下 - targetMain.DockCode = sourceObj.BillLocation; //左或右 - targetMain.Remark = sourceObj.MinOnlineTime == null ? null : ((DateTime)sourceObj.MinOnlineTime).ToString("yyyy-MM-dd HH:mm"); //最早上线时间 - targetMain.TransportType = sourceObj.BillSerialNum; //顺序号 - targetMain.SourceBillNum3 = sourceObj.ProductLine; //2022-10-13加生产线 - targetMainLst.Add(targetMain); - int idx = 0; - int barCode = 0; - foreach (ZhuHuBanPackingRec sourceRec in sourceObj.Details) - { - barCode++; - if (sourceRec.PartCode.IsNullOrEmpty() == false) - { - idx++; - //var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.RelationKey == sourceRec.PartCode && itm.MaterialType == "2"); - var materialObj = _zhbCacheList.FirstOrDefault(itm => itm.RelationKey == sourceRec.PartCode); - FisTS_SORT_DETAIL targetDetail = new FisTS_SORT_DETAIL(); - targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 - targetDetail.VinCode = sourceRec.VIN; //VIN码 - targetDetail.PartCode = materialObj == null ? sourceRec.PartCode : materialObj.MaterialNum; //SAP物料号 - targetDetail.LineNum = idx; //行号 - targetDetail.SeqNum = idx.ToString(); //顺序号 - targetDetail.ProjectId = ""; //车型 - targetDetail.State = "0"; //状态 - //targetDetail.BarCode = barCode.ToString(); //箱码 - targetDetail.PlanQty = 1; //计划数量 - targetDetail.CustPartCode = sourceRec.PartCode; //客户零件号 - targetDetail.FullBarCode = "-"; - targetDetail.VendId = sourceRec.KNR; - //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 - targetDetailLst.Add(targetDetail); - if (materialObj != null && materialObj.VehicleModel != null) - { - cxLst.Add(materialObj.VehicleModel); - } - - } - if (sourceRec.PartCode2.IsNullOrEmpty() == false) - { - idx++; - //var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.RelationKey == sourceRec.PartCode2 && itm.MaterialType == "2"); - var materialObj = _zhbCacheList.FirstOrDefault(itm => itm.RelationKey == sourceRec.PartCode2); + // List cxLst = new List(); + // foreach (ZhuHuBanPackingList sourceObj in input) + // { + // FisTB_BILL targetMain = new FisTB_BILL(); + // targetMain.BillNum = sourceObj.BillNum; //单据编号 + // targetMain.State = 0; + // targetMain.BillType = 206; //单据类型 + // targetMain.SubBillType = 20110; //单据子类型 + // targetMain.BillTime = sourceObj.PrintDate; //单据时间 + // targetMain.OperName = sourceObj.CreatorId.ToString(); //操作员 + // targetMain.DetailQty = 0; //明细数量 + // targetMain.CustId = _providerCode; //供应商编号 + // //targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 + + // targetMain.GateName = sourceObj.BillSerialNum; //顺序号 + // targetMain.GateCode = sourceObj.PartType; //B柱下 + // targetMain.DockCode = sourceObj.BillLocation; //左或右 + // targetMain.Remark = sourceObj.MinOnlineTime == null ? null : ((DateTime)sourceObj.MinOnlineTime).ToString("yyyy-MM-dd HH:mm"); //最早上线时间 + // targetMain.TransportType = sourceObj.BillSerialNum; //顺序号 + // targetMain.SourceBillNum3 = sourceObj.ProductLine; //2022-10-13加生产线 + // targetMainLst.Add(targetMain); + // int idx = 0; + // int barCode = 0; + // foreach (ZhuHuBanPackingRec sourceRec in sourceObj.Details) + // { + // barCode++; + // if (sourceRec.PartCode.IsNullOrEmpty() == false) + // { + // idx++; + // //var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.RelationKey == sourceRec.PartCode && itm.MaterialType == "2"); + // var materialObj = _zhbCacheList.FirstOrDefault(itm => itm.RelationKey == sourceRec.PartCode); + // FisTS_SORT_DETAIL targetDetail = new FisTS_SORT_DETAIL(); + // targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 + // targetDetail.VinCode = sourceRec.VIN; //VIN码 + // targetDetail.PartCode = materialObj == null ? sourceRec.PartCode : materialObj.MaterialNum; //SAP物料号 + // targetDetail.LineNum = idx; //行号 + // targetDetail.SeqNum = idx.ToString(); //顺序号 + // targetDetail.ProjectId = ""; //车型 + // targetDetail.State = "0"; //状态 + // //targetDetail.BarCode = barCode.ToString(); //箱码 + // targetDetail.PlanQty = 1; //计划数量 + // targetDetail.CustPartCode = sourceRec.PartCode; //客户零件号 + // targetDetail.FullBarCode = "-"; + // targetDetail.VendId = sourceRec.KNR; + // //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 + // targetDetailLst.Add(targetDetail); + // if (materialObj != null && materialObj.VehicleModel != null) + // { + // cxLst.Add(materialObj.VehicleModel); + // } - FisTS_SORT_DETAIL targetDetail = new FisTS_SORT_DETAIL(); - targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 - targetDetail.VinCode = sourceRec.VIN; //VIN码 - targetDetail.PartCode = materialObj == null ? sourceRec.PartCode2 : materialObj.MaterialNum; //SAP物料号 - targetDetail.LineNum = idx; //行号 - targetDetail.SeqNum = idx.ToString(); //顺序号 - targetDetail.ProjectId = ""; //车型 - targetDetail.State = "0"; //状态 - //targetDetail.BarCode = barCode.ToString(); //箱码 - targetDetail.PlanQty = 1; //计划数量 - targetDetail.CustPartCode = sourceRec.PartCode2; //客户零件号 - targetDetail.FullBarCode = "-"; - targetDetail.VendId = sourceRec.KNR; - //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 - targetDetailLst.Add(targetDetail); - if (materialObj != null && materialObj.VehicleModel != null) - { - cxLst.Add(materialObj.VehicleModel); - } - } - } - //生成车型 - string cxStr = ""; - foreach (string cxObj in cxLst.Distinct()) - { - cxStr += cxObj + "、"; - } - if (cxStr.Length > 0) - { - cxStr = cxStr.Substring(0, cxStr.Length - 1); - } - targetMain.ProjectId = cxStr; //添加车型 + // } + // if (sourceRec.PartCode2.IsNullOrEmpty() == false) + // { + // idx++; + // //var materialObj = _materialExtRepository.FirstOrDefault(itm => itm.RelationKey == sourceRec.PartCode2 && itm.MaterialType == "2"); + // var materialObj = _zhbCacheList.FirstOrDefault(itm => itm.RelationKey == sourceRec.PartCode2); + + // FisTS_SORT_DETAIL targetDetail = new FisTS_SORT_DETAIL(); + // targetDetail.BillNum = sourceObj.BillNum; //单据编号 通过该字段和主表弱连接 + // targetDetail.VinCode = sourceRec.VIN; //VIN码 + // targetDetail.PartCode = materialObj == null ? sourceRec.PartCode2 : materialObj.MaterialNum; //SAP物料号 + // targetDetail.LineNum = idx; //行号 + // targetDetail.SeqNum = idx.ToString(); //顺序号 + // targetDetail.ProjectId = ""; //车型 + // targetDetail.State = "0"; //状态 + // //targetDetail.BarCode = barCode.ToString(); //箱码 + // targetDetail.PlanQty = 1; //计划数量 + // targetDetail.CustPartCode = sourceRec.PartCode2; //客户零件号 + // targetDetail.FullBarCode = "-"; + // targetDetail.VendId = sourceRec.KNR; + // //targetDetail.BarCode = sourceRec.HostSN.ToString(); //2022-10-13加 + // targetDetailLst.Add(targetDetail); + // if (materialObj != null && materialObj.VehicleModel != null) + // { + // cxLst.Add(materialObj.VehicleModel); + // } + // } + // } + // //生成车型 + // string cxStr = ""; + // foreach (string cxObj in cxLst.Distinct()) + // { + // cxStr += cxObj + "、"; + // } + // if (cxStr.Length > 0) + // { + // cxStr = cxStr.Substring(0, cxStr.Length - 1); + // } + // targetMain.ProjectId = cxStr; //添加车型 - if (string.IsNullOrEmpty(cxStr)) - { - targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 - } - } - foreach (FisTB_BILL targetMain in targetMainLst) - { - //明细数量 - targetMain.DetailQty = targetDetailLst.Where(p => p.BillNum == targetMain.BillNum).Count(); - } - //保存到数据表 - //await _tbBillRepository.InsertManyAsync(targetMainLst, true); - //await _tsSortDetailRepository.InsertManyAsync(targetDetailLst, true); - await _tbBillRepository.InsertManyAsync(targetMainLst); - await _tsSortDetailRepository.InsertManyAsync(targetDetailLst); - } + // if (string.IsNullOrEmpty(cxStr)) + // { + // targetMain.ProjectId = sourceObj.PartType == null ? null : sourceObj.PartType.Replace(" DP", ""); //添加车型 + // } + // } + // foreach (FisTB_BILL targetMain in targetMainLst) + // { + // //明细数量 + // targetMain.DetailQty = targetDetailLst.Where(p => p.BillNum == targetMain.BillNum).Count(); + // } + // //保存到数据表 + // //await _tbBillRepository.InsertManyAsync(targetMainLst, true); + // //await _tsSortDetailRepository.InsertManyAsync(targetDetailLst, true); + // await _tbBillRepository.InsertManyAsync(targetMainLst); + // await _tsSortDetailRepository.InsertManyAsync(targetDetailLst); + //} #endregion - [UnitOfWork(false)] - [HttpPost] - [Route("get-last-hostsn-by-pl")] - public virtual async Task> GetLastHostSNByPL(MenBanPrintInputDto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetLastHostSNByPL 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - string lastHostSNSql = $@" - select top 1 EndHostSN from FisMenBanPackingList a - where a.ProductLine = '{input.ProductLine}' and a.BillLocation = '左' - and a.ReportStatus = 0 and a.PrintType = 0 - order by a.BillNum desc, a.MinOnlineTime desc - "; - string lastHostSNStr = await _newJitDapperRepository.GetSingleBySqlAsync(lastHostSNSql); - int lastHostSN = lastHostSNStr.TryToIntZero(); - if ((input.BeginHostSN % 10000) == 1) - { - if (lastHostSN == 0) - { - } - else if ((lastHostSN % 10000) != 1999) - { - ret.Message = $"上次打印到{lastHostSN},本次从{input.BeginHostSN}开始打印,之间存在断号!"; - _logger.LogError("断号校验:" + ret.Message); + //[UnitOfWork(false)] + //[HttpPost] + //[Route("get-last-hostsn-by-pl")] + //public virtual async Task> GetLastHostSNByPL(MenBanPrintInputDto input) + //{ + // throw new NotImplementedException(); - ret.Status = false; - return ret; - } - } - else - { - if (input.BeginHostSN != lastHostSN + 1) - { - ret.Message = $"上次打印到{lastHostSN},本次从{input.BeginHostSN}开始打印,之间存在断号!"; - _logger.LogError("断号校验:" + ret.Message); - ret.Status = false; - return ret; - } - } - ret.Status = true; - return ret; - } - catch (Exception ex) - { + // _logger.LogDebug(_errorMessagePrefix + "GetLastHostSNByPL 进入"); + // ObjectResultDto ret = new ObjectResultDto(); + // try + // { + // string lastHostSNSql = $@" + // select top 1 EndHostSN from FisMenBanPackingList a + // where a.ProductLine = '{input.ProductLine}' and a.BillLocation = '左' + // and a.ReportStatus = 0 and a.PrintType = 0 + // order by a.BillNum desc, a.MinOnlineTime desc + // "; + // string lastHostSNStr = await _newJitDapperRepository.GetSingleBySqlAsync(lastHostSNSql); + // int lastHostSN = lastHostSNStr.TryToIntZero(); + // if ((input.BeginHostSN % 10000) == 1) + // { + // if (lastHostSN == 0) + // { + // } + // else if ((lastHostSN % 10000) != 1999) + // { + // ret.Message = $"上次打印到{lastHostSN},本次从{input.BeginHostSN}开始打印,之间存在断号!"; + // _logger.LogError("断号校验:" + ret.Message); - string errMsg = _errorMessagePrefix + "GetLastHostSNByPL 执行出错:" + ex.Message; - _logger.LogError(errMsg); - ret.Message = errMsg; - ret.Status = false; - return ret; - } + // ret.Status = false; + // return ret; + // } + // } + // else + // { + // if (input.BeginHostSN != lastHostSN + 1) + // { + // ret.Message = $"上次打印到{lastHostSN},本次从{input.BeginHostSN}开始打印,之间存在断号!"; + // _logger.LogError("断号校验:" + ret.Message); + // ret.Status = false; + // return ret; + // } + // } + // ret.Status = true; + // return ret; + // } + // catch (Exception ex) + // { + // string errMsg = _errorMessagePrefix + "GetLastHostSNByPL 执行出错:" + ex.Message; + // _logger.LogError(errMsg); + // ret.Message = errMsg; + // ret.Status = false; + // return ret; + // } - } + + //} } } diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml index 0ed41b0..00f45a5 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml @@ -988,7 +988,7 @@ 柱护板缓存列表(打印柱护板时用到) - + 构造函数 @@ -1001,17 +1001,17 @@ - + - 根据筛选条件获取实体列表 + 从M100中取当前产线、已经打印的最大大众顺序号 + + - + - 取单据包含的ERP总成列表 + 根据筛选条件获取实体列表 - - @@ -1031,115 +1031,17 @@ - - - 取新的装箱单号 - - 加1后的序号 - - - + 打印左侧或右侧门板 - + - - - - - - 上箱位号加前缀 - KNR前4位 大于等于 2402的 属于新发货状态, 不加前缀; - 小于 2402的 属于老发货状态, 加前缀 - - - - - - - - 打印门板装箱单时调用库存系统接口 - - - - - - 根据条件取用于打印的柱护板单据列表 - - - - - - - - 打印柱护板(3*8 左右合并成一个单元格)A上C上 - - - - - - - - - - - - - 打印柱护板(3*8 分左右)A柱下A中 - - - - - - - - - - - - - 打印柱护板(4*6 分左右)B柱上;B柱下;后轮上装饰板 - - - - - - - - - - - - - 打印柱护板(4*3 左右相邻)D柱 - - - - - - - - - - - - - 打印柱护板装箱单时调用库存系统接口 - - - - - - 查找M100结算件中是否包含指定类型(如D柱)的柱护板 - - - - + @@ -1149,14 +1051,6 @@ 断号时Item不为空 - - - 打印前检查大众顺序号是否断号 - - - 是否柱护板 - 断号时Item不为空 - 根据生产线获取正常打印单据的起始大众顺序号2 @@ -1166,34 +1060,6 @@ 柱护板分组类型 起始大众顺序号 - - - 打印门板装箱单 - - - 执行成功返回真 - - - - 打印柱护板装箱单 - - - 执行成功返回真 - - - - 取门板补打列表(IsNeedReplenishPrint=true、单据状态BillStatus是未打印) - - 输入查询条件 - 返回符合条件的排序分页列表 - - - - 取柱护板补打列表(IsNeedReplenishPrint=true、单据状态BillStatus是未打印) - - 输入查询条件 - 返回符合条件的排序分页列表 - 根据筛选条件获取分页实体列表 @@ -1252,40 +1118,6 @@ 生产线编号列表 生产线超时情况 - - - 打印柱护板装箱单 - - - 执行成功返回真 - - - - 保存柱护板装箱单报表 - - - - - 保存柱护板装箱单报表 - - - - - 加载柱护板装箱单报表【仅ReportIdList、DataResultType参数有效】 - - - - - 保存门板信息到中间表,中间表是位于FIS库,和WMS中间表结构相同 - - - - - - 保存柱护板信息到中间表,中间表是位于FIS库,和WMS中间表结构相同 - - - M100单据管理应用服务实现 diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingList.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingList.cs index 6089215..746dabb 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingList.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingList.cs @@ -26,9 +26,9 @@ namespace WY.NewJit.Extends public string BillSerialNum { get; set; } /// - /// 左 或 右 + /// 车型 /// - public string BillLocation { get; set; } + public string VehicleModel { get; set; } /// diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingRec.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingRec.cs index f78560f..06e74af 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingRec.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingRec.cs @@ -13,6 +13,8 @@ namespace WY.NewJit.Extends /// public class MenBanPackingRec : FullAuditedAggregateRoot { + public Guid? M100BillId { get; set; } + /// /// KNR订单号 /// @@ -31,42 +33,37 @@ namespace WY.NewJit.Extends /// /// 车型门板代码 门板代号:是零件关键件,从汇总excel中取 /// - public virtual string VehicleModel_DoorPlankCode { get; set; } + public virtual string PartCode1 { get; set; } - /// - /// 上箱位号 - /// - public virtual string TopBoxPositionNum { get; set; } /// /// 上箱位 SAP物料号 /// - public string TopSAPMaterialNum { get; set; } + public string PartCode2 { get; set; } /// /// 上箱位 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) /// - public string TopMaterialDescription { get; set; } + public string PartCode3 { get; set; } - /// - /// 下箱位号 - /// - //public virtual string BelowBoxPositionNum { get; set; } /// /// 下箱位 SAP物料号 /// - public string BelowSAPMaterialNum { get; set; } + public string PartCode4 { get; set; } /// /// 下箱位 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) /// - public string BelowMaterialDescription { get; set; } + public string PartCode5 { get; set; } + + /// + /// 上箱位号 + /// + public virtual string SN { get; set; } - - public Guid? M100BillId { get; set; } public void SetId(Guid id) diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItem.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItem.cs index b188ce8..4a882cf 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItem.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItem.cs @@ -28,22 +28,22 @@ namespace WY.NewJit.MsgBaseData public virtual string DicItemName { get; protected set; } /// - /// 分类1 + /// 分类1(零件大类对应分组) /// public virtual string DicItemSort1 { get; set; } /// - /// 分类2 + /// 分类2 (零件大类对应产线) /// public virtual string DicItemSort2 { get; set; } /// - /// 分类3 + /// 分类3(零件大类对应车型) /// public virtual string DicItemSort3{ get; set; } /// - /// 分类4 + /// 分类4(零件大类对应打印报表的三位零件大类) /// public virtual string DicItemSort4 { get; set; } diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250721080257_2025072102.Designer.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250721080257_2025072102.Designer.cs new file mode 100644 index 0000000..aa5d5bc --- /dev/null +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250721080257_2025072102.Designer.cs @@ -0,0 +1,3578 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using WY.NewJit.EntityFrameworkCore; + +namespace WY.NewJit.Migrations +{ + [DbContext(typeof(NewJitDbContext))] + [Migration("20250721080257_2025072102")] + partial class _2025072102 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) + .HasAnnotation("Relational:MaxIdentifierLength", 128) + .HasAnnotation("ProductVersion", "5.0.17") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + modelBuilder.Entity("WY.NewJit.Books.Book", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Price") + .HasColumnType("real"); + + b.Property("PublishDate") + .HasColumnType("datetime2"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FisBooks"); + }); + + modelBuilder.Entity("WY.NewJit.Commons.SequenceInfo", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("SequenceNum") + .HasColumnType("bigint"); + + b.Property("SequenceType") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisSequenceInfo"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingList", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BeginHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("BeginVin") + .HasColumnType("nvarchar(max)"); + + b.Property("BillLocation") + .HasColumnType("nvarchar(max)"); + + b.Property("BillNum") + .HasColumnType("nvarchar(max)"); + + b.Property("BillSerialNum") + .HasColumnType("nvarchar(max)"); + + b.Property("Capacity") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("EndHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("EndVin") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MinOnlineTime") + .HasColumnType("datetime2"); + + b.Property("PartType") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintDate") + .HasColumnType("datetime2"); + + b.Property("PrintType") + .HasColumnType("int"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ProviderCode") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportStatus") + .HasColumnType("int"); + + b.Property("SortId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisMenBanPackingList"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingRec", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BelowMaterialDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("BelowSAPMaterialNum") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("M100BillId") + .HasColumnType("uniqueidentifier"); + + b.Property("MenBanPackingListId") + .HasColumnType("uniqueidentifier"); + + b.Property("TopBoxPositionNum") + .HasColumnType("nvarchar(max)"); + + b.Property("TopMaterialDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("TopSAPMaterialNum") + .HasColumnType("nvarchar(max)"); + + b.Property("VIN") + .HasColumnType("nvarchar(max)"); + + b.Property("VehicleModel_DoorPlankCode") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("MenBanPackingListId"); + + b.ToTable("FisMenBanPackingRec"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.MaterialExt", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaterialDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialDescription2") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialGroup") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialMemo") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialNum") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("MaterialType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MaterialType2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MaterialType3") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RelationKey") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("VehicleModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("promo") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("MaterialNum") + .HasDatabaseName("IX_MaterialExt_MaterialNum"); + + b.HasIndex("MaterialType") + .HasDatabaseName("IX_MaterialExt_MaterialType"); + + b.HasIndex("MaterialType2") + .HasDatabaseName("IX_MaterialExt_MaterialType2"); + + b.HasIndex("MaterialType3") + .HasDatabaseName("IX_MaterialExt_MaterialType3"); + + b.HasIndex("RelationKey") + .HasDatabaseName("IX_MaterialExt_RelationKey"); + + b.HasIndex("VehicleModel") + .HasDatabaseName("IX_MaterialExt_VehicleModel"); + + b.ToTable("FisMaterialExt"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTB_BILL", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AccountDate") + .HasColumnType("datetime2"); + + b.Property("BillTime") + .HasColumnType("datetime2"); + + b.Property("BillType") + .HasColumnType("int"); + + b.Property("CustId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DetailQty") + .HasColumnType("int"); + + b.Property("DockCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ExecuteRemark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("FinishTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GUID") + .HasColumnType("uniqueidentifier"); + + b.Property("GateCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GateName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IsExecute") + .HasColumnType("bit"); + + b.Property("OperName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ProjectId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceBillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum3") + .HasColumnType("nvarchar(max)"); + + b.Property("StartTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("SubBillType") + .HasColumnType("int"); + + b.Property("TransportType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TruckNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("int"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum"); + + b.ToTable("FisTB_BILL"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTB_BILL_HIS", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AccountDate") + .HasColumnType("datetime2"); + + b.Property("BillTime") + .HasColumnType("datetime2"); + + b.Property("BillType") + .HasColumnType("int"); + + b.Property("CustId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DetailQty") + .HasColumnType("int"); + + b.Property("DockCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FinishTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GUID") + .HasColumnType("uniqueidentifier"); + + b.Property("GateCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GateName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("OperName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ProjectId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceBillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum3") + .HasColumnType("nvarchar(max)"); + + b.Property("StartTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("SubBillType") + .HasColumnType("int"); + + b.Property("TransportType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TruckNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("int"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum"); + + b.ToTable("FisTB_BILL_HIS"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTB_BILL_SCRAP", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("ExecuteTime") + .HasColumnType("datetime2"); + + b.Property("IsExecute") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("Remark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("Id"); + + b.ToTable("FisTB_BILL_SCRAP"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTS_SORT_DETAIL", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VinCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("BarCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CustBarCode") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("CustPartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DispatchDate") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Dock") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FullBarCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("FyonNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LineNum") + .HasColumnType("int"); + + b.Property("PlanQty") + .HasColumnType("money"); + + b.Property("ProjectId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Qty") + .HasColumnType("money"); + + b.Property("ReceiptQty") + .HasColumnType("money"); + + b.Property("Remark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("SeqNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("bigint"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum", "VinCode", "PartCode"); + + b.ToTable("FisTS_SORT_DETAIL"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTS_SORT_DETAIL_HIS", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VinCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("BarCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CustBarCode") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("CustPartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DispatchDate") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Dock") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FullBarCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("FyonNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LineNum") + .HasColumnType("int"); + + b.Property("PlanQty") + .HasColumnType("money"); + + b.Property("ProjectId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Qty") + .HasColumnType("money"); + + b.Property("ReceiptQty") + .HasColumnType("money"); + + b.Property("Remark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("SeqNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("bigint"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum", "VinCode", "PartCode"); + + b.ToTable("FisTS_SORT_DETAIL_HIS"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ProductLine", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillType") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ProductLineCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ProductLineName") + .HasColumnType("nvarchar(max)"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ProductLineCode") + .HasDatabaseName("IX_ProductLine_ProductLineCode"); + + b.ToTable("FisProductLine"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.User2ProductLine", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ProductLineId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisUser2ProductLine"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingList", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BeginHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("BeginVin") + .HasColumnType("nvarchar(max)"); + + b.Property("BillLocation") + .HasColumnType("nvarchar(max)"); + + b.Property("BillNum") + .HasColumnType("nvarchar(max)"); + + b.Property("BillSerialNum") + .HasColumnType("nvarchar(max)"); + + b.Property("Capacity") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("EndHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("EndVin") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MinOnlineTime") + .HasColumnType("datetime2"); + + b.Property("PartType") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintDate") + .HasColumnType("datetime2"); + + b.Property("PrintType") + .HasColumnType("int"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ProviderCode") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportStatus") + .HasColumnType("int"); + + b.Property("SortId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisZhuHuBanPackingList"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingRec", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("M100BillId") + .HasColumnType("uniqueidentifier"); + + b.Property("MaterialDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialDescription2") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode2") + .HasColumnType("nvarchar(max)"); + + b.Property("VIN") + .HasColumnType("nvarchar(max)"); + + b.Property("ZhuHuBanPackingListId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("ZhuHuBanPackingListId"); + + b.ToTable("FisZhuHuBanPackingRec"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingRec2", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Column00") + .HasColumnType("nvarchar(max)"); + + b.Property("Column01") + .HasColumnType("nvarchar(max)"); + + b.Property("Column02") + .HasColumnType("nvarchar(max)"); + + b.Property("Column03") + .HasColumnType("nvarchar(max)"); + + b.Property("Column04") + .HasColumnType("nvarchar(max)"); + + b.Property("Column05") + .HasColumnType("nvarchar(max)"); + + b.Property("Column06") + .HasColumnType("nvarchar(max)"); + + b.Property("Column07") + .HasColumnType("nvarchar(max)"); + + b.Property("Column08") + .HasColumnType("nvarchar(max)"); + + b.Property("Column09") + .HasColumnType("nvarchar(max)"); + + b.Property("Column10") + .HasColumnType("nvarchar(max)"); + + b.Property("Column11") + .HasColumnType("nvarchar(max)"); + + b.Property("Column12") + .HasColumnType("nvarchar(max)"); + + b.Property("Column13") + .HasColumnType("nvarchar(max)"); + + b.Property("Column14") + .HasColumnType("nvarchar(max)"); + + b.Property("Column15") + .HasColumnType("nvarchar(max)"); + + b.Property("Column16") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.ToTable("FisZhuHuBanPackingRec2"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ErpAssemblyCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ErpAssemblyName") + .HasColumnType("nvarchar(max)"); + + b.Property("ErpAssemblyVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupCode") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("GroupId") + .HasColumnType("uniqueidentifier"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("NewVersionId") + .HasColumnType("uniqueidentifier"); + + b.Property("RelationKey") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("FisAssemblyCfgErp"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgGroup", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupCode") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsDisable") + .HasColumnType("bit"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("VehicleModel") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisAssemblyCfgGroup"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyCfgErpId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsKey") + .HasColumnType("bit"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("AssemblyCfgErpId"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_FisAssemblyCfgPart_PartCode"); + + b.ToTable("FisAssemblyCfgPart"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyName") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsActivate") + .HasColumnType("bit"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("FisAssemblyCfgVehicle"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyCfgVehicleId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ErpAssemblyId") + .HasColumnType("uniqueidentifier"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.HasIndex("AssemblyCfgVehicleId"); + + b.HasIndex("ErpAssemblyId") + .HasDatabaseName("IX_AssemblyCfgVehicleChild_ErpAssemblyId"); + + b.ToTable("FisAssemblyCfgVehicleChild"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DicItemCode") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("DicItemName") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("DicItemSort1") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort2") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort3") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort4") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort5") + .HasColumnType("nvarchar(max)"); + + b.Property("DicTypeCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.HasIndex("DicItemCode") + .HasDatabaseName("IX_DicItem_DicItemCode"); + + b.HasIndex("DicTypeCode") + .HasDatabaseName("IX_DicItem_DicTypeCode"); + + b.ToTable("FisDicItem"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DicTypeCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DicTypeName") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.HasIndex("DicTypeCode") + .HasDatabaseName("IX_DicType_DicTypeCode"); + + b.ToTable("FisDicType"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExcludeReason") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisExcludePartCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.GlobalSettings", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("RefreshMessageParseCache") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.HasKey("Id"); + + b.ToTable("FisGlobalSettings"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.LineSN", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LastPrintTime") + .HasColumnType("datetime2"); + + b.Property("PartType") + .HasColumnType("nvarchar(450)"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(450)"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("SN") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("ProductType", "ProductLine", "PartType") + .IsUnique() + .HasFilter("[ProductLine] IS NOT NULL AND [PartType] IS NOT NULL"); + + b.ToTable("FisLineSN"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LogDesc") + .HasColumnType("nvarchar(max)"); + + b.Property("LogStatus") + .HasColumnType("int"); + + b.Property("LogTitle") + .HasColumnType("nvarchar(max)"); + + b.Property("LogType") + .HasColumnType("int"); + + b.Property("SeriousLevel") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FisLogRemind"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsDisable") + .HasColumnType("bit"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartName") + .HasColumnType("nvarchar(max)"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartType2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartType3") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RelationKey") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_PartCfg_PartCode"); + + b.HasIndex("PartType") + .HasDatabaseName("IX_PartCfg_PartType"); + + b.HasIndex("PartType2") + .HasDatabaseName("IX_PartCfg_PartType2"); + + b.HasIndex("PartType3") + .HasDatabaseName("IX_PartCfg_PartType3"); + + b.ToTable("FisPartCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.PartSwitch", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ActiveBeginTime") + .HasColumnType("datetime2"); + + b.Property("ActiveEndTime") + .HasColumnType("datetime2"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("SourcePartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("TargetPartCode") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisPartSwitch"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.PrintTemplateConfiguration", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("TemplateName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName", "PartType") + .IsUnique() + .HasFilter("[GroupName] IS NOT NULL AND [PartType] IS NOT NULL"); + + b.ToTable("FisPrintTemplateConfiguration"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("CanNotPrint") + .HasColumnType("bit"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("HostSN2") + .HasColumnType("int"); + + b.Property("IsPartSwitch") + .HasColumnType("bit"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("NeedReplenishPrint") + .HasColumnType("int"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("OperationTime") + .HasColumnType("datetime2"); + + b.Property("OperationType") + .HasColumnType("int"); + + b.Property("Operator") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintBillNum") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintTime") + .HasColumnType("datetime2"); + + b.Property("PrintTime2") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("SerialNumStr") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_BillM100_HostSN2"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_BillM100_ProductLine2"); + + b.HasIndex("SerialNum") + .HasDatabaseName("IX_BillM100_SerialNum"); + + b.HasIndex("SerialNumStr") + .HasDatabaseName("IX_BillM100_SerialNumStr2"); + + b.HasIndex("VIN") + .HasDatabaseName("IX_BillM100_VIN2"); + + b.ToTable("FisBillM100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillM100Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType2") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType3") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("BillM100Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_BillM100Part_PartCode2"); + + b.ToTable("FisBillM100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("VIN") + .HasDatabaseName("IX_BillM110_VIN3"); + + b.ToTable("FisBillM110"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillM110Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("BillM110Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_BillM110Part_PartCode3"); + + b.ToTable("FisBillM110Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("IsPartSwitch") + .HasColumnType("bit"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("PrintTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("SerialNumStr") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_BillR100_HostSN1"); + + b.HasIndex("KNR") + .HasDatabaseName("IX_BillR100_KNR"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_BillR100_ProductLine1"); + + b.HasIndex("SerialNumStr") + .HasDatabaseName("IX_BillR100_SerialNumStr1"); + + b.ToTable("FisBillR100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillR100Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType2") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType3") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("BillR100Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_BillR100Part_PartCode1"); + + b.ToTable("FisBillR100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_RepeatM100_HostSN"); + + b.HasIndex("KNR") + .HasDatabaseName("IX_RepeatM100_KNR"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_RepeatM100_ProductLine"); + + b.HasIndex("VIN") + .HasDatabaseName("IX_RepeatM100_VIN"); + + b.ToTable("FisRepeatM100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("RepeatM100Id") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_RepeatM100Part_PartCode"); + + b.HasIndex("RepeatM100Id"); + + b.ToTable("FisRepeatM100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("VIN") + .HasColumnType("nvarchar(max)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisRepeatM110"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("RepeatM110Id") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("RepeatM110Id"); + + b.ToTable("FisRepeatM110Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_RepeatR100_HostSN"); + + b.HasIndex("KNR") + .HasDatabaseName("IX_RepeatR100_KNR"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_RepeatR100_ProductLine"); + + b.ToTable("FisRepeatR100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("RepeatR100Id") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_RepeatR100Part_PartCode"); + + b.HasIndex("RepeatR100Id"); + + b.ToTable("FisRepeatR100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillID") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("ScanPoint") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisUnknownAssembly"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("UnknownAssemblyId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_UnknownAssemblyPart_PartCode"); + + b.HasIndex("UnknownAssemblyId"); + + b.ToTable("FisUnknownAssemblyPart"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.ZHBPrintStatus", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName", "VIN") + .IsUnique() + .HasFilter("[GroupName] IS NOT NULL AND [VIN] IS NOT NULL"); + + b.ToTable("FisZHBPrintStatus"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillName") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("FileContentKeyword") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageVersionCfgId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("MessageVersionCfgId"); + + b.ToTable("FisBillSortCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("FileNameKeyword") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisMessageVersionCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ErrorCount") + .HasColumnType("int"); + + b.Property("ErrorMessage") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastUpdateTime") + .HasColumnType("datetime2"); + + b.Property("MessageContent") + .HasColumnType("nvarchar(max)"); + + b.Property("MessageFileName") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiveStatus") + .HasColumnType("int"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("FisMessageReceive"); + }); + + modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceiveArchive", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillHostSN") + .HasColumnType("int"); + + b.Property("BillOnlineTime") + .HasColumnType("datetime2"); + + b.Property("BillType") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastUpdateTime") + .HasColumnType("datetime2"); + + b.Property("MessageContent") + .HasColumnType("nvarchar(max)"); + + b.Property("MessageFileName") + .HasColumnType("nvarchar(max)"); + + b.Property("MessageReceiveId") + .HasColumnType("uniqueidentifier"); + + b.Property("ReceiveStatus") + .HasColumnType("int"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("FisMessageReceiveArchive"); + }); + + modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsApply") + .HasColumnType("bit"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("TransmissionModeContent") + .HasColumnType("nvarchar(max)"); + + b.Property("TransmissionModeType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FisTransmissionModeCfg"); + }); + + modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("NotMatchBillId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisNotMatchTempBill"); + }); + + modelBuilder.Entity("WY.NewJit.Users.AppUser", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Name"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.ToTable("AbpUsers"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingRec", b => + { + b.HasOne("WY.NewJit.Extends.MenBanPackingList", null) + .WithMany("Details") + .HasForeignKey("MenBanPackingListId"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingRec", b => + { + b.HasOne("WY.NewJit.Extends.ZhuHuBanPackingList", null) + .WithMany("Details") + .HasForeignKey("ZhuHuBanPackingListId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => + { + b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) + .WithMany("Details") + .HasForeignKey("AssemblyCfgErpId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => + { + b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) + .WithMany("AssemblyCfgVehicleChilds") + .HasForeignKey("AssemblyCfgVehicleId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.BillM100", null) + .WithMany("BillM100Parts") + .HasForeignKey("BillM100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.BillM110", null) + .WithMany("BillM110Parts") + .HasForeignKey("BillM110Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.BillR100", null) + .WithMany("BillR100Parts") + .HasForeignKey("BillR100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) + .WithMany("M100RepeatParts") + .HasForeignKey("RepeatM100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) + .WithMany("M110RepeatParts") + .HasForeignKey("RepeatM110Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) + .WithMany("R100RepeatParts") + .HasForeignKey("RepeatR100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => + { + b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) + .WithMany("UnknownAssemblyParts") + .HasForeignKey("UnknownAssemblyId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => + { + b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) + .WithMany("Details") + .HasForeignKey("MessageVersionCfgId"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingList", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingList", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => + { + b.Navigation("AssemblyCfgVehicleChilds"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => + { + b.Navigation("BillM100Parts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => + { + b.Navigation("BillM110Parts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => + { + b.Navigation("BillR100Parts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => + { + b.Navigation("M100RepeatParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => + { + b.Navigation("M110RepeatParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => + { + b.Navigation("R100RepeatParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => + { + b.Navigation("UnknownAssemblyParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => + { + b.Navigation("Details"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250721080257_2025072102.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250721080257_2025072102.cs new file mode 100644 index 0000000..ce6d08c --- /dev/null +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250721080257_2025072102.cs @@ -0,0 +1,1793 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace WY.NewJit.Migrations +{ + public partial class _2025072102 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "AbpUsers", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Surname = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Email = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + EmailConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), + PhoneNumber = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true), + PhoneNumberConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUsers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisAssemblyCfgErp", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + ErpAssemblyCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + ErpAssemblyName = table.Column(type: "nvarchar(max)", nullable: true), + ErpAssemblyVersion = table.Column(type: "int", nullable: false), + VehicleModel = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + NewVersionId = table.Column(type: "uniqueidentifier", nullable: true), + RelationKey = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + GroupCode = table.Column(type: "varchar(100)", maxLength: 100, nullable: true), + GroupId = table.Column(type: "uniqueidentifier", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisAssemblyCfgErp", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisAssemblyCfgGroup", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + GroupCode = table.Column(type: "varchar(100)", maxLength: 100, nullable: true), + VehicleModel = table.Column(type: "nvarchar(max)", nullable: true), + IsDisable = table.Column(type: "bit", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisAssemblyCfgGroup", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisAssemblyCfgVehicle", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + AssemblyName = table.Column(type: "nvarchar(max)", nullable: true), + VehicleModelCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + IsActivate = table.Column(type: "bit", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisAssemblyCfgVehicle", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisBillM100", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: true), + SerialNum = table.Column(type: "int", nullable: true), + HostSN = table.Column(type: "int", nullable: true), + KNR = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + VIN = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), + OnlineTime = table.Column(type: "datetime2", nullable: true), + VehicleModelCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + ProductLine = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + Version = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + ReceiveTime = table.Column(type: "datetime2", nullable: true), + BillStatus = table.Column(type: "int", nullable: false), + Description = table.Column(type: "nvarchar(max)", nullable: true), + PrintTime = table.Column(type: "datetime2", nullable: true), + PrintBillNum = table.Column(type: "nvarchar(max)", nullable: true), + PrintTime2 = table.Column(type: "datetime2", nullable: true), + SerialNumStr = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + OperationType = table.Column(type: "int", nullable: false), + Operator = table.Column(type: "nvarchar(max)", nullable: true), + OperationTime = table.Column(type: "datetime2", nullable: true), + CanNotPrint = table.Column(type: "bit", nullable: true), + NeedReplenishPrint = table.Column(type: "int", nullable: true), + HostSN2 = table.Column(type: "int", nullable: true), + IsPartSwitch = table.Column(type: "bit", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisBillM100", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisBillM110", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), + SerialNum = table.Column(type: "int", nullable: true), + HostSN = table.Column(type: "int", nullable: true), + KNR = table.Column(type: "nvarchar(max)", nullable: true), + VIN = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), + OnlineTime = table.Column(type: "datetime2", nullable: true), + VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), + ProductLine = table.Column(type: "nvarchar(max)", nullable: true), + Version = table.Column(type: "nvarchar(max)", nullable: true), + ReceiveTime = table.Column(type: "datetime2", nullable: true), + BillStatus = table.Column(type: "int", nullable: false), + Description = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisBillM110", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisBillR100", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), + HostSN = table.Column(type: "int", nullable: true), + KNR = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), + OnlineTime = table.Column(type: "datetime2", nullable: true), + ReceiveTime = table.Column(type: "datetime2", nullable: true), + VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), + ProductLine = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + Version = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + BillStatus = table.Column(type: "int", nullable: false), + Description = table.Column(type: "nvarchar(max)", nullable: true), + PrintTime = table.Column(type: "datetime2", nullable: true), + SerialNum = table.Column(type: "int", nullable: true), + SerialNumStr = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + IsPartSwitch = table.Column(type: "bit", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisBillR100", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisBooks", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + Type = table.Column(type: "int", nullable: false), + PublishDate = table.Column(type: "datetime2", nullable: false), + Price = table.Column(type: "real", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisBooks", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisDicItem", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + DicTypeCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + DicItemCode = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: true), + DicItemName = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: true), + DicItemSort1 = table.Column(type: "nvarchar(max)", nullable: true), + DicItemSort2 = table.Column(type: "nvarchar(max)", nullable: true), + DicItemSort3 = table.Column(type: "nvarchar(max)", nullable: true), + DicItemSort4 = table.Column(type: "nvarchar(max)", nullable: true), + DicItemSort5 = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisDicItem", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisDicType", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + DicTypeCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + DicTypeName = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisDicType", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisExcludePartCfg", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), + PartCode = table.Column(type: "nvarchar(max)", nullable: true), + ExcludeReason = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisExcludePartCfg", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisGlobalSettings", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + RefreshMessageParseCache = table.Column(type: "nvarchar(1)", maxLength: 1, nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisGlobalSettings", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisLineSN", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + ProductType = table.Column(type: "int", nullable: false), + ProductLine = table.Column(type: "nvarchar(450)", nullable: true), + PartType = table.Column(type: "nvarchar(450)", nullable: true), + SN = table.Column(type: "float", nullable: false), + LastPrintTime = table.Column(type: "datetime2", nullable: false), + Remark = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisLineSN", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisLogRemind", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + LogType = table.Column(type: "int", nullable: false), + LogTitle = table.Column(type: "nvarchar(max)", nullable: true), + LogDesc = table.Column(type: "nvarchar(max)", nullable: true), + SeriousLevel = table.Column(type: "int", nullable: false), + LogStatus = table.Column(type: "int", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisLogRemind", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisMaterialExt", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + MaterialNum = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + MaterialDescription = table.Column(type: "nvarchar(max)", nullable: true), + MaterialDescription2 = table.Column(type: "nvarchar(max)", nullable: true), + MaterialMemo = table.Column(type: "nvarchar(max)", nullable: true), + MaterialGroup = table.Column(type: "nvarchar(max)", nullable: true), + VehicleModel = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + MaterialType = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + MaterialType2 = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + MaterialType3 = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + RelationKey = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + UpdateTime = table.Column(type: "datetime2", nullable: false), + promo = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisMaterialExt", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisMenBanPackingList", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + BillNum = table.Column(type: "nvarchar(max)", nullable: true), + BillSerialNum = table.Column(type: "nvarchar(max)", nullable: true), + BillLocation = table.Column(type: "nvarchar(max)", nullable: true), + ProviderCode = table.Column(type: "nvarchar(max)", nullable: true), + PartType = table.Column(type: "nvarchar(max)", nullable: true), + Capacity = table.Column(type: "nvarchar(max)", nullable: true), + PrintDate = table.Column(type: "datetime2", nullable: false), + PrintType = table.Column(type: "int", nullable: false), + ProductLine = table.Column(type: "nvarchar(max)", nullable: true), + BeginVin = table.Column(type: "nvarchar(max)", nullable: true), + EndVin = table.Column(type: "nvarchar(max)", nullable: true), + BeginHostSN = table.Column(type: "nvarchar(max)", nullable: true), + EndHostSN = table.Column(type: "nvarchar(max)", nullable: true), + SortId = table.Column(type: "uniqueidentifier", nullable: true), + ReportStatus = table.Column(type: "int", nullable: false), + MinOnlineTime = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisMenBanPackingList", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisMessageReceive", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + MessageFileName = table.Column(type: "nvarchar(max)", nullable: true), + MessageContent = table.Column(type: "nvarchar(max)", nullable: true), + ReceiveStatus = table.Column(type: "int", nullable: false), + ReceiveTime = table.Column(type: "datetime2", nullable: false), + LastUpdateTime = table.Column(type: "datetime2", nullable: true), + ErrorCount = table.Column(type: "int", nullable: true), + ErrorMessage = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisMessageReceive", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisMessageReceiveArchive", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + MessageFileName = table.Column(type: "nvarchar(max)", nullable: true), + MessageContent = table.Column(type: "nvarchar(max)", nullable: true), + ReceiveStatus = table.Column(type: "int", nullable: false), + ReceiveTime = table.Column(type: "datetime2", nullable: false), + LastUpdateTime = table.Column(type: "datetime2", nullable: true), + MessageReceiveId = table.Column(type: "uniqueidentifier", nullable: true), + BillType = table.Column(type: "nvarchar(max)", nullable: true), + BillOnlineTime = table.Column(type: "datetime2", nullable: true), + BillHostSN = table.Column(type: "int", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisMessageReceiveArchive", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisMessageVersionCfg", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Version = table.Column(type: "nvarchar(max)", nullable: true), + FileNameKeyword = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisMessageVersionCfg", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisNotMatchTempBill", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + NotMatchBillId = table.Column(type: "uniqueidentifier", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisNotMatchTempBill", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisPartCfg", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PartCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartName = table.Column(type: "nvarchar(max)", nullable: true), + PartType = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + PartType2 = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + PartType3 = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + RelationKey = table.Column(type: "nvarchar(max)", nullable: true), + IsDisable = table.Column(type: "bit", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisPartCfg", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisPartSwitch", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + SourcePartCode = table.Column(type: "nvarchar(max)", nullable: true), + TargetPartCode = table.Column(type: "nvarchar(max)", nullable: true), + ActiveBeginTime = table.Column(type: "datetime2", nullable: true), + ActiveEndTime = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisPartSwitch", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisPrintTemplateConfiguration", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + GroupName = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartType = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + TemplateName = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisPrintTemplateConfiguration", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisProductLine", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + ProductLineCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + ProductLineName = table.Column(type: "nvarchar(max)", nullable: true), + BillType = table.Column(type: "int", nullable: false), + ProductType = table.Column(type: "int", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisProductLine", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisRepeatM100", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: true), + SerialNum = table.Column(type: "int", nullable: true), + HostSN = table.Column(type: "int", nullable: true), + KNR = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + VIN = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), + OnlineTime = table.Column(type: "datetime2", nullable: true), + ReceiveTime = table.Column(type: "datetime2", nullable: true), + VehicleModelCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + ProductLine = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + Version = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + BillStatus = table.Column(type: "int", nullable: false), + Description = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisRepeatM100", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisRepeatM110", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), + HostSN = table.Column(type: "int", nullable: true), + KNR = table.Column(type: "nvarchar(max)", nullable: true), + VIN = table.Column(type: "nvarchar(max)", nullable: true), + OnlineTime = table.Column(type: "datetime2", nullable: true), + ReceiveTime = table.Column(type: "datetime2", nullable: true), + VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), + ProductLine = table.Column(type: "nvarchar(max)", nullable: true), + Version = table.Column(type: "nvarchar(max)", nullable: true), + BillStatus = table.Column(type: "int", nullable: false), + Description = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisRepeatM110", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisRepeatR100", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), + HostSN = table.Column(type: "int", nullable: true), + KNR = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), + OnlineTime = table.Column(type: "datetime2", nullable: true), + ReceiveTime = table.Column(type: "datetime2", nullable: true), + VehicleModelCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + ProductLine = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + Version = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + BillStatus = table.Column(type: "int", nullable: false), + Description = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisRepeatR100", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisSequenceInfo", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + SequenceType = table.Column(type: "nvarchar(max)", nullable: true), + SequenceNum = table.Column(type: "bigint", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisSequenceInfo", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisTB_BILL", + columns: table => new + { + BillNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + UID = table.Column(type: "int", nullable: false), + State = table.Column(type: "int", nullable: false), + SourceBillNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + SourceBillNum2 = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + SourceBillNum3 = table.Column(type: "nvarchar(max)", nullable: true), + BillType = table.Column(type: "int", nullable: false), + SubBillType = table.Column(type: "int", nullable: false), + BillTime = table.Column(type: "datetime2", nullable: false), + StartTime = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + FinishTime = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + OperName = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + DetailQty = table.Column(type: "int", nullable: false), + VendId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + CustId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ProjectId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + TransportType = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + TruckNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + GateCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + GateName = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + DockCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + Remark = table.Column(type: "nvarchar(max)", nullable: true), + AccountDate = table.Column(type: "datetime2", nullable: true), + GUID = table.Column(type: "uniqueidentifier", nullable: false), + IsExecute = table.Column(type: "bit", nullable: false), + ExecuteRemark = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisTB_BILL", x => x.BillNum); + }); + + migrationBuilder.CreateTable( + name: "FisTB_BILL_HIS", + columns: table => new + { + BillNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + UID = table.Column(type: "int", nullable: false), + State = table.Column(type: "int", nullable: false), + SourceBillNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + SourceBillNum2 = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + SourceBillNum3 = table.Column(type: "nvarchar(max)", nullable: true), + BillType = table.Column(type: "int", nullable: false), + SubBillType = table.Column(type: "int", nullable: false), + BillTime = table.Column(type: "datetime2", nullable: false), + StartTime = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + FinishTime = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + OperName = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + DetailQty = table.Column(type: "int", nullable: false), + VendId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + CustId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ProjectId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + TransportType = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + TruckNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + GateCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + GateName = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + DockCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + Remark = table.Column(type: "nvarchar(max)", nullable: true), + AccountDate = table.Column(type: "datetime2", nullable: true), + GUID = table.Column(type: "uniqueidentifier", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_FisTB_BILL_HIS", x => x.BillNum); + }); + + migrationBuilder.CreateTable( + name: "FisTB_BILL_SCRAP", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + BillNum = table.Column(type: "varchar(50)", maxLength: 50, nullable: false), + IsExecute = table.Column(type: "bit", nullable: false, defaultValue: false), + Remark = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + CreateTime = table.Column(type: "datetime2", nullable: true), + ExecuteTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisTB_BILL_SCRAP", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisTransmissionModeCfg", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TransmissionModeType = table.Column(type: "int", nullable: false), + TransmissionModeContent = table.Column(type: "nvarchar(max)", nullable: true), + IsApply = table.Column(type: "bit", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisTransmissionModeCfg", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisTS_SORT_DETAIL", + columns: table => new + { + BillNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + VinCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + PartCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + UID = table.Column(type: "bigint", nullable: false), + LineNum = table.Column(type: "int", nullable: false), + SeqNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + BarCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + CustPartCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ProjectId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + FyonNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + VendId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + Dock = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + DispatchDate = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + State = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + Remark = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + PlanQty = table.Column(type: "money", nullable: false), + Qty = table.Column(type: "money", nullable: false), + CustBarCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + ReceiptQty = table.Column(type: "money", nullable: false), + FullBarCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_FisTS_SORT_DETAIL", x => new { x.BillNum, x.VinCode, x.PartCode }); + }); + + migrationBuilder.CreateTable( + name: "FisTS_SORT_DETAIL_HIS", + columns: table => new + { + BillNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + VinCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + PartCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + UID = table.Column(type: "bigint", nullable: false), + LineNum = table.Column(type: "int", nullable: false), + SeqNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + BarCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + CustPartCode = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ProjectId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + FyonNum = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + VendId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + Dock = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + DispatchDate = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + State = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + Remark = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + PlanQty = table.Column(type: "money", nullable: false), + Qty = table.Column(type: "money", nullable: false), + CustBarCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + ReceiptQty = table.Column(type: "money", nullable: false), + FullBarCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_FisTS_SORT_DETAIL_HIS", x => new { x.BillNum, x.VinCode, x.PartCode }); + }); + + migrationBuilder.CreateTable( + name: "FisUnknownAssembly", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + BillID = table.Column(type: "uniqueidentifier", nullable: false), + ScanPoint = table.Column(type: "nvarchar(max)", nullable: true), + PartNum = table.Column(type: "float", nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisUnknownAssembly", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisUser2ProductLine", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + UserId = table.Column(type: "uniqueidentifier", nullable: false), + ProductLineId = table.Column(type: "uniqueidentifier", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisUser2ProductLine", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisZHBPrintStatus", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + VIN = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + GroupName = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + BillStatus = table.Column(type: "int", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisZHBPrintStatus", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisZhuHuBanPackingList", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + BillNum = table.Column(type: "nvarchar(max)", nullable: true), + BillSerialNum = table.Column(type: "nvarchar(max)", nullable: true), + BillLocation = table.Column(type: "nvarchar(max)", nullable: true), + ProviderCode = table.Column(type: "nvarchar(max)", nullable: true), + PartType = table.Column(type: "nvarchar(max)", nullable: true), + Capacity = table.Column(type: "nvarchar(max)", nullable: true), + PrintDate = table.Column(type: "datetime2", nullable: false), + PrintType = table.Column(type: "int", nullable: false), + ProductLine = table.Column(type: "nvarchar(max)", nullable: true), + BeginVin = table.Column(type: "nvarchar(max)", nullable: true), + EndVin = table.Column(type: "nvarchar(max)", nullable: true), + BeginHostSN = table.Column(type: "nvarchar(max)", nullable: true), + EndHostSN = table.Column(type: "nvarchar(max)", nullable: true), + SortId = table.Column(type: "uniqueidentifier", nullable: true), + ReportStatus = table.Column(type: "int", nullable: false), + MinOnlineTime = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisZhuHuBanPackingList", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisZhuHuBanPackingRec2", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Column00 = table.Column(type: "nvarchar(max)", nullable: true), + Column01 = table.Column(type: "nvarchar(max)", nullable: true), + Column02 = table.Column(type: "nvarchar(max)", nullable: true), + Column03 = table.Column(type: "nvarchar(max)", nullable: true), + Column04 = table.Column(type: "nvarchar(max)", nullable: true), + Column05 = table.Column(type: "nvarchar(max)", nullable: true), + Column06 = table.Column(type: "nvarchar(max)", nullable: true), + Column07 = table.Column(type: "nvarchar(max)", nullable: true), + Column08 = table.Column(type: "nvarchar(max)", nullable: true), + Column09 = table.Column(type: "nvarchar(max)", nullable: true), + Column10 = table.Column(type: "nvarchar(max)", nullable: true), + Column11 = table.Column(type: "nvarchar(max)", nullable: true), + Column12 = table.Column(type: "nvarchar(max)", nullable: true), + Column13 = table.Column(type: "nvarchar(max)", nullable: true), + Column14 = table.Column(type: "nvarchar(max)", nullable: true), + Column15 = table.Column(type: "nvarchar(max)", nullable: true), + Column16 = table.Column(type: "nvarchar(max)", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisZhuHuBanPackingRec2", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "FisAssemblyCfgPart", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PartCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartNum = table.Column(type: "float", nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + IsKey = table.Column(type: "bit", nullable: false), + AssemblyCfgErpId = table.Column(type: "uniqueidentifier", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisAssemblyCfgPart", x => x.Id); + table.ForeignKey( + name: "FK_FisAssemblyCfgPart_FisAssemblyCfgErp_AssemblyCfgErpId", + column: x => x.AssemblyCfgErpId, + principalTable: "FisAssemblyCfgErp", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisAssemblyCfgVehicleChild", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + ErpAssemblyId = table.Column(type: "uniqueidentifier", nullable: false), + AssemblyCfgVehicleId = table.Column(type: "uniqueidentifier", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisAssemblyCfgVehicleChild", x => x.Id); + table.ForeignKey( + name: "FK_FisAssemblyCfgVehicleChild_FisAssemblyCfgVehicle_AssemblyCfgVehicleId", + column: x => x.AssemblyCfgVehicleId, + principalTable: "FisAssemblyCfgVehicle", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisBillM100Part", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PartCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartNum = table.Column(type: "float", nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + PartType = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartType2 = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartType3 = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + BillM100Id = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisBillM100Part", x => x.Id); + table.ForeignKey( + name: "FK_FisBillM100Part_FisBillM100_BillM100Id", + column: x => x.BillM100Id, + principalTable: "FisBillM100", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisBillM110Part", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PartCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartNum = table.Column(type: "float", nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + BillM110Id = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisBillM110Part", x => x.Id); + table.ForeignKey( + name: "FK_FisBillM110Part_FisBillM110_BillM110Id", + column: x => x.BillM110Id, + principalTable: "FisBillM110", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisBillR100Part", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PartCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartNum = table.Column(type: "float", nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + PartType = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartType2 = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartType3 = table.Column(type: "nvarchar(max)", nullable: true), + BillR100Id = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisBillR100Part", x => x.Id); + table.ForeignKey( + name: "FK_FisBillR100Part_FisBillR100_BillR100Id", + column: x => x.BillR100Id, + principalTable: "FisBillR100", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisMenBanPackingRec", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + KNR = table.Column(type: "nvarchar(max)", nullable: true), + VIN = table.Column(type: "nvarchar(max)", nullable: true), + HostSN = table.Column(type: "nvarchar(max)", nullable: true), + VehicleModel_DoorPlankCode = table.Column(type: "nvarchar(max)", nullable: true), + TopBoxPositionNum = table.Column(type: "nvarchar(max)", nullable: true), + TopSAPMaterialNum = table.Column(type: "nvarchar(max)", nullable: true), + TopMaterialDescription = table.Column(type: "nvarchar(max)", nullable: true), + BelowSAPMaterialNum = table.Column(type: "nvarchar(max)", nullable: true), + BelowMaterialDescription = table.Column(type: "nvarchar(max)", nullable: true), + M100BillId = table.Column(type: "uniqueidentifier", nullable: true), + MenBanPackingListId = table.Column(type: "uniqueidentifier", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisMenBanPackingRec", x => x.Id); + table.ForeignKey( + name: "FK_FisMenBanPackingRec_FisMenBanPackingList_MenBanPackingListId", + column: x => x.MenBanPackingListId, + principalTable: "FisMenBanPackingList", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisBillSortCfg", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + BillName = table.Column(type: "nvarchar(max)", nullable: true), + FileContentKeyword = table.Column(type: "nvarchar(max)", nullable: true), + MessageVersionCfgId = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisBillSortCfg", x => x.Id); + table.ForeignKey( + name: "FK_FisBillSortCfg_FisMessageVersionCfg_MessageVersionCfgId", + column: x => x.MessageVersionCfgId, + principalTable: "FisMessageVersionCfg", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisRepeatM100Part", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PartCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartNum = table.Column(type: "float", nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + RepeatM100Id = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisRepeatM100Part", x => x.Id); + table.ForeignKey( + name: "FK_FisRepeatM100Part_FisRepeatM100_RepeatM100Id", + column: x => x.RepeatM100Id, + principalTable: "FisRepeatM100", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisRepeatM110Part", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PartCode = table.Column(type: "nvarchar(max)", nullable: true), + PartNum = table.Column(type: "float", nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + RepeatM110Id = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisRepeatM110Part", x => x.Id); + table.ForeignKey( + name: "FK_FisRepeatM110Part_FisRepeatM110_RepeatM110Id", + column: x => x.RepeatM110Id, + principalTable: "FisRepeatM110", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisRepeatR100Part", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PartCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartNum = table.Column(type: "float", nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + RepeatR100Id = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisRepeatR100Part", x => x.Id); + table.ForeignKey( + name: "FK_FisRepeatR100Part_FisRepeatR100_RepeatR100Id", + column: x => x.RepeatR100Id, + principalTable: "FisRepeatR100", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisUnknownAssemblyPart", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PartCode = table.Column(type: "varchar(50)", maxLength: 50, nullable: true), + PartNum = table.Column(type: "float", nullable: true), + Description = table.Column(type: "nvarchar(max)", nullable: true), + UnknownAssemblyId = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisUnknownAssemblyPart", x => x.Id); + table.ForeignKey( + name: "FK_FisUnknownAssemblyPart_FisUnknownAssembly_UnknownAssemblyId", + column: x => x.UnknownAssemblyId, + principalTable: "FisUnknownAssembly", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FisZhuHuBanPackingRec", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + M100BillId = table.Column(type: "uniqueidentifier", nullable: false), + KNR = table.Column(type: "nvarchar(max)", nullable: true), + VIN = table.Column(type: "nvarchar(max)", nullable: true), + HostSN = table.Column(type: "int", nullable: true), + PartCode = table.Column(type: "nvarchar(max)", nullable: true), + PartCode2 = table.Column(type: "nvarchar(max)", nullable: true), + MaterialDescription = table.Column(type: "nvarchar(max)", nullable: true), + MaterialDescription2 = table.Column(type: "nvarchar(max)", nullable: true), + ZhuHuBanPackingListId = table.Column(type: "uniqueidentifier", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FisZhuHuBanPackingRec", x => x.Id); + table.ForeignKey( + name: "FK_FisZhuHuBanPackingRec_FisZhuHuBanPackingList_ZhuHuBanPackingListId", + column: x => x.ZhuHuBanPackingListId, + principalTable: "FisZhuHuBanPackingList", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_FisAssemblyCfgPart_AssemblyCfgErpId", + table: "FisAssemblyCfgPart", + column: "AssemblyCfgErpId"); + + migrationBuilder.CreateIndex( + name: "IX_FisAssemblyCfgPart_PartCode", + table: "FisAssemblyCfgPart", + column: "PartCode"); + + migrationBuilder.CreateIndex( + name: "IX_AssemblyCfgVehicleChild_ErpAssemblyId", + table: "FisAssemblyCfgVehicleChild", + column: "ErpAssemblyId"); + + migrationBuilder.CreateIndex( + name: "IX_FisAssemblyCfgVehicleChild_AssemblyCfgVehicleId", + table: "FisAssemblyCfgVehicleChild", + column: "AssemblyCfgVehicleId"); + + migrationBuilder.CreateIndex( + name: "IX_BillM100_HostSN2", + table: "FisBillM100", + column: "HostSN"); + + migrationBuilder.CreateIndex( + name: "IX_BillM100_ProductLine2", + table: "FisBillM100", + column: "ProductLine"); + + migrationBuilder.CreateIndex( + name: "IX_BillM100_SerialNum", + table: "FisBillM100", + column: "SerialNum"); + + migrationBuilder.CreateIndex( + name: "IX_BillM100_SerialNumStr2", + table: "FisBillM100", + column: "SerialNumStr"); + + migrationBuilder.CreateIndex( + name: "IX_BillM100_VIN2", + table: "FisBillM100", + column: "VIN"); + + migrationBuilder.CreateIndex( + name: "IX_BillM100Part_PartCode2", + table: "FisBillM100Part", + column: "PartCode"); + + migrationBuilder.CreateIndex( + name: "IX_FisBillM100Part_BillM100Id", + table: "FisBillM100Part", + column: "BillM100Id"); + + migrationBuilder.CreateIndex( + name: "IX_BillM110_VIN3", + table: "FisBillM110", + column: "VIN"); + + migrationBuilder.CreateIndex( + name: "IX_BillM110Part_PartCode3", + table: "FisBillM110Part", + column: "PartCode"); + + migrationBuilder.CreateIndex( + name: "IX_FisBillM110Part_BillM110Id", + table: "FisBillM110Part", + column: "BillM110Id"); + + migrationBuilder.CreateIndex( + name: "IX_BillR100_HostSN1", + table: "FisBillR100", + column: "HostSN"); + + migrationBuilder.CreateIndex( + name: "IX_BillR100_KNR", + table: "FisBillR100", + column: "KNR"); + + migrationBuilder.CreateIndex( + name: "IX_BillR100_ProductLine1", + table: "FisBillR100", + column: "ProductLine"); + + migrationBuilder.CreateIndex( + name: "IX_BillR100_SerialNumStr1", + table: "FisBillR100", + column: "SerialNumStr"); + + migrationBuilder.CreateIndex( + name: "IX_BillR100Part_PartCode1", + table: "FisBillR100Part", + column: "PartCode"); + + migrationBuilder.CreateIndex( + name: "IX_FisBillR100Part_BillR100Id", + table: "FisBillR100Part", + column: "BillR100Id"); + + migrationBuilder.CreateIndex( + name: "IX_FisBillSortCfg_MessageVersionCfgId", + table: "FisBillSortCfg", + column: "MessageVersionCfgId"); + + migrationBuilder.CreateIndex( + name: "IX_DicItem_DicItemCode", + table: "FisDicItem", + column: "DicItemCode"); + + migrationBuilder.CreateIndex( + name: "IX_DicItem_DicTypeCode", + table: "FisDicItem", + column: "DicTypeCode"); + + migrationBuilder.CreateIndex( + name: "IX_DicType_DicTypeCode", + table: "FisDicType", + column: "DicTypeCode"); + + migrationBuilder.CreateIndex( + name: "IX_FisLineSN_ProductType_ProductLine_PartType", + table: "FisLineSN", + columns: new[] { "ProductType", "ProductLine", "PartType" }, + unique: true, + filter: "[ProductLine] IS NOT NULL AND [PartType] IS NOT NULL"); + + migrationBuilder.CreateIndex( + name: "IX_MaterialExt_MaterialNum", + table: "FisMaterialExt", + column: "MaterialNum"); + + migrationBuilder.CreateIndex( + name: "IX_MaterialExt_MaterialType", + table: "FisMaterialExt", + column: "MaterialType"); + + migrationBuilder.CreateIndex( + name: "IX_MaterialExt_MaterialType2", + table: "FisMaterialExt", + column: "MaterialType2"); + + migrationBuilder.CreateIndex( + name: "IX_MaterialExt_MaterialType3", + table: "FisMaterialExt", + column: "MaterialType3"); + + migrationBuilder.CreateIndex( + name: "IX_MaterialExt_RelationKey", + table: "FisMaterialExt", + column: "RelationKey"); + + migrationBuilder.CreateIndex( + name: "IX_MaterialExt_VehicleModel", + table: "FisMaterialExt", + column: "VehicleModel"); + + migrationBuilder.CreateIndex( + name: "IX_FisMenBanPackingRec_MenBanPackingListId", + table: "FisMenBanPackingRec", + column: "MenBanPackingListId"); + + migrationBuilder.CreateIndex( + name: "IX_PartCfg_PartCode", + table: "FisPartCfg", + column: "PartCode"); + + migrationBuilder.CreateIndex( + name: "IX_PartCfg_PartType", + table: "FisPartCfg", + column: "PartType"); + + migrationBuilder.CreateIndex( + name: "IX_PartCfg_PartType2", + table: "FisPartCfg", + column: "PartType2"); + + migrationBuilder.CreateIndex( + name: "IX_PartCfg_PartType3", + table: "FisPartCfg", + column: "PartType3"); + + migrationBuilder.CreateIndex( + name: "IX_FisPrintTemplateConfiguration_GroupName_PartType", + table: "FisPrintTemplateConfiguration", + columns: new[] { "GroupName", "PartType" }, + unique: true, + filter: "[GroupName] IS NOT NULL AND [PartType] IS NOT NULL"); + + migrationBuilder.CreateIndex( + name: "IX_ProductLine_ProductLineCode", + table: "FisProductLine", + column: "ProductLineCode"); + + migrationBuilder.CreateIndex( + name: "IX_RepeatM100_HostSN", + table: "FisRepeatM100", + column: "HostSN"); + + migrationBuilder.CreateIndex( + name: "IX_RepeatM100_KNR", + table: "FisRepeatM100", + column: "KNR"); + + migrationBuilder.CreateIndex( + name: "IX_RepeatM100_ProductLine", + table: "FisRepeatM100", + column: "ProductLine"); + + migrationBuilder.CreateIndex( + name: "IX_RepeatM100_VIN", + table: "FisRepeatM100", + column: "VIN"); + + migrationBuilder.CreateIndex( + name: "IX_FisRepeatM100Part_RepeatM100Id", + table: "FisRepeatM100Part", + column: "RepeatM100Id"); + + migrationBuilder.CreateIndex( + name: "IX_RepeatM100Part_PartCode", + table: "FisRepeatM100Part", + column: "PartCode"); + + migrationBuilder.CreateIndex( + name: "IX_FisRepeatM110Part_RepeatM110Id", + table: "FisRepeatM110Part", + column: "RepeatM110Id"); + + migrationBuilder.CreateIndex( + name: "IX_RepeatR100_HostSN", + table: "FisRepeatR100", + column: "HostSN"); + + migrationBuilder.CreateIndex( + name: "IX_RepeatR100_KNR", + table: "FisRepeatR100", + column: "KNR"); + + migrationBuilder.CreateIndex( + name: "IX_RepeatR100_ProductLine", + table: "FisRepeatR100", + column: "ProductLine"); + + migrationBuilder.CreateIndex( + name: "IX_FisRepeatR100Part_RepeatR100Id", + table: "FisRepeatR100Part", + column: "RepeatR100Id"); + + migrationBuilder.CreateIndex( + name: "IX_RepeatR100Part_PartCode", + table: "FisRepeatR100Part", + column: "PartCode"); + + migrationBuilder.CreateIndex( + name: "IX_FisUnknownAssemblyPart_UnknownAssemblyId", + table: "FisUnknownAssemblyPart", + column: "UnknownAssemblyId"); + + migrationBuilder.CreateIndex( + name: "IX_UnknownAssemblyPart_PartCode", + table: "FisUnknownAssemblyPart", + column: "PartCode"); + + migrationBuilder.CreateIndex( + name: "IX_FisZHBPrintStatus_GroupName_VIN", + table: "FisZHBPrintStatus", + columns: new[] { "GroupName", "VIN" }, + unique: true, + filter: "[GroupName] IS NOT NULL AND [VIN] IS NOT NULL"); + + migrationBuilder.CreateIndex( + name: "IX_FisZhuHuBanPackingRec_ZhuHuBanPackingListId", + table: "FisZhuHuBanPackingRec", + column: "ZhuHuBanPackingListId"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "AbpUsers"); + + migrationBuilder.DropTable( + name: "FisAssemblyCfgGroup"); + + migrationBuilder.DropTable( + name: "FisAssemblyCfgPart"); + + migrationBuilder.DropTable( + name: "FisAssemblyCfgVehicleChild"); + + migrationBuilder.DropTable( + name: "FisBillM100Part"); + + migrationBuilder.DropTable( + name: "FisBillM110Part"); + + migrationBuilder.DropTable( + name: "FisBillR100Part"); + + migrationBuilder.DropTable( + name: "FisBillSortCfg"); + + migrationBuilder.DropTable( + name: "FisBooks"); + + migrationBuilder.DropTable( + name: "FisDicItem"); + + migrationBuilder.DropTable( + name: "FisDicType"); + + migrationBuilder.DropTable( + name: "FisExcludePartCfg"); + + migrationBuilder.DropTable( + name: "FisGlobalSettings"); + + migrationBuilder.DropTable( + name: "FisLineSN"); + + migrationBuilder.DropTable( + name: "FisLogRemind"); + + migrationBuilder.DropTable( + name: "FisMaterialExt"); + + migrationBuilder.DropTable( + name: "FisMenBanPackingRec"); + + migrationBuilder.DropTable( + name: "FisMessageReceive"); + + migrationBuilder.DropTable( + name: "FisMessageReceiveArchive"); + + migrationBuilder.DropTable( + name: "FisNotMatchTempBill"); + + migrationBuilder.DropTable( + name: "FisPartCfg"); + + migrationBuilder.DropTable( + name: "FisPartSwitch"); + + migrationBuilder.DropTable( + name: "FisPrintTemplateConfiguration"); + + migrationBuilder.DropTable( + name: "FisProductLine"); + + migrationBuilder.DropTable( + name: "FisRepeatM100Part"); + + migrationBuilder.DropTable( + name: "FisRepeatM110Part"); + + migrationBuilder.DropTable( + name: "FisRepeatR100Part"); + + migrationBuilder.DropTable( + name: "FisSequenceInfo"); + + migrationBuilder.DropTable( + name: "FisTB_BILL"); + + migrationBuilder.DropTable( + name: "FisTB_BILL_HIS"); + + migrationBuilder.DropTable( + name: "FisTB_BILL_SCRAP"); + + migrationBuilder.DropTable( + name: "FisTransmissionModeCfg"); + + migrationBuilder.DropTable( + name: "FisTS_SORT_DETAIL"); + + migrationBuilder.DropTable( + name: "FisTS_SORT_DETAIL_HIS"); + + migrationBuilder.DropTable( + name: "FisUnknownAssemblyPart"); + + migrationBuilder.DropTable( + name: "FisUser2ProductLine"); + + migrationBuilder.DropTable( + name: "FisZHBPrintStatus"); + + migrationBuilder.DropTable( + name: "FisZhuHuBanPackingRec"); + + migrationBuilder.DropTable( + name: "FisZhuHuBanPackingRec2"); + + migrationBuilder.DropTable( + name: "FisAssemblyCfgErp"); + + migrationBuilder.DropTable( + name: "FisAssemblyCfgVehicle"); + + migrationBuilder.DropTable( + name: "FisBillM100"); + + migrationBuilder.DropTable( + name: "FisBillM110"); + + migrationBuilder.DropTable( + name: "FisBillR100"); + + migrationBuilder.DropTable( + name: "FisMessageVersionCfg"); + + migrationBuilder.DropTable( + name: "FisMenBanPackingList"); + + migrationBuilder.DropTable( + name: "FisRepeatM100"); + + migrationBuilder.DropTable( + name: "FisRepeatM110"); + + migrationBuilder.DropTable( + name: "FisRepeatR100"); + + migrationBuilder.DropTable( + name: "FisUnknownAssembly"); + + migrationBuilder.DropTable( + name: "FisZhuHuBanPackingList"); + } + } +} diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250722083754_2025072201.Designer.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250722083754_2025072201.Designer.cs new file mode 100644 index 0000000..443de52 --- /dev/null +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250722083754_2025072201.Designer.cs @@ -0,0 +1,3578 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using WY.NewJit.EntityFrameworkCore; + +namespace WY.NewJit.Migrations +{ + [DbContext(typeof(NewJitDbContext))] + [Migration("20250722083754_2025072201")] + partial class _2025072201 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) + .HasAnnotation("Relational:MaxIdentifierLength", 128) + .HasAnnotation("ProductVersion", "5.0.17") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + modelBuilder.Entity("WY.NewJit.Books.Book", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Price") + .HasColumnType("real"); + + b.Property("PublishDate") + .HasColumnType("datetime2"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FisBooks"); + }); + + modelBuilder.Entity("WY.NewJit.Commons.SequenceInfo", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("SequenceNum") + .HasColumnType("bigint"); + + b.Property("SequenceType") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisSequenceInfo"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingList", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BeginHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("BeginVin") + .HasColumnType("nvarchar(max)"); + + b.Property("BillNum") + .HasColumnType("nvarchar(max)"); + + b.Property("BillSerialNum") + .HasColumnType("nvarchar(max)"); + + b.Property("Capacity") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("EndHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("EndVin") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MinOnlineTime") + .HasColumnType("datetime2"); + + b.Property("PartType") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintDate") + .HasColumnType("datetime2"); + + b.Property("PrintType") + .HasColumnType("int"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ProviderCode") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportStatus") + .HasColumnType("int"); + + b.Property("SortId") + .HasColumnType("uniqueidentifier"); + + b.Property("VehicleModel") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisMenBanPackingList"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingRec", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("M100BillId") + .HasColumnType("uniqueidentifier"); + + b.Property("MenBanPackingListId") + .HasColumnType("uniqueidentifier"); + + b.Property("PartCode1") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode2") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode3") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode4") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode5") + .HasColumnType("nvarchar(max)"); + + b.Property("SN") + .HasColumnType("nvarchar(max)"); + + b.Property("VIN") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("MenBanPackingListId"); + + b.ToTable("FisMenBanPackingRec"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.MaterialExt", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaterialDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialDescription2") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialGroup") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialMemo") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialNum") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("MaterialType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MaterialType2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MaterialType3") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RelationKey") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("VehicleModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("promo") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("MaterialNum") + .HasDatabaseName("IX_MaterialExt_MaterialNum"); + + b.HasIndex("MaterialType") + .HasDatabaseName("IX_MaterialExt_MaterialType"); + + b.HasIndex("MaterialType2") + .HasDatabaseName("IX_MaterialExt_MaterialType2"); + + b.HasIndex("MaterialType3") + .HasDatabaseName("IX_MaterialExt_MaterialType3"); + + b.HasIndex("RelationKey") + .HasDatabaseName("IX_MaterialExt_RelationKey"); + + b.HasIndex("VehicleModel") + .HasDatabaseName("IX_MaterialExt_VehicleModel"); + + b.ToTable("FisMaterialExt"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTB_BILL", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AccountDate") + .HasColumnType("datetime2"); + + b.Property("BillTime") + .HasColumnType("datetime2"); + + b.Property("BillType") + .HasColumnType("int"); + + b.Property("CustId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DetailQty") + .HasColumnType("int"); + + b.Property("DockCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ExecuteRemark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("FinishTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GUID") + .HasColumnType("uniqueidentifier"); + + b.Property("GateCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GateName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IsExecute") + .HasColumnType("bit"); + + b.Property("OperName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ProjectId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceBillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum3") + .HasColumnType("nvarchar(max)"); + + b.Property("StartTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("SubBillType") + .HasColumnType("int"); + + b.Property("TransportType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TruckNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("int"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum"); + + b.ToTable("FisTB_BILL"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTB_BILL_HIS", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AccountDate") + .HasColumnType("datetime2"); + + b.Property("BillTime") + .HasColumnType("datetime2"); + + b.Property("BillType") + .HasColumnType("int"); + + b.Property("CustId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DetailQty") + .HasColumnType("int"); + + b.Property("DockCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FinishTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GUID") + .HasColumnType("uniqueidentifier"); + + b.Property("GateCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GateName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("OperName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ProjectId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceBillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum3") + .HasColumnType("nvarchar(max)"); + + b.Property("StartTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("SubBillType") + .HasColumnType("int"); + + b.Property("TransportType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TruckNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("int"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum"); + + b.ToTable("FisTB_BILL_HIS"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTB_BILL_SCRAP", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("ExecuteTime") + .HasColumnType("datetime2"); + + b.Property("IsExecute") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("Remark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("Id"); + + b.ToTable("FisTB_BILL_SCRAP"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTS_SORT_DETAIL", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VinCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("BarCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CustBarCode") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("CustPartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DispatchDate") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Dock") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FullBarCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("FyonNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LineNum") + .HasColumnType("int"); + + b.Property("PlanQty") + .HasColumnType("money"); + + b.Property("ProjectId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Qty") + .HasColumnType("money"); + + b.Property("ReceiptQty") + .HasColumnType("money"); + + b.Property("Remark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("SeqNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("bigint"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum", "VinCode", "PartCode"); + + b.ToTable("FisTS_SORT_DETAIL"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTS_SORT_DETAIL_HIS", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VinCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("BarCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CustBarCode") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("CustPartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DispatchDate") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Dock") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FullBarCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("FyonNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LineNum") + .HasColumnType("int"); + + b.Property("PlanQty") + .HasColumnType("money"); + + b.Property("ProjectId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Qty") + .HasColumnType("money"); + + b.Property("ReceiptQty") + .HasColumnType("money"); + + b.Property("Remark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("SeqNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("bigint"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum", "VinCode", "PartCode"); + + b.ToTable("FisTS_SORT_DETAIL_HIS"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ProductLine", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillType") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ProductLineCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ProductLineName") + .HasColumnType("nvarchar(max)"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ProductLineCode") + .HasDatabaseName("IX_ProductLine_ProductLineCode"); + + b.ToTable("FisProductLine"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.User2ProductLine", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ProductLineId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisUser2ProductLine"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingList", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BeginHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("BeginVin") + .HasColumnType("nvarchar(max)"); + + b.Property("BillLocation") + .HasColumnType("nvarchar(max)"); + + b.Property("BillNum") + .HasColumnType("nvarchar(max)"); + + b.Property("BillSerialNum") + .HasColumnType("nvarchar(max)"); + + b.Property("Capacity") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("EndHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("EndVin") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MinOnlineTime") + .HasColumnType("datetime2"); + + b.Property("PartType") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintDate") + .HasColumnType("datetime2"); + + b.Property("PrintType") + .HasColumnType("int"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ProviderCode") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportStatus") + .HasColumnType("int"); + + b.Property("SortId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisZhuHuBanPackingList"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingRec", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("M100BillId") + .HasColumnType("uniqueidentifier"); + + b.Property("MaterialDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialDescription2") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode2") + .HasColumnType("nvarchar(max)"); + + b.Property("VIN") + .HasColumnType("nvarchar(max)"); + + b.Property("ZhuHuBanPackingListId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("ZhuHuBanPackingListId"); + + b.ToTable("FisZhuHuBanPackingRec"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingRec2", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Column00") + .HasColumnType("nvarchar(max)"); + + b.Property("Column01") + .HasColumnType("nvarchar(max)"); + + b.Property("Column02") + .HasColumnType("nvarchar(max)"); + + b.Property("Column03") + .HasColumnType("nvarchar(max)"); + + b.Property("Column04") + .HasColumnType("nvarchar(max)"); + + b.Property("Column05") + .HasColumnType("nvarchar(max)"); + + b.Property("Column06") + .HasColumnType("nvarchar(max)"); + + b.Property("Column07") + .HasColumnType("nvarchar(max)"); + + b.Property("Column08") + .HasColumnType("nvarchar(max)"); + + b.Property("Column09") + .HasColumnType("nvarchar(max)"); + + b.Property("Column10") + .HasColumnType("nvarchar(max)"); + + b.Property("Column11") + .HasColumnType("nvarchar(max)"); + + b.Property("Column12") + .HasColumnType("nvarchar(max)"); + + b.Property("Column13") + .HasColumnType("nvarchar(max)"); + + b.Property("Column14") + .HasColumnType("nvarchar(max)"); + + b.Property("Column15") + .HasColumnType("nvarchar(max)"); + + b.Property("Column16") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.ToTable("FisZhuHuBanPackingRec2"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ErpAssemblyCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ErpAssemblyName") + .HasColumnType("nvarchar(max)"); + + b.Property("ErpAssemblyVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupCode") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("GroupId") + .HasColumnType("uniqueidentifier"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("NewVersionId") + .HasColumnType("uniqueidentifier"); + + b.Property("RelationKey") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("FisAssemblyCfgErp"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgGroup", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupCode") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsDisable") + .HasColumnType("bit"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("VehicleModel") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisAssemblyCfgGroup"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyCfgErpId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsKey") + .HasColumnType("bit"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("AssemblyCfgErpId"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_FisAssemblyCfgPart_PartCode"); + + b.ToTable("FisAssemblyCfgPart"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyName") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsActivate") + .HasColumnType("bit"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("FisAssemblyCfgVehicle"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyCfgVehicleId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ErpAssemblyId") + .HasColumnType("uniqueidentifier"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.HasIndex("AssemblyCfgVehicleId"); + + b.HasIndex("ErpAssemblyId") + .HasDatabaseName("IX_AssemblyCfgVehicleChild_ErpAssemblyId"); + + b.ToTable("FisAssemblyCfgVehicleChild"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DicItemCode") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("DicItemName") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("DicItemSort1") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort2") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort3") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort4") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort5") + .HasColumnType("nvarchar(max)"); + + b.Property("DicTypeCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.HasIndex("DicItemCode") + .HasDatabaseName("IX_DicItem_DicItemCode"); + + b.HasIndex("DicTypeCode") + .HasDatabaseName("IX_DicItem_DicTypeCode"); + + b.ToTable("FisDicItem"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DicTypeCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DicTypeName") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.HasIndex("DicTypeCode") + .HasDatabaseName("IX_DicType_DicTypeCode"); + + b.ToTable("FisDicType"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExcludeReason") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisExcludePartCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.GlobalSettings", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("RefreshMessageParseCache") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.HasKey("Id"); + + b.ToTable("FisGlobalSettings"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.LineSN", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LastPrintTime") + .HasColumnType("datetime2"); + + b.Property("PartType") + .HasColumnType("nvarchar(450)"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(450)"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("SN") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("ProductType", "ProductLine", "PartType") + .IsUnique() + .HasFilter("[ProductLine] IS NOT NULL AND [PartType] IS NOT NULL"); + + b.ToTable("FisLineSN"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LogDesc") + .HasColumnType("nvarchar(max)"); + + b.Property("LogStatus") + .HasColumnType("int"); + + b.Property("LogTitle") + .HasColumnType("nvarchar(max)"); + + b.Property("LogType") + .HasColumnType("int"); + + b.Property("SeriousLevel") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FisLogRemind"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsDisable") + .HasColumnType("bit"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartName") + .HasColumnType("nvarchar(max)"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartType2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartType3") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RelationKey") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_PartCfg_PartCode"); + + b.HasIndex("PartType") + .HasDatabaseName("IX_PartCfg_PartType"); + + b.HasIndex("PartType2") + .HasDatabaseName("IX_PartCfg_PartType2"); + + b.HasIndex("PartType3") + .HasDatabaseName("IX_PartCfg_PartType3"); + + b.ToTable("FisPartCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.PartSwitch", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ActiveBeginTime") + .HasColumnType("datetime2"); + + b.Property("ActiveEndTime") + .HasColumnType("datetime2"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("SourcePartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("TargetPartCode") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisPartSwitch"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.PrintTemplateConfiguration", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("TemplateName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName", "PartType") + .IsUnique() + .HasFilter("[GroupName] IS NOT NULL AND [PartType] IS NOT NULL"); + + b.ToTable("FisPrintTemplateConfiguration"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("CanNotPrint") + .HasColumnType("bit"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("HostSN2") + .HasColumnType("int"); + + b.Property("IsPartSwitch") + .HasColumnType("bit"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("NeedReplenishPrint") + .HasColumnType("int"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("OperationTime") + .HasColumnType("datetime2"); + + b.Property("OperationType") + .HasColumnType("int"); + + b.Property("Operator") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintBillNum") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintTime") + .HasColumnType("datetime2"); + + b.Property("PrintTime2") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("SerialNumStr") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_BillM100_HostSN2"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_BillM100_ProductLine2"); + + b.HasIndex("SerialNum") + .HasDatabaseName("IX_BillM100_SerialNum"); + + b.HasIndex("SerialNumStr") + .HasDatabaseName("IX_BillM100_SerialNumStr2"); + + b.HasIndex("VIN") + .HasDatabaseName("IX_BillM100_VIN2"); + + b.ToTable("FisBillM100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillM100Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType2") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType3") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("BillM100Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_BillM100Part_PartCode2"); + + b.ToTable("FisBillM100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("VIN") + .HasDatabaseName("IX_BillM110_VIN3"); + + b.ToTable("FisBillM110"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillM110Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("BillM110Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_BillM110Part_PartCode3"); + + b.ToTable("FisBillM110Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("IsPartSwitch") + .HasColumnType("bit"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("PrintTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("SerialNumStr") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_BillR100_HostSN1"); + + b.HasIndex("KNR") + .HasDatabaseName("IX_BillR100_KNR"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_BillR100_ProductLine1"); + + b.HasIndex("SerialNumStr") + .HasDatabaseName("IX_BillR100_SerialNumStr1"); + + b.ToTable("FisBillR100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillR100Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType2") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType3") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("BillR100Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_BillR100Part_PartCode1"); + + b.ToTable("FisBillR100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_RepeatM100_HostSN"); + + b.HasIndex("KNR") + .HasDatabaseName("IX_RepeatM100_KNR"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_RepeatM100_ProductLine"); + + b.HasIndex("VIN") + .HasDatabaseName("IX_RepeatM100_VIN"); + + b.ToTable("FisRepeatM100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("RepeatM100Id") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_RepeatM100Part_PartCode"); + + b.HasIndex("RepeatM100Id"); + + b.ToTable("FisRepeatM100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("VIN") + .HasColumnType("nvarchar(max)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisRepeatM110"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("RepeatM110Id") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("RepeatM110Id"); + + b.ToTable("FisRepeatM110Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_RepeatR100_HostSN"); + + b.HasIndex("KNR") + .HasDatabaseName("IX_RepeatR100_KNR"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_RepeatR100_ProductLine"); + + b.ToTable("FisRepeatR100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("RepeatR100Id") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_RepeatR100Part_PartCode"); + + b.HasIndex("RepeatR100Id"); + + b.ToTable("FisRepeatR100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillID") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("ScanPoint") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisUnknownAssembly"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("UnknownAssemblyId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_UnknownAssemblyPart_PartCode"); + + b.HasIndex("UnknownAssemblyId"); + + b.ToTable("FisUnknownAssemblyPart"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.ZHBPrintStatus", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName", "VIN") + .IsUnique() + .HasFilter("[GroupName] IS NOT NULL AND [VIN] IS NOT NULL"); + + b.ToTable("FisZHBPrintStatus"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillName") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("FileContentKeyword") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageVersionCfgId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("MessageVersionCfgId"); + + b.ToTable("FisBillSortCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("FileNameKeyword") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisMessageVersionCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ErrorCount") + .HasColumnType("int"); + + b.Property("ErrorMessage") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastUpdateTime") + .HasColumnType("datetime2"); + + b.Property("MessageContent") + .HasColumnType("nvarchar(max)"); + + b.Property("MessageFileName") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiveStatus") + .HasColumnType("int"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("FisMessageReceive"); + }); + + modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceiveArchive", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillHostSN") + .HasColumnType("int"); + + b.Property("BillOnlineTime") + .HasColumnType("datetime2"); + + b.Property("BillType") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastUpdateTime") + .HasColumnType("datetime2"); + + b.Property("MessageContent") + .HasColumnType("nvarchar(max)"); + + b.Property("MessageFileName") + .HasColumnType("nvarchar(max)"); + + b.Property("MessageReceiveId") + .HasColumnType("uniqueidentifier"); + + b.Property("ReceiveStatus") + .HasColumnType("int"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("FisMessageReceiveArchive"); + }); + + modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsApply") + .HasColumnType("bit"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("TransmissionModeContent") + .HasColumnType("nvarchar(max)"); + + b.Property("TransmissionModeType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FisTransmissionModeCfg"); + }); + + modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("NotMatchBillId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisNotMatchTempBill"); + }); + + modelBuilder.Entity("WY.NewJit.Users.AppUser", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Name"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.ToTable("AbpUsers"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingRec", b => + { + b.HasOne("WY.NewJit.Extends.MenBanPackingList", null) + .WithMany("Details") + .HasForeignKey("MenBanPackingListId"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingRec", b => + { + b.HasOne("WY.NewJit.Extends.ZhuHuBanPackingList", null) + .WithMany("Details") + .HasForeignKey("ZhuHuBanPackingListId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => + { + b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) + .WithMany("Details") + .HasForeignKey("AssemblyCfgErpId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => + { + b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) + .WithMany("AssemblyCfgVehicleChilds") + .HasForeignKey("AssemblyCfgVehicleId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.BillM100", null) + .WithMany("BillM100Parts") + .HasForeignKey("BillM100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.BillM110", null) + .WithMany("BillM110Parts") + .HasForeignKey("BillM110Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.BillR100", null) + .WithMany("BillR100Parts") + .HasForeignKey("BillR100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) + .WithMany("M100RepeatParts") + .HasForeignKey("RepeatM100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) + .WithMany("M110RepeatParts") + .HasForeignKey("RepeatM110Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) + .WithMany("R100RepeatParts") + .HasForeignKey("RepeatR100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => + { + b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) + .WithMany("UnknownAssemblyParts") + .HasForeignKey("UnknownAssemblyId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => + { + b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) + .WithMany("Details") + .HasForeignKey("MessageVersionCfgId"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingList", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingList", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => + { + b.Navigation("AssemblyCfgVehicleChilds"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => + { + b.Navigation("BillM100Parts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => + { + b.Navigation("BillM110Parts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => + { + b.Navigation("BillR100Parts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => + { + b.Navigation("M100RepeatParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => + { + b.Navigation("M110RepeatParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => + { + b.Navigation("R100RepeatParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => + { + b.Navigation("UnknownAssemblyParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => + { + b.Navigation("Details"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250722083754_2025072201.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250722083754_2025072201.cs new file mode 100644 index 0000000..890122a --- /dev/null +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/20250722083754_2025072201.cs @@ -0,0 +1,83 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace WY.NewJit.Migrations +{ + public partial class _2025072201 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.RenameColumn( + name: "VehicleModel_DoorPlankCode", + table: "FisMenBanPackingRec", + newName: "SN"); + + migrationBuilder.RenameColumn( + name: "TopSAPMaterialNum", + table: "FisMenBanPackingRec", + newName: "PartCode5"); + + migrationBuilder.RenameColumn( + name: "TopMaterialDescription", + table: "FisMenBanPackingRec", + newName: "PartCode4"); + + migrationBuilder.RenameColumn( + name: "TopBoxPositionNum", + table: "FisMenBanPackingRec", + newName: "PartCode3"); + + migrationBuilder.RenameColumn( + name: "BelowSAPMaterialNum", + table: "FisMenBanPackingRec", + newName: "PartCode2"); + + migrationBuilder.RenameColumn( + name: "BelowMaterialDescription", + table: "FisMenBanPackingRec", + newName: "PartCode1"); + + migrationBuilder.RenameColumn( + name: "BillLocation", + table: "FisMenBanPackingList", + newName: "VehicleModel"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.RenameColumn( + name: "SN", + table: "FisMenBanPackingRec", + newName: "VehicleModel_DoorPlankCode"); + + migrationBuilder.RenameColumn( + name: "PartCode5", + table: "FisMenBanPackingRec", + newName: "TopSAPMaterialNum"); + + migrationBuilder.RenameColumn( + name: "PartCode4", + table: "FisMenBanPackingRec", + newName: "TopMaterialDescription"); + + migrationBuilder.RenameColumn( + name: "PartCode3", + table: "FisMenBanPackingRec", + newName: "TopBoxPositionNum"); + + migrationBuilder.RenameColumn( + name: "PartCode2", + table: "FisMenBanPackingRec", + newName: "BelowSAPMaterialNum"); + + migrationBuilder.RenameColumn( + name: "PartCode1", + table: "FisMenBanPackingRec", + newName: "BelowMaterialDescription"); + + migrationBuilder.RenameColumn( + name: "VehicleModel", + table: "FisMenBanPackingList", + newName: "BillLocation"); + } + } +} diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/NewJitDbContextModelSnapshot.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/NewJitDbContextModelSnapshot.cs new file mode 100644 index 0000000..a3b7ee7 --- /dev/null +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Migrations/NewJitDbContextModelSnapshot.cs @@ -0,0 +1,3576 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using WY.NewJit.EntityFrameworkCore; + +namespace WY.NewJit.Migrations +{ + [DbContext(typeof(NewJitDbContext))] + partial class NewJitDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) + .HasAnnotation("Relational:MaxIdentifierLength", 128) + .HasAnnotation("ProductVersion", "5.0.17") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + modelBuilder.Entity("WY.NewJit.Books.Book", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Price") + .HasColumnType("real"); + + b.Property("PublishDate") + .HasColumnType("datetime2"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FisBooks"); + }); + + modelBuilder.Entity("WY.NewJit.Commons.SequenceInfo", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("SequenceNum") + .HasColumnType("bigint"); + + b.Property("SequenceType") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisSequenceInfo"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingList", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BeginHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("BeginVin") + .HasColumnType("nvarchar(max)"); + + b.Property("BillNum") + .HasColumnType("nvarchar(max)"); + + b.Property("BillSerialNum") + .HasColumnType("nvarchar(max)"); + + b.Property("Capacity") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("EndHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("EndVin") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MinOnlineTime") + .HasColumnType("datetime2"); + + b.Property("PartType") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintDate") + .HasColumnType("datetime2"); + + b.Property("PrintType") + .HasColumnType("int"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ProviderCode") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportStatus") + .HasColumnType("int"); + + b.Property("SortId") + .HasColumnType("uniqueidentifier"); + + b.Property("VehicleModel") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisMenBanPackingList"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingRec", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("M100BillId") + .HasColumnType("uniqueidentifier"); + + b.Property("MenBanPackingListId") + .HasColumnType("uniqueidentifier"); + + b.Property("PartCode1") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode2") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode3") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode4") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode5") + .HasColumnType("nvarchar(max)"); + + b.Property("SN") + .HasColumnType("nvarchar(max)"); + + b.Property("VIN") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("MenBanPackingListId"); + + b.ToTable("FisMenBanPackingRec"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.MaterialExt", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaterialDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialDescription2") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialGroup") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialMemo") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialNum") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("MaterialType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MaterialType2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MaterialType3") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RelationKey") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("VehicleModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("promo") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("MaterialNum") + .HasDatabaseName("IX_MaterialExt_MaterialNum"); + + b.HasIndex("MaterialType") + .HasDatabaseName("IX_MaterialExt_MaterialType"); + + b.HasIndex("MaterialType2") + .HasDatabaseName("IX_MaterialExt_MaterialType2"); + + b.HasIndex("MaterialType3") + .HasDatabaseName("IX_MaterialExt_MaterialType3"); + + b.HasIndex("RelationKey") + .HasDatabaseName("IX_MaterialExt_RelationKey"); + + b.HasIndex("VehicleModel") + .HasDatabaseName("IX_MaterialExt_VehicleModel"); + + b.ToTable("FisMaterialExt"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTB_BILL", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AccountDate") + .HasColumnType("datetime2"); + + b.Property("BillTime") + .HasColumnType("datetime2"); + + b.Property("BillType") + .HasColumnType("int"); + + b.Property("CustId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DetailQty") + .HasColumnType("int"); + + b.Property("DockCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ExecuteRemark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("FinishTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GUID") + .HasColumnType("uniqueidentifier"); + + b.Property("GateCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GateName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IsExecute") + .HasColumnType("bit"); + + b.Property("OperName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ProjectId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceBillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum3") + .HasColumnType("nvarchar(max)"); + + b.Property("StartTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("SubBillType") + .HasColumnType("int"); + + b.Property("TransportType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TruckNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("int"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum"); + + b.ToTable("FisTB_BILL"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTB_BILL_HIS", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AccountDate") + .HasColumnType("datetime2"); + + b.Property("BillTime") + .HasColumnType("datetime2"); + + b.Property("BillType") + .HasColumnType("int"); + + b.Property("CustId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DetailQty") + .HasColumnType("int"); + + b.Property("DockCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FinishTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GUID") + .HasColumnType("uniqueidentifier"); + + b.Property("GateCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("GateName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("OperName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ProjectId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceBillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBillNum3") + .HasColumnType("nvarchar(max)"); + + b.Property("StartTime") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("SubBillType") + .HasColumnType("int"); + + b.Property("TransportType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TruckNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("int"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum"); + + b.ToTable("FisTB_BILL_HIS"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTB_BILL_SCRAP", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("ExecuteTime") + .HasColumnType("datetime2"); + + b.Property("IsExecute") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("Remark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("Id"); + + b.ToTable("FisTB_BILL_SCRAP"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTS_SORT_DETAIL", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VinCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("BarCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CustBarCode") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("CustPartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DispatchDate") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Dock") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FullBarCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("FyonNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LineNum") + .HasColumnType("int"); + + b.Property("PlanQty") + .HasColumnType("money"); + + b.Property("ProjectId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Qty") + .HasColumnType("money"); + + b.Property("ReceiptQty") + .HasColumnType("money"); + + b.Property("Remark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("SeqNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("bigint"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum", "VinCode", "PartCode"); + + b.ToTable("FisTS_SORT_DETAIL"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.PaiGe.WMS.FisTS_SORT_DETAIL_HIS", b => + { + b.Property("BillNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("VinCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("BarCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CustBarCode") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("CustPartCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DispatchDate") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Dock") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FullBarCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("FyonNum") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LineNum") + .HasColumnType("int"); + + b.Property("PlanQty") + .HasColumnType("money"); + + b.Property("ProjectId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Qty") + .HasColumnType("money"); + + b.Property("ReceiptQty") + .HasColumnType("money"); + + b.Property("Remark") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("SeqNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("State") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UID") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("bigint"); + + b.Property("VendId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("BillNum", "VinCode", "PartCode"); + + b.ToTable("FisTS_SORT_DETAIL_HIS"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ProductLine", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillType") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ProductLineCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ProductLineName") + .HasColumnType("nvarchar(max)"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ProductLineCode") + .HasDatabaseName("IX_ProductLine_ProductLineCode"); + + b.ToTable("FisProductLine"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.User2ProductLine", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ProductLineId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisUser2ProductLine"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingList", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BeginHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("BeginVin") + .HasColumnType("nvarchar(max)"); + + b.Property("BillLocation") + .HasColumnType("nvarchar(max)"); + + b.Property("BillNum") + .HasColumnType("nvarchar(max)"); + + b.Property("BillSerialNum") + .HasColumnType("nvarchar(max)"); + + b.Property("Capacity") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("EndHostSN") + .HasColumnType("nvarchar(max)"); + + b.Property("EndVin") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MinOnlineTime") + .HasColumnType("datetime2"); + + b.Property("PartType") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintDate") + .HasColumnType("datetime2"); + + b.Property("PrintType") + .HasColumnType("int"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ProviderCode") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportStatus") + .HasColumnType("int"); + + b.Property("SortId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisZhuHuBanPackingList"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingRec", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("M100BillId") + .HasColumnType("uniqueidentifier"); + + b.Property("MaterialDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("MaterialDescription2") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("PartCode2") + .HasColumnType("nvarchar(max)"); + + b.Property("VIN") + .HasColumnType("nvarchar(max)"); + + b.Property("ZhuHuBanPackingListId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("ZhuHuBanPackingListId"); + + b.ToTable("FisZhuHuBanPackingRec"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingRec2", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Column00") + .HasColumnType("nvarchar(max)"); + + b.Property("Column01") + .HasColumnType("nvarchar(max)"); + + b.Property("Column02") + .HasColumnType("nvarchar(max)"); + + b.Property("Column03") + .HasColumnType("nvarchar(max)"); + + b.Property("Column04") + .HasColumnType("nvarchar(max)"); + + b.Property("Column05") + .HasColumnType("nvarchar(max)"); + + b.Property("Column06") + .HasColumnType("nvarchar(max)"); + + b.Property("Column07") + .HasColumnType("nvarchar(max)"); + + b.Property("Column08") + .HasColumnType("nvarchar(max)"); + + b.Property("Column09") + .HasColumnType("nvarchar(max)"); + + b.Property("Column10") + .HasColumnType("nvarchar(max)"); + + b.Property("Column11") + .HasColumnType("nvarchar(max)"); + + b.Property("Column12") + .HasColumnType("nvarchar(max)"); + + b.Property("Column13") + .HasColumnType("nvarchar(max)"); + + b.Property("Column14") + .HasColumnType("nvarchar(max)"); + + b.Property("Column15") + .HasColumnType("nvarchar(max)"); + + b.Property("Column16") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.ToTable("FisZhuHuBanPackingRec2"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ErpAssemblyCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ErpAssemblyName") + .HasColumnType("nvarchar(max)"); + + b.Property("ErpAssemblyVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupCode") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("GroupId") + .HasColumnType("uniqueidentifier"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("NewVersionId") + .HasColumnType("uniqueidentifier"); + + b.Property("RelationKey") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("FisAssemblyCfgErp"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgGroup", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupCode") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsDisable") + .HasColumnType("bit"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("VehicleModel") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisAssemblyCfgGroup"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyCfgErpId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsKey") + .HasColumnType("bit"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("AssemblyCfgErpId"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_FisAssemblyCfgPart_PartCode"); + + b.ToTable("FisAssemblyCfgPart"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyName") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsActivate") + .HasColumnType("bit"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("FisAssemblyCfgVehicle"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyCfgVehicleId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ErpAssemblyId") + .HasColumnType("uniqueidentifier"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.HasIndex("AssemblyCfgVehicleId"); + + b.HasIndex("ErpAssemblyId") + .HasDatabaseName("IX_AssemblyCfgVehicleChild_ErpAssemblyId"); + + b.ToTable("FisAssemblyCfgVehicleChild"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DicItemCode") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("DicItemName") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("DicItemSort1") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort2") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort3") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort4") + .HasColumnType("nvarchar(max)"); + + b.Property("DicItemSort5") + .HasColumnType("nvarchar(max)"); + + b.Property("DicTypeCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.HasIndex("DicItemCode") + .HasDatabaseName("IX_DicItem_DicItemCode"); + + b.HasIndex("DicTypeCode") + .HasDatabaseName("IX_DicItem_DicTypeCode"); + + b.ToTable("FisDicItem"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DicTypeCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DicTypeName") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.HasIndex("DicTypeCode") + .HasDatabaseName("IX_DicType_DicTypeCode"); + + b.ToTable("FisDicType"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExcludeReason") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisExcludePartCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.GlobalSettings", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("RefreshMessageParseCache") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.HasKey("Id"); + + b.ToTable("FisGlobalSettings"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.LineSN", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LastPrintTime") + .HasColumnType("datetime2"); + + b.Property("PartType") + .HasColumnType("nvarchar(450)"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(450)"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("SN") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("ProductType", "ProductLine", "PartType") + .IsUnique() + .HasFilter("[ProductLine] IS NOT NULL AND [PartType] IS NOT NULL"); + + b.ToTable("FisLineSN"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LogDesc") + .HasColumnType("nvarchar(max)"); + + b.Property("LogStatus") + .HasColumnType("int"); + + b.Property("LogTitle") + .HasColumnType("nvarchar(max)"); + + b.Property("LogType") + .HasColumnType("int"); + + b.Property("SeriousLevel") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FisLogRemind"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsDisable") + .HasColumnType("bit"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartName") + .HasColumnType("nvarchar(max)"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartType2") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PartType3") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RelationKey") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_PartCfg_PartCode"); + + b.HasIndex("PartType") + .HasDatabaseName("IX_PartCfg_PartType"); + + b.HasIndex("PartType2") + .HasDatabaseName("IX_PartCfg_PartType2"); + + b.HasIndex("PartType3") + .HasDatabaseName("IX_PartCfg_PartType3"); + + b.ToTable("FisPartCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.PartSwitch", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ActiveBeginTime") + .HasColumnType("datetime2"); + + b.Property("ActiveEndTime") + .HasColumnType("datetime2"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("SourcePartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("TargetPartCode") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisPartSwitch"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.PrintTemplateConfiguration", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("TemplateName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName", "PartType") + .IsUnique() + .HasFilter("[GroupName] IS NOT NULL AND [PartType] IS NOT NULL"); + + b.ToTable("FisPrintTemplateConfiguration"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("CanNotPrint") + .HasColumnType("bit"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("HostSN2") + .HasColumnType("int"); + + b.Property("IsPartSwitch") + .HasColumnType("bit"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("NeedReplenishPrint") + .HasColumnType("int"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("OperationTime") + .HasColumnType("datetime2"); + + b.Property("OperationType") + .HasColumnType("int"); + + b.Property("Operator") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintBillNum") + .HasColumnType("nvarchar(max)"); + + b.Property("PrintTime") + .HasColumnType("datetime2"); + + b.Property("PrintTime2") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("SerialNumStr") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_BillM100_HostSN2"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_BillM100_ProductLine2"); + + b.HasIndex("SerialNum") + .HasDatabaseName("IX_BillM100_SerialNum"); + + b.HasIndex("SerialNumStr") + .HasDatabaseName("IX_BillM100_SerialNumStr2"); + + b.HasIndex("VIN") + .HasDatabaseName("IX_BillM100_VIN2"); + + b.ToTable("FisBillM100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillM100Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType2") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType3") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("BillM100Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_BillM100Part_PartCode2"); + + b.ToTable("FisBillM100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("VIN") + .HasDatabaseName("IX_BillM110_VIN3"); + + b.ToTable("FisBillM110"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillM110Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.HasKey("Id"); + + b.HasIndex("BillM110Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_BillM110Part_PartCode3"); + + b.ToTable("FisBillM110Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("IsPartSwitch") + .HasColumnType("bit"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("PrintTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("SerialNumStr") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_BillR100_HostSN1"); + + b.HasIndex("KNR") + .HasDatabaseName("IX_BillR100_KNR"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_BillR100_ProductLine1"); + + b.HasIndex("SerialNumStr") + .HasDatabaseName("IX_BillR100_SerialNumStr1"); + + b.ToTable("FisBillR100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillR100Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("PartType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType2") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartType3") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("BillR100Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_BillR100Part_PartCode1"); + + b.ToTable("FisBillR100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("SerialNum") + .HasColumnType("int"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_RepeatM100_HostSN"); + + b.HasIndex("KNR") + .HasDatabaseName("IX_RepeatM100_KNR"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_RepeatM100_ProductLine"); + + b.HasIndex("VIN") + .HasDatabaseName("IX_RepeatM100_VIN"); + + b.ToTable("FisRepeatM100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("RepeatM100Id") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_RepeatM100Part_PartCode"); + + b.HasIndex("RepeatM100Id"); + + b.ToTable("FisRepeatM100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("VIN") + .HasColumnType("nvarchar(max)"); + + b.Property("VehicleModelCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisRepeatM110"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasColumnType("nvarchar(max)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("RepeatM110Id") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("RepeatM110Id"); + + b.ToTable("FisRepeatM110Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AssemblyID") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HostSN") + .HasColumnType("int"); + + b.Property("KNR") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageFileReceiveID") + .HasColumnType("uniqueidentifier"); + + b.Property("OnlineTime") + .HasColumnType("datetime2"); + + b.Property("ProductLine") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("VehicleModelCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Version") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("HostSN") + .HasDatabaseName("IX_RepeatR100_HostSN"); + + b.HasIndex("KNR") + .HasDatabaseName("IX_RepeatR100_KNR"); + + b.HasIndex("ProductLine") + .HasDatabaseName("IX_RepeatR100_ProductLine"); + + b.ToTable("FisRepeatR100"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("RepeatR100Id") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_RepeatR100Part_PartCode"); + + b.HasIndex("RepeatR100Id"); + + b.ToTable("FisRepeatR100Part"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillID") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("ScanPoint") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisUnknownAssembly"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PartCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("PartNum") + .HasColumnType("float"); + + b.Property("UnknownAssemblyId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("PartCode") + .HasDatabaseName("IX_UnknownAssemblyPart_PartCode"); + + b.HasIndex("UnknownAssemblyId"); + + b.ToTable("FisUnknownAssemblyPart"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.ZHBPrintStatus", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillStatus") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("VIN") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName", "VIN") + .IsUnique() + .HasFilter("[GroupName] IS NOT NULL AND [VIN] IS NOT NULL"); + + b.ToTable("FisZHBPrintStatus"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillName") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("FileContentKeyword") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MessageVersionCfgId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("MessageVersionCfgId"); + + b.ToTable("FisBillSortCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("FileNameKeyword") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("FisMessageVersionCfg"); + }); + + modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ErrorCount") + .HasColumnType("int"); + + b.Property("ErrorMessage") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastUpdateTime") + .HasColumnType("datetime2"); + + b.Property("MessageContent") + .HasColumnType("nvarchar(max)"); + + b.Property("MessageFileName") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiveStatus") + .HasColumnType("int"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("FisMessageReceive"); + }); + + modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceiveArchive", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("BillHostSN") + .HasColumnType("int"); + + b.Property("BillOnlineTime") + .HasColumnType("datetime2"); + + b.Property("BillType") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("LastUpdateTime") + .HasColumnType("datetime2"); + + b.Property("MessageContent") + .HasColumnType("nvarchar(max)"); + + b.Property("MessageFileName") + .HasColumnType("nvarchar(max)"); + + b.Property("MessageReceiveId") + .HasColumnType("uniqueidentifier"); + + b.Property("ReceiveStatus") + .HasColumnType("int"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.ToTable("FisMessageReceiveArchive"); + }); + + modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsApply") + .HasColumnType("bit"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("TransmissionModeContent") + .HasColumnType("nvarchar(max)"); + + b.Property("TransmissionModeType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FisTransmissionModeCfg"); + }); + + modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("NotMatchBillId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("FisNotMatchTempBill"); + }); + + modelBuilder.Entity("WY.NewJit.Users.AppUser", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Name"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.ToTable("AbpUsers"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingRec", b => + { + b.HasOne("WY.NewJit.Extends.MenBanPackingList", null) + .WithMany("Details") + .HasForeignKey("MenBanPackingListId"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingRec", b => + { + b.HasOne("WY.NewJit.Extends.ZhuHuBanPackingList", null) + .WithMany("Details") + .HasForeignKey("ZhuHuBanPackingListId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => + { + b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) + .WithMany("Details") + .HasForeignKey("AssemblyCfgErpId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => + { + b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) + .WithMany("AssemblyCfgVehicleChilds") + .HasForeignKey("AssemblyCfgVehicleId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.BillM100", null) + .WithMany("BillM100Parts") + .HasForeignKey("BillM100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.BillM110", null) + .WithMany("BillM110Parts") + .HasForeignKey("BillM110Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.BillR100", null) + .WithMany("BillR100Parts") + .HasForeignKey("BillR100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) + .WithMany("M100RepeatParts") + .HasForeignKey("RepeatM100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) + .WithMany("M110RepeatParts") + .HasForeignKey("RepeatM110Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => + { + b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) + .WithMany("R100RepeatParts") + .HasForeignKey("RepeatR100Id"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => + { + b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) + .WithMany("UnknownAssemblyParts") + .HasForeignKey("UnknownAssemblyId"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => + { + b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) + .WithMany("Details") + .HasForeignKey("MessageVersionCfgId"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.MenBanPackingList", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("WY.NewJit.Extends.ZhuHuBanPackingList", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => + { + b.Navigation("Details"); + }); + + modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => + { + b.Navigation("AssemblyCfgVehicleChilds"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => + { + b.Navigation("BillM100Parts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => + { + b.Navigation("BillM110Parts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => + { + b.Navigation("BillR100Parts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => + { + b.Navigation("M100RepeatParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => + { + b.Navigation("M110RepeatParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => + { + b.Navigation("R100RepeatParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => + { + b.Navigation("UnknownAssemblyParts"); + }); + + modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => + { + b.Navigation("Details"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleApp/Messages/MsgTransmissionService.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleApp/Messages/MsgTransmissionService.cs index 369ce39..5e3ef9b 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleApp/Messages/MsgTransmissionService.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleApp/Messages/MsgTransmissionService.cs @@ -598,11 +598,13 @@ namespace WY.NewJit.Job.ConsoleApp.Messages } #endregion + UpdateVehicleModel(billResObj); //更新车型 + #region 更新三个零件类别,有不识别零件时直接中断程序 string unknowPartCode = UpdatePartLargeType(billResObj); if (unknowPartCode.HasValue()) //有不识别零件 { - msgReceiveObj.ErrorCount = 3; + msgReceiveObj.ErrorCount = 4; msgReceiveObj.ErrorMessage = $"存在不识别的零件{unknowPartCode}"; _messageReceiveRepository.UpdateAsync(msgReceiveObj).GetAwaiter().GetResult(); @@ -761,11 +763,12 @@ namespace WY.NewJit.Job.ConsoleApp.Messages string ret = ""; if (billResObj.R100Bill != null) { + var bill = billResObj.R100Bill; var billPartLst = billResObj.R100Bill.BillR100Parts; //包含多个成品件 foreach (var billPart in billPartLst) { string partLargeType = billPart.PartCode.Substring(6, 3); //取客户零件代码的7-9位,是零件大类 - var partCfgObj = _partLargeTypeList.FirstOrDefault(itm => itm.LargeTypeCode == partLargeType); //是否加车型过滤//?? + var partCfgObj = _partLargeTypeList.FirstOrDefault(itm => itm.LargeTypeCode == partLargeType && itm.VehicleModel == bill.VehicleModelCode); //是否加车型过滤//?? if (partCfgObj != null) { billPart.PartType = partCfgObj.ProductLine; @@ -781,11 +784,12 @@ namespace WY.NewJit.Job.ConsoleApp.Messages } else if (billResObj.M100Bill != null) { + var bill = billResObj.M100Bill; var billPartLst = billResObj.M100Bill.BillM100Parts; //包含多个成品件 foreach (var billPart in billPartLst) { string partLargeType = billPart.PartCode.Substring(6, 3); //取客户零件代码的7-9位,是零件大类 - var partCfgObj = _partLargeTypeList.FirstOrDefault(itm => itm.LargeTypeCode == partLargeType); //是否加车型过滤//?? + var partCfgObj = _partLargeTypeList.FirstOrDefault(itm => itm.LargeTypeCode == partLargeType && itm.VehicleModel == bill.VehicleModelCode); //是否加车型过滤//?? if (partCfgObj != null) { billPart.PartType = partCfgObj.ProductLine; diff --git a/Shared/Win.Sfs.Shared/bin/Debug/Win.Sfs.Shared.2.0.0.nupkg b/Shared/Win.Sfs.Shared/bin/Debug/Win.Sfs.Shared.2.0.0.nupkg index 5919bb5fd3c9c3aaee99efa935beccd8ec5e3e26..60cefce0b410c97dffc464768d3230d4d817d3b8 100644 GIT binary patch delta 30953 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

!86lLdG$j8xNFQE3s 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 Zra%>jK++7T&lIRCk-=npwk+dRCIB?rP(lCz delta 248 zcmZoTz|wGlWkLsw=#j}S8+-oz5LhF{wX`4e; zUuLmrVp`Gy+Fv5;#_Ahu{x^ff@-`*L*S dPf@S}c$IKd#WWlG(~WK0GvhpIrn4JO0dUhYA{PJv delta 71 zcmV-N0J#60`U0H#0+4(ZiD3MB^}w-6oL)T~RMZYR*f2`bv5;#_Ah7DwH->*;2`M(J d=n~YaO^PB3A{QZOdAQbW@0P6fNwXVG0dUiBAszq# diff --git a/Shared/Win.Sfs.Shared/obj/Debug/Win.Sfs.Shared.2.0.0.nuspec b/Shared/Win.Sfs.Shared/obj/Debug/Win.Sfs.Shared.2.0.0.nuspec index d7aeb35..7a8575a 100644 --- a/Shared/Win.Sfs.Shared/obj/Debug/Win.Sfs.Shared.2.0.0.nuspec +++ b/Shared/Win.Sfs.Shared/obj/Debug/Win.Sfs.Shared.2.0.0.nuspec @@ -5,7 +5,7 @@ 2.0.0 Win.Sfs.Shared Package Description - + diff --git a/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfo.cs b/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfo.cs index 17b278b..09328bf 100644 --- a/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfo.cs +++ b/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Win.Sfs.Shared")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("2.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("2.0.0+32f3c7c4f91a6e47f64ef11cb91719a67226370a")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("2.0.0+9f1698b0f932dfc3e8d926fe272b9e5c15605da4")] [assembly: System.Reflection.AssemblyProductAttribute("Win.Sfs.Shared")] [assembly: System.Reflection.AssemblyTitleAttribute("Win.Sfs.Shared")] [assembly: System.Reflection.AssemblyVersionAttribute("2.0.0.0")] diff --git a/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfoInputs.cache b/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfoInputs.cache index c379f95..07049b5 100644 --- a/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfoInputs.cache +++ b/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfoInputs.cache @@ -1 +1 @@ -a40819ce8066d3478da910d1582b68a0b9e81b931d4dc46fb251c28adc396dd7 +d755eed168280a373eeb0870bc5023deded8bf4c7a53f8c511dbfc9601ca31ed diff --git a/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.dll b/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.dll index c1357646f6a184db2840f2e7d8af38f44e5788c5..f34ed9b4654e2f2b8f76843176c30d476ef9a2bf 100644 GIT binary patch delta 248 zcmZoTz|wGlWkLtb{O1v`H}?GbA@Fapfz#schg=(^-?#A2JFW|kI7 z25FYYMk#5@#;F!5mPTf2sYd2TNtUUm$%dw82Bs;ACe!x_Fe+@16kz<%&hoQO>g4no z3B~{ceZ&1Hg*9He&VGAS%UN!s!}L88j9Cg$QPXIsC`kR;hwo{YN(Qo0f#NAZF(aUwG$7B2!5oN_fFh|3 Zra%>jK++7T&lIRCk-=npwk+dRCIB?rP(lCz delta 248 zcmZoTz|wGlWkLsw=#j}S8+-oz5LhF{wX`4e; zUuLmrVp`Gy+Fv5;#_Ahu{x^ff@-`*L*S dPf@S}c$IKd#WWlG(~WK0GvhpIrn4JO0dUhYA{PJv delta 71 zcmV-N0J#60`U0H#0+4(ZiD3MB^}w-6oL)T~RMZYR*f2`bv5;#_Ah7DwH->*;2`M(J d=n~YaO^PB3A{QZOdAQbW@0P6fNwXVG0dUiBAszq# diff --git a/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/ref/Win.Sfs.Shared.dll b/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/ref/Win.Sfs.Shared.dll index b51f00e54591b37611569aad035ccbe9185d5598..3762e96d62a2148f6c53176eba8148d79bf0d17d 100644 GIT binary patch delta 207 zcmZoT!_;twX+j6fp38f0Z0spv7H}41_*J&*w)57EPdvNX9%gM8WO>iH`9JH$R!pe} z-G4asEYl3lEG?1@(kzXQQqq!*Q!P>~jm*+gjm(XbEK^OB4Nc7qOj8m~7#N%x8SExs zoF=tdW!euOe@lim215oj21^DDh9m|9AkUJ)n8Ao41;|PUvQmNKDL^qJpqexw&xpYs eh?9UKsSKt-6^20445-f(s49`cWOMf7sZ0Rir9J5Y delta 207 zcmZoT!_;twX+j6fveLRc8+%Ha1+w~MRKiNQ9T#`%r#(in^xk{Qf_*aXP7WH4k%WH4h$1@g>+d@~@O3ZxBzFqt62E ZTY^=Y1N9pL)ffZS8Zabo&R#r~2>{?ZI&1&{ diff --git a/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/refint/Win.Sfs.Shared.dll b/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/refint/Win.Sfs.Shared.dll index b51f00e54591b37611569aad035ccbe9185d5598..3762e96d62a2148f6c53176eba8148d79bf0d17d 100644 GIT binary patch delta 207 zcmZoT!_;twX+j6fp38f0Z0spv7H}41_*J&*w)57EPdvNX9%gM8WO>iH`9JH$R!pe} z-G4asEYl3lEG?1@(kzXQQqq!*Q!P>~jm*+gjm(XbEK^OB4Nc7qOj8m~7#N%x8SExs zoF=tdW!euOe@lim215oj21^DDh9m|9AkUJ)n8Ao41;|PUvQmNKDL^qJpqexw&xpYs eh?9UKsSKt-6^20445-f(s49`cWOMf7sZ0Rir9J5Y delta 207 zcmZoT!_;twX+j6fveLRc8+%Ha1+w~MRKiNQ9T#`%r#(in^xk{Qf_*aXP7WH4k%WH4h$1@g>+d@~@O3ZxBzFqt62E ZTY^=Y1N9pL)ffZS8Zabo&R#r~2>{?ZI&1&{