duyong 4 лет назад
Родитель
Сommit
9bf1ab55f0

+ 4 - 2
CarMeterSystem/App.config

@@ -6,10 +6,10 @@
 	<appSettings>
 		<!--<add key="ServiceUrl" value="http://127.0.0.1:9004/v1" />-->
     <!--<add key="ServiceUrl" value="http://10.104.4.105:9004/v1" />-->
-    <!--<add key="ServiceUrl" value="http://10.104.0.1:9004/v1" />-->
+    <add key="ServiceUrl" value="http://10.104.0.1:9004/v1" />
 		<!--<add key="ServiceUrl" value="http://192.168.107.60:8888/icore.icp.winform/pass/jlcar"/>-->
     <!--<add key="ServiceUrl" value="http://192.168.185.29/icore.icp.winform/pass/jlcar"/>-->
-    <add key="ServiceUrl" value="http://jgwzjl.jiugang.com/icore.icp.web/pass/systemBase/v1"/>
+    <!--<add key="ServiceUrl" value="http://jgwzjl.jiugang.com/icore.icp.web/pass/systemBase/v1"/>-->
     <!--实时库地址-->
 		<add key="icoredbTcp" value="tarantool://guest@10.99.200.86:2101" />
 		<!--SFTP或者vsftp服务端连接及地址-->
@@ -46,6 +46,8 @@
 
     <!--厂内外车配置:001004003(内部),001004002(外部)-->
     <add key="carAdd" value="1" />
+
+    <add key="isSendZNLC" value="1" />
 	</appSettings>
 	<system.web>
 		<membership defaultProvider="ClientAuthenticationMembershipProvider">

+ 1 - 0
CarMeterSystem/Form1.cs

@@ -749,6 +749,7 @@ namespace CarMeterSystem
                                 editCar = "",
                                 carErr = "0",
                                 wgtErr = "0",
+                                ferroalloyResult = "0",
                                 stopOverTime = "0",
                                 msgInfo = "",
                                 ledWriter = "",

+ 5 - 4
CarMeterSystem/frmMain.cs

@@ -105,10 +105,10 @@ namespace CarMeterSystem
                
                 if (lg.LoginIn())
                 {
-                    if (SystemUpdate(false))
-                    {
-                        return;
-                    }
+                    //if (SystemUpdate(false))
+                    //{
+                    //    return;
+                    //}
                     if (bd.setBaseDb() && bd.getBaseDb())
                     {
                         if (!string.IsNullOrEmpty(PbCache.sportInfo.ledIp))
@@ -782,6 +782,7 @@ namespace CarMeterSystem
                             scanCar = "",
                             editCar = "",
                             carErr = "0",
+                            ferroalloyResult = "0",
                             wgtErr = "0",
                             stopOverTime = "0",
                             msgInfo = "",

+ 176 - 123
CarMeterSystem/frmOneYardToEnd.cs

@@ -117,17 +117,16 @@ namespace CarMeterSystem
             {
                 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,valueFlag = "1" });
+                if (reSacle.Succeed)
+                {
+                    if (reSacle.Data == null || reSacle.Data.Count == 0)
+                    { }
+                    else
+                    {
+                        isCompare = true;
+                    }
+                }
 
                 if (PbCache.collect == null) return;
                 PbCache.isLockFrm = true;
@@ -307,7 +306,7 @@ namespace CarMeterSystem
                     //    PbCache.isLockFrm = false;
                     //    btnSave.Enabled = true;
                     //}
-
+                    isStop = true;
                     #region 酒钢业务流程判断
                     if (isCompare)
                     {
@@ -323,6 +322,7 @@ namespace CarMeterSystem
                             {
                                 led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                             }
+                            isStop = false;
                         }
                         catch (Exception exp)
                         {
@@ -334,6 +334,7 @@ namespace CarMeterSystem
                             {
                                 led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                             }
+                            isStop = false;
                             //break;
                             return;
                         }
@@ -357,7 +358,7 @@ namespace CarMeterSystem
                         }
                         // 把车号加上-
                         string tempCarNo = PbCache.lockCarNo;
-                        RESTfulResult<List<MeterBaseCar>> resCarList = carService.doQueryCarList(new MeterBaseCar { carNo = tempCarNo });
+                        RESTfulResult<List<MeterBaseCar>> resCarList = carService.doQueryCarList(new MeterBaseCar { carNo = tempCarNo, validFlag = "0" });
                         RESTfulResult<rtInfo> strRm = new RESTfulResult<rtInfo>();
                         if (resCarList.Succeed)
                         {
@@ -392,6 +393,12 @@ namespace CarMeterSystem
                                         {
                                             led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                                         }
+                                        RESTfulResult<string> rms = monitor.doUpdateWf(new MeterWorkMonitor { pointNo = PbCache.sportInfo.baseSpotNo, ferroalloyResult = "1" });
+                                        if (!rms.Succeed)
+                                        {
+                                            lg.WriteLog(3, PbCache.lockCarNo + "求助写入失败");
+                                        }
+                                        isStop = false;
                                     }
                                     catch (Exception exp)
                                     {
@@ -403,6 +410,7 @@ namespace CarMeterSystem
                                         {
                                             led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                                         }
+                                        isStop = false;
                                         //break;
                                         return;
                                     }
