duyong пре 3 година
родитељ
комит
099f1ab1c2

+ 1 - 1
CarMeterSystem/OptionCls/BaseDbCls.cs

@@ -279,7 +279,7 @@ namespace CarMeterSystem
             {
             {
                 PbCache.relations = rmRelation.Data;
                 PbCache.relations = rmRelation.Data;
             }
             }
-            else 
+            else
             {
             {
                 lg.WriteLog(1, "未找到校秤基础数据MeterBaseCalibraRelation");
                 lg.WriteLog(1, "未找到校秤基础数据MeterBaseCalibraRelation");
                 return false;
                 return false;

+ 18 - 12
CarMeterSystem/frmMain.cs

@@ -342,26 +342,26 @@ namespace CarMeterSystem
 
 
             //if (num < 20)
             //if (num < 20)
             //{
             //{
-            //    e.carno = "";
-            //    e.weight = 15100;
+            //    e.carno = "陕AAB221";
+            //    e.weight = 23580;
             //    e.weightStatus = 1;
             //    e.weightStatus = 1;
             //}
             //}
             //else if (num < 26)
             //else if (num < 26)
             //{
             //{
-            //    e.carno = "";
-            //    e.weight = 15100;
+            //    e.carno = "陕AAB221";
+            //    e.weight = 23580;
             //    e.weightStatus = 0;
             //    e.weightStatus = 0;
             //}
             //}
             //else if (num < 39)
             //else if (num < 39)
             //{
             //{
-            //    e.carno = "蒙L65156";
-            //    e.weight = 15100;
-            //    e.weightStatus = 1;
+            //    e.carno = "陕AAB221";
+            //    e.weight = 23580;
+            //    e.weightStatus = 0;
             //}
             //}
             //else if (num < 74)
             //else if (num < 74)
             //{
             //{
-            //    e.carno = "蒙L65156";
-            //    e.weight = 25100;
+            //    e.carno = "陕AAB221";
+            //    e.weight = 23580;
             //    e.weightStatus = 0;
             //    e.weightStatus = 0;
             //}
             //}
             //else
             //else
@@ -369,7 +369,7 @@ namespace CarMeterSystem
             //    e.weight = 400;
             //    e.weight = 400;
             //}
             //}
 
 
-            
+
 
 
             //这里每隔0.5秒执行一次
             //这里每隔0.5秒执行一次
             try
             try
@@ -468,8 +468,14 @@ namespace CarMeterSystem
                     PbCache.collect.licType = e.licType;
                     PbCache.collect.licType = e.licType;
                     if (PbCache.collect.weightStatus == 0)
                     if (PbCache.collect.weightStatus == 0)
                     {
                     {
-                        PbCache.resultWgt = e.weight + "";
-                        PbCache.resultCarNo = e.carno + "";
+                        if (string.IsNullOrEmpty(PbCache.resultWgt) || !PbCache.resultWgt.Contains(e.weight + ""))
+                        {
+                            PbCache.resultWgt += e.weight + "||";
+                        }
+                        if (!string.IsNullOrEmpty(e.carno))
+                        {
+                            PbCache.resultCarNo = e.carno + "";
+                        }
                     }
                     }
                 }
                 }
                 //*/
                 //*/

+ 26 - 2
CarMeterSystem/frmOneYardToEnd.cs

@@ -65,6 +65,8 @@ namespace CarMeterSystem
         private string temporaryCarNo = "";
         private string temporaryCarNo = "";
         private SaveMethod saveMethod = new SaveMethod();
         private SaveMethod saveMethod = new SaveMethod();
 
 
+        private validTimeInterval vti = new validTimeInterval();
+
         private LED_Control led_controler;
         private LED_Control led_controler;
 
 
         //lianDaWgt
         //lianDaWgt
@@ -135,6 +137,8 @@ namespace CarMeterSystem
                 //    }
                 //    }
                 //}
                 //}
 
 
+                
+
                 if (PbCache.collect == null) return;
                 if (PbCache.collect == null) return;
                 PbCache.isLockFrm = true;
                 PbCache.isLockFrm = true;
                 PbCache.lockCarNo = PbCache.collect.carno;
                 PbCache.lockCarNo = PbCache.collect.carno;
@@ -144,6 +148,21 @@ namespace CarMeterSystem
                 PreTrackScale preTrack = ucCarMeterInfoJisco1._preTrack;
                 PreTrackScale preTrack = ucCarMeterInfoJisco1._preTrack;
                 string strMsg = "";
                 string strMsg = "";
 
 
+                #region 间隔时间太短
+                vti.ValidMethod(new PreTrackScale(), "2", null);
+                if (!PbCache.monitorResult.valid_time_interval)
+                {
+                    //间隔时间太短
+                    vicPlayClass.GetVoicePlay("计量间隔时间太短", PbCache.collect.carno);
+                    PbCache.ResultMessage = "计量间隔时间太短";
+                    led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, "计量间隔时间太短");
+                    PbCache.isLockFrm = false;
+                    btnSave.Enabled = true;
+                    setMsg(PbCache.ResultMessage);
+                    return;
+                }
+                #endregion
+
                 #region 红外对射及量程验证
                 #region 红外对射及量程验证
                 valid.ValidMethod();
                 valid.ValidMethod();
                 if (PbCache.range != null && PbCache.range.upperRange < PbCache.collect.weight)
                 if (PbCache.range != null && PbCache.range.upperRange < PbCache.collect.weight)
@@ -827,7 +846,7 @@ namespace CarMeterSystem
                     if (isMeasureSuccess)
                     if (isMeasureSuccess)
                     {
                     {
                         isStop = true;
                         isStop = true;
-                        vicPlayClass.GetVoicePlay("计量完成,请离开秤台", PbCache.collect.carno);
+                        readVoicd();
                         isStop = false;
                         isStop = false;
                     }
                     }
                     if (PbCache.collect.weight < 500)
                     if (PbCache.collect.weight < 500)
@@ -1145,7 +1164,6 @@ namespace CarMeterSystem
                         //判断车辆是厂内车还是厂外车
                         //判断车辆是厂内车还是厂外车
                         if (string.IsNullOrEmpty(PbCache.collect.carno))
                         if (string.IsNullOrEmpty(PbCache.collect.carno))
                         {
                         {
-                            lg.WriteLog(28, "sss2" + "" + PbCache.collect.carno);
                             //txtMsgInfo.Text = "车号未识别,请联系处理";
                             //txtMsgInfo.Text = "车号未识别,请联系处理";
                             setMsg("车号未识别,请联系处理");
                             setMsg("车号未识别,请联系处理");
                             PbCache.monitorResultMessage = "车号未识别,请联系处理";
                             PbCache.monitorResultMessage = "车号未识别,请联系处理";
@@ -2276,6 +2294,12 @@ namespace CarMeterSystem
                 case 24:
                 case 24:
                     voiceContent = "计量成功,存在多条未结净一次数据,请联系计量大厅";//计量成功,存在多条未结净一次数据,请联系计量大厅
                     voiceContent = "计量成功,存在多条未结净一次数据,请联系计量大厅";//计量成功,存在多条未结净一次数据,请联系计量大厅
                     break;
                     break;
+                case 25:
+                    voiceContent = "称重数据保存失败";//计量成功,存在多条未结净一次数据,请联系计量大厅
+                    break;
+                default:
+                    voiceContent = "程序处理异常";
+                    break;
             }
             }
 
 
 
 

+ 3 - 5
Common/DbOption/work/MeterWorkCarActualFirstService.cs

@@ -170,18 +170,16 @@ namespace Common
         public RESTfulResult<List<MeterWorkCarActualFirst>> queryForTimeInterval(MeterWorkCarActualFirst info)
         public RESTfulResult<List<MeterWorkCarActualFirst>> queryForTimeInterval(MeterWorkCarActualFirst info)
         {
         {
             DbHelper db = new DbHelper();
             DbHelper db = new DbHelper();
-            info.pageNum = 1;
-            info.pageSize = 3;
-            RESTfulResult<PageList<List<MeterWorkCarActualFirst>>> rm = db.doOption<PageList<List<MeterWorkCarActualFirst>>>("meterworkcaractualfirsts", "/queryForTimeInterval", new object[] { info }, 0);
+            RESTfulResult<List<MeterWorkCarActualFirst>> rm = db.doOption<List<MeterWorkCarActualFirst>>("meterworkcaractualfirsts", "/queryForTimeInterval", new object[] { info }, 1);
             RESTfulResult<List<MeterWorkCarActualFirst>> result = new RESTfulResult<List<MeterWorkCarActualFirst>>();
             RESTfulResult<List<MeterWorkCarActualFirst>> result = new RESTfulResult<List<MeterWorkCarActualFirst>>();
             result.Succeed = rm.Succeed;
             result.Succeed = rm.Succeed;
             result.Status = rm.Status;
             result.Status = rm.Status;
             result.Message = rm.Message;
             result.Message = rm.Message;
             result.ResultMessage = rm.ResultMessage;
             result.ResultMessage = rm.ResultMessage;
             result.Code = rm.Code;
             result.Code = rm.Code;
-            if (rm != null && rm.Data != null & rm.Data.list != null && rm.Data.list.Count > 0)
+            if (rm != null && rm.Data != null & rm.Data != null && rm.Data.Count > 0)
             {
             {
-                result.Data = rm.Data.list;
+                result.Data = rm.Data;
             }
             }
             return result;
             return result;
         }
         }

