浏览代码

厂外车业务代码提交

BourneCao 3 年之前
父节点
当前提交
2ddf2ffef9
共有 1 个文件被更改,包括 37 次插入33 次删除
  1. 37 33
      MeterSceneLibrary/JISCO/OuterCarJISCO.cs

+ 37 - 33
MeterSceneLibrary/JISCO/OuterCarJISCO.cs

@@ -31,6 +31,9 @@ namespace MeterSceneLibrary
         // 根据称点查询监控信息
         private RESTfulResult<List<MeterWorkMonitor>> listMonitor;
 
+        // 查询上一次结净数据
+        private MeterWorkCarActualService meterWorkCarActualService = new MeterWorkCarActualService();
+
         private JISCO.SaveMethod saveMethod = new JISCO.SaveMethod();
 
         public rtInfo MeterMethod(PreTrackScale scale)
@@ -41,10 +44,31 @@ 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
@@ -76,16 +100,10 @@ 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;
 
                 // 不存在一次计量数据
@@ -126,13 +144,7 @@ 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)
                             {
@@ -154,7 +166,7 @@ namespace MeterSceneLibrary
                                 }
                                 else
                                 {
-                                    MeterWorkCarActual lastMeterWorkCarActual = rm.Data[0];
+                                    
 
 
                                     // 上次净重记录未匹配委托
@@ -180,9 +192,7 @@ 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)
@@ -425,12 +435,6 @@ 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) 
                             {
@@ -650,19 +654,19 @@ namespace MeterSceneLibrary
                                         }
 
 
-                                        MeterWorkCarActualFirst mwca = new MeterWorkCarActualFirst();
-                                        mwca = rmX.Data[0];
-                                        mwca.isPreScale = "1";
+                                        MeterWorkCarActualFirst mwca2 = new MeterWorkCarActualFirst();
+                                        mwca2 = rmX.Data[0];
+                                        mwca2.isPreScale = "1";
 
                                         EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
-                                        mwca = entityBase.format<MeterWorkCarActualFirst>(ptss, mwca);
+                                        mwca2 = entityBase.format<MeterWorkCarActualFirst>(ptss, mwca2);
 
                                         //EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
                                         //mwaf = entityBase1.format<MeterWorkCarActualFirst>(listPreScale[0], mwaf);
                                         //mwaf.isPreScale = "1";
                                         
                                         PbCache.voiceType = 1;
-                                        rt = saveMethod.doNetHZHX(ptss, mwca, mwaf);
+                                        rt = saveMethod.doNetHZHX(ptss, mwca2, 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 += ",混装业务";
                                     }
@@ -843,9 +847,9 @@ namespace MeterSceneLibrary
                                          * a. 正常结净产生一条净重记录
                                          * b. 自动生成一条一次毛重计量数据,重量值值为当次计量数据中的毛重
                                          */
-                                        MeterWorkCarActualFirst mwca = new MeterWorkCarActualFirst();
-                                        mwca = rmX.Data[0];
-                                        mwca.isPreScale = "1";
+                                        MeterWorkCarActualFirst mwca3 = new MeterWorkCarActualFirst();
+                                        mwca3 = rmX.Data[0];
+                                        mwca3.isPreScale = "1";
 
                                         PreTrackScale pts = null;
 
@@ -858,13 +862,13 @@ namespace MeterSceneLibrary
                                         }
 
                                         EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
-                                        mwca = entityBase.format<MeterWorkCarActualFirst>(pts, mwca);
+                                        mwca3 = entityBase.format<MeterWorkCarActualFirst>(pts, mwca3);
 
                                         //EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
                                         //mwaf = entityBase1.format<MeterWorkCarActualFirst>(pts, mwaf);
                                         //mwaf.isPreScale = "1";
 
-                                        rt = saveMethod.doNetHZHX(pts, mwca, mwaf);
+                                        rt = saveMethod.doNetHZHX(pts, mwca3, 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));