Explorar o código

双扫码业务提交

BourneCao %!s(int64=3) %!d(string=hai) anos
pai
achega
fe8db7f417

+ 4 - 4
CarMeterSystem/App.config

@@ -4,19 +4,19 @@
 		<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
 	</startup>
 	<appSettings>
-		<!--<add key="ServiceUrl" value="http://127.0.0.1:9004/v1" />-->
+		<add key="ServiceUrl" value="http://127.0.0.1:9004/v1" />
     <!--<add key="ServiceUrl" value="http://10.104.4.105:9004/v1" />-->
     <!--<add key="ServiceUrl" value="http://192.168.216.143:9004/v1" />-->
     <!--<add key="ServiceUrl" value="http://192.168.137.136:9004/v1" />-->
     <!--<add key="ServiceUrl" value="http://10.104.0.1:9004/v1" />-->
     <!--<add key="ServiceUrl" value="http://192.168.107.60:8888/icore.icp.winform/pass/jlcar"/>-->
     <!--<add key="ServiceUrl" value="http://192.168.185.29/icore.icp.winform/pass/jlcar"/>-->
-    <add key="ServiceUrl" value="http://10.99.81.20/icore.icp.web/pass/systemBase/v1"/>
+    <!--<add key="ServiceUrl" value="http://10.99.81.20/icore.icp.web/pass/systemBase/v1"/>-->
     <!--<add key="ServiceUrl" value="http://jgwzjl.jiugang.com/icore.icp.web/pass/systemBase/v1"/>-->
     <!--<add key="ServiceUrl" value="http://10.130.1.2/icore.icp.web/pass/systemBase/v1"/>-->
     <!--实时库地址-->
-    <add key="icoredbTcp" value="tarantool://guest@10.130.1.3:2101" />
-    <add key="icoredbTcp2" value="tarantool://guest@10.99.200.86:2101" />
+    <add key="icoredbTcp" value="tarantool://guest@10.99.200.86:2101" />
+    <add key="icoredbTcp2" value="tarantool://guest@10.130.1.3:2101" />
     <!--<add key="icoredbTcp" value="tarantool://guest@10.130.1.3:2101" />-->
     <!--SFTP或者vsftp服务端连接及地址-->
 		<add key="fip" value="192.168.185.238" />

+ 47 - 2
CarMeterSystem/frmOneYardToEnd.cs

@@ -190,7 +190,29 @@ namespace CarMeterSystem
 
                 if (PbCache.collect == null) return;
 
-                PbCache.lockCarNo = PbCache.collect.carno;
+                // 20221011 By BourneCao 
+                // 增加双摄像头支持
+                // 1. 如果不为视觉识别,则正常赋值
+                if (PbCache.collect.licType != 0)
+                {
+                    PbCache.lockCarNo = PbCache.collect.carno;
+                }
+                // 2. 如果识别类型为视觉识别
+                else
+                {
+                    // 2.1 如果双摄像头识别类型为 0:都识别且一致   1:只有一个识别,则正常赋值
+                    if (PbCache.collect.carnoAlert == "0" || PbCache.collect.carnoAlert == "1")
+                    {
+                        PbCache.lockCarNo = PbCache.collect.carno;
+                    }
+                    // 2.2 如果 2:都识别但不一致   3:都不识别,则不保存
+                    else
+                    {
+                        return;
+                    }
+                    
+                }
+                
 
                 lg.WriteLog(15, PbCache.lockCarNo + "点击保存按钮");
                 PreTrackScale preTrack = ucCarMeterInfoJisco1._preTrack;