+ 69 - 3
Common/database/DbHelper.cs

@@ -3,6 +3,8 @@ using CoreFS.CA06;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Reflection;
 using System.Reflection;
+using System.Security.Cryptography;
+using System.Text;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
 namespace Common
 namespace Common
@@ -32,7 +34,7 @@ namespace Common
             try
             try
             {
             {
                 if (iType == 0)
                 if (iType == 0)
-                {
+                {  
                     Dictionary<string, object> d = ReflexCls.method(objs, out iQueryType, out sId);
                     Dictionary<string, object> d = ReflexCls.method(objs, out iQueryType, out sId);
                     if (iQueryType == 0) //Id查询
                     if (iQueryType == 0) //Id查询
                     {
                     {
@@ -107,11 +109,16 @@ namespace Common
             RESTfulResult<T> rm = new RESTfulResult<T>();
             RESTfulResult<T> rm = new RESTfulResult<T>();
             try
             try
             {
             {
-                ReqParam[] req = new ReqParam[objs.Length];
+                Dictionary<string, object> dc = new Dictionary<string, object>();
+                dc.Add("verificationCode", VerificationCode.getCode());
+
+                ReqParam[] req = new ReqParam[objs.Length + 1];
                 for (int i = 0; i < objs.Length; i++)
                 for (int i = 0; i < objs.Length; i++)
                 {
                 {
                     req[i] = new ReqParam(objs[i]);
                     req[i] = new ReqParam(objs[i]);
                 }
                 }
+
+                req[objs.Length] = new ReqParam("verificationCode", VerificationCode.getCode());
                 //rm = restful.Post<RESTfulResult<T>>(strServiceName, strMethodName, req);
                 //rm = restful.Post<RESTfulResult<T>>(strServiceName, strMethodName, req);
                 rm = restful.Post<T>(strServiceName, strMethodName, req);
                 rm = restful.Post<T>(strServiceName, strMethodName, req);
             }
             }
@@ -138,6 +145,7 @@ namespace Common
             RESTfulResult<T> rm = new RESTfulResult<T>();
             RESTfulResult<T> rm = new RESTfulResult<T>();
             try
             try
             {
             {
+                dc.Add("verificationCode", VerificationCode.getCode());
                 return restful.Get<T>(strServiceName, strMethodName, dc);
                 return restful.Get<T>(strServiceName, strMethodName, dc);
             }
             }
             catch (Exception ex)
             catch (Exception ex)
@@ -160,7 +168,10 @@ namespace Common
             RESTfulResult<T> rm = new RESTfulResult<T>();
             RESTfulResult<T> rm = new RESTfulResult<T>();
             try
             try
             {
             {
-                return restful.Get<T>(strServiceName, strIdValue, new Dictionary<string, object>());
+                Dictionary<string, object> dc = new Dictionary<string, object>();
+                dc.Add("verificationCode", VerificationCode.getCode());
+
+                return restful.Get<T>(strServiceName, strIdValue, dc);
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {
@@ -169,5 +180,60 @@ namespace Common
             }
             }
             return rm;
             return rm;
         }
         }
+
+        public RESTfulResult<T> doOptionPut<T>(string strServiceName, string strMethodName, object[] objs)
+        {
+            RESTfulResult<T> rm = new RESTfulResult<T>();
+            try
+            {
+                Dictionary<string, object> dc = new Dictionary<string, object>();
+                dc.Add("verificationCode", VerificationCode.getCode());
+
+                ReqParam[] req = new ReqParam[objs.Length + 1];
+                for (int i = 0; i < objs.Length; i++)
+                {
+                    req[i] = new ReqParam(objs[i]);
+                }
+
+                req[objs.Length] = new ReqParam("verificationCode", VerificationCode.getCode());
+                //Dictionary<string, object> dc = new Dictionary<string, object>();
+                //dc.Add("verificationCode", VerificationCode.getCode());
+                rm = restful.Put<T>(strServiceName, strMethodName, req);
+            }
+            catch (Exception ex)
+            {
+                rm.Succeed = false;
+                rm.ResultMessage = ex.Message.Trim();
+            }
+            return rm;
+        }
+    }
+    public static class VerificationCode
+    {
+        public static string getCode()
+        {
+            DateTime dt = DateTime.Now;
+            string sdt = dt.ToString("MM-yyyy-dd");
+            string newdt = sdt.Substring(0, 2) + "jisco" + sdt.Substring(2);
+            return md5(newdt);
+        }
+        public static string md5(string input)
+        {
+            // Use input string to calculate MD5 hash
+            MD5 md5 = System.Security.Cryptography.MD5.Create();
+            byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
+            byte[] hashBytes = md5.ComputeHash(inputBytes);
+
+            // Convert the byte array to hexadecimal string
+            StringBuilder sb = new StringBuilder();
+            for (int i = 0; i < hashBytes.Length; i++)
+            {
+                sb.Append(hashBytes[i].ToString("X2"));
+                // To force the hex string to lower-case letters instead of
+                // upper-case, use he following line instead:
+                // sb.Append(hashBytes[i].ToString("x2")); 
+            }
+            return sb.ToString();
+        }
     }
     }
 }
 }

+ 2 - 2
Common/vo/base/ZnlcInterface.cs

@@ -39,8 +39,8 @@ namespace OtherInterface
       //double t =double.Parse( meterWorkCarActualFirst.meterWeight.Value.ToString());
       //double t =double.Parse( meterWorkCarActualFirst.meterWeight.Value.ToString());
       //w.GrossWeight =double.Parse( MyStringUtils.div1000(t.ToString()));
       //w.GrossWeight =double.Parse( MyStringUtils.div1000(t.ToString()));
       w.GrossWeight = meterWorkCarActualFirst.meterWeight / 1000;
       w.GrossWeight = meterWorkCarActualFirst.meterWeight / 1000;
-      w.TareWeight = 0;
-      w.NetWeight = 0;
+      w.TareWeight = null;
+      w.NetWeight = null;
       w.MeteringPerson = meterWorkCarActualFirst.createManNo;
       w.MeteringPerson = meterWorkCarActualFirst.createManNo;
       w.MeteringTime = meterWorkCarActualFirst.createTime.ToString();
       w.MeteringTime = meterWorkCarActualFirst.createTime.ToString();
      
      

+ 160 - 12
FrmStandAloneMetering/FrmStandAloneMetering.Designer.cs

@@ -29,6 +29,7 @@ namespace FrmStandAloneMetering
         /// </summary>
         /// </summary>
         private void InitializeComponent()
         private void InitializeComponent()
         {
         {
+            this.components = new System.ComponentModel.Container();
             Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand1 = new Infragistics.Win.UltraWinGrid.UltraGridBand("dtCarActFirstGross", -1);
             Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand1 = new Infragistics.Win.UltraWinGrid.UltraGridBand("dtCarActFirstGross", -1);
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn1 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirstNo");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn1 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirstNo");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn2 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn2 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
@@ -99,9 +100,9 @@ namespace FrmStandAloneMetering
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn67 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createTime1");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn67 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createTime1");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn68 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createTime2");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn68 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("createTime2");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn69 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("carNo");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn69 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("carNo");
-            Infragistics.Win.Appearance appearance7 = new Infragistics.Win.Appearance();
-            Infragistics.Win.Appearance appearance8 = new Infragistics.Win.Appearance();
-            Infragistics.Win.Appearance appearance9 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance13 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance14 = new Infragistics.Win.Appearance();
+            Infragistics.Win.Appearance appearance15 = new Infragistics.Win.Appearance();
             Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand2 = new Infragistics.Win.UltraWinGrid.UltraGridBand("dtCarActFirstTare", -1);
             Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand2 = new Infragistics.Win.UltraWinGrid.UltraGridBand("dtCarActFirstTare", -1);
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn70 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirstNo");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn70 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("actualFirstNo");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn71 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn71 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("predictionNo");
@@ -181,6 +182,75 @@ namespace FrmStandAloneMetering
             Infragistics.Win.Appearance appearance12 = new Infragistics.Win.Appearance();
             Infragistics.Win.Appearance appearance12 = new Infragistics.Win.Appearance();
             Infragistics.Win.UltraWinTabControl.UltraTab ultraTab1 = new Infragistics.Win.UltraWinTabControl.UltraTab();
             Infragistics.Win.UltraWinTabControl.UltraTab ultraTab1 = new Infragistics.Win.UltraWinTabControl.UltraTab();
             Infragistics.Win.UltraWinTabControl.UltraTab ultraTab2 = new Infragistics.Win.UltraWinTabControl.UltraTab();
             Infragistics.Win.UltraWinTabControl.UltraTab ultraTab2 = new Infragistics.Win.UltraWinTabControl.UltraTab();
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn1 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("actualFirstNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn2 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("predictionNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn3 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("noticeNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn4 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("railwayNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn5 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("railwayCarriageNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn6 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("railwayWorkNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn7 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("railwaySpeed");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn8 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("matterNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn9 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("matterName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn10 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("contractNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn11 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("batchNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn12 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("customerSupplierNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn13 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("customerSupplierName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn14 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("forwardingUnitNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn15 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("forwardingUnitName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn16 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("receivingUintNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn17 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("receivingUintName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn18 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("materialNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn19 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("materialName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn20 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("specNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn21 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("specName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn22 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("shipmentGrossWeight");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn23 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("shipmentNetWeight");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn24 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("bindCardNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn25 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("loadPointNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn26 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("loadPointName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn27 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("sampleNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn28 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("sampleVoucher");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn29 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("carrierUnitNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn30 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("carrierUnitName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn31 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("predictionType");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn32 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("predictionCombination");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn33 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterTypeNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn34 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterTypeName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn35 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterProcessNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn36 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterProcessEditionNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn37 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterWeight");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn38 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("weightType");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn39 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterSortWeight");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn40 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterBalanceWeight");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn41 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("createManNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn42 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("createManName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn43 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("createTime");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn44 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("baseSpotNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn45 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("baseSpotName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn46 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterClass");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn47 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterGroup");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn48 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("memo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn49 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("valueFlag");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn50 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("updateManNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn51 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("updateManName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn52 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("updateTime");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn53 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("checkFlag");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn54 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("checkManNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn55 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("checkManName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn56 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("checkTime");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn57 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("meterMode");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn58 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("railwayTypeNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn59 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("railwayTypeName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn60 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("isChemical");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn61 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("limitWeight");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn62 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("railwayModelNo");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn63 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("railwayModelName");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn64 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("railwayFactoryWeight");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn65 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("pageNum");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn66 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("pageSize");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn67 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("createTime1");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn68 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("createTime2");
+            Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn69 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("carNo");
             this.ultraTabPageControl1 = new Infragistics.Win.UltraWinTabControl.UltraTabPageControl();
             this.ultraTabPageControl1 = new Infragistics.Win.UltraWinTabControl.UltraTabPageControl();
             this.ultraGridGross = new Infragistics.Win.UltraWinGrid.UltraGrid();
             this.ultraGridGross = new Infragistics.Win.UltraWinGrid.UltraGrid();
             this.dataSetGross = new System.Data.DataSet();
             this.dataSetGross = new System.Data.DataSet();
@@ -367,6 +437,7 @@ namespace FrmStandAloneMetering
             this.cbChooseCom = new System.Windows.Forms.ComboBox();
             this.cbChooseCom = new System.Windows.Forms.ComboBox();
             this.ucStorageWeightT1 = new MeterModuleLibrary.ucStorageWeightT();
             this.ucStorageWeightT1 = new MeterModuleLibrary.ucStorageWeightT();
             this.openFileDialogUpData = new System.Windows.Forms.OpenFileDialog();
             this.openFileDialogUpData = new System.Windows.Forms.OpenFileDialog();
+            this.ultraDataSource1 = new Infragistics.Win.UltraWinDataSource.UltraDataSource(this.components);
             this.ultraTabPageControl1.SuspendLayout();
             this.ultraTabPageControl1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.ultraGridGross)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.ultraGridGross)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.dataSetGross)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.dataSetGross)).BeginInit();
@@ -390,6 +461,7 @@ namespace FrmStandAloneMetering
             this.tableLayoutPanelDataEditer.SuspendLayout();
             this.tableLayoutPanelDataEditer.SuspendLayout();
             this.panelFirstTop.SuspendLayout();
             this.panelFirstTop.SuspendLayout();
             this.tableLayoutPanelTop.SuspendLayout();
             this.tableLayoutPanelTop.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraDataSource1)).BeginInit();
             this.SuspendLayout();
             this.SuspendLayout();
             // 
             // 
             // ultraTabPageControl1
             // ultraTabPageControl1
@@ -753,18 +825,18 @@ namespace FrmStandAloneMetering
             this.ultraGridGross.DisplayLayout.DefaultSelectedBackColor = System.Drawing.Color.Empty;
             this.ultraGridGross.DisplayLayout.DefaultSelectedBackColor = System.Drawing.Color.Empty;
             this.ultraGridGross.DisplayLayout.DefaultSelectedForeColor = System.Drawing.Color.Empty;
             this.ultraGridGross.DisplayLayout.DefaultSelectedForeColor = System.Drawing.Color.Empty;
             this.ultraGridGross.DisplayLayout.Override.ButtonStyle = Infragistics.Win.UIElementButtonStyle.Button3D;
             this.ultraGridGross.DisplayLayout.Override.ButtonStyle = Infragistics.Win.UIElementButtonStyle.Button3D;
-            appearance7.TextVAlignAsString = "Middle";
-            this.ultraGridGross.DisplayLayout.Override.CellAppearance = appearance7;
+            appearance13.TextVAlignAsString = "Middle";
+            this.ultraGridGross.DisplayLayout.Override.CellAppearance = appearance13;
             this.ultraGridGross.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
             this.ultraGridGross.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
-            appearance8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
-            appearance8.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
-            this.ultraGridGross.DisplayLayout.Override.HeaderAppearance = appearance8;
+            appearance14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance14.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            this.ultraGridGross.DisplayLayout.Override.HeaderAppearance = appearance14;
             this.ultraGridGross.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
             this.ultraGridGross.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
             this.ultraGridGross.DisplayLayout.Override.MaxSelectedRows = 1;
             this.ultraGridGross.DisplayLayout.Override.MaxSelectedRows = 1;
             this.ultraGridGross.DisplayLayout.Override.MinRowHeight = 21;
             this.ultraGridGross.DisplayLayout.Override.MinRowHeight = 21;
-            appearance9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
-            appearance9.TextVAlignAsString = "Middle";
-            this.ultraGridGross.DisplayLayout.Override.RowSelectorAppearance = appearance9;
+            appearance15.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(183)))), ((int)(((byte)(208)))), ((int)(((byte)(250)))));
+            appearance15.TextVAlignAsString = "Middle";
+            this.ultraGridGross.DisplayLayout.Override.RowSelectorAppearance = appearance15;
             this.ultraGridGross.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
             this.ultraGridGross.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
             this.ultraGridGross.DisplayLayout.Override.SelectTypeCol = Infragistics.Win.UltraWinGrid.SelectType.None;
             this.ultraGridGross.DisplayLayout.Override.SelectTypeCol = Infragistics.Win.UltraWinGrid.SelectType.None;
             this.ultraGridGross.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.Single;
             this.ultraGridGross.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.Single;
@@ -861,7 +933,6 @@ namespace FrmStandAloneMetering
             // 
             // 
             this.dc02ACTUALFIRSTNO.Caption = "计量作业编号";
             this.dc02ACTUALFIRSTNO.Caption = "计量作业编号";
             this.dc02ACTUALFIRSTNO.ColumnName = "actualFirstNo";
             this.dc02ACTUALFIRSTNO.ColumnName = "actualFirstNo";
-            this.dc02ACTUALFIRSTNO.DataType = typeof(int);
             // 
             // 
             // dc02PredictionNo
             // dc02PredictionNo
             // 
             // 
@@ -2534,6 +2605,81 @@ namespace FrmStandAloneMetering
             // 
             // 
             this.openFileDialogUpData.FileName = "openFileDialogUpData";
             this.openFileDialogUpData.FileName = "openFileDialogUpData";
             // 
             // 
+            // ultraDataSource1
+            // 
+            ultraDataColumn2.DataType = typeof(int);
+            this.ultraDataSource1.Band.Columns.AddRange(new object[] {
+            ultraDataColumn1,
+            ultraDataColumn2,
+            ultraDataColumn3,
+            ultraDataColumn4,
+            ultraDataColumn5,
+            ultraDataColumn6,
+            ultraDataColumn7,
+            ultraDataColumn8,
+            ultraDataColumn9,
+            ultraDataColumn10,
+            ultraDataColumn11,
+            ultraDataColumn12,
+            ultraDataColumn13,
+            ultraDataColumn14,
+            ultraDataColumn15,
+            ultraDataColumn16,
+            ultraDataColumn17,
+            ultraDataColumn18,
+            ultraDataColumn19,
+            ultraDataColumn20,
+            ultraDataColumn21,
+            ultraDataColumn22,
+            ultraDataColumn23,
+            ultraDataColumn24,
+            ultraDataColumn25,
+            ultraDataColumn26,
+            ultraDataColumn27,
+            ultraDataColumn28,
+            ultraDataColumn29,
+            ultraDataColumn30,
+            ultraDataColumn31,
+            ultraDataColumn32,
+            ultraDataColumn33,
+            ultraDataColumn34,
+            ultraDataColumn35,
+            ultraDataColumn36,
+            ultraDataColumn37,
+            ultraDataColumn38,
+            ultraDataColumn39,
+            ultraDataColumn40,
+            ultraDataColumn41,
+            ultraDataColumn42,
+            ultraDataColumn43,
+            ultraDataColumn44,
+            ultraDataColumn45,
+            ultraDataColumn46,
+            ultraDataColumn47,
+            ultraDataColumn48,
+            ultraDataColumn49,
+            ultraDataColumn50,
+            ultraDataColumn51,
+            ultraDataColumn52,
+            ultraDataColumn53,
+            ultraDataColumn54,
+            ultraDataColumn55,
+            ultraDataColumn56,
+            ultraDataColumn57,
+            ultraDataColumn58,
+            ultraDataColumn59,
+            ultraDataColumn60,
+            ultraDataColumn61,
+            ultraDataColumn62,
+            ultraDataColumn63,
+            ultraDataColumn64,
+            ultraDataColumn65,
+            ultraDataColumn66,
+            ultraDataColumn67,
+            ultraDataColumn68,
+            ultraDataColumn69});
+            this.ultraDataSource1.Band.Key = "dtCarActFirstGross";
+            // 
             // FrmStandAloneMetering
             // FrmStandAloneMetering
             // 
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -2569,6 +2715,7 @@ namespace FrmStandAloneMetering
             this.panelFirstTop.ResumeLayout(false);
             this.panelFirstTop.ResumeLayout(false);
             this.tableLayoutPanelTop.ResumeLayout(false);
             this.tableLayoutPanelTop.ResumeLayout(false);
             this.tableLayoutPanelTop.PerformLayout();
             this.tableLayoutPanelTop.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.ultraDataSource1)).EndInit();
             this.ResumeLayout(false);
             this.ResumeLayout(false);
 
 
         }
         }
@@ -2761,6 +2908,7 @@ namespace FrmStandAloneMetering
         private System.Windows.Forms.TextBox tbMemo;
         private System.Windows.Forms.TextBox tbMemo;
         private System.Windows.Forms.ComboBox cbReceivingUintName;
         private System.Windows.Forms.ComboBox cbReceivingUintName;
         private System.Data.DataColumn dc02ACTUALFIRSTNO;
         private System.Data.DataColumn dc02ACTUALFIRSTNO;
+        private Infragistics.Win.UltraWinDataSource.UltraDataSource ultraDataSource1;
     }
     }
 }
 }
 
 

