Browse Source

测试前

master^2
me 1 day ago
parent
commit
c38a0e57cc
  1. 10
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingListDto.cs
  2. 8
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/PartCfgDto.cs
  3. 15
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100Dto.cs
  4. 6
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ResultBillM100Dto.cs
  5. 24
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml
  6. 213
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs
  7. 60
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs
  8. 188
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/ZhuHuBanPackingRecService.cs
  9. 34
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml
  10. 23
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ExtMethod.cs
  11. 7
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ObjectResultDto.cs
  12. 5
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Extends/PaiGe/PrintTypeEnum.cs
  13. 5
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingList.cs
  14. 2
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/LineSN.cs
  15. 84
      Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/LineSNDomianService.cs
  16. BIN
      Shared/Win.Sfs.Shared/bin/Debug/Win.Sfs.Shared.2.0.0.nupkg
  17. BIN
      Shared/Win.Sfs.Shared/bin/Debug/netcoreapp5/Win.Sfs.Shared.dll
  18. BIN
      Shared/Win.Sfs.Shared/bin/Debug/netcoreapp5/Win.Sfs.Shared.pdb
  19. BIN
      Shared/Win.Sfs.Shared/bin/Debug/netcoreapp5/Win.Utils.dll
  20. BIN
      Shared/Win.Sfs.Shared/bin/Debug/netcoreapp5/Win.Utils.pdb
  21. 2
      Shared/Win.Sfs.Shared/obj/Debug/Win.Sfs.Shared.2.0.0.nuspec
  22. 2
      Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfo.cs
  23. 2
      Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfoInputs.cache
  24. BIN
      Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.csproj.AssemblyReference.cache
  25. BIN
      Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.dll
  26. BIN
      Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.pdb
  27. BIN
      Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/ref/Win.Sfs.Shared.dll
  28. BIN
      Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/refint/Win.Sfs.Shared.dll
  29. BIN
      Shared/Win.Utils/bin/Debug/Win.Utils.2.0.0.nupkg
  30. BIN
      Shared/Win.Utils/bin/Debug/netcoreapp5/Win.Utils.dll
  31. BIN
      Shared/Win.Utils/bin/Debug/netcoreapp5/Win.Utils.pdb
  32. 2
      Shared/Win.Utils/obj/Debug/Win.Utils.2.0.0.nuspec
  33. 2
      Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.AssemblyInfo.cs
  34. 2
      Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.AssemblyInfoInputs.cache
  35. BIN
      Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.dll
  36. BIN
      Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.pdb
  37. BIN
      Shared/Win.Utils/obj/Debug/netcoreapp5/ref/Win.Utils.dll
  38. BIN
      Shared/Win.Utils/obj/Debug/netcoreapp5/refint/Win.Utils.dll

10
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingListDto.cs

@ -43,7 +43,7 @@ namespace WY.NewJit.Extends
public string ProviderCode { get; set; } public string ProviderCode { get; set; }
/// <summary> /// <summary>
/// 零件类型 /// 零件类型(对应字典大类)
/// </summary> /// </summary>
public string PartType { get; set; } public string PartType { get; set; }
@ -110,11 +110,19 @@ namespace WY.NewJit.Extends
/// </summary> /// </summary>
public string EndHostSN { set; get; } public string EndHostSN { set; get; }
public Guid? SortId { get; set; }
/// <summary> /// <summary>
/// 排序字段 /// 排序字段
/// </summary> /// </summary>
public int SN { get; set; } public int SN { get; set; }
/// <summary>
/// 是否报废
/// </summary>
public bool IsScrap { get; set; }
public MenBanPackingListDto() public MenBanPackingListDto()
{ {
Details = new List<MenBanPackingRecDto>(); Details = new List<MenBanPackingRecDto>();

8
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/PartCfgDto.cs

@ -47,6 +47,13 @@ namespace WY.NewJit.MsgBaseData
[ImporterHeader(Name = "描述")] [ImporterHeader(Name = "描述")]
public string Description { get; set; } public string Description { get; set; }
/// <summary>
/// 厂内零件
/// </summary>
[ExporterHeader(DisplayName = "厂内零件")]
[ImporterHeader(Name = "厂内零件")]
public string RelationKey { get; set; }
#region 派格扩展 #region 派格扩展
///// <summary> ///// <summary>
///// 门板代号 ///// 门板代号
@ -68,6 +75,5 @@ namespace WY.NewJit.MsgBaseData
///// </summary> ///// </summary>
//public string DaXiaoLiangGang { get; set; } //public string DaXiaoLiangGang { get; set; }
#endregion #endregion
} }
} }

15
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100Dto.cs

@ -150,6 +150,21 @@ namespace WY.NewJit.MsgCheck
[ImporterHeader(Name = "零件6")] [ImporterHeader(Name = "零件6")]
public string PartCode6 { get; set; } public string PartCode6 { get; set; }
/// <summary>
/// 打印时间
/// </summary>
[ExporterHeader(DisplayName = "打印时间")]
[ImporterHeader(Name = "打印时间")]
public virtual DateTime? PrintTime { get; set; }
/// <summary>
/// 是否打印,打印后值是“已打印”
/// </summary>
[ExporterHeader(DisplayName = "是否打印")]
[ImporterHeader(Name = "是否打印")]
public virtual string PrintBillNum { get; set; }
} }
} }

6
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ResultBillM100Dto.cs

@ -144,10 +144,10 @@ namespace WY.NewJit.MsgCheck
public virtual bool? CanNotPrint { get; set; } public virtual bool? CanNotPrint { get; set; }
/// <summary> /// <summary>
/// 柱护板打印状态(不为空时表示已打印) /// 是否打印,打印后值是“已打印”
/// </summary> /// </summary>
[ExporterHeader(IsIgnore = true)] [ExporterHeader(DisplayName = "是否打印")]
[ImporterHeader(IsIgnore = true)] [ImporterHeader(Name = "是否打印")]
public virtual string PrintBillNum { get; set; } public virtual string PrintBillNum { get; set; }

24
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml

@ -36,7 +36,7 @@
</member> </member>
<member name="P:WY.NewJit.Extends.MenBanPackingListDto.PartType"> <member name="P:WY.NewJit.Extends.MenBanPackingListDto.PartType">
<summary> <summary>
零件类型 零件类型(对应字典大类)
</summary> </summary>
</member> </member>
<member name="P:WY.NewJit.Extends.MenBanPackingListDto.Capacity"> <member name="P:WY.NewJit.Extends.MenBanPackingListDto.Capacity">
@ -104,6 +104,11 @@
排序字段 排序字段
</summary> </summary>
</member> </member>
<member name="P:WY.NewJit.Extends.MenBanPackingListDto.IsScrap">
<summary>
是否报废
</summary>
</member>
<member name="P:WY.NewJit.Extends.MenBanPackingListRequestDto.ProductLine"> <member name="P:WY.NewJit.Extends.MenBanPackingListRequestDto.ProductLine">
<summary> <summary>
生产线 生产线
@ -1308,6 +1313,11 @@
描述 描述
</summary> </summary>
</member> </member>
<member name="P:WY.NewJit.MsgBaseData.PartCfgDto.RelationKey">
<summary>
厂内零件
</summary>
</member>
<member name="P:WY.NewJit.MsgBaseData.QueryPartCfgDto.PartCode"> <member name="P:WY.NewJit.MsgBaseData.QueryPartCfgDto.PartCode">
<summary> <summary>
零件编码 零件编码
@ -1601,6 +1611,16 @@
手工操作日期 手工操作日期
</summary> </summary>
</member> </member>
<member name="P:WY.NewJit.MsgCheck.BillM100Dto.PrintTime">
<summary>
打印时间
</summary>
</member>
<member name="P:WY.NewJit.MsgCheck.BillM100Dto.PrintBillNum">
<summary>
是否打印,打印后值是“已打印”
</summary>
</member>
<member name="T:WY.NewJit.MsgCheck.BillM100PartDto"> <member name="T:WY.NewJit.MsgCheck.BillM100PartDto">
<summary> <summary>
零件查询结果DTO 零件查询结果DTO
@ -1948,7 +1968,7 @@
</member> </member>
<member name="P:WY.NewJit.MsgCheck.ResultBillM100Dto.PrintBillNum"> <member name="P:WY.NewJit.MsgCheck.ResultBillM100Dto.PrintBillNum">
<summary> <summary>
柱护板打印状态(不为空时表示已打印) 是否打印,打印后值是“已打印”
</summary> </summary>
</member> </member>
<member name="P:WY.NewJit.MsgCheck.TimeOutRemindResultDto.ProductLine"> <member name="P:WY.NewJit.MsgCheck.TimeOutRemindResultDto.ProductLine">

