Explorar o código

Revert "winfrom提交"

This reverts commit 6277db12120a8a3e066287dc8f9c21b2081ee8c4.

# Conflicts:
#	MeterSceneLibrary/JISCO/OuterCarJISCO.cs
duyong %!s(int64=3) %!d(string=hai) anos
pai
achega
d611964062

+ 2 - 2
CarMeterSystem/App.config

@@ -8,10 +8,10 @@
     <!--<add key="ServiceUrl" value="http://10.104.4.105:9004/v1" />-->
     <!--<add key="ServiceUrl" value="http://192.168.216.143:9004/v1" />-->
     <!--<add key="ServiceUrl" value="http://192.168.137.136:9004/v1" />-->
-    <add key="ServiceUrl" value="http://10.104.0.1:9004/v1" />
+    <!--<add key="ServiceUrl" value="http://10.104.0.1:9004/v1" />-->
     <!--<add key="ServiceUrl" value="http://192.168.107.60:8888/icore.icp.winform/pass/jlcar"/>-->
     <!--<add key="ServiceUrl" value="http://192.168.185.29/icore.icp.winform/pass/jlcar"/>-->
-    <!--<add key="ServiceUrl" value="http://10.99.81.20/icore.icp.web/pass/systemBase/v1"/>-->
+    <add key="ServiceUrl" value="http://10.99.81.20/icore.icp.web/pass/systemBase/v1"/>
     <!--<add key="ServiceUrl" value="http://jgwzjl.jiugang.com/icore.icp.web/pass/systemBase/v1"/>-->
     <!--<add key="ServiceUrl" value="http://10.130.1.2/icore.icp.web/pass/systemBase/v1"/>-->
     <!--实时库地址-->

+ 36 - 2
CarMeterSystem/Form1.cs

@@ -47,6 +47,9 @@ namespace CarMeterSystem
         //车号修正
         private CarNoModfiy modfiy = new CarNoModfiy();
 
+        //一码通接口调用
+        private HttpRequest httpRequest = new HttpRequest();
+
         /// <summary>
         /// 这个是保存前一次采集中的车号信息
         /// </summary>
@@ -453,12 +456,26 @@ namespace CarMeterSystem
                     }
                     else
                     {
-                        DecodeQRCode(sweepCodeClass.StrCode);
+                        if (sweepCodeClass.StrCode.Substring(0, 3) == "TWB")
+                        {
+                            DecodeQRCodeYMT(sweepCodeClass.StrCode);
+                        }
+                        else
+                        {
+                            DecodeQRCode(sweepCodeClass.StrCode);
+                        }
                     }
                 }
                 else
                 {
-                    DecodeQRCode(sweepCodeClass2.StrCode);
+                    if (sweepCodeClass2.StrCode.Substring(0, 3) == "TWB")
+                    {
+                        DecodeQRCodeYMT(sweepCodeClass2.StrCode);
+                    }
+                    else
+                    {
+                        DecodeQRCode(sweepCodeClass2.StrCode);
+                    }
                 }
                 #endregion
 
@@ -952,6 +969,23 @@ namespace CarMeterSystem
             }
         }
 
+        private void DecodeQRCodeYMT(string strCode)
+        {
+            try
+            {
+                string test = strCode.Substring(0, 3);
+                codeFlag = true;
+                string token = httpRequest.GetToken();
+                string carNo = httpRequest.getCarNo(strCode,token);
+                PbCache.collect.carno = carNo;
+                PbCache.strCode = carNo;
+            }
+            catch (Exception e)
+            {
+
+            }
+        }
+
         private void DecodeQRCode(string strCode)
         {
             codeFlag = true;

+ 37 - 2
CarMeterSystem/frmMain.cs

@@ -1,6 +1,7 @@
 using CarMeterSystem.OptionCls;
 using com.hnshituo.core.webapp.vo;
 using Common;
+using iCore.Rtdb;
 using iCore.Rtdb.RtdbTable;
 using MeterConditionLibrary;
 using MeterModelLibrary;
@@ -52,6 +53,9 @@ namespace CarMeterSystem
         /// </summary>
         private string preCarNo = "";
 
+        //一码通接口调用
+        private HttpRequest httpRequest = new HttpRequest();
+
         //验证对射
         private validParkStatus valid = new validParkStatus();
 
@@ -523,12 +527,27 @@ namespace CarMeterSystem
                     }
                     else
                     {
-                        DecodeQRCode(sweepCodeClass.StrCode);
+                        if (sweepCodeClass.StrCode.Substring(0,3) == "TWB")
+                        {
+                            DecodeQRCodeYMT(sweepCodeClass.StrCode);
+                        }
+                        else
+                        {
+                            DecodeQRCode(sweepCodeClass.StrCode);
+                        }
                     }
                 }
                 else
                 {
-                    DecodeQRCode(sweepCodeClass2.StrCode);
+                    if (sweepCodeClass2.StrCode.Substring(0, 3) == "TWB")
+                    {
+                        DecodeQRCodeYMT(sweepCodeClass2.StrCode);
+                    }
+                    else
+                    {
+                        DecodeQRCode(sweepCodeClass2.StrCode);
+                    }
+                    
                 }
                 #endregion
 