+ 95 - 70
FrmStandAloneMetering/FrmStandAloneMetering.cs

@@ -455,73 +455,98 @@ namespace FrmStandAloneMetering
         /// <param name="strWeightType"></param>
         /// <param name="strWeightType"></param>
         private void saveData(string strWeightType)
         private void saveData(string strWeightType)
         {
         {
-            MeterWorkCarActualFirst actualFirst = new MeterWorkCarActualFirst(); //一次计量实体
-            actualFirst.actualFirstNo = "CAR" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); //主键
-            actualFirst.carNo = tbCarNo.Text.Trim();//车号
-            actualFirst.baseSpotNo = cbBaseSpot.SelectedValue.ToString().Trim();//计量点
-            //actualFirst.meterTypeName = cbMeterTypeName.Text.Trim();//业务类型
-            //actualFirst.contractNo = cbContractNo.Text.Trim();//合同号
-            //actualFirst.batchNo = tbBatchNo.Text.Trim();//批次号
-            //actualFirst.heatNo = tbHeatNo.Text.Trim();//炉号
-            //actualFirst.shipmentNum = Convert.ToInt32(string.IsNullOrEmpty(tbShipmentNum.Text.Trim()) ? "0" : tbShipmentNum.Text.Trim());//包数/数量
-            actualFirst.matterNo = cbMatterName.SelectedValue.ToString().Trim();//物资名称
-            actualFirst.receivingUintNo = cbReceivingUintName.SelectedValue.ToString().Trim();//收货单位
-            actualFirst.forwardingUnitNo = cbForwardingUnitName.SelectedValue.ToString().Trim();//发货单位
-            //actualFirst.customerSupplierName = cbCustomerSupplierName.Text.Trim();//供应商
-            //actualFirst.loadPointName = cbLoadPointName.Text.Trim();//卸货地点
-            actualFirst.memo = tbMemo.Text.Trim();//备注
-            actualFirst.weightType = strWeightType;//重量类型
-            actualFirst.meterWeight = ucStorageWeightT1.getWgt() * 1000;
-
-            //DataTable csvDataTable = OpenCSV(AppDomain.CurrentDomain.BaseDirectory + "alonData\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\actualFirst.csv");
-            if (System.IO.Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + "alonData\\" + DateTime.Now.ToString("yyyy-MM-dd")) == false
-                || System.IO.File.Exists(AppDomain.CurrentDomain.BaseDirectory + "alonData\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\actualFirst.csv") == false)
-            {
-                StringBuilder actualFirstLogHead = new StringBuilder(); //一次计量数据保存文件
-                actualFirstLogHead.Append("createTime,");//若第一行默认为当前时间则第一行多个逗号
-                actualFirstLogHead.Append("actualFirstNo,");
-                actualFirstLogHead.Append("carNo,");
-                actualFirstLogHead.Append("baseSpotNo,");
-                //actualFirstLogHead.Append("meterTypeName,");
-                //actualFirstLogHead.Append("contractNo,");
-                //actualFirstLogHead.Append("batchNo,");
-                //actualFirstLogHead.Append("heatNo,");
-                //actualFirstLogHead.Append("shipmentNum,");
-                actualFirstLogHead.Append("matterNo,");
-                actualFirstLogHead.Append("receivingUintNo,");
-                actualFirstLogHead.Append("forwardingUnitNo,");
-                //actualFirstLogHead.Append("customerSupplierName,");
-                //actualFirstLogHead.Append("loadPointName,");
-                actualFirstLogHead.Append("memo,");
-                actualFirstLogHead.Append("weightType,"); //最后一行不要逗号
-                actualFirstLogHead.Append("meterWeight");
-                logCsv.WriteDataLog("actualFirst", actualFirstLogHead.ToString());
-            }
-
-            StringBuilder actualFirstLog = new StringBuilder(); //一次计量数据保存文件
-            actualFirstLog.Append(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ",");
-            actualFirstLog.Append(actualFirst.actualFirstNo.ToString() + ",");
-            actualFirstLog.Append(actualFirst.carNo.ToString() + ",");
-            actualFirstLog.Append(actualFirst.baseSpotNo.ToString() + ",");
-           // actualFirstLog.Append(actualFirst.meterTypeName.ToString() + ",");
-            //actualFirstLog.Append(actualFirst.contractNo.ToString() + ",");
-            //actualFirstLog.Append(actualFirst.batchNo.ToString() + ",");
-            //actualFirstLog.Append(actualFirst.heatNo.ToString() + ",");
-            //actualFirstLog.Append(actualFirst.shipmentNum.ToString() + ",");
-            actualFirstLog.Append(actualFirst.matterNo.ToString() + ",");
-            actualFirstLog.Append(actualFirst.receivingUintNo.ToString() + ",");
-            actualFirstLog.Append(actualFirst.forwardingUnitNo.ToString() + ",");
-            //actualFirstLog.Append(actualFirst.customerSupplierName.ToString() + ",");
-            //actualFirstLog.Append(actualFirst.loadPointName.ToString() + ",");
-            actualFirstLog.Append(actualFirst.memo.ToString() + ",");
-            actualFirstLog.Append(actualFirst.weightType.ToString() + ",");
-            actualFirstLog.Append(actualFirst.meterWeight.ToString());
-            logCsv.WriteDataLog("actualFirst", actualFirstLog.ToString());
-
-            bd.setBaseDb();
-            bd.getBaseDb();
-
-            shotImage(actualFirst.actualFirstNo.ToString());
+            try
+            {
+                MeterWorkCarActualFirst actualFirst = new MeterWorkCarActualFirst(); //一次计量实体
+                actualFirst.actualFirstNo = "CAR" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); //主键
+                actualFirst.carNo = tbCarNo.Text.Trim();//车号
+                actualFirst.baseSpotNo = cbBaseSpot.SelectedValue.ToString().Trim();//计量点
+                actualFirst.baseSpotName = cbBaseSpot.Text.ToString().Trim();//计量点
+                //actualFirst.meterTypeName = cbMeterTypeName.Text.Trim();//业务类型
+                //actualFirst.contractNo = cbContractNo.Text.Trim();//合同号
+                //actualFirst.batchNo = tbBatchNo.Text.Trim();//批次号
+                //actualFirst.heatNo = tbHeatNo.Text.Trim();//炉号
+                //actualFirst.shipmentNum = Convert.ToInt32(string.IsNullOrEmpty(tbShipmentNum.Text.Trim()) ? "0" : tbShipmentNum.Text.Trim());//包数/数量
+                actualFirst.matterNo = cbMatterName.SelectedValue.ToString().Trim();//物资名称
+                actualFirst.matterName = cbMatterName.Text.ToString().Trim();//物资名称
+                actualFirst.receivingUintNo = cbReceivingUintName.SelectedValue.ToString().Trim();//收货单位
+                actualFirst.receivingUintName = cbReceivingUintName.Text.ToString().Trim();//收货单位
+                actualFirst.forwardingUnitNo = cbForwardingUnitName.SelectedValue.ToString().Trim();//发货单位
+                actualFirst.forwardingUnitName = cbForwardingUnitName.Text.ToString().Trim();//发货单位
+                //actualFirst.customerSupplierName = cbCustomerSupplierName.Text.Trim();//供应商
+                //actualFirst.loadPointName = cbLoadPointName.Text.Trim();//卸货地点
+                actualFirst.memo = tbMemo.Text.Trim();//备注
+                actualFirst.weightType = strWeightType;//重量类型
+                actualFirst.meterWeight = ucStorageWeightT1.getWgt() * 1000;
+
+                //DataTable csvDataTable = OpenCSV(AppDomain.CurrentDomain.BaseDirectory + "alonData\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\actualFirst.csv");
+                if (System.IO.Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + "alonData\\" + DateTime.Now.ToString("yyyy-MM-dd")) == false
+                    || System.IO.File.Exists(AppDomain.CurrentDomain.BaseDirectory + "alonData\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\actualFirst.csv") == false)
+                {
+                    StringBuilder actualFirstLogHead = new StringBuilder(); //一次计量数据保存文件
+                    actualFirstLogHead.Append("createTime,");//若第一行默认为当前时间则第一行多个逗号
+                    actualFirstLogHead.Append("actualFirstNo,");
+                    actualFirstLogHead.Append("carNo,");
+                    actualFirstLogHead.Append("baseSpotNo,");
+                    actualFirstLogHead.Append("baseSpotName,");
+                    //actualFirstLogHead.Append("meterTypeName,");
+                    //actualFirstLogHead.Append("contractNo,");
+                    //actualFirstLogHead.Append("batchNo,");
+                    //actualFirstLogHead.Append("heatNo,");
+                    //actualFirstLogHead.Append("shipmentNum,");
+                    actualFirstLogHead.Append("matterNo,");
+                    actualFirstLogHead.Append("matterName,");
+                    actualFirstLogHead.Append("receivingUintNo,");
+                    actualFirstLogHead.Append("receivingUintName,");
+                    actualFirstLogHead.Append("forwardingUnitNo,");
+                    actualFirstLogHead.Append("forwardingUnitName,");
+                    //actualFirstLogHead.Append("customerSupplierName,");
+                    //actualFirstLogHead.Append("loadPointName,");
+                    actualFirstLogHead.Append("memo,");
+                    actualFirstLogHead.Append("weightType,"); //最后一行不要逗号
+                    actualFirstLogHead.Append("meterWeight");
+                    logCsv.WriteDataLog("actualFirst", actualFirstLogHead.ToString());
+                }
+
+                StringBuilder actualFirstLog = new StringBuilder(); //一次计量数据保存文件
+                actualFirstLog.Append(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ",");
+                actualFirstLog.Append(actualFirst.actualFirstNo.ToString() + ",");
+                actualFirstLog.Append(actualFirst.carNo.ToString() + ",");
+                actualFirstLog.Append(actualFirst.baseSpotNo.ToString() + ",");
+                actualFirstLog.Append(actualFirst.baseSpotName.ToString() + ",");
+                // actualFirstLog.Append(actualFirst.meterTypeName.ToString() + ",");
+                //actualFirstLog.Append(actualFirst.contractNo.ToString() + ",");
+                //actualFirstLog.Append(actualFirst.batchNo.ToString() + ",");
+                //actualFirstLog.Append(actualFirst.heatNo.ToString() + ",");
+                //actualFirstLog.Append(actualFirst.shipmentNum.ToString() + ",");
+                actualFirstLog.Append(actualFirst.matterNo.ToString() + ",");
+                actualFirstLog.Append(actualFirst.matterName.ToString() + ",");
+                actualFirstLog.Append(actualFirst.receivingUintNo.ToString() + ",");
+                actualFirstLog.Append(actualFirst.receivingUintName.ToString() + ",");
+                actualFirstLog.Append(actualFirst.forwardingUnitNo.ToString() + ",");
+                actualFirstLog.Append(actualFirst.forwardingUnitName.ToString() + ",");
+                //actualFirstLog.Append(actualFirst.customerSupplierName.ToString() + ",");
+                //actualFirstLog.Append(actualFirst.loadPointName.ToString() + ",");
+                actualFirstLog.Append(actualFirst.memo.ToString() + ",");
+                actualFirstLog.Append(actualFirst.weightType.ToString() + ",");
+                actualFirstLog.Append(actualFirst.meterWeight.ToString());
+                logCsv.WriteDataLog("actualFirst", actualFirstLog.ToString());
+
+                //截图初始化
+                bd.setBaseDb();
+                bd.getBaseDb();
+
+                //图片截图保存
+                shotImage(actualFirst.actualFirstNo.ToString());
+
+                MessageBox.Show("保存成功");
+            }
+            catch (Exception e)
+            {
+                MessageBox.Show("保存失败:" + e.Message);
+            }
+
+
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -829,7 +854,7 @@ namespace FrmStandAloneMetering
                     for (int i = 1; i < csvDataTable.Rows.Count; i++)
                     for (int i = 1; i < csvDataTable.Rows.Count; i++)
                     {
                     {
                         DataRow dr = newCsvDataTable.NewRow();
                         DataRow dr = newCsvDataTable.NewRow();
-                        dr[0] = "[" + csvDataTable.Rows[i]["matterNo"].ToString() + "]" + csvDataTable.Rows[i]["matterName"].ToString();
+                        dr[0] = csvDataTable.Rows[i]["matterName"].ToString();
                         dr[1] = csvDataTable.Rows[i]["matterNo"].ToString();
                         dr[1] = csvDataTable.Rows[i]["matterNo"].ToString();
                         newCsvDataTable.Rows.Add(dr);
                         newCsvDataTable.Rows.Add(dr);
                     }
                     }
