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 de20e8e..8dc0da3 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
@@ -32,6 +32,10 @@ namespace WY.NewJit.Extends
///
public string VehicleModel { get; set; }
+ ///
+ /// 报表显示车型
+ ///
+ public string VehicleModel_Disp { 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 ba07fbc..e4053fa 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
@@ -75,9 +75,15 @@ namespace WY.NewJit.Extends
///
public virtual string SN { get; set; }
+ ///
+ /// 扫描零件号,供发运使用
+ ///
+ public string ScanPartCode { get; set; }
-
-
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
}
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 d3d286b..c1281a7 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
@@ -24,6 +24,11 @@
左或右
+
+
+ 报表显示车型
+
+
供应商厂家代码
@@ -184,6 +189,16 @@
上箱位号
+
+
+ 扫描零件号,供发运使用
+
+
+
+
+ 备注
+
+
打印类型:提供初次打印、重新打印、针对重新解析后单据的补打功能
@@ -209,11 +224,6 @@
装箱单主表ID列表,报废时传入一个,重打时可传入多个
-
-
- 补打时使用
-
-
门板主实体列表
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 d26fff4..881ba53 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
@@ -157,6 +157,8 @@ namespace WY.NewJit.MsgCheck
private List _zhbCacheList = new List();
private string _topBoxPositionNumPrefix;
+
+ private List _partCfgLst;
#endregion
#region 构造函数
@@ -1132,17 +1134,27 @@ select * from
/// 报表分类,对应DicItemSort4
/// 零件大类字典项
///
- private MenBanPackingList DoMBPrint(MenBanPrintInputDto input, int pageIdx, double maxSN, List billLst, string reportSort, List partLargeTypeLst)
+ private MenBanPackingList DoMBPrint(MenBanPrintInputDto input, int pageIdx, double maxSN, List billLst, string reportSort, List partLargeTypeLst, Guid sortId)
{
- const int _colNumberPerPage = 12;
- string[] partLargeType = partLargeTypeLst.Select(itm => itm.DicItemCode).ToArray(); //取零件大类
- var partLargeTypeObj = partLargeTypeLst[0];
+ const int _colNumberPerPage = 12; //??临时的,等
+ var partLargeTypeObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemCode == reportSort);
+ if (partLargeTypeObj == null)
+ {
+ throw new UserFriendlyException($"零件大类字典中,DicItemCode列没有配置{reportSort}");
+ }
+ string[] partLargeTypes = partLargeTypeLst.Select(itm => itm.DicItemCode).ToArray(); //取零件大类
+ //取扫描零件的索引
+ int idx = partLargeTypeLst.FindIndex(itm => itm.Id == partLargeTypeObj.Id);
+ if (idx < 0)
+ {
+ idx = 0;
+ }
//取当前页内容
List 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 serialNum = maxSN.ToString().PadLeft(3, '0'); //075
@@ -1150,11 +1162,13 @@ select * from
packingMain.SetId(GuidGenerator.Create());
packingMain.BillNum = $"{partLargeTypeObj.DicItemSort8}{ymd}{serialNum}{reportSort}"; //partLargeTypeObj.DicItemSort8包含C或T
-
- packingMain.VehicleModel = partLargeTypeObj.DicItemSort6; //报表显示车型 //vmLst;
packingMain.BillSerialNum = serialNum;
+ packingMain.VehicleModel = partLargeTypeObj.DicItemSort3; //车型
+ packingMain.VehicleModel_Disp = partLargeTypeObj.DicItemSort6; //车型(报表显示的)
packingMain.PrintDate = ServerHelper.CurrentDateTime;
+ packingMain.PartType = partLargeTypeObj.DicItemCode; //零件大类
packingMain.ProductLine = billLst[0].ProductLine;
+ packingMain.SortId = sortId;
var tempLst = curPageLst.Where(itm => string.IsNullOrEmpty(itm.VIN) == false).OrderBy(itm => itm.OnlineTime).ThenBy(itm => itm.HostSN).ToList();
if (tempLst.Count > 0)
@@ -1180,41 +1194,136 @@ select * from
packingDetail.VIN += "*断号*";
}
//第一个零件
- if (partLargeType.Length >= 1)
+ if (partLargeTypes.Length >= 1)
{
- var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[0]);
+ var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeTypes[0]);
if (partObj != null)
{
packingDetail.PartCode1 = partObj.PartCode;
}
}
//第二个零件
- if (partLargeType.Length >= 2)
+ if (partLargeTypes.Length >= 2)
{
- var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[1]);
+ var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeTypes[1]);
if (partObj != null)
{
packingDetail.PartCode2 = partObj.PartCode;
}
}
//第三个零件
- if (partLargeType.Length >= 3)
+ if (partLargeTypes.Length >= 3)
{
- var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[2]);
+ var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeTypes[2]);
if (partObj != null)
{
packingDetail.PartCode3 = partObj.PartCode;
}
}
//第四个零件
- if (partLargeType.Length >= 4)
+ if (partLargeTypes.Length >= 4)
{
- var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[3]);
+ var partObj = billObj.BillM100Parts.FirstOrDefault(itm => itm.PartType3 == partLargeTypes[3]);
if (partObj != null)
{
packingDetail.PartCode4 = partObj.PartCode;
}
}
+
+ switch (idx)
+ {
+ case 0:
+ if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号")
+ {
+ var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode1);
+ if (partCfgObj == null)
+ {
+ packingDetail.Remark = $"根据客户零件{packingDetail.PartCode1}无法取得厂内零件";
+ }
+ else
+ {
+ packingDetail.ScanPartCode = partCfgObj.RelationKey;
+ }
+ }
+ else
+ {
+ packingDetail.ScanPartCode = packingDetail.PartCode1;
+ }
+ break;
+ case 1:
+ if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号")
+ {
+ var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode2);
+ if (partCfgObj == null)
+ {
+ packingDetail.Remark = $"根据客户零件{packingDetail.PartCode2}无法取得厂内零件";
+ }
+ else
+ {
+ packingDetail.ScanPartCode = partCfgObj.RelationKey;
+ }
+ }
+ else
+ {
+ packingDetail.ScanPartCode = packingDetail.PartCode2;
+ }
+ break;
+ case 2:
+ if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号")
+ {
+ var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode3);
+ if (partCfgObj == null)
+ {
+ packingDetail.Remark = $"根据客户零件{packingDetail.PartCode3}无法取得厂内零件";
+ }
+ else
+ {
+ packingDetail.ScanPartCode = partCfgObj.RelationKey;
+ }
+ }
+ else
+ {
+ packingDetail.ScanPartCode = packingDetail.PartCode3;
+ }
+ break;
+ case 3:
+ if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号")
+ {
+ var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode4);
+ if (partCfgObj == null)
+ {
+ packingDetail.Remark = $"根据客户零件{packingDetail.PartCode4}无法取得厂内零件";
+ }
+ else
+ {
+ packingDetail.ScanPartCode = partCfgObj.RelationKey;
+ }
+ }
+ else
+ {
+ packingDetail.ScanPartCode = packingDetail.PartCode4;
+ }
+ break;
+ case 4:
+ if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号")
+ {
+ var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode5);
+ if (partCfgObj == null)
+ {
+ packingDetail.Remark = $"根据客户零件{packingDetail.PartCode5}无法取得厂内零件";
+ }
+ else
+ {
+ packingDetail.ScanPartCode = partCfgObj.RelationKey;
+ }
+ }
+ else
+ {
+ packingDetail.ScanPartCode = packingDetail.PartCode5;
+ }
+ break;
+ }
+
packingDetail.SN = sn.ToString();
packingMain.Details.Add(packingDetail);
sn++;
@@ -3583,9 +3692,11 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
}
}
+ _partCfgLst = await _partCfgRepository.GetListAsync();
+ //取零件大类字典
List partLargeTypeLst = await _dicItemRepository.GetListAsync(itm => itm.DicTypeCode == "零件大类");
partLargeTypeLst = partLargeTypeLst.OrderBy(itm => itm.DicItemSort2).ThenBy(itm => itm.DicItemSort1).ToList();
-
+ //取M100数据
ListResultDto tempLst = await GetMBReportDetailList(input, true); //-----------------------------
List billLst = tempLst.Item;
if (tempLst.Status == false)
@@ -3595,18 +3706,18 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
return ret;
}
- _logger.LogWarning($"SaveMenBanReport读取数据 - {sw.ElapsedMilliseconds}毫秒");
+ //_logger.LogWarning($"SaveMenBanReport读取数据 - {sw.ElapsedMilliseconds}毫秒");
int pageCnt = (int)Math.Ceiling(billLst.Count / 12.0); //每页打印12列,取打印页数
- //double maxBillNum = 0;
- //DateTime printTime = ServerHelper.CurrentDateTime;
//过滤产线(DicItemSort2),按“报表分类”(DicItemSort4)分组,分组后按DicItemSort7排序
Dictionary> reportSortDic = partLargeTypeLst
.Where(itm => itm.DicItemSort2 == input.ProductLine && string.IsNullOrEmpty(itm.DicItemSort4) == false)
.GroupBy(itm => itm.DicItemSort4)
- .ToDictionary(itm => itm.Key, it2 => it2.OrderBy(itm => itm.DicItemSort7).ToList());
+ .ToDictionary(itm => itm.Key, it2 => it2.OrderBy(itm => itm.DicItemSort7).ToList());
+
+ Guid sortId = GuidGenerator.Create(); //每次打印所有记录的SortId是相同的
for (int pageIdx = 0; pageIdx < pageCnt; pageIdx++)
{
@@ -3616,24 +3727,24 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
//生成顺序号:按生产线分组,取当前生产线的最大流水号:001至999往复循环
double maxSN = await _lineSNDomianService.GetMaxSN(ProductTypeEnum.门板, input.ProductLine, string.Empty);
- MenBanPackingList packingObj = DoMBPrint(input, pageIdx, maxSN, billLst, reportSortItem.Key, reportSortItem.Value);
+ MenBanPackingList packingObj = DoMBPrint(input, pageIdx, maxSN, billLst, reportSortItem.Key, reportSortItem.Value, sortId);
reportMainLst.Add(packingObj);
}
}
- _logger.LogWarning($"SaveMenBanReport转换数据 - {sw.ElapsedMilliseconds}毫秒");
+ //_logger.LogWarning($"SaveMenBanReport转换数据 - {sw.ElapsedMilliseconds}毫秒");
//插入门板打印记录表
await _menBanPackingListRepository.InsertManyAsync(reportMainLst, true);
retLst.AddRange(reportMainLst.Select(itm => itm.Id));
- _logger.LogWarning($"SaveMenBanReport插入门板打印记录表 - {sw.ElapsedMilliseconds}毫秒");
+ //_logger.LogWarning($"SaveMenBanReport插入门板打印记录表 - {sw.ElapsedMilliseconds}毫秒");
//调用派格版库存接口
//await SaveMiddleTable_MB(reportMainLst);
- _logger.LogWarning($"SaveMenBanReport插入中间表 - {sw.ElapsedMilliseconds}毫秒");
+ //_logger.LogWarning($"SaveMenBanReport插入中间表 - {sw.ElapsedMilliseconds}毫秒");
//更新M100的门板打印标志:BillStatus=3
@@ -3654,102 +3765,13 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
//}
}
- _logger.LogWarning($"SaveMenBanReport更新M100的门板打印标志 - {sw.ElapsedMilliseconds}毫秒");
+ //_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.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;
@@ -4652,7 +4674,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// _zhbCacheList = _materialExtRepository.Where(itm => itm.MaterialType == "2").ToList(); //取柱护板零件
- // _logger.LogWarning($"SaveZhuHuBanReport 加载缓存 - {sw.ElapsedMilliseconds}毫秒");
+ // //_logger.LogWarning($"SaveZhuHuBanReport 加载缓存 - {sw.ElapsedMilliseconds}毫秒");
@@ -4673,7 +4695,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// forWMSLst.AddRange(acLstOnlyWMSUse);
- // _logger.LogWarning($"SaveZhuHuBanReport 转换A上C上 - {sw.ElapsedMilliseconds}毫秒");
+ // //_logger.LogWarning($"SaveZhuHuBanReport 转换A上C上 - {sw.ElapsedMilliseconds}毫秒");
@@ -4730,7 +4752,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// forWMSLst.AddRange(hsLst2);
- // _logger.LogWarning($"SaveZhuHuBanReport 转换除A上C上的其它 - {sw.ElapsedMilliseconds}毫秒");
+ // //_logger.LogWarning($"SaveZhuHuBanReport 转换除A上C上的其它 - {sw.ElapsedMilliseconds}毫秒");
@@ -4739,7 +4761,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// #endregion
- // _logger.LogWarning($"SaveZhuHuBanReport 保存中间库 - {sw.ElapsedMilliseconds}毫秒");
+ // //_logger.LogWarning($"SaveZhuHuBanReport 保存中间库 - {sw.ElapsedMilliseconds}毫秒");
@@ -4758,7 +4780,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// await _zhuHuBanPackingListRepository.InsertManyAsync(reportMainLst);
- // _logger.LogWarning($"SaveZhuHuBanReport 插入柱护板打印记录表 - {sw.ElapsedMilliseconds}毫秒");
+ // //_logger.LogWarning($"SaveZhuHuBanReport 插入柱护板打印记录表 - {sw.ElapsedMilliseconds}毫秒");
@@ -4774,7 +4796,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// await _billM100Repository.UpdateManyAsync(updLst);
- // _logger.LogWarning($"SaveZhuHuBanReport 更新M100的柱护板打印标志 - {sw.ElapsedMilliseconds}毫秒");
+ // //_logger.LogWarning($"SaveZhuHuBanReport 更新M100的柱护板打印标志 - {sw.ElapsedMilliseconds}毫秒");
// }
// else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据
@@ -4896,7 +4918,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// await uow.CompleteAsync();
- // _logger.LogWarning($"SaveZhuHuBanReport CompleteAsync - {sw.ElapsedMilliseconds}毫秒");
+ // //_logger.LogWarning($"SaveZhuHuBanReport CompleteAsync - {sw.ElapsedMilliseconds}毫秒");
// ret.Status = true;
// ret.Item = retLst;
@@ -4954,7 +4976,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// }
- // _logger.LogWarning($"LoadZhuHuBanReport 取柱护板数据 - {sw.ElapsedMilliseconds}毫秒");
+ // //_logger.LogWarning($"LoadZhuHuBanReport 取柱护板数据 - {sw.ElapsedMilliseconds}毫秒");
// //按大众顺序号排序
@@ -5083,7 +5105,7 @@ select min(SerialNumStr) from FisBillM100 a left join d on a.VIN=d.VIN
// #endregion
- // _logger.LogWarning($"LoadZhuHuBanReport 排序及转换 - {sw.ElapsedMilliseconds}毫秒");
+ // //_logger.LogWarning($"LoadZhuHuBanReport 排序及转换 - {sw.ElapsedMilliseconds}毫秒");
// ret.Status = true;
// return ret;
diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs
index 4925f91..489d626 100644
--- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs
+++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs
@@ -382,13 +382,13 @@ namespace Win.Sfs.SettleAccount.FISes
#region 格拉默
[HttpGet]
[Route("get-packinglist-by-billnum")]
- public async Task> GetPackingListByBillNum(string billNum)
+ public async Task> GetPackingListByBillNum(string billNum)
{
_logger.LogDebug(_errorMessagePrefix + "GetPackingListByBillNum 进入");
-
+ WY.NewJit.ListResultDto ret = new WY.NewJit.ListResultDto();
try
{
- List dicItemLst = await _dicItemRepository.GetListAsync(itm => itm.DicTypeCode == "零件大类");
+ List partLargeTypeLst = await _dicItemRepository.GetListAsync(itm => itm.DicTypeCode == "零件大类");
List partCfgLst = await _partCfgRepository.GetListAsync();
@@ -443,16 +443,17 @@ namespace Win.Sfs.SettleAccount.FISes
//第一个零件
if (detailObj.PartCode1.HasValue() && detailObj.PartCode1.Length >= 9)
{
- var dicItemObj = dicItemLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode1.Substring(6, 3));
+ //根据车型、零件大类取记录
+ var partLargeTypeObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode1.Substring(6, 3));
var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode1);
- if (dicItemObj.DicItemSort5 == "客户零件")
+ if (partLargeTypeObj.DicItemSort5 == "客户零件号")
{
if (partCfgObj != null)
{
detailObj.PartCode1 = partCfgObj.PartCode;
}
}
- else if (dicItemObj.DicItemSort5 == "厂内零件")
+ else if (partLargeTypeObj.DicItemSort5 == "厂内零件号")
{
if (partCfgObj != null)
{
@@ -463,16 +464,16 @@ namespace Win.Sfs.SettleAccount.FISes
//第二个零件
if (detailObj.PartCode2.HasValue() && detailObj.PartCode2.Length >= 9)
{
- var dicItemObj = dicItemLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode2.Substring(6, 3));
+ var dicItemObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode2.Substring(6, 3));
var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode2);
- if (dicItemObj.DicItemSort5 == "客户零件")
+ if (dicItemObj.DicItemSort5 == "客户零件号")
{
if (partCfgObj != null)
{
detailObj.PartCode2 = partCfgObj.PartCode;
}
}
- else if (dicItemObj.DicItemSort5 == "厂内零件")
+ else if (dicItemObj.DicItemSort5 == "厂内零件号")
{
if (partCfgObj != null)
{
@@ -483,16 +484,16 @@ namespace Win.Sfs.SettleAccount.FISes
//第三个零件
if (detailObj.PartCode3.HasValue() && detailObj.PartCode3.Length >= 9)
{
- var dicItemObj = dicItemLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode3.Substring(6, 3));
+ var dicItemObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode3.Substring(6, 3));
var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode3);
- if (dicItemObj.DicItemSort5 == "客户零件")
+ if (dicItemObj.DicItemSort5 == "客户零件号")
{
if (partCfgObj != null)
{
detailObj.PartCode3 = partCfgObj.PartCode;
}
}
- else if (dicItemObj.DicItemSort5 == "厂内零件")
+ else if (dicItemObj.DicItemSort5 == "厂内零件号")
{
if (partCfgObj != null)
{
@@ -503,16 +504,16 @@ namespace Win.Sfs.SettleAccount.FISes
//第四个零件
if (detailObj.PartCode4.HasValue() && detailObj.PartCode4.Length >= 9)
{
- var dicItemObj = dicItemLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode4.Substring(6, 3));
+ var dicItemObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode4.Substring(6, 3));
var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode4);
- if (dicItemObj.DicItemSort5 == "客户零件")
+ if (dicItemObj.DicItemSort5 == "客户零件号")
{
if (partCfgObj != null)
{
detailObj.PartCode4 = partCfgObj.PartCode;
}
}
- else if (dicItemObj.DicItemSort5 == "厂内零件")
+ else if (dicItemObj.DicItemSort5 == "厂内零件号")
{
if (partCfgObj != null)
{
@@ -526,27 +527,42 @@ namespace Win.Sfs.SettleAccount.FISes
#endregion
#endregion
- return targetLst;
+ ret.Status = true;
+ ret.Item = targetLst;
+ return ret;
}
catch (Exception ex)
{
string errorMsg = _errorMessagePrefix + "GetPackingListByBillNum 执行出错:" + ex.Message;
_logger.LogError(errorMsg);
- throw new UserFriendlyException(errorMsg);
+ ret.Status = false;
+ ret.Message = errorMsg;
+ return ret;
}
}
[HttpPost]
[Route("update-scan-status")]
- public virtual async Task UpdateScanStatus(string billNum)
+ public virtual async Task UpdateScanStatus(string billNum)
{
- var lst = await _menBanPackingListRepository.GetListAsync(itm => itm.BillNum == billNum);
- foreach (var item in lst)
+ ObjectResultDto ret = new ObjectResultDto();
+ try
+ {
+ var lst = await _menBanPackingListRepository.GetListAsync(itm => itm.BillNum == billNum);
+ foreach (var item in lst)
+ {
+ item.ReportStatus = ReportStatusEnum.已扫描;
+ var succ = await _menBanPackingListRepository.UpdateAsync(item);
+ }
+ ret.Status = true;
+ return ret;
+ }
+ catch (Exception ex)
{
- item.ReportStatus = ReportStatusEnum.已扫描;
- var succ = await _menBanPackingListRepository.UpdateAsync(item);
+ ret.Status = false;
+ ret.Message = $"调用UpdateScanStatus方法报错:{ex.Message}";
+ throw;
}
- return true;
}
#endregion
diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM110s/BillM110AppService.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM110s/BillM110AppService.cs
index 2dfb650..3d25573 100644
--- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM110s/BillM110AppService.cs
+++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM110s/BillM110AppService.cs
@@ -897,90 +897,90 @@ select * from
///
///
///
- private MenBanPackingList DoMBPrint(MenBanPrintInputDto input, int pageIdx, double maxSN, List billLst, string reportSort, string[] partLargeType)
- {
- const int _colNumberPerPage = 12;
+ //private MenBanPackingList DoMBPrint(MenBanPrintInputDto input, int pageIdx, double maxSN, List billLst, string reportSort, string[] partLargeType)
+ //{
+ // const int _colNumberPerPage = 12;
- //取当前页内容
- List curPageLst = billLst.Skip(pageIdx * _colNumberPerPage).Take(_colNumberPerPage).ToList();
+ // //取当前页内容
+ // List curPageLst = billLst.Skip(pageIdx * _colNumberPerPage).Take(_colNumberPerPage).ToList();
- var vmLst = curPageLst.Select(itm => itm.VehicleModelCode).Distinct().JoinAsString(","); //取车型
- string ymd = ServerHelper.CurrentDateTime.ToString("yyyyMMdd");
- string serialNum = maxSN.ToString().PadLeft(3, '0'); //075
+ // var vmLst = curPageLst.Select(itm => itm.VehicleModelCode).Distinct().JoinAsString(","); //取车型
+ // string ymd = ServerHelper.CurrentDateTime.ToString("yyyyMMdd");
+ // string serialNum = maxSN.ToString().PadLeft(3, '0'); //075
- 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;
+ // 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)
- {
- 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();
- }
- packingMain.MinOnlineTime = tempLst.Min(itm => itm.OnlineTime); //本单据最早的上线时间
- //明细
- int sn = 1;
- foreach (BillM110 billObj in curPageLst)
- {
- 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)
- {
- packingDetail.VIN += "*断号*";
- }
- //第一个零件
- if (partLargeType.Length >= 1)
- {
- var partObj = billObj.BillM110Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[0]);
- if (partObj != null)
- {
- packingDetail.PartCode1 = partObj.PartCode;
- }
- }
- //第二个零件
- if (partLargeType.Length >= 2)
- {
- var partObj = billObj.BillM110Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[1]);
- if (partObj != null)
- {
- packingDetail.PartCode2 = partObj.PartCode;
- }
- }
- //第三个零件
- if (partLargeType.Length >= 3)
- {
- var partObj = billObj.BillM110Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[2]);
- if (partObj != null)
- {
- packingDetail.PartCode3 = partObj.PartCode;
- }
- }
- //第四个零件
- if (partLargeType.Length >= 4)
- {
- var partObj = billObj.BillM110Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[3]);
- if (partObj != null)
- {
- packingDetail.PartCode4 = partObj.PartCode;
- }
- }
- packingDetail.SN = sn.ToString();
- packingMain.Details.Add(packingDetail);
- sn++;
- }
- return packingMain;
- }
+ // var tempLst = curPageLst.Where(itm => string.IsNullOrEmpty(itm.VIN) == false).OrderBy(itm => itm.OnlineTime).ThenBy(itm => itm.HostSN).ToList();
+ // if (tempLst.Count > 0)
+ // {
+ // 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();
+ // }
+ // packingMain.MinOnlineTime = tempLst.Min(itm => itm.OnlineTime); //本单据最早的上线时间
+ // //明细
+ // int sn = 1;
+ // foreach (BillM110 billObj in curPageLst)
+ // {
+ // 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)
+ // {
+ // packingDetail.VIN += "*断号*";
+ // }
+ // //第一个零件
+ // if (partLargeType.Length >= 1)
+ // {
+ // var partObj = billObj.BillM110Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[0]);
+ // if (partObj != null)
+ // {
+ // packingDetail.PartCode1 = partObj.PartCode;
+ // }
+ // }
+ // //第二个零件
+ // if (partLargeType.Length >= 2)
+ // {
+ // var partObj = billObj.BillM110Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[1]);
+ // if (partObj != null)
+ // {
+ // packingDetail.PartCode2 = partObj.PartCode;
+ // }
+ // }
+ // //第三个零件
+ // if (partLargeType.Length >= 3)
+ // {
+ // var partObj = billObj.BillM110Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[2]);
+ // if (partObj != null)
+ // {
+ // packingDetail.PartCode3 = partObj.PartCode;
+ // }
+ // }
+ // //第四个零件
+ // if (partLargeType.Length >= 4)
+ // {
+ // var partObj = billObj.BillM110Parts.FirstOrDefault(itm => itm.PartType3 == partLargeType[3]);
+ // if (partObj != null)
+ // {
+ // packingDetail.PartCode4 = partObj.PartCode;
+ // }
+ // }
+ // packingDetail.SN = sn.ToString();
+ // packingMain.Details.Add(packingDetail);
+ // sn++;
+ // }
+ // return packingMain;
+ //}
///
/// 上箱位号加前缀
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 eaa1594..b95e117 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
@@ -1045,15 +1045,15 @@
-
+
- 打印左侧或右侧门板
+ 将M100转换成MenBanPackingList主子表
- 报表分类,dui
+ 报表分类,对应DicItemSort4
零件大类字典项
@@ -1410,19 +1410,6 @@
-
-
- 打印左侧或右侧门板
-
-
-
-
-
-
-
-
-
-
根据筛选条件获取分页实体列表
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 746dabb..6aa4fde 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
@@ -30,6 +30,10 @@ namespace WY.NewJit.Extends
///
public string VehicleModel { get; set; }
+ ///
+ /// 报表显示车型
+ ///
+ public string VehicleModel_Disp { 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 06e74af..21d2c85 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
@@ -64,7 +64,15 @@ namespace WY.NewJit.Extends
///
public virtual string SN { get; set; }
+ ///
+ /// 扫描零件号,供发运使用
+ ///
+ public string ScanPartCode { get; set; }
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
public void SetId(Guid id)
{