@@ -1283,6 +1302,22 @@ namespace CarMeterSystem
         }
 
 
+        private void DecodeQRCodeYMT(string strCode)
+        {
+            try
+            {
+                codeFlag = true;
+                string token = httpRequest.GetToken();
+                string carNo = httpRequest.getCarNo(strCode, token);
+                PbCache.collect.carno = carNo;
+                PbCache.strCode = carNo;
+            }
+            catch (Exception e)
+            {
+
+            }
+        }
+
         private void DecodeQRCode(string strCode)
         {
             codeFlag = true;

+ 16 - 14
CarMeterSystem/frmOneYardToEnd.cs

@@ -270,22 +270,22 @@ namespace CarMeterSystem
                 }
 
                 //物资名称验证与类型类型的关系验证;业务类型验证
-                if (!validMatterName.ValidMethod(preTrack))
-                {
-                    PbCache.isLockFrm = false;
-                    btnSave.Enabled = true;
-                    setMsg(PbCache.ResultMessage);
-                    return;
-                }
+                //if (!validMatterName.ValidMethod(preTrack))
+                //{
+                //    PbCache.isLockFrm = false;
+                //    btnSave.Enabled = true;
+                //    setMsg(PbCache.ResultMessage);
+                //    return;
+                //}
 
                 //九钢收发货名称与计量点区域的验证 
-                if (!validUnitName.ValidMethod(preTrack))
-                {
-                    PbCache.isLockFrm = false;
-                    btnSave.Enabled = true;
-                    setMsg(PbCache.ResultMessage);
-                    return;
-                }
+                //if (!validUnitName.ValidMethod(preTrack))
+                //{
+                //    PbCache.isLockFrm = false;
+                //    btnSave.Enabled = true;
+                //    setMsg(PbCache.ResultMessage);
+                //    return;
+                //}
 
                 //判断区域是否正确
                 if (!areaInfo.ValidMethod(PbCache.sportInfo, txtCarNo.Text) && PbCache.monitor.validArea == "1" && !isCompare)
@@ -930,6 +930,8 @@ namespace CarMeterSystem
                     //PbCache.ledInfo = string.Format("计量完成,车号:{0},车重:{1},物资:{2}", PbCache.lockCarNo, PbCache.lockWgt, preTrack != null ? preTrack.matterName : "");
                     #endregion LED写入
 
+                    Thread.Sleep(200);
+
                     #region 智能料场LED显示
                     if (AppConfigCache.isSendZNLC == "1")
                     {

+ 1 - 0
Common/Common.csproj

@@ -136,6 +136,7 @@
     <Compile Include="vo\base\MetetBaseRailwayAiweight.cs" />
     <Compile Include="vo\base\ZnlcInterface.cs" />
     <Compile Include="vo\pb\CraneScaleCollectModel.cs" />
+    <Compile Include="vo\pb\HttpRequest.cs" />
     <Compile Include="vo\scale\PreBeltScaleForecast.cs" />
     <Compile Include="vo\scale\PreTrackNotice.cs" />
     <Compile Include="vo\base\MeterBaseSpecialUnit.cs" />

+ 4 - 0
Common/DbOption/work/MeterWorkCarActualFirstService.cs

@@ -1,4 +1,6 @@
 using com.hnshituo.core.webapp.vo;
+using CoreFS.CA06;
+using iCore.Rtdb;
 using System;
 using System.Collections;
 using System.Collections.Generic;
@@ -69,6 +71,8 @@ namespace Common
             return rm;
         }
 
