/// <summary> /// 初次处理数据 /// </summary> /// <param name="Num">每次处理数量</param> public void FF_初次生成电子标签信息(int Num) { DAL dal = new DAL(); string sql = @"select top {0} 站点,枪号,流水号,日期,车牌号 from [CNGQT].[dbo].[CNG_充装检查] where 车牌号 not like '冀%' and 是否完成=0 and 日期 >'2010-11-29 19:00:00' "; sql = string.Format(sql, Num.ToString()); DataTable dt = dal.RunSqlDataTable(sql); if (dt == null) { return; } foreach (DataRow dr in dt.Rows) { Even_电子标签处理 e = new Even_电子标签处理(); Mod.CNG_充装检查 jc = new Mod.CNG_充装检查(); jc.SX_车牌号 = (string)dr["车牌号"]; jc.SX_日期 = (DateTime)dr["日期"]; //Sys.DebugMes(dr["枪号"].GetType().ToString()); jc.SX_枪号 = Convert.ToInt32(dr["枪号"]); jc.SX_站点 = (int)dr["站点"]; jc.SX_流水号 = (int)dr["流水号"]; //取车辆信息 Mod.DZ_全市车辆 cl = FF_取车辆信息(jc.SX_车牌号); if (cl == null) { jc.SX_是否完成 = 9;//未找到车辆 e.ok = false; } else { jc.SX_使用登记证 = cl.SX_使用登记证; jc.SX_车类型 = cl.SX_应用类型; jc.SX_气瓶数 = cl.SX_安装气瓶数量; //取气瓶信息 Mod.DZ_全市气瓶 qp = FF_取气瓶信息(jc.SX_车牌号); if (qp == null) { //为null 表示未找到气瓶 jc.SX_是否完成 = 11; e.ok = true; } else { jc.SX_是否完成 = 1; jc.SX_气瓶使用编号 = qp.SX_气瓶使用编号; jc.SX_气瓶类型 = qp.SX_气瓶类型; jc.SX_下次检验日期 = qp.SX_下次检验日期; e.ok = true; } } FF_更新检查记录(jc); e.carNO = jc.SX_车牌号; e.starttime = DateTime.Now; //触发事件 if (this.SJ_初次处理数据 != null) { SJ_初次处理数据(this, e); } } Sys.DebugMes("完成"); }
/// <summary> /// 二次更新电子标签 /// </summary> /// <param name="Num">每次更新数量</param> public void FF_二次生成电子标签(int Num) { //先生成 自编号 DAL dal = new DAL(); string sql = "UPDATE [CNGQT].[dbo].[CNG_充装检查]SET [更改车牌号] =b.车牌号,[是否完成] =7 FROM [CNGQT].[dbo].[CNG_充装检查] a ,[CNGQT].[dbo].DZ_自编号 b WHERE a.车牌号=b.自编号 AND a.是否完成 IN(8,9)"; dal.RunSql(sql); //处理 驾校车辆 sql = "UPDATE [CNGQT].[dbo].[CNG_充装检查] SET [更改车牌号] = replace(车牌号,'川EX','川E')+'学',[是否完成] =7 WHERE 车牌号 like '川EX%' AND 是否完成 =9 "; dal.RunSql(sql); //处理 将其他车辆划到 未找到车辆 是否完成=99 sql = "UPDATE [CNGQT].[dbo].[CNG_充装检查] SET [是否完成] = 99,[车类型] = '其它车' WHERE 是否完成 in(8,9) "; dal.RunSql(sql); //以上车辆 有自编号的 都标记为 是否完成=7 sql = string.Format(@"select top {0} 站点,枪号,流水号,日期,更改车牌号 from [CNGQT].[dbo].[CNG_充装检查] where 是否完成=7", Num.ToString()); DataTable dt = dal.RunSqlDataTable(sql); if (dt == null) { return; } foreach (DataRow dr in dt.Rows) { Even_电子标签处理 e = new Even_电子标签处理(); Mod.CNG_充装检查 jc = new Mod.CNG_充装检查(); jc.SX_更改车牌号 = (string)dr["更改车牌号"]; jc.SX_日期 = (DateTime)dr["日期"]; //Sys.DebugMes(dr["枪号"].GetType().ToString()); jc.SX_枪号 = Convert.ToInt32(dr["枪号"]); jc.SX_站点 = (int)dr["站点"]; jc.SX_流水号 = (int)dr["流水号"]; //取车辆信息 以更改车牌号数据 Mod.DZ_全市车辆 cl = FF_取车辆信息(jc.SX_更改车牌号); if (cl == null) { jc.SX_车类型 = "其它车"; jc.SX_是否完成 = 99;//未找到车辆 e.ok = false; } else { jc.SX_使用登记证 = cl.SX_使用登记证; jc.SX_车类型 = cl.SX_应用类型; jc.SX_气瓶数 = cl.SX_安装气瓶数量; //取气瓶信息 Mod.DZ_全市气瓶 qp = FF_取气瓶信息(jc.SX_更改车牌号); if (qp == null) { //为null 表示未找到气瓶 jc.SX_是否完成 = 11; e.ok = true; } else { jc.SX_是否完成 = 1; jc.SX_气瓶使用编号 = qp.SX_气瓶使用编号; jc.SX_气瓶类型 = qp.SX_气瓶类型; jc.SX_下次检验日期 = qp.SX_下次检验日期; e.ok = true; } } FF_更新检查记录(jc); e.carNO = jc.SX_更改车牌号; e.starttime = DateTime.Now; //触发事件 if (this.SJ_二次更新气瓶 != null) { SJ_二次更新气瓶(this, e); } } }