Преглед изворни кода

厂内车委托查询修改

duyong пре 3 година
родитељ
комит
8a4091763e
2 измењених фајлова са 141 додато и 97 уклоњено
  1. 19 0
      Common/DbOption/scale/PreTrackScaleService.cs
  2. 122 97
      MeterSceneLibrary/JISCO/InnerCarJISCO.cs

+ 19 - 0
Common/DbOption/scale/PreTrackScaleService.cs

@@ -33,6 +33,25 @@ namespace Common
             return result;
         }
 
+        public RESTfulResult<List<PreTrackScale>> findCarScale(PreTrackScale info)
+        {
+            DbHelper db = new DbHelper();
+            RESTfulResult<PageList<List<PreTrackScale>>> rm = db.doOption<PageList<List<PreTrackScale>>>("pretrackscales", "/findCarScale", new object[] { info }, 0);
+
+            RESTfulResult<List<PreTrackScale>> result = new RESTfulResult<List<PreTrackScale>>();
+            result.Succeed = rm.Succeed;
+            result.Status = rm.Status;
+            result.Message = rm.Message;
+            result.ResultMessage = rm.ResultMessage;
+            result.Code = rm.Code;
+            if (rm.Data != null && rm.Data.list != null && rm.Data.list.Count > 0)
+            {
+                result.Data = rm.Data.list;
+            }
+
+            return result;
+        }
+
         /// <summary>
         /// 根据车号查所有有效预报编 正使用,待使用
         /// </summary>

+ 122 - 97
MeterSceneLibrary/JISCO/InnerCarJISCO.cs

