Bladeren bron

优化主界面,计量界面内存占用问题

BourneCao 3 jaren geleden
bovenliggende
commit
35bd3a813b

+ 1 - 1
CarMeterSystem/App.config

@@ -30,7 +30,7 @@
 		<!--毛皮差值验证(单位kg)-->
 		<add key="differenceWgt" value="400" />
 		<!--进入测试界面还是正式界面 0测试,1正式,2一码到底测试,3判稳测试工具-->
-		<add key="productType" value="1" />
+		<add key="productType" value="0" />
 		<!--联达比较重量-->
 		<add key="lianDaWgt" value="200" />
 		<!--联达计量点编号-->

+ 10 - 1
CarMeterSystem/Form1.cs

@@ -67,6 +67,11 @@ namespace CarMeterSystem
         /// </summary>
         private frmWelcome_Jisco frmWelcome = new frmWelcome_Jisco();//欢迎
 
+        /// <summary>
+        /// 计量页
+        /// </summary>
+        private frmOneYardToEnd fcc = null;
+
         /// <summary>
         /// 基础数据载入
         /// </summary>
@@ -193,6 +198,9 @@ namespace CarMeterSystem
                         {
                             sweepCodeClass2.StartThreadSweep(AppConfigCache._comPara2); //扫码线程
                         }
+
+                        // 计量页
+                        fcc = new frmOneYardToEnd();
                     }
                     else
                     {
@@ -1180,8 +1188,9 @@ namespace CarMeterSystem
                 isOpenMeter = true;
                 PbCache.bussinessTypeName = "";
                 PbCache.bussinessTypeCode = "";
-                frmOneYardToEnd fcc = new frmOneYardToEnd();
+               
                 fcc.ShowDialog();
+                fcc.init();
             }
         }
 

+ 11 - 1
CarMeterSystem/frmMain.cs

@@ -72,6 +72,11 @@ namespace CarMeterSystem
         /// </summary>
         private frmWelcome_Jisco frmWelcome = new frmWelcome_Jisco();//欢迎
 
+        /// <summary>
+        /// 计量页
+        /// </summary>
+        private frmOneYardToEnd fcc = null;
+
         /// <summary>
         /// 基础数据载入
         /// </summary>
@@ -190,6 +195,9 @@ namespace CarMeterSystem
                         {
                             sweepCodeClass2.StartThreadSweep(AppConfigCache._comPara2); //扫码线程
                         }
+
+                        // 计量页
+                        fcc = new frmOneYardToEnd();
                     }
                     else
                     {
@@ -221,8 +229,10 @@ namespace CarMeterSystem
                 isOpened = true;
                 PbCache.bussinessTypeName = "";
                 PbCache.bussinessTypeCode = "";
-                frmOneYardToEnd fcc = new frmOneYardToEnd();
+
+                
                 fcc.ShowDialog();
+                fcc.init();
             }
         }
 

+ 2 - 2
CarMeterSystem/frmOneYardToEnd.Designer.cs

@@ -104,6 +104,7 @@
             this.btnFH.TabIndex = 642;
             this.btnFH.Text = "返回主界面";
             this.btnFH.UseVisualStyleBackColor = false;
+            this.btnFH.Visible = false;
             this.btnFH.Click += new System.EventHandler(this.btnFH_Click);
             // 
             // btnTare
@@ -205,9 +206,8 @@
             this.lbPointName.Location = new System.Drawing.Point(564, 7);
             this.lbPointName.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.lbPointName.Name = "lbPointName";
-            this.lbPointName.Size = new System.Drawing.Size(207, 76);
+            this.lbPointName.Size = new System.Drawing.Size(0, 76);
             this.lbPointName.TabIndex = 4;
-            this.lbPointName.Text = "";
             // 
             // timer1
             // 

+ 153 - 5
CarMeterSystem/frmOneYardToEnd.cs

@@ -69,6 +69,8 @@ namespace CarMeterSystem
 
         private LED_Control led_controler;
 
+        private MeterWorkCarActualFirst meterWorkCarActualFirst = null;
+
         //lianDaWgt
 
         //=========== 2021-11-25 eason add ====================
@@ -93,7 +95,8 @@ namespace CarMeterSystem
                 {
                     led_controler = new LED_Control(PbCache.sportInfo.ledIp);
                 }
-                PbCache.mwPreFirst = new MeterWorkCarActualFirst();
+                meterWorkCarActualFirst = new MeterWorkCarActualFirst();
+                PbCache.mwPreFirst = meterWorkCarActualFirst;
                 PbCache.isPre = false;
 
                 //不显示重量
@@ -115,6 +118,25 @@ namespace CarMeterSystem
             }
         }
 