213
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs

@ -1128,15 +1128,14 @@ select * from
/// 将M100转换成MenBanPackingList主子表 /// 将M100转换成MenBanPackingList主子表
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <param name="pageIdx"></param> /// <param name="maxSN">最大顺序号加一</param>
/// <param name="maxSN"></param> /// <param name="pageBillLst">当前页的记录</param>
/// <param name="billLst"></param>
/// <param name="reportSort">报表分类,对应DicItemSort4</param> /// <param name="reportSort">报表分类,对应DicItemSort4</param>
/// <param name="partLargeTypeLst">零件大类字典项</param> /// <param name="partLargeTypeLst">零件大类字典项(已经排序)</param>
/// <param name="sortId">本次打印的sortId相同</param>
/// <returns></returns> /// <returns></returns>
private MenBanPackingList DoMBPrint(MenBanPrintInputDto input, int pageIdx, double maxSN, List<BillM100> billLst, string reportSort, List<DicItem> partLargeTypeLst, Guid sortId) private MenBanPackingList DoMBPrint(MenBanPrintInputDto input, double maxSN, List<BillM100> pageBillLst, string reportSort, List<DicItem> partLargeTypeLst, Guid sortId)
{ {
const int _colNumberPerPage = 12; //??临时的,等
var partLargeTypeObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemCode == reportSort); var partLargeTypeObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemCode == reportSort);
if (partLargeTypeObj == null) if (partLargeTypeObj == null)
{ {
@ -1150,10 +1149,6 @@ select * from
{ {
idx = 0; idx = 0;
} }
//取当前页内容
List<BillM100> curPageLst = billLst.Skip(pageIdx * _colNumberPerPage).Take(_colNumberPerPage).ToList();
//var vmLst = curPageLst.Select(itm => itm.VehicleModelCode).Distinct().JoinAsString(","); //取车型 //var vmLst = curPageLst.Select(itm => itm.VehicleModelCode).Distinct().JoinAsString(","); //取车型
string ymd = ServerHelper.CurrentDateTime.ToString("yyyyMMdd"); string ymd = ServerHelper.CurrentDateTime.ToString("yyyyMMdd");
string serialNum = maxSN.ToString().PadLeft(3, '0'); //075 string serialNum = maxSN.ToString().PadLeft(3, '0'); //075
@ -1167,10 +1162,10 @@ select * from
packingMain.VehicleModel_Disp = partLargeTypeObj.DicItemSort6; //车型(报表显示的) packingMain.VehicleModel_Disp = partLargeTypeObj.DicItemSort6; //车型(报表显示的)
packingMain.PrintDate = ServerHelper.CurrentDateTime; packingMain.PrintDate = ServerHelper.CurrentDateTime;
packingMain.PartType = partLargeTypeObj.DicItemCode; //零件大类 packingMain.PartType = partLargeTypeObj.DicItemCode; //零件大类
packingMain.ProductLine = billLst[0].ProductLine; packingMain.ProductLine = pageBillLst[0].ProductLine;
packingMain.SortId = sortId; packingMain.SortId = sortId;
var tempLst = curPageLst.Where(itm => string.IsNullOrEmpty(itm.VIN) == false).OrderBy(itm => itm.OnlineTime).ThenBy(itm => itm.HostSN).ToList(); var tempLst = pageBillLst.Where(itm => string.IsNullOrEmpty(itm.VIN) == false).OrderBy(itm => itm.OnlineTime).ThenBy(itm => itm.HostSN).ToList();
if (tempLst.Count > 0) if (tempLst.Count > 0)
{ {
packingMain.BeginVin = tempLst[0].VIN; packingMain.BeginVin = tempLst[0].VIN;
@ -1181,7 +1176,7 @@ select * from
packingMain.MinOnlineTime = tempLst.Min(itm => itm.OnlineTime); //本单据最早的上线时间 packingMain.MinOnlineTime = tempLst.Min(itm => itm.OnlineTime); //本单据最早的上线时间
//明细 //明细
int sn = 1; int sn = 1;
foreach (BillM100 billObj in curPageLst) foreach (BillM100 billObj in pageBillLst)
{ {
MenBanPackingRec packingDetail = new MenBanPackingRec(); MenBanPackingRec packingDetail = new MenBanPackingRec();
packingDetail.SetId(GuidGenerator.Create()); packingDetail.SetId(GuidGenerator.Create());
@ -2407,10 +2402,51 @@ select * from
} }
} }
} }
//if (retLst.Count == 0 && billLst.Count < input.EndHostSN - input.BeginHostSN + 1)
//{
// retLst.Add($"本车装箱单不满架!");
//}
return new ListResultDto<string>(retLst);
}
catch (Exception ex)
{
ListResultDto<string> ret = new ListResultDto<string>();
ret.Status = false;
ret.Message = _errorMessagePrefix + "打印前检查大众顺序号是否断号ChecMBkHostSNBreakNum 执行出错:" + ex.Message;
_logger.LogError(ret.Message);
return ret;
}
}
[UnitOfWork(false)]
[HttpPost]
[Route("check-already-print")]
public virtual async Task<ListResultDto<string>> CheckAlreadyPrint(MenBanPrintInputDto input)
{
List<string> retLst = new List<string>();
try
{
ListResultDto<BillM100> tempLst = await GetMBReportDetailList(input, false);
List<BillM100> billLst = tempLst.Item;
if (retLst.Count == 0 && billLst.Count < input.EndHostSN - input.BeginHostSN + 1) if (retLst.Count == 0 && billLst.Count < input.EndHostSN - input.BeginHostSN + 1)
{ {
retLst.Add($"本车装箱单不满架!"); retLst.Add($"本车装箱单不满架!");
} }
var m100Obj = billLst[0];
if (m100Obj.PrintBillNum.HasValue())
{
var alreadyPrintLst = billLst.Where(itm => string.IsNullOrEmpty(itm.PrintBillNum) == false).ToList();
var sortId = await GetPackingListByM100Id(input.ProductLine, m100Obj.Id);
if (sortId != null)
{
var allMBLst = await _menBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId);
string billNumStr = allMBLst.OrderBy(itm => itm.BillNum).JoinAsString(",");
retLst.Add($"从{alreadyPrintLst[0].HostSN}到{alreadyPrintLst[alreadyPrintLst.Count - 1].HostSN}的大众顺序号已经打印,打印对应的单号是{billNumStr}");
}
}
return new ListResultDto<string>(retLst); return new ListResultDto<string>(retLst);
} }
@ -2418,12 +2454,26 @@ select * from
{ {
ListResultDto<string> ret = new ListResultDto<string>(); ListResultDto<string> ret = new ListResultDto<string>();
ret.Status = false; ret.Status = false;
ret.Message = _errorMessagePrefix + "打印前检查大众顺序号是否断号ChecMBkHostSNBreakNum 执行出错:" + ex.Message; ret.Message = _errorMessagePrefix + "CheckIsAlreadyPrint执行出错:" + ex.Message;
_logger.LogError(ret.Message); _logger.LogError(ret.Message);
return ret; return ret;
} }
} }
/// <summary>
/// 根据M100的Id取打印主表
/// </summary>
/// <param name="m100Id"></param>
/// <returns></returns>
private async Task<Guid?> GetPackingListByM100Id(string productLine, Guid m100Id, bool isTrans = false)
{
string sql = $@"
select top 1 SortId from FisMenBanPackingList where ProductLine = '{productLine}'
and Id in (select MenBanPackingListId from FisMenBanPackingRec where M100BillId = '{m100Id}')
";
var sortIdLst = await _newJitDapperRepository.GetListBySqlAsync<Guid?>(sql, isTrans);
return sortIdLst.Count > 0 ? sortIdLst[0] : null;
}
/// <summary> /// <summary>
/// 打印前检查大众顺序号是否断号 /// 打印前检查大众顺序号是否断号
@ -2511,36 +2561,36 @@ select * from
int? beginHostSN = null; int? beginHostSN = null;
try try
{ {
if (isZhuHuBan == "1") //是柱护板, 根据PrintBillNum非空判断是柱护板 // if (isZhuHuBan == "1") //是柱护板, 根据PrintBillNum非空判断是柱护板
{ // {
//string minSNStr = await _billM100Repository.Where(itm => // //string minSNStr = await _billM100Repository.Where(itm =>
// itm.ProductLine == productLine //指定生产线 // // itm.ProductLine == productLine //指定生产线
// && itm.CanNotPrint != true //能打印 // // && itm.CanNotPrint != true //能打印
// && string.IsNullOrEmpty(itm.PrintBillNum) == true //等于 未打印 // // && string.IsNullOrEmpty(itm.PrintBillNum) == true //等于 未打印
// && itm.NeedReplenishPrint != 1 //排除补打 // // && itm.NeedReplenishPrint != 1 //排除补打
// ).MinAsync(itm => itm.SerialNumStr); // // ).MinAsync(itm => itm.SerialNumStr);
string sql = @" // string sql = @"
with d as //with d as
( //(
select *from [dbo].[FisZHBPrintStatus] where groupName='{1}' // select *from [dbo].[FisZHBPrintStatus] where groupName='{1}'
) //)
select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN //select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
where ProductLine='{0}' and (CanNotPrint !=1 or CanNotPrint is null) and (PrintBillNum is null or PrintBillNum ='') and (NeedReplenishPrint!=1 or NeedReplenishPrint is null) and d.BillStatus is null"; // where ProductLine='{0}' and (CanNotPrint !=1 or CanNotPrint is null) and (PrintBillNum is null or PrintBillNum ='') and (NeedReplenishPrint!=1 or NeedReplenishPrint is null) and d.BillStatus is null";
sql = string.Format(sql, productLine, GroupName); // sql = string.Format(sql, productLine, GroupName);
var minSNStr = await _newJitDapperRepository.GetSingleBySqlAsync<string>(sql); // var minSNStr = await _newJitDapperRepository.GetSingleBySqlAsync<string>(sql);
beginHostSN = await _billM100Repository.Where(itm => // beginHostSN = await _billM100Repository.Where(itm =>
itm.ProductLine == productLine //指定生产线 // itm.ProductLine == productLine //指定生产线
&& itm.CanNotPrint != true //能打印 // && itm.CanNotPrint != true //能打印
&& string.IsNullOrEmpty(itm.PrintBillNum) == true //等于 未打印 // && string.IsNullOrEmpty(itm.PrintBillNum) == true //等于 未打印
&& itm.SerialNumStr == minSNStr // && itm.SerialNumStr == minSNStr
).MinAsync(itm => itm.HostSN); // ).MinAsync(itm => itm.HostSN);
} // }
else //---------------门板----------------------------------------------------------------------------------- // else //---------------门板-----------------------------------------------------------------------------------
{ {
string minSNStr2 = await _billM100Repository.Where(itm => string minSNStr2 = await _billM100Repository.Where(itm =>
itm.ProductLine == productLine //指定生产线 itm.ProductLine == productLine //指定生产线
@ -3705,12 +3755,6 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
ret.Status = false; ret.Status = false;
return ret; return ret;
} }
//_logger.LogWarning($"SaveMenBanReport读取数据 - {sw.ElapsedMilliseconds}毫秒");
int pageCnt = (int)Math.Ceiling(billLst.Count / 12.0); //每页打印12列,取打印页数
//过滤产线(DicItemSort2),按“报表分类”(DicItemSort4)分组,分组后按DicItemSort7排序 //过滤产线(DicItemSort2),按“报表分类”(DicItemSort4)分组,分组后按DicItemSort7排序
Dictionary<string, List<DicItem>> reportSortDic = partLargeTypeLst Dictionary<string, List<DicItem>> reportSortDic = partLargeTypeLst
.Where(itm => itm.DicItemSort2 == input.ProductLine && string.IsNullOrEmpty(itm.DicItemSort4) == false) .Where(itm => itm.DicItemSort2 == input.ProductLine && string.IsNullOrEmpty(itm.DicItemSort4) == false)
@ -3719,41 +3763,36 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
Guid sortId = GuidGenerator.Create(); //每次打印所有记录的SortId是相同的 Guid sortId = GuidGenerator.Create(); //每次打印所有记录的SortId是相同的
for (int pageIdx = 0; pageIdx < pageCnt; pageIdx++) foreach (var reportSortItem in reportSortDic) //先按分组(01产线有C8扶手、C8头枕两个分组)、然后按分页
{ {
DicItem dicItem = reportSortItem.Value[0];
foreach (var reportSortItem in reportSortDic) int pageSize = dicItem.DicItemSort9.TryToInt() ?? 24; //每页记录数
int pageCount = (int)Math.Ceiling(billLst.Count / (decimal)pageSize); //页数
for (int pageIdx = 0; pageIdx < pageCount; pageIdx++)
{ {
//生成顺序号:按生产线分组,取当前生产线的最大流水号:001至999往复循环 //生成顺序号:按生产线分组,取当前生产线的最大流水号:001至999往复循环
double maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum., input.ProductLine, string.Empty); double maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum., input.ProductLine, reportSortItem.Key);
//取当前页内容
List<BillM100> pageBillLst = billLst.Skip(pageIdx * pageSize).Take(pageSize).ToList();
MenBanPackingList packingObj = DoMBPrint(input, pageIdx, maxSN, billLst, reportSortItem.Key, reportSortItem.Value, sortId); MenBanPackingList packingObj = DoMBPrint(input, maxSN, pageBillLst, reportSortItem.Key, reportSortItem.Value, sortId);
reportMainLst.Add(packingObj); reportMainLst.Add(packingObj);
} }
} }
//_logger.LogWarning($"SaveMenBanReport转换数据 - {sw.ElapsedMilliseconds}毫秒");
//插入门板打印记录表 //插入门板打印记录表
await _menBanPackingListRepository.InsertManyAsync(reportMainLst, true); await _menBanPackingListRepository.InsertManyAsync(reportMainLst, true);
retLst.AddRange(reportMainLst.Select(itm => itm.Id));
//_logger.LogWarning($"SaveMenBanReport插入门板打印记录表 - {sw.ElapsedMilliseconds}毫秒");
//调用派格版库存接口 //调用派格版库存接口
//await SaveMiddleTable_MB(reportMainLst); //await SaveMiddleTable_MB(reportMainLst);
//_logger.LogWarning($"SaveMenBanReport插入中间表 - {sw.ElapsedMilliseconds}毫秒");
//更新M100的门板打印标志:BillStatus=3 //更新M100的门板打印标志:BillStatus=3
foreach (BillM100 billObj in billLst) foreach (BillM100 billObj in billLst)
{ {
if (billObj.BillStatus == BillStatusEnum.Match) if (billObj.BillStatus == BillStatusEnum.Match)
{ {
billObj.SetBillStatus(BillStatusEnum.Publish); //billObj.SetBillStatus(BillStatusEnum.Publish);
billObj.PrintTime = ServerHelper.CurrentDateTime; billObj.PrintTime = ServerHelper.CurrentDateTime;
billObj.PrintBillNum = "已打印";
billObj.NeedReplenishPrint = 0; //不需要补打 billObj.NeedReplenishPrint = 0; //不需要补打
await _billM100Repository.UpdateAsync(billObj, true); await _billM100Repository.UpdateAsync(billObj, true);
} }
@ -3764,17 +3803,27 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// await _billM100Repository.UpdateAsync(billObj, true); // await _billM100Repository.UpdateAsync(billObj, true);
//} //}
} }
//4.校验1 - 4张单据都没有扫描提交,可以重复打印1 - 4张单据,或者打印1 - 5,
//_logger.LogWarning($"SaveMenBanReport更新M100的门板打印标志 - {sw.ElapsedMilliseconds}毫秒"); //5.重复打印后,原单据作废,原单据即使扫描也无法提交
var m100Id = billLst[0].Id;
var sortId2 = await GetPackingListByM100Id(input.ProductLine, m100Id, true);
if (sortId2 != null)
{
var allMBLst = await _menBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId2);
foreach (var mbObj in allMBLst)
{
mbObj.IsScrap = true;
}
await _menBanPackingListRepository.UpdateManyAsync(allMBLst);
} }
} //if 正常打印
//else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 //else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据
//{ //{
// throw new BusinessException("请调用LoadMenBanReport方法!"); // throw new BusinessException("请调用LoadMenBanReport方法!");
//} //}
await uow.CompleteAsync(); await uow.CompleteAsync();
ret.Status = true; ret.Status = true;
ret.Item = retLst; ret.Item = reportMainLst.Select(itm => itm.Id).ToList();
return ret; return ret;
} }
catch (Exception ex) catch (Exception ex)
@ -3874,7 +3923,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
MenBanPackingListResultDto ret = new MenBanPackingListResultDto(); MenBanPackingListResultDto ret = new MenBanPackingListResultDto();
try try
{ {
List<MenBanPackingListDto> reportLst = await LoadMenBanReport(input); List<MenBanPackingListDto> reportLst = await LoadMenBanReport(input); //例如:包含两条C8扶手、两条C8头枕
List<DicItem> partLargeTypeLst = await _dicItemRepository.GetListAsync(itm => itm.DicTypeCode == "零件大类"); List<DicItem> partLargeTypeLst = await _dicItemRepository.GetListAsync(itm => itm.DicTypeCode == "零件大类");
foreach (MenBanPackingListDto report in reportLst) foreach (MenBanPackingListDto report in reportLst)
@ -3886,17 +3935,29 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
} }
} }
reportLst = reportLst.OrderBy(itm => itm.SN).ToList(); reportLst = reportLst.OrderBy(itm => itm.SN).ToList();
if (reportLst.Count > 0) var partTypeLst = reportLst.Select(itm => itm.PartType).Distinct().ToList();
if (partTypeLst.Count > 0)
{
var mainLst1 = reportLst.Where(itm => itm.PartType == partTypeLst[0]).OrderBy(itm => itm.SN).ToList();
var detailLst1 = mainLst1.SelectMany(itm => itm.Details).OrderBy(itm => itm.SN).ToList();
foreach (var item in mainLst1)
{ {
ret.MainList1.Add(reportLst[0]); item.Details = null;
ret.DetailList1.AddRange(reportLst[0].Details); }
reportLst[0].Details = null; ret.MainList1 = mainLst1;
ret.DetailList1 = detailLst1;
} }
if (reportLst.Count > 1) if (partTypeLst.Count > 1)
{ {
ret.MainList2.Add(reportLst[1]); var mainLst2 = reportLst.Where(itm => itm.PartType == partTypeLst[1]).OrderBy(itm => itm.SN).ToList();
ret.DetailList2.AddRange(reportLst[1].Details); var detailLst2 = mainLst2.SelectMany(itm => itm.Details).OrderBy(itm => itm.SN).ToList();
reportLst[1].Details = null; foreach (var item in mainLst2)
{
item.Details = null;
}
ret.MainList2 = mainLst2;
ret.DetailList2 = detailLst2;
} }
return ret; return ret;
} }

