using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using Newtonsoft.Json; using System.IO; using Spire.Doc; using Spire.Doc.Documents; using System.Drawing; using Spire.Doc.Fields; namespace FangYar.WebUI.ashx { /// /// CarHandler 的摘要说明 /// public class CarHandler : IHttpHandler { private FangYar.BLL.TBL_SYS_CAR bll = new FangYar.BLL.TBL_SYS_CAR(); FangYar.BLL.TBL_CARACCESS cabll = new BLL.TBL_CARACCESS(); public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string action = context.Request.Params["Action"]; string returnstr = ""; switch (action) { case "CarList": returnstr = GetCarList(context); break; case "Add": returnstr = AddCar(context); break; case "Edit": returnstr = EditOrgEmp(context); break; case "Del": returnstr = DelCar(context); break; case "GetTree": returnstr = GetTree(context); break; case "CarLocationList": returnstr = CarLocationList(context); break; case "View": returnstr = View(context); break; case "GetCarAccessList": returnstr = GetCarAccessList(context); break; case "ViewAccess": returnstr = ViewAccess(context); break; case "GetCarWeek": returnstr = GetCarWeek(context); break; case "GetAppCarList": returnstr = GetAppCarList(context); break; case "CarNumGetModel": returnstr = CarNumGetModel(context); break; case "expList": expList(context); break; case "GetCarListByIMEI": returnstr = GetCarListByIMEI(context); break; case "carAccessSta": returnstr = carAccessSta(context); break; case "carAccessSta2": returnstr = carAccessSta2(context); break; case "homeCarSta": returnstr = homeCarSta(context); break; case "StatisticsTra": returnstr = StatisticsTra(context); break; case "getCarAccListByTime": returnstr = getCarAccListByTime(context); break; case "getCarAccListByTime2": returnstr = getCarAccListByTime2(context); break; case "htmlToWord": returnstr = htmlToWord(context); break; case "htmlToWord2": returnstr = htmlToWord2(context); break; case "getSubordinateData": returnstr = getSubordinateData(context); break; case "getPerAndCarStatisticss": returnstr = getPerAndCarStatisticss(context); break; case "htmlToWord3": HtmlToWord3(context); break; } context.Response.Write(returnstr); } //查询 private string GetCarList(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; string OrgList = context.Request.Params["OrgList"]; string keyword = context.Request.Params["keywords"]; string treeID = context.Request.Params["treeID"]; string type = context.Request.Params["type"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; string bclass = context.Request.Params["class"]; string is_content = context.Request.Params["is_content"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = "1=1"; if (!string.IsNullOrEmpty(treeID) && treeID != OrgId) { if (is_content == "1") { where = "( org_id in ( select o.org_id from fire_org o,(select get_Org_child_list('" + treeID + "') cids ) s where find_in_set(org_id,cids)) "; where += " or DEPT_ID in ( select o.org_id from fire_org o,(select get_Org_child_list('" + treeID + "') cids ) s where find_in_set(org_id,cids)) "; } else { where = "( ORG_ID = '" + treeID + "'"; where += " or DEPT_ID = '" + treeID + "')"; } } else { if (is_content == "1") { if (!string.IsNullOrEmpty(bclass)) { if (!string.IsNullOrEmpty(keyword)) { where = " (org_id in ( select o.org_id from fire_org o,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids) and CLASS = '" + bclass + "' and CAR_NUM like '%" + keyword + "%' and (is_del != '1' or is_del is null))) "; where += " or DEPT_ID in ( select o.org_id from fire_org o,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids)) "; } else { where = " (org_id in ( select o.org_id from fire_org o,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids) and CLASS = '" + bclass + "' and (is_del != '1' or is_del is null))) "; where += " or DEPT_ID in ( select o.org_id from fire_org o,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids)) "; } } else { if (!string.IsNullOrEmpty(keyword)) { where = " (org_id in ( select o.org_id from fire_org o,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids) and CAR_NUM like '%" + keyword + "%' )) "; where += " or DEPT_ID in ( select o.org_id from fire_org o,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids)) "; } else { where = " (org_id in ( select o.org_id from fire_org o,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids))) "; where += " or DEPT_ID in ( select o.org_id from fire_org o,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids)) "; } } } else { where = "(ORG_ID = '" + OrgId + "'"; where += " or DEPT_ID = '" + OrgId + "')"; } } if (!string.IsNullOrEmpty(bclass)) { where += " and CLASS = '" + bclass + "'"; } if (!string.IsNullOrEmpty(keyword)) { if (where != null) { where += " and "; } where += " CAR_NUM like '%" + keyword + "%' "; } if (where != null) { where += " and "; } where += " (is_del != '1' or is_del is null)"; returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = bll.QueryList(pageIndex, pageSize, where, ""); returnstr += Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } //添加 private string AddCar(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string car_name = context.Request.Params["car_name"];//车辆名称 string car_no = context.Request.Params["car_no"];//车辆编号 string org_id = context.Request.Params["org_id"]; //上机消防机关 string dept_id = context.Request.Params["dept_id"]; //本机消防机关 string car_num = context.Request.Params["car_num"];//车辆号牌 string car_code = context.Request.Params["car_code"];//车辆登记代号 string frame_num = context.Request.Params["frame_num"];//车架号 string engine_no = context.Request.Params["engine_no"];//发动机号 string trademark = context.Request.Params["trademark"];//商标 string gbcode = context.Request.Params["gbcode"];//国标代码 string factory = context.Request.Params["factory"];//出厂厂家 string liableman = context.Request.Params["liableman"]; //责任人名称 string region = context.Request.Params["region"]; //所属辖区 //string isrun = context.Request.Params["isrun"];//是否运行 string bigclass = context.Request.Params["class"];//大类型 string type = context.Request.Params["type"];//小类型 string watwernum = context.Request.Params["waternum"];//载水量 string drypowder = context.Request.Params["drypowder"];//载干粉量 string heightboardingcar = context.Request.Params["heightboardingcar"]; //登高车工作高度 string frothamount = context.Request.Params["frothamount"]; //泡沫量 string frothamounta = context.Request.Params["frothamounta"];//类泡沫量 string frothamountb = context.Request.Params["frothamountb"];//类泡沫量 string frothamountmulti = context.Request.Params["frothamountmulti"];//多功能泡沫量 string liquidlevel = context.Request.Params["liquidlevel"];//液位 string pressure = context.Request.Params["pressure"];//压力 string telnum = context.Request.Params["telnum"];//电话 string PHOTO = context.Request.Params["PHOTO"];//车辆照片 string IMEI = context.Request.Params["IMEI"];//车辆照片 string remarks = context.Request.Params["REMARKS"];//备注 //车辆表 FangYar.Model.TBL_SYS_CAR model = new Model.TBL_SYS_CAR(); model.ID = Guid.NewGuid().ToString("N"); model.CAR_NAME = car_name; model.CAR_NO = car_no; model.ORG_ID = org_id; ; model.DEPT_ID = dept_id; model.CAR_NUM = car_num; model.CAR_CODE = car_code; model.FRAME_NUM = frame_num; model.ENGINE_NO = engine_no; model.TRADEMARK = trademark; model.GB_CODE = gbcode; model.FACTORY = factory; model.LIABLEMAN = liableman; model.REGION = region; model.ISRUN = "0"; model.CLASS = bigclass; model.TYPE = type; model.REMARKS = remarks; model.TELNUM = telnum; if (!string.IsNullOrEmpty(watwernum)) { model.WATERNUM = Convert.ToDecimal(watwernum); } if (!string.IsNullOrEmpty(drypowder)) { model.DRYPOWDER = Convert.ToDecimal(drypowder); } if (!string.IsNullOrEmpty(heightboardingcar)) { model.HEIGHTBOARDINGCAR = Convert.ToDecimal(heightboardingcar); } if (!string.IsNullOrEmpty(frothamount)) { model.FROTHAMOUNT = Convert.ToDecimal(frothamount); } if (!string.IsNullOrEmpty(frothamounta)) { model.FROTHAMOUNTA = Convert.ToDecimal(frothamounta); } if (!string.IsNullOrEmpty(frothamountb)) { model.FROTHAMOUNTB = Convert.ToDecimal(frothamountb); } if (!string.IsNullOrEmpty(frothamountmulti)) { model.FROTHAMOUNTMULTI = Convert.ToDecimal(frothamountmulti); } if (!string.IsNullOrEmpty(liquidlevel)) { model.LIQUIDLEVEL = Convert.ToDecimal(liquidlevel); } if (!string.IsNullOrEmpty(pressure)) { model.PRESSURE = Convert.ToDecimal(pressure); } model.ISSTART = "0"; model.ISAPPLY = "0"; model.PHOTO = PHOTO; model.IMEI = IMEI; if (bll.Add(model)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } catch { msg = "添加失败!"; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //修改 private string EditOrgEmp(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string id = context.Request.Params["id"]; string car_name = context.Request.Params["car_name"];//车辆名称 string car_no = context.Request.Params["car_no"];//车辆编号 string org_id = context.Request.Params["org_id"]; //上机消防机关 string dept_id = context.Request.Params["dept_id"]; //本机消防机关 string car_num = context.Request.Params["car_num"];//车辆号牌 string car_code = context.Request.Params["car_code"];//车辆登记代号 string frame_num = context.Request.Params["frame_num"];//车架号 string engine_no = context.Request.Params["engine_no"];//发动机号 string trademark = context.Request.Params["trademark"];//商标 string gbcode = context.Request.Params["gbcode"];//国标代码 string factory = context.Request.Params["factory"];//出厂厂家 string liableman = context.Request.Params["liableman"]; //责任人名称 string region = context.Request.Params["region"]; //所属辖区 //string isrun = context.Request.Params["isrun"];//是否运行 string bigclass = context.Request.Params["class"];//大类型 string type = context.Request.Params["type"];//小类型 string watwernum = context.Request.Params["waternum"];//载水量 string drypowder = context.Request.Params["drypowder"];//载干粉量 string heightboardingcar = context.Request.Params["heightboardingcar"]; //登高车工作高度 string frothamount = context.Request.Params["frothamount"]; //泡沫量 string frothamounta = context.Request.Params["frothamounta"];//类泡沫量 string frothamountb = context.Request.Params["frothamountb"];//类泡沫量 string frothamountmulti = context.Request.Params["frothamountmulti"];//多功能泡沫量 string liquidlevel = context.Request.Params["liquidlevel"];//液位 string pressure = context.Request.Params["pressure"];//压力 string telnum = context.Request.Params["telnum"];//电话 string isstart = context.Request.Params["isstart"];//是否启动 string isapply = context.Request.Params["isapply"];//申请状态 string PHOTO = context.Request.Params["PHOTO"];//车辆照片 string IMEI = context.Request.Params["IMEI"];//车辆照片 string remarks = context.Request.Params["remarks"];//备注 FangYar.Model.TBL_SYS_CAR model = new Model.TBL_SYS_CAR(); model = bll.GetModel(id); if (model != null) { model.ID = id; model.CAR_NAME = car_name; model.CAR_NO = car_no; model.ORG_ID = org_id; model.DEPT_ID = dept_id; model.CAR_NUM = car_num; model.CAR_CODE = car_code; model.FRAME_NUM = frame_num; model.ENGINE_NO = engine_no; model.TRADEMARK = trademark; model.GB_CODE = gbcode; model.FACTORY = factory; model.LIABLEMAN = liableman; model.REGION = region; model.ISRUN = "0"; model.CLASS = bigclass; model.TYPE = type; model.REMARKS = remarks; model.TELNUM = telnum; if (!string.IsNullOrEmpty(watwernum)) { model.WATERNUM = Convert.ToDecimal(watwernum); } if (!string.IsNullOrEmpty(drypowder)) { model.DRYPOWDER = Convert.ToDecimal(drypowder); } if (!string.IsNullOrEmpty(heightboardingcar)) { model.HEIGHTBOARDINGCAR = Convert.ToDecimal(heightboardingcar); } if (!string.IsNullOrEmpty(frothamount)) { model.FROTHAMOUNT = Convert.ToDecimal(frothamount); } if (!string.IsNullOrEmpty(frothamounta)) { model.FROTHAMOUNTA = Convert.ToDecimal(frothamounta); } if (!string.IsNullOrEmpty(frothamountb)) { model.FROTHAMOUNTB = Convert.ToDecimal(frothamountb); } if (!string.IsNullOrEmpty(frothamountmulti)) { model.FROTHAMOUNTMULTI = Convert.ToDecimal(frothamountmulti); } if (!string.IsNullOrEmpty(liquidlevel)) { model.LIQUIDLEVEL = Convert.ToDecimal(liquidlevel); } if (!string.IsNullOrEmpty(pressure)) { model.PRESSURE = Convert.ToDecimal(pressure); } if (!String.IsNullOrWhiteSpace(isstart)) { model.ISSTART = isstart; } else { model.ISSTART = "0"; } if (!String.IsNullOrWhiteSpace(isapply)) { model.ISAPPLY = isapply; } model.PHOTO = PHOTO; model.IMEI = IMEI; if (bll.Update(model)) { msg = "修改成功!"; code = 1; } else { msg = "修改失败!"; } } else { msg = "修改失败!"; } } catch (Exception e) { msg = "修改失败!"; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //删除车辆 private string DelCar(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string EmpList = context.Request.Params["carList"]; string[] EmpArray = EmpList.Split(','); string EmpListString = ""; for (int i = 0; i < EmpArray.Length; i++) { if (i == 0) { EmpListString = "'" + EmpArray[i] + "'"; } else { EmpListString += ",'" + EmpArray[i] + "'"; } } if (bll.DeleteList(EmpListString)) { msg = "删除成功!"; code = 1; } else { msg = "删除失败!"; } } catch { msg = "删除失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } //获取车辆tree private string GetTree(HttpContext context) { string returnstr = ""; try { string orgId = context.Request.Params["OrgId"]; returnstr = "{\"code\":0,\"msg\":\"\",\"data\":"; DataTable data = bll.GetListCarTree(orgId).Tables[0]; //DataTable data = bll.GetList("ORG_ID='" + orgId + "' and class !=2").Tables[0]; data.Columns.Add("nocheck", typeof(string)); //数据类型为文本 for (int i = 0; i < data.Rows.Count; i++) { string aaa = data.Rows[i]["TYPE"].ToString(); if (data.Rows[i]["TYPE"].ToString() == "car") { data.Rows[i]["nocheck"] = "false"; } else { data.Rows[i]["nocheck"] = "true"; } } returnstr += Common.JsonHelper.ToJson(data); returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } private string View(HttpContext context) { string returnstr = ""; string data = ""; string msg = ""; try { string ID = context.Request.Params["ID"];//车辆id DataTable dt = new DataTable(); dt = bll.CarInfo(ID).Tables[0]; if (dt != null) { msg = "查看成功!"; data = FangYar.Common.JsonHelper.ToJson(dt); } else { msg = "查看失败!"; } } catch { msg = "添加失败!"; } returnstr = "{\"msg\":\"" + msg + "\",\"data\":" + data + "}"; return returnstr; } private string GetCarAccessList(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; string treeID = context.Request.Params["treeID"]; string keyword = context.Request.Params["keywords"]; string type = context.Request.Params["type"]; string beginDate = context.Request.Params["startTime"]; string endDate = context.Request.Params["endTime"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; string bclass = context.Request.Params["class"]; string is_content = context.Request.Params["is_content"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = "1=1"; if (!string.IsNullOrEmpty(treeID) && treeID != OrgId) { if (is_content == "1") { where = " org_id in ( select o.org_id from fire_org o,(select get_Org_child_list('" + treeID + "') cids ) s where find_in_set(org_id,cids) ) "; } else { where = " ORG_ID = '" + treeID + "'"; } } else { if (is_content == "1") { where = " org_id in ( select o.org_id from fire_org o ,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids) ) "; } else { where = " ORG_ID = '" + OrgId + "'"; } } if (!string.IsNullOrEmpty(bclass)) { if (bclass == "1") { where += " and CLASS = '1'"; } else { where += " and CLASS != '1'"; } } if (!string.IsNullOrEmpty(keyword)) { if (where != null) { where += " and "; } where += "( CAR_PLATE like '%" + keyword + "%' or COLOR like '%" + keyword + "%')"; } if (!String.IsNullOrWhiteSpace(beginDate) && !String.IsNullOrWhiteSpace(endDate)) { if (endDate.Split(' ')[1].TrimStart().TrimEnd().Equals("00:00:00")) { endDate = endDate.ToDateString() + " 23:59:59"; } //where += " and (START_TIME between '" + beginDate + "' and '" + endDate + "')"; where += " and (START_TIME between date_format('" + beginDate + "','%Y-%m-%d %H:%i:%s') and date_format('" + endDate + "','%Y-%m-%d %H:%i:%s'))"; } where += " order by START_TIME desc"; returnstr = "{\"code\":0,\"msg\":\"\","; int count = cabll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { string data = "["; List list = cabll.QueryList(pageIndex, pageSize, where, ""); for (int i = 0; i < list.Count; i++) { string pic1 = ""; string pic2 = ""; if (list[i].PICTURE != null && list[i].PICTURE.ToString() != "") { pic1 = Convert.ToBase64String((byte[])list[i].PICTURE); } if (list[i].CLOSEUP_PIC != null && list[i].CLOSEUP_PIC.ToString() != "") { pic2 = Convert.ToBase64String((byte[])list[i].CLOSEUP_PIC); } string className = list[i].CLASS == "0" ? "公务车" : (list[i].CLASS == "1" ? "执勤车" : "私家车"); data += "{\"ID\":\"" + list[i].ID + "\",\"TYPE\":\"" + list[i].TYPE + "\",\"CAR_PLATE\":\"" + list[i].CAR_PLATE + "\",\"COLOR\":\"" + list[i].COLOR + "\",\"CAR_COLOR\":\"" + list[i].CAR_COLOR + "\",\"CAR_LOGO\":\"" + list[i].CAR_LOGO + "\",\"START_TIME\":\"" + list[i].START_TIME + "\",\"CAMERA_ID\":\"" + list[i].CAMERA_ID + "\","; data += "\"ORG_ID\":\"" + list[i].ORG_ID + "\",\"VEHICLETYPE\":\"" + list[i].VEHICLETYPE + "\",\"CAR_ID\":\"" + list[i].CAR_ID + "\",\"INOROUT\":\"" + list[i].INOROUT + "\",\"CLASS\":\"" + list[i].CLASS + "\",\"CLASS_NAME\":\"" + className + "\",\"ADDR\":\"" + list[i].ADDR + "\",\"DUTYMANS\":\"" + list[i].DUTYMANS + "\",\"ORG_NAME\":\"" + list[i].ORG_NAME + "\",\"APPLY_ID\":\"" + list[i].APPLY_ID + "\",\"USERMAN\":\"" + list[i].USERMAN + "\","; data += "\"PICTURE\":\"" + pic1 + "\",\"CLOSEUP_PIC\":\"" + pic2 + "\","; data += "\"EXTEND2\":\"" + list[i].EXTEND2 + "\",\"EXTEND3\":\"" + list[i].EXTEND3 + "\"}"; if (i != list.Count - 1) { data += ","; } } returnstr += data + "]"; } returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } //获取车辆进出的详细记录 private string ViewAccess(HttpContext context) { FangYar.BLL.TBL_CARACCESS cabll = new BLL.TBL_CARACCESS(); string strwhere = "1=1 "; string returnstr = ""; string data = ""; string applyString = "\"\""; string msg = ""; try { string ID = context.Request.Params["ID"];// DataTable dt = new DataTable(); if (!string.IsNullOrEmpty(ID)) { strwhere += "and ID='" + ID + "'"; } dt = cabll.GetAccessInfo(strwhere).Tables[0]; if (dt != null) { msg = "查看成功!"; data = "["; string pic1 = ""; string pic2 = ""; if (dt.Rows[0]["PICTURE"] != null && dt.Rows[0]["PICTURE"].ToString() != "") { pic1 = Convert.ToBase64String((byte[])dt.Rows[0]["PICTURE"]); } if (dt.Rows[0]["CLOSEUP_PIC"] != null && dt.Rows[0]["CLOSEUP_PIC"].ToString() != "") { pic2 = Convert.ToBase64String((byte[])dt.Rows[0]["CLOSEUP_PIC"]); } //data += "{\"ID\":\"" + dt.Rows[0]["ID"].ToString() + "\",\"TYPE\":\"" + dt.Rows[0]["TYPE"].ToString() + "\",\"CAR_PLATE\":\"" + dt.Rows[0]["CAR_PLATE"].ToString() + "\",\"COLOR\":\"" + dt.Rows[0]["COLOR"].ToString() + "\",\"CAR_COLOR\":\"" + dt.Rows[0]["CAR_COLOR"].ToString() + "\",\"CAR_LOGO\":\"" + dt.Rows[0]["CAR_LOGO"].ToString() + "\",\"START_TIME\":\"" + dt.Rows[0]["START_TIME"].ToString() + "\",\"CAMERA_ID\":\"" + dt.Rows[0]["CAMERA_ID"].ToString() + "\","; //data += "\"ORG_ID\":\"" + dt.Rows[0]["ORG_ID"].ToString() + "\",\"ORG_NAME\":\"" + dt.Rows[0]["ORG_NAME"].ToString() + "\",\"VEHICLETYPE\":\"" + dt.Rows[0]["VEHICLETYPE"].ToString() + "\",\"CAR_ID\":\"" + dt.Rows[0]["CAR_ID"].ToString() + "\",\"INOROUT\":\"" + dt.Rows[0]["INOROUT"].ToString() + "\",\"CLASS\":\"" + dt.Rows[0]["CLASS"].ToString() + "\",\"ADDR\":\"" + dt.Rows[0]["ADDR"].ToString() + "\",\"DUTYMANS\":\"" + dt.Rows[0]["DUTYMANS"].ToString() + "\","; //data += "\"PICTURE\":\"" + pic1 + "\",\"CLOSEUP_PIC\":\"" + pic2 + "\","; //data += "\"EXTEND2\":\"" + dt.Rows[0]["EXTEND2"].ToString() + "\",\"EXTEND3\":\"" + dt.Rows[0]["EXTEND3"].ToString() + "\"}"; string className = dt.Rows[0]["CLASS"].ToString() == "0" ? "公务车" : (dt.Rows[0]["CLASS"].ToString() == "1" ? "执勤车" : "私家车"); data += "{\"ID\":\"" + dt.Rows[0]["ID"].ToString() + "\",\"TYPE\":\"" + dt.Rows[0]["TYPE"].ToString() + "\",\"CAR_PLATE\":\"" + dt.Rows[0]["CAR_PLATE"].ToString() + "\",\"COLOR\":\"" + dt.Rows[0]["COLOR"].ToString() + "\",\"CAR_COLOR\":\"" + dt.Rows[0]["CAR_COLOR"].ToString() + "\",\"CAR_LOGO\":\"" + dt.Rows[0]["CAR_LOGO"].ToString() + "\",\"START_TIME\":\"" + dt.Rows[0]["START_TIME"].ToString() + "\",\"CAMERA_ID\":\"" + dt.Rows[0]["CAMERA_ID"].ToString() + "\","; data += "\"ORG_ID\":\"" + dt.Rows[0]["ORG_ID"].ToString() + "\",\"VEHICLETYPE\":\"" + dt.Rows[0]["VEHICLETYPE"].ToString() + "\",\"CAR_ID\":\"" + dt.Rows[0]["CAR_ID"].ToString() + "\",\"INOROUT\":\"" + dt.Rows[0]["INOROUT"].ToString() + "\",\"CLASS\":\"" + dt.Rows[0]["CLASS"].ToString() + "\",\"CLASS_NAME\":\"" + className + "\",\"ADDR\":\"" + dt.Rows[0]["ADDR"].ToString() + "\",\"DUTYMANS\":\"" + dt.Rows[0]["DUTYMANS"].ToString() + "\",\"ORG_NAME\":\"" + dt.Rows[0]["ORG_NAME"].ToString() + "\",\"APPLY_ID\":\"" + dt.Rows[0]["APPLY_ID"].ToString() + "\",\"USERMAN\":\"" + dt.Rows[0]["USERMAN"].ToString() + "\","; data += "\"PICTURE\":\"" + pic1 + "\",\"CLOSEUP_PIC\":\"" + pic2 + "\","; data += "\"EXTEND2\":\"" + dt.Rows[0]["EXTEND2"].ToString() + "\",\"EXTEND3\":\"" + dt.Rows[0]["EXTEND3"].ToString() + "\""; //data += "\"LIABLEMAN\":\"" + dt.Rows[0]["LIABLEMAN"].ToString() + "\",\"DEPT_NAME\":\"" + dt.Rows[0]["DEPT_NAME"].ToString() + "\""; data += "}]"; FangYar.BLL.TBL_SYS_CARAPPLY applyBll = new FangYar.BLL.TBL_SYS_CARAPPLY(); FangYar.Model.TBL_SYS_CARAPPLY applyModel = applyBll.GetModel(dt.Rows[0]["APPLY_ID"].ToString()); if (applyModel != null) applyString = FangYar.Common.JsonHelper.ToJson(applyModel); } else { msg = "查看失败!"; } } catch (Exception e) { msg = "查看失败!"; } returnstr = "{\"msg\":\"" + msg + "\",\"data\":" + data + ",\"applyModel\":" + applyString + "}"; return returnstr; } //获取车辆轨迹点坐标列表 private string CarLocationList(HttpContext context) { string returnstr = ""; string strWhere = ""; string ids = ""; try { string carList = context.Request.Params["carList"]; string stime = context.Request.Params["stime"]; string etime = context.Request.Params["etime"]; string type = context.Request.Params["type"]; returnstr = "{\"code\":0,\"msg\":\"\",\"data\":"; string[] carids = carList.Split(','); if (carids.Length > 0) { foreach (string id in carids) { ids += "'" + id + "',"; } ids += "' '"; strWhere = "carid in (" + ids + ")"; if (!string.IsNullOrEmpty(stime)) { strWhere += " and ( locatetime between '" + stime + "' and '" + etime + "')"; } DataTable data = bll.CarLocationList(strWhere, type).Tables[0]; returnstr += FangYar.Common.JsonHelper.ToJson(data); returnstr += "}"; } else { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } //获取车辆数量趋势 private string GetCarWeek(HttpContext context) { string returnstr = ""; try { returnstr = "{\"code\":1,\"msg\":\"\","; returnstr += "\"data\":"; string ORG_ID = context.Request.Params["ORG_ID"]; string where = "1=1"; where += " and (ORG_ID ='" + ORG_ID + "' or ORG_ID in (select o.org_id from fire_org o where o.pid = '" + ORG_ID + "') )"; returnstr += JsonConvert.SerializeObject(cabll.TotalDaysAlarm(7, where)); returnstr += "}"; } catch { returnstr = "{\"code\":-1,\"msg\":\"\","; returnstr += "}"; } return returnstr; } //APP查询车辆列表 private string GetAppCarList(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; string carName = context.Request.Params["carName"]; string carNum = context.Request.Params["carNum"]; string carType = context.Request.Params["carType"]; string isRun = context.Request.Params["isRun"]; string isStart = context.Request.Params["isStart"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = "1=1"; if (!string.IsNullOrEmpty(OrgId)) { where += " and (ORG_ID ='" + OrgId + "' or ORG_ID in (select o.org_id from fire_org o where o.pid = '" + OrgId + "') )"; } if (!string.IsNullOrEmpty(carName)) { where += " and CAR_NAME like '%" + carName + "%'"; } if (!string.IsNullOrEmpty(carNum)) { where += " and CAR_NUM like '%" + carNum + "%' "; } if (!string.IsNullOrEmpty(carType)) { where += " and CLASS = '" + carType + "'"; } if (!string.IsNullOrEmpty(isRun)) { where += " and ISRUN = '" + isRun + "'"; } if (!string.IsNullOrEmpty(isStart)) { where += " and ISSTART = '" + isStart + "'"; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = bll.QueryList(pageIndex, pageSize, where, ""); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } private string CarNumGetModel(HttpContext context) { string returnstr = ""; string data = ""; string msg = ""; try { string CARNUM = context.Request.Params["CARNUM"];//车牌号 FangYar.Model.TBL_SYS_CAR model = bll.CarNumGetModel("", CARNUM); if (model != null) { msg = "查看成功!"; data = FangYar.Common.JsonHelper.ToJson(model); } else { msg = "查看失败!"; } } catch { msg = "查看失败!"; } returnstr = "{\"msg\":\"" + msg + "\",\"data\":" + data + "}"; return returnstr; } //导出公务车辆 private void expList(HttpContext context) { try { string OrgId = context.Request.Params["OrgId"]; string is_content = context.Request.Params["is_content"]; string keyword = context.Request.Params["keywords"]; string treeID = context.Request.Params["treeID"]; string type = context.Request.Params["type"]; string bclass = context.Request.Params["class"]; string where = "1=1 and (is_del != '1' or is_del is null)"; if (!string.IsNullOrEmpty(treeID) && treeID != OrgId) { if (is_content == "1") { where += " and ( org_id in ( select o.org_id from fire_org o ,(select get_Org_child_list('" + treeID + "') cids ) s where find_in_set(org_id,cids) ) "; where += " or DEPT_ID in ( select o.org_id from fire_org o ,(select get_Org_child_list('" + treeID + "') cids ) s where find_in_set(org_id,cids) )) "; } else { where += " and ( ORG_ID = '" + treeID + "'"; where += " or DEPT_ID = '" + treeID + "')"; } } else { if (is_content == "1") { where += " and (org_id in ( select o.org_id from fire_org o ,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids) ) "; where += " or DEPT_ID in ( select o.org_id from fire_org o ,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(org_id,cids) )) "; } else { where += "and (ORG_ID = '" + OrgId + "'"; where += " or DEPT_ID = '" + OrgId + "')"; } } if (!string.IsNullOrEmpty(bclass)) { where += " and CLASS = '" + bclass + "'"; } if (!string.IsNullOrEmpty(keyword)) { if (where != null) { where += " and "; } where += "( CAR_NUM like '%" + keyword + "%' or CAR_NAME like '%" + keyword + "%')"; } int count = bll.GetRecordCount(where); if (count == 0) { } else { DataTable dt = bll.expList(where); System.Collections.Generic.Dictionary cellHeaders = new System.Collections.Generic.Dictionary(); cellHeaders.Add("CLASS", "车辆类型"); cellHeaders.Add("CAR_NAME", "车辆名称"); cellHeaders.Add("CAR_NO", "车辆编码"); cellHeaders.Add("CAR_NUM", "号牌号码"); cellHeaders.Add("TYPE", "车辆应用"); cellHeaders.Add("ORG_NAME", "机构"); cellHeaders.Add("DEPT_NAME", "部门"); cellHeaders.Add("CAR_CODE", "车辆登记代号"); cellHeaders.Add("FRAME_NUM", "车架号"); cellHeaders.Add("ENGINE_NO", "发动机编号"); cellHeaders.Add("TRADEMARK", "商标"); cellHeaders.Add("GB_CODE", "国标代码"); cellHeaders.Add("LIABLEMAN", "责任人"); cellHeaders.Add("TELNUM", "电话"); //cellHeaders.Add("FACTORY", "厂家名称1"); cellHeaders.Add("FACTORYNAME", "厂家名称"); cellHeaders.Add("AREA_NAME", "所属辖区"); cellHeaders.Add("ISRUN", "是否运行"); cellHeaders.Add("ISSTART", "是否启动"); cellHeaders.Add("ISAPPLY", "申请状态"); cellHeaders.Add("REMARKS", "备注"); cellHeaders.Add("LIMIT", "车辆限速"); cellHeaders.Add("EMP_NAME", "驾驶员"); cellHeaders.Add("WATERNUM", "载水量"); cellHeaders.Add("DRYPOWDER", "载干粉量"); cellHeaders.Add("HEIGHTBOARDINGCAR", "登高车工作高度"); cellHeaders.Add("FROTHAMOUNT", "泡沫量"); cellHeaders.Add("FROTHAMOUNTA", "类泡沫量"); cellHeaders.Add("FROTHAMOUNTB", "类泡沫量"); cellHeaders.Add("FROTHAMOUNTMULTI", "多功能泡沫量"); cellHeaders.Add("LIQUIDLEVEL", "液位"); cellHeaders.Add("PRESSURE", "压力"); FangYar.Common.NPOIExcelHelper.ExportByWeb(dt, null, cellHeaders, DateTime.Now.ToString("yyyyMMddHHmmss") + "车辆信息表.xls"); } } catch { } } //查询装有IMEI的车辆 private string GetCarListByIMEI(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; string carNum = context.Request.Params["carNum"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = " (IMEI is not null or FACTORY = '1' ) "; if (!string.IsNullOrEmpty(OrgId)) { where += " and (ORG_ID ='" + OrgId + "' or ORG_ID in (select o.org_id from fire_org o where o.pid = '" + OrgId + "') )"; } if (!string.IsNullOrEmpty(carNum)) { where += " and CAR_NUM like '%" + carNum + "%' "; } where += " and (is_del != '1' or is_del is null)"; returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = bll.QueryList(pageIndex, pageSize, where, ""); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } private string carAccessSta(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; string data = ""; string strWhere = " 1=1"; try { string ORG_ID = context.Request.Params["Org_Id"]; string S_Time = context.Request.Params["S_Time"]; string E_Time = context.Request.Params["E_Time"]; if (!string.IsNullOrEmpty(ORG_ID)) { code = 1; strWhere += " and ORG_ID='" + ORG_ID + "'"; if (!string.IsNullOrEmpty(S_Time) && !string.IsNullOrEmpty(E_Time)) { strWhere += " and date_format('" + S_Time + "','%Y-%m-%d') < START_TIME"; strWhere += " and date_format('" + E_Time + "','%Y-%m-%d') > START_TIME"; } else { strWhere += " and date_format(now(),'%Y-%m-%d') = date_format(START_TIME,'%Y-%m-%d')"; } DataTable dt = cabll.carAccessSta(strWhere); data = FangYar.Common.JsonHelper.ToJson(dt); } } catch { msg = "获取失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\",\"data\":" + data + "}"; return returnstr; } /*** * 车辆出入比例统计 */ private string carAccessSta2(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; string data = ""; string strWhere = ""; try { string ORG_ID = context.Request.Params["Org_Id"]; string S_Time = context.Request.Params["S_Time"]; string E_Time = context.Request.Params["E_Time"]; string is_content = context.Request.Params["is_content"]; if (string.IsNullOrEmpty(ORG_ID)) { return "{\"code\":" + code + ",\"msg\":\"所属机构不能为空\",\"data\":" + data + "}"; } if (is_content == "1") { strWhere = " org_id in (select o.org_id from fire_org o,(select get_Org_child_list('"+ ORG_ID + "') cids ) s where o.type = '0' and find_in_set(o.org_id,cids) ) "; } else { strWhere = " org_id = '" + ORG_ID + "' "; } if (!string.IsNullOrEmpty(S_Time) && !string.IsNullOrEmpty(E_Time)) { strWhere += " and date_format('" + S_Time + "-01','%Y-%m-%d') < date_format(START_TIME,'%Y-%m-%d')"; strWhere += " and date_format('" + E_Time + "-01','%Y-%m-%d') > date_format(START_TIME,'%Y-%m-%d')"; } else { strWhere += " and date_format(now(),'%Y-%m-%d') = date_format(START_TIME,'%Y-%m-%d')"; } DataTable dt = cabll.carAccessSta(strWhere); data = FangYar.Common.JsonHelper.ToJson(dt); code = 1; } catch { msg = "获取失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\",\"data\":" + data + "}"; return returnstr; } /// /// 首页车辆统计 /// /// /// private string homeCarSta(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; string data = ""; string strWhere = " 1=1"; try { string ORG_ID = context.Request.Params["Org_Id"]; if (!string.IsNullOrEmpty(ORG_ID)) { code = 1; strWhere += " and ORG_ID='" + ORG_ID + "' and (is_del != '1' or is_del is null)"; DataTable dt = bll.homeCarSta(strWhere); data = FangYar.Common.JsonHelper.ToJson(dt); } } catch { msg = "获取失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\",\"data\":" + data + "}"; return returnstr; } //按年份查询,按月份统计(未巡查、无隐患、有隐患)统计数 private string StatisticsTra(HttpContext context) { string returnstr = ""; try { string orgId = context.Request.Params["orgId"]; string year = context.Request.Params["year"]; string is_content = context.Request.Params["is_content"]; DataTable dt = cabll.StatisticsTra(orgId, year, is_content); returnstr += FangYar.Common.JsonHelper.ToJson(dt); } catch (Exception e) { returnstr = null; } return returnstr; } //按车牌号、时间段 查询列表分页 private string getCarAccListByTime(HttpContext context) { string returnstr = ""; try { string carNum = context.Request.Params["carNum"]; string orgId = context.Request.Params["orgId"]; string startDate = context.Request.Params["startDate"]; string endDate = context.Request.Params["endDate"]; string is_content = context.Request.Params["is_content"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = null; if (carNum != null && carNum != "") { where = " CAR_PLATE = '" + carNum + "' "; } if (!string.IsNullOrEmpty(where)) { where += "and"; } if (is_content == "1") { where += " org_id in (select o.org_id from fire_org o,(select get_Org_child_list('" + orgId + "') cids ) s where o.type = '0' and find_in_set(org_id,cids) ) "; } else { where += " org_id = '" + orgId + "' "; } if (!string.IsNullOrEmpty(startDate)) { where += " and date_format(START_TIME, '%Y-%m-%d') >= date_format('" + startDate + "-01', '%Y-%m-%d') "; } if (!string.IsNullOrEmpty(endDate)) { where += " and date_format(START_TIME, '%Y-%m-%d') < date_format('" + endDate + "-01', '%Y-%m-%d') "; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = cabll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { where += " order by START_TIME desc"; List list = cabll.QueryList(pageIndex, pageSize, where, ""); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } //按车牌号、时间段 分组统计出入次数 private string getCarAccListByTime2(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; string data = ""; int count = 0; string where = null; try { string carNum = context.Request.Params["carNum"]; string orgId = context.Request.Params["orgId"]; string startDate = context.Request.Params["startDate"]; string endDate = context.Request.Params["endDate"]; string is_content = context.Request.Params["is_content"]; if (string.IsNullOrEmpty(orgId)) { return "{\"code\":" + code + ",\"msg\":\"所属机构不能为空\",\"data\":" + data + "}"; } if (carNum != null && carNum != "") { where = " c.CAR_PLATE = '" + carNum + "' "; } if (!string.IsNullOrEmpty(where)) { where += "and"; } if (is_content == "1") { where += " c.org_id in (select o.org_id from fire_org o,(select get_Org_child_list('" + orgId + "') cids ) s where o.type = '0' and find_in_set(org_id,cids) ) "; } else { where += " c.org_id = '" + orgId + "' "; } if (!string.IsNullOrEmpty(startDate)) { where += " and date_format(c.START_TIME, '%Y-%m-%d') >= date_format('" + startDate + "-01', '%Y-%m-%d') "; } if (!string.IsNullOrEmpty(endDate)) { where += " and date_format(c.START_TIME, '%Y-%m-%d') < date_format('" + endDate + "-01', '%Y-%m-%d') "; } where += " AND c.class in ('0','1') GROUP BY o.org_name, c.CAR_PLATE, c.class"; DataTable dt = cabll.getCarAccListByTime2(where); code = 0; count = dt.Rows.Count; data = FangYar.Common.JsonHelper.ToJson(dt); } catch { msg = "获取失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\",\"count\":" + count + ",\"data\":" + data + "}"; return returnstr; } //html导出Word private string htmlToWord(HttpContext context) { string returnstr = ""; try { string by1 = context.Request.Params["by1"]; //实例化一个Document对象 Document doc = new Document(); doc.Watermark = null; //添加section和段落 Section section = doc.AddSection(); Paragraph para = section.AddParagraph(); //加载图片到System.Drawing.Image对象, 使用AppendPicture方法将图片插入到段落 if (by1 != null && by1 != "") { by1 = HttpUtility.UrlDecode(by1); Image image1 = GetImage(by1.Replace("data:image/png;base64,", "")); Spire.Doc.Fields.DocPicture picture1 = doc.Sections[0].Paragraphs[0].AppendPicture(image1); //设置图片大小 picture1.Width = 595; } String[] headerQiandi = { "所属消防机构", "车牌号", "时间", "方向", "车辆类别" }; //表头字段 #region 获取table数据 string carNum = context.Request.Params["carNum"]; string orgId = context.Request.Params["orgId"]; string startDate = context.Request.Params["startDate"]; string endDate = context.Request.Params["endDate"]; string is_content = context.Request.Params["is_content"]; int pageIndex = 1; int pageSize = 99999; string where = null; if (carNum != null && carNum != "") { where = " CAR_PLATE = '" + carNum + "' "; } else { if (is_content == "1") { where = " org_id in (select o.org_id from fire_org o,(select get_Org_child_list('" + orgId + "') cids ) s where o.type = '0' and find_in_set(org_id,cids) ) "; } else { where = " org_id = '" + orgId + "' "; } } if (!string.IsNullOrEmpty(startDate)) { where += " and date_format(START_TIME, '%Y-%m-%d') >= date_format('" + startDate + "-01', '%Y-%m-%d') "; } if (!string.IsNullOrEmpty(endDate)) { where += " and date_format(START_TIME, '%Y-%m-%d') < date_format('" + endDate + "-01', '%Y-%m-%d') "; } where += " order by START_TIME desc"; List list = cabll.QueryList(pageIndex, pageSize, where, ""); #endregion 获取table数据 if (list.Count > 0) { string[][] arrQiandiData = new string[list.Count][]; for (int i = 0; i < list.Count; i++) { var classStr = "无类型"; switch (list[i].CLASS) { case "0": classStr = "公务车"; break; case "1": classStr = "执勤车"; break; case "2": classStr = "私家车"; break; } var inoroutStr = "未知"; switch (list[i].INOROUT) { case "0": inoroutStr = "进入"; break; case "1": inoroutStr = "离开"; break; } arrQiandiData[i] = new string[] { list[i].ORG_NAME, list[i].CAR_PLATE, list[i].START_TIME.ToString(), inoroutStr, classStr }; } #region 创建Word表格 Table tableQiandi = section.AddTable(); //新建表格 tableQiandi.ResetCells(list.Count + 1, headerQiandi.Length); tableQiandi.TableFormat.Borders.BorderType = Spire.Doc.Documents.BorderStyle.Single; TableRow rowQiandi = tableQiandi.Rows[0]; //添加行 rowQiandi.IsHeader = true; //设为表头 rowQiandi.Height = 30; rowQiandi.HeightType = TableRowHeightType.Auto; for (int i = 0; i < headerQiandi.Length; i++) //生成表头 { if (i == 2) { rowQiandi.Cells[i].Width = 170; } else if (i == 3) { rowQiandi.Cells[i].Width = 120; } else { rowQiandi.Cells[i].Width = 145; } rowQiandi.Height = 30; rowQiandi.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle; rowQiandi.HeightType = TableRowHeightType.Auto; Paragraph p = rowQiandi.Cells[i].AddParagraph(); AddTextRange(section, p, headerQiandi[i], 14, true, "黑体", Spire.Doc.Documents.HorizontalAlignment.Center); } for (int r = 0; r < arrQiandiData.Length; r++) //生成表体 { TableRow dataRow = tableQiandi.Rows[r + 1]; dataRow.RowFormat.BackColor = Color.Empty; for (int c = 0; c < arrQiandiData[r].Length; c++) { if (c == 2) { dataRow.Cells[c].Width = 170; } else if (c == 3) { dataRow.Cells[c].Width = 120; } else { dataRow.Cells[c].Width = 145; } dataRow.Height = 20; dataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middle; TextRange tr = dataRow.Cells[c].AddParagraph().AppendText(arrQiandiData[r][c]); tr.CharacterFormat.FontSize = 12; } } #endregion 创建Word表格 } //保存到文档 string path = AppDomain.CurrentDomain.BaseDirectory + "\\OA\\VehicleAccess_Statistics\\"; string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".doc"; if (Directory.Exists(path) == false)//如果不存在就创建文件夹 { Directory.CreateDirectory(path); } doc.SaveToFile(path + fileName, FileFormat.Doc); returnstr = "{\"code\":0,\"msg\":\"\",\"url\":\"/OA/VehicleAccess_Statistics/" + fileName + "\"}"; } catch (Exception e) { returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; } return returnstr; } //html导出Word private string htmlToWord2(HttpContext context) { string returnstr = ""; try { //实例化一个Document对象 Document doc = new Document(); doc.Watermark = null; //添加section和段落 Section section = doc.AddSection(); Paragraph para = section.AddParagraph(); String[] headerQiandi = { "所属消防机构", "车牌号", "车辆类别", "出入次数" }; //表头字段 #region 获取table数据 string carNum = context.Request.Params["carNum"]; string orgId = context.Request.Params["orgId"]; string startDate = context.Request.Params["startDate"]; string endDate = context.Request.Params["endDate"]; string is_content = context.Request.Params["is_content"]; string where = null; if (string.IsNullOrEmpty(orgId)) { return "{\"code\":-1,\"msg\":\"所属机构不能为空\"}"; } if (carNum != null && carNum != "") { where = " c.CAR_PLATE = '" + carNum + "' "; } if (!string.IsNullOrEmpty(where)) { where += "and"; } if (is_content == "1") { where += " c.org_id in (select o.org_id from fire_org o,(select get_Org_child_list('" + orgId + "') cids ) s where o.type = '0' and find_in_set(org_id,cids) ) "; } else { where += " c.org_id = '" + orgId + "' "; } if (!string.IsNullOrEmpty(startDate)) { where += " and date_format(c.START_TIME, '%Y-%m-%d') >= date_format('" + startDate + "-01', '%Y-%m-%d') "; } if (!string.IsNullOrEmpty(endDate)) { where += " and date_format(c.START_TIME, '%Y-%m-%d') < date_format('" + endDate + "-01', '%Y-%m-%d') "; } where += " AND c.class in ('0','1') GROUP BY o.org_name, c.CAR_PLATE, c.class"; DataTable dt = cabll.getCarAccListByTime2(where); #endregion 获取table数据 if (dt.Rows.Count > 0) { string[][] arrQiandiData = new string[dt.Rows.Count][]; for (int i = 0; i < dt.Rows.Count; i++) { arrQiandiData[i] = new string[] { dt.Rows[i]["ORG_NAME"].ToString(), dt.Rows[i]["CAR_PLATE"].ToString(), dt.Rows[i]["CLASS_NAME"].ToString(), dt.Rows[i]["COUNTNUM"].ToString() }; } #region 创建Word表格 Table tableQiandi = section.AddTable(); //新建表格 tableQiandi.ResetCells(dt.Rows.Count + 1, headerQiandi.Length); tableQiandi.TableFormat.Borders.BorderType = Spire.Doc.Documents.BorderStyle.Single; TableRow rowQiandi = tableQiandi.Rows[0]; //添加行 rowQiandi.IsHeader = true; //设为表头 rowQiandi.Height = 30; rowQiandi.HeightType = TableRowHeightType.Auto; for (int i = 0; i < headerQiandi.Length; i++) //生成表头 { rowQiandi.Cells[i].Width = 145; rowQiandi.Height = 30; rowQiandi.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle; rowQiandi.HeightType = TableRowHeightType.Auto; Paragraph p = rowQiandi.Cells[i].AddParagraph(); AddTextRange(section, p, headerQiandi[i], 14, true, "黑体", Spire.Doc.Documents.HorizontalAlignment.Center); } for (int r = 0; r < arrQiandiData.Length; r++) //生成表体 { TableRow dataRow = tableQiandi.Rows[r + 1]; dataRow.RowFormat.BackColor = Color.Empty; for (int c = 0; c < arrQiandiData[r].Length; c++) { dataRow.Cells[c].Width = 145; dataRow.Height = 20; dataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middle; TextRange tr = dataRow.Cells[c].AddParagraph().AppendText(arrQiandiData[r][c]); tr.CharacterFormat.FontSize = 12; } } #endregion 创建Word表格 } //保存到文档 string path = AppDomain.CurrentDomain.BaseDirectory + "\\OA\\VehicleAccess_Statistics\\"; string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".doc"; if (Directory.Exists(path) == false)//如果不存在就创建文件夹 { Directory.CreateDirectory(path); } doc.SaveToFile(path + fileName, FileFormat.Doc); returnstr = "{\"code\":0,\"msg\":\"\",\"url\":\"/OA/VehicleAccess_Statistics/" + fileName + "\"}"; } catch (Exception e) { returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; } return returnstr; } private Image GetImage(string fileName) { byte[] bytes = Convert.FromBase64String(fileName); using (MemoryStream ms = new MemoryStream(bytes)) { return Image.FromStream(ms); } } private void AddTextRange(Section section, Paragraph pragraph, string word, float fontSize, bool isBold, string fontName, Spire.Doc.Documents.HorizontalAlignment alignType) { TextRange textRange = pragraph.AppendText(word); textRange.CharacterFormat.FontSize = fontSize; textRange.CharacterFormat.Bold = isBold; textRange.CharacterFormat.FontName = fontName; pragraph.Format.HorizontalAlignment = alignType; } //首页统计下级单位车辆/人员数量 private string getSubordinateData(HttpContext context) { string returnstr = ""; try { string ORG_ID = context.Request.Params["Org_Id"]; //车数 returnstr = "{\"code\":0,\"msg\":\"\",\"carData\":"; string carWhere = " (is_del != '1' or is_del is null) and org_id in (select o1.org_id from fire_org o1 where o1.pid = '" + ORG_ID + "' )"; DataTable cardt = bll.homeCarSta(carWhere); returnstr += FangYar.Common.JsonHelper.ToJson(cardt); //人数 FangYar.BLL.TBL.SysEmpBLL ebll = new FangYar.BLL.TBL.SysEmpBLL(); returnstr += ",\"perData\":"; string perWhere = " is_del='0' and org_id in (select o1.org_id from fire_org o1 where o1.pid = '" + ORG_ID + "' )"; DataTable perdt = ebll.personSta(perWhere); returnstr += FangYar.Common.JsonHelper.ToJson(perdt); //列表 returnstr += ",\"listData\":"; DataTable listdt = bll.getSubordinateData(ORG_ID); returnstr += FangYar.Common.JsonHelper.ToJson(listdt); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"carData\":[],\"perData\":[] }"; } return returnstr; } //统计分析人员、车辆按单位统计 private string getPerAndCarStatisticss(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; returnstr = "{\"code\":0,\"msg\":\"\",\"data\":"; { DataTable dt = bll.getPerAndCarStatisticss(OrgId); returnstr += FangYar.Common.JsonHelper.ToJson(dt); } returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}"; } return returnstr; } //导出excel private void HtmlToWord3(HttpContext context) { try { string OrgId = context.Request.Params["OrgId"]; //string whereStr = ""; //if (!string.IsNullOrEmpty(OrgId)) //{ // whereStr = " and pid ='" + OrgId + "' "; //} DataTable dt = bll.getPerAndCarStatisticss(OrgId); if (dt.Rows.Count == 0) { } else { dt.Columns.Remove("ORG_ID"); dt.Columns.Remove("PID"); System.Collections.Generic.Dictionary cellHeaders = new System.Collections.Generic.Dictionary(); cellHeaders.Add("ORG_NAME", "单位名称"); cellHeaders.Add("PERNUM", "人员总数"); cellHeaders.Add("CARNUM", "车辆总数"); FangYar.Common.NPOIExcelHelper.ExportByWeb(dt, null, cellHeaders, DateTime.Now.ToString("yyyyMMddHHmmss") + "单位人员、车辆统计表.xls"); } } catch (Exception e) { } } public bool IsReusable { get { return false; } } } }