@@ -1784,7 +1806,30 @@ namespace CarMeterSystem
                             if (!btnSave.Visible)//PbCache.isLockFrm
                             {
                                 //btnSave.Visible = true;//rxh delete
-                                setMsgInfo(btnSave, "true", "2");//rxh add
+                                //setMsgInfo(btnSave, "true", "2");//rxh add
+
+                                // 20221011 By BourneCao 
+                                // 增加双摄像头支持
+                                // 1. 如果不为视觉识别,则正常赋值
+                                if (PbCache.collect.licType != 0)
+                                {
+                                    setMsgInfo(btnSave, "true", "2");
+                                }
+                                // 2. 如果识别类型为视觉识别
+                                else
+                                {
+                                    // 2.1 如果双摄像头识别类型为 0:都识别且一致   1:只有一个识别,则正常赋值
+                                    if (PbCache.collect.carnoAlert == "0" || PbCache.collect.carnoAlert == "1")
+                                    {
+                                        setMsgInfo(btnSave, "true", "2");
+                                    }
+                                    // 2.2 如果 2:都识别但不一致   3:都不识别,则不保存
+                                    else
+                                    {
+                                        return;
+                                    }
+
+                                }
                             }
                             if (!isVoiceDownCar)
                             {

+ 9 - 2
Common/database/MemoryTableDataSocket.cs

@@ -179,12 +179,19 @@ namespace Common
                         arr[0].StopStatus, //5
                         arr[0].Datetime, //6
                         arr[0].LicType, //7
-                        PlateNoList.Count == 0 ? "" : PlateNoList[PlateNoList.Count - 1].CarNo, //8
+                        // 20221011 By BourneCao 
+                        // 增加双摄像头支持
+                        //PlateNoList.Count == 0 ? "" : PlateNoList[PlateNoList.Count - 1].CarNo, //8
+                        PlateNoList.Count == 0 ? "" : PlateNoList[0].CarNo, //8
                         RfidList.Count == 0 ? "" : RfidList[RfidList.Count - 1].CarNo, //9
                         arr[0].WeightSave, //10
                         arr[0].FinishTime, //11
                         arr[0].Entry, //12
-                        arr[0].Exit); //13
+                        arr[0].Exit,  //13
+                        // 20221011 By BourneCao 
+                        // 增加双摄像头支持
+                        PlateNoList.Count == 1 ? "" : PlateNoList[1].CarNo //14
+                    ); 
 
                     double mainWgt = 0;
                     double viceWgt = 0;

+ 5 - 0
Common/vo/pb/CollectModel.cs

@@ -45,5 +45,10 @@ namespace Common.vo.pb
         /// 0:车牌抓拍; 1:RFID 识别
         /// </summary>
         public int licType { get; set; }
+
+        /// <summary>
+        /// 双车号识别类型   0:都识别且一致   1:只有一个识别   2:都识别但不一致   3:都不识别
+        /// </summary>
+        public string carnoAlert { get; set; }
     }
 }

+ 42 - 1
MeterPlugInLibrary/实时库数据采集/DataCollectionControl.cs

@@ -17,6 +17,9 @@ namespace MeterPlugInLibrary
     public class DataCollectionArgs
     {
         public string carno { get; set; }//车号
+
+        public string carnoAlert { get; set; } //双车号识别类型  0:都识别且一致   1:只有一个识别   2:都识别但不一致   3:都不识别
+
         public int weight { get; set; }//重量
         public int weightStatus { get; set; }//0稳定,1不稳定,2空磅
         public int parkStatus { get; set; }//红外对射 0未挡住,1:车头压线  2:车尾压线  3:两头压线; 记录在重量稳定后生成
@@ -87,7 +90,45 @@ namespace MeterPlugInLibrary
 
                         if (arg.licType == 0) //摄像头的数据
                         {
-                            arg.carno = jArray[2].ToString();
+                            // arg.carno = jArray[2].ToString();
+
+                            // 20221011 By BourneCao 
+                            // 增加双摄像头支持
+                            // 1. 获取双摄像头车号
+                            string carNo1 = jArray[8].ToString();
+                            string carNo2 = jArray[14].ToString();
+
+                            // 2. 判断逻辑:
+                            //  a.A车号识别,B车号不识别;B车号识别,A车号不识别,正常计量,标记只有1个车号识别
+                            if(carNo1 != "" && carNo2 == "")
+                            {
+                                arg.carno = carNo1;
+                                arg.carnoAlert = "1";
+                            }
+                            else if (carNo2 != "" && carNo1 == "")
+                            {
+                                arg.carno = carNo2;
+                                arg.carnoAlert = "1";
+                            }
+                            //  b.A车号识别,B车号识别,且识别一致,正常计量
+                            else if (carNo1 != "" && carNo2 != "" && carNo1 == carNo2)
+                            {
+                                arg.carno = carNo1;
+                                arg.carnoAlert = "0";
+                            }
+                            //  c.A车号识别,B车号识别,且识别不一致,停止计量,标记只有车号不一致识别
+                            else if (carNo1 != "" && carNo2 != "" && carNo1 != carNo2)
+                            {
+                                arg.carno = "";
+                                arg.carnoAlert = "2";
+                            }
+                            // d.都不识别
+                            else
+                            {
+                                arg.carno = "";
+                                arg.carnoAlert = "3";
+                            }
+
                         }
                         else
                         {