+        private CoreRESTfulService restful = new CoreRESTfulService(AppConfigCache.serviceUrl, "", true);
+
         /// <summary>
         /// 根据预报编号查数据
         /// </summary>

+ 104 - 94
Common/vo/base/ZnlcInterface.cs

@@ -12,106 +12,116 @@ using System.Text;
 
 namespace OtherInterface
 {
-  public static class ZnlcInterface
-  {
-    private static LimisResponse sendDataToZn(WeightInfoBeta model)
+    public static class ZnlcInterface
     {
-      DataContractJsonSerializer objseria = new DataContractJsonSerializer(typeof(WeightInfoBeta));
-      MemoryStream mem = new MemoryStream();
-      objseria.WriteObject(mem, model);
-      string data = Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
-      WebClient webClient = new WebClient();
-      webClient.Headers["Content-type"] = "application/json";
-      webClient.Encoding = Encoding.UTF8;
-      string retStr = webClient.UploadString("http://10.1.213.84:8080/LimsService.svc/SendWeightResultBeta", "POST", data);
-      LimisResponse limisResponse = JsonConvert.DeserializeObject<LimisResponse>(retStr);
-      return limisResponse;
-    }
-    public static string sendFirst(MeterWorkCarActualFirst meterWorkCarActualFirst)
-    {
-      string strResult = "";
-      try
-      {
-        WeightInfoBeta w = new WeightInfoBeta();
-      w.DeviceNo = meterWorkCarActualFirst.baseSpotNo;//计量站点
-      w.ConveyanceNo = meterWorkCarActualFirst.carNo;//车号
-      w.WeightVoucherNo = meterWorkCarActualFirst.predictionNo;//委托编号
-      //double t =double.Parse( meterWorkCarActualFirst.meterWeight.Value.ToString());
-      //w.GrossWeight =double.Parse( MyStringUtils.div1000(t.ToString()));
-      w.GrossWeight = meterWorkCarActualFirst.meterWeight / 1000;
-      w.TareWeight = null;
-      w.NetWeight = null;
-      w.MeteringPerson = meterWorkCarActualFirst.createManNo;
-        //DateTime dt =DateTime.Parse( meterWorkCarActualFirst.createTime.ToString());
-        //w.MeteringTime = dt.ToString("yyyy-MM-dd hh:mm:ss");
-        w.MeteringTime = meterWorkCarActualFirst.createTime.ToString();
-           LimisResponse ls = sendDataToZn(w);
-        if (ls.Success)
-        {
-          strResult = ls.Msg;
-        }
-        else
+        private static LimisResponse sendDataToZn(WeightInfoBeta model)
         {
-          if (ls.Code.Equals("401") || ls.Code.Equals("402") || ls.Code.Equals("404"))
-          {
-          }
+            DataContractJsonSerializer objseria = new DataContractJsonSerializer(typeof(WeightInfoBeta));
+            MemoryStream mem = new MemoryStream();
+            objseria.WriteObject(mem, model);
+            string data = Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
+            WebClient webClient = new WebClient();
+            webClient.Headers["Content-type"] = "application/json";
+            webClient.Encoding = Encoding.UTF8;
+            string retStr = webClient.UploadString("http://10.1.213.84:8080/LimsService.svc/SendWeightResultBeta", "POST", data);
+            LimisResponse limisResponse = JsonConvert.DeserializeObject<LimisResponse>(retStr);
+            return limisResponse;
         }
-      }
-      catch (Exception eee)
-      {
-        strResult = "error:"+eee.Message;
-      }
-      return strResult;
-    }
-    public static string sendNet(MeterWorkCarActual meterWorkCarActual)
-    {
-      string strResult = "";
-      try
-      {
-        WeightInfoBeta w = new WeightInfoBeta();
-      w.DeviceNo = meterWorkCarActual.baseSpot2No;//计量站点
-      w.ConveyanceNo = meterWorkCarActual.carNo;//车号
-      w.WeightVoucherNo = meterWorkCarActual.predictionNo;//委托编号
-      w.GrossWeight = meterWorkCarActual.grossWeight / 1000;
-      w.TareWeight = meterWorkCarActual.tareWeight / 1000;
-      w.NetWeight = meterWorkCarActual.netWeight / 1000;
-      w.MeteringPerson = meterWorkCarActual.createManNo;
-      w.MeteringTime = meterWorkCarActual.createTime.ToString();
-     
-        LimisResponse ls = sendDataToZn(w);
-        if (ls.Success)
+        public static string sendFirst(MeterWorkCarActualFirst meterWorkCarActualFirst)
         {
-          strResult = ls.Msg;
+            string strResult = "";
+            try
+            {
+                WeightInfoBeta w = new WeightInfoBeta();
+                w.DeviceNo = meterWorkCarActualFirst.baseSpotNo;//计量站点
+                w.ConveyanceNo = meterWorkCarActualFirst.carNo;//车号
+                w.WeightVoucherNo = meterWorkCarActualFirst.predictionNo;//委托编号
+                                                                         //double t =double.Parse( meterWorkCarActualFirst.meterWeight.Value.ToString());
+                                                                         //w.GrossWeight =double.Parse( MyStringUtils.div1000(t.ToString()));
+                w.GrossWeight = meterWorkCarActualFirst.meterWeight / 1000;
+                w.TareWeight = null;
+                w.NetWeight = null;
+                w.MeteringPerson = meterWorkCarActualFirst.createManNo;
+                //DateTime dt =DateTime.Parse( meterWorkCarActualFirst.createTime.ToString());
+                //w.MeteringTime = dt.ToString("yyyy-MM-dd hh:mm:ss");
+                w.MeteringTime = meterWorkCarActualFirst.createTime.ToString();
+                LimisResponse ls = sendDataToZn(w);
+                if (ls.Success)
+                {
+                    strResult = ls.Msg;
+                }
+                else
+                {
+                    if (ls.Code.Equals("401") || ls.Code.Equals("402") || ls.Code.Equals("404"))
+                    {
+                        strResult = "error:" + ls.Msg + "errorcode:[" + ls.Code + "]";
+                    }
+                    else
+                    {
+                        strResult = "error:" + ls.Msg + "errorcode:[" + ls.Code + "]";
+                    }
+                }
+            }
+            catch (Exception eee)
+            {
+                strResult = "error:" + eee.Message;
+            }
+            return strResult;
         }
-        else
+        public static string sendNet(MeterWorkCarActual meterWorkCarActual)
         {
-          if (ls.Code.Equals("401") || ls.Code.Equals("402") || ls.Code.Equals("404"))
-          {
-          }
+            string strResult = "";
+            try
+            {
+                WeightInfoBeta w = new WeightInfoBeta();
+                w.DeviceNo = meterWorkCarActual.baseSpot2No;//计量站点
+                w.ConveyanceNo = meterWorkCarActual.carNo;//车号
+                w.WeightVoucherNo = meterWorkCarActual.predictionNo;//委托编号
+                w.GrossWeight = meterWorkCarActual.grossWeight / 1000;
+                w.TareWeight = meterWorkCarActual.tareWeight / 1000;
+                w.NetWeight = meterWorkCarActual.netWeight / 1000;
+                w.MeteringPerson = meterWorkCarActual.createManNo;
+                w.MeteringTime = meterWorkCarActual.createTime.ToString();
+
+                LimisResponse ls = sendDataToZn(w);
+                if (ls.Success)
+                {
+                    strResult = ls.Msg;
+                }
+                else
+                {
+                    if (ls.Code.Equals("401") || ls.Code.Equals("402") || ls.Code.Equals("404"))
+                    {
+                        strResult = "error:" + ls.Msg + "errorcode:["+ ls.Code + "]";
+                    }
+                    else
+                    {
+                        strResult = "error:" + ls.Msg + "errorcode:[" + ls.Code + "]";
+                    }
+                }
+            }
+            catch (Exception eee)
+            {
+                strResult = "error:" + eee.Message;
+            }
+            return strResult;
         }
-      }
-      catch (Exception eee)
-      {
-        strResult = "error:" + eee.Message;
-      }
-      return strResult;
     }
-  }
-  public class LimisResponse
-  {
-    public bool Success { get; set; }
-    public string Msg { get; set; }
-    public string Code { get; set; }
-  }
-  public class WeightInfoBeta
-  {
-    public string ConveyanceNo { get; set; }
-    public string DeviceNo { get; set; }
-    public double? GrossWeight { get; set; }
-    public string MeteringPerson { get; set; }
-    public string MeteringTime { get; set; }
-    public double? NetWeight { get; set; }
-    public double? TareWeight { get; set; }
-    public string WeightVoucherNo { get; set; }
-  }
+    public class LimisResponse
+    {
+        public bool Success { get; set; }
+        public string Msg { get; set; }
+        public string Code { get; set; }
+    }
+    public class WeightInfoBeta
+    {
+        public string ConveyanceNo { get; set; }
+        public string DeviceNo { get; set; }
+        public double? GrossWeight { get; set; }
+        public string MeteringPerson { get; set; }
+        public string MeteringTime { get; set; }
+        public double? NetWeight { get; set; }
+        public double? TareWeight { get; set; }
+        public string WeightVoucherNo { get; set; }
+    }
 }