+        public void init()
+        {
+            PbCache.mwPreFirst = meterWorkCarActualFirst;
+            
+            PbCache.isPre = false;
+
+            //不显示重量
+            ucWeightCarTJXJG1.setWgtBackColor(true);
+            if (PbCache.isTest)
+            {
+                btnFH.Enabled = true;
+                btnFH.Visible = true;
+            }
+            btnTare.Visible = false;
+            timer1.Start();
+            lbPointName.Text = PbCache.sportInfo.baseSpotName;
+            ucCarMeterInfoJisco1.setMeterType(PbCache.bussinessTypeName);
+            tableLayoutPanelPromptMsg.CellBorderStyle = (TableLayoutPanelCellBorderStyle)BorderStyle.FixedSingle;
+        }
 
         /// <summary>
         /// 数据保存
@@ -936,7 +958,6 @@ namespace CarMeterSystem
 
         private void timer1_Tick(object sender, EventArgs e)
         {
-
             if (!isStop)
             {
                 if (!isWriteLog)
@@ -959,7 +980,11 @@ namespace CarMeterSystem
                         ucWeightCarTJXJG1.setWgtBackColor(false);
                         isCalibration = true;
                         PbCache.addWgt = 0;
-                        this.Close();
+                        this.Hide();
+                    }
+                    else
+                    {
+                        ucWeightCarTJXJG1.setWgtBackColor(true);
                     }
 
                     if (PbCache.collect.parkStatus == 3)
@@ -1937,7 +1962,7 @@ namespace CarMeterSystem
         private void btnFH_Click(object sender, EventArgs e)
         {
             lg.WriteLog(15, PbCache.lockCarNo + "点击了返回主界面");
-            this.Close();
+            this.Hide();
         }
 
         private static FrmMessage FrmMess(string strMess, string strBtnSaveInfo)
@@ -2271,7 +2296,10 @@ namespace CarMeterSystem
                 PbCache.Load();
                 //关闭一些线程及定时任务
                 timer1.Stop();
-                timer1.Dispose();
+                //timer1.Dispose();
+
+                // 销毁对象
+                CleanObjectData();
 
                 #region 清理一次监控表的几个数值,防止上车速度过快导致提示称重完成
 
@@ -2451,5 +2479,125 @@ namespace CarMeterSystem
             vicPlayClass.GetVoicePlay(voiceContent, PbCache.lockCarNo);
 
         }
