소스 검색

winfrom修改

duyong 4 년 전
부모
커밋
69f54f9c50

+ 2 - 0
CarMeterSystem/CarMeterSystem.csproj

@@ -59,6 +59,7 @@
     <Reference Include="System.Configuration" />
     <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
     <Reference Include="System.Core" />
     <Reference Include="System.Design" />
     <Reference Include="System.Design" />
+    <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.Runtime.Serialization.Formatters.Soap" />
     <Reference Include="System.Runtime.Serialization.Formatters.Soap" />
     <Reference Include="System.Web" />
     <Reference Include="System.Web" />
     <Reference Include="System.Web.Extensions" />
     <Reference Include="System.Web.Extensions" />
@@ -100,6 +101,7 @@
     <Compile Include="Interface\HttpHelper.cs" />
     <Compile Include="Interface\HttpHelper.cs" />
     <Compile Include="Interface\JGLimsInterface.cs" />
     <Compile Include="Interface\JGLimsInterface.cs" />
     <Compile Include="Interface\JGLimsMsg.cs" />
     <Compile Include="Interface\JGLimsMsg.cs" />
+    <Compile Include="MyTest.cs" />
     <Compile Include="OptionCls\CarCache.cs" />
     <Compile Include="OptionCls\CarCache.cs" />
     <Compile Include="OptionCls\BaseDbCls.cs" />
     <Compile Include="OptionCls\BaseDbCls.cs" />
     <Compile Include="Form1.cs">
     <Compile Include="Form1.cs">

+ 2 - 1
CarMeterSystem/Form1.cs

@@ -577,7 +577,8 @@ namespace CarMeterSystem
                         #endregion
                         #endregion
 
 
                         #region 写入一次监控表,将重量/车号停留超时等信息写入
                         #region 写入一次监控表,将重量/车号停留超时等信息写入
-                        mwUpdate.msgInfo = PbCache.monitorResultMessage;
+                        mwUpdate.weightStatus = PbCache.collect.weightStatus;
+                        mwUpdate.msgInfo = PbCache.ResultMessage;
                         //另外初始化一次监控数据
                         //另外初始化一次监控数据
                         RESTfulResult<string> rms = meterWorkMonitor.doUpdateWf(mwUpdate);
                         RESTfulResult<string> rms = meterWorkMonitor.doUpdateWf(mwUpdate);
                         if (!rms.Succeed)
                         if (!rms.Succeed)

+ 37 - 0
CarMeterSystem/MyTest.cs

@@ -0,0 +1,37 @@
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Runtime.Serialization.Json;
+using System.Text;
+using Common;
+
+namespace CarMeterSystem
+{
+  public class MyTest
+  {
+    public LimisResponse sendDataToZn(WeightInfoBeta model)
+    {
+      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.121.16.36:8888/LimsService.svc/SendWeightResultBeta", "POST", data);
+      LimisResponse limisResponse = JsonConvert.DeserializeObject<LimisResponse>(retStr);
+      return limisResponse;
+    }
+  }
+  public class LimisResponse
+  {
+    public bool Success { get; set; }
+    public string Msg { get; set; }
+    public string Code { get; set; }
+  }
+}

+ 29 - 27
CarMeterSystem/frmOneYardToEnd.cs

@@ -36,7 +36,9 @@ namespace CarMeterSystem
         private MeterBaseMatterInfoService matterInfoService = new MeterBaseMatterInfoService(); //物料信息
         private MeterBaseMatterInfoService matterInfoService = new MeterBaseMatterInfoService(); //物料信息
         private PreTrackScaleService PreTrackScaleService = new PreTrackScaleService();
         private PreTrackScaleService PreTrackScaleService = new PreTrackScaleService();
         private MeterWorkScheduledHelpService meterWorkScheduledHelpService = new MeterWorkScheduledHelpService();
         private MeterWorkScheduledHelpService meterWorkScheduledHelpService = new MeterWorkScheduledHelpService();
-        MeterWorkCompareSpotScaleService meterWorkCompareSpotScaleService = new MeterWorkCompareSpotScaleService();
+        private MeterWorkCompareSpotScaleService meterWorkCompareSpotScaleService = new MeterWorkCompareSpotScaleService();
+        private MyTest myTest = new MyTest();
+
 
 
         private validTermTareCar termTareCar = new validTermTareCar();//验证是否可留期限皮
         private validTermTareCar termTareCar = new validTermTareCar();//验证是否可留期限皮
         private validRecoverInfo recoverInfo = new validRecoverInfo();//验证是否需要复磅以及是否满足复磅条件
         private validRecoverInfo recoverInfo = new validRecoverInfo();//验证是否需要复磅以及是否满足复磅条件
