一次合格品记录

This commit is contained in:
卢江海
2025-03-24 15:14:38 +08:00
parent 4c6d88d779
commit dff3b009e5

View File

@@ -1,6 +1,10 @@
using Infrastructure.Attribute; using Infrastructure.Attribute;
using SqlSugar; using SqlSugar;
using System.Linq;
using System;
using ZR.Model; using ZR.Model;
using ZR.Model.Business;
using ZR.Model.MES.qc;
using ZR.Model.MES.wms; using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto; using ZR.Model.MES.wms.Dto;
using ZR.Repository; using ZR.Repository;
@@ -115,18 +119,152 @@ namespace ZR.Service.mes.wms
/// <exception cref="global::System.NotImplementedException"></exception> /// <exception cref="global::System.NotImplementedException"></exception>
public int GenerateWmOneTimeRecord(WmOneTimeRecordGenerateDto parm) public int GenerateWmOneTimeRecord(WmOneTimeRecordGenerateDto parm)
{ {
//TODO 入库条件1 产线合格品qc_quality_statistics_first合格数其中去除倒车雷达
if (parm == null || parm.StartTime == null || parm.StartTime.Value == DateTime.MinValue)
{
return -1;
}
else
{
#region
//TODO 入库条件1 产线合格品qc_quality_statistics_first合格数其中去除倒车雷达
List<QcQualityStatisticsFirst> qcQualityStatisticsFirsts = Context
.Queryable<QcQualityStatisticsFirst>()
.WhereIF(
!string.IsNullOrEmpty(parm.Partnumber),
it => it.FinishedPartNumber == parm.Partnumber
)
.Where(it => !it.ProductDescription.Contains("倒车雷达"))
.Where(it => it.StartTime >= parm.StartTime)
.Where(it => it.PaoguangTotal > 0)
.ToList();
//TODO 入库条件2 抛光合格品 wm_polish_work_quality_statistics 合格数 //TODO 入库条件2 抛光合格品 wm_polish_work_quality_statistics 合格数
List<WmPolishWorkQualityStatistics> wmPolishWorkQualityStatistics = Context
.Queryable<WmPolishWorkQualityStatistics>()
.WhereIF(
!string.IsNullOrEmpty(parm.Partnumber),
it => it.Partnumber == parm.Partnumber
)
.Where(it => it.StartTime >= parm.StartTime)
.ToList();
//TODO 出库条件1 GP12 (新) 触摸屏 qc_gp12_service_statistics 投入数 //TODO 出库条件1 GP12 (新) 触摸屏 qc_gp12_service_statistics 投入数
List<QcGp12ServiceStatistics> qcGp12ServiceStatistics = Context
.Queryable<QcGp12ServiceStatistics>()
.WhereIF(
!string.IsNullOrEmpty(parm.Partnumber),
it => it.PartNumber == parm.Partnumber
)
.Where(it => it.StartTime >= parm.StartTime)
.Where(it => it.GroupSort == 1)
.Where(it => it.PolishNumber > 0)
.ToList();
//TODO 出库条件2 后道 wm_polish_quality_statistics 投入数 //TODO 出库条件2 后道 wm_polish_quality_statistics 投入数
List<WmPolishQualityStatistics> wmPolishQualityStatistics = Context
.Queryable<WmPolishQualityStatistics>()
.WhereIF(
!string.IsNullOrEmpty(parm.Partnumber),
it => it.Partnumber == parm.Partnumber
)
.Where(it => it.StartTime >= parm.StartTime)
.ToList();
// wm_one_time_record #endregion
#region WmOneTimeRecord
List<WmOneTimeRecord> wmOneTimeRecords = new List<WmOneTimeRecord>();
throw new global::System.NotImplementedException(); foreach (var item in qcQualityStatisticsFirsts)
} {
wmOneTimeRecords.Add(
new WmOneTimeRecord
{
Id = SnowFlakeSingle.Instance.NextId().ToString(),
FkInventoryId = item.Id,
Code = "自动",
Partnumber = item.FinishedPartNumber,
ChangeType = 1,
ChangeQuantity = item.PaoguangTotal,
ActionTime = item.StartTime,
Status = 1,
Remark = "产线合格品 合格数"
}
);
}
foreach (var item in wmPolishWorkQualityStatistics)
{
wmOneTimeRecords.Add(
new WmOneTimeRecord
{
Id = SnowFlakeSingle.Instance.NextId().ToString(),
FkInventoryId = item.Id,
Code = "自动",
Partnumber = item.Partnumber,
ChangeType = 1,
ChangeQuantity = item.,
ActionTime = item.StartTime,
Status = 1,
Remark = "抛光合格品 合格数"
}
);
}
foreach (var item in qcGp12ServiceStatistics)
{
wmOneTimeRecords.Add(
new WmOneTimeRecord
{
Id = SnowFlakeSingle.Instance.NextId().ToString(),
FkInventoryId = item.Id,
Code = "自动",
Partnumber = item.PartNumber,
ChangeType = 2,
ChangeQuantity = item.PolishNumber,
ActionTime = item.StartTime,
Status = 1,
Remark = "触摸屏投入数"
}
);
}
foreach (var item in wmPolishQualityStatistics)
{
wmOneTimeRecords.Add(
new WmOneTimeRecord
{
Id = SnowFlakeSingle.Instance.NextId().ToString(),
FkInventoryId = item.Id,
Code = "自动",
Partnumber = item.Partnumber,
ChangeType = 2,
ChangeQuantity = item.PaoguangTotal,
ActionTime = item.StartTime,
Status = 1,
Remark = "后道投入数"
}
);
}
#endregion
//如果有这个时间段的数据,要删除
List<WmOneTimeRecord> delwmOneTimeRecords = Context
.Queryable<WmOneTimeRecord>()
.Where(it => it.Code == "自动")
.Where(it => it.ActionTime >= parm.StartTime)
.ToList();
Context.Deleteable(delwmOneTimeRecords).ExecuteCommand();
if (delwmOneTimeRecords.Any())
{
Context.Insertable(wmOneTimeRecords).ExecuteCommand();
}
return wmOneTimeRecords.Count; // 返回插入的记录数
}
} }
} }