@@ -430,6 +438,12 @@ namespace CarMeterSystem
                                         {
                                             led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                                         }
+                                        RESTfulResult<string> rms = monitor.doUpdateWf(new MeterWorkMonitor { pointNo = PbCache.sportInfo.baseSpotNo, ferroalloyResult = "1" });
+                                        if (!rms.Succeed)
+                                        {
+                                            lg.WriteLog(3, PbCache.lockCarNo + "求助写入失败");
+                                        }
+                                        isStop = false;
                                     }
                                     catch (Exception exp)
                                     {
@@ -442,6 +456,7 @@ namespace CarMeterSystem
                                             led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                                         }
                                         //break;
+                                        isStop = false;
                                         return;
                                     }
                                 }
@@ -462,6 +477,7 @@ namespace CarMeterSystem
                                         {
                                             led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                                         }
+                                        isStop = false;
                                         return;
                                     }
 
@@ -474,6 +490,7 @@ namespace CarMeterSystem
                                         {
                                             led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                                         }
+                                        isStop = false;
                                         //return;
                                     }
                                     else
@@ -505,6 +522,7 @@ namespace CarMeterSystem
                                     {
                                         led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, PbCache.LEDResultMessage);
                                     }
+                                    isStop = false;
                                     return;
 
                                 }
@@ -544,10 +562,9 @@ namespace CarMeterSystem
                             //    return;
                             //}
                         }
-                        #endregion
                     }
-
-
+                    #endregion
+                    isStop = false;
                     #region 期限皮显示及保存
 
                     ////留期限皮提醒
@@ -580,6 +597,7 @@ namespace CarMeterSystem
                     //flag =true表示称重成功
                     readVoicd();
 
+                    isMeasureSuccess = true;
                     //提示信息,
                     //txtMsgInfo.Text = PbCache.ResultMessage;
                     lblog = string.IsNullOrEmpty(PbCache.ResultMessage) ? strMsg : PbCache.ResultMessage;//偶尔出现ResultMessage为空的情况
@@ -770,13 +788,26 @@ namespace CarMeterSystem
 
         private bool bXCStart = false;
 
