修改生成逻辑

This commit is contained in:
2023-05-16 16:32:04 +08:00
parent ca1ebe2563
commit 21985f8f03

View File

@@ -40,20 +40,33 @@ namespace JNPF.TaskScheduler.Listener
if (eqpSpotInsTemEquipHsByCirculate != null && eqpSpotInsTemEquipHsByCirculate.Count > 0) if (eqpSpotInsTemEquipHsByCirculate != null && eqpSpotInsTemEquipHsByCirculate.Count > 0)
{ {
List<string> ids = eqpSpotInsTemEquipHsByCirculate.Select(x => x.id).ToList(); //查询最后一条数据加上周期是否等于现在等于表示周期到了 已废除
List<SpotInsRecordLastDTO> lastPlans = db.Queryable<EqpSpotInsRecordH>() // List<string> ids = eqpSpotInsTemEquipHsByCirculate.Select(x => x.id).ToList();
.GroupBy(a => new { a.spot_ins_tem_equip_id }) // List<SpotInsRecordLastDTO> lastPlans = db.Queryable<EqpSpotInsRecordH>()
.Where(a => ids.Contains(a.spot_ins_tem_equip_id)) // .GroupBy(a => new { a.spot_ins_tem_equip_id })
.Select(a => new SpotInsRecordLastDTO() // .Where(a => ids.Contains(a.spot_ins_tem_equip_id))
{ // .Select(a => new SpotInsRecordLastDTO()
spot_ins_tem_equip_id = a.spot_ins_tem_equip_id, // {
create_time = SqlFunc.AggregateMax(a.create_time.Value) // spot_ins_tem_equip_id = a.spot_ins_tem_equip_id,
}).ToList(); // create_time = SqlFunc.AggregateMax(a.create_time.Value)
// }).ToList();
//
// foreach (var item in eqpSpotInsTemEquipHsByCirculate)
// {
// var lastPlan = lastPlans.FirstOrDefault(x => x.spot_ins_tem_equip_id == item.id);
// if (lastPlan == null || lastPlan.create_time == null || lastPlan.create_time.AddHours((double)item.plan_cycle).ToString("yyyy-MM-dd HH") == DateTime.Now.ToString("yyyy-MM-dd HH"))
// {
// tobeCreateTemplets.Add(item);
// }
// }
//整除表示一个周期到了
foreach (var item in eqpSpotInsTemEquipHsByCirculate) foreach (var item in eqpSpotInsTemEquipHsByCirculate)
{ {
var lastPlan = lastPlans.FirstOrDefault(x => x.spot_ins_tem_equip_id == item.id); TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm")).Ticks);
if (lastPlan == null || lastPlan.create_time == null || lastPlan.create_time.AddHours((double)item.plan_cycle).ToString("yyyy-MM-dd HH") == DateTime.Now.ToString("yyyy-MM-dd HH")) TimeSpan ts2 = new TimeSpan(Convert.ToDateTime(item.start_time.ToString("yyyy-MM-dd HH:mm")).Ticks);
TimeSpan ts3 = ts1.Subtract(ts2).Duration();
if (ts3.TotalMinutes * 10 / 60 % (10 * (double)item.plan_cycle)==0)
{ {
tobeCreateTemplets.Add(item); tobeCreateTemplets.Add(item);
} }
@@ -70,7 +83,7 @@ namespace JNPF.TaskScheduler.Listener
if (equipments.FirstOrDefault(x => x.id == item.equip_id) == null) if (equipments.FirstOrDefault(x => x.id == item.equip_id) == null)
continue; continue;
string code = $"{DateTime.Now.ToString("yyyyMMddHH")+(index++).ToString().PadLeft(3,'0')}"; string code = $"{DateTime.Now.ToString("yyyyMMddHHmm")+(index++).ToString().PadLeft(3,'0')}";
tobeCreateList.Add(new EqpSpotInsRecordH() tobeCreateList.Add(new EqpSpotInsRecordH()
{ {
id = SnowflakeIdHelper.NextId(), id = SnowflakeIdHelper.NextId(),
@@ -144,6 +157,7 @@ namespace JNPF.TaskScheduler.Listener
}); });
if (!dbResult.IsSuccess) if (!dbResult.IsSuccess)
{ {
Console.WriteLine(dbResult.ErrorMessage);
Log.Error(dbResult.ErrorMessage); Log.Error(dbResult.ErrorMessage);
} }
Log.Information($"---------------生成{tobeCreateList.Count}个计划---------------"); Log.Information($"---------------生成{tobeCreateList.Count}个计划---------------");
@@ -152,6 +166,7 @@ namespace JNPF.TaskScheduler.Listener
} }
catch (Exception e) catch (Exception e)
{ {
Console.WriteLine(e.Message);
Log.Error(e.Message); Log.Error(e.Message);
} }