//连接视图名称,视图在数据库写好
<%@ 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# 报表接口样例,简单实用的更多相关文章

  1. 【gRPC】C++异步服务端优化版,多服务接口样例

    官方的C++异步服务端API样例可读性并不好,理解起来非常的费劲,各种状态机也并不明了,整个运行过程也容易读不懂,因此此处参考网上的博客进行了重写,以求顺利读懂. C++异步服务端实例,详细注释版 g ...

  2. Ajax调用WebService接口样例

    在做手机端h5的应用时,通过Ajax调用http接口时没啥问题的:但有些老的接口是用WebService实现的,也来不及改成http的方式,这时通过Ajax调用会有些麻烦,在此记录具体实现过程.本文使 ...

  3. go语言多态接口样例

    感觉比java玄幻啊~~~ package main import ( "fmt" ) type notifier interface{ notify() } type user ...

  4. 怎样把报表放到网页中显示(Web页面与报表简单集成样例)

    1.问题描写叙述 如今用户开发的系统基本上趋向于BS架构的浏览器/server模式.这些系统可能由不同的语言开发.如HTML.ASP.JSP.PHP等.因此须要将制作好的报表嵌入到这些页面中. Fin ...

  5. 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture)

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  6. VC6 鼠标钩子 最简单样例

    Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的.而钩子是Windows系统中非常重要的系统接口,用它能够截获并处理送给其它应用程序的消息,来完毕普通应用程序 ...

  7. 最简单的视音频播放演示样例8:DirectSound播放PCM

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  8. 最简单的视音频播放演示样例3:Direct3D播放YUV,RGB(通过Surface)

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  9. JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例

    什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MS ...

  10. 百度地图 Android SDK - 检索功能使用的简单演示样例

    百度地图 SDK 不仅为广大开发人员提供了炫酷的地图展示效果.丰富的覆盖物图层,更为广大开发人员提供了多种 LBS 检索的能力. 通过这些接口,开发人员能够轻松的訪问百度的 LBS 数据,丰富自己的移 ...

随机推荐

  1. [机器学习] sklearn聚类

    聚类(Clustering)简单来说就是一种分组方法,将一类事物中具有相似性的个体分为一类,将另一部分比较相近的个体分为另一类.例如人和猿都是灵长目动物,但是根据染色体数目不同可以将人和猿分类不同的两 ...

  2. [编程基础] C++多线程入门4-数据共享和资源竞争

    原始C++标准仅支持单线程编程.新的C++标准(称为C++11或C++0x)于2011年发布.在C++11中,引入了新的线程库.因此运行本文程序需要C++至少符合C++ 11标准. 4 数据共享和资源 ...

  3. 主题 2 Shell工具和脚本

    主题 2 Shell工具和脚本 Shell 工具和脚本 · the missing semester of your cs education (missing-semester-cn.github. ...

  4. 使用Python库pyqt5制作TXT阅读器(一)-------UI设计

    项目地址:https://github.com/pikeduo/TXTReader PyQt5中文手册:https://maicss.gitbook.io/pyqt-chinese-tutoral/p ...

  5. maven打包出现Failed to execute goal xxx.plugins:maven-compiler-plugin:3.7.0:compile.......:Fatal error compiling解决方法

    起初在给项目打包时出现了这个错: 网上查了很多资料,都说JDK配置不对,我检查了一下,发现明明都一样. 为了获取更详细的报错信息,我决定用命令行的打包方式来编译: cd进去要打包的这个目录,用命令行的 ...

  6. 顺手写的redis分布式锁

    /** * 锁定一个key,***一定要手工释放锁 * * @param key * @return */ public boolean lockKey(String key) { return re ...

  7. mysql 错误解决大法 Specified key was too long; max key length is 767 bytes

    高版本mysql向低版本(5.7以下)导入sql时可能会发生此问题 开启索引最大长度 SET GLOBAL INNODB_LARGE_PREFIX = ON; 将表改为动态表SET GLOBAL in ...

  8. Asp.Net Core中利用过滤器控制Nginx的缓存时间

    前言 Web项目中很多网页资源比如html.js.css通常会做服务器端的缓存,加快网页的加载速度 一些周期性变化的API数据也可以做缓存,例如广告资源位数据,菜单数据,商品类目数据,商品详情数据,商 ...

  9. QSqlTableMode | QTableWidget 清除数据

    当我使用QTableView绑定QSqlTableModel的时候,我需要清除数据,但我又不能使用QSqlTableModel::clear(),因为使用clear就会把表名等一些设置好的数据清除掉. ...

  10. Svelte框架结合SpreadJS实现表格协同文档

    SpreadJS是葡萄城结合 40 余年专业控件技术和在电子表格应用领域的经验而推出的纯前端表格控件.作为一个类Excel控件,SpreadJS如何实现当前比较流行的表格协同呢?本篇文章将简单介绍一下 ...