+        //停止定时器
+        private bool isStop = false;
+
+        //计量完成标识
+        private bool isMeasureSuccess = false;
+
+
         private void timer1_Tick(object sender, EventArgs e)
         {
-            
 
-            try
+            if (!isStop)
             {
-                
+                try
+                {
+                    if (isMeasureSuccess)
+                    {
+                        isStop = true;
+                        vicPlayClass.GetVoicePlay("计量完成,请离开秤台", PbCache.collect.carno);
+                        isStop = false;
+                    }
                     if (PbCache.collect.weight < 500)
                     {
                         //不显示重量
@@ -943,7 +974,9 @@ namespace CarMeterSystem
                     #endregion 界面未锁定的情况下,初始设置值<车号、监控界面交互、设置初始的毛皮类型>
 
                     #region 红外对射及量程验证及停留超时验证
+
                     valid.ValidMethod();
+
                     if (PbCache.range != null && PbCache.range.upperRange < PbCache.collect.weight)
                     {
                         //超量程
@@ -997,11 +1030,11 @@ namespace CarMeterSystem
 
                     //*
                     if (bRelation)
-                        {
-                            string msgInfo = "";
-                            isCalibration = vCalib.ValidMethod(new MeterWorkCalibrationMain { baseSpotNo = PbCache.sportInfo.baseSpotNo, valueFlag = "2" }, out msgInfo);
-                            bRelation = false;
-                        }
+                    {
+                        string msgInfo = "";
+                        isCalibration = vCalib.ValidMethod(new MeterWorkCalibrationMain { baseSpotNo = PbCache.sportInfo.baseSpotNo, valueFlag = "2" }, out msgInfo);
+                        bRelation = false;
+                    }
 
                     if (!isCalibration)
                     {
@@ -1023,21 +1056,21 @@ namespace CarMeterSystem
 
                     #region 判断是否需要复磅
 
-                        if (isShowRecover && !string.IsNullOrEmpty(txtCarNo.Text))
+                    if (isShowRecover && !string.IsNullOrEmpty(txtCarNo.Text))
+                    {
+                        recoverInfo.ValidMethod(txtCarNo.Text);
+                        if (PbCache.isAllowRecover)
                         {
-                            recoverInfo.ValidMethod(txtCarNo.Text);
-                            if (PbCache.isAllowRecover)
-                            {
-                                btnRecover.Visible = true;
-                            }
-                            else
-                            {
-                                btnRecover.Visible = false;
-                            }
-                            isShowRecover = false;
+                            btnRecover.Visible = true;
                         }
+                        else
+                        {
+                            btnRecover.Visible = false;
+                        }
+                        isShowRecover = false;
+                    }
 
-                #endregion 判断是否需要复磅
+                    #endregion 判断是否需要复磅
 
                     #region 判断区域是否正确
 
@@ -1058,110 +1091,113 @@ namespace CarMeterSystem
 
                     //如果没有查过一次,且扫描到车号信息,且重量稳定
                     if ((bRailwayActual || sPreCarNo != TrackCarNo || firstCode != PbCache.strCode) && PbCache.collect.weightStatus == 0 && PbCache.monitorResult.valid_park_status)
+                    {
+                        firstWgt = 0;
+                        sPreCarNo = TrackCarNo;
+                        //判断车辆是厂内车还是厂外车
+                        RESTfulResult<List<MeterBaseCar>> resCarList = carService.doQueryCarList(new MeterBaseCar { carNo = PbCache.collect.carno, validFlag = "0" });
+                        if (resCarList.Succeed)
                         {
-                            firstWgt = 0;
-                            sPreCarNo = TrackCarNo;
-                            //判断车辆是厂内车还是厂外车
-                            RESTfulResult<List<MeterBaseCar>> resCarList = carService.doQueryCarList(new MeterBaseCar { carNo = PbCache.collect.carno });
-                            if (resCarList.Succeed)
+                            if (resCarList.Data != null && resCarList.Data.Count == 1)
                             {
-                                if (resCarList.Data != null && resCarList.Data.Count == 1)
+                                MeterBaseCar car = resCarList.Data[0];
+                                //厂内车辆
+                                if (car.carTypeNo == "001004003")
                                 {
-                                    MeterBaseCar car = resCarList.Data[0];
-                                    //厂内车辆
-                                    if (car.carTypeNo == "001004003")
-                                    {
-                                        RESTfulResult<List<PreTrackScale>> rmScale = PreTrackScaleService.doQueryByFlag(new PreTrackScale { carNo = PbCache.collect.carno, lineDesc = "1" });
+                                    RESTfulResult<List<PreTrackScale>> rmScale = PreTrackScaleService.doQueryByFlag(new PreTrackScale { carNo = PbCache.collect.carno, lineDesc = "1" });
 
-                                        if (rmScale.Succeed)
+                                    if (rmScale.Succeed)
+                                    {
+                                        if (rmScale.Data != null && rmScale.Data.Count == 1)
                                         {
-                                            if (rmScale.Data != null && rmScale.Data.Count == 1)
-                                            {
-                                                MeterWorkCarActualFirst actualFirst = new MeterWorkCarActualFirst();
+                                            MeterWorkCarActualFirst actualFirst = new MeterWorkCarActualFirst();
 
-                                                firstWgt = rmScale.Data[0].meterWeight == null ? 0 : rmScale.Data[0].meterWeight.Value;
+                                            firstWgt = rmScale.Data[0].meterWeight == null ? 0 : rmScale.Data[0].meterWeight.Value;
 
-                                                EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
-                                                actualFirst = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], actualFirst);
+                                            EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
+                                            actualFirst = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], actualFirst);
 
-                                                actualFirst.predictionNo = actualFirst.predictionNo.Replace("_", "");
-                                                //给用户控件设置值
-                                                ucCarMeterInfoJisco1.setFormControlValue(actualFirst);
-                                            }
+                                            actualFirst.predictionNo = actualFirst.predictionNo.Replace("_", "");
+                                            //给用户控件设置值
+                                            ucCarMeterInfoJisco1.setFormControlValue(actualFirst);
                                         }
-                                        bRailwayActual = false;
                                     }
-                                    //厂外车辆
-                                    else if (car.carTypeNo == "001004002" && !PbCache.isPre)
+                                    bRailwayActual = false;
+                                }
+                                //厂外车辆
+                                else if (car.carTypeNo == "001004002" && !PbCache.isPre)
+                                {
+                                    #region 查询一次计量表中是否存在一条未结净的数据,非一车联运情况扫码两次,一车联运的话
+                                    RESTfulResult<List<MeterWorkCarActualFirst>> RESTfulResult = workCarActualFirstService.doQueryWf(new MeterWorkCarActualFirst { carNo = PbCache.collect.carno, valueFlag = "1" });
+                                    if (RESTfulResult.Succeed)
                                     {
-                                        #region 查询一次计量表中是否存在一条未结净的数据,非一车联运情况扫码两次,一车联运的话
-                                        RESTfulResult<List<MeterWorkCarActualFirst>> RESTfulResult = workCarActualFirstService.doQueryWf(new MeterWorkCarActualFirst { carNo = PbCache.collect.carno, valueFlag = "1" });
-                                        if (RESTfulResult.Succeed)
+                                        if (RESTfulResult.Data != null && RESTfulResult.Data.Count > 0)
                                         {
-                                            if (RESTfulResult.Data != null && RESTfulResult.Data.Count > 0)
+                                            if (PbCache.sportInfo.baseSpotNo == lianDaPointNo)
                                             {
-                                                if (PbCache.sportInfo.baseSpotNo == lianDaPointNo)
+                                                bool flag = false;
+                                                foreach (MeterWorkCarActualFirst fs in RESTfulResult.Data)
                                                 {
-                                                    bool flag = false;
-                                                    foreach (MeterWorkCarActualFirst fs in RESTfulResult.Data)
-                                                    {
-                                                        //联达磅过的联达物料
-                                                        if (fs.predictionNo.Contains("_"))
-                                                        {
-                                                            firstWgt = fs.meterWeight.Value;
-                                                            firstDb = fs;
-                                                            firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
-                                                            //给用户控件设置值
-                                                            ucCarMeterInfoJisco1.setFormControlValue(firstDb);
-                                                            flag = true;
-                                                            break;
-                                                        }
-                                                    }
-                                                    if (!flag)
+                                                    //联达磅过的联达物料
+                                                    if (fs.predictionNo.Contains("_"))
                                                     {
-                                                        firstWgt = RESTfulResult.Data[0].meterWeight.Value;
-                                                        firstDb = RESTfulResult.Data[0];
+                                                        firstWgt = fs.meterWeight.Value;
+                                                        firstDb = fs;
                                                         firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
                                                         //给用户控件设置值
                                                         ucCarMeterInfoJisco1.setFormControlValue(firstDb);
+                                                        flag = true;
+                                                        break;
                                                     }
                                                 }
-                                                else
+                                                if (!flag)
                                                 {
-                                                    foreach (MeterWorkCarActualFirst fs in RESTfulResult.Data)
+                                                    firstWgt = RESTfulResult.Data[0].meterWeight.Value;
+                                                    firstDb = RESTfulResult.Data[0];
+                                                    firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
+                                                    //给用户控件设置值
+                                                    ucCarMeterInfoJisco1.setFormControlValue(firstDb);
+                                                }
+                                            }
+                                            else
+                                            {
+                                                foreach (MeterWorkCarActualFirst fs in RESTfulResult.Data)
+                                                {
+                                                    if (fs.predictionNo != null && !fs.predictionNo.Contains("_"))
                                                     {
-                                                        if (fs.predictionNo != null && !fs.predictionNo.Contains("_"))
-                                                        {
-                                                            firstWgt = RESTfulResult.Data[0].meterWeight.Value;
-                                                            firstDb = RESTfulResult.Data[0];
-                                                            firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
-                                                            //给用户控件设置值
-                                                            ucCarMeterInfoJisco1.setFormControlValue(firstDb);
-                                                            break;
-                                                        }
+                                                        firstWgt = RESTfulResult.Data[0].meterWeight.Value;
+                                                        firstDb = RESTfulResult.Data[0];
+                                                        firstDb.predictionNo = firstDb.predictionNo.Replace("_", "");
+                                                        //给用户控件设置值
+                                                        ucCarMeterInfoJisco1.setFormControlValue(firstDb);
+                                                        break;
                                                     }
                                                 }
                                             }
                                         }
-                                        #endregion
-                                        bRailwayActual = false;
-                                    }
-                                    else if (PbCache.isPre)
-                                    {
-                                        ucCarMeterInfoJisco1.setFormControlValue(PbCache.mwPreFirst);
-                                        bRailwayActual = false;
                                     }
+                                    #endregion
+                                    bRailwayActual = false;
                                 }
-                                else
+                                else if (PbCache.isPre)
                                 {
-                                    string ledinfo = "";
+                                    ucCarMeterInfoJisco1.setFormControlValue(PbCache.mwPreFirst);
+                                    bRailwayActual = false;
+                                }
+                            }
+                            else
+                            {
+                                string ledinfo = "";
+                                if (PbCache.lockCarNo == "")
+                                {
+                                    isStop = true;
                                     if (string.IsNullOrEmpty(PbCache.collect.carno))
                                     {
                                         txtMsgInfo.Text = "车号未识别,请联系处理";
                                         PbCache.monitorResultMessage = "车号未识别,请联系处理";
                                         PbCache.ResultMessage = "车号未识别,请联系处理";
                                         ledinfo = "车号未识别,请联系处理";
-                                        vicPlayClass.GetVoicePlay("车号为空,请联系处理", PbCache.lockCarNo);
+                                        vicPlayClass.GetVoicePlay("车号为空,请联系处理", PbCache.collect.carno);
                                     }
                                     else
                                     {
@@ -1169,7 +1205,7 @@ namespace CarMeterSystem
                                         PbCache.monitorResultMessage = "车号未注册,请联系处理";
                                         PbCache.ResultMessage = "车号未注册,请联系处理";
                                         ledinfo = "车号未注册,请联系处理";
-                                        vicPlayClass.GetVoicePlay("车号未注册,请联系处理", PbCache.lockCarNo);
+                                        vicPlayClass.GetVoicePlay("车号未注册,请联系处理", PbCache.collect.carno);
                                     }
 
                                     PbCache.isLockFrm = false;
@@ -1186,25 +1222,28 @@ namespace CarMeterSystem
                                     }
                                     led_controler.setStaticLineMsg(PbCache.sportInfo.ledIp, ledinfo);
                                     bRailwayActual = false;
+                                    isStop = false;
                                     return;
                                 }
-                            }
-                            #region 查一次是否可留期限皮,可以则显示按钮
 
-                            PbCache.lockWgt = PbCache.collect.weight;
-
-                            //2021年3月15日 期限皮重显示按钮的显示方法修改 isShowBtnTare   ValidMethod
-                            if (termTareCar.isShowBtnTare(TrackCarNo))
-                            {
-                                lg.WriteLog(3, string.Format("9车辆[{0}进入期限皮重显示按钮的显示判断", TrackCarNo));
-                                btnTare.Visible = true;
                             }
-                            //
+                        }
+                        #region 查一次是否可留期限皮,可以则显示按钮
+
+                        PbCache.lockWgt = PbCache.collect.weight;
 
-                            #endregion 查一次是否可留期限皮,可以则显示按钮
+                        //2021年3月15日 期限皮重显示按钮的显示方法修改 isShowBtnTare   ValidMethod
+                        if (termTareCar.isShowBtnTare(TrackCarNo))
+                        {
+                            lg.WriteLog(3, string.Format("9车辆[{0}进入期限皮重显示按钮的显示判断", TrackCarNo));
+                            btnTare.Visible = true;
                         }
+                        //
 
-                        #endregion 第一次查询,有车号,重量稳定,红外验证通过的情况只查一次
+                        #endregion 查一次是否可留期限皮,可以则显示按钮
+                    }
+
+                    #endregion 第一次查询,有车号,重量稳定,红外验证通过的情况只查一次
 
 
                     #region 毛皮净赋值;存在一次重量firstWgt的情况下才赋值毛皮净重
@@ -1247,7 +1286,7 @@ namespace CarMeterSystem
                                 isVoiceDownCar = true;
                                 vicPlayClass.GetVoicePlay("车上人员请下车", PbCache.collect.carno);
                                 //txtMsgInfo.Text = "请核对车号后,扫描您手机中的二维码";
-                             }
+                            }
                             // 如果计量点配置中,设置了秤点计量类型为智能计量(下秤),验证扫码信息是否与识别车号一致。
                             // 如果为是,自动保存
                             //3秒后自动执行保存方法
