This commit is contained in:
qianjiawei
2023-07-21 15:16:22 +08:00
parent 7bb60e3018
commit 9b779d5407
8 changed files with 171 additions and 34 deletions

View File

@@ -7,6 +7,7 @@ using System.Text;
using System.Threading.Tasks;
using Aspose.Cells.Drawing;
using COSXML.Model.Tag;
using JNPF.Common.Contracts;
using JNPF.Common.Core.Manager;
using JNPF.Common.Enums;
using JNPF.Common.Security;
@@ -93,6 +94,7 @@ namespace Tnb.QcMgr
CheckPlansOut.addid = QcCheckPlanAdd.id;
CheckPlansOut.triggertype = QcCheckPlanAdd.triggertype!;
CheckPlansOut.content = QcCheckPlanAdd.content!;
CheckPlansOut.number= QcCheckPlanAdd.number;
}
if (QcCheckPlanDs != null && QcCheckPlanDs.Count > 0)
{
@@ -191,6 +193,7 @@ namespace Tnb.QcMgr
QcCheckPlanAdd.mainid = CheckPlanInput.mainid;
QcCheckPlanAdd.triggertype = CheckPlanInput.triggertype;
QcCheckPlanAdd.content = CheckPlanInput.content;
QcCheckPlanAdd.number = CheckPlanInput.number;
List<QcCheckPlanD> QcCheckPlanDs = new List<QcCheckPlanD>();
if (CheckPlanInput.checktypes != null)
{
@@ -276,49 +279,93 @@ namespace Tnb.QcMgr
JoinType.Left,a.id == d.planid,
JoinType.Left,a.id == e.planid,
});
GetQuery(Query, entity.triggerevent);
GetQuery(Query, entity);
var list = await Query
.WhereIF(!string.IsNullOrEmpty(entity.materialid), (a, b, c, d, e) => c.materialid == entity.materialid)
.WhereIF(!string.IsNullOrEmpty(entity.processid), (a, b, c, d, e) => d.processid == entity.processid)
.WhereIF(!string.IsNullOrEmpty(entity.workid), (a, b, c, d, e) => e.workid == entity.workid).ToListAsync();
Filter(list, entity);
if (list.Count > 0)
await SaveTask(list, entity);
}
private void GetQuery(ISugarQueryable<QcCheckPlanH, QcCheckPlanAdd, QcCheckPlanMaterial, QcCheckPlanProcess, QcCheckPlanWork> Query, EnumTriggerEvent? enumTriggerEvent)
private void GetQuery(ISugarQueryable<QcCheckPlanH, QcCheckPlanAdd, QcCheckPlanMaterial, QcCheckPlanProcess, QcCheckPlanWork> Query, TriggerPlanEntity entity)
{
var DictionaryData = _repository.AsSugarClient().Queryable<DictionaryDataEntity, DictionaryTypeEntity>
((a, b) => new object[] { JoinType.Left, a.DictionaryTypeId == b.Id, })
.Where((a, b) => b.FullName == "质量方案类型").ToList();
var TriggerEvent = new QcTriggerEvent();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "首件检").First().Id && p.name == "换模具").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "首件检").First().Id && p.name == "换物料批号").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "首件检").First().Id && p.name == "换物料编号").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "首件检").First().Id && p.name == "新的生产任务").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "首件检").First().Id && p.name == "生产任务暂停").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "出厂检").First().Id && p.name == "按入厂频次").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "入厂检").First().Id && p.name == "按物料频次").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "入厂检").First().Id && p.name == "按物料编号").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "生产检").First().Id && p.name == "定量").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "生产检").First().Id && p.name == "定码").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "生产检").First().Id && p.name == "产出频次").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "生产检").First().Id && p.name == "固定次数").First();
if (enumTriggerEvent == EnumTriggerEvent.)
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == "生产检").First().Id && p.name == "按流转卡").First();
var enumTriggerEvent = entity.triggerevent;
var remark = RemarkAttribute.GetRemark(enumTriggerEvent);
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == DictionaryData.Where(p => p.FullName == remark.CheckType).First().Id && p.name == remark.CheckContent).First();
Query = Query.Where((a, b, c, d, e) => b.triggertype == "3" && b.content!.Contains(TriggerEvent.id));
}
private void Filter(List<QcCheckPlanH> QcCheckPlanHs, TriggerPlanEntity entity)
{
var removePlanHs = new List<QcCheckPlanH>();
var enumTriggerEvent = entity.triggerevent;
foreach (var plan in QcCheckPlanHs)
{
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
var number = _repository.AsSugarClient().Queryable<QcCheckPlanAdd>().Where(p => p.mainid == plan.id).First().number;
if ((entity.newpronum + entity.oldpronum / number) <= (entity.oldpronum / number))
removePlanHs.Add(plan);
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
var number = _repository.AsSugarClient().Queryable<QcCheckPlanAdd>().Where(p => p.mainid == plan.id).First().number;
if ((entity.pronum % number) != 0)
removePlanHs.Add(plan);
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
if (enumTriggerEvent == EnumTriggerEvent.)
{
}
}
removePlanHs.ForEach(p => { QcCheckPlanHs.Remove(p); });
}
private async Task SaveTask(List<QcCheckPlanH> planhs, TriggerPlanEntity entity)
{
var DictionaryData = _repository.AsSugarClient().Queryable<DictionaryDataEntity, DictionaryTypeEntity>