@@ -866,7 +891,7 @@ namespace FrmStandAloneMetering
                     for (int i = 1; i < csvDataTable.Rows.Count; i++)
                     for (int i = 1; i < csvDataTable.Rows.Count; i++)
                     {
                     {
                         DataRow dr = newCsvDataTable.NewRow();
                         DataRow dr = newCsvDataTable.NewRow();
-                        dr[0] = "[" + csvDataTable.Rows[i]["customerSupplierNo"].ToString() + "]" + csvDataTable.Rows[i]["customerSupplierName"].ToString();
+                        dr[0] = csvDataTable.Rows[i]["customerSupplierName"].ToString();
                         dr[1] = csvDataTable.Rows[i]["customerSupplierNo"].ToString();
                         dr[1] = csvDataTable.Rows[i]["customerSupplierNo"].ToString();
                         newCsvDataTable.Rows.Add(dr);
                         newCsvDataTable.Rows.Add(dr);
                     }
                     }
@@ -903,7 +928,7 @@ namespace FrmStandAloneMetering
                     for (int i = 1; i < csvDataTable.Rows.Count; i++)
                     for (int i = 1; i < csvDataTable.Rows.Count; i++)
                     {
                     {
                         DataRow dr = newCsvDataTable.NewRow();
                         DataRow dr = newCsvDataTable.NewRow();
-                        dr[0] = "[" + csvDataTable.Rows[i]["spotNo"].ToString() + "]" + csvDataTable.Rows[i]["spotName"].ToString();
+                        dr[0] = csvDataTable.Rows[i]["spotName"].ToString();
                         dr[1] = csvDataTable.Rows[i]["spotNo"].ToString();
                         dr[1] = csvDataTable.Rows[i]["spotNo"].ToString();
                         newCsvDataTable.Rows.Add(dr);
                         newCsvDataTable.Rows.Add(dr);
                     }
                     }