@@ -1297,10 +1336,11 @@ namespace CarMeterSystem
 
                     #endregion 界面未锁定的情况下,如果,有车号,重量稳定了,停车线验证通过,完成了扫码验证
 
-            }
-            catch (Exception ex)
-            {
-                lg.WriteLog(13, "frmOneYardToEnd页面timer1异常!异常信息:" + ex);
+                }
+                catch (Exception ex)
+                {
+                    lg.WriteLog(13, "frmOneYardToEnd页面timer1异常!异常信息:" + ex);
+                }
             }
         }
 
@@ -1984,6 +2024,19 @@ namespace CarMeterSystem
                 timer1.Stop();
                 timer1.Dispose();
 
+                //
+                if (!isMeasureSuccess)
+                {
+                    MeterWorkScheduledHelp meterWorkScheduledHelp = new MeterWorkScheduledHelp();
+                    meterWorkScheduledHelp.baseSpotNo = PbCache.sportInfo.baseSpotNo;
+                    meterWorkScheduledHelp.baseSpotName = PbCache.sportInfo.baseSpotName;
+                    meterWorkScheduledHelp.carNo = PbCache.collect.carno;
+                    meterWorkScheduledHelp.helpContent = string.Format("车辆未保存重量,重量为{0}t", Math.Round((PbCache.lockWgt / 1000), 2));
+                    meterWorkScheduledHelp.warnType = "2";
+                    meterWorkScheduledHelp.warnTypeName = "智能终端报警";
+                    meterWorkScheduledHelpService.add(meterWorkScheduledHelp);
+                }
+
                 #region 清理一次监控表的几个数值,防止上车速度过快导致提示称重完成
 
                 //RESTfulResult<string> rms = monitor.doUpdateWf(new MeterWorkMonitor { pointNo = PbCache.sportInfo.baseSpotNo, isOverWgt = "" });

