|
|
@@ -39,6 +39,7 @@ namespace CarMeterSystem
|
|
|
|
|
|
private validTermTareCar termTareCar = new validTermTareCar();//验证是否可留期限皮
|
|
|
private validRecoverInfo recoverInfo = new validRecoverInfo();//验证是否需要复磅以及是否满足复磅条件
|
|
|
+ private validArea areaInfo = new validArea();//验证区域是否正确
|
|
|
private validPrediction validPred = new validPrediction(); //验证预报信息
|
|
|
private validUnloadAutomatic unloadAutomatic = new validUnloadAutomatic(); //自动卸货
|
|
|
private validDataValidity dataValidity = new validDataValidity(); //验证采集的重量是否正常
|
|
|
@@ -166,6 +167,15 @@ namespace CarMeterSystem
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ //判断区域是否正确
|
|
|
+ if (!areaInfo.ValidMethod(PbCache.sportInfo, txtCarNo.Text) && PbCache.monitor.validArea == "1")
|
|
|
+ {
|
|
|
+ PbCache.isLockFrm = false;
|
|
|
+ btnSave.Enabled = true;
|
|
|
+ setMsg("车辆两次称点区域不同");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//2021年6月22日 存在需要复磅的数据,不允许进行保存操作
|
|
|
recoverInfo.ValidAllowSave(PbCache.lockCarNo);
|
|
|
if (PbCache.isAllowRecover)
|
|
|
@@ -282,14 +292,27 @@ namespace CarMeterSystem
|
|
|
|
|
|
ExecuteMethod em = new ExecuteMethod();
|
|
|
|
|
|
+ //判断是否为外发试验性称量,预防超载或欠载(不算正常计量)(吉瑞、铁合金车辆)
|
|
|
+ bool isjT = false;
|
|
|
|
|
|
+ if (car.belongUnitTypeNo == "000000" || car.belongUnitTypeNo == "000001")
|
|
|
+ {
|
|
|
+ isjT = true;
|
|
|
+ }
|
|
|
// 厂内车辆
|
|
|
- if (car.carTypeNo == "001004003")
|
|
|
+ if (car.carTypeNo == "001004003" || isjT)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
btnSave.Enabled = false;
|
|
|
- strRm = em.GetAndExecuteMethod<rtInfo>("MeterSceneLibrary", "InnerCarJISCO", "MeterMethod", new object[] { new PreTrackScale { } });
|
|
|
+ if (isjT)
|
|
|
+ {
|
|
|
+ strRm = em.GetAndExecuteMethod<rtInfo>("MeterSceneLibrary", "InnerCarJISCO", "MeterMethod", new object[] { new PreTrackScale { carNo = PbCache.lockCarNo } });
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ strRm = em.GetAndExecuteMethod<rtInfo>("MeterSceneLibrary", "InnerCarJISCO", "MeterMethod", new object[] { new PreTrackScale { } });
|
|
|
+ }
|
|
|
setMsg(strRm.ResultMessage);
|
|
|
strMsg = strRm.ResultMessage;
|
|
|
if (!string.IsNullOrEmpty(PbCache.LEDResultMessage))
|
|
|
@@ -312,7 +335,7 @@ namespace CarMeterSystem
|
|
|
}
|
|
|
}
|
|
|
// 厂外车辆
|
|
|
- else if (car.carTypeNo == "001004002")
|
|
|
+ else if (car.carTypeNo == "001004002" && !isjT)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
@@ -510,6 +533,8 @@ namespace CarMeterSystem
|
|
|
meterWorkScheduledHelp.baseSpotName = PbCache.sportInfo.baseSpotName;
|
|
|
meterWorkScheduledHelp.carNo = PbCache.collect.carno;
|
|
|
meterWorkScheduledHelp.helpContent = PbCache.monitorResultMessage;
|
|
|
+ meterWorkScheduledHelp.warnType = "2";
|
|
|
+ meterWorkScheduledHelp.warnTypeName = "智能终端报警";
|
|
|
meterWorkScheduledHelpService.add(meterWorkScheduledHelp);
|
|
|
}
|
|
|
|
|
|
@@ -668,6 +693,18 @@ namespace CarMeterSystem
|
|
|
this.Close();
|
|
|
}
|
|
|
|
|
|
+ if (PbCache.collect.parkStatus == 3)
|
|
|
+ {
|
|
|
+ MeterWorkScheduledHelp meterWorkScheduledHelp = new MeterWorkScheduledHelp();
|
|
|
+ meterWorkScheduledHelp.baseSpotNo = PbCache.sportInfo.baseSpotNo;
|
|
|
+ meterWorkScheduledHelp.baseSpotName = PbCache.sportInfo.baseSpotName;
|
|
|
+ meterWorkScheduledHelp.carNo = PbCache.collect.carno;
|
|
|
+ meterWorkScheduledHelp.helpContent = "疑似跟车,请核查";
|
|
|
+ meterWorkScheduledHelp.warnType = "3";
|
|
|
+ meterWorkScheduledHelp.warnTypeName = "智能终端报警";
|
|
|
+ meterWorkScheduledHelpService.add(meterWorkScheduledHelp);
|
|
|
+ }
|
|
|
+
|
|
|
#region 0.接受远程修改过后的车号并显示
|
|
|
//if (PbCache.monitor != null && !string.IsNullOrEmpty(PbCache.monitor.editCar))
|
|
|
//{
|
|
|
@@ -859,15 +896,15 @@ namespace CarMeterSystem
|
|
|
#endregion 红外对射及量程验证及停留超时验证
|
|
|
|
|
|
|
|
|
- #region 查一次是否校秤,若未校秤则不能计量
|
|
|
+ #region 查一次是否校秤,若未校秤则不能计量
|
|
|
|
|
|
- //*
|
|
|
- if (bRelation)
|
|
|
- {
|
|
|
- string msgInfo = "";
|
|
|
- isCalibration = vCalib.ValidMethod(new MeterWorkCalibrationMain { baseSpotNo = PbCache.sportInfo.baseSpotNo, valueFlag = "2" }, out msgInfo);
|
|
|
- bRelation = false;
|
|
|
- }
|
|
|
+ //*
|
|
|
+ if (bRelation)
|
|
|
+ {
|
|
|
+ string msgInfo = "";
|
|
|
+ isCalibration = vCalib.ValidMethod(new MeterWorkCalibrationMain { baseSpotNo = PbCache.sportInfo.baseSpotNo, valueFlag = "2" }, out msgInfo);
|
|
|
+ bRelation = false;
|
|
|
+ }
|
|
|
|
|
|
if (!isCalibration)
|
|
|
{
|
|
|
@@ -903,145 +940,160 @@ namespace CarMeterSystem
|
|
|
isShowRecover = false;
|
|
|
}
|
|
|
|
|
|
+ #endregion 判断是否需要复磅
|
|
|
+
|
|
|
+ #region 判断区域是否正确
|
|
|
+
|
|
|
+ //if (PbCache.monitor.validArea == "1")
|
|
|
+ //{
|
|
|
+ // if (areaInfo.ValidMethod(PbCache.sportInfo, txtCarNo.Text))
|
|
|
+ // {
|
|
|
+ // btnSave.Enabled = true;
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // btnSave.Enabled = false;
|
|
|
+ // }
|
|
|
+ //}
|
|
|
#endregion 判断是否需要复磅
|
|
|
|
|
|
#region 第一次查询,有车号,重量稳定,红外验证通过的情况只查一次
|
|
|
|
|
|
//如果没有查过一次,且扫描到车号信息,且重量稳定
|
|
|
if ((bRailwayActual || sPreCarNo != TrackCarNo || firstCode != PbCache.strCode) && PbCache.collect.weightStatus == 0 && PbCache.monitorResult.valid_park_status)
|
|
|
- {
|
|
|
- firstWgt = 0;
|
|
|
- sPreCarNo = TrackCarNo;
|
|
|
- //判断车辆是厂内车还是厂外车
|
|
|
- RESTfulResult<List<MeterBaseCar>> resCarList = carService.doQueryCarList(new MeterBaseCar { carNo = PbCache.collect.carno });
|
|
|
- if (resCarList.Succeed)
|
|
|
{
|
|
|
- if (resCarList.Data != null && resCarList.Data.Count == 1)
|
|
|
+ firstWgt = 0;
|
|
|
+ sPreCarNo = TrackCarNo;
|
|
|
+ //判断车辆是厂内车还是厂外车
|
|
|
+ RESTfulResult<List<MeterBaseCar>> resCarList = carService.doQueryCarList(new MeterBaseCar { carNo = PbCache.collect.carno });
|
|
|
+ if (resCarList.Succeed)
|
|
|
{
|
|
|
- MeterBaseCar car = resCarList.Data[0];
|
|
|
- //厂内车辆
|
|
|
- if (car.carTypeNo == "001004003")
|
|
|
+ if (resCarList.Data != null && resCarList.Data.Count == 1)
|
|
|
{
|
|
|
- RESTfulResult<List<PreTrackScale>> rmScale = PreTrackScaleService.doQueryByFlag(new PreTrackScale { carNo = PbCache.collect.carno, lineDesc = "1" });
|
|
|
-
|
|
|
- if (rmScale.Succeed)
|
|
|
+ MeterBaseCar car = resCarList.Data[0];
|
|
|
+ //厂内车辆
|
|
|
+ if (car.carTypeNo == "001004003")
|
|
|
{
|
|
|
- if (rmScale.Data != null && rmScale.Data.Count == 1)
|
|
|
+ RESTfulResult<List<PreTrackScale>> rmScale = PreTrackScaleService.doQueryByFlag(new PreTrackScale { carNo = PbCache.collect.carno, lineDesc = "1" });
|
|
|
+
|
|
|
+ if (rmScale.Succeed)
|
|
|
{
|
|
|
- MeterWorkCarActualFirst actualFirst = new MeterWorkCarActualFirst();
|
|
|
+ if (rmScale.Data != null && rmScale.Data.Count == 1)
|
|
|
+ {
|
|
|
+ MeterWorkCarActualFirst actualFirst = new MeterWorkCarActualFirst();
|
|
|
|
|
|
- firstWgt = rmScale.Data[0].meterWeight == null ? 0 : rmScale.Data[0].meterWeight.Value;
|
|
|
+ firstWgt = rmScale.Data[0].meterWeight == null ? 0 : rmScale.Data[0].meterWeight.Value;
|
|
|
|
|
|
- EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
|
|
|
- actualFirst = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], actualFirst);
|
|
|
+ EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
|
|
|
+ actualFirst = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], actualFirst);
|
|
|
|
|
|
- actualFirst.predictionNo = actualFirst.predictionNo.Replace("_", "");
|
|
|
- //给用户控件设置值
|
|
|
- ucCarMeterInfoJisco1.setFormControlValue(actualFirst);
|
|
|
+ actualFirst.predictionNo = actualFirst.predictionNo.Replace("_", "");
|
|
|
+ //给用户控件设置值
|
|
|
+ ucCarMeterInfoJisco1.setFormControlValue(actualFirst);
|
|
|
+ }
|
|
|
}
|
|
|
+ bRailwayActual = false;
|
|
|
}
|
|
|
- bRailwayActual = false;
|
|
|
- }
|
|
|
- //厂外车辆
|
|
|
- else if (car.carTypeNo == "001004002")
|
|
|
- {
|
|
|
- #region 查询一次计量表中是否存在一条未结净的数据,非一车联运情况扫码两次,一车联运的话
|
|
|
-
|
|
|
- RESTfulResult<List<MeterWorkCarActualFirst>> RESTfulResult = workCarActualFirstService.doQueryWf(new MeterWorkCarActualFirst { carNo = PbCache.collect.carno, valueFlag = "1" });
|
|
|
- if (RESTfulResult.Succeed)
|
|
|
+ //厂外车辆
|
|
|
+ else if (car.carTypeNo == "001004002")
|
|
|
{
|
|
|
- if (RESTfulResult.Data != null && RESTfulResult.Data.Count > 0)
|
|
|
+ #region 查询一次计量表中是否存在一条未结净的数据,非一车联运情况扫码两次,一车联运的话
|
|
|
+
|
|
|
+ RESTfulResult<List<MeterWorkCarActualFirst>> RESTfulResult = workCarActualFirstService.doQueryWf(new MeterWorkCarActualFirst { carNo = PbCache.collect.carno, valueFlag = "1" });
|
|
|
+ if (RESTfulResult.Succeed)
|
|
|
{
|
|
|
- if (PbCache.sportInfo.baseSpotNo == lianDaPointNo)
|
|
|
+ if (RESTfulResult.Data != null && RESTfulResult.Data.Count > 0)
|
|
|
{
|
|
|
- bool flag = false;
|
|
|
- foreach (MeterWorkCarActualFirst fs in RESTfulResult.Data)
|
|
|
+ if (PbCache.sportInfo.baseSpotNo == lianDaPointNo)
|
|
|
{
|
|
|
- //联达磅过的联达物料
|
|
|
- if (fs.predictionNo.Contains("_"))
|
|
|
+ bool flag = false;
|
|
|
+ foreach (MeterWorkCarActualFirst fs in RESTfulResult.Data)
|
|
|
{
|
|
|
- firstWgt = fs.meterWeight.Value;
|
|
|
- firstDb = fs;
|
|
|
- firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
|
|
|
- //给用户控件设置值
|
|
|
- ucCarMeterInfoJisco1.setFormControlValue(firstDb);
|
|
|
- flag = true;
|
|
|
- break;
|
|
|
+ //联达磅过的联达物料
|
|
|
+ if (fs.predictionNo.Contains("_"))
|
|
|
+ {
|
|
|
+ firstWgt = fs.meterWeight.Value;
|
|
|
+ firstDb = fs;
|
|
|
+ firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
|
|
|
+ //给用户控件设置值
|
|
|
+ ucCarMeterInfoJisco1.setFormControlValue(firstDb);
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- if (!flag)
|
|
|
- {
|
|
|
- firstWgt = RESTfulResult.Data[0].meterWeight.Value;
|
|
|
- firstDb = RESTfulResult.Data[0];
|
|
|
- firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
|
|
|
- //给用户控件设置值
|
|
|
- ucCarMeterInfoJisco1.setFormControlValue(firstDb);
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- foreach (MeterWorkCarActualFirst fs in RESTfulResult.Data)
|
|
|
- {
|
|
|
- if (fs.predictionNo != null && !fs.predictionNo.Contains("_"))
|
|
|
+ if (!flag)
|
|
|
{
|
|
|
firstWgt = RESTfulResult.Data[0].meterWeight.Value;
|
|
|
firstDb = RESTfulResult.Data[0];
|
|
|
firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
|
|
|
//给用户控件设置值
|
|
|
ucCarMeterInfoJisco1.setFormControlValue(firstDb);
|
|
|
- break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ foreach (MeterWorkCarActualFirst fs in RESTfulResult.Data)
|
|
|
+ {
|
|
|
+ if (fs.predictionNo != null && !fs.predictionNo.Contains("_"))
|
|
|
+ {
|
|
|
+ firstWgt = RESTfulResult.Data[0].meterWeight.Value;
|
|
|
+ firstDb = RESTfulResult.Data[0];
|
|
|
+ firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
|
|
|
+ //给用户控件设置值
|
|
|
+ ucCarMeterInfoJisco1.setFormControlValue(firstDb);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ #endregion
|
|
|
+ bRailwayActual = false;
|
|
|
}
|
|
|
- #endregion
|
|
|
- bRailwayActual = false;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if (string.IsNullOrEmpty(PbCache.collect.carno))
|
|
|
- {
|
|
|
- txtMsgInfo.Text = "车号为空,请联系处理";
|
|
|
- PbCache.monitorResultMessage = "车号为空,请联系处理";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- txtMsgInfo.Text = "车号未注册,请联系处理";
|
|
|
- PbCache.monitorResultMessage = "车号未注册,请联系处理";
|
|
|
- }
|
|
|
- PbCache.isLockFrm = false;
|
|
|
- btnSave.Enabled = true;
|
|
|
+ if (string.IsNullOrEmpty(PbCache.collect.carno))
|
|
|
+ {
|
|
|
+ txtMsgInfo.Text = "车号为空,请联系处理";
|
|
|
+ PbCache.monitorResultMessage = "车号为空,请联系处理";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ txtMsgInfo.Text = "车号未注册,请联系处理";
|
|
|
+ PbCache.monitorResultMessage = "车号未注册,请联系处理";
|
|
|
+ }
|
|
|
+ PbCache.isLockFrm = false;
|
|
|
+ btnSave.Enabled = true;
|
|
|
|
|
|
- rtInfo rt = new rtInfo();
|
|
|
- rt.isWarn = true;
|
|
|
- rt.WarnContent = "carErr";
|
|
|
- Monitor(rt);
|
|
|
+ rtInfo rt = new rtInfo();
|
|
|
+ rt.isWarn = true;
|
|
|
+ rt.WarnContent = "carErr";
|
|
|
+ Monitor(rt);
|
|
|
|
|
|
- if (!string.IsNullOrEmpty(PbCache.collect.carno))
|
|
|
- {
|
|
|
- carService.addCar(new MeterBaseCar { carNo = PbCache.collect.carno, carTypeNo = AppConfigCache.carTypeNo, carTypeName = AppConfigCache.carTypeName });
|
|
|
+ if (!string.IsNullOrEmpty(PbCache.collect.carno))
|
|
|
+ {
|
|
|
+ carService.addCar(new MeterBaseCar { carNo = PbCache.collect.carno, carTypeNo = AppConfigCache.carTypeNo, carTypeName = AppConfigCache.carTypeName });
|
|
|
+ }
|
|
|
+ return;
|
|
|
}
|
|
|
- return;
|
|
|
}
|
|
|
- }
|
|
|
- #region 查一次是否可留期限皮,可以则显示按钮
|
|
|
+ #region 查一次是否可留期限皮,可以则显示按钮
|
|
|
|
|
|
- PbCache.lockWgt = PbCache.collect.weight;
|
|
|
+ PbCache.lockWgt = PbCache.collect.weight;
|
|
|
|
|
|
- //2021年3月15日 期限皮重显示按钮的显示方法修改 isShowBtnTare ValidMethod
|
|
|
- if (termTareCar.isShowBtnTare(TrackCarNo))
|
|
|
- {
|
|
|
- lg.WriteLog(3, string.Format("9车辆[{0}进入期限皮重显示按钮的显示判断", TrackCarNo));
|
|
|
- btnTare.Visible = true;
|
|
|
- }
|
|
|
- //
|
|
|
+ //2021年3月15日 期限皮重显示按钮的显示方法修改 isShowBtnTare ValidMethod
|
|
|
+ if (termTareCar.isShowBtnTare(TrackCarNo))
|
|
|
+ {
|
|
|
+ lg.WriteLog(3, string.Format("9车辆[{0}进入期限皮重显示按钮的显示判断", TrackCarNo));
|
|
|
+ btnTare.Visible = true;
|
|
|
+ }
|
|
|
+ //
|
|
|
|
|
|
- #endregion 查一次是否可留期限皮,可以则显示按钮
|
|
|
- }
|
|
|
+ #endregion 查一次是否可留期限皮,可以则显示按钮
|
|
|
+ }
|
|
|
|
|
|
- #endregion 第一次查询,有车号,重量稳定,红外验证通过的情况只查一次
|
|
|
+ #endregion 第一次查询,有车号,重量稳定,红外验证通过的情况只查一次
|
|
|
|
|
|
|
|
|
#region 毛皮净赋值;存在一次重量firstWgt的情况下才赋值毛皮净重
|