コード例 #1
0
 /// <summary>
 /// 发送开始采样命令
 /// </summary>
 /// <returns></returns>
 bool SendSamplingCMD(bool isStart)
 {
     CurrentSampleCMD = new InfBeltSampleCmd
     {
         DataFlag      = 0,
         InterfaceType = this.CurrentSampleMachine.InterfaceType,
         MachineCode   = this.CurrentSampleMachine.EquipmentCode,
         ResultCode    = eEquInfCmdResultCode.默认.ToString(),
         SampleCode    = this.CurrentRCSampling.SampleCode,
         CmdCode       = (isStart == true ? eEquInfSamplerCmd.开始采样.ToString() : eEquInfSamplerCmd.结束采样.ToString())
     };
     return(Dbers.GetInstance().SelfDber.Insert <InfBeltSampleCmd>(CurrentSampleCMD) > 0);
 }
コード例 #2
0
ファイル: BeltSamplerDAO.cs プロジェクト: radtek/Applet_NXQL
        /// <summary>
        /// 获取控制命令的执行结果
        /// </summary>
        /// <param name="cmdId">控制命令记录Id</param>
        /// <returns></returns>
        public eEquInfCmdResultCode GetSampleCmdResult(string cmdId)
        {
            eEquInfCmdResultCode res;

            InfBeltSampleCmd beltSampleCmd = Dbers.GetInstance().SelfDber.Get <InfBeltSampleCmd>(cmdId);

            if (beltSampleCmd == null)
            {
                throw new ArgumentException("未找到采样控制命令,cmdId:" + cmdId);
            }

            Enum.TryParse <eEquInfCmdResultCode>(beltSampleCmd.ResultCode, out res);

            return(res);
        }
コード例 #3
0
 /// <summary>
 /// 发送采样命令
 /// </summary>
 /// <returns></returns>
 bool SendSamplingCMD(eEquInfSamplerCmd cmd)
 {
     CurrentSampleCMD = new InfBeltSampleCmd
     {
         DataFlag      = 0,
         InterfaceType = this.CurrentSampleMachine.InterfaceType,
         MachineCode   = this.CurrentSampleMachine.EquipmentCode,
         ResultCode    = eEquInfCmdResultCode.默认.ToString(),
         SampleCode    = this.CurrentRCSampling == null ? "" : this.CurrentRCSampling.SampleCode,
         CmdCode       = cmd.ToString()
     };
     if (Dbers.GetInstance().SelfDber.Insert <InfBeltSampleCmd>(CurrentSampleCMD) > 0)
     {
         this.rTxtOutputer.Output("采样命令发送成功");
         return(true);
     }
     return(false);
 }
コード例 #4
0
        /// <summary>
        /// 发送停止采样命令
        /// </summary>
        /// <returns></returns>
        bool SendSamplingCMD(string machineCode)
        {
            InfBeltSampleCmd samplecmd = new InfBeltSampleCmd
            {
                DataFlag      = 0,
                InterfaceType = GlobalVars.InterfaceType_HCJXCYJ,
                MachineCode   = machineCode,
                ResultCode    = eEquInfCmdResultCode.默认.ToString(),
                SampleCode    = "",
                CmdCode       = eEquInfSamplerCmd.系统暂停.ToString()
            };

            if (Dbers.GetInstance().SelfDber.Insert <InfBeltSampleCmd>(samplecmd) > 0)
            {
                return(true);
            }
            return(false);
        }
コード例 #5
0
        /// <summary>
        /// 发送采样命令
        /// </summary>
        /// <returns></returns>
        bool SendSamplingCMD(eEquInfSamplerCmd cmd)
        {
            CmcsCMEquipment  Equipment        = CommonDAO.GetInstance().GetCMEquipmentByMachineCode(this.CurrentMachineCode);
            InfBeltSampleCmd CurrentSampleCMD = new InfBeltSampleCmd
            {
                DataFlag      = 0,
                InterfaceType = Equipment.InterfaceType,
                MachineCode   = Equipment.EquipmentCode,
                ResultCode    = eEquInfCmdResultCode.默认.ToString(),
                SampleCode    = commonDAO.GetSignalDataValue(this.CurrentMachineCode, "采样编码"),
                CmdCode       = cmd.ToString()
            };

            if (Dbers.GetInstance().SelfDber.Insert <InfBeltSampleCmd>(CurrentSampleCMD) > 0)
            {
                return(true);
            }
            return(false);
        }
