抛光记录自动生成版本
This commit is contained in:
@@ -42,7 +42,7 @@ namespace ZR.Admin.WebApi.Controllers
|
||||
// [ActionPermissionFilter(Permission = "business:wmpolishinventory:list")]
|
||||
public IActionResult QueryWmPolishInventory([FromQuery] WmPolishInventoryQueryDto parm)
|
||||
{
|
||||
var response = _WmPolishInventoryService.GetList(parm);
|
||||
var response = _WmPolishInventoryService.GetListNew(parm);
|
||||
return SUCCESS(response);
|
||||
}
|
||||
|
||||
|
||||
@@ -68,6 +68,7 @@ namespace ZR.Model.MES.wms.Dto
|
||||
public int StocktakingTotal { get; set; }
|
||||
public int QuantitySum { get; set; }
|
||||
public int RealQuantitySum { get; set; }
|
||||
public DateTime? MinStocktakingTime { get; set; }
|
||||
public List<WmPolishInventoryDto> Result { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace ZR.Service.mes.wms.IService
|
||||
public interface IWmPolishInventoryService : IBaseService<WmPolishInventory>
|
||||
{
|
||||
WmPolishInventoryTableDto GetList(WmPolishInventoryQueryDto parm);
|
||||
WmPolishInventoryTableDto GetListNew(WmPolishInventoryQueryDto parm);
|
||||
|
||||
/// <summary>
|
||||
/// 获取导出数据
|
||||
|
||||
@@ -297,29 +297,40 @@ namespace ZR.Service.mes.wms
|
||||
)
|
||||
.ToList();
|
||||
//TODO 取出库存表 wm_polish_inventory 最小CreatedTime时间
|
||||
var wmPolishInventory = Context.Queryable<WmPolishInventory>().ToList();
|
||||
DateTime mindatetime = wmPolishInventory.Select(o => o.CreatedTime.Value).Min();
|
||||
DateTime minDateTime =
|
||||
Context
|
||||
.Queryable<WmPolishInventory>()
|
||||
.OrderBy(it => it.CreatedTime)
|
||||
.Select(it => it.CreatedTime)
|
||||
.First() ?? DateTime.Now;
|
||||
//TODO 根据时间范围取出所有记录数据
|
||||
List<WmPolishRecord> wmPolishRecords = Context
|
||||
.Queryable<WmPolishRecord>()
|
||||
//.Where(it => it.Code == "自动")
|
||||
.Where(it => it.ActionTime >= minDateTime)
|
||||
.ToList();
|
||||
|
||||
|
||||
//TODO 根据时间范围取出所有记录数据
|
||||
List<WmPolishRecord> wmPolishRecords = Context
|
||||
.Queryable<WmPolishRecord>()
|
||||
.Where(it => it.Code == "自动")
|
||||
.Where(it => it.ActionTime >= mindatetime )
|
||||
.ToList();
|
||||
|
||||
// TODO 匹配记录(partnumber零件号,时间范围)
|
||||
foreach (WmPolishInventoryDto item in list)
|
||||
// TODO 匹配记录(partnumber零件号,时间范围)
|
||||
foreach (WmPolishInventoryDto item in list)
|
||||
{
|
||||
// TODO 获取实际库存 item.quantity(盘点开始数量) + recourd 记录的入库数量 - 出库数量(筛选条件是 时间区间【item.CreatedTime】 + partnumber[item.partnumber])
|
||||
int? runum = wmPolishRecords.Where(o => o.ActionTime >= item.CreatedTime && o.Partnumber == item.Partnumber && o.ChangeType == 1).Select(o => o.ChangeQuantity).Sum();
|
||||
int? chunum= wmPolishRecords.Where(o => o.ActionTime >= item.CreatedTime && o.Partnumber == item.Partnumber && o.ChangeType == 2).Select(o => o.ChangeQuantity).Sum();
|
||||
|
||||
item.RealQuantity = item.Quantity.Value+(runum.Value-chunum.Value);
|
||||
|
||||
/*List<string> partnumbers = new() { item.Partnumber };
|
||||
Dictionary<string, int> dict = GetBatchPolishRealPartNum(partnumbers);*/
|
||||
// item.RealQuantity = dict.TryGetValue(item.Partnumber, out int value) ? value : 0;
|
||||
int? runum = wmPolishRecords
|
||||
.Where(o =>
|
||||
o.ActionTime >= item.CreatedTime
|
||||
&& o.Partnumber == item.Partnumber
|
||||
&& o.ChangeType == 1
|
||||
)
|
||||
.Select(o => o.ChangeQuantity)
|
||||
.Sum();
|
||||
int? chunum = wmPolishRecords
|
||||
.Where(o =>
|
||||
o.ActionTime >= item.CreatedTime
|
||||
&& o.Partnumber == item.Partnumber
|
||||
&& o.ChangeType == 2
|
||||
)
|
||||
.Select(o => o.ChangeQuantity)
|
||||
.Sum();
|
||||
item.RealQuantity = item.Quantity.Value + (runum.Value - chunum.Value);
|
||||
}
|
||||
|
||||
list = list.Where(it => it.RealQuantity != 0 || it.Quantity != 0)
|
||||
@@ -342,6 +353,7 @@ namespace ZR.Service.mes.wms
|
||||
StocktakingTotal = StocktakingTotal,
|
||||
QuantitySum = QuantitySum,
|
||||
RealQuantitySum = RealQuantitySum,
|
||||
MinStocktakingTime = minDateTime,
|
||||
Result = list.Skip((parm.PageNum - 1) * parm.PageSize)
|
||||
.Take(parm.PageSize)
|
||||
.ToList(),
|
||||
@@ -833,11 +845,14 @@ namespace ZR.Service.mes.wms
|
||||
.Select(it => it.CreatedTime)
|
||||
.First() ?? new DateTime(2024, 11, 16, 12, 0, 0);
|
||||
CommonFQCService commonFQCService = new();
|
||||
// 获取报表数据
|
||||
// 抛光计算后库存 = 盘点库存 + 产线抛光 + 后道反抛 + GP12反抛 - 抛光投入
|
||||
//return commonFQCService.GetBatchPolishPartRealStock(partnumbers, checkTime.Value);
|
||||
return commonFQCService.GetBatchPolishPartRealStockNew(partnumbers, checkTime.Value);
|
||||
}
|
||||
// 获取报表数据
|
||||
// 抛光计算后库存 = 盘点库存 + 产线抛光 + 后道反抛 + GP12反抛 - 抛光投入
|
||||
//return commonFQCService.GetBatchPolishPartRealStock(partnumbers, checkTime.Value);
|
||||
return commonFQCService.GetBatchPolishPartRealStockNew(
|
||||
partnumbers,
|
||||
checkTime.Value
|
||||
);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw;
|
||||
|
||||
@@ -40,10 +40,10 @@ namespace ZR.Service.mes.wms
|
||||
)
|
||||
.AndIF(!string.IsNullOrEmpty(parm.Remark), it => it.Remark.Contains(parm.Remark))
|
||||
.AndIF(!string.IsNullOrEmpty(parm.Code), it => it.Code.Contains(parm.Code))
|
||||
.AndIF(
|
||||
/*.AndIF(
|
||||
!string.IsNullOrEmpty(parm.FkInventoryId),
|
||||
it => it.FkInventoryId == parm.FkInventoryId
|
||||
)
|
||||
)*/
|
||||
.AndIF(!string.IsNullOrEmpty(parm.Id), it => it.Id == parm.Id)
|
||||
.AndIF(parm.ChangeType > -1, it => it.ChangeType == parm.ChangeType)
|
||||
.AndIF(startTime > DateTime.MinValue, it => startTime <= it.ActionTime)
|
||||
@@ -112,13 +112,7 @@ namespace ZR.Service.mes.wms
|
||||
/// <returns></returns>
|
||||
public int GenerateWmPolishRecord(WmPolishRecordGenerateDto parm)
|
||||
{
|
||||
if (
|
||||
parm == null
|
||||
|| parm.StartTime == null
|
||||
|| parm.EndTime == null
|
||||
|| parm.StartTime.Value == DateTime.MinValue
|
||||
|| parm.EndTime.Value == DateTime.MinValue
|
||||
)
|
||||
if (parm == null || parm.StartTime == null || parm.StartTime.Value == DateTime.MinValue)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
@@ -133,7 +127,7 @@ namespace ZR.Service.mes.wms
|
||||
!string.IsNullOrEmpty(parm.Partnumber),
|
||||
it => it.FinishedPartNumber == parm.Partnumber
|
||||
)
|
||||
.Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime)
|
||||
.Where(it => it.StartTime >= parm.StartTime)
|
||||
.Where(it => it.PaoguangTotal > 0)
|
||||
.ToList();
|
||||
|
||||
@@ -144,7 +138,7 @@ namespace ZR.Service.mes.wms
|
||||
!string.IsNullOrEmpty(parm.Partnumber),
|
||||
it => it.Partnumber == parm.Partnumber
|
||||
)
|
||||
.Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime)
|
||||
.Where(it => it.StartTime >= parm.StartTime)
|
||||
.Where(it => it.PaoguangTotal > 0)
|
||||
.ToList();
|
||||
|
||||
@@ -155,7 +149,7 @@ namespace ZR.Service.mes.wms
|
||||
!string.IsNullOrEmpty(parm.Partnumber),
|
||||
it => it.PartNumber == parm.Partnumber
|
||||
)
|
||||
.Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime)
|
||||
.Where(it => it.StartTime >= parm.StartTime)
|
||||
.Where(it => it.GroupSort == 1)
|
||||
.Where(it => it.PolishNumber > 0)
|
||||
.ToList();
|
||||
@@ -167,7 +161,7 @@ namespace ZR.Service.mes.wms
|
||||
!string.IsNullOrEmpty(parm.Partnumber),
|
||||
it => it.Partnumber == parm.Partnumber
|
||||
)
|
||||
.Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime)
|
||||
.Where(it => it.StartTime >= parm.StartTime)
|
||||
.Where(it => it.PaoguangTotal > 0)
|
||||
.ToList();
|
||||
|
||||
@@ -178,16 +172,20 @@ namespace ZR.Service.mes.wms
|
||||
!string.IsNullOrEmpty(parm.Partnumber),
|
||||
it => it.Partnumber == parm.Partnumber
|
||||
)
|
||||
.Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime)
|
||||
.Where(it => it.StartTime >= parm.StartTime)
|
||||
.ToList();
|
||||
#endregion
|
||||
|
||||
int totalcount = qcQualityStatisticsFirsts.Count + wmPolishQualityStatistics.Count + qcGp12ServiceStatistics.Count + wmGp12QualityStatistics.Count
|
||||
int totalcount =
|
||||
qcQualityStatisticsFirsts.Count
|
||||
+ wmPolishQualityStatistics.Count
|
||||
+ qcGp12ServiceStatistics.Count
|
||||
+ wmGp12QualityStatistics.Count
|
||||
+ wmPolishWorkQualityStatistics.Count;
|
||||
|
||||
#region 组装 WmPolishRecord 实体
|
||||
// 组装 WmPolishRecord 实体
|
||||
List<WmPolishRecord> wmPolishRecords = new List<WmPolishRecord>();
|
||||
#region 组装 WmPolishRecord 实体
|
||||
// 组装 WmPolishRecord 实体
|
||||
List<WmPolishRecord> wmPolishRecords = new List<WmPolishRecord>();
|
||||
|
||||
foreach (var item in qcQualityStatisticsFirsts)
|
||||
{
|
||||
@@ -202,7 +200,7 @@ namespace ZR.Service.mes.wms
|
||||
ChangeQuantity = item.PaoguangTotal,
|
||||
ActionTime = item.StartTime,
|
||||
Status = 1,
|
||||
Remark = "产线报表 根据日期范围 去取产线抛光的数据"
|
||||
Remark = "产线触摸屏报表抛光件自动入库"
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -220,7 +218,7 @@ namespace ZR.Service.mes.wms
|
||||
ChangeQuantity = item.PaoguangTotal,
|
||||
ActionTime = item.StartTime,
|
||||
Status = 1,
|
||||
Remark = "后道报表 根据日期范围 去取后道反抛光的数据"
|
||||
Remark = "后道手填报表抛光件自动入库"
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -231,14 +229,14 @@ namespace ZR.Service.mes.wms
|
||||
new WmPolishRecord
|
||||
{
|
||||
Id = SnowFlakeSingle.Instance.NextId().ToString(),
|
||||
FkInventoryId = item.Id,
|
||||
Code = "自动",
|
||||
FkInventoryId = item.Id,
|
||||
Code = "自动",
|
||||
Partnumber = item.PartNumber,
|
||||
ChangeType = 1,
|
||||
ChangeQuantity = item.PolishNumber,
|
||||
ActionTime = item.StartTime,
|
||||
Status = 1,
|
||||
Remark = " GP12报表(new) 根据日期范围 去取gp12反抛光的数据"
|
||||
Remark = " GP12触摸屏报表抛光件自动入库"
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -249,14 +247,14 @@ namespace ZR.Service.mes.wms
|
||||
new WmPolishRecord
|
||||
{
|
||||
Id = SnowFlakeSingle.Instance.NextId().ToString(),
|
||||
FkInventoryId = item.Id,
|
||||
Code = "自动",
|
||||
FkInventoryId = item.Id,
|
||||
Code = "自动",
|
||||
Partnumber = item.Partnumber,
|
||||
ChangeType = 1,
|
||||
ChangeQuantity = item.PaoguangTotal,
|
||||
ActionTime = item.StartTime,
|
||||
Status = 1,
|
||||
Remark = " GP12报表(old) 根据日期范围 去取gp12反抛光的数据"
|
||||
Remark = " GP12手填报表抛光件自动入库"
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -274,7 +272,7 @@ namespace ZR.Service.mes.wms
|
||||
ChangeQuantity = item.RequireNumber,
|
||||
ActionTime = item.StartTime,
|
||||
Status = 1,
|
||||
Remark = " 根据日期范围 去取抛光操作出库的数据"
|
||||
Remark = "抛光手填报表自动出库"
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -286,10 +284,9 @@ namespace ZR.Service.mes.wms
|
||||
List<WmPolishRecord> delwmPolishRecords = Context
|
||||
.Queryable<WmPolishRecord>()
|
||||
.Where(it => it.Code == "自动")
|
||||
.Where(it => it.ActionTime >= parm.StartTime && it.ActionTime <= parm.EndTime)
|
||||
.Where(it => it.ActionTime >= parm.StartTime)
|
||||
.ToList();
|
||||
Context.Deleteable(delwmPolishRecords).ExecuteCommand();
|
||||
|
||||
if (wmPolishRecords.Any())
|
||||
{
|
||||
Context.Insertable(wmPolishRecords).ExecuteCommand();
|
||||
|
||||
Reference in New Issue
Block a user