|
@@ -24,6 +24,7 @@ using wms.dto.response.cp;
|
|
|
using wms.dto.response.hj;
|
|
|
using wms.dto.response.share;
|
|
|
using wms.dto.response.sx;
|
|
|
+using wms.service.Extensions;
|
|
|
using wms.service.IService;
|
|
|
using wms.sqlsugar;
|
|
|
using wms.sqlsugar.model;
|
|
@@ -7871,27 +7872,32 @@ namespace wms.service.Service
|
|
|
invlist2 = invlist2.Where(p => p.Wind == rule.Wind);
|
|
|
}
|
|
|
|
|
|
- //焊点属性筛选
|
|
|
+ #region 焊点相关处理
|
|
|
+
|
|
|
var tempoutrecord = invlist2.ToList();
|
|
|
+ var solderinvlist = SxServiceExtension.ProcessWeldingPointsBoxing(rule, invlist2, out invlist2);
|
|
|
+
|
|
|
+ //var solderinvlist = new List<StockTemp>();
|
|
|
+ //if (rule.PerSolderMaxCount > 0) //允许焊点盘
|
|
|
+ //{
|
|
|
+ // int rulemaxcount = rule.FullCountQty / ((rule.SpoolType == "BS60" || rule.SpoolType == "BS40") ? 72 : 36) * rule.SolderMaxCount;
|
|
|
+ // var solcount = rulemaxcount;
|
|
|
+ // if (solcount <= 0)
|
|
|
+ // {
|
|
|
+ // solcount = 0;
|
|
|
+ // }
|
|
|
+ // ;
|
|
|
+ // solderinvlist = invlist2.Where(p => p.SolderCount <= rule.PerSolderMaxCount && p.SolderCount > 0).OrderBy(p => p.ProductTime).ThenByDescending(p => p.SolderCount).Take(solcount).ToList();
|
|
|
+ // invlist2 = invlist2.Where(p => p.SolderCount == 0);
|
|
|
+ //}
|
|
|
+ //else
|
|
|
+ //{
|
|
|
+ // //不允许焊点盘
|
|
|
+ // invlist2 = invlist2.Where(p => p.SolderCount == 0).OrderBy(p => p.ProductTime);
|
|
|
+ //}
|
|
|
+
|
|
|
+ #endregion 焊点相关处理
|
|
|
|
|
|
- var solderinvlist = new List<StockTemp>();
|
|
|
- if (rule.PerSolderMaxCount > 0) //允许焊点盘
|
|
|
- {
|
|
|
- int rulemaxcount = rule.FullCountQty / ((rule.SpoolType == "BS60" || rule.SpoolType == "BS40") ? 72 : 36) * rule.SolderMaxCount;
|
|
|
- var solcount = rulemaxcount;
|
|
|
- if (solcount <= 0)
|
|
|
- {
|
|
|
- solcount = 0;
|
|
|
- }
|
|
|
- ;
|
|
|
- solderinvlist = invlist2.Where(p => p.SolderCount <= rule.PerSolderMaxCount && p.SolderCount > 0).OrderBy(p => p.ProductTime).ThenByDescending(p => p.SolderCount).Take(solcount).ToList();
|
|
|
- invlist2 = invlist2.Where(p => p.SolderCount == 0);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //不允许焊点盘
|
|
|
- invlist2 = invlist2.Where(p => p.SolderCount == 0).OrderBy(p => p.ProductTime);
|
|
|
- }
|
|
|
var returninvlist = new List<StockTemp>();
|
|
|
if (rule.ReturnCount > 0)
|
|
|
{
|
|
@@ -8208,25 +8214,25 @@ namespace wms.service.Service
|
|
|
#region 焊点相关处理
|
|
|
|
|
|
var tempoutrecord = invlist2.ToList();
|
|
|
-
|
|
|
- var solderinvlist = new List<StockTemp>();
|
|
|
- if (rule.PerSolderMaxCount > 0) //允许焊点盘
|
|
|
- {
|
|
|
- int rulemaxcount = rule.FullCountQty / ((rule.SpoolType == "BS60" || rule.SpoolType == "BS40") ? 72 : 36) * rule.SolderMaxCount;
|
|
|
- var solcount = rulemaxcount;
|
|
|
- if (solcount <= 0)
|
|
|
- {
|
|
|
- solcount = 0;
|
|
|
- }
|
|
|
- ;
|
|
|
- solderinvlist = invlist2.Where(p => p.SolderCount <= rule.PerSolderMaxCount && p.SolderCount > 0).OrderBy(p => p.ProductTime).ThenByDescending(p => p.SolderCount).Take(solcount).ToList();
|
|
|
- invlist2 = invlist2.Where(p => p.SolderCount == 0);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //不允许焊点盘
|
|
|
- invlist2 = invlist2.Where(p => p.SolderCount == 0).OrderBy(p => p.ProductTime);
|
|
|
- }
|
|
|
+ var solderinvlist = SxServiceExtension.ProcessWeldingPointsBoxing(rule, invlist2, out invlist2);
|
|
|
+ //var solderinvlist = new List<StockTemp>();
|
|
|
+ //if (rule.PerSolderMaxCount > 0) //允许焊点盘
|
|
|
+ //{
|
|
|
+ // int rulemaxcount = rule.FullCountQty / ((rule.SpoolType == "BS60" || rule.SpoolType == "BS40") ? 72 : 36) * rule.SolderMaxCount;
|
|
|
+ // var solcount = rulemaxcount;
|
|
|
+ // if (solcount <= 0)
|
|
|
+ // {
|
|
|
+ // solcount = 0;
|
|
|
+ // }
|
|
|
+ // ;
|
|
|
+ // solderinvlist = invlist2.Where(p => p.SolderCount <= rule.PerSolderMaxCount && p.SolderCount > 0).OrderBy(p => p.ProductTime).ThenByDescending(p => p.SolderCount).Take(solcount).ToList();
|
|
|
+ // invlist2 = invlist2.Where(p => p.SolderCount == 0);
|
|
|
+ //}
|
|
|
+ //else
|
|
|
+ //{
|
|
|
+ // //不允许焊点盘
|
|
|
+ // invlist2 = invlist2.Where(p => p.SolderCount == 0).OrderBy(p => p.ProductTime);
|
|
|
+ //}
|
|
|
|
|
|
#endregion 焊点相关处理
|
|
|
|