/// <summary> /// 同步集样罐信息到集中管控 /// </summary> /// <param name="output"></param> /// <returns></returns> public void SyncBarrel(Action <string, eOutputType> output) { int res = 0; List <KY_CYJ_P_BARREL> infpdcybarrels = DcDbers.GetInstance().BeltSampler_Dber.Entities <KY_CYJ_P_BARREL>(); foreach (KY_CYJ_P_BARREL entity in infpdcybarrels) { if (commonDAO.SaveEquInfSampleBarrel(new InfEquInfSampleBarrel { BarrelNumber = entity.Barrel_Code, BarrelStatus = entity.Down_Full == 1 ? "已满" : "未满".ToString(), MachineCode = this.MachineCode, InterfaceType = GlobalVars.InterfaceType_PDCYJ, SampleCode = entity.Batch_Number, InFactoryBatchId = commonDAO.GetBatchIdBySampleCode(entity.Barrel_Code), SampleCount = entity.Down_Count, UpdateTime = entity.End_Time, BarrelType = "底卸式", })) { res++; } } output(string.Format("同步集样罐记录 {0} 条", res), eOutputType.Normal); }
/// <summary> /// 是否处于空闲状态 /// </summary> public bool CheckFree() { bool returnCheckFree = true; if (returnCheckFree) { if (DcDbers.GetInstance().PneumaticTransfer_Dber.Entities <EquQDBill>(" where DataStatus=0 or DataStatus=3").Count != 0) { returnCheckFree = false; } } if (returnCheckFree) { List <EquQDStatus> infqdstatuses = DcDbers.GetInstance().PneumaticTransfer_Dber.Entities <EquQDStatus>(""); if (infqdstatuses.Count != 0) { if (infqdstatuses[0].SamReady != 3) { returnCheckFree = false; } } else { returnCheckFree = false; } } return(returnCheckFree); }
private void button7_Click(object sender, EventArgs e) { List <EquQDStatus> infcygdataflags = DcDbers.GetInstance().PneumaticTransfer_Dber.Entities <EquQDStatus>(""); if (infcygdataflags.Count > 0) { if (((Button)sender).Text == "气动传输正常") { infcygdataflags[0].SamReady = 3; DcDbers.GetInstance().AutoCupboard_Dber.Execute("UPDATE QD_STATUS_TB SET SAMREADY=3"); ((Button)sender).Text = "气动传输异常"; } else { infcygdataflags[0].SamReady = 1; DcDbers.GetInstance().AutoCupboard_Dber.Execute("UPDATE QD_STATUS_TB SET SAMREADY=1"); ((Button)sender).Text = "气动传输正常"; } } else { if (((Button)sender).Text == "气动传输正常") { EquQDStatus infcygdataflag = new EquQDStatus(); infcygdataflag.SamReady = 3; DcDbers.GetInstance().AutoCupboard_Dber.Insert(infcygdataflag); } } }
private void button6_Click(object sender, EventArgs e) { List <EquCYGSignal> infcygdataflags = DcDbers.GetInstance().AutoCupboard_Dber.Entities <EquCYGSignal>(" where TagName='系统'"); if (infcygdataflags.Count > 0) { if (((Button)sender).Text == "智能存样柜系统正常") { infcygdataflags[0].TagValue = 3; DcDbers.GetInstance().AutoCupboard_Dber.Update(infcygdataflags[0]); ((Button)sender).Text = "智能存样柜系统异常"; } else { infcygdataflags[0].TagValue = 2; DcDbers.GetInstance().AutoCupboard_Dber.Update(infcygdataflags[0]); ((Button)sender).Text = "智能存样柜系统正常"; } } else { if (((Button)sender).Text == "智能存样柜系统正常") { EquCYGSignal infcygdataflag = new EquCYGSignal(); infcygdataflag.TagName = "系统"; infcygdataflag.TagValue = 3; DcDbers.GetInstance().AutoCupboard_Dber.Insert(infcygdataflag); } } }
private void button5_Click(object sender, EventArgs e) { List <EquCYGSignal> infcygdataflags = DcDbers.GetInstance().AutoCupboard_Dber.Entities <EquCYGSignal>(" where TagName='托盘到位'"); if (infcygdataflags.Count > 0) { if (((Button)sender).Text == "托盘到位") { infcygdataflags[0].TagValue = 1; infcygdataflags[0].UpdateTime = DateTime.Now; DcDbers.GetInstance().AutoCupboard_Dber.Update(infcygdataflags[0]); ((Button)sender).Text = "托盘未到位"; } else { infcygdataflags[0].TagValue = 0; DcDbers.GetInstance().AutoCupboard_Dber.Update(infcygdataflags[0]); ((Button)sender).Text = "托盘到位"; } } else { if (((Button)sender).Text == "托盘到位") { EquCYGSignal infcygdataflag = new EquCYGSignal(); infcygdataflag.TagName = "托盘到位"; infcygdataflag.TagValue = 1; DcDbers.GetInstance().AutoCupboard_Dber.Insert(infcygdataflag); } } }
private void btn_cyg(object sender, EventArgs e) { List <EquCYGBill> infcygbill = DcDbers.GetInstance().AutoCupboard_Dber.Entities <EquCYGBill>(" order by CZPFSSJ desc"); List <EquCYGBillRecord> infcygbillrecords = DcDbers.GetInstance().AutoCupboard_Dber.Entities <EquCYGBillRecord>(" where billid='" + infcygbill[0].Id + "'"); if (infcygbillrecords.Count == 0) { EquCYGBillRecord infcygbillrecord = new EquCYGBillRecord(); infcygbillrecord.BillId = infcygbill[0].Id; if (((Button)sender).Text.Contains("成功")) { infcygbillrecord.CZPJG = 1; } else { infcygbillrecord.CZPJG = 2; } DcDbers.GetInstance().AutoCupboard_Dber.Insert(infcygbillrecord); } else { if (((Button)sender).Text.Contains("成功")) { infcygbillrecords[0].CZPJG = 1; } else { infcygbillrecords[0].CZPJG = 2; } DcDbers.GetInstance().AutoCupboard_Dber.Update(infcygbillrecords[0]); } }
/// <summary> /// 插入车辆信息至翻车衡交互数据库 /// </summary> /// <param name="trunNumber"></param> /// <param name="transport"></param> public static bool InsertCarToTurnCarWeighter(string trunNumber, CmcsTransport transport) { if (transport != null && !string.IsNullOrEmpty(transport.InFactoryBatchId)) { CmcsRCSampling sampling = Dbers.GetInstance().SelfDber.Entity <CmcsRCSampling>("where InFactoryBatchId=:InFactoryBatchId and SamplingType not like '%抽查%' order by SamplingDate desc", new { InFactoryBatchId = transport.InFactoryBatchId }); if (sampling != null) { if (DcDbers.GetInstance().TurnCarWeighterMutualDber.Entity <CarInfoMutual>(" where TurnCarNumber='" + trunNumber + "' and CarNumber='" + transport.TransportNo + "' and DataFlag=0 ") == null) { DcDbers.GetInstance().TurnCarWeighterMutualDber.Execute(" update CarInfoMutual set DataFlag=1 where TurnCarNumber='" + trunNumber + "'"); return(DcDbers.GetInstance().TurnCarWeighterMutualDber.Insert(new CarInfoMutual() { TurnCarNumber = trunNumber, CarNumber = transport.TransportNo, SampleBillNumber = sampling.SampleCode, InFactoryDate = transport.InfactoryTime, TicketWeight = (double)transport.TicketQty, CreateDate = System.DateTime.Now, WeightDate = DateTime.Now, DataFlag = 0, CancelSign = 0 }) > 0); } } } return(false); }
/// <summary> /// 获取上位机运行状态表 - 心跳值 /// 每隔30s读取该值,如果数值不变化则表示设备上位机出现故障 /// </summary> /// <param name="MachineCode">设备编码</param> public void SyncHeartbeatSignal() { EquQCJXCYJSignal pDCYSignal = DcDbers.GetInstance().CarJXSampler_Dber.Entity <EquQCJXCYJSignal>("where TagName=:TagName", new { TagName = GlobalVars.EquHeartbeatName }); ChangeSystemHitchStatus((pDCYSignal != null && pDCYSignal.TagValue == this.PrevHeartbeat)); this.PrevHeartbeat = pDCYSignal != null ? pDCYSignal.TagValue : string.Empty; }
public void setheart(Action <string, eOutputType> output) { int res = DcDbers.GetInstance().AutoCupboard_Dber.Execute("UPDATE DATAFLAG SET DATAFLAG=DATAFLAG+1"); if (res > 0) { output("心跳传输成功", eOutputType.Normal); } }
/// <summary> /// 5号车号识别 /// </summary> /// <param name="carNumber">车号</param> /// <param name="carDate">时间</param> /// <param name="direction">方向</param> /// <param name="carmodel">车型</param> /// <returns></returns> public static bool CarSpot5Data(Action <string, eOutputType> output, CmcsTrainRecognition trainPass) { CmcsTransport transport = Dbers.GetInstance().SelfDber.Entity <CmcsTransport>("where TransportNo='" + trainPass.CarNumber + "' and InfactoryTime>=to_date('" + DateTime.Now.Date.AddDays(-1) + "','yyyy/mm/dd HH24:MI:SS') order by InfactoryTime desc"); if (transport == null) { return(false); } if (trainPass.Direction == "进厂" && transport.InfactoryTime > DateTime.MinValue) { if (trainPass.OrderNum == 2) //处理牵车太靠近 两节车都识别到车号 后面一节车顶掉前一节车 { try { CmcsTrainRecognition lastentity = Dbers.GetInstance().SelfDber.Entity <CmcsTrainRecognition>("where CrossTime=:CrossTime and OrderNum=1 and DataFlag=1 order by CrossTime", new { CrossTime = trainPass.CrossTime }); if (lastentity != null) { CarInfoMutual mutual = DcDbers.GetInstance().TurnCarWeighterMutualDber.Entity <CarInfoMutual>("where CarNumber=:CarNumber and CreateDate>=:CreateDate", new { CarNumber = lastentity.CarNumber, CreateDate = DateTime.Now.AddDays(-1) }); if (mutual == null || mutual.SuttleWeight == 0) { return(false); } } } catch (Exception ex) { output("处理连续车号:" + ex.Message, eOutputType.Error); } } CommonDAO.GetInstance().SetSignalDataValue(GlobalVars.MachineCode_TrunOver_2, eSignalDataName.当前车号.ToString(), trainPass.CarNumber); //插入车辆信息至翻车衡交互数据库 if (InsertCarToTurnCarWeighter("#2", transport)) { output(string.Format("向{0}插入一条数据", GlobalVars.MachineCode_TrunOver_2), eOutputType.Normal); } //更改翻车状态 if (TurnTransportPosition(trainPass.CarNumber)) { output(string.Format("{0}更改为已翻车", trainPass.CarNumber), eOutputType.Normal); } return(true); } else if (trainPass.Direction == "出厂") { CommonDAO.GetInstance().SetSignalDataValue(GlobalVars.MachineCode_TrunOver_2, eSignalDataName.当前车号.ToString(), string.Empty); //更改翻车状态 if (UnTurnTransportPosition(trainPass.CarNumber)) { output(string.Format("{0}更改为未翻车", trainPass.CarNumber), eOutputType.Normal); } return(true); } return(false); }
public int SyncTransport(Action <string, eOutputType> output) { int res = 0; IList <TransportOld> list = DcDbers.GetInstance().TruckWeight_Dber.Entities <TransportOld>("where IsToServer=0 and SuttleWeight>0"); foreach (TransportOld item in list) { CmcsBuyFuelTransport entity = CommonDAO.GetInstance().SelfDber.Get <CmcsBuyFuelTransport>(item.Id); if (entity == null) { entity = new CmcsBuyFuelTransport(); entity.Id = item.Id; entity.CreateDate = item.CreateDate; entity.OperDate = item.OperDate; entity.OperUser = item.OperUser; entity.CreateUser = item.CreateUser; entity.InFactoryTime = item.InFactoryTime; entity.GrossPlace = item.GrossPlace; entity.GrossTime = item.GrossTime; entity.GrossWeight = item.GrossWeight; entity.TarePlace = item.TarePlace; entity.TareTime = item.TareTime; entity.TareWeight = item.TareWeight; entity.SuttleWeight = item.SuttleWeight; entity.KsWeight = item.KsWeight; entity.KgWeight = item.KgWeight; entity.AutoKsWeight = item.AutoKsWeight; entity.CheckWeight = item.CheckWeight; entity.ProfitAndLossWeight = item.ProfitAndLossWeight; entity.OutFactoryTime = item.OutFactoryTime; entity.MineName = item.MineName; entity.AutotruckId = item.AutotruckId; entity.CarNumber = item.CarNumber; entity.TicketWeight = item.TicketWeight; entity.FuelKindId = item.FuelKindId; entity.FuelKindName = item.FuelKindName; entity.IsUse = item.IsUse; entity.IsFinish = item.IsFinish; entity.StepName = item.StepName; entity.InFactoryBatchId = item.InFactoryBatchId; entity.SerialNumber = item.SerialNumber; res += CommonDAO.GetInstance().SelfDber.Insert(entity); item.IsToServer = 1; DcDbers.GetInstance().TruckWeight_Dber.Update(item); } } output(string.Format("同步运输记录 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal); return(res); }
/// <summary> /// 同步历史卸样结果 /// </summary> /// <param name="output"></param> /// <param name="MachineCode"></param> public void SyncUnloadResult(Action <string, eOutputType> output) { int res = 0; res = 0; // 第三方 > 集中管控 foreach (EquQCJXCYJUnloadResult entity in DcDbers.GetInstance().CarJXSampler_Dber.Entities <EquQCJXCYJUnloadResult>("where DataFlag=0")) { InfQCJXCYJUnloadResult oldUnloadResult = commonDAO.SelfDber.Get <InfQCJXCYJUnloadResult>(entity.Id); if (oldUnloadResult == null) { // 查找采样命令 EquQCJXCYJSampleCmd qCJXCYJSampleCmd = DcDbers.GetInstance().CarJXSampler_Dber.Entity <EquQCJXCYJSampleCmd>("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 = commonDAO.GetMachineNameByCode(this.MachineCode), SampleType = eSamplingType.机械采样.ToString(), SamplingId = entity.SamplingId }; if (commonDAO.SelfDber.Insert(rCSampleBarrel) > 0) { if (commonDAO.SelfDber.Insert(new InfQCJXCYJUnloadResult { SampleCode = entity.SampleCode, BarrelCode = entity.BarrelCode, UnloadTime = entity.UnloadTime, DataFlag = entity.DataFlag }) > 0) { entity.DataFlag = 1; DcDbers.GetInstance().CarJXSampler_Dber.Update(entity); res++; } } } } } output(string.Format("同步卸样结果 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal); }
/// <summary> /// 默认为智能存样柜取到 /// </summary> /// <param name="opstart"></param> /// <param name="opend"></param> /// <returns></returns> bool SendSample(eOp opstart = eOp.自动存查样管理系统, eOp opend = eOp.化验室) { EquQDBill infqdbill = new EquQDBill(); infqdbill.OpStart = (int)opstart; infqdbill.OpEnd = (int)opend; infqdbill.Operator_Code = 501; infqdbill.Send_Time = DateTime.Now; infqdbill.DataStatus = 0; infqdbill.readState = 1; if (DcDbers.GetInstance().PneumaticTransfer_Dber.Insert(infqdbill) > 0) { return(true); } return(false); }
private void btn_qdcs(object sender, EventArgs e) { List <EquQDBill> infqdbill = DcDbers.GetInstance().PneumaticTransfer_Dber.Entities <EquQDBill>(" order by Send_Time desc"); if (((Button)sender).Text.Contains("成功")) { infqdbill[0].DataStatus = 1; } else { infqdbill[0].DataStatus = 2; } if (DcDbers.GetInstance().PneumaticTransfer_Dber.Execute("UPDATE QD_INTERFACE_TB SET DATASTATUS=" + infqdbill[0].DataStatus + " WHERE DATASTATUS=0") > 0) { tbQDCS.Text = ((Button)sender).Text; } }
/// <summary> /// 同步故障信息到集中管控 /// </summary> /// <param name="output"></param> /// <returns></returns> public void SyncQCJXCYJError(Action <string, eOutputType> output) { int res = 0; foreach (EquQCJXCYJError entity in DcDbers.GetInstance().CarJXSampler_Dber.Entities <EquQCJXCYJError>("where DataFlag=0")) { if (commonDAO.SaveEquInfHitch(this.MachineCode, entity.ErrorTime, "故障代码 " + entity.ErrorCode + "," + entity.ErrorDescribe)) { entity.DataFlag = 1; DcDbers.GetInstance().CarJXSampler_Dber.Update(entity); res++; } } output(string.Format("同步故障信息记录 {0} 条", res), eOutputType.Normal); }
/// <summary> /// 同步制样 故障信息到集中管控 /// </summary> /// <param name="output"></param> /// <returns></returns> public void SyncCYGError(Action <string, eOutputType> output) { int res = 0; foreach (EquQDError entity in DcDbers.GetInstance().PneumaticTransfer_Dber.Entities <EquQDError>("where DataStatus=0")) { if (CommonDAO.GetInstance().SaveEquInfHitch(MachineCode, entity.ErrorTime, entity.ErrorDec)) { entity.DataStatus = 1; DcDbers.GetInstance().PneumaticTransfer_Dber.Insert(entity); res++; } } output(string.Format("气动传输-同步故障信息记录 {0} 条", res), eOutputType.Normal); }
/// <summary> /// 同步采样计划_KY /// </summary> /// <param name="output"></param> /// <param name="MachineCode">设备编码</param> public void SyncSamplePlan_KY(Action <string, eOutputType> output) { int res = 0; // 集中管控 > 第三方 foreach (InfBeltSamplePlan_KY entity in Dbers.GetInstance().SelfDber.Entities <InfBeltSamplePlan_KY>("where SyncFlag=0")) { bool isSuccess = false; KY_CYJ_P_TurnOver turn = DcDbers.GetInstance().BeltSampler_Dber.Entity <KY_CYJ_P_TurnOver>("where CY_Code=@CY_Code and TurnCode=@TurnCode", new { CY_Code = entity.SampleCode, TurnCode = entity.MachineCode }); if (turn == null) { turn = new KY_CYJ_P_TurnOver(); turn.Send_Time = DateTime.Now; turn.CY_Code = entity.SampleCode; turn.DataFlag = 0; turn.Car_Count = entity.CarCount; turn.Ready_Count = 0; turn.IsDone = 0; turn.TurnCode = entity.MachineCode; isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Insert(turn) > 0; } else { turn.Send_Time = DateTime.Now; turn.CY_Code = entity.SampleCode; turn.DataFlag = 0; turn.Car_Count = entity.CarCount; turn.Ready_Count = 0; turn.IsDone = 0; turn.TurnCode = entity.MachineCode; isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Update(turn) > 0; } if (isSuccess) { entity.SyncFlag = 1; Dbers.GetInstance().SelfDber.Update(entity); res++; } } output(string.Format("同步采样计划 {0} 条(集中管控 > 第三方)", res), eOutputType.Normal); }
/// <summary> /// 同步翻车信息 /// </summary> /// <param name="output"></param> public void SyncTurn(Action <string, eOutputType> output) { int res = 0; foreach (KY_CYJ_P_TurnOver entity in DcDbers.GetInstance().BeltSampler_Dber.Entities <KY_CYJ_P_TurnOver>("where IsDone=0 order by Send_Time")) { entity.Ready_Count = commonDAO.GetRealyCarCountBySampleCode(entity.CY_Code); if (entity.Ready_Count == entity.Car_Count) { entity.IsDone = 1; } entity.DataFlag = 0; entity.Send_Time = DateTime.Now; res += DcDbers.GetInstance().BeltSampler_Dber.Update(entity); commonDAO.SetSignalDataValue(this.MachineCode, entity.TurnCode == "#1" ? "#1翻车机已翻车数" : "#2翻车机已翻车数", entity.Ready_Count.ToString()); } output(string.Format("同步翻车信息{0}条", res), eOutputType.Normal); }
///// <summary> ///// 同步采样计划明细 ///// </summary> ///// <param name="output"></param> ///// <param name="MachineCode">设备编码</param> //public void SyncSamplePlanDetail(Action<string, eOutputType> output) //{ // int res = 0; // // 集中管控 > 第三方 // foreach (InfBeltSamplePlanDetail entity in BeltSamplerDAO.GetInstance().GetWaitForSyncBeltSamplePlanDetail(this.MachineCode)) // { // bool isSuccess = false; // EquHCQSCYJPlanDetail samplecmdEqu = this.EquDber.Get<EquHCQSCYJPlanDetail>(entity.Id); // if (samplecmdEqu == null) // { // isSuccess = this.EquDber.Insert(new EquHCQSCYJPlanDetail // { // // 保持相同的Id // Id = entity.Id, // PlanId = entity.PlanId, // MachineCode = this.MachineCode, // CarNumber = entity.CarNumber, // CarModel = entity.CarModel.Substring(0, 3), // CyCount = entity.CyCount, // OrderNumber = entity.OrderNumber, // DataFlag = 0 // }) > 0; // } // else // { // samplecmdEqu.PlanId = entity.PlanId; // samplecmdEqu.MachineCode = this.MachineCode; // samplecmdEqu.CarNumber = entity.CarNumber; // samplecmdEqu.CarModel = entity.CarModel.Substring(0, 3); // samplecmdEqu.CyCount = entity.CyCount; // samplecmdEqu.OrderNumber = entity.OrderNumber; // //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 (EquHCQSCYJPlanDetail entity in this.EquDber.Entities<EquHCQSCYJPlanDetail>("where DataFlag=2 and datediff(dd,CreateDate,getdate())=0")) // { // InfBeltSamplePlanDetail samplecmdInf = Dbers.GetInstance().SelfDber.Get<InfBeltSamplePlanDetail>(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); //} ///// <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; // 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); //} ///// <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); //} /// <summary> /// 同步采样机其他命令 /// </summary> /// <param name="output"></param> /// <param name="MachineCode">设备编码</param> public void SyncSampleCmd(Action <string, eOutputType> output) { int res = 0; // 集中管控 > 第三方 foreach (InfBeltSampleCmd_KY entity in commonDAO.SelfDber.Entities <InfBeltSampleCmd_KY>(" Where SyncFlag='0'")) { bool isSuccess = false; KY_CYJ_P_CMD samplecmdEqu = DcDbers.GetInstance().BeltSampler_Dber.Entity <KY_CYJ_P_CMD>("where CMDId=@CMDId", new { CMDId = entity.Id }); if (samplecmdEqu == null) { isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Insert(new KY_CYJ_P_CMD { CMDId = entity.Id, MachineCode = MachineCodeToKY(entity.MachineCode), CmdCode = int.Parse(entity.CmdCode), ResultCode = 0, OperatorName = entity.OperatorName, SendDateTime = entity.SendDateTime, DataFlag = 0, }) > 0; } else { samplecmdEqu.MachineCode = MachineCodeToKY(entity.MachineCode); samplecmdEqu.CmdCode = int.Parse(entity.CmdCode); samplecmdEqu.ResultCode = 0; samplecmdEqu.OperatorName = entity.OperatorName; samplecmdEqu.SendDateTime = entity.SendDateTime; samplecmdEqu.DataFlag = 0; isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Update(samplecmdEqu) > 0; } if (isSuccess) { entity.SyncFlag = 1; Dbers.GetInstance().SelfDber.Update(entity); res++; } } output(string.Format("同步其他采样命令 {0} 条(集中管控 > 第三方)", res), eOutputType.Normal); }
/// <summary> /// 同步故障信息到集中管控 /// </summary> /// <param name="output"></param> /// <returns></returns> public void SyncError(Action <string, eOutputType> output) { int res = 0; foreach (KY_CYJ_P_Alarm entity in DcDbers.GetInstance().BeltSampler_Dber.Entities <KY_CYJ_P_Alarm>("where DateDiff(dd,AlarmDateTime,getdate())<=7")) { InfEquInfHitch infEquInfHitch = Dbers.GetInstance().SelfDber.Entity <InfEquInfHitch>("where HitchTime=:HitchTime and HitchDescribe=:HitchDescribe", new { HitchTime = entity.AlarmDateTime, HitchDescribe = entity.VarComment }); if (infEquInfHitch == null) { if (commonDAO.SaveEquInfHitch(entity.VarName.Contains("A侧") ? GlobalVars.MachineCode_PDCYJ_1 : GlobalVars.MachineCode_PDCYJ_2, entity.AlarmDateTime, entity.VarComment)) { //entity.DataFlag = 1; //this.EquDber.Update(entity); res++; } } } output(string.Format("同步故障信息记录 {0} 条", res), eOutputType.Normal); }
/// <summary> /// 同步实时信号到集中管控 /// </summary> /// <param name="output"></param> /// <param name="MachineCode">设备编码</param> /// <returns></returns> public int SyncSignal(Action <string, eOutputType> output) { int res = 0; foreach (KY_CYJ_P_STATE state in DcDbers.GetInstance().BeltSampler_Dber.Entities <KY_CYJ_P_STATE>()) { eEquInfBeltSamplerSystemStatus system = eEquInfBeltSamplerSystemStatus.等待采样; Enum.TryParse <eEquInfBeltSamplerSystemStatus>(state.CY_State, out system); res += commonDAO.SetSignalDataValue(KYToMachineCode(state.CYJ_Machine), eSignalDataName.设备状态.ToString(), system.ToString()) ? 1 : 0; eEquInfBeltSamplerUnloadStatus systemXL = eEquInfBeltSamplerUnloadStatus.默认; Enum.TryParse <eEquInfBeltSamplerSystemStatus>(state.XL_State, out system); res += commonDAO.SetSignalDataValue(KYToMachineCode(state.CYJ_Machine), eSignalDataName.卸料机状态.ToString(), systemXL.ToString()) ? 1 : 0; } //foreach (EquSignalData item in DcDbers.GetInstance().BeltSampler_Dber.Entities<EquSignalData>()) //{ //} output(string.Format("同步实时信号 {0} 条", res), eOutputType.Normal); return(res); }
/// <summary> /// 从汽车衡同步运输记录信息 并生成批次 采制化 /// </summary> /// <param name="output"></param> public void SyncBuyFulTransportFromQCH(Action <string, eOutputType> output) { int res = 0; List <CmcsBuyFuelTransport> list = DcDbers.GetInstance().TruckWeight_Dber.Entities <CmcsBuyFuelTransport>("where IsSynch=0 order by CreateDate desc"); foreach (CmcsBuyFuelTransport transport in list) { if (transport.InFactoryTime.Date < transport.GrossTime.Date) { transport.InFactoryTime = transport.GrossTime; } // 生成批次以及采制化三级编码数据 CmcsInFactoryBatch inFactoryBatch = CarTransportDAO.GetInstance().GCQCInFactoryBatchByBuyFuelTransport(transport); CmcsBuyFuelTransport old = commonDAO.SelfDber.Get <CmcsBuyFuelTransport>(transport.Id); if (old == null) { res += commonDAO.SelfDber.Insert(transport); } else { transport.SamplePlace = old.SamplePlace; transport.SamplingId = old.SamplingId; transport.SamplingTime = old.SamplingTime; transport.SamplingType = old.SamplingType; transport.UnLoadArea = old.UnLoadArea; transport.UploadTime = old.UploadTime; transport.IsSynch = 1; res += commonDAO.SelfDber.Update(transport); } transport.IsSynch = 1; DcDbers.GetInstance().TruckWeight_Dber.Update(transport); } output(string.Format("同步汽车衡运输记录 {0} 条", res), eOutputType.Normal); }
/// <summary> /// 同步采样命令 /// </summary> /// <param name="output"></param> /// <param name="MachineCode">设备编码</param> public void SyncSampleCmd(Action <string, eOutputType> output) { int res = 0; // 集中管控 > 第三方 foreach (InfQCJXCYSampleCMD entity in CarSamplerDAO.GetInstance().GetWaitForSyncSampleCMD(this.MachineCode)) { bool isSuccess = false; List <Interface_Data> list = DcDbers.GetInstance().CarJXSampler_Dber.Entities <Interface_Data>("where Sampler_No=:Sampler_No", new { Sampler_No = this.MachineCode == GlobalVars.MachineCode_QCJXCYJ_1 ? "CY01" : "CY02" }); if (list.Count > 0) { foreach (var item in list) { DcDbers.GetInstance().CarJXSampler_Dber.Delete <Interface_Data>(item.Interface_Id); } } Interface_Data samplecmdEqu = DcDbers.GetInstance().CarJXSampler_Dber.Get <Interface_Data>(entity.Id); if (samplecmdEqu == null) { isSuccess = DcDbers.GetInstance().CarJXSampler_Dber.Insert(new Interface_Data { // 保持相同的Id Interface_Id = entity.Id, Sampler_No = this.MachineCode == GlobalVars.MachineCode_QCJXCYJ_1 ? "CY01" : "CY02", Weighing_Id = entity.SerialNumber, Car_Mark = entity.CarNumber, Mine_Name = entity.SampleCode, Point_Count = entity.PointCount, Car_Length = entity.CarriageLength, Car_Width = entity.CarriageWidth, Car_Height = entity.CarriageHeight, Chassis_Height = entity.CarriageBottomToFloor, Tie_Rod_Place1 = entity.Obstacle1, Tie_Rod_Place2 = entity.Obstacle2, Tie_Rod_Place3 = entity.Obstacle3, Tie_Rod_Place4 = entity.Obstacle4, Tie_Rod_Place5 = entity.Obstacle5, Tie_Rod_Place6 = entity.Obstacle6, Sample_Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Data_Status = 1 }) > 0; } else { samplecmdEqu.Car_Mark = entity.CarNumber; samplecmdEqu.Weighing_Id = entity.SerialNumber; samplecmdEqu.Mine_Name = entity.SampleCode; samplecmdEqu.Point_Count = entity.PointCount; samplecmdEqu.Car_Length = entity.CarriageLength; samplecmdEqu.Car_Width = entity.CarriageWidth; samplecmdEqu.Car_Height = entity.CarriageHeight; samplecmdEqu.Chassis_Height = entity.CarriageBottomToFloor; samplecmdEqu.Tie_Rod_Place1 = entity.Obstacle1; samplecmdEqu.Tie_Rod_Place2 = entity.Obstacle2; samplecmdEqu.Tie_Rod_Place3 = entity.Obstacle3; samplecmdEqu.Tie_Rod_Place4 = entity.Obstacle4; samplecmdEqu.Tie_Rod_Place5 = entity.Obstacle5; samplecmdEqu.Tie_Rod_Place6 = entity.Obstacle6; samplecmdEqu.Sample_Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); samplecmdEqu.Data_Status = 1; isSuccess = DcDbers.GetInstance().CarJXSampler_Dber.Update(samplecmdEqu) > 0; } if (isSuccess) { commonDAO.SetSignalDataValue(this.MachineCode, eSignalDataName.采样编码.ToString(), entity.SampleCode); entity.SyncFlag = 1; Dbers.GetInstance().SelfDber.Update(entity); res++; } output(string.Format("同步采样计划 {0} 条(集中管控 > 第三方)", res), eOutputType.Normal); } res = 0; // 第三方 > 集中管控 foreach (InfQCJXCYSampleCMD item in commonDAO.SelfDber.Entities <InfQCJXCYSampleCMD>("where ResultCode='默认' and MachineCode=:MachineCode order by CreationTime ", new { MachineCode = this.MachineCode })) { Interface_Data entity = DcDbers.GetInstance().CarJXSampler_Dber.Entity <Interface_Data>("where Interface_Id=:Interface_Id", new { Interface_Id = item.Id }); if (entity != null) { if (entity.Data_Status == 2) { item.StartTime = Convert.ToDateTime(entity.Sample_Time); item.ResultCode = eEquInfCmdResultCode.成功.ToString(); } else if (entity.Data_Status == 4) { item.ResultCode = "定位错误"; } else if (entity.Data_Status == 5) { item.ResultCode = "系统故障"; } if (Dbers.GetInstance().SelfDber.Update(item) > 0) { commonDAO.SetSignalDataValue(this.MachineCode, eSignalDataName.采样编码.ToString(), string.Empty); res++; } output(string.Format("同步采样计划 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal); } } //foreach (Interface_Data entity in DcDbers.GetInstance().CarJXSampler_Dber.Entities<Interface_Data>("where Data_Status=2 order by Sample_Time desc")) //{ // InfQCJXCYSampleCMD samplecmdInf = Dbers.GetInstance().SelfDber.Get<InfQCJXCYSampleCMD>(entity.Interface_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.Sample_Time; // //samplecmdInf.EndTime = entity.EndTime; // //samplecmdInf.SampleUser = entity.SampleUser; // samplecmdInf.ResultCode = eEquInfCmdResultCode.成功.ToString(); // if (Dbers.GetInstance().SelfDber.Update(samplecmdInf) > 0) // { // // 我方已读 // //entity.DataFlag = 3; // //this.EquDber.Update(entity); // res++; // } //} //output(string.Format("同步采样计划 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal); }
/// <summary> /// 同步存样柜信息 /// </summary> /// <param name="output"></param> /// <returns></returns> public int SyncCYGInfo(Action <string, eOutputType> output) { int res = 0; foreach (EquCYG item in DcDbers.GetInstance().AutoCupboard_Dber.Entities <EquCYG>()) { string pkid = item.YGId.ToString(); string CupBoardType = item.YGLX; if (item.YGLX == "432") { CupBoardType = "制样室样柜"; } else if (item.YGLX == "433") { CupBoardType = "化验室样柜"; } else if (item.YGLX == "646") { CupBoardType = "原煤样样柜"; } int State = 0; if (item.ZT == 435) { State = 1; } else if (item.ZT == 436) { State = 0; } int row = 0, cell = 0; if (item.YGBM.Length == 9) { string ms = item.WZMS.Replace("层", "").Replace("格", ""); int number = int.Parse(ms.Remove(0, 2)); if (CupBoardType == "原煤样样柜") { row = number % 4; cell = number / 4 + 1; if (row == 0) { row = 4; cell = number / 4; } } else { row = number % 10; cell = number / 10 + 1; if (row == 0) { row = 10; cell = number / 10; } } } InfAutoCupBoard entity = commonDAO.SelfDber.Entity <InfAutoCupBoard>(" where PKID=:PKID", new { PKID = pkid }); EquCYGDetail detail = DcDbers.GetInstance().AutoCupboard_Dber.Entity <EquCYGDetail>("where YGID=@YGID and ZT=438 order by CYSJ desc", new { YGID = item.YGId }); if (entity == null) { entity = new InfAutoCupBoard(); entity.CupBoardCode = item.YGBM; entity.CupBoardType = CupBoardType; entity.CupBoardDes = item.WZMS; entity.State = State; entity.IsValid = item.Is_Valid; entity.PKID = pkid; entity.ParentPKID = item.Parent_YGID; entity.RowNumber = row; entity.CellNumber = cell; entity.CupNumber = item.Num_Url; if (detail != null) { entity.SaveTime = detail.CYSJ; } res += commonDAO.SelfDber.Insert(entity); } else { entity.CupBoardCode = item.YGBM; entity.CupBoardType = CupBoardType; entity.CupBoardDes = item.WZMS; entity.State = State; entity.IsValid = item.Is_Valid; entity.RowNumber = row; entity.CellNumber = cell; entity.CupNumber = item.Num_Url; entity.ParentPKID = item.Parent_YGID; if (detail != null) { entity.SaveTime = detail.CYSJ; } res += commonDAO.SelfDber.Update(entity); } } output(string.Format("同步存样柜数据 {0} 条", res), eOutputType.Normal); return(res); }
/// <summary> /// 同步翻车衡过衡数据 /// </summary> /// <param name="output"></param> /// <returns></returns> public int SyncLwCarsInfo(Action <string, eOutputType> output) { int res = 0; IList <CarInfoMutual> carInfos = DcDbers.GetInstance().TurnCarWeighterMutualDber.Entities <CarInfoMutual>(" where DataFlag=1 and SuttleWeight>0 and CreateDate>=to_date('" + DateTime.Now.Date.AddDays(-2) + "','yyyy/mm/dd HH24:MI:SS')"); foreach (var item in carInfos) { //同步到批次明细 CmcsTransport transport = Dbers.GetInstance().SelfDber.Entity <CmcsTransport>(" where TransportNo=:TransportNo and InfactoryTime>=:InfactoryTime ", new { TransportNo = item.CarNumber, InfactoryTime = DateTime.Now.Date.AddDays(-2) }); if (transport != null && !string.IsNullOrEmpty(transport.InFactoryBatchId)) { if (item.GrossWeight != 0 && transport.GrossQty == 0) { transport.GrossQty = (decimal)item.GrossWeight; } if (item.TareWeight != 0 && transport.SkinQty == 0) { transport.SkinQty = (decimal)item.TareWeight; } if (item.SuttleWeight != 0 && transport.SuttleQty == 0) { transport.SuttleQty = (decimal)item.SuttleWeight; transport.MarginQty = (decimal)(item.SuttleWeight - item.TicketWeight); } transport.MeasureMan = "自动"; transport.IsDeleted = item.CancelSign; transport.ArriveDate = item.WeightDate; transport.TareDate = item.WeightDate.AddMinutes(3).AddSeconds(1.2); transport.TrackCode = item.TurnCarNumber == "#1" ? "#4" : "#2"; if (item.TurnCarNumber == "#1") { CommonDAO.GetInstance().SetSignalDataValue(GlobalVars.MachineCode_TrunOver_1, eSignalDataName.当前车号.ToString(), string.Empty); } else { CommonDAO.GetInstance().SetSignalDataValue(GlobalVars.MachineCode_TrunOver_2, eSignalDataName.当前车号.ToString(), string.Empty); } res += Dbers.GetInstance().SelfDber.Update(transport); //同步到轨道衡数据表 CmcsTrainWeightRecord trainRecord = Dbers.GetInstance().SelfDber.Entity <CmcsTrainWeightRecord>("where TrainNumber=:TrainNumber and ArriveTime>=:ArriveTime", new { TrainNumber = item.CarNumber, ArriveTime = DateTime.Now.Date.AddDays(-2) }); CmcsRCSampling sampling = Dbers.GetInstance().SelfDber.Entity <CmcsRCSampling>("where InFactoryBatchId=:InFactoryBatchId order by SamplingDate", new { InFactoryBatchId = transport.InFactoryBatchId }); if (trainRecord != null) { trainRecord.TrainTipperMachineCode = item.TurnCarNumber; trainRecord.FuelKind = transport.TheBatch.FuelKindName; trainRecord.MineName = sampling != null ? sampling.SampleCode : ""; trainRecord.SupplierName = ""; trainRecord.StationName = transport.TheBatch.TheStation.Name; trainRecord.SerialNumber = item.RecordId; trainRecord.TicketWeight = (decimal)item.TicketWeight; trainRecord.GrossTime = item.WeightDate; trainRecord.GrossWeight = (decimal)item.GrossWeight; trainRecord.SkinTime = item.WeightDate.AddMinutes(3).AddSeconds(1.2); trainRecord.SkinWeight = (decimal)item.TareWeight; trainRecord.StandardWeight = (decimal)item.SuttleWeight; trainRecord.MarginWeight = trainRecord.StandardWeight - trainRecord.TicketWeight - trainRecord.DeductWeight; trainRecord.MesureMan = "自动"; trainRecord.TrainTipperMachineCode = item.TurnCarNumber; trainRecord.MachineCode = item.TurnCarNumber == "#1" ? "#4" : "#2"; trainRecord.IsTurnover = "已翻"; trainRecord.UnloadTime = item.WeightDate; Dbers.GetInstance().SelfDber.Update(trainRecord); } } item.DataFlag = 2; DcDbers.GetInstance().TurnCarWeighterMutualDber.Update(item); } output(string.Format("同步翻车衡数据 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal); return(res); }
/// <summary> /// 同步轨道衡过衡数据,并在火车出厂后将皮重回写 /// </summary> /// <param name="output"></param> /// <returns></returns> public int SyncLwCarsInfo(Action <string, eOutputType> output) { int res = 0; DataTable result = getData(DcDbers.GetInstance().WeightBridger_Dber1); foreach (DataRow row in result.Rows) { string pKId = getDateTime(row["时间"].ToString()) + "-" + row["车号"].ToString(); //时间+车号组装成唯一标识 CmcsTrainWeightRecord trainWeightRecord = Dbers.GetInstance().SelfDber.Entity <CmcsTrainWeightRecord>("where PKID=:PKID", new { PKID = pKId }); if (trainWeightRecord == null) { res += Dbers.GetInstance().SelfDber.Insert <CmcsTrainWeightRecord>( new CmcsTrainWeightRecord { PKID = pKId, OrderNumber = Convert.ToInt32(row["序号"].ToString()), SupplierName = row["供煤单位"].ToString(), MineName = row["矿点"].ToString(), FuelKind = row["煤种"].ToString(), StationName = row["发站"].ToString(), MachineCode = row["设备编号"].ToString(), TrainNumber = row["车号"].ToString(), TrainType = row["车型"].ToString(), TicketWeight = Convert.ToDecimal(row["票重"]), GrossWeight = Convert.ToDecimal(row["毛重"]), SkinWeight = Convert.ToDecimal(row["皮重"]), StandardWeight = Convert.ToDecimal(row["净重"]), Speed = Convert.ToDecimal(row["车速"]), MesureMan = row["过衡人"].ToString(), ArriveTime = Convert.ToDateTime(getDateTime(row["入厂时间"].ToString())), GrossTime = Convert.ToDateTime(getDateTime(row["毛重时间"].ToString())), SkinTime = Convert.ToDateTime(getDateTime(row["皮重时间"].ToString())), LeaveTime = Convert.ToDateTime(getDateTime(row["出厂时间"].ToString())), UnloadTime = Convert.ToDateTime(getDateTime(row["卸车时间"].ToString())), TrainTipperMachineCode = row["翻车机编号"].ToString(), IsTurnover = row["翻车标识"].ToString(), DataFlag = 0 } ); } else { trainWeightRecord.OrderNumber = Convert.ToInt32(row["序号"].ToString()); if (!String.IsNullOrEmpty(row["车号"].ToString())) { trainWeightRecord.TrainNumber = row["车号"].ToString(); } trainWeightRecord.SupplierName = row["供煤单位"].ToString(); trainWeightRecord.MineName = row["矿点"].ToString(); trainWeightRecord.FuelKind = row["煤种"].ToString(); trainWeightRecord.StationName = row["发站"].ToString(); trainWeightRecord.MachineCode = row["设备编号"].ToString(); trainWeightRecord.TrainType = row["车型"].ToString(); trainWeightRecord.TicketWeight = Convert.ToDecimal(row["票重"]); trainWeightRecord.GrossWeight = Convert.ToDecimal(row["毛重"]); trainWeightRecord.SkinWeight = Convert.ToDecimal(row["皮重"]); trainWeightRecord.StandardWeight = Convert.ToDecimal(row["净重"]); trainWeightRecord.Speed = Convert.ToDecimal(row["车速"]); trainWeightRecord.MesureMan = row["过衡人"].ToString(); trainWeightRecord.ArriveTime = Convert.ToDateTime(getDateTime(row["入厂时间"].ToString())); trainWeightRecord.GrossTime = Convert.ToDateTime(getDateTime(row["毛重时间"].ToString())); trainWeightRecord.SkinTime = Convert.ToDateTime(getDateTime(row["皮重时间"].ToString())); trainWeightRecord.LeaveTime = Convert.ToDateTime(getDateTime(row["出厂时间"].ToString())); trainWeightRecord.UnloadTime = Convert.ToDateTime(getDateTime(row["卸车时间"].ToString())); trainWeightRecord.TrainTipperMachineCode = row["翻车机编号"].ToString(); trainWeightRecord.IsTurnover = row["翻车标识"].ToString(); trainWeightRecord.DataFlag = 0; res += Dbers.GetInstance().SelfDber.Update <CmcsTrainWeightRecord>(trainWeightRecord); } if (res > 0 && String.IsNullOrEmpty(row["车号"].ToString())) { CommonDAO.GetInstance().SaveSysMessage(eMessageType.轨道衡.ToString(), "车号为空请补录!", eMessageType.轨道衡.ToString()); } } output(string.Format("同步轨道衡数据 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal); return(res); }
///// <summary> ///// 同步故障信息到集中管控 ///// </summary> ///// <param name="output"></param> ///// <returns></returns> //public void SyncQCJXCYJError(Action<string, eOutputType> output) //{ // int res = 0; // foreach (EquHCQSCYJError entity in this.EquDber.Entities<EquHCQSCYJError>("where DataFlag=0")) // { // if (commonDAO.SaveEquInfHitch(this.MachineCode, entity.ErrorTime, "故障代码 " + entity.ErrorCode + "," + entity.ErrorDescribe)) // { // entity.DataFlag = 1; // this.EquDber.Update(entity); // res++; // } // } // output(string.Format("同步故障信息记录 {0} 条", res), eOutputType.Normal); //} /// <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; // 需调整:命令中的水分等信息视接口而定 KY_CYJ_P_OUTRUN samplecmdEqu = DcDbers.GetInstance().BeltSampler_Dber.Entity <KY_CYJ_P_OUTRUN>("where CY_Code=@CY_Code and CYJ_Machine=@CYJ_Machine", new { CYJ_Machine = MachineCodeToKY(this.MachineCode), CY_Code = entity.SampleCode }); if (samplecmdEqu == null) { // isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Insert(new KY_CYJ_P_OUTRUN // { // CYJ_Machine = MachineCodeToKY(this.MachineCode), // CY_Code = entity.SampleCode, // Send_Time = DateTime.Now, // CY_Flag = 0, // Stop_Flag = 0, // TurnCode = this.MachineCode.Contains("A") ? "#1" : "#2", // Car_Count= commonDAO.GetGDHCarCountBySampleCode(this.MachineCode.Contains("A") ? "#1" : "#2", entity.SampleCode) //}) > 0; KY_CYJ_P_OUTRUN outrun = new KY_CYJ_P_OUTRUN(); outrun.CYJ_Machine = MachineCodeToKY(this.MachineCode); outrun.CY_Code = entity.SampleCode; outrun.Send_Time = DateTime.Now; outrun.CY_Flag = 0; outrun.Stop_Flag = 0; outrun.TurnCode = this.MachineCode.Contains("A") ? "#1" : "#2"; outrun.Car_Count = commonDAO.GetGDHCarCountBySampleCode(this.MachineCode.Contains("A") ? "#1" : "#2", entity.SampleCode); isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Insert(outrun) > 0; commonDAO.SetSignalDataValue(this.MachineCode, "轨道车数", outrun.Car_Count.ToString()); KY_CYJ_P_TurnOver turn = DcDbers.GetInstance().BeltSampler_Dber.Entity <KY_CYJ_P_TurnOver>("where CY_Code=@CY_Code", new { CY_Code = entity.SampleCode }); if (turn == null) { turn = new KY_CYJ_P_TurnOver(); turn.Send_Time = DateTime.Now; turn.CY_Code = entity.SampleCode; turn.DataFlag = 0; turn.Car_Count = commonDAO.GetCarCountBySampleCode(entity.SampleCode); turn.Ready_Count = commonDAO.GetRealyCarCountBySampleCode(entity.SampleCode); turn.IsDone = 0; turn.TurnCode = this.MachineCode.Contains("A") ? "#1" : "#2"; DcDbers.GetInstance().BeltSampler_Dber.Insert(turn); commonDAO.SetSignalDataValue(this.MachineCode, turn.TurnCode == "#1" ? "#1翻车机车数" : "#2翻车机车数", turn.Car_Count.ToString()); } } else { samplecmdEqu.CYJ_Machine = MachineCodeToKY(this.MachineCode); samplecmdEqu.CY_Code = entity.SampleCode; samplecmdEqu.Send_Time = DateTime.Now; samplecmdEqu.CY_Flag = 0; samplecmdEqu.Stop_Flag = 0; samplecmdEqu.TurnCode = this.MachineCode.Contains("A") ? "#1" : "#2"; samplecmdEqu.Car_Count = commonDAO.GetGDHCarCountBySampleCode(this.MachineCode.Contains("A") ? "#1" : "#2", entity.SampleCode); isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Update(samplecmdEqu) > 0; commonDAO.SetSignalDataValue(this.MachineCode, "轨道车数", samplecmdEqu.Car_Count.ToString()); } if (isSuccess) { entity.SyncFlag = 1; Dbers.GetInstance().SelfDber.Update(entity); res++; } } output(string.Format("同步采样计划 {0} 条(集中管控 > 第三方)", res), eOutputType.Normal); //// 集中管控 > 第三方 //foreach (InfBeltSamplePlan entity in BeltSamplerDAO.GetInstance().GetWaitForSyncBeltSamplePlan(this.MachineCode)) //{ // bool isSuccess = false; // // 需调整:命令中的水分等信息视接口而定 // KY_CYJ_P_OUTRUN samplecmdEqu = DcDbers.GetInstance().BeltSampler_Dber.Entity<KY_CYJ_P_OUTRUN>("where CY_Code=@CY_Code and CYJ_Machine=@CYJ_Machine", new { CYJ_Machine = MachineCodeToKY(this.MachineCode), CY_Code = entity.SampleCode }); // if (samplecmdEqu == null) // { // // isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Insert(new KY_CYJ_P_OUTRUN // // { // // CYJ_Machine = MachineCodeToKY(this.MachineCode), // // CY_Code = entity.SampleCode, // // Send_Time = DateTime.Now, // // CY_Flag = 0, // // Stop_Flag = 0, // // TurnCode = this.MachineCode.Contains("A") ? "#1" : "#2", // // Car_Count= commonDAO.GetGDHCarCountBySampleCode(this.MachineCode.Contains("A") ? "#1" : "#2", entity.SampleCode) // //}) > 0; // KY_CYJ_P_OUTRUN outrun = new KY_CYJ_P_OUTRUN(); // outrun.CYJ_Machine = MachineCodeToKY(this.MachineCode); // outrun.CY_Code = entity.SampleCode; // outrun.Send_Time = DateTime.Now; // outrun.CY_Flag = 0; // outrun.Stop_Flag = 0; // outrun.TurnCode = this.MachineCode.Contains("A") ? "#1" : "#2"; // outrun.Car_Count = commonDAO.GetGDHCarCountBySampleCode(this.MachineCode.Contains("A") ? "#1" : "#2", entity.SampleCode); // isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Insert(outrun)>0; // commonDAO.SetSignalDataValue(this.MachineCode,"轨道车数", outrun.Car_Count.ToString()); // KY_CYJ_P_TurnOver turn = DcDbers.GetInstance().BeltSampler_Dber.Entity<KY_CYJ_P_TurnOver>("where CY_Code=@CY_Code", new { CY_Code = entity.SampleCode }); // if (turn == null) // { // turn = new KY_CYJ_P_TurnOver(); // turn.Send_Time = DateTime.Now; // turn.CY_Code = entity.SampleCode; // turn.DataFlag = 0; // turn.Car_Count = commonDAO.GetCarCountBySampleCode(entity.SampleCode); // turn.Ready_Count = commonDAO.GetRealyCarCountBySampleCode(entity.SampleCode); // turn.IsDone = 0; // turn.TurnCode = this.MachineCode.Contains("A") ? "#1" : "#2"; // DcDbers.GetInstance().BeltSampler_Dber.Insert(turn); // commonDAO.SetSignalDataValue(this.MachineCode, turn.TurnCode == "#1" ? "#1翻车机车数" : "#2翻车机车数", turn.Car_Count.ToString()); // } // } // else // { // samplecmdEqu.CYJ_Machine = MachineCodeToKY(this.MachineCode); // samplecmdEqu.CY_Code = entity.SampleCode; // samplecmdEqu.Send_Time = DateTime.Now; // samplecmdEqu.CY_Flag = 0; // samplecmdEqu.Stop_Flag = 0; // samplecmdEqu.TurnCode = this.MachineCode.Contains("A") ? "#1" : "#2"; // samplecmdEqu.Car_Count = commonDAO.GetGDHCarCountBySampleCode(this.MachineCode.Contains("A") ? "#1" : "#2", entity.SampleCode); // isSuccess = DcDbers.GetInstance().BeltSampler_Dber.Update(samplecmdEqu) > 0; // commonDAO.SetSignalDataValue(this.MachineCode, "轨道车数", samplecmdEqu.Car_Count.ToString()); // } // if (isSuccess) // { // entity.SyncFlag = 1; // Dbers.GetInstance().SelfDber.Update(entity); // res++; // } //} //output(string.Format("同步采样计划 {0} 条(集中管控 > 第三方)", res), eOutputType.Normal); }
/// <summary> /// 同步历史卸样结果 /// </summary> /// <param name="output"></param> /// <param name="MachineCode"></param> public void SyncUnloadResult(Action <string, eOutputType> output) { int res = 0; res = 0; // 第三方 > 集中管控 foreach (KY_CYJ_P_BARREL entity in DcDbers.GetInstance().BeltSampler_Dber.Entities <KY_CYJ_P_BARREL>("where DateDiff(dd,EditDate,getdate())<=7")) { // 查找采样命令 CmcsRCSampling sampling = commonDAO.SelfDber.Entity <CmcsRCSampling>("where SampleCode=:SampleCode", new { SampleCode = entity.Barrel_Name }); if (sampling != null) { CmcsRCSampleBarrel cmcsRCSampleBarrel = commonDAO.SelfDber.Entity <CmcsRCSampleBarrel>("where BarrelNumber='" + entity.Barrel_Name + "' and to_char(BarrellingTime,'yyyy-mm-dd hh24:mi:ss')= '" + entity.EditDate.ToString("yyyy-MM-dd HH:mm:ss") + "' and SamplerName = '" + KYToMachineCode(entity.CYJ_Machine) + "'"); if (cmcsRCSampleBarrel == null) { // 生成采样桶记录 CmcsRCSampleBarrel rCSampleBarrel = new CmcsRCSampleBarrel() { SamplingId = sampling.Id, BarrellingTime = entity.EditDate, BarrelNumber = entity.Barrel_Name, SamplerName = KYToMachineCode(entity.CYJ_Machine), SampleType = eSamplingType.机械采样.ToString(), //SampleCount = barrel.SampleCount, SampleWeight = entity.Barrel_Weight, BarrelCode = entity.Barrel_Code }; commonDAO.SelfDber.Insert(rCSampleBarrel); } else { cmcsRCSampleBarrel.SampleWeight = entity.Barrel_Weight; commonDAO.SelfDber.Update(cmcsRCSampleBarrel); } } InfBeltSamplerUnloadResult oldUnloadResult = commonDAO.SelfDber.Entity <InfBeltSamplerUnloadResult>("where samplecode='" + entity.Barrel_Name + "' and to_char(UnloadTime,'yyyy-mm-dd hh24:mi:ss')= '" + entity.EditDate.ToString("yyyy-MM-dd HH:mm:ss") + "'"); if (oldUnloadResult == null) { if (commonDAO.SelfDber.Insert(new InfBeltSamplerUnloadResult { MachineCode = KYToMachineCode(entity.CYJ_Machine), SampleCode = entity.Barrel_Name, BarrelCode = entity.Barrel_Code, UnloadTime = entity.EditDate }) > 0) { //entity.DataFlag = 1; //this.EquDber.Update(entity); res++; } } else { oldUnloadResult.MachineCode = KYToMachineCode(entity.CYJ_Machine); oldUnloadResult.SampleCode = entity.Barrel_Name; oldUnloadResult.BarrelCode = entity.Barrel_Code; oldUnloadResult.UnloadTime = entity.EditDate; if (commonDAO.SelfDber.Update(oldUnloadResult) > 0) { //entity.DataFlag = 1; //this.EquDber.Update(entity); res++; } } } output(string.Format("同步卸样结果 {0} 条(第三方 > 集中管控)", res), eOutputType.Normal); }