using com.hnshituo.core.webapp.vo;
using Common;
using System;
using System.Collections.Generic;
namespace MeterConditionLibrary
{
///
/// 验证车号是否需要进行复磅操作
///
public class validRecoverInfo
{
public void ValidMethod(String strCarNo)
{
Log lg = Log.GetInstance();
try
{
PbCache.isAllowRecover = true;
//第一次仅这个方法,判断是否需要复磅
if (PbCache.carRecover == null)
{
MeterWorkCarRecoverService recoverService = new MeterWorkCarRecoverService();
RESTfulResult> recoverResulist = recoverService.doQueryList(new MeterWorkCarRecover { carNo = strCarNo, valueFlag = "0" });
if (recoverResulist.Succeed == true && recoverResulist != null && recoverResulist.Data != null && recoverResulist.Data.Count > 0)
{
if (recoverResulist.Data.Count > 1)
{
PbCache.ResultMessage = string.Format("复磅的车号[{0}]存在[{1}]条待复磅的数据,请点击[语音求助]!", strCarNo, recoverResulist.Data.Count);
lg.WriteLog(17, string.Format("复磅的车号[{0}]存在[{1}]条待复磅的数据,请点击[语音求助]!", strCarNo, recoverResulist.Data.Count));
PbCache.isAllowRecover = false;
}
else if (recoverResulist.Data.Count == 1)
{
PbCache.carRecover = recoverResulist.Data[0];
PbCache.isAllowRecover = true;
}
else
{
PbCache.isAllowRecover = false;
}
}
else
{
PbCache.isAllowRecover = false;
}
}
//存在复磅记录,且点击了复磅按钮,验证是否允许复磅
if (PbCache.carRecover != null && PbCache.isLockFrm)
{
if (!PbCache.carRecover.carNo.Equals(strCarNo))
{
PbCache.ResultMessage = string.Format("程序异常,需要复磅的车号[{0}]与当前车号[{1}]不一致,请点击[语音求助]!", PbCache.carRecover.carNo, strCarNo);
lg.WriteLog(17, string.Format("程序异常,需要复磅的车号[{0}]与当前车号[{1}]不一致,请点击[语音求助]!", PbCache.carRecover.carNo, strCarNo));
PbCache.isAllowRecover = false;
}
if (!string.IsNullOrEmpty(PbCache.carRecover.recBaseSpotNo) && !PbCache.sportInfo.baseSpotNo.Equals(PbCache.carRecover.recBaseSpotNo))
{
PbCache.ResultMessage = string.Format("需要复磅的计量点[{0}]与当前计量点[{1}]不一致,请点击[语音求助]!", PbCache.carRecover.recBaseSpotName, PbCache.sportInfo.baseSpotName);
lg.WriteLog(17, string.Format("需要复磅的计量点[{0}]与当前计量点[{1}]不一致,请点击[语音求助]!", PbCache.carRecover.recBaseSpotName, PbCache.sportInfo.baseSpotName));
PbCache.isAllowRecover = false;
}
}
}
catch (Exception ex)
{
lg.WriteLog(17, "validUnloadAutomatic的ValidMethod方法" + ex);
PbCache.isAllowRecover = false;
}
}
///
/// 是否允许点击保存按钮:若为true,则不允许继续保存。
///
///
public void ValidAllowSave(String strCarNo)
{
Log lg = Log.GetInstance();
try
{
PbCache.isAllowRecover = false;
if (PbCache.carRecover != null && PbCache.isLockFrm)
{
if (PbCache.carRecover.carNo.Equals(strCarNo))
{
PbCache.ResultMessage = string.Format("当前车号[{0}]需要复磅,复磅计量点为[{1}],请到指定的秤房点击[复磅]!", strCarNo, PbCache.carRecover.recBaseSpotName);
lg.WriteLog(17, string.Format("当前车号[{0}]需要复磅,复磅计量点为[{1}],请到指定的秤房点击[复磅]!", strCarNo, PbCache.carRecover.recBaseSpotName));
PbCache.isAllowRecover = true;
}
}
//放在此处,可以让计量员干预后,再进行二次验证
if (PbCache.carRecover == null)
{
MeterWorkCarRecoverService recoverService = new MeterWorkCarRecoverService();
RESTfulResult> recoverResulist = recoverService.doQueryList(new MeterWorkCarRecover { carNo = strCarNo, valueFlag = "0" });
if (recoverResulist.Succeed == true && recoverResulist != null && recoverResulist.Data != null && recoverResulist.Data.Count > 0)
{
if (recoverResulist.Data.Count > 1)
{
PbCache.ResultMessage = string.Format("复磅的车号[{0}]存在[{1}]条待复磅的数据,请点击[语音求助]!", strCarNo, recoverResulist.Data.Count);
lg.WriteLog(17, string.Format("复磅的车号[{0}]存在[{1}]条待复磅的数据,请点击[语音求助]!", strCarNo, recoverResulist.Data.Count));
PbCache.isAllowRecover = true;
}
else
{
PbCache.carRecover = recoverResulist.Data[0];
PbCache.ResultMessage = string.Format("当前车号[{0}]需要复磅,复磅计量点为[{1}],请到指定的秤房点击[复磅]!", strCarNo, PbCache.carRecover.recBaseSpotName);
lg.WriteLog(17, string.Format("当前车号[{0}]需要复磅,复磅计量点为[{1}],请到指定的秤房点击[复磅]!", strCarNo, PbCache.carRecover.recBaseSpotName));
PbCache.isAllowRecover = true;
}
}
else
{
PbCache.carRecover = null;
}
}
}
catch (Exception ex)
{
lg.WriteLog(17, "validUnloadAutomatic的ValidAllowSave方法" + ex);
}
}
}
}