+ 62 - 0
Common/vo/pb/HttpRequest.cs

@@ -0,0 +1,62 @@
+using System;
+using System.Configuration;
+using System.IO;
+using System.Net;
+using System.Security.Cryptography;
+using System.Text;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+
+namespace Common
+{
+    public class HttpRequest
+    {
+        public string GetToken()
+        {
+            string serviceAddress = "http://10.1.213.213:8765/oauth/token?client_id=c1&client_secret=secret&grant_type=password&username=jk-znjl&password=jk-znjl";
+            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
+            request.Method = "POST";
+            request.ContentType = "application/json";
+            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
+            string encoding = response.ContentEncoding;
+            if (encoding == null || encoding.Length < 1)
+            {
+                encoding = "UTF-8"; //默认编码  
+            }
+            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
+            string retString = reader.ReadToEnd();
+            Token stu = new Token();
+            Token stu1 = JsonConvert.DeserializeObject<Token>(retString);
+            return stu1.access_token;
+        }
+        public string getCarNo(string code, string token)
+        {
+            //string serviceAddress = "http://ymt.jiugang.com:5555/transport8766/tpwaybillcumstom/getTmsWaybillGoodsListByTmsWaybill?tmsWaybillId=" + code;
+            string serviceAddress = "http://10.1.213.213:8766/tpwaybillcumstom/getWaybillStateById?tmsWayBillId=" + code;
+            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
+            request.Method = "GET";
+            request.ContentType = "text/html;charset=UTF-8";
+            request.Headers.Add("Authorization", "bearer " + token);
+            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
+            Stream myResponseStream = response.GetResponseStream();
+            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
+            string retString = myStreamReader.ReadToEnd();
+            myStreamReader.Close();
+            myResponseStream.Close();
+            JObject res = JsonConvert.DeserializeObject<JObject>(retString);
+            string carNo = string.IsNullOrEmpty(res.SelectToken("data.['vehicleId']").Value<string>()) ? "" : res.SelectToken("data.['vehicleId']").Value<string>().Replace("-","");
+            return carNo;
+        }
+    }
+
+    public class Token
+    {
+        public string access_token { get; set; }
+        public string token_type { get; set; }
+        public string refresh_token { get; set; }
+        public string scope { get; set; }
+        public string jti { get; set; }
+        public string expires_in { get; set; }
+    }
+
+}

