C# 报表接口样例,简单实用
//连接视图名称,视图在数据库写好
<%@ WebHandler Language="C#" Class="GetwmsReport" %> using System;
using System.Drawing;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Web;
using System.Text;
using CloudSaaS.DAL;
using CloudSaaS.Model;
using Newtonsoft.Json;
using CloudSaaS.Common;
using CloudSaaS.DB.Handler;
using Newtonsoft.Json.Linq; public class GetwmsReport : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{ var json = string.Empty;
var req = context.Request["req"].Trim();
string tenantId = HttpContext.Current.Request.Cookies["tenantID"].Value;
switch(req){
case "GetDeliverSum":
json = GetDeliverSum(tenantId, context);//当日发货汇总
break;
case "GetDeliverDetail":
json = GetDeliverDetail(tenantId, context);//当日发货明细
break;
case "GetReceiptSum":
json = GetReceiptSum(tenantId, context);//当日收获汇总
break;
case "GetReceiptDetail":
json = GetReceiptDetail(tenantId, context);//当日收货明细
break; }
context.Response.ContentType = "text/json";
context.Response.Write(json);
context.Response.End();
context.Response.Close(); }
/*--当日收货明细:UV_SYSWMSREPORT_1 --当日发货明细:UV_SYSWMSREPORT_2 --当日收货汇总:UV_SYSWMSREPORT_3 --当日发货汇总:UV_SYSWMSREPORT_4*/
/// <summary>
///当日发货汇总
/// </summary>
/// <param name="BillNo "></param>
/// <returns>当日发货汇总</returns>
public string GetDeliverSum(string tenantId, HttpContext context)
{
DataTable dt = new DataTable();
StringBuilder strSql = new StringBuilder();
string hetong = context.Request["hetong"]; //摘要
string product = context.Request["product"]; //文件名称
string project = context.Request["project"];
strSql.Append("select * from UV_SYSWMSREPORT_4 where 1=1 "); DataSet ds = CloudSaaS.DB.Handler.CloudDB.GetHandler(tenantId).Query(strSql.ToString());
if (ds.Tables.Count > 0)
{
dt = ds.Tables[0];
// obj.code = "200";
// obj.msg = "操作成功!";
}
return Newtonsoft.Json.JsonConvert.SerializeObject(dt);
} /// <summary>
///当日发货明细
/// </summary>
/// <param name="BillNo "></param>
/// <returns>当日发货明细</returns>
public string GetDeliverDetail(string tenantId, HttpContext context)
{
DataTable dt = new DataTable();
StringBuilder strSql = new StringBuilder();
string hetong = context.Request["hetong"]; //摘要
string product = context.Request["product"]; //文件名称
string project = context.Request["project"];
strSql.Append("select * from UV_SYSWMSREPORT_2 where 1=1 "); DataSet ds = CloudSaaS.DB.Handler.CloudDB.GetHandler(tenantId).Query(strSql.ToString());
if (ds.Tables.Count > 0)
{
dt = ds.Tables[0];
// obj.code = "200";
//obj.msg = "操作成功!";
}
return Newtonsoft.Json.JsonConvert.SerializeObject(dt);
}
/// <summary>
///当日收货汇总
/// </summary>
/// <param name="BillNo "></param>
/// <returns>当日收货汇总</returns>
public string GetReceiptSum(string tenantId, HttpContext context)
{
DataTable dt = new DataTable();
StringBuilder strSql = new StringBuilder();
string hetong = context.Request["hetong"]; //摘要
string product = context.Request["product"]; //文件名称
string project = context.Request["project"];
strSql.Append("select * from UV_SYSWMSREPORT_3 where 1=1 "); DataSet ds = CloudSaaS.DB.Handler.CloudDB.GetHandler(tenantId).Query(strSql.ToString());
if (ds.Tables.Count > 0)
{
dt = ds.Tables[0];
// obj.code = "200";
// obj.msg = "操作成功!";
}
return Newtonsoft.Json.JsonConvert.SerializeObject(dt);
}
/// <summary>
///当日收货明细
/// </summary>
/// <param name="BillNo "></param>
/// <returns>当日收货明细</returns>
public string GetReceiptDetail(string tenantId, HttpContext context)
{
dynamic obj = new System.Dynamic.ExpandoObject();
obj.code = "1000";
obj.msg="提交时出现错误!";
try {
// DataTable dt = new DataTable();
// dalSYSWMSInputBillHead dal = new dalSYSWMSInputBillHead(tenantId);
StringBuilder strSql = new StringBuilder();
string hetong = context.Request["hetong"]; //摘要
string product = context.Request["product"]; //文件名称
string project = context.Request["project"];
strSql.Append("select * from UV_SYSWMSREPORT_1 where 1=1 ");
/* if (!string.IsNullOrEmpty(hetong))
{
strSql.AppendFormat(" and 合同编号 like '%{0}%'",hetong);
}
// strSql.AppendFormat(" order by 序号 desc");
*/
DataSet ds = CloudSaaS.DB.Handler.CloudDB.GetHandler(tenantId).Query(strSql.ToString());
if (ds.Tables.Count > 0)
{
obj.data = ds.Tables[0];
obj.code = "200";
obj.msg = "操作成功!";
}
}
catch (Exception ex)
{
string strMsg = string.Format("提交时出现错误{0}", ex.Message);
obj.code = "1000";
obj.msg = strMsg;
}
// return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
return JsonConvert.SerializeObject(obj);
} public bool IsReusable
{
get
{
return false;
}
} }
C# 报表接口样例,简单实用的更多相关文章
- 【gRPC】C++异步服务端优化版,多服务接口样例
官方的C++异步服务端API样例可读性并不好,理解起来非常的费劲,各种状态机也并不明了,整个运行过程也容易读不懂,因此此处参考网上的博客进行了重写,以求顺利读懂. C++异步服务端实例,详细注释版 g ...
- Ajax调用WebService接口样例
在做手机端h5的应用时,通过Ajax调用http接口时没啥问题的:但有些老的接口是用WebService实现的,也来不及改成http的方式,这时通过Ajax调用会有些麻烦,在此记录具体实现过程.本文使 ...
- go语言多态接口样例
感觉比java玄幻啊~~~ package main import ( "fmt" ) type notifier interface{ notify() } type user ...
- 怎样把报表放到网页中显示(Web页面与报表简单集成样例)
1.问题描写叙述 如今用户开发的系统基本上趋向于BS架构的浏览器/server模式.这些系统可能由不同的语言开发.如HTML.ASP.JSP.PHP等.因此须要将制作好的报表嵌入到这些页面中. Fin ...
- 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture)
===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...
- VC6 鼠标钩子 最简单样例
Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的.而钩子是Windows系统中非常重要的系统接口,用它能够截获并处理送给其它应用程序的消息,来完毕普通应用程序 ...
- 最简单的视音频播放演示样例8:DirectSound播放PCM
===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...
- 最简单的视音频播放演示样例3:Direct3D播放YUV,RGB(通过Surface)
===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...
- JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例
什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MS ...
- 百度地图 Android SDK - 检索功能使用的简单演示样例
百度地图 SDK 不仅为广大开发人员提供了炫酷的地图展示效果.丰富的覆盖物图层,更为广大开发人员提供了多种 LBS 检索的能力. 通过这些接口,开发人员能够轻松的訪问百度的 LBS 数据,丰富自己的移 ...
随机推荐
- RedisTemplate设置redis的key时出现\xac\xed\x00\x05t\x00\x0f前缀
1.问题描述 使用redisTemplate设置redis的key-value,程序运行没有问题,但是却在redis客户端查不到设置的key-value. 2.产生原因 出现这种乱码前缀的原因是没有进 ...
- 分享项目中在用的asp.net下载业务的服务端基类(支持客户端显示下载百分比进度,支持并发数控制,支持限速)
/// <summary> /// 功能简介:asp.net的下载业务的服务端基类(支持客户端显示下载百分比进度,支持并发数控制,支持限速) /// 创建时间:2015-11-20 /// ...
- 51NOD5213A 【提高组/高分-省选预科 第一场【M】】序列
小 Y 酷爱的接龙游戏正是这样.玩腻了成语接龙之后,小 Y 决定尝试无平方因子二元合数接龙,规则如下: 现有 \(n\) 个不超过 \(K\) 的合数,每个合数 \(a\) 均可表示为 \(a=pq( ...
- 狂神的springboot课程员工管理系统
文章目录 springboot-kuangshen 介绍 功能展示 登陆页面 首页 员工管理页面 添加员工信息 删除员工信息 修改员工信息 参考资料 springboot-kuangshen 介绍 狂 ...
- Entrypoint undefined = index.html html-webpack-plugin 错误ERROR in Error: Child compilation failed: Module build failed (from ./node_modules/html-webpack-plu SyntaxError: Unexpected token )
Entrypoint undefined = index.html html-webpack-plugin 错误 ERROR in Error: Child compilation failed: M ...
- MyBatis的使用八(动态SQL)
本主要讲述mybatis处理动态sql语句 一. 问题引入 前端展示的数据表格中,查询条件可能不止一个,如何将用户输入的多个查询条件,拼接到sql语句中呢? DynamicMapper接口声明如下 p ...
- 虚拟DOM中给同一层级的元素设置固定且唯一的key为什么能提高性能
一.文字 key让React知道,当前新生成的React元素中的元素,是否能在之前生成的React元素中找到对应的.如果有,那么直接拿过来用就行了.假设列表头部插入一项,通过比对,React知道除了头 ...
- 【一句话】Redis的3中缓存策略
首先一句话: 旁路缓存模式策略:写->写DB,删缓存,读->读cache,没有则读DB,然后更新到缓存 读写穿透策略:写->写缓存,然后由缓存系统写DB,读->读cache,没 ...
- 843. n-皇后问题
题目: 这 道 题 呢 唯 一 一 点 与 其 他 题 目 不 同 之 处 就 是 它 有 有 3 个 v i s 数 组 以及是一行一行深搜的. 主要思路为: 从第一行 到第n行,一行放一个,这一行 ...
- 翻译《threejsfundamentals》离屏渲染+web-worker一篇
Three.js OffscreenCanvas OffscreenCanvas是一种相对较新的浏览器功能,目前仅在Chrome中可用,但显然也即将适用于其他浏览器. OffscreenCanv ...