+ 1 - 0
FrmStandAloneMetering/FrmStandAloneMetering.csproj

@@ -46,6 +46,7 @@
     </Reference>
     </Reference>
     <Reference Include="Infragistics2.Shared.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" />
     <Reference Include="Infragistics2.Shared.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" />
     <Reference Include="Infragistics2.Win.Misc.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL" />
     <Reference Include="Infragistics2.Win.Misc.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL" />
+    <Reference Include="Infragistics2.Win.UltraWinDataSource.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL" />
     <Reference Include="Infragistics2.Win.UltraWinGrid.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL" />
     <Reference Include="Infragistics2.Win.UltraWinGrid.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL" />
     <Reference Include="Infragistics2.Win.UltraWinTabControl.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL" />
     <Reference Include="Infragistics2.Win.UltraWinTabControl.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL" />
     <Reference Include="Infragistics2.Win.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" />
     <Reference Include="Infragistics2.Win.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" />

+ 3 - 0
FrmStandAloneMetering/FrmStandAloneMetering.resx

@@ -126,4 +126,7 @@
   <metadata name="openFileDialogUpData.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
   <metadata name="openFileDialogUpData.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
     <value>17, 17</value>
   </metadata>
   </metadata>
+  <metadata name="ultraDataSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>509, 23</value>
+  </metadata>
 </root>
 </root>

+ 1 - 0
FrmStandAloneMetering/Properties/licenses.licx

@@ -1,3 +1,4 @@
 Infragistics.Win.Misc.UltraGroupBox, Infragistics2.Win.Misc.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
 Infragistics.Win.Misc.UltraGroupBox, Infragistics2.Win.Misc.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
 Infragistics.Win.UltraWinGrid.UltraGrid, Infragistics2.Win.UltraWinGrid.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
 Infragistics.Win.UltraWinGrid.UltraGrid, Infragistics2.Win.UltraWinGrid.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
+Infragistics.Win.UltraWinDataSource.UltraDataSource, Infragistics2.Win.UltraWinDataSource.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
 Infragistics.Win.UltraWinTabControl.UltraTabControl, Infragistics2.Win.UltraWinTabControl.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
 Infragistics.Win.UltraWinTabControl.UltraTabControl, Infragistics2.Win.UltraWinTabControl.v9.2, Version=9.2.20092.1003, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb

+ 4 - 4
MeterConditionLibrary/validTimeInterval.cs

@@ -33,7 +33,7 @@ namespace MeterConditionLibrary
                         {
                         {
                             if (scale == null || string.IsNullOrEmpty(scale.meterTypeNo))
                             if (scale == null || string.IsNullOrEmpty(scale.meterTypeNo))
                             {
                             {
-                                scale.meterTypeNo = "001006003"; //过皮重没有检斤类型,按照中控倒运走;
+                                scale.meterTypeNo = "001006002"; //过皮重没有检斤类型,按照中控倒运走; //改了这里
                             }
                             }
                             MeterBaseTimeSpace mbt = PbCache.timeSpace.Where(s => s.meterTypeNo == scale.meterTypeNo).FirstOrDefault();
                             MeterBaseTimeSpace mbt = PbCache.timeSpace.Where(s => s.meterTypeNo == scale.meterTypeNo).FirstOrDefault();
                             if (mbt != null && !string.IsNullOrEmpty(mbt.meterTypeNo))
                             if (mbt != null && !string.IsNullOrEmpty(mbt.meterTypeNo))
@@ -41,7 +41,7 @@ namespace MeterConditionLibrary
                                 if (fristMeter == null || fristMeter.createTime == null)
                                 if (fristMeter == null || fristMeter.createTime == null)
                                 {
                                 {
                                     MeterWorkCarActualFirstService mwcfs = new MeterWorkCarActualFirstService();
                                     MeterWorkCarActualFirstService mwcfs = new MeterWorkCarActualFirstService();
-                                    RESTfulResult<List<MeterWorkCarActualFirst>> rmX = mwcfs.queryForTimeInterval(new MeterWorkCarActualFirst { carNo = scale.carNo });
+                                    RESTfulResult<List<MeterWorkCarActualFirst>> rmX = mwcfs.queryForTimeInterval(new MeterWorkCarActualFirst { carNo = PbCache.lockCarNo });// 改了这里
                                     if (rmX.Succeed && rmX.Data != null && rmX.Data.Count > 0)
                                     if (rmX.Succeed && rmX.Data != null && rmX.Data.Count > 0)
                                     {
                                     {
                                         fristMeter = rmX.Data[0];
                                         fristMeter = rmX.Data[0];
@@ -89,7 +89,7 @@ namespace MeterConditionLibrary
                         {
                         {
                             if (scale == null || string.IsNullOrEmpty(scale.meterTypeNo))
                             if (scale == null || string.IsNullOrEmpty(scale.meterTypeNo))
                             {
                             {
-                                scale.meterTypeNo = "001006003"; //过皮重没有检斤类型,按照中控倒运走;
+                                scale.meterTypeNo = "001006002"; //过皮重没有检斤类型,按照中控倒运走; //改了这里
                             }
                             }
                             MeterBaseTimeSpace mbt = PbCache.timeSpace.Where(s => s.meterTypeNo == scale.meterTypeNo).FirstOrDefault();
                             MeterBaseTimeSpace mbt = PbCache.timeSpace.Where(s => s.meterTypeNo == scale.meterTypeNo).FirstOrDefault();
                             if (mbt != null && !string.IsNullOrEmpty(mbt.meterTypeNo))
                             if (mbt != null && !string.IsNullOrEmpty(mbt.meterTypeNo))
@@ -97,7 +97,7 @@ namespace MeterConditionLibrary
                                 if (fristMeter == null || fristMeter.createTime == null)
                                 if (fristMeter == null || fristMeter.createTime == null)
                                 {
                                 {
                                     MeterWorkCarActualFirstService mwcfs = new MeterWorkCarActualFirstService();
                                     MeterWorkCarActualFirstService mwcfs = new MeterWorkCarActualFirstService();
-                                    RESTfulResult<List<MeterWorkCarActualFirst>> rmX = mwcfs.queryForTimeInterval(new MeterWorkCarActualFirst { carNo = scale.carNo });
+                                    RESTfulResult<List<MeterWorkCarActualFirst>> rmX = mwcfs.queryForTimeInterval(new MeterWorkCarActualFirst { carNo = PbCache.lockCarNo }); //改了这里
                                     if (rmX.Succeed && rmX.Data != null && rmX.Data.Count > 0)
                                     if (rmX.Succeed && rmX.Data != null && rmX.Data.Count > 0)
                                     {
                                     {
                                         fristMeter = rmX.Data[0];
                                         fristMeter = rmX.Data[0];

+ 5 - 0
MeterPlugInLibrary/LED/LED_Control.cs

@@ -231,11 +231,14 @@ namespace MeterPlugInLibrary
         {
         {
             try
             try
             {
             {
+
                 if (ledInfo == null) return;
                 if (ledInfo == null) return;
                 ledInfo = ledInfo.Replace(",", "\r\n");
                 ledInfo = ledInfo.Replace(",", "\r\n");
 
 
                 if (PbCache.OldLedInfo == ledInfo) return;
                 if (PbCache.OldLedInfo == ledInfo) return;
 
 
+                lg.WriteLog(26, "led推送信息开始时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
+
                 PbCache.OldLedInfo = ledInfo;
                 PbCache.OldLedInfo = ledInfo;
 
 
                 lg.WriteLog(26, PbCache.lockCarNo + "led推送信息:" + ledInfo);
                 lg.WriteLog(26, PbCache.lockCarNo + "led推送信息:" + ledInfo);
@@ -292,6 +295,8 @@ namespace MeterPlugInLibrary
                 {
                 {
                     //"发送成功";
                     //"发送成功";
                 }
                 }
+
+                lg.WriteLog(26, "led推送信息结束时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {

+ 34 - 2
MeterSceneLibrary/JISCO/InnerCarJISCO.cs

@@ -107,6 +107,7 @@ namespace MeterSceneLibrary
                     PbCache.monitorResultMessage = "未选择称重类型,请选择后开始计量";
                     PbCache.monitorResultMessage = "未选择称重类型,请选择后开始计量";
                     PbCache.LEDResultMessage = "未选择称重类型,请选择后开始计量";
                     PbCache.LEDResultMessage = "未选择称重类型,请选择后开始计量";
                     PbCache.ResultMessage = "未选择称重类型,请选择后开始计量";
                     PbCache.ResultMessage = "未选择称重类型,请选择后开始计量";
+                    return rt;
                 }
                 }
                 // 存在一条预处理数据
                 // 存在一条预处理数据
                 else if (list == null || list.Count == 1)
                 else if (list == null || list.Count == 1)
@@ -157,6 +158,7 @@ namespace MeterSceneLibrary
                                 {
                                 {
                                     rt = saveMethod.doError("该车辆没有期限皮重权限,请联系计量大厅");
                                     rt = saveMethod.doError("该车辆没有期限皮重权限,请联系计量大厅");
                                     PbCache.monitorResultMessage = "该车辆没有期限皮重权限";
                                     PbCache.monitorResultMessage = "该车辆没有期限皮重权限";
+                                    return rt;
                                 }
                                 }
                                 // 有期限皮重权限 
                                 // 有期限皮重权限 
                                 else if (tareCarResult.Data.Count >= 1)
                                 else if (tareCarResult.Data.Count >= 1)
@@ -205,6 +207,7 @@ namespace MeterSceneLibrary
                                         rt = saveMethod.doError(PbCache.ResultMessage);
                                         rt = saveMethod.doError(PbCache.ResultMessage);
                                         rt.isWarn = true;
                                         rt.isWarn = true;
                                         rt.WarnContent = "validWgt";
                                         rt.WarnContent = "validWgt";
+                                        return rt;
                                     }
                                     }
                                     // 重量类型为毛重,在皮重误差内
                                     // 重量类型为毛重,在皮重误差内
                                     else if (list[0].weightTypeNo == "001033001" && PbCache.monitorResult.valid_wgt == true && listMonitor.Data[0].validWgt == "1")
                                     else if (list[0].weightTypeNo == "001033001" && PbCache.monitorResult.valid_wgt == true && listMonitor.Data[0].validWgt == "1")
@@ -217,6 +220,7 @@ namespace MeterSceneLibrary
                                         rt = saveMethod.doError(PbCache.ResultMessage);
                                         rt = saveMethod.doError(PbCache.ResultMessage);
                                         rt.isWarn = true;
                                         rt.isWarn = true;
                                         rt.WarnContent = "validWgt";
                                         rt.WarnContent = "validWgt";
+                                        return rt;
                                     }
                                     }
                                     // 重量类型为毛重,不在皮重误差内
                                     // 重量类型为毛重,不在皮重误差内
                                     else if (list[0].weightTypeNo == "001033001" && (PbCache.monitorResult.valid_wgt == false || listMonitor.Data[0].validWgt == "0"))
                                     else if (list[0].weightTypeNo == "001033001" && (PbCache.monitorResult.valid_wgt == false || listMonitor.Data[0].validWgt == "0"))
@@ -474,6 +478,11 @@ namespace MeterSceneLibrary
                                             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
+                                    {
+                                        rt = saveMethod.doError("程序处理异常");
+                                        return rt;
+                                    }
                                 }
                                 }
                                 // 只存在一条有效的一次计量数据
                                 // 只存在一条有效的一次计量数据
                                 else if (firstList == null || firstList.Count == 1)
                                 else if (firstList == null || firstList.Count == 1)
@@ -850,6 +859,7 @@ namespace MeterSceneLibrary
                                             }
                                             }
                                             PbCache.voiceType = 13;
                                             PbCache.voiceType = 13;
                                             rt = saveMethod.doError(PbCache.ResultMessage);
                                             rt = saveMethod.doError(PbCache.ResultMessage);
+                                            return rt;
                                         }
                                         }
                                         // 重量类型为毛重,不在皮重误差内,正常结净
                                         // 重量类型为毛重,不在皮重误差内,正常结净
                                         else if (list[0].weightTypeNo == "001033001" && (PbCache.monitorResult.valid_wgt == false || listMonitor.Data[0].validWgt == "0"))
                                         else if (list[0].weightTypeNo == "001033001" && (PbCache.monitorResult.valid_wgt == false || listMonitor.Data[0].validWgt == "0"))
@@ -1488,6 +1498,7 @@ namespace MeterSceneLibrary
                                             }
                                             }
                                             PbCache.voiceType = 23;
                                             PbCache.voiceType = 23;
                                             rt = saveMethod.doError(PbCache.ResultMessage);
                                             rt = saveMethod.doError(PbCache.ResultMessage);
+                                            return rt;
                                         }
                                         }
                                     }
                                     }
                                     else
                                     else