コード例 #6
0
        /// <summary>
        /// 同步采样命令
        /// </summary>
        /// <param name="output"></param>
        /// <param name="MachineCode">设备编码</param>
        public void SyncSampleCmd(Action <string, eOutputType> output)
        {
            int res = 0;

            // 集中管控 > 第三方
            foreach (InfBeltSampleCmd entity in BeltSamplerDAO.GetInstance().GetWaitForSyncBeltSampleCmd(this.MachineCode))
            {
                bool isSuccess = false;
                // 需调整:命令中的水分等信息视接口而定
                EquHCQSCYJSampleCmd samplecmdEqu = this.EquDber.Get <EquHCQSCYJSampleCmd>(entity.Id);
                if (samplecmdEqu == null)
                {
                    isSuccess = this.EquDber.Insert(new EquHCQSCYJSampleCmd
                    {
                        // 保持相同的Id
                        Id          = entity.Id,
                        SampleCode  = entity.SampleCode,
                        CmdCode     = entity.CmdCode,
                        ResultCode  = entity.ResultCode,
                        MachineCode = this.MachineCode,
                        DataFlag    = 0
                    }) > 0;
                }
                else
                {
                    samplecmdEqu.SampleCode = entity.SampleCode;
                    samplecmdEqu.CmdCode    = entity.CmdCode;
                    samplecmdEqu.ResultCode = entity.ResultCode;
                    samplecmdEqu.DataFlag   = 0;
                    isSuccess = this.EquDber.Update(samplecmdEqu) > 0;
                }

                if (isSuccess)
                {
                    entity.SyncFlag = 1;
                    Dbers.GetInstance().SelfDber.Update(entity);

                    res++;
                }
            }
            output(string.Format("同步采样计划 {0} 条(集中管控 > 第三方)", res), eOutputType.Normal);


            res = 0;
            // 第三方 > 集中管控
            foreach (EquHCQSCYJSampleCmd entity in this.EquDber.Entities <EquHCQSCYJSampleCmd>("where DataFlag=2 and datediff(dd,CreateDate,getdate())=0"))
            {
                InfBeltSampleCmd samplecmdInf = Dbers.GetInstance().SelfDber.Get <InfBeltSampleCmd>(entity.Id);
                if (samplecmdInf == null)
                {
                    continue;
                }

                //samplecmdInf.Point1 = entity.Point1;
                //samplecmdInf.Point2 = entity.Point2;
                //samplecmdInf.Point3 = entity.Point3;
                //samplecmdInf.Point4 = entity.Point4;
                //samplecmdInf.Point5 = entity.Point5;
                //samplecmdInf.Point6 = entity.Point6;
                if (entity.ResultCode.Contains("失败"))
                {
                    samplecmdInf.ResultCode = eEquInfCmdResultCode.失败.ToString();
                    commonDAO.SaveEquInfHitch(this.MachineCode, DateTime.Now, entity.ResultCode);
                }
                else
                {
                    samplecmdInf.ResultCode = entity.ResultCode;
                }

                if (Dbers.GetInstance().SelfDber.Update(samplecmdInf) > 0)
                {
                    // 我方已读
                    entity.DataFlag = 3;
                    this.EquDber.Update(entity);

                    res++;
                }
            }
            output(string.Format("同步采样计划 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal);
        }
コード例 #7
0
        /// <summary>
        /// 同步控制命令
        /// </summary>
        /// <param name="output"></param>
        /// <returns></returns>
        public void SyncCmd(Action <string, eOutputType> output)
        {
            int res = 0;

            // 集中管控 > 第三方
            foreach (InfBeltSampleCmd entity in BeltSamplerDAO.GetInstance().GetWaitForSyncBeltSampleCmd(Type == "入场" ? GlobalVars.InterfaceType_PDCYJ_In : GlobalVars.InterfaceType_PDCYJ_Out))
            {
                bool isSuccess = false;

                EquPDCYJCmd pDCYControlCMD = this.EquDber.Get <EquPDCYJCmd>(entity.Id);
                if (pDCYControlCMD == null)
                {
                    isSuccess = this.EquDber.Insert(new EquPDCYJCmd
                    {
                        // 保持相同的Id
                        Id          = entity.Id,
                        DataFlag    = 0,
                        CreateDate  = entity.CreateDate,
                        SampleCode  = entity.SampleCode,
                        MachineCode = ConvertToInfMachineCode(entity.MachineCode),
                        CmdCode     = entity.CmdCode,
                        ResultCode  = eEquInfCmdResultCode.默认.ToString()
                    }) > 0;
                }
                else
                {
                    isSuccess = true;
                }

                if (isSuccess)
                {
                    entity.SyncFlag = 1;
                    Dbers.GetInstance().SelfDber.Update(entity);

                    res++;
                }
            }
            output(string.Format("同步控制命令 {0} 条(集中管控 > 第三方)", res), eOutputType.Normal);

            res = 0;
            // 第三方 > 集中管控
            foreach (EquPDCYJCmd entity in this.EquDber.Entities <EquPDCYJCmd>("where DataFlag=2"))
            {
                InfBeltSampleCmd beltSampleCmd = Dbers.GetInstance().SelfDber.Get <InfBeltSampleCmd>(entity.Id);
                if (beltSampleCmd == null)
                {
                    continue;
                }

                // 更新执行结果等
                beltSampleCmd.ResultCode = entity.ResultCode;
                beltSampleCmd.DataFlag   = 3;

                if (Dbers.GetInstance().SelfDber.Update(beltSampleCmd) > 0)
                {
                    // 我方已读
                    entity.DataFlag = 3;
                    this.EquDber.Update(entity);

                    res++;
                }
            }
            output(string.Format("同步控制命令 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal);
        }