You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
315 lines
11 KiB
315 lines
11 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Drawing;
|
|
|
|
namespace FangYar.ZHSQAPP.ashx
|
|
{
|
|
/// <summary>
|
|
/// CommonHandler 的摘要说明
|
|
/// </summary>
|
|
public class ZYCommonHandler : IHttpHandler
|
|
{
|
|
|
|
private FangYar.BLL.CommomBLL bll = new BLL.CommomBLL();
|
|
|
|
public void ProcessRequest(HttpContext context)
|
|
{
|
|
context.Response.ContentType = "text/json";
|
|
string action = context.Request.Params["Action"];
|
|
string returnstr = "";
|
|
|
|
|
|
switch (action)
|
|
{
|
|
case "GetTEXT":
|
|
returnstr = GetTEXT(context);
|
|
break;
|
|
case "HYTYPE":
|
|
returnstr = GetHYTYPE(context);
|
|
break;
|
|
case "getDicList":
|
|
returnstr = getDicList(context);
|
|
break;
|
|
case "getModsDicList":
|
|
returnstr = getModsDicList(context);
|
|
break;
|
|
case "UploadImg":
|
|
returnstr = GetUploadImg(context);
|
|
break;
|
|
case "UserName":
|
|
returnstr = GetUserName(context);
|
|
break;
|
|
case "GetHomeCount ": //获取首页中的综合数据统计
|
|
returnstr = GetHomeCount(context);
|
|
break;
|
|
case "UploadFiles":
|
|
returnstr = UploadFiles(context);
|
|
break;
|
|
}
|
|
context.Response.Write(returnstr);
|
|
}
|
|
|
|
|
|
//根据字典表 类型、value值获取text
|
|
private string GetTEXT(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
FangYar.Model.LoginUserModel user = FangYar.Common.UserHelper.GetUser(context);
|
|
string modCode = context.Request.Params["mod_code"];
|
|
string dicValue = context.Request.Params["dic_value"];
|
|
|
|
if (user != null)
|
|
{
|
|
|
|
string modtype = context.Request.Params["modtype"];
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"data\":";
|
|
DataTable data = bll.GetTableList("*", "tbl_sys_dicdetail", " MOD_CODE ='" + modCode + "' and DIC_VALUE = '" + dicValue + "'");
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(data);
|
|
returnstr += "}";
|
|
}
|
|
else { returnstr = "{\"code\":-2,\"msg\":\"登录超时\",\"count\":0,\"data\":[]}"; }
|
|
}
|
|
catch
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
//查询行业类型
|
|
private string GetHYTYPE(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
FangYar.Model.LoginUserModel user = FangYar.Common.UserHelper.GetUser(context);
|
|
|
|
|
|
if (user != null)
|
|
{
|
|
DataTable list = (DataTable)FangYar.Common.CacheHelper.GetCache("HYTYPE");
|
|
if (list == null)
|
|
{
|
|
list = bll.GetTableList("*", "tbl_sys_dicdetail", " MOD_CODE ='HYTYPE'");
|
|
FangYar.Common.CacheHelper.SetCache("HYTYPE", list);
|
|
}
|
|
string where = " DEV_CODE = '" + user.OrgID + "' ";
|
|
where += " and RECORD_STATE ='0' ";
|
|
|
|
returnstr = "{\"code\":1,\"msg\":\"\",";
|
|
returnstr += "\"data\":{";
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(list);
|
|
returnstr += "}";
|
|
returnstr += "}";
|
|
}
|
|
else { returnstr = "{\"code\":-2,\"msg\":\"登录超时\",\"count\":0,\"data\":[]}"; }
|
|
}
|
|
catch
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
//查询字典列表
|
|
private string getDicList(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string modtype = context.Request.Params["modtype"];
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"data\":";
|
|
DataTable data = bll.GetTableList("*", "tbl_sys_dicdetail", " MOD_CODE ='" + modtype + "'");
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(data);
|
|
returnstr += "}";
|
|
}
|
|
catch
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
//查询多类型字典列表
|
|
private string getModsDicList(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string modtypes = context.Request.Params["modtypes"];
|
|
|
|
string[] modtypeArray = modtypes.Split(',');
|
|
string modtype_s = "";
|
|
for (int i = 0; i < modtypeArray.Length; i++)
|
|
{
|
|
if (i == 0)
|
|
{
|
|
modtype_s = "'" + modtypeArray[i] + "'";
|
|
}
|
|
else
|
|
{
|
|
modtype_s += ",'" + modtypeArray[i] + "'";
|
|
}
|
|
}
|
|
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"data\":";
|
|
DataTable data = bll.GetTableList("*", "tbl_sys_dicdetail", " MOD_CODE in(" + modtype_s + ") order by MOD_CODE , (DIC_ORDER)");
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(data);
|
|
returnstr += "}";
|
|
}
|
|
catch
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
//图片上传
|
|
private string GetUploadImg(HttpContext context)
|
|
{
|
|
string end = "{\"code\": -1,\"msg\": \"\",\"data\": {\"src\": \"\"}}"; //返回的json
|
|
|
|
var file = context.Request.Files[0]; //获取选中文件
|
|
string serverPath = context.Request.Params["fileUrl"];
|
|
|
|
Stream stream = file.InputStream; //将文件转为流
|
|
|
|
System.Drawing.Image img = Image.FromStream(stream);//将流中的图片转换为Image图片对象
|
|
|
|
Random ran = new Random((int)DateTime.Now.Ticks);//利用时间种子解决伪随机数短时间重复问题
|
|
if (!Directory.Exists(context.Server.MapPath("~/" + serverPath)))
|
|
{
|
|
DirectoryInfo directoryInfo = new DirectoryInfo(context.Server.MapPath("~/" + serverPath));
|
|
directoryInfo.Create();
|
|
}
|
|
|
|
//文件保存位置及命名,精确到毫秒并附带一组随机数,防止文件重名,数据库保存路径为此变量
|
|
//string serverPath = "Upload/Device/";
|
|
string filename = serverPath + DateTime.Now.ToString("yyyyMMddhhmmssms") + ran.Next(99999) + ".jpg";
|
|
//路径映射为绝对路径
|
|
string path = context.Server.MapPath("~/") + filename;
|
|
try
|
|
{
|
|
img.Save(path);//图片保存,JPEG格式图片较小
|
|
|
|
//保存成功后的json
|
|
end = "{\"code\": 0,\"msg\": \"\",\"data\": {\"src\": \"" + filename + "\"}}";
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
}
|
|
return end;
|
|
}
|
|
|
|
//根据入库登录名,更新登录名获取相应 姓名
|
|
private string GetUserName(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string A_PER = context.Request.Params["A_PER"];
|
|
string U_PER = context.Request.Params["U_PER"];
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"Data\":";
|
|
DataTable data = bll.getUserName(A_PER, U_PER);
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(data);
|
|
returnstr += "}";
|
|
}
|
|
catch
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
//获取首页综合总计数据
|
|
private string GetHomeCount(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
string ORG_ID = context.Request.Params["ORG_ID"];
|
|
returnstr = "{\"code\":0,\"msg\":\"\",\"Data\":";
|
|
string where = "";
|
|
if (!string.IsNullOrEmpty(ORG_ID))
|
|
{
|
|
where += " and (ORG_ID ='" + ORG_ID + "' or ORG_ID in (select o.org_id from fire_org o where o.pid = '" + ORG_ID + "') )";
|
|
}
|
|
DataTable data = bll.getHomeCount(where);
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(data);
|
|
returnstr += "}";
|
|
}
|
|
catch
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]";
|
|
}
|
|
return returnstr;
|
|
}
|
|
|
|
private string UploadFiles(HttpContext context)
|
|
{
|
|
int code = -1;
|
|
string msg = "";
|
|
string URL = null;
|
|
string uploadpath = null;
|
|
string filename = null;
|
|
string originalName = null;
|
|
HttpPostedFile uploadFile = null;
|
|
|
|
string serverPath = context.Request.Params["fileUrl"];
|
|
serverPath = serverPath + "/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
|
|
if (!Directory.Exists(context.Server.MapPath("~/" + serverPath)))
|
|
{
|
|
DirectoryInfo directoryInfo = new DirectoryInfo(context.Server.MapPath("~/" + serverPath));
|
|
directoryInfo.Create();
|
|
}
|
|
uploadpath = context.Server.MapPath("~/" + serverPath);
|
|
|
|
try
|
|
{
|
|
|
|
uploadFile = context.Request.Files[0];
|
|
originalName = uploadFile.FileName.Split('.')[0];
|
|
filename = originalName + "(" + System.Guid.NewGuid() + ")" + getFileExt(uploadFile);
|
|
uploadFile.SaveAs(uploadpath + filename);
|
|
URL = serverPath + filename;
|
|
msg = "上传成功";
|
|
code = 1;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
code = -1;
|
|
msg = "未知错误";
|
|
URL = "";
|
|
}
|
|
string returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\",\"url\":\"" + URL + "\"}";
|
|
|
|
return returnstr;
|
|
|
|
}
|
|
private bool checkSize(HttpPostedFile uploadFile, int size)
|
|
{
|
|
return uploadFile.ContentLength >= (size * 1024 * 1024000);
|
|
}
|
|
|
|
//获取文件扩展名
|
|
private string getFileExt(HttpPostedFile uploadFile)
|
|
{
|
|
string[] temp = uploadFile.FileName.Split('.');
|
|
return "." + temp[temp.Length - 1].ToLower();
|
|
}
|
|
public bool IsReusable
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|