visual studio 2022 初学流程
本文采用总-分的形式讲述流程
1.前端外部可以使用的接口
ExternalDataWebService.asmx?op=ReportWaterForWayder
新建ExternalDataWebService.asmx 文件
新建ExternalDataWebService.cs文件,用于外部使用的接口方法
public void ReportWaterForWayder(string userid, string token, string begindate, string enddate) { Context.Response.ContentType = "application/json"; Context.Response.ContentEncoding = System.Text.Encoding.UTF8; Newtonsoft.Json.JsonSerializerSettings jsetting = new Newtonsoft.Json.JsonSerializerSettings(); JsonConvert.DefaultSettings = new Func(() => { //日期类型默认格式化处理 jsetting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat; jsetting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; //空值处理 jsetting.NullValueHandling = NullValueHandling.Ignore; return jsetting; }); Resultobject result = new Resultobject(); try { result.Reponsecode = "0000"; result.Reponsedesc = ""; result.Resultmsg = new ExternalDataBizService().WayderWaterReportDingzhi(userid, token, begindate, enddate); Context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented, jsetting)); } catch (AuthException ae) { result.Reponsecode = "2001"; result.Reponsedesc = ae.Message; result.Resultmsg = null; Context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented, jsetting)); } catch (BizException le) { result.Reponsecode = "1001"; result.Reponsedesc = le.Message; result.Resultmsg = null; Context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented, jsetting)); } catch (Exception e) { result.Reponsecode = "1002"; result.Reponsedesc = e.Message; result.Resultmsg = null; Context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented, jsetting)); } finally { Context.Response.End(); } }
2.文中使用到的 new ExternalDataBizService().WayderWaterReportDingzhi(userid, token, begindate, enddate)方法以及WayderWaterReport的数据类型需要分别在ExternalDataBizService.cs文件和WayderWaterReport.cs文件中声明
public List WayderWaterReportDingzhi(string userid, string token, string begindate,string enddate) { #region 日志信息 UploadLog uploadLog = new UploadLog(); uploadLog.Uuid = Guid.NewGuid().ToString(); uploadLog.Cixu = 1; uploadLog.Commiter = userid; uploadLog.Committime = DateTime.Now; uploadLog.Methodname = "WayderWaterReportDingzhi"; uploadLog.JsonString = token.ToString() + "," + userid + "," + begindate + "," + enddate; uploadLog.Desc = "伟达定制:水报表"; uploadLog.Isdeal = 0; #endregion #region 初始化json类 Newtonsoft.Json.JsonSerializerSettings jsetting = new Newtonsoft.Json.JsonSerializerSettings(); JsonConvert.DefaultSettings = new Func(() => { //日期类型默认格式化处理 jsetting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat; jsetting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; //空值处理 jsetting.NullValueHandling = NullValueHandling.Ignore; return jsetting; }); #endregion try { #region 判断token有效性 try { Api_Auth api_Auth = new Api_Auth(true, DbUtility.getDbconn()); Api_Auth.AuthInfo authInfo = api_Auth.CheckAuth(userid, token); if (authInfo.AccessRes == false) { throw new AuthException(authInfo.ResMsg); } userid = authInfo.Username; } catch (Exception e) { throw new AuthException(e.Message); } #endregion //数据库连接 MySqlConnection conn = new MySqlConnection(DbUtility.getDbconn()); MySqlTransaction trans = null; try { conn.Open(); if (String.IsNullOrEmpty(begindate)) { throw new BizException("begindate不能为空,请检查"); } if (String.IsNullOrEmpty(enddate)) { throw new BizException("enddate不能为空,请检查"); } //获得用户信息 Xt_user user = new Xt_userDataService().Get(conn, trans, userid); if (user == null) throw new BizException("用户不存在,请检查"); Xt_dept dept = new Xt_deptDataService().Get(conn, trans, user.Dept); if (dept == null) throw new BizException("部门不存在,请检查"); String cuscode = dept.Abbr; if (String.IsNullOrEmpty(cuscode)) throw new BizException("客户代码未设置,请检查"); //List authorization = new Bb_api_authorizationDataService().GetValid(conn, trans, cuscode); //if ((authorization == null) || (authorization.Count == 0)) throw new BizException("客户API访问未授权,请检查"); Report_dailywaterDataService report_DailywaterDataService = new Report_dailywaterDataService(cuscode); Wayder_watersetDataService wayder_WatersetDataService = new Wayder_watersetDataService(); List result = new List(); DateTime begintime = Convert.ToDateTime(begindate); DateTime endtime = Convert.ToDateTime(enddate); //循环体按照日期处理 do { WayderWaterReport setdataItem = new WayderWaterReport(); setdataItem.date = begintime.Date.ToString("yyyy-MM-dd"); //水表1 Report_dailywater dailywater1= report_DailywaterDataService.GetStationDaily(conn,trans, "3007001", begintime.Date); if (dailywater1 != null) setdataItem.dailywater3007001 = dailywater1; else setdataItem.dailywater3007001 = new Report_dailywater(); //水表2 Report_dailywater dailywater2 = report_DailywaterDataService.GetStationDaily(conn, trans, "30501", begintime.Date); if (dailywater1 != null) setdataItem.dailywater30501 = dailywater2; else setdataItem.dailywater30501 = new Report_dailywater(); //水表3 Report_dailywater dailywater3 = report_DailywaterDataService.GetStationDaily(conn, trans, "3007002", begintime.Date); if (dailywater1 != null) setdataItem.dailywater3007002 = dailywater3; else setdataItem.dailywater3007002 = new Report_dailywater(); //获取设置值 Wayder_waterset waterset =wayder_WatersetDataService.GetByDate(conn, trans, begintime.Date); if (waterset != null) { setdataItem.wayder_Waterset = waterset; } else { setdataItem.wayder_Waterset = new Wayder_waterset(); setdataItem.wayder_Waterset.Wastewater_living = 0; setdataItem.wayder_Waterset.Unpolluted_used = 0; setdataItem.wayder_Waterset.Unpolluted_living = 0; setdataItem.wayder_Waterset.Total_water = (decimal)141.3; setdataItem.wayder_Waterset.Industrial_wastewater = 0; } result.Add(setdataItem); begintime = begintime.AddDays(1); } while (begintime 255) { throw new BizException("devicename不能超过255"); } ls_pre = ls_pre + ", DEVICENAME"; ls_value = ls_value + ",'" + data.Devicename + "'"; } #endregion #region occurdate if (data.Occurdate == null) { } else { ls_pre = ls_pre + ", OCCURDATE"; ls_value = ls_value + ",'" + data.Occurdate.ToString("yyyy-MM-dd HH:mm:ss") + "'"; } #endregion #region watermin if (data.Watermin == null) { } else { ls_pre = ls_pre + ", watermin"; ls_value = ls_value + "," + data.Watermin.ToString() + ""; } #endregion #region watermax if (data.Watermax == null) { } else { ls_pre = ls_pre + ", watermax"; ls_value = ls_value + "," + data.Watermax.ToString() + ""; } #endregion #region waterdata if (data.Waterdata == null) { } else { ls_pre = ls_pre + ", waterdata"; ls_value = ls_value + "," + data.Waterdata.ToString() + ""; } #endregion #region creattime if ((data.Creattime == null) || (data.Creattime.ToString().Substring(0, 4).Equals("1900")) || (data.Creattime.ToString().Substring(0, 4).Equals("0001"))) { } else { ls_pre = ls_pre + ", CREATTIME"; ls_value = ls_value + ",'" + data.Creattime.ToString("yyyy-MM-dd HH:mm:ss") + "'"; } #endregion return ls_pre + ") " + ls_value + ")"; } /// /// 添加记录 /// /// Data.Model.Report_dailywater实体类 /// 新增记录的ID public void Add(MySqlConnection conn, MySqlTransaction trans, Report_dailywater data) { try { if (conn == null || conn.State != ConnectionState.Open) { throw new Exception("数据连接不可用"); } string sql = this.GenerateAddSql(data); MySqlCommand command; if (trans != null) { command = new MySqlCommand(sql, conn, trans); } else { command = new MySqlCommand(sql, conn); } command.ExecuteNonQuery(); } catch (BizException be) { throw be; } catch (Exception e) { throw new BizException(e.Message); } } /// /// 生成修改sql语句 /// /// Report_dailywater实体类 /// 修改类SQL语句 private string GenerateUpdateSql(Report_dailywater data) { string ls_pre = "UPDATE " + custable + " SET "; string ls_value = ""; if (data == null) { throw new BizException("新建的数据不能为空"); } #region deviceid if (data.Deviceid == null) { } else { ls_value = "DEVICEID=" + data.Deviceid + ""; ls_pre = ls_pre + ls_value; } #endregion #region devicetype if (data.Devicetype == null) { } else { ls_value = ",DEVICETYPE=" + data.Devicetype + ""; ls_pre = ls_pre + ls_value; } #endregion #region devicename if (data.Devicename == null) { } else { if (data.Devicename.Length > 255) { throw new BizException("devicename不能超过255"); } ls_value = ",DEVICENAME='" + data.Devicename + "'"; ls_pre = ls_pre + ls_value; } #endregion #region occurdate if (data.Occurdate == null) { } else { ls_value = ",OCCURDATE='" + data.Occurdate.ToString("yyyy-MM-dd HH:mm:ss") + "'"; ls_pre = ls_pre + ls_value; } #endregion #region watermin if (data.Watermin == null) { } else { ls_value = ",watermin='" + data.Watermin.ToString() + "'"; ls_pre = ls_pre + ls_value; } #endregion #region watermax if (data.Watermax == null) { } else { ls_value = ",watermax='" + data.Watermax.ToString() + "'"; ls_pre = ls_pre + ls_value; } #endregion #region waterdata if (data.Waterdata == null) { } else { ls_value = ",waterdata='" + data.Waterdata.ToString() + "'"; ls_pre = ls_pre + ls_value; } #endregion #region creattime if (data.Creattime == null) { } else { ls_value = ",CREATTIME='" + data.Creattime.ToString("yyyy-MM-dd HH:mm:ss") + "'"; ls_pre = ls_pre + ls_value; } #endregion string result = ls_pre + " WHERE id='" + data.Id + "'"; return result; } /// /// 根据主键修改记录 /// public int Update(MySqlConnection conn, MySqlTransaction trans, Report_dailywater data) { string sql = GenerateUpdateSql(data); if (conn == null || conn.State != ConnectionState.Open) { throw new Exception("数据连接不可用"); } try { MySqlCommand command; if (trans != null) { command = new MySqlCommand(sql, conn, trans); } else { command = new MySqlCommand(sql, conn); } return command.ExecuteNonQuery(); } catch (System.Data.OleDb.OleDbException ex) { throw new Exception("数据库操作异常", ex); } catch (Exception e) { throw e; } finally { } } /// /// 删除记录 /// public int Delete(MySqlConnection conn, MySqlTransaction trans, Int64 id) { string sql = "DELETE FROM " + custable + " WHERE id='" + id + "'"; if (conn == null || conn.State != ConnectionState.Open) { throw new Exception("数据连接不可用"); } try { MySqlCommand command; if (trans != null) { command = new MySqlCommand(sql, conn, trans); } else { command = new MySqlCommand(sql, conn); } return command.ExecuteNonQuery(); } catch (System.Data.OleDb.OleDbException ex) { throw new Exception("数据库操作异常", ex); } catch (Exception e) { throw e; } finally { } } /// /// 将DataSet转换为List /// private List DataSetToList(DataSet dataSet) { List resultList = new List(); Report_dailywater model = null; for (int i = 0; i 0) { List resultList = DataSetToList(dataSet); return resultList; } else { return null; } } catch (System.Data.OleDb.OleDbException ex) { throw new Exception("数据库操作异常", ex); } catch (Exception e) { throw e; } finally { dataSet = null; } } /// /// 查询所有记录数量 /// public Int32 GetCount(MySqlConnection conn, MySqlTransaction trans) { string sql = "SELECT COUNT(*) FROM " + custable; if (conn == null || conn.State != ConnectionState.Open) { throw new Exception("数据连接不可用"); } DataSet dataSet = new DataSet(); try { MySqlDataAdapter sqlDA = new MySqlDataAdapter(sql, conn); if (trans != null) sqlDA.SelectCommand.Transaction = trans; sqlDA.Fill(dataSet); if (dataSet.Tables[0].Rows.Count > 0) { return Convert.ToInt32(dataSet.Tables[0].Rows[0][0].ToString()); } else { return 0; } } catch (System.Data.OleDb.OleDbException ex) { throw new Exception("数据库操作异常", ex); } catch (Exception e) { throw e; } finally { dataSet = null; } } /// /// 查询所有记录 /// public Report_dailywater Get(MySqlConnection conn, MySqlTransaction trans, Int64 id) { string sql = "SELECT * FROM " + custable + " WHERE id='" + id + "'"; if (conn == null || conn.State != ConnectionState.Open) { throw new Exception("数据连接不可用"); } DataSet dataSet = new DataSet(); try { MySqlDataAdapter sqlDA = new MySqlDataAdapter(sql, conn); if (trans != null) sqlDA.SelectCommand.Transaction = trans; sqlDA.Fill(dataSet); if (dataSet.Tables[0].Rows.Count > 0) { List resultList = DataSetToList(dataSet); return resultList[0]; } else { return null; } } catch (System.Data.OleDb.OleDbException ex) { throw new Exception("数据库操作异常", ex); } catch (Exception e) { throw e; } finally { dataSet = null; } } /// /// 删除记录 /// public int DeleteByOccuerdate(MySqlConnection conn, MySqlTransaction trans, DateTime occuerdate) { string sql = "DELETE FROM " + custable + " WHERE occurdate='" + occuerdate.ToString("yyyy-MM-dd HH:mm:ss") + "'"; if (conn == null || conn.State != ConnectionState.Open) { throw new Exception("数据连接不可用"); } try { MySqlCommand command; if (trans != null) { command = new MySqlCommand(sql, conn, trans); } else { command = new MySqlCommand(sql, conn); } return command.ExecuteNonQuery(); } catch (System.Data.OleDb.OleDbException ex) { throw new Exception("数据库操作异常", ex); } catch (Exception e) { throw e; } finally { } } /// /// 查询所有记录 /// public List GetAllByDate(MySqlConnection conn, MySqlTransaction trans, DateTime ocuordate) { string sql = "SELECT * FROM " + custable + " where occurdate='" + ocuordate.Date.ToString("yyyy-MM-dd HH:mm:ss") + "'"; if (conn == null || conn.State != ConnectionState.Open) { throw new Exception("数据连接不可用"); } DataSet dataSet = new DataSet(); try { MySqlDataAdapter sqlDA = new MySqlDataAdapter(sql, conn); if (trans != null) sqlDA.SelectCommand.Transaction = trans; sqlDA.Fill(dataSet); if (dataSet.Tables[0].Rows.Count > 0) { List resultList = DataSetToList(dataSet); return resultList; } else { return null; } } catch (System.Data.OleDb.OleDbException ex) { throw new Exception("数据库操作异常", ex); } catch (Exception e) { throw e; } finally { dataSet = null; } } /// /// 查询站点日数据 /// public Report_dailywater GetStationDaily(MySqlConnection conn, MySqlTransaction trans, string stationid, DateTime ocuordate) { string sql = "SELECT * FROM " + custable + " where deviceid='" + stationid + "' and occurdate='" + ocuordate.Date.ToString("yyyy-MM-dd HH:mm:ss") + "'"; if (conn == null || conn.State != ConnectionState.Open) { throw new Exception("数据连接不可用"); } DataSet dataSet = new DataSet(); try { MySqlDataAdapter sqlDA = new MySqlDataAdapter(sql, conn); if (trans != null) sqlDA.SelectCommand.Transaction = trans; sqlDA.Fill(dataSet); if (dataSet.Tables[0].Rows.Count > 0) { List resultList = DataSetToList(dataSet); return resultList[0]; } else { return null; } } catch (System.Data.OleDb.OleDbException ex) { throw new Exception("数据库操作异常", ex); } catch (Exception e) { throw e; } finally { dataSet = null; } } /// /// 汇总月数据 /// public Decimal GetSum(MySqlConnection conn, MySqlTransaction trans, string stationid, DateTime begintime, DateTime endtime) { string sql = "SELECT SUM(waterdata) FROM " + custable + " where deviceid='" + stationid + "' and occurdate >= '" + begintime.ToString("yyyy-MM-dd HH:mm:ss") + "' and occurdate
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。