+ 3 - 0
MeterSceneLibrary/JISCO/InnerDoubleJISCO.cs

@@ -90,6 +90,9 @@ namespace MeterSceneLibrary
             PbCache.monitorResultMessage = "";
             PbCache.LEDResultMessage = "";
 
+            PbCache.yardActual = null;
+            PbCache.yardFirst = null;
+
             // 根据车号查询重量类型预处理表
             RESTfulResult<List<MeterWorkPreWgttype>> rmX = wgttypeService.doQueryWf(new MeterWorkPreWgttype { carNo = PbCache.lockCarNo, valueFlag = "1" });
 

+ 34 - 38
MeterSceneLibrary/JISCO/OuterCarJISCO.cs

@@ -31,9 +31,6 @@ namespace MeterSceneLibrary
         // 根据称点查询监控信息
         private RESTfulResult<List<MeterWorkMonitor>> listMonitor;
 
-        // 查询上一次结净数据
-        private MeterWorkCarActualService meterWorkCarActualService = new MeterWorkCarActualService();
-
         private JISCO.SaveMethod saveMethod = new JISCO.SaveMethod();
 
         public rtInfo MeterMethod(PreTrackScale scale)
@@ -44,31 +41,10 @@ namespace MeterSceneLibrary
             string ResultMessage = "";
             bool isError = false;
 
