示例#1
0
        private void CmdHandle(EquCYGCmd input)
        {
            Task task = new Task((state) =>
            {
                EquCYGCmd pCYGCmd = state as EquCYGCmd;
                OutputRunInfo(rtxtOutput, "处理命令,命令代码:" + pCYGCmd.CmdCode + "  编码:" + pCYGCmd.SampleCode);

                Thread.Sleep(5000);
                pCYGCmd.ResultCode = 1;
                pCYGCmd.FinishTime = DateTime.Now;
                pCYGCmd.DataFlag   = 1;
                this.EquDber.Update(pCYGCmd);
                OutputRunInfo(rtxtOutput, "取样成功,编码:" + pCYGCmd.SampleCode);
                EquCYGSample equcygsample = this.EquDber.Entity <EquCYGSample>(" where SampleCode='" + pCYGCmd.SampleCode + "'");
                if (equcygsample != null)
                {
                    equcygsample.SampleCode = "";
                    equcygsample.DataFlag   = 0;
                    this.EquDber.Update(equcygsample);
                }
                OutputRunInfo(rtxtOutput, "清理样柜成功,编码:" + pCYGCmd.SampleCode);
                autoResetEvent.Set();
            }, input);

            task.Start();
        }
        /// <summary>
        /// 连锁确定存样柜
        /// </summary>
        /// <param name="czplx"></param>
        /// <param name="yplx"></param>
        /// <returns></returns>
        private bool AutoCheckSentInfCYGBill(InfCYGControlCMDDetail cmcscygcontrolcmddetail, Action <string, eOutputType> output)
        {
            bool returnvalue = false;

            if (cmcscygcontrolcmddetail.Status == "正在处理")
            {
                EquCYGCmd    equcygcmd    = new EquCYGCmd();
                EquCYGSample equcygsample = this.EquDber.Entity <EquCYGSample>(" where SampleCode='" + cmcscygcontrolcmddetail.MakeCode + "'");
                if (equcygsample == null)
                {
                    cmcscygcontrolcmddetail.ResultCode = eEquInfCmdResultCode.默认.ToString();
                    cmcscygcontrolcmddetail.Status     = "处理完成";
                    cmcscygcontrolcmddetail.Errors     = "存样柜无此样:请处理!";
                    returnvalue = false;
                }
                else
                {
                    equcygcmd.MachineCode          = equcygsample.MachineCode;
                    equcygcmd.SampleCode           = cmcscygcontrolcmddetail.MakeCode;
                    cmcscygcontrolcmddetail.Status = "等待结果";
                    if (this.EquDber.Insert(equcygcmd) > 0 && Dbers.GetInstance().SelfDber.Update(cmcscygcontrolcmddetail) > 0)
                    {
                        returnvalue = true;
                        output(string.Format("成功发送命令等待结果" + cmcscygcontrolcmddetail.MakeCode), eOutputType.Normal);
                    }
                }
            }
            if (cmcscygcontrolcmddetail.Status == "等待结果")
            {
                EquCYGCmd equcygcmds = this.EquDber.Entity <EquCYGCmd>(String.Format(" where SampleCode='{0}' order by createdate desc", cmcscygcontrolcmddetail.MakeCode));
                if (equcygcmds.ResultCode == 1)
                {
                    cmcscygcontrolcmddetail.ResultCode = eEquInfCmdResultCode.默认.ToString();
                    cmcscygcontrolcmddetail.Status     = "处理完成";
                    Dbers.GetInstance().SelfDber.Update(cmcscygcontrolcmddetail);
                    output(string.Format("取样成功" + cmcscygcontrolcmddetail.MakeCode), eOutputType.Normal);
                }
                else if (equcygcmds.ResultCode == 2)
                {
                    cmcscygcontrolcmddetail.ResultCode = eEquInfCmdResultCode.默认.ToString();
                    cmcscygcontrolcmddetail.Status     = "处理完成";
                    cmcscygcontrolcmddetail.Errors     = "存样柜系统异常:请处理!";
                    Dbers.GetInstance().SelfDber.Update(cmcscygcontrolcmddetail);
                    output(string.Format("取样失败" + cmcscygcontrolcmddetail.MakeCode), eOutputType.Normal);
                }
                else if (DateTime.Now - equcygcmds.CreateDate > TimeSpan.FromMinutes(15))
                {
                    cmcscygcontrolcmddetail.ResultCode = eEquInfCmdResultCode.默认.ToString();
                    cmcscygcontrolcmddetail.Status     = "处理完成";
                    cmcscygcontrolcmddetail.Errors     = "存样柜超时异常:请处理!";
                    Dbers.GetInstance().SelfDber.Update(cmcscygcontrolcmddetail);
                    output(string.Format("取样失败" + cmcscygcontrolcmddetail.MakeCode), eOutputType.Normal);
                }
            }
            return(returnvalue);
        }
示例#3
0
 private void btnInsert_Click(object sender, EventArgs e)
 {
     try
     {
         EquCYGSample equcygsample = new EquCYGSample();
         equcygsample.SampleCode  = txtcode.Text;
         equcygsample.MachineCode = txtmechine.Text;
         equcygsample.DepositTime = DateTime.Now;
         equcygsample.DataFlag    = 0;
         equcygsample.SampleType  = txttype.Text;
         this.EquDber.Insert(equcygsample);
         OutputRunInfo(rtxtOutput, "处理命令,模拟手动发送站存入编码:" + equcygsample.SampleCode);
     }
     catch (Exception)
     {
         throw;
     }
     txtcode.Text = Guid.NewGuid().ToString().Substring(1, 8);
 }