点检保养bug
This commit is contained in:
@@ -34,11 +34,14 @@ namespace JNPF.TaskScheduler.Listener
|
||||
List<EqpMaintainRecordH> tobeCreateList = new List<EqpMaintainRecordH>();
|
||||
List<EqpMaintainTemEquipH> tobeCreateTemplets = new List<EqpMaintainTemEquipH>();
|
||||
|
||||
int second = DateTime.Now.Second;//当前的秒数
|
||||
int offsetMinute = second > 30 ? 1 : 0;
|
||||
DateTime now = DateTime.Parse(DateTime.Now.AddMinutes(offsetMinute).ToString("yyyy-MM-dd HH:mm:00"));
|
||||
|
||||
foreach (var item in eqpSpotInsTemEquipHsByOne)
|
||||
{
|
||||
if (item.start_time.AddDays((double)item.plan_cycle).ToString("yyyy-MM-dd") ==
|
||||
DateTime.Now.ToString("yyyy-MM-dd"))
|
||||
now.ToString("yyyy-MM-dd"))
|
||||
{
|
||||
tobeCreateTemplets.Add(item);
|
||||
}
|
||||
@@ -50,7 +53,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
//整除表示一个周期到了
|
||||
// foreach (var item in eqpSpotInsTemEquipHsByCirculate)
|
||||
// {
|
||||
// TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")).Ticks);
|
||||
// TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(now.ToString("yyyy-MM-dd")).Ticks);
|
||||
// TimeSpan ts2 = new TimeSpan(Convert.ToDateTime(item.start_time.ToString("yyyy-MM-dd")).Ticks);
|
||||
// TimeSpan ts3 = ts1.Subtract(ts2).Duration();
|
||||
// if (ts3.TotalDays * 10 % (10 * (double)item.plan_cycle) == 0)
|
||||
@@ -67,7 +70,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
.FirstAsync();
|
||||
if (eqpMaintainRecordH == null)
|
||||
{
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(now.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts2 =
|
||||
new TimeSpan(Convert.ToDateTime(item.start_time.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts3 = ts1.Subtract(ts2).Duration();
|
||||
@@ -78,7 +81,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
}
|
||||
else if (eqpMaintainRecordH.status != "1")
|
||||
{
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(now.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts2 = new TimeSpan(Convert
|
||||
.ToDateTime(eqpMaintainRecordH.execute_time.Value.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts3 = ts1.Subtract(ts2).Duration();
|
||||
@@ -102,7 +105,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
if (equipments.FirstOrDefault(x => x.id == item.equip_id) == null)
|
||||
continue;
|
||||
|
||||
string code = $"{DateTime.Now.ToString("yyyyMMdd") + (index++).ToString().PadLeft(3, '0')}";
|
||||
string code = $"{now.ToString("yyyyMMdd") + (index++).ToString().PadLeft(3, '0')}";
|
||||
tobeCreateList.Add(new EqpMaintainRecordH()
|
||||
{
|
||||
code = code,
|
||||
@@ -119,7 +122,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
is_send = item.is_send,
|
||||
repeat_user_id = item.repeat_user_id,
|
||||
execute_user_id = item.duty_user_id,
|
||||
create_time = DateTime.Now,
|
||||
create_time = now,
|
||||
|
||||
|
||||
status = Tnb.EquipMgr.SpotInsRecordExecutionStatus.TOBEEXECUTED
|
||||
@@ -224,7 +227,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
foreach (var item in toolMoldByOne)
|
||||
{
|
||||
if (item.start_time.AddDays((double)item.plan_cycle).ToString("yyyy-MM-dd") ==
|
||||
DateTime.Now.ToString("yyyy-MM-dd"))
|
||||
now.ToString("yyyy-MM-dd"))
|
||||
{
|
||||
toolMoldTobeCreateTemplets.Add(item);
|
||||
}
|
||||
@@ -236,7 +239,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
//整除表示一个周期到了
|
||||
// foreach (var item in toolMoldByCirculate)
|
||||
// {
|
||||
// TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")).Ticks);
|
||||
// TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(now.ToString("yyyy-MM-dd")).Ticks);
|
||||
// TimeSpan ts2 = new TimeSpan(Convert.ToDateTime(item.start_time.ToString("yyyy-MM-dd")).Ticks);
|
||||
// TimeSpan ts3 = ts1.Subtract(ts2).Duration();
|
||||
// if (ts3.TotalDays * 10 % (10 * (double)item.plan_cycle) == 0)
|
||||
@@ -253,7 +256,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
.FirstAsync();
|
||||
if (eqpMaintainRecordH == null)
|
||||
{
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(now.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts2 =
|
||||
new TimeSpan(Convert.ToDateTime(item.start_time.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts3 = ts1.Subtract(ts2).Duration();
|
||||
@@ -264,7 +267,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
}
|
||||
else if (eqpMaintainRecordH.status != "1")
|
||||
{
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(now.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts2 = new TimeSpan(Convert
|
||||
.ToDateTime(eqpMaintainRecordH.execute_time.Value.ToString("yyyy-MM-dd")).Ticks);
|
||||
TimeSpan ts3 = ts1.Subtract(ts2).Duration();
|
||||
@@ -287,7 +290,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
if (toolMoldList.FirstOrDefault(x => x.id == item.mold_id) == null)
|
||||
continue;
|
||||
|
||||
string code = $"{DateTime.Now.ToString("yyyyMMdd") + (index++).ToString().PadLeft(3, '0')}";
|
||||
string code = $"{now.ToString("yyyyMMdd") + (index++).ToString().PadLeft(3, '0')}";
|
||||
toolMoldTobeCreateList.Add(new ToolMoldMaintainRecordH()
|
||||
{
|
||||
code = code,
|
||||
@@ -304,7 +307,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
is_send = item.is_send,
|
||||
repeat_user_id = item.repeat_user_id,
|
||||
execute_user_id = item.duty_user_id,
|
||||
create_time = DateTime.Now,
|
||||
create_time = now,
|
||||
|
||||
|
||||
status = Tnb.EquipMgr.SpotInsRecordExecutionStatus.TOBEEXECUTED
|
||||
|
||||
@@ -29,10 +29,16 @@ namespace JNPF.TaskScheduler.Listener
|
||||
List<EqpSpotInsTemEquipH> eqpSpotInsTemEquipHsByCirculate = await db.Queryable<EqpSpotInsTemEquipH>().Where(x => x.is_start == "1" && x.plan_cycle_unit == "2").ToListAsync();
|
||||
List<EqpSpotInsRecordH> tobeCreateList = new List<EqpSpotInsRecordH>();
|
||||
List<EqpSpotInsTemEquipH> tobeCreateTemplets = new List<EqpSpotInsTemEquipH>();
|
||||
|
||||
//丢失精度补齐 例如设定10分钟执行 但是这个破框架会再9:59 时进入这个方法导致不能正常执行
|
||||
//精确到分的定时任务可以不使用本地任务 采用数据接口的方式规避掉这个问题
|
||||
int second = DateTime.Now.Second;//当前的秒数
|
||||
int offsetMinute = second > 30 ? 1 : 0;
|
||||
DateTime now = DateTime.Parse(DateTime.Now.AddMinutes(offsetMinute).ToString("yyyy-MM-dd HH:mm:00"));
|
||||
|
||||
foreach (var item in eqpSpotInsTemEquipHsByOne)
|
||||
{
|
||||
if (item.start_time.AddHours((double)item.plan_cycle).ToString("yyyy-MM-dd HH:mm") == DateTime.Now.ToString("yyyy-MM-dd HH:mm"))
|
||||
if (item.start_time.AddHours((double)item.plan_cycle).ToString("yyyy-MM-dd HH:mm") == now.ToString("yyyy-MM-dd HH:mm"))
|
||||
{
|
||||
tobeCreateTemplets.Add(item);
|
||||
}
|
||||
@@ -60,15 +66,11 @@ namespace JNPF.TaskScheduler.Listener
|
||||
// }
|
||||
// }
|
||||
|
||||
//丢失精度补齐 例如设定10分钟执行 但是这个破框架会再9:59 时进入这个方法导致不能正常执行
|
||||
//精确到分的定时任务可以不使用本地任务 采用数据接口的方式规避掉这个问题
|
||||
int second = DateTime.Now.Second;//当前的秒数
|
||||
int offsetMinute = second > 30 ? 1 : 0;
|
||||
|
||||
//整除表示一个周期到了
|
||||
foreach (var item in eqpSpotInsTemEquipHsByCirculate)
|
||||
{
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm")).Ticks);
|
||||
TimeSpan ts1 = new TimeSpan(Convert.ToDateTime(now.ToString("yyyy-MM-dd HH:mm")).Ticks);
|
||||
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 + offsetMinute) * 10 / 60 % (10 * (double)item.plan_cycle) == 0)
|
||||
@@ -88,7 +90,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
if (equipments.FirstOrDefault(x => x.id == item.equip_id) == null)
|
||||
continue;
|
||||
|
||||
string code = $"{DateTime.Now.ToString("yyyyMMddHHmm") + (index++).ToString().PadLeft(3, '0')}";
|
||||
string code = $"{now.ToString("yyyyMMddHHmm") + (index++).ToString().PadLeft(3, '0')}";
|
||||
tobeCreateList.Add(new EqpSpotInsRecordH()
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId(),
|
||||
@@ -104,7 +106,7 @@ namespace JNPF.TaskScheduler.Listener
|
||||
is_repeat = item.is_repeat,
|
||||
repeat_post_info_user_id = item.repeat_post_info_user_id,
|
||||
is_send = item.is_send,
|
||||
create_time = DateTime.Now,
|
||||
create_time = now,
|
||||
repeat_user_id= item.repeat_user_id,
|
||||
spot_record_user_id=item.duty_user_id,
|
||||
status = Tnb.EquipMgr.SpotInsRecordExecutionStatus.TOBEEXECUTED
|
||||
|
||||
Reference in New Issue
Block a user