-            #region 数据查询
             //根据称点查询监控信息
             MeterWorkMonitorService meterWorkMonitorService = new MeterWorkMonitorService();
             listMonitor = meterWorkMonitorService.doQueryOneWf(new MeterWorkMonitor { pointNo = PbCache.sportInfo.baseSpotNo });
 
-            // VALUE_FLAG 状态(0=作废,1=有效(已匹配),2=结净,3=未匹配)
-            // 根据车号查询最近的一次计量数据
-            RESTfulResult<List<MeterWorkCarActualFirst>> rmX = mwcfs.doQueryByFlag(new MeterWorkCarActualFirst { carNo = PbCache.lockCarNo });
-
-            // 根据车号查询委托表中未使用和使用中的委托
-            // 状态(0:未配车;1:未使用;2:已使用;3:已作废;4:正使用)
-            RESTfulResult<List<PreTrackScale>> rmPre = preTrackScaleService.doQueryByFlag(new PreTrackScale { carNo = PbCache.lockCarNo });
-
-
-            //计量实绩
-            MeterWorkCarActual mwca = new MeterWorkCarActual();
-            mwca.carNo = PbCache.lockCarNo;
-            RESTfulResult<List<MeterWorkCarActual>> rm = meterWorkCarActualService.doQueryActaulWf(mwca);
-
-            // 签发时间比较
-            // 通过上次结净记录,找到该委托的签发时间
-            MeterWorkCarActual lastMeterWorkCarActual = rm.Data[0];
-            RESTfulResult<List<PreTrackScale>> lastPre = preTrackScaleService.doQueryWf(new PreTrackScale { predictionNo = lastMeterWorkCarActual.predictionNo });
-            #endregion
-
             mwaf.carNo = PbCache.lockCarNo;
             mwaf.weightType = "";  // 默认重量类型为空
             mwaf.actualFirstNo = DateTime.Now.ToString("yyyyMMdd");//10
@@ -100,10 +76,16 @@ namespace MeterSceneLibrary
             PbCache.yardActual = null;
             PbCache.yardFirst = null;
 
