private void CreateMainTask() { taskSimpleScheduler = new TaskSimpleScheduler(); autoResetEvent.Reset(); taskSimpleScheduler.StartNewTask("模拟业务", () => { if (!this.IsStartSimulator) { return; } // 心跳 this.EquDber.Execute("update " + EntityReflectionUtil.GetTableName <EquQZDZYJSignal>() + " set TagValue=@TagValue where TagName=@TagName", new { TagName = GlobalVars.EquHeartbeatName, TagValue = DateTime.Now.ToString() }); // 更新采样计划 this.EquDber.Execute("update " + EntityReflectionUtil.GetTableName <EquQZDZYJPlan>() + " set DataFlag=1 where DataFlag=0"); // 控制命令 EquQZDZYJCmd pDCYJCmd = this.EquDber.Entity <EquQZDZYJCmd>("where DataFlag=0 order by CreateDate desc"); if (pDCYJCmd != null) { CmdHandle(pDCYJCmd); autoResetEvent.WaitOne(); } }, 3000); }
/// <summary> /// 获取未读第三方设备故障信息 /// </summary> /// <param name="machineCode">设备编码</param> /// <returns></returns> public List <InfEquInfHitch> GetUnReadEquInfHitchs(string machineCode) { List <InfEquInfHitch> res = SelfDber.Entities <InfEquInfHitch>("where MachineCode=:machineCode and DataFlag=0", new { MachineCode = machineCode }); SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <InfEquInfHitch>() + " set DataFlag=1 where MachineCode=:machineCode and DataFlag=0", new { MachineCode = machineCode }); return(res); }
/// <summary> /// 根据实体创建动态参数 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t">实体</param> /// <returns></returns> protected DynamicParameters CreateDynamicParameters <T>(T t) { DynamicParameters res = new DynamicParameters(); foreach (PropertyInfo pi in typeof(T).GetProperties()) { if (EntityReflectionUtil.HasPropertyInfoAttribute(pi, typeof(DapperIgnoreAttribute))) { continue; } if (pi.PropertyType == typeof(DateTime)) { if (Convert.ToDateTime(pi.GetValue(t, null)).Year < 2000) { res.Add(pi.Name, null); } else { //格式化微秒 防止6.0平台错误,同时7.0时间可为空 res.Add(pi.Name, DateTime.Parse(Convert.ToDateTime(pi.GetValue(t, null)).ToString("yyyy-MM-dd HH:mm:ss"))); } } else { res.Add(pi.Name, pi.GetValue(t, null)); } } return(res); }
/// <summary> /// 将指定车的未完结运输记录强制更改为无效 /// </summary> /// <param name="autotruckId">车Id</param> public void ChangeUnFinishTransportToInvalid(string autotruckId) { if (string.IsNullOrEmpty(autotruckId)) { return; } foreach (CmcsUnFinishTransport unFinishTransport in SelfDber.Entities <CmcsUnFinishTransport>("where AutotruckId=:AutotruckId", new { AutotruckId = autotruckId })) { if (unFinishTransport.CarType == eTransportType.原料煤入场.ToString() || unFinishTransport.CarType == eTransportType.仓储煤入场.ToString() || unFinishTransport.CarType == eTransportType.中转煤入场.ToString()) { SelfDber.Execute("Update " + EntityReflectionUtil.GetTableName <CmcsBuyFuelTransport>() + " set IsUse=0 where Id=:Id", new { Id = unFinishTransport.TransportId }); SelfDber.Delete <CmcsUnFinishTransport>(unFinishTransport.Id); } if (unFinishTransport.CarType == eTransportType.销售直销煤.ToString() || unFinishTransport.CarType == eTransportType.销售掺配煤.ToString() || unFinishTransport.CarType == eTransportType.仓储煤出场.ToString() || unFinishTransport.CarType == eTransportType.中转煤出场.ToString()) { SelfDber.Execute("Update " + EntityReflectionUtil.GetTableName <CmcsSaleFuelTransport>() + " set IsUse=0 where Id=:Id", new { Id = unFinishTransport.TransportId }); SelfDber.Delete <CmcsUnFinishTransport>(unFinishTransport.Id); } if (unFinishTransport.CarType == eTransportType.其他物资.ToString()) { SelfDber.Execute("Update " + EntityReflectionUtil.GetTableName <CmcsGoodsTransport>() + " set IsUse=0 where Id=:Id", new { Id = unFinishTransport.TransportId }); SelfDber.Delete <CmcsUnFinishTransport>(unFinishTransport.Id); } if (unFinishTransport.CarType == eTransportType.来访车辆.ToString()) { SelfDber.Execute("Update " + EntityReflectionUtil.GetTableName <CmcsVisitTransport>() + " set IsUse=0 where Id=:Id", new { Id = unFinishTransport.TransportId }); SelfDber.Delete <CmcsUnFinishTransport>(unFinishTransport.Id); } } }
/// <summary> /// 重置所有接口表 /// </summary> void ResetAll() { dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJPlan>() + " set DataFlag=3"); dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJCmd>() + " set DataFlag=3"); dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJUnloadCmd>() + " set DataFlag=3"); dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJBarrel>() + " set SampleCode='',InFactoryBatchId='',SampleCount=0,BarrelStatus='" + eSampleBarrelStatus.空桶.ToString() + "'"); }
/// <summary> /// 根据实体创建动态参数 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t">实体</param> /// <returns></returns> protected DynamicParameters CreateDynamicParameters <T>(T t) { DynamicParameters res = new DynamicParameters(); foreach (PropertyInfo pi in typeof(T).GetProperties()) { if (EntityReflectionUtil.HasPropertyInfoAttribute(pi, typeof(DapperIgnoreAttribute))) { continue; } //if (pi.PropertyType == typeof(DateTime)) //{ // //7.0 时间可为空 // if (Convert.ToDateTime(pi.GetValue(t, null)).Year < 2000) // res.Add(pi.Name, null); // else // res.Add(pi.Name, pi.GetValue(t, null)); //} //else res.Add(pi.Name, pi.GetValue(t, null)); } return(res); }
/// <summary> /// 发送制样计划,并发送开始制样命令 /// </summary> public bool SaveMakerPlanAndStartCmd(InfMakerPlan entity, out string message) { try { message = "制样计划发送成功"; if (Dbers.GetInstance().SelfDber.Insert <InfMakerPlan>(entity) > 0) { InfMakerControlCmd makerControlCmd = new InfMakerControlCmd(); makerControlCmd.InterfaceType = CommonDAO.GetInstance().GetMachineInterfaceTypeByCode(entity.MachineCode); makerControlCmd.MachineCode = entity.MachineCode; makerControlCmd.MakeCode = entity.MakeCode; makerControlCmd.ResultCode = eEquInfCmdResultCode.默认.ToString(); makerControlCmd.CmdCode = eEquInfMakerCmd.开始制样.ToString(); makerControlCmd.SyncFlag = 0; Dbers.GetInstance().SelfDber.Insert <InfMakerControlCmd>(makerControlCmd); // 修改入厂煤制样记录的开始制样时间 Dbers.GetInstance().SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsRCMake>() + " set GetPle='自动接样',GetDate=:DtNow,MakeStartTime=:DtNow where MakeCode=:MakeCode", new { DtNow = DateTime.Now, MakeCode = entity.MakeCode }); return(true); } message = "制样计划发送失败"; return(false); } catch (Exception ex) { message = "制样计划发送失败" + ex.Message; return(false); } }
private void btnSystemStatus_FSGZ_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(cmbBeltSampler.Text)) { return; } OutputRunInfo(rtxtOutput, "系统状态更改为" + eEquInfSamplerSystemStatus.发生故障.ToString()); dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJSignal>() + " set TagValue=@TagValue where MachineCode=@MachineCode and TagName=@TagName", new { MachineCode = (cmbBeltSampler.SelectedIndex + 1).ToString(), TagName = eSignalDataName.设备状态.ToString(), TagValue = eEquInfSamplerSystemStatus.发生故障.ToString() }); }
/// <summary> /// 记录样桶校验记录 /// </summary> /// <param name="entity"></param> /// <returns></returns> public bool UpdateRCSampleBarrelCheckSampleWeight(string rCSampleBarrelId, decimal weight, string user) { if (weight > 0) { return(Dbers.GetInstance().SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsRCSampleBarrel>() + " set CheckSampleWeight=:CheckSampleWeight,CheckDate=sysdate,CheckUser=:CheckUser,SampleWeight=(:CheckSampleWeight-BarrelWeight) where Id=:Id", new { CheckSampleWeight = weight, CheckUser = user, Id = rCSampleBarrelId }) > 0); } else { return(Dbers.GetInstance().SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsRCSampleBarrel>() + " set CheckDate=sysdate,CheckUser=:CheckUser where Id=:Id", new { CheckUser = user, Id = rCSampleBarrelId }) > 0); } }
private void CmdHandle(EquPDCYJUnloadCmd input) { Task task = new Task((state) => { EquPDCYJUnloadCmd pDCYJUnloadCmd = state as EquPDCYJUnloadCmd; OutputRunInfo(rtxtOutput, "处理卸样命令,采样码:" + pDCYJUnloadCmd.SampleCode); // 更新系统状态为正在卸样 dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJSignal>() + " set TagValue=@TagValue where MachineCode=@MachineCode and TagName=@TagName", new { MachineCode = pDCYJUnloadCmd.MachineCode, TagName = eSignalDataName.设备状态.ToString(), TagValue = eEquInfSamplerSystemStatus.正在卸样.ToString() }); Thread.Sleep(3000); foreach (EquPDCYJBarrel pDCYJBarrel in dber.Entities <EquPDCYJBarrel>("where SampleCode=@SampleCode", new { SampleCode = pDCYJUnloadCmd.SampleCode })) { // 生成卸样结果 dber.Insert(new EquPDCYJUnloadResult { DataFlag = 0, SampleCode = pDCYJUnloadCmd.SampleCode, UnloadTime = DateTime.Now, //BarrelNumber = pDCYJBarrel.BarrelNumber, BarrelCode = Guid.NewGuid().ToString().Substring(0, 8).ToUpper(), //SamplingId = pDCYJUnloadCmd.SamplingId, MachineCode = pDCYJBarrel.MachineCode }); pDCYJBarrel.SampleCount = 0; pDCYJBarrel.InFactoryBatchId = string.Empty; pDCYJBarrel.SampleCode = string.Empty; pDCYJBarrel.BarrelStatus = eSampleBarrelStatus.空桶.ToString(); pDCYJBarrel.UpdateTime = DateTime.Now; pDCYJBarrel.DataFlag = 0; if (dber.Update(pDCYJBarrel) > 0) { OutputRunInfo(rtxtOutput, "卸样完成,罐号:" + pDCYJBarrel.BarrelNumber.ToString() + " " + pDCYJBarrel.BarrelType.ToString()); } Thread.Sleep(1500); } // 更新命令 pDCYJUnloadCmd.ResultCode = eEquInfCmdResultCode.成功.ToString(); pDCYJUnloadCmd.DataFlag = 2; dber.Update(pDCYJUnloadCmd); OutputRunInfo(rtxtOutput, "卸样完成"); autoResetEvent.Set(); }, input); task.Start(); }
/// <summary> /// 生成 UPDATE 语句 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public virtual string Update <T>() where T : class { StringBuilder strbRes1 = new StringBuilder("UPDATE " + EntityReflectionUtil.GetTableName <T>() + " SET "); foreach (PropertyInfo pi in typeof(T).GetProperties()) { if (EntityReflectionUtil.HasPropertyInfoAttribute(pi, typeof(DapperPrimaryKeyAttribute)) || EntityReflectionUtil.HasPropertyInfoAttribute(pi, typeof(DapperIgnoreAttribute)) || EntityReflectionUtil.HasPropertyInfoAttribute(pi, typeof(DapperPrimaryKeyAddAttribute))) { continue; } strbRes1.AppendFormat("{0}={1}{0},", pi.Name, this.paramPrefix); } return(string.Format("{0} WHERE {1}={2}{1} ", strbRes1.ToString().TrimEnd(','), EntityReflectionUtil.GetPrimaryKey <T>(), this.paramPrefix)); }
/// <summary> /// 检查实体DateTime的合法性 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t"></param> public void CheckEntityDateTime <T>(T t) where T : class { foreach (PropertyInfo pi in typeof(T).GetProperties().Where(a => a.PropertyType == typeof(DateTime))) { if (EntityReflectionUtil.HasPropertyInfoAttribute(pi, typeof(DapperIgnoreAttribute))) { continue; } DateTime dt = (DateTime)pi.GetValue(t, null); if (dt == DateTime.MinValue) { pi.SetValue(t, System.Data.SqlTypes.SqlDateTime.MinValue.Value, null); } } }
/// <summary> /// 设置实时信号 /// </summary> /// <param name="signalPrefix">信号前缀</param> /// <param name="signalName">信号名</param> /// <param name="signalValue">值</param> /// <returns></returns> public bool SetSignalDataValue(string signalPrefix, string signalName, string signalValue) { CmcsSignalData cmcsSignalData = SelfDber.Entity <CmcsSignalData>("where SignalPrefix=:SignalPrefix and SignalName=:SignalName order by UpdateTime desc", new { SignalPrefix = signalPrefix, SignalName = signalName }); if (cmcsSignalData == null) { SelfDber.Insert(new CmcsSignalData { SignalPrefix = signalPrefix, SignalName = signalName, SignalValue = signalValue, UpdateTime = DateTime.Now }); } return(SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsSignalData>() + " set SignalValue=:SignalValue,UpdateTime=sysdate where SignalPrefix=:SignalPrefix and SignalName=:SignalName", new { SignalPrefix = signalPrefix, SignalName = signalName, SignalValue = signalValue }) > 0); }
/// <summary> /// 生成 INSERT 语句 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public virtual string Insert <T>() where T : class { StringBuilder strbRes1 = new StringBuilder("INSERT INTO " + EntityReflectionUtil.GetTableName <T>() + "("); StringBuilder strbRes2 = new StringBuilder("VALUES("); foreach (PropertyInfo pi in typeof(T).GetProperties()) { if (EntityReflectionUtil.HasPropertyInfoAttribute(pi, typeof(DapperIgnoreAttribute)) || EntityReflectionUtil.HasPropertyInfoAttribute(pi, typeof(DapperPrimaryKeyAddAttribute))) { continue; } strbRes1.AppendFormat("{0},", pi.Name); strbRes2.AppendFormat("{1}{0},", pi.Name, this.paramPrefix); } return(string.Format("{0}) {1})", strbRes1.ToString().TrimEnd(','), strbRes2.ToString().TrimEnd(','))); }
/// <summary> /// 改变火车入厂记录记录的翻车状态 /// </summary> /// <param name="trainWeightRecordId">火车入厂记录Id</param> /// <param name="trainTipperTurnoverStatus">翻车状态</param> /// <returns></returns> public bool ChangeTrainWeightRecordIsTurnover(string trainWeightRecordId, eTrainTipperTurnoverStatus trainTipperTurnoverStatus) { CmcsTrainWeightRecord trainWeightRecord = Dbers.GetInstance().SelfDber.Get <CmcsTrainWeightRecord>(trainWeightRecordId); if (trainWeightRecord != null) { if (trainTipperTurnoverStatus == eTrainTipperTurnoverStatus.已翻) { trainWeightRecord.UnloadTime = DateTime.Now; // 修改批次明细的卸车时间 Dbers.GetInstance().SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsTransport>() + " set UnloadTime=sysdate where PKID=:PKID", new { PKID = trainWeightRecord.Id }); } trainWeightRecord.IsTurnover = trainTipperTurnoverStatus.ToString(); return(Dbers.GetInstance().SelfDber.Update(trainWeightRecord) > 0); } return(false); }
/// <summary> /// 更改其他物资运输记录的无效状态 /// </summary> /// <param name="transportId"></param> /// <param name="isValid">是否有效</param> /// <returns></returns> public bool ChangeGoodsTransportToInvalid(string transportId, bool isValid) { if (isValid) { // 设置为有效 CmcsGoodsTransport buyFuelTransport = SelfDber.Get <CmcsGoodsTransport>(transportId); if (buyFuelTransport != null) { if (SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsGoodsTransport>() + " set IsUse=1 where Id=:Id", new { Id = transportId }) > 0) { if (buyFuelTransport.IsFinish == 0) { SelfDber.Insert(new CmcsUnFinishTransport { AutotruckId = buyFuelTransport.AutotruckId, CarType = eCarType.其他物资.ToString(), TransportId = buyFuelTransport.Id, PrevPlace = "未知" }); } return(true); } } } else { // 设置为无效 if (SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsGoodsTransport>() + " set IsUse=0 where Id=:Id", new { Id = transportId }) > 0) { SelfDber.DeleteBySQL <CmcsUnFinishTransport>("where TransportId=:TransportId", new { TransportId = transportId }); return(true); } } return(false); }
private void btnSystemStatus_FSGZ_Click(object sender, EventArgs e) { OutputRunInfo(rtxtOutput, "系统状态更改为" + eEquInfSamplerSystemStatus.发生故障.ToString()); this.EquDber.Execute("update " + EntityReflectionUtil.GetTableName <EquQZDZYJSignal>() + " set TagValue=@TagValue where TagName=@TagName", new { TagName = eSignalDataName.设备状态.ToString(), TagValue = eEquInfSamplerSystemStatus.发生故障.ToString() }); }
/// <summary> /// 获取未完成的其他物资运输记录 /// </summary> /// <returns></returns> public List <CmcsGoodsTransport> GetUnFinishGoodsTransport() { return(SelfDber.Entities <CmcsGoodsTransport>("where SuttleWeight=0 and IsUse=1 and Id in (select TransportId from " + EntityReflectionUtil.GetTableName <CmcsUnFinishTransport>() + " where CarType=:CarType) order by InFactoryTime desc", new { CarType = eCarType.其他物资.ToString() })); }
/// <summary> /// 将所有上次提醒数据置换为已处理 /// </summary> public void ResetAllSysMessageStatus() { SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsSysMessage>() + " t set t.MsgStatus=:MsgStatus1 where t.MsgStatus=:MsgStatus1", new { MsgStatus1 = eSysMessageStatus.处理中.ToString(), MsgStatus2 = eSysMessageStatus.处理中.ToString() }); }
/// <summary> /// 更新制样明细记录的样重和样罐编码 /// </summary> /// <param name="rCMakeDetailId">制样明细记录Id</param> /// <param name="weight">重量</param> /// <param name="barrelCode">样罐编码</param> /// <returns></returns> public bool UpdateMakeDetailWeightAndBarrelCode(string rCMakeDetailId, double weight, string barrelCode) { return(Dbers.GetInstance().SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsRCMakeDetail>() + " set SampleWeight=:SampleWeight,SampleCode=:SampleCode where Id=:Id", new { Id = rCMakeDetailId, SampleWeight = weight, SampleCode = barrelCode }) > 0); }
/// <summary> /// 更新制样明细记录的校验样重 /// </summary> /// <param name="rCMakeDetailId">制样明细记录Id</param> /// <param name="weight">重量</param> /// <returns></returns> public bool UpdateMakeDetailCheckWeight(string rCMakeDetailId, double weight) { return(Dbers.GetInstance().SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsRCMakeDetail>() + " set CheckWeight=:CheckWeight where Id=:Id", new { Id = rCMakeDetailId, CheckWeight = weight }) > 0); }
private void CmdHandle(EquPDCYJCmd input) { Task task = new Task((state) => { EquPDCYJCmd pDCYJCmd = state as EquPDCYJCmd; OutputRunInfo(rtxtOutput, "处理命令,命令代码:" + pDCYJCmd.CmdCode + " 采样码:" + pDCYJCmd.SampleCode); if (pDCYJCmd.CmdCode == eEquInfSamplerCmd.开始采样.ToString()) { EquPDCYJPlan pDCYJPlan = dber.Entity <EquPDCYJPlan>("where SampleCode=@SampleCode", new { SampleCode = pDCYJCmd.SampleCode }); if (pDCYJPlan != null) { Thread.Sleep(3000); OutputRunInfo(rtxtOutput, "启动采样机"); // 更新系统状态为正在运行 dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJSignal>() + " set TagValue=@TagValue where MachineCode=@MachineCode and TagName=@TagName", new { MachineCode = pDCYJCmd.MachineCode, TagName = eSignalDataName.设备状态.ToString(), TagValue = eEquInfSamplerSystemStatus.正在运行.ToString() }); // 更新集样罐 dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJBarrel>() + " set IsCurrent=0 where MachineCode=@MachineCode and BarrelType=@BarrelType", new { MachineCode = pDCYJCmd.MachineCode, BarrelType = pDCYJPlan.GatherType }); EquPDCYJBarrel pDCYJBarrel = dber.Entity <EquPDCYJBarrel>("where MachineCode=@MachineCode and SampleCode=@SampleCode and BarrelType=@BarrelType and SampleCount<3", new { MachineCode = pDCYJCmd.MachineCode, SampleCode = pDCYJCmd.SampleCode, BarrelType = pDCYJPlan.GatherType }); if (pDCYJBarrel == null) { pDCYJBarrel = dber.Entity <EquPDCYJBarrel>("where MachineCode=@MachineCode and SampleCode='' and BarrelType=@BarrelType", new { MachineCode = pDCYJCmd.MachineCode, BarrelType = pDCYJPlan.GatherType }); if (pDCYJBarrel != null) { OutputRunInfo(rtxtOutput, "分配集样罐,罐号:" + pDCYJBarrel.BarrelNumber + " " + pDCYJBarrel.BarrelType); pDCYJBarrel.SampleCount = 1; pDCYJBarrel.SampleCode = pDCYJCmd.SampleCode; pDCYJBarrel.InFactoryBatchId = pDCYJPlan.InFactoryBatchId; pDCYJBarrel.IsCurrent = 1; pDCYJBarrel.BarrelStatus = eSampleBarrelStatus.未满.ToString(); pDCYJBarrel.UpdateTime = DateTime.Now; pDCYJBarrel.DataFlag = 0; dber.Update(pDCYJBarrel); } } else { OutputRunInfo(rtxtOutput, "分配集样罐,罐号:" + pDCYJBarrel.BarrelNumber + " " + pDCYJBarrel.BarrelType); pDCYJBarrel.SampleCount++; pDCYJBarrel.IsCurrent = 1; pDCYJBarrel.BarrelStatus = eSampleBarrelStatus.未满.ToString(); pDCYJBarrel.UpdateTime = DateTime.Now; pDCYJBarrel.DataFlag = 0; dber.Update(pDCYJBarrel); } // 更新计划 pDCYJPlan.StartTime = DateTime.Now; dber.Update(pDCYJPlan); // 更新命令 pDCYJCmd.ResultCode = eEquInfCmdResultCode.成功.ToString(); pDCYJCmd.DataFlag = 2; dber.Update(pDCYJCmd); } else { OutputRunInfo(rtxtOutput, "未找到采样计划,采样码:" + pDCYJCmd.SampleCode); pDCYJCmd.ResultCode = eEquInfCmdResultCode.失败.ToString(); pDCYJCmd.DataFlag = 1; dber.Update(pDCYJCmd); } } else if (pDCYJCmd.CmdCode == eEquInfSamplerCmd.结束采样.ToString()) { Thread.Sleep(3000); OutputRunInfo(rtxtOutput, "停止采样机"); // 更新系统状态为就绪待机 dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJSignal>() + " set TagValue=@TagValue where MachineCode=@MachineCode and TagName=@TagName", new { MachineCode = pDCYJCmd.MachineCode, TagName = eSignalDataName.序状态.ToString(), TagValue = eEquInfSamplerSystemStatus.就绪待机.ToString() }); EquPDCYJPlan pDCYJPlan = dber.Entity <EquPDCYJPlan>("where SampleCode=@SampleCode", new { SampleCode = pDCYJCmd.SampleCode }); if (pDCYJPlan != null) { // 更新计划 pDCYJPlan.SampleUser = "******"; pDCYJPlan.StartTime = DateTime.Now.AddSeconds(10); pDCYJPlan.EndTime = DateTime.Now; dber.Update(pDCYJPlan); } // 更新命令 pDCYJCmd.ResultCode = eEquInfCmdResultCode.成功.ToString(); pDCYJCmd.DataFlag = 2; dber.Update(pDCYJCmd); } autoResetEvent.Set(); }, input); task.Start(); }
/// <summary> /// 记录样桶校验记录(采样第二次称重) /// </summary> /// <param name="entity"></param> /// <returns></returns> public bool UpdateRCSampleBarrelCheckSampleWeight(string rCSampleBarrelId, double weight) { return(Dbers.GetInstance().SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsRCSampleBarrel>() + " set CheckSampleWeight=:CheckSampleWeight where Id=:Id", new { CheckSampleWeight = weight, Id = rCSampleBarrelId }) > 0); }
/// <summary> /// 生成查询数量的 SELECT 语句 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public virtual string Count <T>() { return(string.Format("SELECT COUNT({1}) FROM {0} ", EntityReflectionUtil.GetTableName <T>(), EntityReflectionUtil.GetPrimaryKey <T>())); }
/// <summary> /// 生成根据主键查询的 WHERE 语句 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public virtual string PrimaryKeyCondition <T>() { return(string.Format("WHERE {0}={1}Dapper_PKey ", EntityReflectionUtil.GetPrimaryKey <T>(), this.paramPrefix)); }
/// <summary> /// 生成不带条件的 SELECT 语句 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public virtual string Select <T>() { return(string.Format("SELECT * FROM {0} ", EntityReflectionUtil.GetTableName <T>())); }
/// <summary> /// 生成 DELETE 语句 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public virtual string Delete <T>() where T : class { return(string.Format("DELETE FROM {0} ", EntityReflectionUtil.GetTableName <T>())); }
/// <summary> /// 增加省份简称的使用次数 /// </summary> /// <param name="paName">省份简称</param> public void AddProvinceAbbreviationUseCount(string paName) { Dbers.GetInstance().SelfDber.Execute("update " + EntityReflectionUtil.GetTableName <CmcsProvinceAbbreviation>() + " set UseCount=UseCount+1 where PaName=:PaName", new { PaName = paName }); }
private void CmdHandle(EquQZDZYJCmd input) { Task task = new Task((state) => { EquQZDZYJCmd pDCYJCmd = state as EquQZDZYJCmd; OutputRunInfo(rtxtOutput, "处理命令,命令代码:" + pDCYJCmd.CmdCode + " 制样码:" + pDCYJCmd.MakeCode); if (pDCYJCmd.CmdCode == eEquInfMakerCmd.开始制样.ToString()) { EquQZDZYJPlan pDCYJPlan = this.EquDber.Entity <EquQZDZYJPlan>("where MakeCode=@MakeCode", new { MakeCode = pDCYJCmd.MakeCode }); if (pDCYJPlan != null) { Thread.Sleep(3000); OutputRunInfo(rtxtOutput, "启动制样机"); // 更新系统状态为正在运行 this.EquDber.Execute("update " + EntityReflectionUtil.GetTableName <EquQZDZYJSignal>() + " set TagValue=@TagValue where TagName=@TagName", new { TagName = eSignalDataName.设备状态.ToString(), TagValue = eEquInfSamplerSystemStatus.正在运行.ToString() }); // 生成出样记录 foreach (CodeContent codeContent in CommonDAO.GetInstance().GetCodeContentByKind("样品类型")) { this.EquDber.Insert(new EquQZDZYJDetail { BarrelCode = Guid.NewGuid().ToString().Substring(0, 8).ToUpper(), DataFlag = 0, StartTime = DateTime.Now.AddSeconds(3), EndTime = DateTime.Now, MakeCode = pDCYJCmd.MakeCode, MakeUser = "******", YPType = codeContent.Code, YPWeight = 500 }); Thread.Sleep(2000); OutputRunInfo(rtxtOutput, "制出样品:" + codeContent.Code); } // 更新命令 pDCYJCmd.ResultCode = eEquInfCmdResultCode.成功.ToString(); pDCYJCmd.DataFlag = 2; this.EquDber.Update(pDCYJCmd); // 更新系统状态为就绪待机 this.EquDber.Execute("update " + EntityReflectionUtil.GetTableName <EquQZDZYJSignal>() + " set TagValue=@TagValue where TagName=@TagName", new { TagName = eSignalDataName.设备状态.ToString(), TagValue = eEquInfSamplerSystemStatus.就绪待机.ToString() }); } else { OutputRunInfo(rtxtOutput, "未找到制样计划,制样码:" + pDCYJCmd.MakeCode); pDCYJCmd.ResultCode = eEquInfCmdResultCode.失败.ToString(); pDCYJCmd.DataFlag = 1; this.EquDber.Update(pDCYJCmd); } } else if (pDCYJCmd.CmdCode == eEquInfMakerCmd.停止制样.ToString()) { Thread.Sleep(3000); OutputRunInfo(rtxtOutput, "停止制样机"); // 更新系统状态为就绪待机 this.EquDber.Execute("update " + EntityReflectionUtil.GetTableName <EquQZDZYJSignal>() + " set TagValue=@TagValue where TagName=@TagName", new { TagName = eSignalDataName.设备状态.ToString(), TagValue = eEquInfSamplerSystemStatus.就绪待机.ToString() }); // 更新命令 pDCYJCmd.ResultCode = eEquInfCmdResultCode.成功.ToString(); pDCYJCmd.DataFlag = 2; this.EquDber.Update(pDCYJCmd); } autoResetEvent.Set(); }, input); task.Start(); }
/// <summary> /// 重置所有接口表 /// </summary> void ResetAll() { this.EquDber.Execute("update " + EntityReflectionUtil.GetTableName <EquQZDZYJCmd>() + " set DataFlag=3"); }