|
@@ -2,7 +2,6 @@
|
|
|
using Common;
|
|
using Common;
|
|
|
using System;
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
|
-using System.Linq;
|
|
|
|
|
using System.Text;
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
@@ -97,12 +96,12 @@ namespace MeterSceneLibrary
|
|
|
{
|
|
{
|
|
|
//listPreScale = rmPre.Data;
|
|
//listPreScale = rmPre.Data;
|
|
|
// 不存在委托
|
|
// 不存在委托
|
|
|
- if (listPreScale == null || listPreScale.Count == 0)
|
|
|
|
|
|
|
+ if (listPreScale == null || listPreScale.Count == 0)
|
|
|
{
|
|
{
|
|
|
PbCache.isActual = true;
|
|
PbCache.isActual = true;
|
|
|
PbCache.isInnerCar = true;
|
|
PbCache.isInnerCar = true;
|
|
|
rt = saveMethod.doAddFirst(null, mwaf);
|
|
rt = saveMethod.doAddFirst(null, mwaf);
|
|
|
- PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成",PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
|
|
|
|
|
|
|
+ PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
|
|
|
}
|
|
}
|
|
|
// 存在一条使用中的委托
|
|
// 存在一条使用中的委托
|
|
|
else if (listPreScale.Count == 1 && listPreScale[0].valueFlag == "4")
|
|
else if (listPreScale.Count == 1 && listPreScale[0].valueFlag == "4")
|
|
@@ -138,14 +137,14 @@ namespace MeterSceneLibrary
|
|
|
// 把委托编号复制给一次计量记录
|
|
// 把委托编号复制给一次计量记录
|
|
|
PbCache.isActual = true;
|
|
PbCache.isActual = true;
|
|
|
PbCache.isInnerCar = true;
|
|
PbCache.isInnerCar = true;
|
|
|
- rt = saveMethod.doAddFirst(listPreScale[0] , mwaf);
|
|
|
|
|
|
|
+ rt = saveMethod.doAddFirst(listPreScale[0], mwaf);
|
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
MeterWorkCarActual lastMeterWorkCarActual = rm.Data[0];
|
|
MeterWorkCarActual lastMeterWorkCarActual = rm.Data[0];
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 上次净重记录未匹配委托
|
|
// 上次净重记录未匹配委托
|
|
|
if (lastMeterWorkCarActual.isPreScale == "0")
|
|
if (lastMeterWorkCarActual.isPreScale == "0")
|
|
|
{
|
|
{
|
|
@@ -196,8 +195,8 @@ namespace MeterSceneLibrary
|
|
|
{
|
|
{
|
|
|
isYCDX = true;
|
|
isYCDX = true;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- if (lastPre.Data[0].predictionCombination == listPreScale[0].predictionCombination && lastPre.Data[0].predictionType == "7" && listPreScale[0].predictionType == "7")
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (!string.IsNullOrEmpty(lastPre.Data[0].receiverRemark) && !string.IsNullOrEmpty(listPreScale[0].receiverRemark) && listPreScale[0].tempConveyance == lastPre.Data[0].tempConveyance && !string.IsNullOrEmpty(listPreScale[0].tempConveyance) && !string.IsNullOrEmpty(lastPre.Data[0].tempConveyance))
|
|
|
{
|
|
{
|
|
|
isHZ = true;
|
|
isHZ = true;
|
|
|
}
|
|
}
|
|
@@ -232,6 +231,7 @@ namespace MeterSceneLibrary
|
|
|
tempCarActualFirst.addWeight = PbCache.addWgt;
|
|
tempCarActualFirst.addWeight = PbCache.addWgt;
|
|
|
tempCarActualFirst.dataSource = "1"; //数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
|
|
tempCarActualFirst.dataSource = "1"; //数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
|
|
|
tempCarActualFirst.isPreScale = "1";
|
|
tempCarActualFirst.isPreScale = "1";
|
|
|
|
|
+ tempCarActualFirst.valueFlag = "2";
|
|
|
|
|
|
|
|
// 复制对象,将档次委托信息复制给一次记录
|
|
// 复制对象,将档次委托信息复制给一次记录
|
|
|
EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
|
|
EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
|
|
@@ -255,7 +255,7 @@ namespace MeterSceneLibrary
|
|
|
* 两次委托发货单位一致,净重时间在4个小时之内
|
|
* 两次委托发货单位一致,净重时间在4个小时之内
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
// 签发时间比较
|
|
// 签发时间比较
|
|
|
// 通过上次洁净记录,找到该委托的签发时间
|
|
// 通过上次洁净记录,找到该委托的签发时间
|
|
@@ -280,7 +280,7 @@ namespace MeterSceneLibrary
|
|
|
// isHZ = true;
|
|
// isHZ = true;
|
|
|
//}
|
|
//}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
else if (isHZ == true)
|
|
else if (isHZ == true)
|
|
|
{
|
|
{
|
|
@@ -290,6 +290,12 @@ namespace MeterSceneLibrary
|
|
|
*/
|
|
*/
|
|
|
// 新增一条皮重数据
|
|
// 新增一条皮重数据
|
|
|
MeterWorkCarActualFirst newActualFirst = new MeterWorkCarActualFirst();
|
|
MeterWorkCarActualFirst newActualFirst = new MeterWorkCarActualFirst();
|
|
|
|
|
+
|
|
|
|
|
+ // 复制对象,将档次委托信息复制给一次记录
|
|
|
|
|
+ EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
|
|
|
|
|
+ newActualFirst = entityBase.format<MeterWorkCarActualFirst>(listPreScale[0], newActualFirst);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
newActualFirst.carNo = PbCache.lockCarNo;
|
|
newActualFirst.carNo = PbCache.lockCarNo;
|
|
|
newActualFirst.weightType = "1"; // 默认重量类型为皮重
|
|
newActualFirst.weightType = "1"; // 默认重量类型为皮重
|
|
|
newActualFirst.actualFirstNo = DateTime.Now.ToString("yyyyMMdd");//10
|
|
newActualFirst.actualFirstNo = DateTime.Now.ToString("yyyyMMdd");//10
|
|
@@ -312,11 +318,9 @@ namespace MeterSceneLibrary
|
|
|
newActualFirst.addWeight = PbCache.addWgt;
|
|
newActualFirst.addWeight = PbCache.addWgt;
|
|
|
newActualFirst.dataSource = "1"; //数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
|
|
newActualFirst.dataSource = "1"; //数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
|
|
|
newActualFirst.isPreScale = "1";
|
|
newActualFirst.isPreScale = "1";
|
|
|
|
|
+ newActualFirst.valueFlag = "2";
|
|
|
|
|
|
|
|
- // 复制对象,将档次委托信息复制给一次记录
|
|
|
|
|
- EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
|
|
|
|
|
- newActualFirst = entityBase.format<MeterWorkCarActualFirst>(listPreScale[0], newActualFirst);
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
|
|
EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
|
|
|
mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
|
|
mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
|
|
|
|
|
|
|
@@ -324,9 +328,8 @@ namespace MeterSceneLibrary
|
|
|
mwaf.weightType = "0"; // 毛重
|
|
mwaf.weightType = "0"; // 毛重
|
|
|
mwaf.isPreScale = "1";
|
|
mwaf.isPreScale = "1";
|
|
|
// 混装逻辑,并洁净匹配委托
|
|
// 混装逻辑,并洁净匹配委托
|
|
|
- rt = saveMethod.doNetHZHX(listPreScale[0], newActualFirst, mwaf);
|
|
|
|
|
|
|
+ rt = saveMethod.doAddNetNewHZHX(listPreScale[0], newActualFirst, mwaf);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
|
|
EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
|
|
@@ -336,7 +339,7 @@ namespace MeterSceneLibrary
|
|
|
rt = saveMethod.doAddFirst(listPreScale[0], mwaf);
|
|
rt = saveMethod.doAddFirst(listPreScale[0], mwaf);
|
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
// 存在洁净记录,不满足以上逻辑
|
|
// 存在洁净记录,不满足以上逻辑
|
|
|
else {
|
|
else {
|
|
@@ -391,10 +394,11 @@ namespace MeterSceneLibrary
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
if (matter == item.matterNo && forwarding == item.forwardingUnitNo && receiving == item.receivingUintNo)
|
|
if (matter == item.matterNo && forwarding == item.forwardingUnitNo && receiving == item.receivingUintNo)
|
|
|
- {}
|
|
|
|
|
|
|
+ { }
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
flag = false;
|
|
flag = false;
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -402,7 +406,7 @@ namespace MeterSceneLibrary
|
|
|
{
|
|
{
|
|
|
pre = listPreScale[0];
|
|
pre = listPreScale[0];
|
|
|
}
|
|
}
|
|
|
- if (listPreScale.Count == 2 && listPreScale[0].valueFlag == "1" && listPreScale[1].valueFlag == "1" && listPreScale[0].predictionType == "6" && listPreScale[1].predictionType == "6")
|
|
|
|
|
|
|
+ if (listPreScale.Count == 2 && listPreScale[0].valueFlag == "1" && listPreScale[1].valueFlag == "1" && listPreScale[0].predictionType == "6" && listPreScale[1].predictionType == "6")
|
|
|
{
|
|
{
|
|
|
pre = listPreScale[0];
|
|
pre = listPreScale[0];
|
|
|
}
|
|
}
|
|
@@ -417,11 +421,16 @@ namespace MeterSceneLibrary
|
|
|
if (listPreScale.Count == 2 && listPreScale[0].matterNo == listPreScale[1].matterNo && (listPreScale[0].receivingUintNo == listPreScale[1].forwardingUnitNo || listPreScale[0].forwardingUnitNo == listPreScale[1].receivingUintNo))
|
|
if (listPreScale.Count == 2 && listPreScale[0].matterNo == listPreScale[1].matterNo && (listPreScale[0].receivingUintNo == listPreScale[1].forwardingUnitNo || listPreScale[0].forwardingUnitNo == listPreScale[1].receivingUintNo))
|
|
|
{
|
|
{
|
|
|
// 正常洁净并生成两条净重数据
|
|
// 正常洁净并生成两条净重数据
|
|
|
- pre = listPreScale[0];
|
|
|
|
|
- res = ",双委托业务";
|
|
|
|
|
|
|
+ pre = listPreScale[1];
|
|
|
|
|
+ res = ",双委托业务";
|
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成,双委托业务", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成,双委托业务", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ if (listPreScale.Count == 2 && !string.IsNullOrEmpty(listPreScale[0].receiverRemark) && !string.IsNullOrEmpty(listPreScale[1].receiverRemark) && listPreScale[0].tempConveyance == listPreScale[1].tempConveyance && !string.IsNullOrEmpty(listPreScale[0].tempConveyance) && !string.IsNullOrEmpty(listPreScale[1].tempConveyance))
|
|
|
|
|
+ {
|
|
|
|
|
+ pre = listPreScale[1];
|
|
|
|
|
+ res = ",混装混卸";
|
|
|
|
|
+ PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成,混装混卸", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
|
|
|
|
|
+ }
|
|
|
if (pre == null)
|
|
if (pre == null)
|
|
|
{
|
|
{
|
|
|
res = ",存在多个委托,无法自动匹配";
|
|
res = ",存在多个委托,无法自动匹配";
|
|
@@ -526,12 +535,9 @@ namespace MeterSceneLibrary
|
|
|
rt = saveMethod.doNetAddTwo(listPreScale, rmX.Data[0], mwaf);
|
|
rt = saveMethod.doNetAddTwo(listPreScale, rmX.Data[0], mwaf);
|
|
|
}
|
|
}
|
|
|
/*
|
|
/*
|
|
|
- * 委托关系满足一车多卸逻辑
|
|
|
|
|
- * 分两种情况:
|
|
|
|
|
- * 1、委托数据中没有委托类型标识,则根据签发时间排序,如果两条数据发货单位一致,收货单位不一致,且签发时间在10分钟内,则可判定为一车多卸业务,根据时间顺序选择第一条委托产生净重数据,然后使用第二条委托产生一个毛重数据。
|
|
|
|
|
- * 2、委托数据中存在委托类型标识,且类型都为一车多卸。
|
|
|
|
|
|
|
+ * 委托关系满足混装逻辑
|
|
|
*/
|
|
*/
|
|
|
- else if (listPreScale[0].predictionType == "6" && listPreScale[1].predictionType == "6" || listPreScale[0].predictionType == "7" && listPreScale[1].predictionType == "7")
|
|
|
|
|
|
|
+ else if (listPreScale.Count == 2 && !string.IsNullOrEmpty(listPreScale[0].receiverRemark) && !string.IsNullOrEmpty(listPreScale[1].receiverRemark) && listPreScale[0].tempConveyance == listPreScale[1].tempConveyance && !string.IsNullOrEmpty(listPreScale[0].tempConveyance) && !string.IsNullOrEmpty(listPreScale[1].tempConveyance))
|
|
|
{
|
|
{
|
|
|
/*
|
|
/*
|
|
|
* a. 正常洁净产生一条净重记录
|
|
* a. 正常洁净产生一条净重记录
|
|
@@ -544,11 +550,11 @@ namespace MeterSceneLibrary
|
|
|
EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
|
|
EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
|
|
|
mwca = entityBase.format<MeterWorkCarActualFirst>(listPreScale[0], mwca);
|
|
mwca = entityBase.format<MeterWorkCarActualFirst>(listPreScale[0], mwca);
|
|
|
|
|
|
|
|
- EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
|
|
|
|
|
- mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
|
|
|
|
|
- mwaf.isPreScale = "1";
|
|
|
|
|
|
|
+ //EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
|
|
|
|
|
+ //mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
|
|
|
|
|
+ //mwaf.isPreScale = "1";
|
|
|
|
|
|
|
|
- rt = saveMethod.doNetHZHX(listPreScale[0], mwca, mwaf);
|
|
|
|
|
|
|
+ rt = saveMethod.doNetHZHX(listPreScale[1], mwca, mwaf);
|
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmX.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmX.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
|
|
|
}
|
|
}
|
|
|
// 不满足以上逻辑
|
|
// 不满足以上逻辑
|
|
@@ -675,7 +681,7 @@ namespace MeterSceneLibrary
|
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmX.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmX.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
|
|
|
|
|
|
|
|
rt.result = true;
|
|
rt.result = true;
|
|
|
- rt.resultInfo = "称重完成";
|
|
|
|
|
|
|
+ rt.resultInfo = "计量完成";
|
|
|
}
|
|
}
|
|
|
// 如果存在一条未使用的委托和一条使用中的委托
|
|
// 如果存在一条未使用的委托和一条使用中的委托
|
|
|
else if (listPreScale.Count == 2 && (listPreScale[0].valueFlag == "4" && listPreScale[1].valueFlag == "1" || listPreScale[0].valueFlag == "1" && listPreScale[1].valueFlag == "4"))
|
|
else if (listPreScale.Count == 2 && (listPreScale[0].valueFlag == "4" && listPreScale[1].valueFlag == "1" || listPreScale[0].valueFlag == "1" && listPreScale[1].valueFlag == "4"))
|
|
@@ -698,7 +704,7 @@ namespace MeterSceneLibrary
|
|
|
/*
|
|
/*
|
|
|
* 委托关系满足混装混卸逻辑
|
|
* 委托关系满足混装混卸逻辑
|
|
|
*/
|
|
*/
|
|
|
- else if (listPreScale[0].predictionType == "6" && listPreScale[1].predictionType == "6" || listPreScale[0].predictionType == "7" && listPreScale[1].predictionType == "7")
|
|
|
|
|
|
|
+ else if (listPreScale.Count == 2 && !string.IsNullOrEmpty(listPreScale[0].receiverRemark) && !string.IsNullOrEmpty(listPreScale[1].receiverRemark) && listPreScale[0].tempConveyance == listPreScale[1].tempConveyance && !string.IsNullOrEmpty(listPreScale[0].tempConveyance) && !string.IsNullOrEmpty(listPreScale[1].tempConveyance))
|
|
|
{
|
|
{
|
|
|
/*
|
|
/*
|
|
|
* a. 正常洁净产生一条净重记录
|
|
* a. 正常洁净产生一条净重记录
|
|
@@ -721,11 +727,12 @@ namespace MeterSceneLibrary
|
|
|
EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
|
|
EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
|
|
|
mwca = entityBase.format<MeterWorkCarActualFirst>(pts, mwca);
|
|
mwca = entityBase.format<MeterWorkCarActualFirst>(pts, mwca);
|
|
|
|
|
|
|
|
- EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
|
|
|
|
|
- mwaf = entityBase1.format<MeterWorkCarActualFirst>(pts, mwaf);
|
|
|
|
|
- mwaf.isPreScale = "1";
|
|
|
|
|
|
|
+ //EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
|
|
|
|
|
+ //mwaf = entityBase1.format<MeterWorkCarActualFirst>(pts, mwaf);
|
|
|
|
|
+ //mwaf.isPreScale = "1";
|
|
|
|
|
|
|
|
- rt = saveMethod.doNetHZHX(listPreScale[0], mwca, mwaf);
|
|
|
|
|
|
|
+ rt = saveMethod.doNetHZHX(pts, mwca, mwaf);
|
|
|
|
|
+ rt.resultInfo += ",混装混卸";
|
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmX.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
|
|
PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmX.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
|
|
|
}
|
|
}
|
|
|
// 不满足以上逻辑
|
|
// 不满足以上逻辑
|