+ 1 - 1
Common/DbOption/work/MeterWorkCompareSpotScaleService.cs

@@ -17,7 +17,7 @@ namespace Common
         public RESTfulResult<List<MeterWorkCompareSpotSacle>> doQuery(MeterWorkCompareSpotSacle info)
         {
             DbHelper db = new DbHelper();
-            RESTfulResult<PageList<List<MeterWorkCompareSpotSacle>>> rm = db.doOption<PageList<List<MeterWorkCompareSpotSacle>>>("meterworkcomparespotsacles", "/", new object[] { info }, 1);
+            RESTfulResult<PageList<List<MeterWorkCompareSpotSacle>>> rm = db.doOption<PageList<List<MeterWorkCompareSpotSacle>>>("meterworkcomparespotscales", "/", new object[] { info }, 0);
 
             RESTfulResult<List<MeterWorkCompareSpotSacle>> result = new RESTfulResult<List<MeterWorkCompareSpotSacle>>();
             result.Succeed = rm.Succeed;

+ 8 - 26
Common/DbOption/work/MeterWorkCompareSpotService.cs

@@ -37,22 +37,13 @@ namespace Common
         /// </summary>
         /// <param name="info"></param>
         /// <returns></returns>
-        public RESTfulResult<List<MeterWorkCompareSpot>> doAdd(MeterWorkCompareSpot info)
+        public RESTfulResult<string> doAdd(MeterWorkCompareSpot info)
         {
             DbHelper db = new DbHelper();
-            RESTfulResult<PageList<List<MeterWorkCompareSpot>>> rm = db.doOption<PageList<List<MeterWorkCompareSpot>>>("meterworkcomparespots", "/", new object[] { info }, 1);
+            RESTfulResult<string> rm = db.doOption<string>("meterworkcomparespots", "/", new object[] { info }, 1);
 
-            RESTfulResult<List<MeterWorkCompareSpot>> result = new RESTfulResult<List<MeterWorkCompareSpot>>();
-            result.Succeed = rm.Succeed;
-            result.Status = rm.Status;
-            result.Message = rm.Message;
-            result.ResultMessage = rm.ResultMessage;
-            result.Code = rm.Code;
-            if (rm.Succeed && rm.Data != null && rm.Data.list.Count > 0)
-            {
-                result.Data = rm.Data.list;
-            }
-            return result;
+            
+            return rm;
         }
 
         /// <summary>
@@ -60,22 +51,13 @@ namespace Common
         /// </summary>
         /// <param name="info"></param>
         /// <returns></returns>
-        public RESTfulResult<List<MeterWorkCompareSpot>> doMofity(MeterWorkCompareSpot info)
+        public RESTfulResult<string> doMofity(MeterWorkCompareSpot info)
         {
             DbHelper db = new DbHelper();
-            RESTfulResult<PageList<List<MeterWorkCompareSpot>>> rm = db.doOption<PageList<List<MeterWorkCompareSpot>>>("meterworkcomparespots", "/", new object[] { info }, 1);
+            RESTfulResult<string> rm = db.doOption<string>("meterworkcomparespots", "/", new object[] { info }, 1);
 
-            RESTfulResult<List<MeterWorkCompareSpot>> result = new RESTfulResult<List<MeterWorkCompareSpot>>();
-            result.Succeed = rm.Succeed;
-            result.Status = rm.Status;
-            result.Message = rm.Message;
-            result.ResultMessage = rm.ResultMessage;
-            result.Code = rm.Code;
-            if (rm.Succeed && rm.Data != null && rm.Data.list.Count > 0)
-            {
-                result.Data = rm.Data.list;
-            }
-            return result;
+            
+            return rm;
         }
     }
 }