60
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs

@ -10,6 +10,7 @@ using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Shouldly; using Shouldly;
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@ -166,7 +167,7 @@ namespace Win.Sfs.SettleAccount.FISes
public async Task<PagedResultDto<MenBanPackingListDto>> GetMainListAsync(MenBanPackingListRequestDto input) public async Task<PagedResultDto<MenBanPackingListDto>> GetMainListAsync(MenBanPackingListRequestDto input)
{ {
List<FilterCondition> filters = new List<FilterCondition>(); List<FilterCondition> filters = new List<FilterCondition>();
filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "ReportStatus", Logic = EnumFilterLogic.And, Value = ((int)ReportStatusEnum.).ToString() }); filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "ReportStatus", Logic = EnumFilterLogic.And, Value = ((int)ReportStatusEnum.).ToString() });
if (!string.IsNullOrEmpty(input.ProductLine)) if (!string.IsNullOrEmpty(input.ProductLine))
{ {
@ -543,17 +544,64 @@ namespace Win.Sfs.SettleAccount.FISes
[HttpPost] [HttpPost]
[Route("update-scan-status")] [Route("update-scan-status")]
public virtual async Task<ObjectResultDto> UpdateScanStatus(string billNum) public virtual async Task<ObjectResultDto> UpdateScanStatus(List<string> billNumList)
{ {
ObjectResultDto ret = new ObjectResultDto(); ObjectResultDto ret = new ObjectResultDto();
try try
{ {
var lst = await _menBanPackingListRepository.GetListAsync(itm => itm.BillNum == billNum); #region 校验
foreach (var item in lst) if (billNumList.Count == 0)
{ {
item.ReportStatus = ReportStatusEnum.; throw new Exception($"传入的单号不能为空!");
var succ = await _menBanPackingListRepository.UpdateAsync(item);
} }
string billNumStr = billNumList.JoinAsString(",");
var menBanLst = await _menBanPackingListRepository.GetListAsync(itm => billNumList.Contains(itm.BillNum));
bool isScrap = menBanLst.Any(itm => itm.IsScrap == true);
if (isScrap)
{
throw new Exception($"传入的单号,存在已经报废的单据(FIS操作人员重新打印引起)" + billNumStr);
}
if (menBanLst.Count != billNumList.Count)
{
throw new Exception($"传入的单号,有的在打印表不存在:" + billNumStr);
}
var distLst = menBanLst.Select(itm => itm.SortId).Distinct().ToList();
if (distLst.Count > 1)
{
throw new Exception($"传入的单号,不是一个打印批次:" + billNumStr);
}
var sortId = menBanLst[0].SortId;
var batchMenBanLst = await _menBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId, true);
var batchSortIdLst = batchMenBanLst.Select(itm => itm.BillNum).ToList();
var exceptLst1 = batchSortIdLst.OrderBy(itm => itm).Except(billNumList.OrderBy(itm => itm)).ToList();
if (exceptLst1.Count > 0)
{
throw new Exception($"和一个打印批次比较,传入的单号缺失:" + exceptLst1.JoinAsString(","));
}
var exceptLst2 = billNumList.OrderBy(itm => itm).Except(batchSortIdLst.OrderBy(itm => itm)).ToList();
if (exceptLst2.Count > 0)
{
throw new Exception($"和一个打印批次比较,传入的单号多了:" + exceptLst1.JoinAsString(","));
}
#endregion
//更新状态
foreach (var batchMenBan in batchMenBanLst)
{
batchMenBan.ReportStatus = ReportStatusEnum.;
var updateObj = await _menBanPackingListRepository.UpdateAsync(batchMenBan);
}
var billIdLst = batchMenBanLst.SelectMany(itm => itm.Details).Select(itm => itm.M100BillId).ToList();
var m100Lst = await _billM100Repository.GetListAsync(itm => billIdLst.Contains(itm.Id));
foreach (var m100 in m100Lst)
{
m100.SetBillStatus(BillStatusEnum.Publish);
}
await _billM100Repository.UpdateManyAsync(m100Lst);
ret.Status = true; ret.Status = true;
return ret; return ret;
} }

188
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/ZhuHuBanPackingRecService.cs

@ -154,7 +154,7 @@ namespace Win.Sfs.SettleAccount.FISes
{ {
List<FilterCondition> filters = new List<FilterCondition>(); List<FilterCondition> filters = new List<FilterCondition>();
filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "ReportStatus", Logic = EnumFilterLogic.And, Value = ((int)ReportStatusEnum.).ToString() }); filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "ReportStatus", Logic = EnumFilterLogic.And, Value = ((int)ReportStatusEnum.).ToString() });
if (!string.IsNullOrEmpty(input.ProductLine)) if (!string.IsNullOrEmpty(input.ProductLine))
{ {
@ -271,109 +271,109 @@ namespace Win.Sfs.SettleAccount.FISes
/// <param name="ids">IDs</param> /// <param name="ids">IDs</param>
/// /// <param name="groupName">IDs</param> /// /// <param name="groupName">IDs</param>
/// <returns>是否执行成功</returns> /// <returns>是否执行成功</returns>
[HttpPost] //[HttpPost]
[Route("scrap")] //[Route("scrap")]
[UnitOfWork(isTransactional: false)] //[UnitOfWork(isTransactional: false)]
virtual public async Task<List<string>> ScrapAsync(List<Guid> ids) //virtual public async Task<List<string>> ScrapAsync(List<Guid> ids)
{ //{
var selLst = await _ZhuHuBanPackingListRepository.Where(p => ids.Contains(p.Id)).ToListAsync(); // var selLst = await _ZhuHuBanPackingListRepository.Where(p => ids.Contains(p.Id)).ToListAsync();
if (selLst == null || selLst.Count == 0) // if (selLst == null || selLst.Count == 0)
{ // {
throw new BusinessException("1001", "没有选中要作废的已打印装箱单!!"); // throw new BusinessException("1001", "没有选中要作废的已打印装箱单!!");
} // }
foreach (var selObj in selLst) // foreach (var selObj in selLst)
{ // {
string maxBillNum = await _ZhuHuBanPackingListRepository.Where(itm => itm.ProductLine == selObj.ProductLine && itm.ReportStatus == ReportStatusEnum.).MaxAsync(itm => itm.BillNum); //取当前生产线的最大装箱单号 // string maxBillNum = await _ZhuHuBanPackingListRepository.Where(itm => itm.ProductLine == selObj.ProductLine && itm.ReportStatus == ReportStatusEnum.未扫描).MaxAsync(itm => itm.BillNum); //取当前生产线的最大装箱单号
if (string.IsNullOrEmpty(maxBillNum) == false) // if (string.IsNullOrEmpty(maxBillNum) == false)
{ // {
ZhuHuBanPackingList firObj = await _ZhuHuBanPackingListRepository.FirstOrDefaultAsync(itm => itm.BillNum == maxBillNum); // ZhuHuBanPackingList firObj = await _ZhuHuBanPackingListRepository.FirstOrDefaultAsync(itm => itm.BillNum == maxBillNum);
if (firObj != null) // if (firObj != null)
{ // {
if (selObj.SortId != firObj.SortId) // if (selObj.SortId != firObj.SortId)
{ // {
throw new BusinessException("1001", "只能报废当前生产线的最后打印单据,要报废的单据不是最后打印单据!"); // throw new BusinessException("1001", "只能报废当前生产线的最后打印单据,要报废的单据不是最后打印单据!");
} // }
} // }
} // }
} // }
var sortList = selLst.Select(p => p.SortId).Distinct().ToList();//筛选出匹配门板 // var sortList = selLst.Select(p => p.SortId).Distinct().ToList();//筛选出匹配门板
List<ZhuHuBanPackingList> pairlist = _ZhuHuBanPackingListRepository.Where(p => sortList.Contains(p.SortId)).ToList(); // List<ZhuHuBanPackingList> pairlist = _ZhuHuBanPackingListRepository.Where(p => sortList.Contains(p.SortId)).ToList();
var idList = pairlist.Select(p => p.Id).ToList(); // var idList = pairlist.Select(p => p.Id).ToList();
var _ls = pairlist.Select(p => p.BillNum).ToList(); // var _ls = pairlist.Select(p => p.BillNum).ToList();
var _strList = new List<string>(); // var _strList = new List<string>();
_ls.ForEach(p => { // _ls.ForEach(p => {
_strList.Add(string.Format("'{0}'", p)); // _strList.Add(string.Format("'{0}'", p));
}); // });
string str = string.Join(",", _strList.ToArray()); // string str = string.Join(",", _strList.ToArray());
var wmsLst = _wmsRepository.GetListBySql<TB_BILL>(string.Format("select * from TB_BILL where (state=1 or state=2) and BillNum in ({0}) ", str)); // var wmsLst = _wmsRepository.GetListBySql<TB_BILL>(string.Format("select * from TB_BILL where (state=1 or state=2) and BillNum in ({0}) ", str));
if (wmsLst.Count() == 0) //库存没有排序 // if (wmsLst.Count() == 0) //库存没有排序
{ // {
//调用库存系统接口 // //调用库存系统接口
List<string> billNumLst = pairlist.Select(itm => itm.BillNum).Distinct().ToList(); // List<string> billNumLst = pairlist.Select(itm => itm.BillNum).Distinct().ToList();
foreach (string billNumStr in billNumLst) // foreach (string billNumStr in billNumLst)
{ // {
DelOrScrapWMSInterface(billNumStr, true); // DelOrScrapWMSInterface(billNumStr, true);
} // }
#region 作废时单据序号减一 // #region 作废时单据序号减一
string curProductLine = selLst[0].ProductLine; // string curProductLine = selLst[0].ProductLine;
DateTime curPrintDate = selLst[0].PrintDate; // DateTime curPrintDate = selLst[0].PrintDate;
var partTypeLst = pairlist.Select(itm => itm.PartType).ToList(); // var partTypeLst = pairlist.Select(itm => itm.PartType).ToList();
foreach (string curPartType in partTypeLst) // foreach (string curPartType in partTypeLst)
{ // {
var priorLst = _ZhuHuBanPackingListRepository.Where(itm => // var priorLst = _ZhuHuBanPackingListRepository.Where(itm =>
itm.ReportStatus == ReportStatusEnum. // itm.ReportStatus == ReportStatusEnum.未扫描
&& itm.ProductLine == curProductLine // && itm.ProductLine == curProductLine
&& itm.PartType == curPartType // && itm.PartType == curPartType
&& idList.Contains(itm.Id) == false); // && idList.Contains(itm.Id) == false);
if (priorLst.Any()) // if (priorLst.Any())
{ // {
string maxBillNum = priorLst.Max(itm => itm.BillNum); //扣除要作废记录,取当前生产线的最大单据号 // string maxBillNum = priorLst.Max(itm => itm.BillNum); //扣除要作废记录,取当前生产线的最大单据号
ZhuHuBanPackingList priorObj = priorLst.FirstOrDefault(itm => itm.BillNum == maxBillNum); //扣除要作废记录,取当前生产线的最后打印记录 // ZhuHuBanPackingList priorObj = priorLst.FirstOrDefault(itm => itm.BillNum == maxBillNum); //扣除要作废记录,取当前生产线的最后打印记录
double updRecCnt = await _lineSNDomianServic.SetMaxSN(ProductTypeEnum., curProductLine, curPartType, priorObj.PrintDate, priorObj.BillSerialNum.TryToDoubleZero(), null); //调用减号接口 // double updRecCnt = await _lineSNDomianServic.SetMaxSN(ProductTypeEnum.柱护板, curProductLine, curPartType, priorObj.PrintDate, priorObj.BillSerialNum.TryToDoubleZero(), null); //调用减号接口
} // }
else // else
{ // {
double updRecCnt2 = await _lineSNDomianServic.SetMaxSN(ProductTypeEnum., curProductLine, curPartType, curPrintDate, 0, null); //调用减号接口,没有上条记录时 单据号传0 // double updRecCnt2 = await _lineSNDomianServic.SetMaxSN(ProductTypeEnum.柱护板, curProductLine, curPartType, curPrintDate, 0, null); //调用减号接口,没有上条记录时 单据号传0
} // }
} // }
#endregion // #endregion
//打印记录表更新成 已作废 状态 // //打印记录表更新成 已作废 状态
foreach (var itm in pairlist) // foreach (var itm in pairlist)
{ // {
itm.ReportStatus = WY.NewJit.Extends.PaiGe.ReportStatusEnum.; // itm.ReportStatus = WY.NewJit.Extends.PaiGe.ReportStatusEnum.已作废;
} // }
await _ZhuHuBanPackingListRepository.UpdateManyAsync(pairlist); // await _ZhuHuBanPackingListRepository.UpdateManyAsync(pairlist);
//批量改为未打印 // //批量改为未打印
var _childList = await _ZhuHuBanPackingListRepository.Where(p => idList.Contains(p.Id)).SelectMany(p => p.Details).ToListAsync(); // var _childList = await _ZhuHuBanPackingListRepository.Where(p => idList.Contains(p.Id)).SelectMany(p => p.Details).ToListAsync();
var _child = _childList.Select(p => p.M100BillId).Distinct().ToList(); // var _child = _childList.Select(p => p.M100BillId).Distinct().ToList();
var _lst1 = await _billM100Repository.Where(p => _child.Contains(p.Id)).ToListAsync(); // var _lst1 = await _billM100Repository.Where(p => _child.Contains(p.Id)).ToListAsync();
_lst1.ForEach(p => // _lst1.ForEach(p =>
{ // {
p.SetZHBBillStatus(ZHBBillStatusEnum.NotPrint); // p.SetZHBBillStatus(ZHBBillStatusEnum.NotPrint);
p.PrintTime2 = null; // p.PrintTime2 = null;
}); // });
await _billM100Repository.UpdateManyAsync(_lst1); // await _billM100Repository.UpdateManyAsync(_lst1);
var types = await _ZhuHuBanPackingListRepository.Where(p => idList.Contains(p.Id)).Select(p => p.PartType).Distinct().ToListAsync(); // var types = await _ZhuHuBanPackingListRepository.Where(p => idList.Contains(p.Id)).Select(p => p.PartType).Distinct().ToListAsync();
var groupName = await _printTemplateConfigurationRepository.FirstOrDefaultAsync(r => types.Contains(r.PartType)); // var groupName = await _printTemplateConfigurationRepository.FirstOrDefaultAsync(r => types.Contains(r.PartType));
var vins = _childList.Select(p => p.VIN).Distinct().ToList(); // var vins = _childList.Select(p => p.VIN).Distinct().ToList();
await _zHBPrintStatusRepository.DeleteAsync(r => vins.Contains(r.VIN) && r.GroupName == groupName.GroupName); // await _zHBPrintStatusRepository.DeleteAsync(r => vins.Contains(r.VIN) && r.GroupName == groupName.GroupName);
} // }
else // else
{ // {
throw new BusinessException("1001", "WMS已经排序,不能报废!"); // throw new BusinessException("1001", "WMS已经排序,不能报废!");
} // }
return wmsLst.Select(p => p.BillNum).ToList(); // return wmsLst.Select(p => p.BillNum).ToList();
} //}
} }

34
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml

@ -1045,16 +1045,16 @@
<param name="billLst"></param> <param name="billLst"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WY.NewJit.MsgCheck.BillM100AppService.DoMBPrint(WY.NewJit.Extends.MenBanPrintInputDto,System.Int32,System.Double,System.Collections.Generic.List{WY.NewJit.MsgCheck.BillM100},System.String,System.Collections.Generic.List{WY.NewJit.MsgBaseData.DicItem},System.Guid)"> <member name="M:WY.NewJit.MsgCheck.BillM100AppService.DoMBPrint(WY.NewJit.Extends.MenBanPrintInputDto,System.Double,System.Collections.Generic.List{WY.NewJit.MsgCheck.BillM100},System.String,System.Collections.Generic.List{WY.NewJit.MsgBaseData.DicItem},System.Guid)">
<summary> <summary>
将M100转换成MenBanPackingList主子表 将M100转换成MenBanPackingList主子表
</summary> </summary>
<param name="input"></param> <param name="input"></param>
<param name="pageIdx"></param> <param name="maxSN">最大顺序号加一</param>
<param name="maxSN"></param> <param name="pageBillLst">当前页的记录</param>
<param name="billLst"></param>
<param name="reportSort">报表分类,对应DicItemSort4</param> <param name="reportSort">报表分类,对应DicItemSort4</param>
<param name="partLargeTypeLst">零件大类字典项</param> <param name="partLargeTypeLst">零件大类字典项(已经排序)</param>
<param name="sortId">本次打印的sortId相同</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WY.NewJit.MsgCheck.BillM100AppService.CheckMBHostSNBreakNum(WY.NewJit.Extends.MenBanPrintInputDto)"> <member name="M:WY.NewJit.MsgCheck.BillM100AppService.CheckMBHostSNBreakNum(WY.NewJit.Extends.MenBanPrintInputDto)">
@ -1064,6 +1064,13 @@
<param name="input"></param> <param name="input"></param>
<returns>断号时Item不为空</returns> <returns>断号时Item不为空</returns>
</member> </member>
<member name="M:WY.NewJit.MsgCheck.BillM100AppService.GetPackingListByM100Id(System.String,System.Guid,System.Boolean)">
<summary>
根据M100的Id取打印主表
</summary>
<param name="m100Id"></param>
<returns></returns>
</member>
<member name="M:WY.NewJit.MsgCheck.BillM100AppService.GetPrintStartHostSN2(System.String,System.String,System.String)"> <member name="M:WY.NewJit.MsgCheck.BillM100AppService.GetPrintStartHostSN2(System.String,System.String,System.String)">
<summary> <summary>
根据生产线获取正常打印单据的起始大众顺序号2 根据生产线获取正常打印单据的起始大众顺序号2
@ -2053,13 +2060,6 @@
<param name="input">请求条件</param> <param name="input">请求条件</param>
<returns>实体DTO列表</returns> <returns>实体DTO列表</returns>
</member> </member>
<member name="M:Win.Sfs.SettleAccount.FISes.MenBanPackingRecService.DeleteListAsync(System.Collections.Generic.List{System.Guid})">
<summary>
按IDs删除实体列表
</summary>
<param name="ids">IDs</param>
<returns>是否执行成功</returns>
</member>
<member name="M:Win.Sfs.SettleAccount.FISes.MenBanPackingRecService.GetAllScrapListAsync(System.Collections.Generic.List{System.Guid})"> <member name="M:Win.Sfs.SettleAccount.FISes.MenBanPackingRecService.GetAllScrapListAsync(System.Collections.Generic.List{System.Guid})">
<summary> <summary>
取待报废的全部数据,用于展示 取待报废的全部数据,用于展示
@ -2067,7 +2067,7 @@
<param name="ids">请求条件</param> <param name="ids">请求条件</param>
<returns>实体DTO列表</returns> <returns>实体DTO列表</returns>
</member> </member>
<member name="M:Win.Sfs.SettleAccount.FISes.MenBanPackingRecService.ScrapAsync(System.Collections.Generic.List{System.Guid})"> <member name="M:Win.Sfs.SettleAccount.FISes.MenBanPackingRecService.GetPackingListByBillNum(System.String)">
<summary> <summary>
报废 报废
</summary> </summary>
@ -2118,13 +2118,5 @@
<param name="ids">请求条件</param> <param name="ids">请求条件</param>
<returns>实体DTO列表</returns> <returns>实体DTO列表</returns>
</member> </member>
<member name="M:Win.Sfs.SettleAccount.FISes.ZhuHuBanPackingRecService.ScrapAsync(System.Collections.Generic.List{System.Guid})">
<summary>
报废
</summary>
<param name="ids">IDs</param>
/// <param name="groupName">IDs</param>
<returns>是否执行成功</returns>
</member>
</members> </members>
</doc> </doc>

23
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ExtMethod.cs

@ -66,6 +66,29 @@ namespace WY.NewJit.Common
} }
} }
public static decimal? TryToDecimal(this string p_str)
{
if (p_str == null)
{
return null;
}
decimal ret;
bool isSucc = Decimal.TryParse(p_str, out ret);
if (isSucc)
{
return ret;
}
else
{
return null;
}
}
public static decimal TryToDecimalZero(this string p_str)
{
return p_str.TryToDecimal() ?? 0.0M;
}
public static double TryToDoubleZero(this string p_str) public static double TryToDoubleZero(this string p_str)
{ {
double resu; double resu;

7
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ObjectResultDto.cs

@ -61,6 +61,13 @@ namespace WY.NewJit
this.Item = item; this.Item = item;
} }
public ListResultDto(List<T> item, bool status)
: base(status, "")
{
this.Item = item;
}
public List<T> Item { get; set; } public List<T> Item { get; set; }
} }