@@ -494,8 +494,6 @@ namespace MeterSceneLibrary
                                         {
                                             if (firstList[0].weightType == "0")
                                             {
-                                                RESTfulResult<List<PreTrackScale>> scales = preTrackScaleService.doQueryWf(new PreTrackScale { predictionNo = firstList[0].predictionNo });
-
                                                 //判断称点是否允许期限皮重
                                                 if (PbCache.sportInfo.allowedTareWeight == "1")
                                                 {
@@ -504,12 +502,12 @@ namespace MeterSceneLibrary
                                                         /// 判断是否具有期限皮重权限
                                                         MeterBaseUnitInfoService meterBaseUnitInfoService = new MeterBaseUnitInfoService();
                                                         MeterBaseUnitInfo meterBaseUnitInfo = new MeterBaseUnitInfo();
-                                                        meterBaseUnitInfo.matterNo = scales.Data[0].matterNo;
-                                                        meterBaseUnitInfo.matterName = scales.Data[0].matterName;
-                                                        meterBaseUnitInfo.forwardingUnitNo = scales.Data[0].forwardingUnitNo;
-                                                        meterBaseUnitInfo.forwardingUnitName = scales.Data[0].forwardingUnitName;
-                                                        meterBaseUnitInfo.receivingUnitNo = scales.Data[0].receivingUintNo;
-                                                        meterBaseUnitInfo.receivingUnitName = scales.Data[0].receivingUintName;
+                                                        meterBaseUnitInfo.matterNo = rmScale.Data[0].matterNo;
+                                                        meterBaseUnitInfo.matterName = rmScale.Data[0].matterName;
+                                                        meterBaseUnitInfo.forwardingUnitNo = rmScale.Data[0].forwardingUnitNo;
+                                                        meterBaseUnitInfo.forwardingUnitName = rmScale.Data[0].forwardingUnitName;
+                                                        meterBaseUnitInfo.receivingUnitNo = rmScale.Data[0].receivingUintNo;
+                                                        meterBaseUnitInfo.receivingUnitName = rmScale.Data[0].receivingUintName;
                                                         meterBaseUnitInfo.carNo = PbCache.lockCarNo;
                                                         RESTfulResult<List<MeterBaseUnitInfo>> tareUnitResult = meterBaseUnitInfoService.doQueryWf(meterBaseUnitInfo);
                                                         if (tareUnitResult.Succeed)
@@ -517,7 +515,7 @@ namespace MeterSceneLibrary
                                                             if (tareUnitResult.Data == null || tareUnitResult.Data.Count == 0)
                                                             {
                                                                 mwaf.weightType = "0";
-                                                                rt = saveMethod.doAddFirst(scales.Data[0], mwaf);
+                                                                rt = saveMethod.doAddFirst(rmScale.Data[0], mwaf);
                                                                 rt.resultInfo = "存在未结净毛重";
                                                                 PbCache.voiceType = 11;
                                                                 PbCache.ResultMessage = "存在未结净毛重";
@@ -535,7 +533,7 @@ namespace MeterSceneLibrary
                                                                     if (termTareData.Data == null)
                                                                     {
                                                                         mwaf.weightType = "0";
-                                                                        rt = saveMethod.doAddFirst(scales.Data[0], mwaf);
+                                                                        rt = saveMethod.doAddFirst(rmScale.Data[0], mwaf);
                                                                         rt.resultInfo = "期限皮过期,存在未结净毛重";
                                                                         PbCache.voiceType = 17;
                                                                         PbCache.ResultMessage = "期限皮过期,存在未结净毛重";
@@ -552,13 +550,13 @@ namespace MeterSceneLibrary
                                                                         l.Add("create");
                                                                         //给一次数据匹配委托
                                                                         EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
-                                                                        mwaf = entityBase1.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
+                                                                        mwaf = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], mwaf);
                                                                         mwaf.isPreScale = "1";
                                                                         mwaf.weightType = "0";
                                                                         PbCache.voiceType = 16;
                                                                         PbCache.ResultMessage = "计量完成,期限皮结净";
                                                                         PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,净重{2}吨,期限皮结净", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(PbCache.lockWgt - termTareData.Data.meterWeight.Value) / 1000), 2));
-                                                                        rt = saveMethod.doNetTermTare(scales.Data[0], mwaf);
+                                                                        rt = saveMethod.doNetTermTare(rmScale.Data[0], mwaf);
                                                                         rt.resultInfo += ",期限皮结净";
                                                                     }
                                                                 }
@@ -817,69 +815,79 @@ namespace MeterSceneLibrary
                                     }
                                     else if (firstList.Count == 1 && firstList[0].weightType == "0")
                                     {
-                                        RESTfulResult<List<PreTrackScale>> scales = preTrackScaleService.doQueryWf(new PreTrackScale { predictionNo = firstList[0].predictionNo });
+                                        RESTfulResult<List<PreTrackScale>> scales = preTrackScaleService.findCarScale(new PreTrackScale { predictionNo = firstList[0].predictionNo });
                                         if (PbCache.monitorResult.valid_wgt == true || listMonitor.Data[0].validWgt == "0")
                                         {
-                                            //判断称点是否允许期限皮重
-                                            if (PbCache.sportInfo.allowedTareWeight == "1")
+                                            if (scales.Data == null || scales.Data.Count == 0)
                                             {
-                                                if (AppConfigCache.TareControlType == "3")
+                                                //判断称点是否允许期限皮重
+                                                if (PbCache.sportInfo.allowedTareWeight == "1")
                                                 {
-                                                    /// 判断是否具有期限皮重权限
-                                                    MeterBaseUnitInfoService meterBaseUnitInfoService = new MeterBaseUnitInfoService();
-                                                    MeterBaseUnitInfo meterBaseUnitInfo = new MeterBaseUnitInfo();
-                                                    meterBaseUnitInfo.matterNo = scales.Data[0].matterNo;
-                                                    meterBaseUnitInfo.matterName = scales.Data[0].matterName;
-                                                    meterBaseUnitInfo.forwardingUnitNo = scales.Data[0].forwardingUnitNo;
-                                                    meterBaseUnitInfo.forwardingUnitName = scales.Data[0].forwardingUnitName;
-                                                    meterBaseUnitInfo.receivingUnitNo = scales.Data[0].receivingUintNo;
-                                                    meterBaseUnitInfo.receivingUnitName = scales.Data[0].receivingUintName;
-                                                    meterBaseUnitInfo.carNo = PbCache.lockCarNo;
-                                                    RESTfulResult<List<MeterBaseUnitInfo>> tareUnitResult = meterBaseUnitInfoService.doQueryWf(meterBaseUnitInfo);
-                                                    if (tareUnitResult.Succeed)
+                                                    if (AppConfigCache.TareControlType == "3")
                                                     {
-                                                        if (tareUnitResult.Data == null || tareUnitResult.Data.Count == 0)
-                                                        {
-                                                            //匹配结净
-                                                            EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
-                                                            mwaf = entityBase2.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
-                                                            mwaf.isPreScale = "1";
-                                                            mwaf.weightType = "0";
-                                                            PbCache.voiceType = 1;
-                                                            rt = saveMethod.doNet(scales.Data[0], firstList[0], mwaf);
-                                                            PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmFirst.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
-                                                        }
-                                                        else
+                                                        /// 判断是否具有期限皮重权限
+                                                        MeterBaseUnitInfoService meterBaseUnitInfoService = new MeterBaseUnitInfoService();
+                                                        MeterBaseUnitInfo meterBaseUnitInfo = new MeterBaseUnitInfo();
+                                                        meterBaseUnitInfo.matterNo = scales.Data[0].matterNo;
+                                                        meterBaseUnitInfo.matterName = scales.Data[0].matterName;
+                                                        meterBaseUnitInfo.forwardingUnitNo = scales.Data[0].forwardingUnitNo;
+                                                        meterBaseUnitInfo.forwardingUnitName = scales.Data[0].forwardingUnitName;
+                                                        meterBaseUnitInfo.receivingUnitNo = scales.Data[0].receivingUintNo;
+                                                        meterBaseUnitInfo.receivingUnitName = scales.Data[0].receivingUintName;
+                                                        meterBaseUnitInfo.carNo = PbCache.lockCarNo;
+                                                        RESTfulResult<List<MeterBaseUnitInfo>> tareUnitResult = meterBaseUnitInfoService.doQueryWf(meterBaseUnitInfo);
+                                                        if (tareUnitResult.Succeed)
                                                         {
-                                                            MeterBaseTermTareDataService meterBaseTermTareDataService = new MeterBaseTermTareDataService();
-                                                            RESTfulResult<MeterBaseTermTareData> termTareData = meterBaseTermTareDataService.doQueryPageWf(new MeterBaseTermTareData { carNo = PbCache.lockCarNo, valueFlag = "0", spotAreaNo = PbCache.sportInfo.spotAreaNo });
-                                                            if (termTareData.Succeed)
+                                                            if (tareUnitResult.Data == null || tareUnitResult.Data.Count == 0)
                                                             {
-                                                                // 正常结净
-                                                                //给一次数据匹配委托
-                                                                EntityBase<PreTrackScale> entityBase3 = new EntityBase<PreTrackScale>();
-                                                                mwaf = entityBase3.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
+                                                                //匹配结净
+                                                                EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
+                                                                mwaf = entityBase2.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
                                                                 mwaf.isPreScale = "1";
-                                                                mwaf.weightType = "1";
-                                                                PbCache.voiceType = 9;
-                                                                rt = saveMethod.doTermTareNet(scales.Data[0], firstList[0], mwaf,"1");
-                                                                rt.resultInfo += ",留存期限皮成功";
-                                                                PbCache.ResultMessage = "计量成功,留存期限皮成功";
-                                                                PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,留存期限皮成功", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(firstList[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
+                                                                mwaf.weightType = "0";
+                                                                PbCache.voiceType = 1;
+                                                                rt = saveMethod.doNet(scales.Data[0], firstList[0], mwaf);
+                                                                PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmFirst.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
+                                                            }
+                                                            else
+                                                            {
+                                                                MeterBaseTermTareDataService meterBaseTermTareDataService = new MeterBaseTermTareDataService();
+                                                                RESTfulResult<MeterBaseTermTareData> termTareData = meterBaseTermTareDataService.doQueryPageWf(new MeterBaseTermTareData { carNo = PbCache.lockCarNo, valueFlag = "0", spotAreaNo = PbCache.sportInfo.spotAreaNo });
+                                                                if (termTareData.Succeed)
+                                                                {
+                                                                    // 正常结净
+                                                                    //给一次数据匹配委托
+                                                                    EntityBase<PreTrackScale> entityBase3 = new EntityBase<PreTrackScale>();
+                                                                    mwaf = entityBase3.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
+                                                                    mwaf.isPreScale = "1";
+                                                                    mwaf.weightType = "1";
+                                                                    PbCache.voiceType = 9;
+                                                                    rt = saveMethod.doTermTareNet(scales.Data[0], firstList[0], mwaf, "1");
+                                                                    rt.resultInfo += ",留存期限皮成功";
+                                                                    PbCache.ResultMessage = "计量成功,留存期限皮成功";
+                                                                    PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,留存期限皮成功", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(firstList[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
+                                                                }
                                                             }
                                                         }
                                                     }
                                                 }
+                                                else
+                                                {
+                                                    //匹配结净
+                                                    EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
+                                                    mwaf = entityBase2.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
+                                                    mwaf.isPreScale = "1";
+                                                    mwaf.weightType = "0";
+                                                    PbCache.voiceType = 1;
+                                                    rt = saveMethod.doNet(scales.Data[0], firstList[0], mwaf);
+                                                    PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmFirst.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
+                                                }
                                             }
                                             else
                                             {
-                                                //匹配结净
-                                                EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
-                                                mwaf = entityBase2.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
-                                                mwaf.isPreScale = "1";
                                                 mwaf.weightType = "0";
                                                 PbCache.voiceType = 1;
-                                                rt = saveMethod.doNet(scales.Data[0], firstList[0], mwaf);
+                                                rt = saveMethod.doNet(null, firstList[0], mwaf);
                                                 PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(rmFirst.Data[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
                                             }
                                         }
@@ -913,43 +921,50 @@ namespace MeterSceneLibrary
 
                                             foreach (var item in firstList)
                                             {
-                                                RESTfulResult<List<PreTrackScale>> scales = preTrackScaleService.doQueryWf(new PreTrackScale { predictionNo = item.predictionNo });
-                                                if (PbCache.sportInfo.allowedTareWeight == "1")
+                                                RESTfulResult<List<PreTrackScale>> scales = preTrackScaleService.findCarScale(new PreTrackScale { predictionNo = item.predictionNo });
+                                                if (scales.Data == null || scales.Data.Count == 0)
                                                 {
-                                                    if (AppConfigCache.TareControlType == "3")
+                                                    countTerm++;
+                                                }
+                                                else
+                                                {
+                                                    if (PbCache.sportInfo.allowedTareWeight == "1")
                                                     {
-                                                        /// 判断是否具有期限皮重权限
-                                                        MeterBaseUnitInfoService meterBaseUnitInfoService = new MeterBaseUnitInfoService();
-                                                        MeterBaseUnitInfo meterBaseUnitInfo = new MeterBaseUnitInfo();
-                                                        meterBaseUnitInfo.matterNo = scales.Data[0].matterNo;
-                                                        meterBaseUnitInfo.matterName = scales.Data[0].matterName;
-                                                        meterBaseUnitInfo.forwardingUnitNo = scales.Data[0].forwardingUnitNo;
-                                                        meterBaseUnitInfo.forwardingUnitName = scales.Data[0].forwardingUnitName;
-                                                        meterBaseUnitInfo.receivingUnitNo = scales.Data[0].receivingUintNo;
-                                                        meterBaseUnitInfo.receivingUnitName = scales.Data[0].receivingUintName;
-                                                        meterBaseUnitInfo.carNo = PbCache.lockCarNo;
-                                                        RESTfulResult<List<MeterBaseUnitInfo>> tareUnitResult = meterBaseUnitInfoService.doQueryWf(meterBaseUnitInfo);
-                                                        if (tareUnitResult.Succeed)
+                                                        if (AppConfigCache.TareControlType == "3")
                                                         {
-                                                            if (tareUnitResult.Data == null || tareUnitResult.Data.Count == 0)
-                                                            {
-                                                                countTerm++;
-                                                            }
-                                                            else
+                                                            /// 判断是否具有期限皮重权限
+                                                            MeterBaseUnitInfoService meterBaseUnitInfoService = new MeterBaseUnitInfoService();
+                                                            MeterBaseUnitInfo meterBaseUnitInfo = new MeterBaseUnitInfo();
+                                                            meterBaseUnitInfo.matterNo = scales.Data[0].matterNo;
+                                                            meterBaseUnitInfo.matterName = scales.Data[0].matterName;
+                                                            meterBaseUnitInfo.forwardingUnitNo = scales.Data[0].forwardingUnitNo;
+                                                            meterBaseUnitInfo.forwardingUnitName = scales.Data[0].forwardingUnitName;
+                                                            meterBaseUnitInfo.receivingUnitNo = scales.Data[0].receivingUintNo;
+                                                            meterBaseUnitInfo.receivingUnitName = scales.Data[0].receivingUintName;
+                                                            meterBaseUnitInfo.carNo = PbCache.lockCarNo;
+                                                            RESTfulResult<List<MeterBaseUnitInfo>> tareUnitResult = meterBaseUnitInfoService.doQueryWf(meterBaseUnitInfo);
+                                                            if (tareUnitResult.Succeed)
                                                             {
-                                                                MeterBaseTermTareDataService meterBaseTermTareDataService = new MeterBaseTermTareDataService();
-                                                                RESTfulResult<MeterBaseTermTareData> termTareData = meterBaseTermTareDataService.doQueryPageWf(new MeterBaseTermTareData { carNo = PbCache.lockCarNo, valueFlag = "0", spotAreaNo = PbCache.sportInfo.spotAreaNo });
-                                                                if (termTareData.Succeed)
+                                                                if (tareUnitResult.Data == null || tareUnitResult.Data.Count == 0)
                                                                 {
-                                                                    meterWorkCarActualFirsts.Add(item);
+                                                                    countTerm++;
+                                                                }
+                                                                else
+                                                                {
+                                                                    MeterBaseTermTareDataService meterBaseTermTareDataService = new MeterBaseTermTareDataService();
+                                                                    RESTfulResult<MeterBaseTermTareData> termTareData = meterBaseTermTareDataService.doQueryPageWf(new MeterBaseTermTareData { carNo = PbCache.lockCarNo, valueFlag = "0", spotAreaNo = PbCache.sportInfo.spotAreaNo });
+                                                                    if (termTareData.Succeed)
+                                                                    {
+                                                                        meterWorkCarActualFirsts.Add(item);
+                                                                    }
                                                                 }
                                                             }
                                                         }
                                                     }
-                                                }
-                                                else
-                                                {
-                                                    countTerm++;
+                                                    else
+                                                    {
+                                                        countTerm++;
+                                                    }
                                                 }
                                             }
 
@@ -964,17 +979,27 @@ namespace MeterSceneLibrary
                                             }
                                             else if (countTerm == firstList.Count)
                                             {
-                                                RESTfulResult<List<PreTrackScale>> scales = preTrackScaleService.doQueryWf(new PreTrackScale { predictionNo = firstList[0].predictionNo });
-
-                                                //匹配结净
-                                                EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
-                                                mwaf = entityBase2.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
-                                                mwaf.isPreScale = "1";
-                                                mwaf.weightType = "0";
-                                                PbCache.voiceType = 1;
-                                                rt = saveMethod.doNet(scales.Data[0], firstList[0], mwaf);
-                                                PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,存在未结净毛重", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(firstList[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
-                                                PbCache.monitorResultMessage = string.Format("车号{0}有{1}条未结净的毛重;", PbCache.lockCarNo,firstList.Count-1);
+                                                RESTfulResult<List<PreTrackScale>> scales = preTrackScaleService.findCarScale(new PreTrackScale { predictionNo = firstList[0].predictionNo });
+                                                if (scales.Data == null || scales.Data.Count == 0)
+                                                {
+                                                    mwaf.weightType = "0";
+                                                    PbCache.voiceType = 1;
+                                                    rt = saveMethod.doNet(null, firstList[0], mwaf);
+                                                    PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,存在未结净毛重", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(firstList[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
+                                                    PbCache.monitorResultMessage = string.Format("车号{0}有{1}条未结净的毛重;", PbCache.lockCarNo, firstList.Count - 1);
+                                                }
+                                                else
+                                                {
+                                                    //匹配结净
+                                                    EntityBase<PreTrackScale> entityBase2 = new EntityBase<PreTrackScale>();
+                                                    mwaf = entityBase2.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
+                                                    mwaf.isPreScale = "1";
+                                                    mwaf.weightType = "0";
+                                                    PbCache.voiceType = 1;
+                                                    rt = saveMethod.doNet(scales.Data[0], firstList[0], mwaf);
+                                                    PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,存在未结净毛重", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(firstList[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
+                                                    PbCache.monitorResultMessage = string.Format("车号{0}有{1}条未结净的毛重;", PbCache.lockCarNo, firstList.Count - 1);
+                                                }
                                             }
                                             else
                                             {