+ 5 - 0
Common/vo/base/MeterBaseCar.cs

@@ -115,5 +115,10 @@ namespace Common
 		/// <summary>
 		public string usetDepartmentNo { get; set; }
 
+		/// <summary>
+		/// 状态
+		/// <summary>
+		public string validFlag { get; set; }
+
 	}
 }

+ 12 - 1
Common/vo/work/MeterWorkMonitor.cs

@@ -219,7 +219,7 @@ namespace Common
         /// <summary>
         /// 重量稳定
         /// </summary>
-        public int weightStatus { get; set; }
+        public int? weightStatus { get; set; }
 
         /// <summary>
         /// 衡器电源状态(0正常 1异常)
@@ -290,5 +290,16 @@ namespace Common
         /// rfid状态(0正常 1异常)
         /// </summary>
         public string rfidState { get; set; }
+
+        /// <summary>
+        /// 铁合金确认结果
+        /// </summary>
+        public string ferroalloyResult { get; set; }
+
+        /// <summary>
+        /// 铁合金确认
+        /// </summary>
+        public string ferroalloyConfirm { get; set; }
+
     }
 }

+ 4 - 4
MeterSceneLibrary/JISCO/InnerCarJISCO.cs

@@ -432,10 +432,10 @@ namespace MeterSceneLibrary
                                                                     // 只保存一次计量数据
                                                                     rt = saveMethod.doAddFirst(rmScale.Data[0], mwaf);
                                                                     PbCache.voiceType = 15;
