using com.hnshituo.core.webapp.vo;
using Common;
using System;
using System.Collections.Generic;
using System.Linq;
namespace MeterConditionLibrary
{
///
/// 验证时间间隔
/// 两次计量时间间隔需大于等于该时间
///
public class validTimeInterval
{
///
/// 验证两次计量时间间隔需大于等于该时间
///
/// 预报信息
/// 计量类型,1过毛重,2过皮重,3结净
/// 一次计量信息,若为结净状态才有值
public void ValidMethod(PreTrackScale scale, string sMeterType, MeterWorkCarActualFirst fristMeter)
{
//未锁定的情况下
//if (!PbCache.isLockFrm)
{
//二次计量结净才需要验证;
if (sMeterType == "3")
{
//验证回皮时间
if (PbCache.monitor.validTimeInterval == "1" && !PbCache.isNotValid)
{
if (PbCache.timeSpace != null || PbCache.timeSpace.Count != 0)
{
if (scale == null || string.IsNullOrEmpty(scale.meterTypeNo))
{
scale.meterTypeNo = "001006002"; //过皮重没有检斤类型,按照中控倒运走; //改了这里
}
MeterBaseTimeSpace mbt = PbCache.timeSpace.Where(s => s.meterTypeNo == scale.meterTypeNo).FirstOrDefault();
if (mbt != null && !string.IsNullOrEmpty(mbt.meterTypeNo))
{
if (fristMeter == null || fristMeter.createTime == null)
{
MeterWorkCarActualFirstService mwcfs = new MeterWorkCarActualFirstService();
RESTfulResult> rmX = mwcfs.queryForTimeInterval(new MeterWorkCarActualFirst { carNo = PbCache.lockCarNo });// 改了这里
if (rmX.Succeed && rmX.Data != null && rmX.Data.Count > 0)
{
fristMeter = rmX.Data[0];
}
}
if (fristMeter == null || fristMeter.createTime == null)
{
PbCache.monitorResult.valid_time_interval = true;
}
else
{
if (DateTime.Compare(DateTime.Now, fristMeter.createTime.Value.AddMinutes((double)mbt.spaceTime)) > 0)
{
PbCache.monitorResult.valid_time_interval = true;
}
else
{
PbCache.monitorResult.valid_time_interval = false;
PbCache.ResultMessage = string.Format("一次二次计量时间间隔太近,时间间隔要求大于【" + mbt.spaceTime + "】分钟,请点语音求助!");
}
}
}
else
{
PbCache.monitorResult.valid_time_interval = true;
//PbCache.ResultMessage = string.Format("未找到二次计量时间间隔配置");
}
}
else
{
PbCache.monitorResult.valid_time_interval = true;
//PbCache.ResultMessage = string.Format("未找到二次计量时间间隔配置");
}
}
else
{
PbCache.monitorResult.valid_time_interval = true;
}
}
else if (sMeterType == "2" || sMeterType == "1")
{
if (PbCache.monitor.validTimeInterval == "1" && !PbCache.isNotValid)
{
if (PbCache.timeSpace != null || PbCache.timeSpace.Count != 0)
{
if (scale == null || string.IsNullOrEmpty(scale.meterTypeNo))
{
scale.meterTypeNo = "001006002"; //过皮重没有检斤类型,按照中控倒运走; //改了这里
}
MeterBaseTimeSpace mbt = PbCache.timeSpace.Where(s => s.meterTypeNo == scale.meterTypeNo).FirstOrDefault();
if (mbt != null && !string.IsNullOrEmpty(mbt.meterTypeNo))
{
if (fristMeter == null || fristMeter.createTime == null)
{
MeterWorkCarActualFirstService mwcfs = new MeterWorkCarActualFirstService();
RESTfulResult> rmX = mwcfs.queryForTimeInterval(new MeterWorkCarActualFirst { carNo = PbCache.lockCarNo }); //改了这里
if (rmX.Succeed && rmX.Data != null && rmX.Data.Count > 0)
{
fristMeter = rmX.Data[0];
}
}
if (fristMeter == null || fristMeter.createTime == null)
{
PbCache.monitorResult.valid_time_interval = true;
}
else
{
if (DateTime.Compare(DateTime.Now, fristMeter.createTime.Value.AddMinutes((double)mbt.spaceTime)) > 0)
{
PbCache.monitorResult.valid_time_interval = true;
}
else
{
PbCache.monitorResult.valid_time_interval = false;
PbCache.ResultMessage = string.Format("连续两次计量时间间隔太近,时间间隔要求大于【" + mbt.spaceTime + "】分钟,请点语音求助!");
}
}
}
else
{
PbCache.monitorResult.valid_time_interval = true;
//PbCache.ResultMessage = string.Format("未找到二次计量时间间隔配置");
}
}
else
{
PbCache.monitorResult.valid_time_interval = true;
//PbCache.ResultMessage = string.Format("未找到二次计量时间间隔配置");
}
}
else
{
PbCache.monitorResult.valid_time_interval = true;
}
}
else
{
PbCache.monitorResult.valid_time_interval = true;
}
}
}
}
}