|
|
@@ -15,6 +15,7 @@ using System.Drawing;
|
|
|
using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Windows.Forms;
|
|
|
+using SystemOffLine;
|
|
|
|
|
|
namespace CarMeterSystem
|
|
|
{
|
|
|
@@ -52,12 +53,6 @@ namespace CarMeterSystem
|
|
|
//语音播报
|
|
|
private VoicePlay vicPlayClass = new VoicePlay();
|
|
|
|
|
|
- //扫码枪1
|
|
|
- private SweepCode sweepCodeClass = new SweepCode();
|
|
|
-
|
|
|
- //扫码枪2
|
|
|
- private SweepCodeCpoy sweepCodeCpoyClass = new SweepCodeCpoy();
|
|
|
-
|
|
|
private LED_Control led_controler = null;
|
|
|
|
|
|
//验证校秤数据
|
|
|
@@ -88,6 +83,10 @@ namespace CarMeterSystem
|
|
|
|
|
|
private bool isOpened = false;//是否已经打开了扫码计量界面
|
|
|
|
|
|
+ private SerialPortES sweepCodeClass = new SerialPortES();
|
|
|
+
|
|
|
+ private SerialPortES sweepCodeClass2 = new SerialPortES();
|
|
|
+
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
|
{
|
|
|
//*
|
|
|
@@ -185,11 +184,15 @@ namespace CarMeterSystem
|
|
|
collection.Start(PbCache.sportInfo.baseSpotNo, PbCache.sportInfo.baseSpotName);
|
|
|
|
|
|
imageCurlControl.Start(); //图片采集线程
|
|
|
- sweepCodeClass.StartThreadSweep(); //扫码线程
|
|
|
- sweepCodeCpoyClass.StartThreadSweep(); //扫码线程
|
|
|
- ////***********************暂时注释掉*****************************************************
|
|
|
- ////sweepCodeClass.StartThreadSweep();
|
|
|
- ////**************************************************************************************
|
|
|
+ //新扫码线程
|
|
|
+ if (AppConfigCache._comPara?.Split(new char[] { ',' })?.Length == 5)
|
|
|
+ {
|
|
|
+ sweepCodeClass.StartThreadSweep(AppConfigCache._comPara); //扫码线程
|
|
|
+ }
|
|
|
+ if (AppConfigCache._comPara2?.Split(new char[] { ',' })?.Length == 5)
|
|
|
+ {
|
|
|
+ sweepCodeClass2.StartThreadSweep(AppConfigCache._comPara2); //扫码线程
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -331,93 +334,33 @@ namespace CarMeterSystem
|
|
|
|
|
|
#region 扫码信息
|
|
|
|
|
|
+ if (!string.IsNullOrEmpty(sweepCodeClass2.StrCode))
|
|
|
+ {
|
|
|
+ Console.WriteLine("code:"+sweepCodeClass2.StrCode);
|
|
|
|
|
|
- sweepCodeClass.StrState = e.weightStatus + ""; //重量状态信息;当StrState= 0时,获取扫码信息,StrState= 2时将扫码信息置位“”空;其他状态不处理
|
|
|
- sweepCodeCpoyClass.StrState = e.weightStatus + ""; //重量状态信息;当StrState= 0时,获取扫码信息,StrState= 2时将扫码信息置位“”空;其他状态不处理
|
|
|
- l.WriteLog(12, sweepCodeClass.ToString());
|
|
|
- l.WriteLog(12, sweepCodeCpoyClass.ToString());
|
|
|
-
|
|
|
+ }
|
|
|
|
|
|
- if (string.IsNullOrEmpty(sweepCodeCpoyClass.StrCode))
|
|
|
+ // 司机扫码为空,取工控机二维码
|
|
|
+ if (string.IsNullOrEmpty(sweepCodeClass2.StrCode))
|
|
|
{
|
|
|
- if (string.IsNullOrEmpty(PbCache.strCode))
|
|
|
+ if (string.IsNullOrEmpty(sweepCodeClass.StrCode))
|
|
|
{
|
|
|
- codeFlag = false;
|
|
|
- firstCode = "";
|
|
|
- PbCache.strCode = "";
|
|
|
- l.WriteLog(12, "主线程扫码值为空时清空;sweepCodeCpoyClass.StrCode值为" + sweepCodeCpoyClass.StrCode + " ;PbCache.strCode值为:" + PbCache.strCode);
|
|
|
+ if (string.IsNullOrEmpty(PbCache.strCode))
|
|
|
+ {
|
|
|
+ codeFlag = false;
|
|
|
+ firstCode = "";
|
|
|
+ PbCache.strCode = "";
|
|
|
+ l.WriteLog(12, "主线程扫码值为空时清空;sweepCodeClass.StrCode值为" + sweepCodeClass.StrCode + " ;PbCache.strCode值为:" + PbCache.strCode);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (string.IsNullOrEmpty(sweepCodeClass.StrCode))
|
|
|
- {
|
|
|
- if (string.IsNullOrEmpty(PbCache.strCode))
|
|
|
- {
|
|
|
- codeFlag = false;
|
|
|
- firstCode = "";
|
|
|
- PbCache.strCode = "";
|
|
|
- l.WriteLog(12, "主线程扫码值为空时清空;sweepCodeClass.StrCode值为" + sweepCodeClass.StrCode + " ;PbCache.strCode值为:" + PbCache.strCode);
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- codeFlag = true;
|
|
|
- frmOneYardToEnd frmOneYardToEnd = new frmOneYardToEnd();
|
|
|
- Hashtable hashTable = new Hashtable();
|
|
|
- hashTable.Add("message", sweepCodeClass.StrCode);
|
|
|
- rmsSweepCodeClass = mwcfs.DecryptionForWfTest(hashTable);
|
|
|
- if (rmsSweepCodeClass.Code == "0")
|
|
|
- {
|
|
|
- PbCache.collect.carno = rmsSweepCodeClass.Data;
|
|
|
- PbCache.strCode = rmsSweepCodeClass.Data;
|
|
|
- }
|
|
|
- if (rmsSweepCodeClass.Code == "1")
|
|
|
- {
|
|
|
- vicPlayClass.GetVoicePlay("车号二维码已过期", PbCache.collect.carno);
|
|
|
- frmOneYardToEnd.setMsgInfo("车号二维码已过期");
|
|
|
- }
|
|
|
- if (rmsSweepCodeClass.Code == "2")
|
|
|
- {
|
|
|
- vicPlayClass.GetVoicePlay("不是有效车号二维码", PbCache.collect.carno);
|
|
|
- frmOneYardToEnd.setMsgInfo("不是有效车号二维码");
|
|
|
- }
|
|
|
- if (rmsSweepCodeClass.Code == "9")
|
|
|
- {
|
|
|
- vicPlayClass.GetVoicePlay("不是有效车号二维码", PbCache.collect.carno);
|
|
|
- frmOneYardToEnd.setMsgInfo("不是有效车号二维码");
|
|
|
- }
|
|
|
- l.WriteLog(12, "测试扫码值" + rmsSweepCodeClass.Data);
|
|
|
- }
|
|
|
+ DecodeQRCode(sweepCodeClass.StrCode);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- codeFlag = true;
|
|
|
- frmOneYardToEnd frmOneYardToEnd = new frmOneYardToEnd();
|
|
|
- Hashtable hashTable = new Hashtable();
|
|
|
- hashTable.Add("message", sweepCodeCpoyClass.StrCode);
|
|
|
- rmsSweepCodeClass = mwcfs.DecryptionForWfTest(hashTable);
|
|
|
- if (rmsSweepCodeClass.Code == "0")
|
|
|
- {
|
|
|
- PbCache.collect.carno = rmsSweepCodeClass.Data;
|
|
|
- PbCache.strCode = rmsSweepCodeClass.Data;
|
|
|
- }
|
|
|
- if (rmsSweepCodeClass.Code == "1")
|
|
|
- {
|
|
|
- vicPlayClass.GetVoicePlay("车号二维码已过期", PbCache.collect.carno);
|
|
|
- frmOneYardToEnd.setMsgInfo("车号二维码已过期");
|
|
|
- }
|
|
|
- if (rmsSweepCodeClass.Code == "2")
|
|
|
- {
|
|
|
- vicPlayClass.GetVoicePlay("不是有效车号二维码", PbCache.collect.carno);
|
|
|
- frmOneYardToEnd.setMsgInfo("不是有效车号二维码");
|
|
|
- }
|
|
|
- if (rmsSweepCodeClass.Code == "9")
|
|
|
- {
|
|
|
- vicPlayClass.GetVoicePlay("不是有效车号二维码", PbCache.collect.carno);
|
|
|
- frmOneYardToEnd.setMsgInfo("不是有效车号二维码");
|
|
|
- }
|
|
|
- l.WriteLog(12, "测试扫码值" + rmsSweepCodeClass.Data);
|
|
|
+ DecodeQRCode(sweepCodeClass2.StrCode);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
@@ -435,6 +378,7 @@ namespace CarMeterSystem
|
|
|
//秤上没有车时,每隔10分钟获取一次基础数据
|
|
|
if (e.weight < 500)
|
|
|
{
|
|
|
+
|
|
|
editCarNo = "";
|
|
|
preCarNo = "";
|
|
|
if (bd.setBaseDb())
|
|
|
@@ -545,6 +489,7 @@ namespace CarMeterSystem
|
|
|
if (PbCache.dtStartTime == null)
|
|
|
PbCache.dtStartTime = DateTime.Now;
|
|
|
isLedWrite = true;
|
|
|
+ PbCache.strState = "0";
|
|
|
|
|
|
#region 查一次是否校秤,若未校秤则不能计量
|
|
|
/*
|
|
|
@@ -644,6 +589,7 @@ namespace CarMeterSystem
|
|
|
sCarNo = PbCache.monitor.setCar;
|
|
|
codeFlag = false;
|
|
|
sweepCodeClass.StrCode = "";
|
|
|
+ sweepCodeClass2.StrCode = "";
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
@@ -730,7 +676,7 @@ namespace CarMeterSystem
|
|
|
uc.setControlEnable(true);
|
|
|
}
|
|
|
}
|
|
|
- if (sweepCodeClass.StrCode == "" && !codeFlag)
|
|
|
+ if ((sweepCodeClass.StrCode == "" || sweepCodeClass2.StrCode == "") && !codeFlag)
|
|
|
{
|
|
|
PbCache.collect.carno = sCarNo;
|
|
|
}
|
|
|
@@ -855,6 +801,36 @@ namespace CarMeterSystem
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void DecodeQRCode(string strCode)
|
|
|
+ {
|
|
|
+ codeFlag = true;
|
|
|
+ frmOneYardToEnd frmOneYardToEnd = new frmOneYardToEnd();
|
|
|
+ Hashtable hashTable = new Hashtable();
|
|
|
+ hashTable.Add("message", strCode);
|
|
|
+ rmsSweepCodeClass = mwcfs.DecryptionForWfTest(hashTable);
|
|
|
+ if (rmsSweepCodeClass.Code == "0")
|
|
|
+ {
|
|
|
+ PbCache.collect.carno = rmsSweepCodeClass.Data;
|
|
|
+ PbCache.strCode = rmsSweepCodeClass.Data;
|
|
|
+ }
|
|
|
+ if (rmsSweepCodeClass.Code == "1")
|
|
|
+ {
|
|
|
+ vicPlayClass.GetVoicePlay("车号二维码已过期", PbCache.collect.carno);
|
|
|
+ frmOneYardToEnd.setMsgInfo("车号二维码已过期");
|
|
|
+ }
|
|
|
+ if (rmsSweepCodeClass.Code == "2")
|
|
|
+ {
|
|
|
+ vicPlayClass.GetVoicePlay("不是有效车号二维码", PbCache.collect.carno);
|
|
|
+ frmOneYardToEnd.setMsgInfo("不是有效车号二维码");
|
|
|
+ }
|
|
|
+ if (rmsSweepCodeClass.Code == "9")
|
|
|
+ {
|
|
|
+ vicPlayClass.GetVoicePlay("不是有效车号二维码", PbCache.collect.carno);
|
|
|
+ frmOneYardToEnd.setMsgInfo("不是有效车号二维码");
|
|
|
+ }
|
|
|
+ l.WriteLog(12, "测试扫码值" + rmsSweepCodeClass.Data);
|
|
|
+ }
|
|
|
+
|
|
|
private delegate void ShowBtnTare(bool flag);//定义委托 期限皮重按钮
|
|
|
|
|
|
private int testWgt = 1000;
|
|
|
@@ -1428,6 +1404,7 @@ namespace CarMeterSystem
|
|
|
collection.Stop();
|
|
|
imageCurlControl.Stop();
|
|
|
sweepCodeClass.CloseThread();
|
|
|
+ sweepCodeClass2.CloseThread();
|
|
|
timer1.Stop();
|
|
|
timer1.Dispose();
|
|
|
}
|