5
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Extends/PaiGe/PrintTypeEnum.cs

@ -13,8 +13,7 @@ namespace WY.NewJit.Extends.PaiGe
public enum ReportStatusEnum public enum ReportStatusEnum
{ {
= 0, = 0,
= 1, = 1,
= 2
} }
} }

5
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingList.cs

@ -103,6 +103,11 @@ namespace WY.NewJit.Extends
/// </summary> /// </summary>
public virtual DateTime? MinOnlineTime { get; set; } public virtual DateTime? MinOnlineTime { get; set; }
/// <summary>
/// 是否报废
/// </summary>
public bool IsScrap { get; set; }
public MenBanPackingList() public MenBanPackingList()
{ {
Details = new List<MenBanPackingRec>(); Details = new List<MenBanPackingRec>();

2
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/LineSN.cs

@ -68,7 +68,7 @@ namespace WY.NewJit.MsgBaseData
Remark = remark; Remark = remark;
} }
public void Update(double sn, DateTime lastPrintTime, string remark) public void Update(double sn, DateTime lastPrintTime, string remark = "")
{ {
SN = sn; SN = sn;
LastPrintTime = lastPrintTime; LastPrintTime = lastPrintTime;

84
Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/LineSNDomianService.cs

@ -19,20 +19,20 @@ namespace WY.NewJit.MsgBaseData
} }
/// <summary> /// <summary>
/// 生成门板或柱护板右上角顺序号,每天零点开始往复循环1-99 /// 生成顺序号,每天零点开始往复循环1-99
/// </summary> /// </summary>
/// <param name="productType">门板或柱护板</param> /// <param name="productType">门板或柱护板</param>
/// <param name="productLine">产线</param> /// <param name="productLine">产线</param>
/// <param name="partType">门板时传入""</param> /// <param name="reportType">报表分类,对应产品大类的DicItemSort4</param>
/// <returns></returns> /// <returns></returns>
public async Task<double> GetMaxSN(ProductTypeEnum productType, string productLine, string partType) public async Task<double> GetMaxSN(ProductTypeEnum productType, string productLine, string reportType)
{ {
bool isExist = true; bool isExist = true;
var typeObj = await _lineSNRepository.FirstOrDefaultAsync(p => p.ProductType == productType && p.ProductLine == productLine && p.PartType == partType); var lineSNObj = await _lineSNRepository.FirstOrDefaultAsync(p => p.ProductType == productType && p.ProductLine == productLine && p.PartType == reportType);
if (typeObj == null) if (lineSNObj == null)
{ {
isExist = false; isExist = false;
} }
@ -40,75 +40,75 @@ namespace WY.NewJit.MsgBaseData
DateTime now = DateTime.Now; DateTime now = DateTime.Now;
DateTime today8 = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0); DateTime today8 = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0);
if (typeObj != null) if (lineSNObj != null) //之前生成过顺序号
{ {
if (typeObj.LastPrintTime < today8 && now >= today8) if (lineSNObj.LastPrintTime < today8 && now >= today8)
{ {
typeObj.Update(1, now, string.Empty); lineSNObj.Update(1, now);
} }
else else
{ {
if (typeObj.SN == 99) if (lineSNObj.SN == 99)
{ {
typeObj.Update(1, now, string.Empty); lineSNObj.Update(1, now);
} }
else else
{ {
typeObj.Update(typeObj.SN + 1, now, string.Empty); lineSNObj.Update(lineSNObj.SN + 1, now);
} }
} }
} }
else else //第一次生成顺序号
{ {
typeObj = new LineSN(Guid.NewGuid(), productType, productLine, partType, 1, now, string.Empty); lineSNObj = new LineSN(Guid.NewGuid(), productType, productLine, reportType, 1, now, string.Empty);
} }
if (isExist) if (isExist)
{ {
await _lineSNRepository.UpdateAsync(typeObj, true); await _lineSNRepository.UpdateAsync(lineSNObj, true);
} }
else else
{ {
await _lineSNRepository.InsertAsync(typeObj, true); await _lineSNRepository.InsertAsync(lineSNObj, true);
} }
return typeObj.SN; return lineSNObj.SN;
} }
public async Task<double> SetMaxSN(ProductTypeEnum productType, string productLine, string partType, DateTime lastPrintTime, double sn, string remark) //public async Task<double> SetMaxSN(ProductTypeEnum productType, string productLine, string partType, DateTime lastPrintTime, double sn, string remark)
{ //{
bool isExist = true; // bool isExist = true;
var typeObj = _lineSNRepository.FirstOrDefault(p => p.ProductType == productType && p.ProductLine == productLine && p.PartType == partType); // var typeObj = _lineSNRepository.FirstOrDefault(p => p.ProductType == productType && p.ProductLine == productLine && p.PartType == partType);
if (typeObj == null) // if (typeObj == null)
{ // {
isExist = false; // isExist = false;
} // }
if (typeObj != null) // if (typeObj != null)
{ // {
typeObj.Update(sn, lastPrintTime, remark); // typeObj.Update(sn, lastPrintTime, remark);
} // }
else // else
{ // {
typeObj = new LineSN(Guid.NewGuid(), productType, productLine, partType, sn, lastPrintTime, remark); // typeObj = new LineSN(Guid.NewGuid(), productType, productLine, partType, sn, lastPrintTime, remark);
} // }
if (isExist) // if (isExist)
{ // {
await _lineSNRepository.UpdateAsync(typeObj); // await _lineSNRepository.UpdateAsync(typeObj);
} // }
else // else
{ // {
await _lineSNRepository.InsertAsync(typeObj); // await _lineSNRepository.InsertAsync(typeObj);
} // }
return typeObj.SN; // return typeObj.SN;
} //}
} }
} }