@@ -1497,6 +1508,7 @@ namespace MeterSceneLibrary
                                         PbCache.voiceType = 4;
                                         PbCache.voiceType = 4;
                                         PbCache.LEDResultMessage = "计量失败,小于结净最小值,请联系计量大厅";
                                         PbCache.LEDResultMessage = "计量失败,小于结净最小值,请联系计量大厅";
                                         rt.WarnContent = "validWgt";
                                         rt.WarnContent = "validWgt";
+                                        return rt;
                                     }
                                     }
                                 }
                                 }
                                 // 存在多条有效的一次计量数据
                                 // 存在多条有效的一次计量数据
@@ -1530,8 +1542,16 @@ namespace MeterSceneLibrary
                                         rt = saveMethod.doError("存在多条有效的一次计量数据,请联系计量大厅");
                                         rt = saveMethod.doError("存在多条有效的一次计量数据,请联系计量大厅");
                                         PbCache.voiceType = 8;
                                         PbCache.voiceType = 8;
                                         PbCache.LEDResultMessage = "存在多条有效的一次计量数据,请联系计量大厅";
                                         PbCache.LEDResultMessage = "存在多条有效的一次计量数据,请联系计量大厅";
+                                        return rt;
                                     }
                                     }
                                 }
                                 }
+                                else
+                                {
+                                    rt = saveMethod.doError("存在多条有效的一次计量数据,请联系计量大厅");
+                                    PbCache.voiceType = 8;
+                                    PbCache.LEDResultMessage = "存在多条有效的一次计量数据,请联系计量大厅";
+                                    return rt;
+                                }
                             }
                             }
                         }
                         }
                     }
                     }
@@ -1572,6 +1592,7 @@ namespace MeterSceneLibrary
                                             PbCache.voiceType = 13;
                                             PbCache.voiceType = 13;
                                             rt.isWarn = true;
                                             rt.isWarn = true;
                                             rt.WarnContent = "validWgt";
                                             rt.WarnContent = "validWgt";
+                                            return rt;
                                         }
                                         }
                                     }
                                     }
                                     else if (firstList.Count == 1 && firstList[0].weightType != "0")
                                     else if (firstList.Count == 1 && firstList[0].weightType != "0")
@@ -1596,6 +1617,7 @@ namespace MeterSceneLibrary
                                             rt.isWarn = true;
                                             rt.isWarn = true;
                                             PbCache.voiceType = 13;
                                             PbCache.voiceType = 13;
                                             rt.WarnContent = "validWgt";
                                             rt.WarnContent = "validWgt";
+                                            return rt;
                                         }
                                         }
                                     }
                                     }
                                     else if (firstList.Count == 1 && firstList[0].weightType == "0")
                                     else if (firstList.Count == 1 && firstList[0].weightType == "0")
@@ -1938,6 +1960,7 @@ namespace MeterSceneLibrary
                                             rt = saveMethod.doError(PbCache.ResultMessage);
                                             rt = saveMethod.doError(PbCache.ResultMessage);
                                             rt.isWarn = true;
                                             rt.isWarn = true;
                                             rt.WarnContent = "validWgt";
                                             rt.WarnContent = "validWgt";
+                                            return rt;
                                         }
                                         }
                                     }
                                     }
                                     // 存在多条有效的一次计量数据
                                     // 存在多条有效的一次计量数据
@@ -2102,7 +2125,6 @@ namespace MeterSceneLibrary
                                         if (countTerm == 0)
                                         if (countTerm == 0)
                                         {
                                         {
                                             rt = saveMethod.doNetAddMuchGross(meterWorkCarActualFirsts,mwaf);
                                             rt = saveMethod.doNetAddMuchGross(meterWorkCarActualFirsts,mwaf);
-                                            rt.result = true;
                                             rt.resultInfo = "计量完成,留存期限皮成功";
                                             rt.resultInfo = "计量完成,留存期限皮成功";
                                             PbCache.voiceType = 9;
                                             PbCache.voiceType = 9;
                                             PbCache.ResultMessage = "计量成功,留存期限皮成功";
                                             PbCache.ResultMessage = "计量成功,留存期限皮成功";
@@ -2126,7 +2148,6 @@ namespace MeterSceneLibrary
                                         else
                                         else
                                         {
                                         {
                                             rt = saveMethod.doNetAddMuchGross(meterWorkCarActualFirsts, mwaf);
                                             rt = saveMethod.doNetAddMuchGross(meterWorkCarActualFirsts, mwaf);
-                                            rt.result = true;
                                             PbCache.voiceType = 11;
                                             PbCache.voiceType = 11;
                                             rt.resultInfo += ",存在多个毛重未结净";
                                             rt.resultInfo += ",存在多个毛重未结净";
                                             PbCache.ResultMessage = "计量成功,存在多个毛重未结净";
                                             PbCache.ResultMessage = "计量成功,存在多个毛重未结净";
@@ -2142,6 +2163,7 @@ namespace MeterSceneLibrary
                                     PbCache.voiceType = 6;
                                     PbCache.voiceType = 6;
                                     rt.isWarn = true;
                                     rt.isWarn = true;
                                     rt.WarnContent = "validIsPre";
                                     rt.WarnContent = "validIsPre";
+                                    return rt;
                                 }
                                 }
                             }
                             }
                         }
                         }
@@ -2152,6 +2174,7 @@ namespace MeterSceneLibrary
                             rt.isWarn = true;
                             rt.isWarn = true;
                             PbCache.voiceType = 19;
                             PbCache.voiceType = 19;
                             rt.WarnContent = "validIsPre";
                             rt.WarnContent = "validIsPre";
+                            return rt;
                         }
                         }
                     }
                     }
                 }
                 }
@@ -2160,8 +2183,17 @@ namespace MeterSceneLibrary
                     rt = saveMethod.doError("存在多条上称申请数据,请联系计量大厅");
                     rt = saveMethod.doError("存在多条上称申请数据,请联系计量大厅");
                     PbCache.voiceType = 20;
                     PbCache.voiceType = 20;
                     PbCache.LEDResultMessage = "存在多条上称申请数据,请联系计量大厅";
                     PbCache.LEDResultMessage = "存在多条上称申请数据,请联系计量大厅";
+                    return rt;
                 }
                 }
             }
             }
+            // 后台失败处理
+            if (!rt.result)
+            {
+                rt.resultInfo = "称重数据保存失败";
+                PbCache.voiceType = 25;
+                PbCache.LEDResultMessage = "计量失败,请联系计量大厅";
+                PbCache.monitorResultMessage = "";
+            }
             return rt;
             return rt;
         }
         }
     }
     }

+ 68 - 3
MeterSceneLibrary/JISCO/OuterCarJISCO.cs

@@ -110,6 +110,7 @@ namespace MeterSceneLibrary
                             rt = saveMethod.doError("不存在一次计量数据却存在一条使用中的委托");
                             rt = saveMethod.doError("不存在一次计量数据却存在一条使用中的委托");
                             PbCache.voiceType = 18;
                             PbCache.voiceType = 18;
                             PbCache.LEDResultMessage = "不存在一次计量数据却存在一条使用中的委托";
                             PbCache.LEDResultMessage = "不存在一次计量数据却存在一条使用中的委托";
+                            return rt;
                         }
                         }
                         // 只存在一条未使用的委托
                         // 只存在一条未使用的委托
                         else if (listPreScale.Count == 1 && (listPreScale[0].valueFlag == "0" || listPreScale[0].valueFlag == "1"))
                         else if (listPreScale.Count == 1 && (listPreScale[0].valueFlag == "0" || listPreScale[0].valueFlag == "1"))
@@ -155,7 +156,7 @@ namespace MeterSceneLibrary
                                         PbCache.isActual = true;
                                         PbCache.isActual = true;
                                         PbCache.isInnerCar = true;
                                         PbCache.isInnerCar = true;
                                         PbCache.voiceType = 1;
                                         PbCache.voiceType = 1;
