Exemplo n.º 1
0
        /// <summary>
        /// 同步历史卸样结果
        /// </summary>
        /// <param name="output"></param>
        /// <param name="MachineCode"></param>
        public void SyncUnloadResult(Action <string, eOutputType> output)
        {
            int res = 0;

            res = 0;
            // 第三方 > 集中管控
            foreach (EquHCQSCYJUnloadResult entity in this.EquDber.Entities <EquHCQSCYJUnloadResult>("where DataFlag=0"))
            {
                InfBeltSamplerUnloadResult oldUnloadResult = commonDAO.SelfDber.Get <InfBeltSamplerUnloadResult>(entity.Id);
                if (oldUnloadResult == null)
                {
                    // 查找采样命令
                    EquHCQSCYJPlan qCJXCYJSampleCmd = this.EquDber.Entity <EquHCQSCYJPlan>("where SampleCode=@SampleCode", new { SampleCode = entity.SampleCode });
                    if (qCJXCYJSampleCmd != null)
                    {
                        // 生成采样桶记录
                        CmcsRCSampleBarrel rCSampleBarrel = new CmcsRCSampleBarrel()
                        {
                            //BarrelCode = entity.BarrelCode,
                            //BarrellingTime = entity.UnloadTime,
                            //BarrelNumber = entity.BarrelNumber,
                            //InFactoryBatchId = qCJXCYJSampleCmd.InFactoryBatchId,
                            //SamplerName = this.MachineCode,
                            //SampleType = eSamplingType.机械采样.ToString(),
                            //SamplingId = entity.SamplingId
                        };

                        if (commonDAO.SelfDber.Insert(rCSampleBarrel) > 0)
                        {
                            //if (commonDAO.SelfDber.Insert(new InfQCJXCYJUnloadResult
                            //{
                            //	MachineCode = this.MachineCode,
                            //	SampleCode = entity.SampleCode,
                            //	BarrelCode = entity.BarrelCode,
                            //	UnloadTime = entity.UnloadTime,
                            //	DataFlag = entity.DataFlag
                            //}) > 0)
                            {
                                entity.DataFlag = 1;
                                this.EquDber.Update(entity);

                                res++;
                            }
                        }
                    }
                }
            }
            output(string.Format("同步卸样结果 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 同步采样计划
        /// </summary>
        /// <param name="output"></param>
        /// <param name="MachineCode">设备编码</param>
        public void SyncSamplePlan(Action <string, eOutputType> output)
        {
            int res = 0;

            // 集中管控 > 第三方
            foreach (InfBeltSamplePlan entity in BeltSamplerDAO.GetInstance().GetWaitForSyncBeltSamplePlan(this.MachineCode))
            {
                bool isSuccess = false;
                // 需调整:命令中的水分等信息视接口而定
                EquHCQSCYJPlan samplecmdEqu = this.EquDber.Get <EquHCQSCYJPlan>(entity.Id);
                if (samplecmdEqu == null)
                {
                    isSuccess = this.EquDber.Insert(new EquHCQSCYJPlan
                    {
                        // 保持相同的Id
                        Id               = entity.Id,
                        SampleCode       = entity.SampleCode,
                        MachineCode      = this.MachineCode,
                        TrainCode        = entity.TrainCode,
                        InFactoryBatchId = entity.InFactoryBatchId,
                        TicketWeight     = entity.TicketWeight,
                        CarCount         = entity.CarCount,
                        Mt               = entity.Mt,
                        DataFlag         = 0
                    }) > 0;
                }
                else
                {
                    samplecmdEqu.SampleCode       = entity.SampleCode;
                    samplecmdEqu.MachineCode      = this.MachineCode;
                    samplecmdEqu.TrainCode        = entity.TrainCode;
                    samplecmdEqu.InFactoryBatchId = entity.InFactoryBatchId;
                    samplecmdEqu.TicketWeight     = entity.TicketWeight;
                    samplecmdEqu.CarCount         = entity.CarCount;
                    samplecmdEqu.Mt       = entity.Mt;
                    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 (EquHCQSCYJPlan entity in this.EquDber.Entities <EquHCQSCYJPlan>("where DataFlag=2 and datediff(dd,CreateDate,getdate())=0"))
            {
                InfBeltSamplePlan samplecmdInf = Dbers.GetInstance().SelfDber.Get <InfBeltSamplePlan>(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;
                samplecmdInf.StartTime  = entity.StartTime;
                samplecmdInf.EndTime    = entity.EndTime;
                samplecmdInf.SampleUser = entity.SampleUser;

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

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