BIN
Shared/Win.Sfs.Shared/bin/Debug/Win.Sfs.Shared.2.0.0.nupkg

Binary file not shown.

BIN
Shared/Win.Sfs.Shared/bin/Debug/netcoreapp5/Win.Sfs.Shared.dll

Binary file not shown.

BIN
Shared/Win.Sfs.Shared/bin/Debug/netcoreapp5/Win.Sfs.Shared.pdb

Binary file not shown.

BIN
Shared/Win.Sfs.Shared/bin/Debug/netcoreapp5/Win.Utils.dll

Binary file not shown.

BIN
Shared/Win.Sfs.Shared/bin/Debug/netcoreapp5/Win.Utils.pdb

Binary file not shown.

2
Shared/Win.Sfs.Shared/obj/Debug/Win.Sfs.Shared.2.0.0.nuspec

@ -5,7 +5,7 @@
<version>2.0.0</version> <version>2.0.0</version>
<authors>Win.Sfs.Shared</authors> <authors>Win.Sfs.Shared</authors>
<description>Package Description</description> <description>Package Description</description>
<repository type="git" commit="a5a9bdc002c0bde27fed59155b4f42778c8a586e" /> <repository type="git" commit="ec1383591dce0935576a66bebfe8f243eb6bb935" />
<dependencies> <dependencies>
<group targetFramework="net5.0"> <group targetFramework="net5.0">
<dependency id="Win.Utils" version="2.0.0" exclude="Build,Analyzers" /> <dependency id="Win.Utils" version="2.0.0" exclude="Build,Analyzers" />