-                                                                    rt.resultInfo += ",期限皮不存在或者已过期,请留存期限皮";
-                                                                    PbCache.ResultMessage = "计量成功,期限皮不存在或者已过期,请留存期限皮";
-                                                                    PbCache.monitorResultMessage = "计量成功,期限皮不存在或者已过期,请留存期限皮";
-                                                                    PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,计量完成,期限皮不存在或已过期请留存期限皮", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
+                                                                    rt.resultInfo += ",计量成功,期限皮无效,请留存期限皮";
+                                                                    PbCache.ResultMessage = "计量成功,期限皮无效,请留存期限皮";
+                                                                    PbCache.monitorResultMessage = "计量成功,期限皮无效,请留存期限皮";
+                                                                    PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,计量完成,期限皮无效", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
                                                                 }
                                                                 else
                                                                 {

+ 8 - 4
MeterSceneLibrary/JISCO/OuterCarJISCO.cs

@@ -334,9 +334,10 @@ namespace MeterSceneLibrary
                                             mwaf.isPreScale = "1";
                                             // 混装逻辑,并结净匹配委托
                                             rt = saveMethod.doAddNetNewHZHX(listPreScale[0], newActualFirst, mwaf);
-                                            rt.resultInfo += ",混装业务"; 
+                                            rt.resultInfo += ",混装业务";
+                                            double? netWeight = PbCache.lockWgt - lastMeterWorkCarActual.grossWeight;
                                             PbCache.voiceType = 1; 
-                                            PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,净重{2}吨,混装业务", PbCache.lockCarNo, Math.Round(PbCache.lockWgt / 1000, 2), Math.Round((PbCache.lockWgt - double.Parse(lastMeterWorkCarActual.grossWeight.ToString()) / 1000), 2));
+                                            PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,净重{2}吨,混装业务", PbCache.lockCarNo, Math.Round(PbCache.lockWgt / 1000, 2), Math.Round((double)netWeight / 1000, 2));
                                         }
                                         else
                                         {
@@ -417,6 +418,7 @@ namespace MeterSceneLibrary
                             {
                                 pre = listPreScale[0];
                                 PbCache.voiceType = 1;
+                                PbCache.monitorResultMessage = string.Format("计量完成,车号{0}多个完全相同委托自动匹配最新委托", PbCache.lockCarNo);
                                 PbCache.LEDResultMessage = string.Format("车号{0},重量{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
                             }
                             if (listPreScale.Count == 2 && listPreScale[0].valueFlag == "1" && listPreScale[1].valueFlag == "1" && listPreScale[0].predictionType == "6" && listPreScale[1].predictionType == "6")
@@ -444,7 +446,7 @@ namespace MeterSceneLibrary
                                 pre = listPreScale[1];
                                 res = ",混装业务";
                                 PbCache.voiceType = 1;
-                                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 (pre == null)
                             {
@@ -668,6 +670,8 @@ namespace MeterSceneLibrary
                                         EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
                                         mwaf = entityBase.format<MeterWorkCarActualFirst>(pre, mwaf);
                                         mwaf.isPreScale = "1";
+
+                                        PbCache.monitorResultMessage = string.Format("计量完成,车号{0}多个完全相同委托自动匹配最新委托", PbCache.lockCarNo);
                                         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.voiceType = 1;
@@ -876,7 +880,7 @@ namespace MeterSceneLibrary
                 {
                     PbCache.isActual = true;
                     PbCache.isInnerCar = true;
-                    rt = saveMethod.doAddFirst(listPreScale[0], mwaf);
+                    rt = saveMethod.doAddFirst(null, mwaf);
                     rt.resultInfo = "存在多条一次计量数据";
                     PbCache.voiceType = 3;
                     PbCache.LEDResultMessage = "存在多条一次计量数据";

+ 8 - 5
MeterSceneLibrary/JISCO/compare.cs

@@ -20,17 +20,20 @@ namespace MeterSceneLibrary
         private JISCO.SaveMethod saveMethod = new JISCO.SaveMethod();
         public rtInfo MeterMethod(PreTrackScale scale)
         {
-            RESTfulResult<List<MeterWorkCompareSpotSacle>> reSacle = meterWorkCompareSpotScaleService.doQuery(new MeterWorkCompareSpotSacle { carNo = PbCache.lockCarNo });
+            RESTfulResult<List<MeterWorkCompareSpotSacle>> reSacle = meterWorkCompareSpotScaleService.doQuery(new MeterWorkCompareSpotSacle { carNo = PbCache.lockCarNo,valueFlag = "1" });
 
             if (reSacle.Succeed)
             {
                 if (reSacle.Data == null || reSacle.Data.Count == 0)
                 {
-                    rt = saveMethod.doError("");
+                    rt = saveMethod.doError("未查询到较称预约");
+                    rt.resultInfo = "未查询到较称预约";
+                    PbCache.LEDResultMessage = "未查询到较称预约";
+                    PbCache.monitorResultMessage = "车号"+PbCache.lockCarNo+ "未查询到较称预约";
                 }
                 else
                 {
-                    RESTfulResult<List<MeterWorkCompareSpot>> reCompareSpot = meterWorkCompareSpotService.doQuery(new MeterWorkCompareSpot { carNo = PbCache.lockCarNo });
+                    RESTfulResult<List<MeterWorkCompareSpot>> reCompareSpot = meterWorkCompareSpotService.doQuery(new MeterWorkCompareSpot { carNo = PbCache.lockCarNo,valueFlag = "2" });
 
                     if (reCompareSpot.Succeed)
                     {
@@ -43,7 +46,7 @@ namespace MeterSceneLibrary
                             meterWorkCompareSpot.baseSpotNo1 = PbCache.sportInfo.baseSpotNo;
                             meterWorkCompareSpot.baseSpotName1 = PbCache.sportInfo.baseSpotName;
                             meterWorkCompareSpot.compareType = "2";
-                            meterWorkCompareSpotService.doAdd(meterWorkCompareSpot);
+                            rt = saveMethod.doCompare(meterWorkCompareSpot);
                         }
                         else
                         {
@@ -78,7 +81,7 @@ namespace MeterSceneLibrary
                                 meterWorkCompareSpot.baseSpotNo5 = PbCache.sportInfo.baseSpotNo;
                                 meterWorkCompareSpot.baseSpotName5 = PbCache.sportInfo.baseSpotName;
                             }
-                            meterWorkCompareSpotService.doMofity(meterWorkCompareSpot);
+                            rt = saveMethod.doCompareModify(meterWorkCompareSpot);
                         }
                     }
                 }

+ 62 - 0
MeterSceneLibrary/JISCO/private/SaveMethod.cs

@@ -931,6 +931,7 @@ namespace MeterSceneLibrary.JISCO
             }
             return rt;
         }
+
         /// <summary>
         /// 多毛一皮
         /// </summary>
@@ -1111,6 +1112,67 @@ namespace MeterSceneLibrary.JISCO
             return rt;
         }
 
+        /// <summary>
+        /// 较称新增
+        /// </summary>
+        /// <param name="scale"></param>
+        /// <param name="actualFirst"></param>
+        /// <param name="actualFirst1"></param>
+        /// <returns></returns>
+        public rtInfo doCompare(MeterWorkCompareSpot meterWorkCompareSpot)
+        {
+
+            //期限皮重数据保存
+            MeterWorkCompareSpotService actualService = new MeterWorkCompareSpotService();
+            RESTfulResult<string> rmI = actualService.doMofity(meterWorkCompareSpot);
+
+            if (rmI.Succeed)
+            {
+                rt.result = true;
+                rt.resultInfo = "计量完成";
+                PbCache.actualFirstNo = rmI.Data;
+                PbCache.strQRCode = rmI.Message;
+                PbCache.isTareWeight = true;//皮重
+            }
+            else
+            {
+                rt.result = false;
+                rt.isError = true;
+                rt.resultInfo = "称重数据保存失败";
+            }
+            return rt;
+        }
+
+        /// <summary>
+        /// 较称新增
+        /// </summary>
+        /// <param name="scale"></param>
+        /// <param name="actualFirst"></param>
+        /// <param name="actualFirst1"></param>
+        /// <returns></returns>
+        public rtInfo doCompareModify(MeterWorkCompareSpot meterWorkCompareSpot)
+        {
+
+            //期限皮重数据保存
+            MeterWorkCompareSpotService actualService = new MeterWorkCompareSpotService();
+            RESTfulResult<string> rmI = actualService.doAdd(meterWorkCompareSpot);
+
+            if (rmI.Succeed)
+            {
+                rt.result = true;
+                rt.resultInfo = "计量完成";
+                PbCache.actualFirstNo = rmI.Data;
+                PbCache.strQRCode = rmI.Message;
+            }
+            else
+            {
+                rt.result = false;
+                rt.isError = true;
+                rt.resultInfo = "称重数据保存失败";
+            }
+            return rt;
+        }
+
         /// <summary>
         /// 失败执行逻辑
         /// </summary>

+ 1 - 1
TrainVideoDataDispose/Form2.cs

@@ -21,7 +21,7 @@ namespace TrainVideoDataDispose
         {
             //ftpHelper.GetFilesDirList();
             ftpHelper ftp1 = new ftpHelper("10.111.16.113", "", "300t", "300t");
-            string[] s = ftp1.GetFilesDirList();
+            string[] s = ftp1.GetFilesDirList(); 
         }
     }
 }

+ 1 - 1
TrainVideoDataDispose/Program.cs

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