@@ -111,16 +113,16 @@ namespace CarMeterSystem
             {
             {
                 bool isCompare = false;
                 bool isCompare = false;
 
 
-                RESTfulResult<List<MeterWorkCompareSpotSacle>> reSacle = meterWorkCompareSpotScaleService.doQuery(new MeterWorkCompareSpotSacle { carNo = PbCache.lockCarNo });
-                if (reSacle.Succeed)
-                {
-                    if (reSacle.Data == null || reSacle.Data.Count == 0)
-                    { }
-                    else
-                    {
-                        isCompare = true;
-                    }
-                }
+                //RESTfulResult<List<MeterWorkCompareSpotSacle>> reSacle = meterWorkCompareSpotScaleService.doQuery(new MeterWorkCompareSpotSacle { carNo = PbCache.lockCarNo });
+                //if (reSacle.Succeed)
+                //{
+                //    if (reSacle.Data == null || reSacle.Data.Count == 0)
+                //    { }
+                //    else
+                //    {
+                //        isCompare = true;
+                //    }
+                //}
 
 
 
 
                 if (PbCache.collect == null) return;
                 if (PbCache.collect == null) return;
@@ -339,28 +341,16 @@ namespace CarMeterSystem
                                 ExecuteMethod em = new ExecuteMethod();
                                 ExecuteMethod em = new ExecuteMethod();
 
 
                                 //判断是否为外发试验性称量,预防超载或欠载(不算正常计量)(吉瑞、铁合金车辆)
                                 //判断是否为外发试验性称量,预防超载或欠载(不算正常计量)(吉瑞、铁合金车辆)
-                                bool isjT = false;
-
-                                if (car.belongUnitTypeNo == "000000" || car.belongUnitTypeNo == "000001")
-                                {
-                                    isjT = true;
-                                }
                                 // 厂内车辆
                                 // 厂内车辆
-                                if (car.carTypeNo == "001004003" || isjT)
+                                if (car.carTypeNo == "001004003")
                                 {
                                 {
                                     try
                                     try
                                     {
                                     {
                                         btnSave.Enabled = false;
                                         btnSave.Enabled = false;
-                                        if (isjT)
-                                        {
-                                            strRm = em.GetAndExecuteMethod<rtInfo>("MeterSceneLibrary", "InnerCarJISCO", "MeterMethod", new object[] { new PreTrackScale { carNo = PbCache.lockCarNo } });
-                                        }
-                                        else
-                                        {
-                                            strRm = em.GetAndExecuteMethod<rtInfo>("MeterSceneLibrary", "InnerCarJISCO", "MeterMethod", new object[] { new PreTrackScale { } });
-                                        }
+                                        strRm = em.GetAndExecuteMethod<rtInfo>("MeterSceneLibrary", "InnerCarJISCO", "MeterMethod", new object[] { new PreTrackScale { } });
                                         setMsg(strRm.ResultMessage);
                                         setMsg(strRm.ResultMessage);
                                         strMsg = strRm.ResultMessage;
                                         strMsg = strRm.ResultMessage;
+                                        PbCache.ResultMessage = strRm.ResultMessage;
                                         if (!string.IsNullOrEmpty(PbCache.LEDResultMessage))
                                         if (!string.IsNullOrEmpty(PbCache.LEDResultMessage))
                                         {
                                         {
                                             led_controler.setOneLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                                             led_controler.setOneLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
@@ -381,7 +371,7 @@ namespace CarMeterSystem
                                     }
                                     }
                                 }
                                 }
                                 // 厂外车辆
                                 // 厂外车辆
-                                else if (car.carTypeNo == "001004002" && !isjT)
+                                else if (car.carTypeNo == "001004002")
                                 {
                                 {
                                     try
                                     try
                                     {
                                     {
@@ -389,6 +379,7 @@ namespace CarMeterSystem
                                         strRm = em.GetAndExecuteMethod<rtInfo>("MeterSceneLibrary", "OuterCarJISCO", "MeterMethod", new object[] { new PreTrackScale { } });
                                         strRm = em.GetAndExecuteMethod<rtInfo>("MeterSceneLibrary", "OuterCarJISCO", "MeterMethod", new object[] { new PreTrackScale { } });
                                         setMsg(strRm.ResultMessage);
                                         setMsg(strRm.ResultMessage);
                                         strMsg = strRm.ResultMessage;
                                         strMsg = strRm.ResultMessage;
+                                        PbCache.ResultMessage = strRm.ResultMessage;
                                         if (!string.IsNullOrEmpty(PbCache.LEDResultMessage))
                                         if (!string.IsNullOrEmpty(PbCache.LEDResultMessage))
                                         {
                                         {
                                             led_controler.setOneLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                                             led_controler.setOneLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
@@ -592,6 +583,17 @@ namespace CarMeterSystem
                     PbCache.ledInfo = string.Format("计量完成,车号:{0},车重:{1},物资:{2}", PbCache.lockCarNo, PbCache.lockWgt, preTrack != null ? preTrack.matterName : "");
                     PbCache.ledInfo = string.Format("计量完成,车号:{0},车重:{1},物资:{2}", PbCache.lockCarNo, PbCache.lockWgt, preTrack != null ? preTrack.matterName : "");
                     #endregion LED写入
                     #endregion LED写入
 
 
+                    #region 智能料场LED显示
+                    if (PbCache.sportInfo.baseSpotNo == "")
+                    {
+                        LimisResponse ls = myTest.sendDataToZn(PbCache.weightInfoBeta);
+                        if (ls.Success)
+                        {
+                            led_controler.setOneLineMsg(PbCache.sportInfo.ledIp, ls.Msg);
+                        }
+                    }
+                    #endregion
+
                     //计量完成后,显示毛重或者皮重
                     //计量完成后,显示毛重或者皮重
 
 
 
 

+ 1 - 0
Common/Common.csproj

@@ -298,6 +298,7 @@
     <Compile Include="vo\work\MeterWorkStorageHistory.cs" />
     <Compile Include="vo\work\MeterWorkStorageHistory.cs" />
     <Compile Include="vo\work\MeterWorkZeroAlarm.cs" />
     <Compile Include="vo\work\MeterWorkZeroAlarm.cs" />
     <Compile Include="vo\work\TmsExecuteA.cs" />
     <Compile Include="vo\work\TmsExecuteA.cs" />
+    <Compile Include="vo\work\WeightInfoBeta.cs" />
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <Folder Include="utils\" />
     <Folder Include="utils\" />

+ 31 - 2
Common/DbOption/work/MeterWorkCarActualService.cs

@@ -222,6 +222,35 @@ namespace Common
             return rm;
             return rm;
         }
         }
 
 
+        /// <summary>
+        /// 混装
+        /// </summary>
+        /// <param name="secondDb">MeterWorkCarActualFirst</param>
+        /// <param name="secondDb2">混装混卸中,自动新增的一次计量数据</param>
+        /// <param name="netDb">MeterWorkCarActual</param>
+        /// <param name="saveTare">0 不保存历史皮,1保存历史皮</param>
+        /// <returns></returns>
+        public RESTfulResult<string> doAddNetNewHZHX(MeterWorkCarActualFirst secondDb, MeterWorkCarActualFirst secondDb2, MeterWorkCarActual netDb, MeterMonitorNote monitorNote, string saveTare)
+        {
+            DbHelper db = new DbHelper();
+            PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActualFirst, MeterWorkCarActual, MeterMonitorNote> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActualFirst, MeterWorkCarActual, MeterMonitorNote>();
+            pbSomeModel.one = secondDb;
+            pbSomeModel.two = secondDb2;
+            pbSomeModel.three = netDb;
+            pbSomeModel.sOne = saveTare;
+            pbSomeModel.four = monitorNote;
+
+            if (secondDb != null && string.IsNullOrEmpty(secondDb.createManNo))
+            {
+                secondDb.createManNo = secondDb.baseSpotNo;
+                secondDb.createManName = secondDb.baseSpotName;
+            }
+
+            //RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doAddNetInnerWf", new object[] { secondDb, netDb, saveTare }, 1);
+            RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doAddNetNewHZHX", new object[] { pbSomeModel }, 1);
+            return rm;
+        }
+
         /// <summary>
         /// <summary>
         /// 双委托逻辑
         /// 双委托逻辑
         /// </summary>
         /// </summary>
@@ -235,8 +264,8 @@ namespace Common
             PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, PreTrackScale, PreTrackScale> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, PreTrackScale, PreTrackScale>();
             PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, PreTrackScale, PreTrackScale> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, PreTrackScale, PreTrackScale>();
             pbSomeModel.one = actualFirst;
             pbSomeModel.one = actualFirst;
             pbSomeModel.two = netDb;
             pbSomeModel.two = netDb;
-            pbSomeModel.three = scale[0];
-            pbSomeModel.four = scale[1];
+            pbSomeModel.three = scale[1];
+            pbSomeModel.four = scale[0];
 
 
             if (actualFirst != null && string.IsNullOrEmpty(actualFirst.createManNo))
             if (actualFirst != null && string.IsNullOrEmpty(actualFirst.createManNo))
             {
             {

+ 2 - 2
Common/cacheCls/AppConfigCache.cs

@@ -75,12 +75,12 @@ namespace Common
         /// <summary>
         /// <summary>
         /// 0测试,1正式
         /// 0测试,1正式
         /// </summary>
         /// </summary>
-        public static readonly string TareControlType = ConfigurationManager.AppSettings["TareControlType"].ToString().Trim();
+        public static readonly string carTypeNo = ConfigurationManager.AppSettings["carTypeNo"].ToString().Trim();
 
 
         /// <summary>
         /// <summary>
         /// 0测试,1正式
         /// 0测试,1正式
         /// </summary>
         /// </summary>
-        public static readonly string carTypeNo = ConfigurationManager.AppSettings["carTypeNo"].ToString().Trim();
+        public static readonly string TareControlType = ConfigurationManager.AppSettings["TareControlType"].ToString().Trim();
 
 
         /// <summary>
         /// <summary>
         /// 0测试,1正式
         /// 0测试,1正式

+ 4 - 0
Common/cacheCls/PbCache.cs

@@ -136,6 +136,10 @@ namespace Common
 
 
         public static List<MeterWorkMonitor> ltWorkMonitor { get; set; }
         public static List<MeterWorkMonitor> ltWorkMonitor { get; set; }
 
 
+        /// <summary>
+        /// 智能料场
+        /// </summary>
+        public static WeightInfoBeta weightInfoBeta { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 摄像头配置信息
         /// 摄像头配置信息

+ 5 - 0
Common/vo/work/MeterWorkMonitor.cs

@@ -215,5 +215,10 @@ namespace Common
 		/// 派位的时间<用于在界面显示>
 		/// 派位的时间<用于在界面显示>
 		/// </summary>
 		/// </summary>
 		public DateTime? pwTime { get; set; }
 		public DateTime? pwTime { get; set; }
+
+		/// <summary>
+		/// 重量稳定
+		/// </summary>
+		public int weightStatus { get; set; }
 	}
 	}
 }
 }

+ 20 - 0
Common/vo/work/WeightInfoBeta.cs

@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Common
+{
+    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; }//委托编号
+    }
+}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 376 - 468
MeterSceneLibrary/JISCO/InnerCarJISCO.cs


+ 43 - 36
MeterSceneLibrary/JISCO/OuterCarJISCO.cs

@@ -2,7 +2,6 @@
 using Common;
 using Common;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Linq;
 using System.Text;
 using System.Text;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 
 
@@ -97,12 +96,12 @@ namespace MeterSceneLibrary
                     {
                     {
                         //listPreScale = rmPre.Data;
                         //listPreScale = rmPre.Data;
                         // 不存在委托
                         // 不存在委托
-                        if (listPreScale == null || listPreScale.Count == 0)    
+                        if (listPreScale == null || listPreScale.Count == 0)
                         {
                         {
                             PbCache.isActual = true;
                             PbCache.isActual = true;
                             PbCache.isInnerCar = true;
                             PbCache.isInnerCar = true;
                             rt = saveMethod.doAddFirst(null, mwaf);
                             rt = saveMethod.doAddFirst(null, 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));
                         }
                         }
                         // 存在一条使用中的委托
                         // 存在一条使用中的委托
                         else if (listPreScale.Count == 1 && listPreScale[0].valueFlag == "4")
                         else if (listPreScale.Count == 1 && listPreScale[0].valueFlag == "4")
@@ -138,14 +137,14 @@ namespace MeterSceneLibrary
                                     // 把委托编号复制给一次计量记录
                                     // 把委托编号复制给一次计量记录
                                     PbCache.isActual = true;
                                     PbCache.isActual = true;
                                     PbCache.isInnerCar = true;
                                     PbCache.isInnerCar = true;
-                                    rt = saveMethod.doAddFirst(listPreScale[0] , 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));
                                 }
                                 }
                                 else
                                 else
                                 {
                                 {
                                     MeterWorkCarActual lastMeterWorkCarActual = rm.Data[0];
                                     MeterWorkCarActual lastMeterWorkCarActual = rm.Data[0];
 
 
-                                    
+
                                     // 上次净重记录未匹配委托
                                     // 上次净重记录未匹配委托
                                     if (lastMeterWorkCarActual.isPreScale == "0")
                                     if (lastMeterWorkCarActual.isPreScale == "0")
                                     {
                                     {
@@ -196,8 +195,8 @@ namespace MeterSceneLibrary
                                         {
                                         {
                                             isYCDX = true;
                                             isYCDX = true;
                                         }
                                         }
-
-                                        if (lastPre.Data[0].predictionCombination == listPreScale[0].predictionCombination && lastPre.Data[0].predictionType == "7" && listPreScale[0].predictionType == "7")
+                                        
+                                        if (!string.IsNullOrEmpty(lastPre.Data[0].receiverRemark) && !string.IsNullOrEmpty(listPreScale[0].receiverRemark) && listPreScale[0].tempConveyance == lastPre.Data[0].tempConveyance && !string.IsNullOrEmpty(listPreScale[0].tempConveyance) && !string.IsNullOrEmpty(lastPre.Data[0].tempConveyance))
                                         {
                                         {
                                             isHZ = true;
                                             isHZ = true;
                                         }
                                         }
@@ -232,6 +231,7 @@ namespace MeterSceneLibrary
                                             tempCarActualFirst.addWeight = PbCache.addWgt;
                                             tempCarActualFirst.addWeight = PbCache.addWgt;
                                             tempCarActualFirst.dataSource = "1"; //数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
                                             tempCarActualFirst.dataSource = "1"; //数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
                                             tempCarActualFirst.isPreScale = "1";
                                             tempCarActualFirst.isPreScale = "1";
+                                            tempCarActualFirst.valueFlag = "2";
 
 
                                             // 复制对象,将档次委托信息复制给一次记录
                                             // 复制对象,将档次委托信息复制给一次记录
                                             EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                                             EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
@@ -255,7 +255,7 @@ namespace MeterSceneLibrary
                                          * 两次委托发货单位一致,净重时间在4个小时之内
                                          * 两次委托发货单位一致,净重时间在4个小时之内
                                          */
                                          */
 
 
-                                        
+
 
 
                                         // 签发时间比较
                                         // 签发时间比较
                                         // 通过上次洁净记录,找到该委托的签发时间
                                         // 通过上次洁净记录,找到该委托的签发时间
@@ -280,7 +280,7 @@ namespace MeterSceneLibrary
                                         //    isHZ = true;
                                         //    isHZ = true;
                                         //}
                                         //}
 
 
-                                        
+
 
 
                                         else if (isHZ == true)
                                         else if (isHZ == true)
                                         {
                                         {
@@ -290,6 +290,12 @@ namespace MeterSceneLibrary
                                              */
                                              */
                                             // 新增一条皮重数据
                                             // 新增一条皮重数据
                                             MeterWorkCarActualFirst newActualFirst = new MeterWorkCarActualFirst();
                                             MeterWorkCarActualFirst newActualFirst = new MeterWorkCarActualFirst();
+
+                                            // 复制对象,将档次委托信息复制给一次记录
+                                            EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
+                                            newActualFirst = entityBase.format<MeterWorkCarActualFirst>(listPreScale[0], newActualFirst);
+
+
                                             newActualFirst.carNo = PbCache.lockCarNo;
                                             newActualFirst.carNo = PbCache.lockCarNo;
                                             newActualFirst.weightType = "1";  // 默认重量类型为皮重
                                             newActualFirst.weightType = "1";  // 默认重量类型为皮重
                                             newActualFirst.actualFirstNo = DateTime.Now.ToString("yyyyMMdd");//10
                                             newActualFirst.actualFirstNo = DateTime.Now.ToString("yyyyMMdd");//10
@@ -312,11 +318,9 @@ namespace MeterSceneLibrary
                                             newActualFirst.addWeight = PbCache.addWgt;
                                             newActualFirst.addWeight = PbCache.addWgt;
                                             newActualFirst.dataSource = "1"; //数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
                                             newActualFirst.dataSource = "1"; //数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
                                             newActualFirst.isPreScale = "1";
                                             newActualFirst.isPreScale = "1";
+                                            newActualFirst.valueFlag = "2";
 
 
-                                            // 复制对象,将档次委托信息复制给一次记录
-                                            EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
-                                            newActualFirst = entityBase.format<MeterWorkCarActualFirst>(listPreScale[0], newActualFirst);
-
+                                            
                                             EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
                                             EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
                                             mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
                                             mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
 
 
@@ -324,9 +328,8 @@ namespace MeterSceneLibrary
                                             mwaf.weightType = "0"; // 毛重
                                             mwaf.weightType = "0"; // 毛重
                                             mwaf.isPreScale = "1";
                                             mwaf.isPreScale = "1";
                                             // 混装逻辑,并洁净匹配委托
                                             // 混装逻辑,并洁净匹配委托
-                                            rt = saveMethod.doNetHZHX(listPreScale[0], newActualFirst, mwaf);
+                                            rt = saveMethod.doAddNetNewHZHX(listPreScale[0], newActualFirst, mwaf);
                                         }
                                         }
-
                                         else
                                         else
                                         {
                                         {
                                             EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
                                             EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
@@ -336,7 +339,7 @@ namespace MeterSceneLibrary
                                             rt = saveMethod.doAddFirst(listPreScale[0], 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));
                                         }
                                         }
-                                        
+
                                     }
                                     }
                                     // 存在洁净记录,不满足以上逻辑
                                     // 存在洁净记录,不满足以上逻辑
                                     else {
                                     else {
@@ -391,10 +394,11 @@ namespace MeterSceneLibrary
                                 else
                                 else
                                 {
                                 {
                                     if (matter == item.matterNo && forwarding == item.forwardingUnitNo && receiving == item.receivingUintNo)
                                     if (matter == item.matterNo && forwarding == item.forwardingUnitNo && receiving == item.receivingUintNo)
-                                    {}
+                                    { }
                                     else
                                     else
                                     {
                                     {
                                         flag = false;
                                         flag = false;
+                                        break;
                                     }
                                     }
                                 }
                                 }
                             }
                             }
@@ -402,7 +406,7 @@ namespace MeterSceneLibrary
                             {
                             {
                                 pre = listPreScale[0];
                                 pre = listPreScale[0];
                             }
                             }
-                            if (listPreScale.Count == 2 &&  listPreScale[0].valueFlag == "1" && listPreScale[1].valueFlag == "1" && listPreScale[0].predictionType == "6" && listPreScale[1].predictionType == "6")
+                            if (listPreScale.Count == 2 && listPreScale[0].valueFlag == "1" && listPreScale[1].valueFlag == "1" && listPreScale[0].predictionType == "6" && listPreScale[1].predictionType == "6")
                             {
                             {
                                 pre = listPreScale[0];
                                 pre = listPreScale[0];
                             }
                             }
@@ -417,11 +421,16 @@ namespace MeterSceneLibrary
                             if (listPreScale.Count == 2 && listPreScale[0].matterNo == listPreScale[1].matterNo && (listPreScale[0].receivingUintNo == listPreScale[1].forwardingUnitNo || listPreScale[0].forwardingUnitNo == listPreScale[1].receivingUintNo))
                             if (listPreScale.Count == 2 && listPreScale[0].matterNo == listPreScale[1].matterNo && (listPreScale[0].receivingUintNo == listPreScale[1].forwardingUnitNo || listPreScale[0].forwardingUnitNo == listPreScale[1].receivingUintNo))
                             {
                             {
                                 // 正常洁净并生成两条净重数据
                                 // 正常洁净并生成两条净重数据
-                                pre = listPreScale[0];
-                                res = ",双委托业务"; 
+                                pre = listPreScale[1];
+                                res = ",双委托业务";
                                 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));
                             }
                             }
-                            
+                            if (listPreScale.Count == 2 && !string.IsNullOrEmpty(listPreScale[0].receiverRemark) && !string.IsNullOrEmpty(listPreScale[1].receiverRemark) && listPreScale[0].tempConveyance == listPreScale[1].tempConveyance && !string.IsNullOrEmpty(listPreScale[0].tempConveyance) && !string.IsNullOrEmpty(listPreScale[1].tempConveyance))
+                            {
+                                pre = listPreScale[1];
+                                res = ",混装混卸";
+                                PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成,混装混卸", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
+                            }
                             if (pre == null)
                             if (pre == null)
                             {
                             {
                                 res = ",存在多个委托,无法自动匹配";
                                 res = ",存在多个委托,无法自动匹配";
@@ -526,12 +535,9 @@ namespace MeterSceneLibrary
                                         rt = saveMethod.doNetAddTwo(listPreScale, rmX.Data[0], mwaf);
                                         rt = saveMethod.doNetAddTwo(listPreScale, rmX.Data[0], mwaf);
                                     }
                                     }
                                     /*
                                     /*
-                                     * 委托关系满足一车多卸逻辑
-                                     * 分两种情况:
-                                     * 1、委托数据中没有委托类型标识,则根据签发时间排序,如果两条数据发货单位一致,收货单位不一致,且签发时间在10分钟内,则可判定为一车多卸业务,根据时间顺序选择第一条委托产生净重数据,然后使用第二条委托产生一个毛重数据。
-                                     * 2、委托数据中存在委托类型标识,且类型都为一车多卸。
+                                     * 委托关系满足混装逻辑
                                      */
                                      */
-                                    else if (listPreScale[0].predictionType == "6" && listPreScale[1].predictionType == "6" || listPreScale[0].predictionType == "7" && listPreScale[1].predictionType == "7")
+                                    else if (listPreScale.Count == 2 && !string.IsNullOrEmpty(listPreScale[0].receiverRemark) && !string.IsNullOrEmpty(listPreScale[1].receiverRemark) && listPreScale[0].tempConveyance == listPreScale[1].tempConveyance && !string.IsNullOrEmpty(listPreScale[0].tempConveyance) && !string.IsNullOrEmpty(listPreScale[1].tempConveyance))
                                     {
                                     {
                                         /*
                                         /*
                                          * a. 正常洁净产生一条净重记录
                                          * a. 正常洁净产生一条净重记录
@@ -544,11 +550,11 @@ namespace MeterSceneLibrary
                                         EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                                         EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                                         mwca = entityBase.format<MeterWorkCarActualFirst>(listPreScale[0], mwca);
                                         mwca = entityBase.format<MeterWorkCarActualFirst>(listPreScale[0], mwca);
 
 
-                                        EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
-                                        mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
-                                        mwaf.isPreScale = "1";
+                                        //EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
+                                        //mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
+                                        //mwaf.isPreScale = "1";
 
 
-                                        rt = saveMethod.doNetHZHX(listPreScale[0], mwca, mwaf);
+                                        rt = saveMethod.doNetHZHX(listPreScale[1], mwca, 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));
                                     }
                                     }
                                     // 不满足以上逻辑
                                     // 不满足以上逻辑
@@ -675,7 +681,7 @@ 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));
 
 
                                     rt.result = true;
                                     rt.result = true;
-                                    rt.resultInfo = "称重完成";
+                                    rt.resultInfo = "计量完成";
                                 }
                                 }
                                 // 如果存在一条未使用的委托和一条使用中的委托
                                 // 如果存在一条未使用的委托和一条使用中的委托
                                 else if (listPreScale.Count == 2 && (listPreScale[0].valueFlag == "4" && listPreScale[1].valueFlag == "1" || listPreScale[0].valueFlag == "1" && listPreScale[1].valueFlag == "4"))
                                 else if (listPreScale.Count == 2 && (listPreScale[0].valueFlag == "4" && listPreScale[1].valueFlag == "1" || listPreScale[0].valueFlag == "1" && listPreScale[1].valueFlag == "4"))
@@ -698,7 +704,7 @@ namespace MeterSceneLibrary
                                     /*
                                     /*
                                      * 委托关系满足混装混卸逻辑
                                      * 委托关系满足混装混卸逻辑
                                      */
                                      */
-                                    else if (listPreScale[0].predictionType == "6" && listPreScale[1].predictionType == "6" || listPreScale[0].predictionType == "7" && listPreScale[1].predictionType == "7")
+                                    else if (listPreScale.Count == 2 && !string.IsNullOrEmpty(listPreScale[0].receiverRemark) && !string.IsNullOrEmpty(listPreScale[1].receiverRemark) && listPreScale[0].tempConveyance == listPreScale[1].tempConveyance && !string.IsNullOrEmpty(listPreScale[0].tempConveyance) && !string.IsNullOrEmpty(listPreScale[1].tempConveyance))
                                     {
                                     {
                                         /*
                                         /*
                                          * a. 正常洁净产生一条净重记录
                                          * a. 正常洁净产生一条净重记录
@@ -721,11 +727,12 @@ namespace MeterSceneLibrary
                                         EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                                         EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                                         mwca = entityBase.format<MeterWorkCarActualFirst>(pts, mwca);
                                         mwca = entityBase.format<MeterWorkCarActualFirst>(pts, mwca);
 
 
-                                        EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
-                                        mwaf = entityBase1.format<MeterWorkCarActualFirst>(pts, mwaf);
-                                        mwaf.isPreScale = "1";
+                                        //EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
+                                        //mwaf = entityBase1.format<MeterWorkCarActualFirst>(pts, mwaf);
+                                        //mwaf.isPreScale = "1";
 
 
-                                        rt = saveMethod.doNetHZHX(listPreScale[0], mwca, mwaf);
+                                        rt = saveMethod.doNetHZHX(pts, mwca, mwaf);
+                                        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.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));
                                     }
                                     }
                                     // 不满足以上逻辑
                                     // 不满足以上逻辑

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

@@ -2,10 +2,9 @@
 using Common;
 using Common;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Linq;
 using System.Text;
 using System.Text;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
-using CarMeterSystem;
+//using CarMeterSystem;
 
 
 namespace MeterSceneLibrary.JISCO
 namespace MeterSceneLibrary.JISCO
 {
 {
@@ -38,9 +37,6 @@ namespace MeterSceneLibrary.JISCO
             {
             {
                 EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                 EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                 model = entityBase.format<MeterWorkCarActualFirst>(scale, model);
                 model = entityBase.format<MeterWorkCarActualFirst>(scale, model);
-
-                frmOneYardToEnd frmOneYardToEnd = new frmOneYardToEnd();
-                frmOneYardToEnd.setPre(model);
             }
             }
             //操作日志
             //操作日志
             MeterMonitorNote monitorNote = new MeterMonitorNote();
             MeterMonitorNote monitorNote = new MeterMonitorNote();
@@ -56,6 +52,16 @@ namespace MeterSceneLibrary.JISCO
             pbSomeModel.two = monitorNote;
             pbSomeModel.two = monitorNote;
 
 
             RESTfulResult<string> rmI = mwcfs.doAdd(pbSomeModel);
             RESTfulResult<string> rmI = mwcfs.doAdd(pbSomeModel);
+
+            if (PbCache.sportInfo.baseSpotNo == "")
+            {
+                PbCache.weightInfoBeta.DeviceNo = model.baseSpotNo;//计量站点
+                PbCache.weightInfoBeta.ConveyanceNo = model.carNo;//车号
+                PbCache.weightInfoBeta.WeightVoucherNo = model.predictionNo;//委托编号
+                PbCache.weightInfoBeta.GrossWeight = model.meterWeight;
+                PbCache.weightInfoBeta.MeteringPerson = "admin";
+                PbCache.weightInfoBeta.MeteringTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+            }
             if (rmI.Succeed)
             if (rmI.Succeed)
             {
             {
                 rt.result = true;
                 rt.result = true;
@@ -100,9 +106,6 @@ namespace MeterSceneLibrary.JISCO
                 EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                 EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                 netDb = entityBase.format<MeterWorkCarActual>(scale, netDb);
                 netDb = entityBase.format<MeterWorkCarActual>(scale, netDb);
                 netDb.isPreScale = "1";
                 netDb.isPreScale = "1";
-
-                frmOneYardToEnd frmOneYardToEnd = new frmOneYardToEnd();
-                frmOneYardToEnd.setPre(actualFirst2);
             }
             }
 
 
             if (actualFirst2.meterWeight.Value > actualFirst.meterWeight.Value)
             if (actualFirst2.meterWeight.Value > actualFirst.meterWeight.Value)
@@ -196,6 +199,19 @@ namespace MeterSceneLibrary.JISCO
 
 
             // 保存结净记录,后续改成统一提交模式  BourneCao
             // 保存结净记录,后续改成统一提交模式  BourneCao
 
 
+            //特殊称点智能料场
+            if (PbCache.sportInfo.baseSpotNo == "")
+            {
+                PbCache.weightInfoBeta.DeviceNo = actualFirst2.baseSpotNo;//计量站点
+                PbCache.weightInfoBeta.ConveyanceNo = netDb.carNo;//车号
+                PbCache.weightInfoBeta.WeightVoucherNo = netDb.predictionNo;//委托编号
+                PbCache.weightInfoBeta.GrossWeight = netDb.grossWeight;
+                PbCache.weightInfoBeta.TareWeight = netDb.tareWeight;
+                PbCache.weightInfoBeta.NetWeight = netDb.netWeight;
+                PbCache.weightInfoBeta.MeteringPerson = "admin";
+                PbCache.weightInfoBeta.MeteringTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+            }
+
             MeterWorkCarActualService actualService = new MeterWorkCarActualService();
             MeterWorkCarActualService actualService = new MeterWorkCarActualService();
             RESTfulResult<string> rmI = actualService.doAddNet(actualFirst, actualFirst2, netDb, monitorNote, "1");
             RESTfulResult<string> rmI = actualService.doAddNet(actualFirst, actualFirst2, netDb, monitorNote, "1");
             if (rmI.Succeed)
             if (rmI.Succeed)
@@ -243,7 +259,9 @@ namespace MeterSceneLibrary.JISCO
                 netDb = entityBase3.format<MeterWorkCarActual>(scale, netDb);
                 netDb = entityBase3.format<MeterWorkCarActual>(scale, netDb);
                 netDb.isPreScale = "1";
                 netDb.isPreScale = "1";
             }
             }
-            
+
+            actualFirst.weightType = "1";
+            actualFirst2.weightType = "0";
 
 
             netDb.carNo = actualFirst.carNo;
             netDb.carNo = actualFirst.carNo;
             netDb.tareTime = DateTime.Now;
             netDb.tareTime = DateTime.Now;
@@ -262,6 +280,7 @@ namespace MeterSceneLibrary.JISCO
             netDb.grossWeight = actualFirst.meterWeight.Value > actualFirst2.meterWeight.Value ? actualFirst.meterWeight.Value : actualFirst2.meterWeight.Value; // 谁大谁是毛 BourneCao
             netDb.grossWeight = actualFirst.meterWeight.Value > actualFirst2.meterWeight.Value ? actualFirst.meterWeight.Value : actualFirst2.meterWeight.Value; // 谁大谁是毛 BourneCao
             netDb.baseSpot1No = actualFirst.baseSpotNo;
             netDb.baseSpot1No = actualFirst.baseSpotNo;
             netDb.baseSpot1Name = actualFirst.baseSpotName;
             netDb.baseSpot1Name = actualFirst.baseSpotName;
+            netDb.actualFirst2No = actualFirst.actualFirstNo;
             netDb.grossMode = "2"; // 1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
             netDb.grossMode = "2"; // 1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
             netDb.netManName = "admin";
             netDb.netManName = "admin";
             netDb.netManNo = "admin";
             netDb.netManNo = "admin";
@@ -337,6 +356,121 @@ namespace MeterSceneLibrary.JISCO
             return rt;
             return rt;
         }
         }
 
 
+        /// <summary>
+        /// 混装/混卸保存逻辑
+        /// </summary>
+        /// <param name="scale">委托数据</param>
+        /// <param name="actualFirst">自动创建的一次计量数据</param>
+        /// <param name="actualFirst2">本次一次计量数据</param>
+        public rtInfo doAddNetNewHZHX(PreTrackScale scale, MeterWorkCarActualFirst actualFirst, MeterWorkCarActualFirst actualFirst2)
+        {
+            // 构造结净数据
+            MeterWorkCarActual netDb = new MeterWorkCarActual();
+
+            // 复制委托
+            if (scale != null)
+            {
+                EntityBase<PreTrackScale> entityBase3 = new EntityBase<PreTrackScale>();
+                netDb = entityBase3.format<MeterWorkCarActual>(scale, netDb);
+                netDb.isPreScale = "1";
+            }
+
+            actualFirst.weightType = "1";
+            actualFirst2.weightType = "0";
+
+            netDb.carNo = actualFirst.carNo;
+            netDb.tareTime = DateTime.Now;
+            netDb.tareWeight = actualFirst.meterWeight.Value < actualFirst2.meterWeight.Value ? actualFirst.meterWeight.Value : actualFirst2.meterWeight.Value; // 谁小谁是皮 BourneCao
+            netDb.baseSpot2No = PbCache.sportInfo.baseSpotNo;
+            netDb.baseSpot2Name = PbCache.sportInfo.baseSpotName;
+            netDb.tareMode = "2";//1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
+            /* netDb.tare_man_no = "";
+             netDb.tare_man_name = "";
+             netDb.tare_class = "";
+             netDb.tare_group = "";*/
+
+            //netDb.actualFirst1No = actualFirst.meterWeight.Value > actualFirst2.meterWeight.Value ? actualFirst.actualFirstNo : actualFirst2.actualFirstNo;
+            //netDb.actualFirst2No = actualFirst.meterWeight.Value < actualFirst2.meterWeight.Value ? actualFirst.actualFirstNo : actualFirst2.actualFirstNo;
+            netDb.grossTime = actualFirst.createTime;
+            netDb.grossWeight = actualFirst.meterWeight.Value > actualFirst2.meterWeight.Value ? actualFirst.meterWeight.Value : actualFirst2.meterWeight.Value; // 谁大谁是毛 BourneCao
+            netDb.baseSpot1No = actualFirst.baseSpotNo;
+            netDb.baseSpot1Name = actualFirst.baseSpotName;
+            netDb.actualFirst2No = actualFirst.actualFirstNo;
+            netDb.grossMode = "2"; // 1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
+            netDb.netManName = "admin";
+            netDb.netManNo = "admin";
+            netDb.netTime = DateTime.Now;
+            netDb.grossManNo = "admin";
+            netDb.grossManName = "admin";
+            netDb.grossTime = DateTime.Now;
+            netDb.tareManName = "admin";
+            netDb.tareManNo = "admin";
+            netDb.tareTime = DateTime.Now;
+            netDb.createManName = "admin";
+            netDb.createTime = DateTime.Now;
+            netDb.updateManName = "admin";
+            netDb.updateManNo = "admin";
+            netDb.updateTime = DateTime.Now;
+            netDb.grossClass = actualFirst.meterClass;
+            netDb.grossGroup = actualFirst.meterGroup;
+            netDb.valueFlag = "1";
+
+            netDb.netTime = DateTime.Now;
+
+            //netDb.netManNo = appUser.userid; //净重计量员编码 
+            //netDb.netManName = appUser.username; //净重计量员名称
+            netDb.netSpot3No = PbCache.sportInfo.baseSpotNo; //净重计量点编号
+            netDb.netSpot3Name = PbCache.sportInfo.baseSpotName; //净重计量点
+
+            netDb.addWeight = (actualFirst.addWeight == null ? 0 : actualFirst.addWeight.Value);
+            //净重=毛-皮-附加重量
+            netDb.netWeight = netDb.grossWeight - netDb.tareWeight - netDb.addWeight;
+            netDb.netMode = "1"; //1:正常结净;2:匹配结净
+            netDb.valueFlag = "0"; //0=有效,1=作废
+            netDb.uploadFlag = "0"; //0=待审核;1:待上传;2=已上传
+            netDb.dataSource = "1";//1 = 智能终端,2 = 本地计量,3 = 应急计量,4 = 手动录入(计量票据录入)
+                                   //要判断下当前是否勾选了不验证皮重
+
+
+            //操作日志
+            MeterMonitorNote monitorNote = new MeterMonitorNote();
+            monitorNote.baseSpotNo = actualFirst2.baseSpotNo;
+            monitorNote.baseSpotName = actualFirst2.baseSpotName;
+            monitorNote.operationContent = string.Format("混装/混卸保存逻辑");
+            monitorNote.operationTime = actualFirst2.createTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
+            monitorNote.carNo = actualFirst2.carNo;
+            monitorNote.meterNoteSource = "0";
+
+            // 保存结净记录,后续改成统一提交模式  BourneCao
+
+            MeterWorkCarActualService actualService = new MeterWorkCarActualService();
+            RESTfulResult<string> rmI = actualService.doAddNetNewHZHX(actualFirst2, actualFirst, netDb, monitorNote, "0");
+
+            if (rmI.Succeed)
+            {
+                rt.result = true;
+                rt.resultInfo = "计量完成";
+                PbCache.actualFirstNo = rmI.Data;
+                PbCache.strQRCode = rmI.Message;
+                if (actualFirst2.meterWeight.Value > actualFirst.meterWeight.Value)
+                {
+                    PbCache.isTareWeight = false;//毛重
+                }
+                else
+                {
+                    PbCache.isTareWeight = true;//皮重
+                }
+            }
+            else
+            {
+                rt.result = false;
+                rt.isError = true;
+                rt.resultInfo = "称重数据保存失败";
+            }
+
+            return rt;
+        }
+
         /// <summary>
         /// <summary>
         /// 产生一次计量数据,同时结净并匹配委托
         /// 产生一次计量数据,同时结净并匹配委托
         /// </summary>
         /// </summary>
@@ -414,6 +548,15 @@ namespace MeterSceneLibrary.JISCO
             netDb.actualFirst1No = actualFirst1.meterWeight.Value > actualFirst.meterWeight.Value ? "" : actualFirst.actualFirstNo;
             netDb.actualFirst1No = actualFirst1.meterWeight.Value > actualFirst.meterWeight.Value ? "" : actualFirst.actualFirstNo;
             netDb.actualFirst2No = actualFirst1.meterWeight.Value > actualFirst.meterWeight.Value ? actualFirst.actualFirstNo : "";
             netDb.actualFirst2No = actualFirst1.meterWeight.Value > actualFirst.meterWeight.Value ? actualFirst.actualFirstNo : "";
 
 
+            if (actualFirst1.meterWeight.Value > actualFirst.meterWeight.Value)
+            {
+                actualFirst1.weightType = "0";
+            }
+            else
+            {
+                actualFirst1.weightType = "1";
+            }
+
             netDb.tareTime = DateTime.Now;
             netDb.tareTime = DateTime.Now;
             netDb.tareWeight = actualFirst.meterWeight.Value < actualFirst1.meterWeight.Value ? actualFirst.meterWeight.Value : actualFirst1.meterWeight.Value; // 谁小谁是皮 BourneCao
             netDb.tareWeight = actualFirst.meterWeight.Value < actualFirst1.meterWeight.Value ? actualFirst.meterWeight.Value : actualFirst1.meterWeight.Value; // 谁小谁是皮 BourneCao
             netDb.baseSpot2No = PbCache.sportInfo.baseSpotNo;
             netDb.baseSpot2No = PbCache.sportInfo.baseSpotNo;

+ 2 - 1
RailMeterSystem/frmTgMotoriaMain.designer.cs

@@ -28,6 +28,7 @@
         /// </summary>
         /// </summary>
         private void InitializeComponent()
         private void InitializeComponent()
         {
         {
+            this.components = new System.ComponentModel.Container();
             Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand1 = new Infragistics.Win.UltraWinGrid.UltraGridBand("轨道衡数据", -1);
             Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand1 = new Infragistics.Win.UltraWinGrid.UltraGridBand("轨道衡数据", -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("railwayNo");
             Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn2 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("railwayNo");
@@ -327,7 +328,7 @@
             this.dtStartTime = new System.Windows.Forms.DateTimePicker();
             this.dtStartTime = new System.Windows.Forms.DateTimePicker();
             this.dtEndTime = new System.Windows.Forms.DateTimePicker();
             this.dtEndTime = new System.Windows.Forms.DateTimePicker();
             this._panel12_Toolbars_Dock_Area_Left = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
             this._panel12_Toolbars_Dock_Area_Left = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
-            this.ultraToolbarsManager1 = new Infragistics.Win.UltraWinToolbars.UltraToolbarsManager();
+            this.ultraToolbarsManager1 = new Infragistics.Win.UltraWinToolbars.UltraToolbarsManager(this.components);
             this._panel12_Toolbars_Dock_Area_Right = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
             this._panel12_Toolbars_Dock_Area_Right = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
             this._panel12_Toolbars_Dock_Area_Top = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
             this._panel12_Toolbars_Dock_Area_Top = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
             this._panel12_Toolbars_Dock_Area_Bottom = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
             this._panel12_Toolbars_Dock_Area_Bottom = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();

+ 10 - 1
TrainVideoDataDispose/App.config

@@ -11,7 +11,7 @@
     <add key="icoredbTcp" value="tarantool://guest@10.99.200.86:2101" />
     <add key="icoredbTcp" value="tarantool://guest@10.99.200.86:2101" />
     <!--SFTP或者vsftp服务端连接及地址-->
     <!--SFTP或者vsftp服务端连接及地址-->
     <add key="fip" value="192.168.185.238" />
     <add key="fip" value="192.168.185.238" />
-    <add key="spotConfig" value="E:\winformProject\jisco_winform_wzj\TrainVideoDataDispose\bin\Debug\logs,0006,6号磅;E:\winformProject\jisco_winform_wzj\TrainVideoDataDispose\bin\Debug\log,0007,7号磅" />
+    <add key="spotConfig" value="D:\JISCO\Project code\JISCO-WINFROM\jisco_winform_wzjl\TrainVideoDataDispose\bin\Debug\2022\05\06\txt,0006,6号磅;E:\winformProject\jisco_winform_wzj\TrainVideoDataDispose\bin\Debug\log,0007,7号磅" />
     <add key="fport" value="22" />
     <add key="fport" value="22" />
     <add key="fuid" value="jgjlftp" />
     <add key="fuid" value="jgjlftp" />
     <add key="fpwd" value="xxzx2021" />
     <add key="fpwd" value="xxzx2021" />
@@ -31,6 +31,15 @@
     <!--联达计量点编号-->
     <!--联达计量点编号-->
     <add key="lianDaPointNo" value="00019" />
     <add key="lianDaPointNo" value="00019" />
     <add key="ClientSettingsProvider.ServiceUri" value="" />
     <add key="ClientSettingsProvider.ServiceUri" value="" />
+
+    <!--期限皮使用方式配置:车号-物料-路线(1),车号-物料-称点(2)-->
+    <add key="TareControlType" value="1" />
+
+    <!--厂内外车配置:001004003(内部),001004002(外部)-->
+    <add key="carTypeNo" value="001004003" />
+
+    <!--厂内外车配置:001004003(内部),001004002(外部)-->
+    <add key="carTypeName" value="内部" />
   </appSettings>
   </appSettings>
   <system.web>
   <system.web>
     <membership defaultProvider="ClientAuthenticationMembershipProvider">
     <membership defaultProvider="ClientAuthenticationMembershipProvider">

+ 5 - 5
TrainVideoDataDispose/Form1.cs

@@ -196,7 +196,7 @@ namespace TrainVideoDataDispose
 
 
                             string strSequenceNumber = System.DateTime.Now.ToString("yyyyMMddHHmmss");
                             string strSequenceNumber = System.DateTime.Now.ToString("yyyyMMddHHmmss");
 
 
-                            if (HandleOrigData(strSequenceNumber, FileContent, strPath) == true)
+                            if (HandleOrigData(strSequenceNumber, FileContent, fi.FullName) == true)
                             {
                             {
                                 if (System.IO.Directory.Exists(strPath + "\\history") == false)
                                 if (System.IO.Directory.Exists(strPath + "\\history") == false)
                                 {
                                 {
@@ -442,8 +442,8 @@ namespace TrainVideoDataDispose
                 strPointNo = hashtable["spotNo"].ToString();//称点信息
                 strPointNo = hashtable["spotNo"].ToString();//称点信息
                 strPointName = hashtable["spotName"].ToString();//称点信息
                 strPointName = hashtable["spotName"].ToString();//称点信息
                 string _path = strPath.Substring(2);//录像地址
                 string _path = strPath.Substring(2);//录像地址
-                string _strPath = "\\\\194.168.0.38" + _path;//194.168.0.38//录像地址
-                strVideoFileName = _strPath + "\\" + Fields[4];//录像地址
+                string _strPath = "\\\\194.168.0.38" + _path;//194.168.0.38//录像地址dd
+                strVideoFileName = strPath.Replace("\\txt", "\\movie").Replace(".txt",".mp4");//录像地址
                 dr["WEIGHTTIME"] = Fields[6];//时间
                 dr["WEIGHTTIME"] = Fields[6];//时间
                 strWeightTime = Fields[6];//时间
                 strWeightTime = Fields[6];//时间
                 dr["ISVALID"] = "1";//是否有效
                 dr["ISVALID"] = "1";//是否有效
@@ -493,7 +493,7 @@ namespace TrainVideoDataDispose
                     meterWorkRailwayMotorialReceived.createTime = DateTime.Parse(dr["WEIGHTTIME"].ToString());//时间
                     meterWorkRailwayMotorialReceived.createTime = DateTime.Parse(dr["WEIGHTTIME"].ToString());//时间
                     meterWorkRailwayMotorialReceived.railwayCarriageNo = dr["INDEXNO"].ToString().Trim();//车厢号
                     meterWorkRailwayMotorialReceived.railwayCarriageNo = dr["INDEXNO"].ToString().Trim();//车厢号
 
 
-                    RESTfulResult<String> rm = MeterWorkRailwayReceivedService.doAdd(meterWorkRailwayMotorialReceived);
+                    RESTfulResult<string> rm = MeterWorkRailwayReceivedService.doAdd(meterWorkRailwayMotorialReceived);
                     if (!rm.Succeed)
                     if (!rm.Succeed)
                     {
                     {
                         WriteLog("保存数据异常原因!:" + rm.Message);
                         WriteLog("保存数据异常原因!:" + rm.Message);
@@ -512,7 +512,7 @@ namespace TrainVideoDataDispose
                     meterWorkRailwayRecMain.videoName = dr["VIDEOFILENAME"].ToString().Trim();
                     meterWorkRailwayRecMain.videoName = dr["VIDEOFILENAME"].ToString().Trim();
                     meterWorkRailwayRecMain.carriageNum = int.Parse(dr["TOTALCOUNT"].ToString().Trim());
                     meterWorkRailwayRecMain.carriageNum = int.Parse(dr["TOTALCOUNT"].ToString().Trim());
 
 
-                    RESTfulResult<String> rm = meterWorkRailwayRecMainService.doAdd(meterWorkRailwayRecMain);
+                    RESTfulResult<string> rm = meterWorkRailwayRecMainService.doAdd(meterWorkRailwayRecMain);
                     if (!rm.Succeed)
                     if (!rm.Succeed)
                     {
                     {
                         WriteLog("保存数据异常原因!:" + rm.Message);
                         WriteLog("保存数据异常原因!:" + rm.Message);

+ 1 - 1
TrainVideoDataDispose/Program.cs

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

+ 1 - 1
TrainVideoDataDispose/TrainVideoDataDispose.csproj

@@ -43,7 +43,7 @@
     <ErrorReport>prompt</ErrorReport>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
     <Prefer32Bit>false</Prefer32Bit>
-    <PlatformTarget>x64</PlatformTarget>
+    <PlatformTarget>x86</PlatformTarget>
   </PropertyGroup>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
     <DebugType>pdbonly</DebugType>

+ 3 - 3
TrainVideoDataDispose/ftpHelper.cs

@@ -56,9 +56,9 @@ namespace TrainVideoDataDispose
                         resultMp4.Add(item);
                         resultMp4.Add(item);
                     }
                     }
                 }
                 }
-                string pathImg = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + DateTime.Now.ToString("yyyyMMdd") + "/img";
-                string pathTxt = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + DateTime.Now.ToString("yyyyMMdd") + "/txt";
-                string pathMp4 = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + DateTime.Now.ToString("yyyyMMdd") + "/movie";
+                string pathImg = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/" + DateTime.Now.ToString("dd") + "/img";
+                string pathTxt = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/" + DateTime.Now.ToString("dd") + "/txt";
+                string pathMp4 = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/" + DateTime.Now.ToString("dd") + "/movie";
                 if (!Directory.Exists(pathImg))
                 if (!Directory.Exists(pathImg))
                 {
                 {
                     Directory.CreateDirectory(pathImg);
                     Directory.CreateDirectory(pathImg);

+ 1 - 0
TrainVideoDataDispose/license/license - 副本.licx

@@ -0,0 +1 @@
+jaSqbIVpMaqYhYYP3vvbRmBi+uHqyxSOhIoIzo8EOpAWrA4r21AF0oKd2nv7q/up

+ 1 - 0
TrainVideoDataDispose/license/license.licx

@@ -0,0 +1 @@
+qqfYmIV0C0capoXUGiQO8s8vZNZkIfYxfokIeH77MzhqaQENa5tV5XmDeThb+6Fk

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.