+            // VALUE_FLAG 状态(0=作废,1=有效(已匹配),2=结净,3=未匹配)
+            // 根据车号查询最近的一次计量数据
+            RESTfulResult<List<MeterWorkCarActualFirst>> rmX = mwcfs.doQueryByFlag(new MeterWorkCarActualFirst { carNo = PbCache.lockCarNo });
             if (rmX.Succeed)
             {
                 List<MeterWorkCarActualFirst> list = rmX.Data;
 
+                // 根据车号查询委托表中未使用和使用中的委托
+                // 状态(0:未配车;1:未使用;2:已使用;3:已作废;4:正使用)
+                RESTfulResult<List<PreTrackScale>> rmPre = preTrackScaleService.doQueryByFlag(new PreTrackScale { carNo = PbCache.lockCarNo });
                 listPreScale = rmPre.Data;
 
                 // 不存在一次计量数据
@@ -144,7 +126,13 @@ namespace MeterSceneLibrary
                             //EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                             //mwaf = entityBase.format<MeterWorkCarActualFirst>(scale, mwaf);
 
-                            
+                            // 查询上一次结净数据
+                            MeterWorkCarActualService meterWorkCarActualService = new MeterWorkCarActualService();
+                            //计量实绩
+                            MeterWorkCarActual mwca = new MeterWorkCarActual();
+                            mwca.carNo = PbCache.lockCarNo;
+
+                            RESTfulResult<List<MeterWorkCarActual>> rm = meterWorkCarActualService.doQueryActaulWf(mwca);
 
                             if (rm.Succeed)
                             {
@@ -166,7 +154,7 @@ namespace MeterSceneLibrary
                                 }
                                 else
                                 {
-                                    
+                                    MeterWorkCarActual lastMeterWorkCarActual = rm.Data[0];
 
 
                                     // 上次净重记录未匹配委托
@@ -192,7 +180,9 @@ namespace MeterSceneLibrary
                                         bool isYCDX = false;
 
                                         bool isHZ = false;
-                                        
+                                        // 签发时间比较
+                                        // 通过上次结净记录,找到该委托的签发时间
+                                        RESTfulResult<List<PreTrackScale>> lastPre = preTrackScaleService.doQueryWf(new PreTrackScale { predictionNo = lastMeterWorkCarActual.predictionNo });
                                         //int min = 999;
 
                                         //if (lastPre.Succeed && lastPre.Data.Count == 1)
@@ -435,6 +425,12 @@ namespace MeterSceneLibrary
                         else if (listPreScale.Count > 1)
                         {
                             bool isHZ = false;
+                            MeterWorkCarActualService meterWorkCarActualService = new MeterWorkCarActualService();
+                            //计量实绩
+                            MeterWorkCarActual mwca = new MeterWorkCarActual();
+                            mwca.carNo = PbCache.lockCarNo;
+
+                            RESTfulResult<List<MeterWorkCarActual>> rm = meterWorkCarActualService.doQueryActaulWf(mwca);
 
                             if (rm.Succeed) 
                             {
@@ -647,26 +643,26 @@ namespace MeterSceneLibrary
                                         PreTrackScale ptss = new PreTrackScale();
                                         foreach (var item in listPreScale)
                                         {
-                                            if (item.receiverRemark == "HO1")
+                                            if (item.receiverRemark == "H01")
                                             {
                                                 ptss = item;
                                             }
                                         }
 
 
-                                        MeterWorkCarActualFirst mwca2 = new MeterWorkCarActualFirst();
-                                        mwca2 = rmX.Data[0];
-                                        mwca2.isPreScale = "1";
+                                        MeterWorkCarActualFirst mwca = new MeterWorkCarActualFirst();
+                                        mwca = rmX.Data[0];
+                                        mwca.isPreScale = "1";
 
                                         EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
-                                        mwca2 = entityBase.format<MeterWorkCarActualFirst>(ptss, mwca2);
+                                        mwca = entityBase.format<MeterWorkCarActualFirst>(ptss, mwca);
 
                                         //EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
                                         //mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
                                         //mwaf.isPreScale = "1";
                                         
                                         PbCache.voiceType = 1;
-                                        rt = saveMethod.doNetHZHX(ptss, mwca2, mwaf);
+                                        rt = saveMethod.doNetHZHX(ptss, mwca, mwaf);
                                         PbCache.LEDResultMessage = string.Format("车号{0},2次重量{1}吨,净重{2}吨,混装业务", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmX.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
                                         rt.resultInfo += ",混装业务";
                                     }
@@ -847,9 +843,9 @@ namespace MeterSceneLibrary
                                          * a. 正常结净产生一条净重记录
                                          * b. 自动生成一条一次毛重计量数据,重量值值为当次计量数据中的毛重
                                          */
-                                        MeterWorkCarActualFirst mwca3 = new MeterWorkCarActualFirst();
-                                        mwca3 = rmX.Data[0];
-                                        mwca3.isPreScale = "1";
+                                        MeterWorkCarActualFirst mwca = new MeterWorkCarActualFirst();
+                                        mwca = rmX.Data[0];
+                                        mwca.isPreScale = "1";
 
                                         PreTrackScale pts = null;
 
@@ -862,13 +858,13 @@ namespace MeterSceneLibrary
                                         }
 
                                         EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
-                                        mwca3 = entityBase.format<MeterWorkCarActualFirst>(pts, mwca3);
+                                        mwca = entityBase.format<MeterWorkCarActualFirst>(pts, mwca);
 
                                         //EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
                                         //mwaf = entityBase1.format<MeterWorkCarActualFirst>(pts, mwaf);
                                         //mwaf.isPreScale = "1";
 
-                                        rt = saveMethod.doNetHZHX(pts, mwca3, mwaf);
+                                        rt = saveMethod.doNetHZHX(pts, mwca, mwaf);
                                         rt.resultInfo += ",混装业务";
                                         PbCache.voiceType = 1;
                                         PbCache.LEDResultMessage = string.Format("车号{0},2次重量{1}吨,净重{2}吨,混装业务", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmX.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));

+ 9 - 6
MeterSceneLibrary/JISCO/private/SaveMethod.cs

@@ -529,8 +529,7 @@ namespace MeterSceneLibrary.JISCO
             // 构造结净数据
             MeterWorkCarActual netDb = new MeterWorkCarActual();
 
-            
-           
+
             netDb.actualFirst1No = actualFirst1.meterWeight.Value > actualFirst.meterWeight.Value ? "" : actualFirst.actualFirstNo;
             netDb.actualFirst2No = actualFirst1.meterWeight.Value > actualFirst.meterWeight.Value ? actualFirst.actualFirstNo : "";
 
@@ -592,6 +591,10 @@ namespace MeterSceneLibrary.JISCO
             netDb.dataSource = "1"; //1 = 智能终端,2 = 本地计量,3 = 应急计量,4 = 手动录入(计量票据录入)
                                     //要判断下当前是否勾选了不验证皮重
 
+            PbCache.yardActual = netDb;
+            PbCache.yardActual.predictionNo = scale[0].predictionNo;
+            PbCache.yardActual.businessGroup = scale[0].businessGroup;
+
             // 保存结净记录,后续改成统一提交模式  BourneCao
 
             MeterWorkCarActualService actualService = new MeterWorkCarActualService();
@@ -1308,7 +1311,7 @@ namespace MeterSceneLibrary.JISCO
         public void sendToZnlc()
         {
             if (PbCache.sportInfo.baseSpotNo.Equals("JT0005") || PbCache.sportInfo.baseSpotNo.Equals("JT0006")
-              || PbCache.sportInfo.baseSpotNo.Equals("XJT0034") || PbCache.sportInfo.baseSpotNo.Equals("XJT0035"))
+              || PbCache.sportInfo.baseSpotNo.Equals("JT0034") || PbCache.sportInfo.baseSpotNo.Equals("JT0035"))
             {
                 if (PbCache.yardActual != null)
                 {
@@ -1317,7 +1320,7 @@ namespace MeterSceneLibrary.JISCO
                         if (PbCache.yardActual.businessGroup.Equals("PO2GM"))
                         {
                             string sendResult = ZnlcInterface.sendNet(PbCache.yardActual);
-                            lg.WriteLog(38, "结净发送料场,车号:"+ PbCache.yardActual.carNo + ",委托单号:" + PbCache.yardActual.predictionNo + ",毛重:" + PbCache.yardActual.grossWeight + ",皮重:" + PbCache.yardActual.tareWeight + ",返回内容:" + sendResult);
+                            lg.WriteLog(38, "结净发送料场,车号:"+ PbCache.yardActual.carNo + ",毛重:" + PbCache.yardActual.grossWeight + ",返回内容:" + sendResult);
                             if (sendResult.Contains("error"))
                             {
                                 //GlobalInstanceController.Instance.LastCallMessage = "向智能料场发送数据失败:" + sendResult;
@@ -1329,14 +1332,14 @@ namespace MeterSceneLibrary.JISCO
                         }
                     }
                 }
-                else if (PbCache.mwPreFirst != null)
+                else if (PbCache.yardFirst != null)
                 {
                     if (!string.IsNullOrEmpty(PbCache.yardFirst.predictionNo))
                     {
                         if (PbCache.yardFirst.businessGroup.Equals("PO2GM"))
                         {
                             string sendResult = ZnlcInterface.sendFirst(PbCache.yardFirst);
-                            lg.WriteLog(38, "一次发送料场,车号:" + PbCache.yardFirst.carNo + ",委托单号:" + PbCache.yardFirst.predictionNo + ",重量:" + PbCache.yardFirst.meterWeight + ",返回内容:" + sendResult);
+                            lg.WriteLog(38, "一次发送料场,车号:" + PbCache.yardFirst.carNo + ",重量:" + PbCache.yardFirst.meterWeight + ",返回内容:" + sendResult);
                             if (sendResult.Contains("error"))
                             {
                                 //GlobalInstanceController.Instance.LastCallMessage = "向智能料场发送数据失败:" + sendResult;