+
+        #region 清理对象数据
+        private void CleanObjectData()
+        {
+            PbCache.mwPreFirst.actualFirstNo = "";
+            PbCache.mwPreFirst.predictionNo = "";
+            PbCache.mwPreFirst.noticeNo = "";
+            PbCache.mwPreFirst.carNo = "";
+            PbCache.mwPreFirst.trailerNo = "";
+            PbCache.mwPreFirst.matterNo = "";
+            PbCache.mwPreFirst.matterName = "";
+            PbCache.mwPreFirst.contractNo = "";
+            PbCache.mwPreFirst.batchNo = "";
+            PbCache.mwPreFirst.customerSupplierNo = "";
+            PbCache.mwPreFirst.customerSupplierName = "";
+            PbCache.mwPreFirst.forwardingUnitNo = "";
+            PbCache.mwPreFirst.forwardingUnitName = "";
+            PbCache.mwPreFirst.receivingUintNo = "";
+            PbCache.mwPreFirst.receivingUintName = "";
+            PbCache.mwPreFirst.materialNo = "";
+            PbCache.mwPreFirst.materialName = "";
+            PbCache.mwPreFirst.specNo = "";
+            PbCache.mwPreFirst.specName = "";
+            PbCache.mwPreFirst.bindCardNo = "";
+            PbCache.mwPreFirst.loadPointNo = "";
+            PbCache.mwPreFirst.loadPointName = "";
+            PbCache.mwPreFirst.sampleNo = "";
+            PbCache.mwPreFirst.sampleVoucher = "";
+            PbCache.mwPreFirst.carrierUnitNo = "";
+            PbCache.mwPreFirst.carrierUnitName = "";
+            PbCache.mwPreFirst.predictionType = "";
+            PbCache.mwPreFirst.predictionCombination = "";
+            PbCache.mwPreFirst.meterTypeNo = "";
+            PbCache.mwPreFirst.meterTypeName = "";
+            PbCache.mwPreFirst.railwayNo = "";
+            PbCache.mwPreFirst.meterProcessNo = "";
+            PbCache.mwPreFirst.meterProcessEditionNo = "";
+            PbCache.mwPreFirst.weightType = "";
+            PbCache.mwPreFirst.createManNo = "";
+            PbCache.mwPreFirst.createManName = "";
+            PbCache.mwPreFirst.baseSpotNo = "";
+            PbCache.mwPreFirst.baseSpotName = "";
+            PbCache.mwPreFirst.meterClass = "";
+            PbCache.mwPreFirst.meterGroup = "";
+            PbCache.mwPreFirst.memo = "";
+            PbCache.mwPreFirst.valueFlag = "";
+            PbCache.mwPreFirst.updateManNo = "";
+            PbCache.mwPreFirst.updateManName = "";
+            PbCache.mwPreFirst.checkFlag = "";
+            PbCache.mwPreFirst.checkManNo = "";
+            PbCache.mwPreFirst.checkManName = "";
+            PbCache.mwPreFirst.meterMode = "";
+            PbCache.mwPreFirst.meterReasonNo = "";
+            PbCache.mwPreFirst.meterReasonName = "";
+            PbCache.mwPreFirst.addWgtNo = "";
+            PbCache.mwPreFirst.addWgtPk = "";
+            PbCache.mwPreFirst.limsSamplingFlag = "";
+            PbCache.mwPreFirst.heatNo = "";
+            PbCache.mwPreFirst.meterPierNo = "";
+            PbCache.mwPreFirst.meterPierName = "";
+            PbCache.mwPreFirst.shipNo = "";
+            PbCache.mwPreFirst.disOpr = "";
+            PbCache.mwPreFirst.printManNo = "";
+            PbCache.mwPreFirst.printManName = "";
+            PbCache.mwPreFirst.holddockSeq = "";
+            PbCache.mwPreFirst.scaleTypeNoM = "";
+            PbCache.mwPreFirst.scaleTypeNameM = "";
+            PbCache.mwPreFirst.scaleTypeNoD = "";
+            PbCache.mwPreFirst.scaleTypeNameD = "";
+            PbCache.mwPreFirst.driverName = "";
+            PbCache.mwPreFirst.telNum = "";
+            PbCache.mwPreFirst.idNum = "";
+            PbCache.mwPreFirst.dataSource = "";
+            PbCache.mwPreFirst.note = "";
+            PbCache.mwPreFirst.isPreScale = "";
+
+            PbCache.mwPreFirst.voucherIdentity = "";
+            PbCache.mwPreFirst.voucherItem = "";
+            PbCache.mwPreFirst.businessGroup = "";
+            PbCache.mwPreFirst.tempConveyance = "";
+            PbCache.mwPreFirst.conveyanceType = "";
+            PbCache.mwPreFirst.resourceSystem = "";
+            PbCache.mwPreFirst.groupPackageUnit = "";
+            PbCache.mwPreFirst.packageUnit = "";
+            PbCache.mwPreFirst.measureBatch = "";
+            PbCache.mwPreFirst.senderType = "";
+            PbCache.mwPreFirst.senderRemark = "";
+            PbCache.mwPreFirst.receiverType = "";
+            PbCache.mwPreFirst.receiverRemark = "";
+            PbCache.mwPreFirst.amountUnit = "";
+            PbCache.mwPreFirst.measureObjectType = "";
+            PbCache.mwPreFirst.measureTaskNum = "";
+
+            PbCache.mwPreFirst.shipmentGrossWeight = null;
+            PbCache.mwPreFirst.shipmentNetWeight = null;
+            PbCache.mwPreFirst.shipmentNum = null;
+            PbCache.mwPreFirst.meterWeight = null;
+            PbCache.mwPreFirst.addWeight = null;
+            PbCache.mwPreFirst.meterNum = null;
+            PbCache.mwPreFirst.createTime = null;
+            PbCache.mwPreFirst.updateTime = null;
+            PbCache.mwPreFirst.checkTime = null;
+            PbCache.mwPreFirst.loadEndTime = null;
+            PbCache.mwPreFirst.pageNum = 1;
+            PbCache.mwPreFirst.pageSize = 20;
+            PbCache.mwPreFirst.disWgt = null;
+            PbCache.mwPreFirst.disRatio = null;
+            PbCache.mwPreFirst.disTime = null;
+            PbCache.mwPreFirst.netEnd = null;
+            PbCache.mwPreFirst.shipmentTareWeight = null;
+            PbCache.mwPreFirst.printTime = null;
+            PbCache.mwPreFirst.printNum = null;
+
+            PbCache.mwPreFirst.groupPackageAmount = null;
+            PbCache.mwPreFirst.packageAmount = null;
+            PbCache.mwPreFirst.theoryAmount = null;
+            PbCache.mwPreFirst.measureBatchCount = null;
+
+    }
+        #endregion
     }
 }

+ 3 - 1
MeterPlugInLibrary/扫码枪/SerialPortES.cs

@@ -215,7 +215,9 @@ namespace SystemOffLine
         public void Close()
         {
             WriteLog("扫码关闭!");
-            if (serialPort1.IsOpen) serialPort1.Close();
+            if (serialPort1 != null && serialPort1.IsOpen) serialPort1.Close();
+            //关闭线程
+            if (mThread != null) mThread.Abort();
         }
 
         private void WriteLog(string str)