-                                        rt = saveMethod.doAddFirst(null, 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));
                                     }
                                     }
                                     // 上次净重已匹配委托 
                                     // 上次净重已匹配委托 
@@ -366,6 +367,7 @@ namespace MeterSceneLibrary
                                                 rt.WarnContent = "validWgt";
                                                 rt.WarnContent = "validWgt";
                                                 PbCache.voiceType = 4;
                                                 PbCache.voiceType = 4;
                                                 PbCache.LEDResultMessage = "计量失败,小于结净最小值,请联系计量大厅";
                                                 PbCache.LEDResultMessage = "计量失败,小于结净最小值,请联系计量大厅";
+                                                return rt;
                                             }
                                             }
                                         }
                                         }
                                         else
                                         else
@@ -403,6 +405,7 @@ namespace MeterSceneLibrary
                             else
                             else
                             {
                             {
                                 rt = saveMethod.doError("接口调用错误:无法读取车辆最近一次结净数据");
                                 rt = saveMethod.doError("接口调用错误:无法读取车辆最近一次结净数据");
+                                return rt;
                             }
                             }
                         }
                         }
                         else if (listPreScale.Count == 2 && listPreScale[0].valueFlag == "4" && listPreScale[1].valueFlag == "4")
                         else if (listPreScale.Count == 2 && listPreScale[0].valueFlag == "4" && listPreScale[1].valueFlag == "4")
@@ -511,6 +514,17 @@ namespace MeterSceneLibrary
                                 rt.resultInfo += res;
                                 rt.resultInfo += res;
                             }
                             }
                         }
                         }
+                        //不符合上述条件且有一次记录,不匹配委托直接保存一次
+                        else
+                        {
+                            rt = saveMethod.doAddFirst(null, mwaf);
+                            rt.resultInfo += ",存在多个委托,无法自动匹配";
+                            PbCache.voiceType = 8;
+                            PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成,多委托无法自动匹配请联系", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
+                            PbCache.monitorResultMessage = string.Format("计量完成,车号{0}存在{1}个委托,无法自动匹配", PbCache.lockCarNo, listPreScale.Count);
+                            PbCache.isActual = true;
+                            PbCache.isInnerCar = true;
+                        }
                     }
                     }
 
 
                 }
                 }
@@ -570,6 +584,7 @@ namespace MeterSceneLibrary
                                     PbCache.voiceType = 18;
                                     PbCache.voiceType = 18;
                                     rt = saveMethod.doError("存在一条使用中的委托,请联系计量大厅进行确认");
                                     rt = saveMethod.doError("存在一条使用中的委托,请联系计量大厅进行确认");
                                     PbCache.LEDResultMessage = "存在一条使用中的委托,请联系计量大厅进行确认";
                                     PbCache.LEDResultMessage = "存在一条使用中的委托,请联系计量大厅进行确认";
+                                    return rt;
                                 }
                                 }
                                 // 只存在一条未使用的委托数据
                                 // 只存在一条未使用的委托数据
                                 else if (listPreScale.Count == 1 && listPreScale[0].valueFlag == "1")
                                 else if (listPreScale.Count == 1 && listPreScale[0].valueFlag == "1")
@@ -734,6 +749,17 @@ namespace MeterSceneLibrary
                                         rt.resultInfo += ",存在多个委托,无法自动匹配";
                                         rt.resultInfo += ",存在多个委托,无法自动匹配";
                                     }
                                     }
                                 }
                                 }
+                                //不符合上述条件且有一次记录,不匹配委托直接结净
+                                else
+                                {
+                                    rt = saveMethod.doNet(null, rmX.Data[0], mwaf);
+                                    rt.isWarn = true;
+                                    rt.WarnContent = "validIsPre";
+                                    PbCache.voiceType = 8;
+                                    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.monitorResultMessage = string.Format("计量完成,车号{0}存在{1}个委托,无法自动匹配", PbCache.lockCarNo, listPreScale.Count);
+                                }
                             }
                             }
                             // 存在的一次计量数据已匹配委托
                             // 存在的一次计量数据已匹配委托
                             else if (rmX.Data[0].isPreScale == "1")
                             else if (rmX.Data[0].isPreScale == "1")
@@ -764,7 +790,6 @@ namespace MeterSceneLibrary
                                     rt = saveMethod.doNet(pts, oldCarActural, mwaf);
                                     rt = saveMethod.doNet(pts, oldCarActural, 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));
 
 
-                                    rt.result = true;
                                     rt.resultInfo = "计量完成";
                                     rt.resultInfo = "计量完成";
                                 }
                                 }
                                 // 如果存在一条未使用的委托和一条使用中的委托
                                 // 如果存在一条未使用的委托和一条使用中的委托
@@ -865,7 +890,6 @@ 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));
                                         PbCache.monitorResultMessage = string.Format("计量完成,在结净时仍然存在{1}个委托)", PbCache.lockCarNo, listPreScale.Count-1);
                                         PbCache.monitorResultMessage = string.Format("计量完成,在结净时仍然存在{1}个委托)", PbCache.lockCarNo, listPreScale.Count-1);
 
 
-                                        rt.result = true;
                                         rt.resultInfo = "计量完成";
                                         rt.resultInfo = "计量完成";
                                     }
                                     }
                                 }
                                 }
@@ -896,6 +920,37 @@ namespace MeterSceneLibrary
                                     mwaf = entityBase.format<MeterWorkCarActualFirst>(pts, mwaf);
                                     mwaf = entityBase.format<MeterWorkCarActualFirst>(pts, mwaf);
                                     mwaf.isPreScale = "1";
                                     mwaf.isPreScale = "1";
 
 
+                                    rt = saveMethod.doNet(pts, rmX.Data[0], mwaf);
+                                    if (pts == null)
+                                    {
+                                        rt.isWarn = true;
+                                        rt.WarnContent = "validIsPre";
+                                        PbCache.voiceType = 8;
+                                        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.monitorResultMessage = string.Format("计量完成,车号{0}存在{1}个委托,无法自动匹配", PbCache.lockCarNo, listPreScale.Count);
+                                    }
+                                    else
+                                    {
+                                        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));
+                                    }
+                                }
+                                else
+                                {
+                                    PreTrackScale pts = null;
+
+                                    foreach (var item in listPreScale)
+                                    {
+                                        if (item.predictionNo == rmX.Data[0].predictionNo)
+                                        {
+                                            pts = item;
+                                        }
+                                    }
+
+                                    EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
+                                    mwaf = entityBase.format<MeterWorkCarActualFirst>(pts, mwaf);
+                                    mwaf.isPreScale = "1";
+
                                     rt = saveMethod.doNet(pts, rmX.Data[0], mwaf);
                                     rt = saveMethod.doNet(pts, rmX.Data[0], mwaf);
                                     if (pts == null)
                                     if (pts == null)
                                     {
                                     {
@@ -922,6 +977,7 @@ namespace MeterSceneLibrary
                         rt.WarnContent = "validWgt";
                         rt.WarnContent = "validWgt";
                         PbCache.voiceType = 4;
                         PbCache.voiceType = 4;
                         PbCache.LEDResultMessage = "计量失败,小于结净最小值,请联系计量大厅";
                         PbCache.LEDResultMessage = "计量失败,小于结净最小值,请联系计量大厅";
+                        return rt;
                     }
                     }
                 }
                 }
                 else
                 else
@@ -940,8 +996,17 @@ namespace MeterSceneLibrary
             else
             else
             {
             {
                 rt = saveMethod.doError("接口调用错误:无法读取车辆最近一次计量数据");
                 rt = saveMethod.doError("接口调用错误:无法读取车辆最近一次计量数据");
+                return rt;
             }
             }
 
 
+            // 后台失败处理
+            if (!rt.result)
+            {
+                rt.resultInfo = "称重数据保存失败";
+                PbCache.voiceType = 25;
+                PbCache.LEDResultMessage = "计量失败,请联系计量大厅";
+                PbCache.monitorResultMessage = "";
+            }
             return rt;
             return rt;
          }
          }
 
 

+ 1 - 1
TrainVideoDataDispose/Program.cs

@@ -15,7 +15,7 @@ namespace TrainVideoDataDispose
         {
         {
             Application.EnableVisualStyles();
             Application.EnableVisualStyles();
             Application.SetCompatibleTextRenderingDefault(false);
             Application.SetCompatibleTextRenderingDefault(false);
-            Application.Run(new Form1());
+            Application.Run(new text());
         }
         }
     }
     }
 }
 }

+ 4 - 0
TrainVideoDataDispose/text.cs

@@ -16,6 +16,9 @@ using System.Xml;
 using Common;
 using Common;
 using System.Configuration;
 using System.Configuration;
 using com.hnshituo.core.webapp.vo;
 using com.hnshituo.core.webapp.vo;
+using System.Resources;
+using System.Security.Cryptography;
+using TrainVideoDataDispose.Properties;
 
 
 namespace TrainVideoDataDispose
 namespace TrainVideoDataDispose
 {
 {
@@ -240,5 +243,6 @@ namespace TrainVideoDataDispose
             }
             }
         }
         }
         #endregion
         #endregion
+
     }
     }
 }
 }