2
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.AssemblyCompanyAttribute("Win.Sfs.Shared")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("2.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("2.0.0+a5a9bdc002c0bde27fed59155b4f42778c8a586e")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("2.0.0+ec1383591dce0935576a66bebfe8f243eb6bb935")]
[assembly: System.Reflection.AssemblyProductAttribute("Win.Sfs.Shared")] [assembly: System.Reflection.AssemblyProductAttribute("Win.Sfs.Shared")]
[assembly: System.Reflection.AssemblyTitleAttribute("Win.Sfs.Shared")] [assembly: System.Reflection.AssemblyTitleAttribute("Win.Sfs.Shared")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("2.0.0.0")]

2
Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.AssemblyInfoInputs.cache

@ -1 +1 @@
ce8bce8f0148848382678a78ba43b96b07f28bbbffd2234bcd66f38b2eecf85f 8cadcfdfe2ca4a85dd62aac09e5df76d11c27163dfcd557ec04e1ee675ca7a8d

BIN
Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.csproj.AssemblyReference.cache

Binary file not shown.

BIN
Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.dll

Binary file not shown.

BIN
Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.pdb

Binary file not shown.

BIN
Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/ref/Win.Sfs.Shared.dll

Binary file not shown.

BIN
Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/refint/Win.Sfs.Shared.dll

Binary file not shown.

BIN
Shared/Win.Utils/bin/Debug/Win.Utils.2.0.0.nupkg

Binary file not shown.

BIN
Shared/Win.Utils/bin/Debug/netcoreapp5/Win.Utils.dll

Binary file not shown.

BIN
Shared/Win.Utils/bin/Debug/netcoreapp5/Win.Utils.pdb

Binary file not shown.

2
Shared/Win.Utils/obj/Debug/Win.Utils.2.0.0.nuspec

@ -5,7 +5,7 @@
<version>2.0.0</version> <version>2.0.0</version>
<authors>Win.Utils</authors> <authors>Win.Utils</authors>
<description>Package Description</description> <description>Package Description</description>
<repository type="git" commit="655f97fce0dd87165ead1e3cce91aba34298af56" /> <repository type="git" commit="ec1383591dce0935576a66bebfe8f243eb6bb935" />
<dependencies> <dependencies>
<group targetFramework="net5.0"> <group targetFramework="net5.0">
<dependency id="NPOI" version="2.5.2" exclude="Build,Analyzers" /> <dependency id="NPOI" version="2.5.2" exclude="Build,Analyzers" />

2
Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.AssemblyInfo.cs

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Win.Utils")] [assembly: System.Reflection.AssemblyCompanyAttribute("Win.Utils")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("2.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("2.0.0+655f97fce0dd87165ead1e3cce91aba34298af56")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("2.0.0+ec1383591dce0935576a66bebfe8f243eb6bb935")]
[assembly: System.Reflection.AssemblyProductAttribute("Win.Utils")] [assembly: System.Reflection.AssemblyProductAttribute("Win.Utils")]
[assembly: System.Reflection.AssemblyTitleAttribute("Win.Utils")] [assembly: System.Reflection.AssemblyTitleAttribute("Win.Utils")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("2.0.0.0")]

2
Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.AssemblyInfoInputs.cache

@ -1 +1 @@
d35c56c2a77531ab3e36b55a499477cd4f9db824953aa80b990cafe5b4adf800 3305b1f11584cc8e77f0485edbdb433ff1bf37be83db08c9968f87ced8aa9106

BIN
Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.dll

Binary file not shown.

BIN
Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.pdb

Binary file not shown.

BIN
Shared/Win.Utils/obj/Debug/netcoreapp5/ref/Win.Utils.dll

Binary file not shown.

BIN
Shared/Win.Utils/obj/Debug/netcoreapp5/refint/Win.Utils.dll

Binary file not shown.
Loading…
Cancel
Save