using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Web; namespace FangYar.WebUI.ashx { /// /// FireLeaveHandler 的摘要说明 /// public class FirePatrolSpotHandler : IHttpHandler { private FangYar.BLL.FIRE_PATROL_SPOT bll = new FangYar.BLL.FIRE_PATROL_SPOT(); private FangYar.BLL.TBL.SysEmpBLL ebll = new FangYar.BLL.TBL.SysEmpBLL(); public void ProcessRequest(HttpContext context) { // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "水资源巡查点操作请求", ""); context.Response.ContentType = "text/plain"; string action = context.Request.Params["Action"]; string returnstr = ""; switch (action) { case "List": returnstr = getSpotlist(context); break; case "AddHydSpot": returnstr = AddHydSpot(context); break; case "AddCraneSpot": returnstr = AddCraneSpot(context); break; case "EditHydSpot": returnstr = EditHydSpot(context); break; case "EditCraneSpot": returnstr = EditCraneSpot(context); break; case "getOrgTree": returnstr = getOrgTree(context); break; case "IFIDGetModel": returnstr = IFIDGetModel(context); break; case "IFIDGetModelLeave": returnstr = IFIDGetModelLeave(context); break; case "getSpotHydModelBySpotId": returnstr = getSpotHydModelBySpotId(context); break; case "getSpotCraneModelBySpotId": returnstr = getSpotCraneModelBySpotId(context); break; } context.Response.Write(returnstr); } //查询 private string getSpotlist(HttpContext context) { string returnstr = ""; try { string orgId = context.Request.Params["orgId"]; string keyword = context.Request.Params["keywords"]; 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; where = " org_id in (select org_id from fire_org o,(select get_Org_child_list('" + orgId + "') cids ) s where find_in_set(org_id,cids)) "; if (!string.IsNullOrEmpty(keyword)) { where += " and NAME like '%" + keyword + "%' or ADDR like '%" + keyword + "%' "; } 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 (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "查询异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "水资源巡查点操作请求", "查询"); return returnstr; } //添加消防栓巡查点 private string AddHydSpot(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string RFID = context.Request.Params["RFID"]; bool a = bll.ExistsSpotNo(RFID); if (a == true) { msg = "对不起,该芯片编号已经存在"; } else { string ID = Guid.NewGuid().ToString("N"); string ORG_ID = context.Request.Params["ORG_ID"]; string CITY = context.Request.Params["CITY"]; string NAME = context.Request.Params["NAME"]; string ADDR = context.Request.Params["ADDR"]; string POINT = context.Request.Params["POINT"]; //上传图片 string PHOTO = UploadFile(context, "Fire/Hydrant", ID); //巡查点表 FangYar.Model.FIRE_PATROL_SPOT spotModel = new Model.FIRE_PATROL_SPOT(); spotModel.ID = ID; spotModel.NAME = NAME; spotModel.TYPE = "0"; spotModel.RFID = RFID; spotModel.POINT = POINT; spotModel.ADDR = ADDR; spotModel.ORG_ID = ORG_ID; spotModel.CITY = CITY; spotModel.PHOTO = PHOTO; string HYD_NO = context.Request.Params["HYD_NO"]; string STATE = context.Request.Params["STATE"]; string REMARKS = context.Request.Params["REMARKS"]; FangYar.Model.FIRE.FIRE_HYDRANT_BAK hydModel = new FangYar.Model.FIRE.FIRE_HYDRANT_BAK(); hydModel.ID = ID; hydModel.HYD_NO = HYD_NO; hydModel.NAME = NAME; hydModel.ADDR = ADDR; hydModel.ORG_ID = ORG_ID; hydModel.CITY = CITY; hydModel.STATE = STATE; hydModel.POINT = POINT; hydModel.REMARKS = REMARKS; if (bll.addHydSpot(spotModel, hydModel)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } } catch (Exception e) { msg = "添加失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "添加消防栓巡查点异常:" + e); } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "水资源巡查点操作请求", "添加消防栓巡查点"); return returnstr; } //添加消防水鹤巡查点 private string AddCraneSpot(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string RFID = context.Request.Params["RFID"]; bool a = bll.ExistsSpotNo(RFID); if (a == true) { msg = "对不起,该芯片编号已经存在"; } else { string ID = Guid.NewGuid().ToString("N"); string ORG_ID = context.Request.Params["ORG_ID"]; string CITY = context.Request.Params["CITY"]; string NAME = context.Request.Params["NAME"]; string ADDR = context.Request.Params["ADDR"]; string POINT = context.Request.Params["POINT"]; //上传图片 string PHOTO = UploadFile(context, "Fire/Crane", ID); //巡查点表 FangYar.Model.FIRE_PATROL_SPOT spotModel = new Model.FIRE_PATROL_SPOT(); spotModel.ID = ID; spotModel.NAME = NAME; spotModel.TYPE = "1"; spotModel.RFID = RFID; spotModel.POINT = POINT; spotModel.ADDR = ADDR; spotModel.ORG_ID = ORG_ID; spotModel.CITY = CITY; spotModel.PHOTO = PHOTO; string CRA_NO = context.Request.Params["CRA_NO"]; string FOUND_DATE = context.Request.Params["FOUND_DATE"]; string FOUND_UNIT = context.Request.Params["FOUND_UNIT"]; string FOUND_STATE = context.Request.Params["FOUND_STATE"]; string STATE = context.Request.Params["STATE"]; string REMARKS = context.Request.Params["REMARKS"]; FangYar.Model.FIRE.FIRE_CRANE_BAK craneModel = new FangYar.Model.FIRE.FIRE_CRANE_BAK(); craneModel.ID = ID; craneModel.CRA_NO = CRA_NO; craneModel.ADDR = ADDR; craneModel.ORG_ID = ORG_ID; craneModel.CITY = CITY; craneModel.STATE = STATE; craneModel.FOUND_DATE = FOUND_DATE; craneModel.FOUND_UNIT = FOUND_UNIT; craneModel.FOUND_STATE = FOUND_STATE; craneModel.POINT = POINT; craneModel.REMARKS = REMARKS; if (bll.addCraneSpot(spotModel, craneModel)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } } catch (Exception e) { msg = "添加失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "添加消防水鹤巡查点异常:" + e); } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "水资源巡查点操作请求", "添加消防水鹤巡查点"); return returnstr; } //修改消防栓巡查点 private string EditHydSpot(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = context.Request.Params["ID"]; string RFID = context.Request.Params["RFID"]; FangYar.Model.FIRE_PATROL_SPOT model = bll.RFIDGetModel(RFID); if (model != null && model.ID != ID) { msg = "对不起,该芯片编号已经存在"; } else { string ORG_ID = context.Request.Params["ORG_ID"]; string CITY = context.Request.Params["CITY"]; string NAME = context.Request.Params["NAME"]; string ADDR = context.Request.Params["ADDR"]; string POINT = context.Request.Params["POINT"]; //上传图片 string PHOTO = UploadFile(context, "Fire/Hydrant", ID); //巡查点表 FangYar.Model.FIRE_PATROL_SPOT spotModel = bll.GetModel(ID); spotModel.NAME = NAME; spotModel.TYPE = "0"; spotModel.RFID = RFID; spotModel.POINT = POINT; spotModel.ADDR = ADDR; spotModel.ORG_ID = ORG_ID; spotModel.CITY = CITY; spotModel.PHOTO = PHOTO; string HYD_NO = context.Request.Params["HYD_NO"]; string STATE = context.Request.Params["STATE"]; string REMARKS = context.Request.Params["REMARKS"]; FangYar.BLL.FIRE.FIRE_HYDRANT_BAK hydbakbll = new FangYar.BLL.FIRE.FIRE_HYDRANT_BAK(); FangYar.Model.FIRE.FIRE_HYDRANT_BAK hydModel = hydbakbll.GetOriginalModel(ID); hydModel.HYD_NO = HYD_NO; hydModel.NAME = NAME; hydModel.ADDR = ADDR; hydModel.ORG_ID = ORG_ID; hydModel.CITY = CITY; hydModel.STATE = STATE; hydModel.POINT = POINT; hydModel.REMARKS = REMARKS; if (bll.editHydSpot(spotModel, hydModel)) { msg = "编辑成功!"; code = 1; } else { msg = "编辑失败!"; } } } catch (Exception e) { msg = "编辑失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "修改消防栓巡查点异常:" + e); } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Update, "水资源巡查点操作请求", "修改消防栓巡查点"); return returnstr; } //修改消防水鹤巡查点 private string EditCraneSpot(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = context.Request.Params["ID"]; string RFID = context.Request.Params["RFID"]; FangYar.Model.FIRE_PATROL_SPOT model = bll.RFIDGetModel(RFID); if (model != null && model.ID != ID) { msg = "对不起,该芯片编号已经存在"; } else { string ORG_ID = context.Request.Params["ORG_ID"]; string CITY = context.Request.Params["CITY"]; string NAME = context.Request.Params["NAME"]; string ADDR = context.Request.Params["ADDR"]; string POINT = context.Request.Params["POINT"]; //上传图片 string PHOTO = UploadFile(context, "Fire/Crane", ID); //巡查点表 FangYar.Model.FIRE_PATROL_SPOT spotModel = bll.GetModel(ID); spotModel.ID = ID; spotModel.NAME = NAME; spotModel.TYPE = "1"; spotModel.RFID = RFID; spotModel.POINT = POINT; spotModel.ADDR = ADDR; spotModel.ORG_ID = ORG_ID; spotModel.CITY = CITY; spotModel.PHOTO = PHOTO; string CRA_NO = context.Request.Params["CRA_NO"]; string FOUND_DATE = context.Request.Params["FOUND_DATE"]; string FOUND_UNIT = context.Request.Params["FOUND_UNIT"]; string FOUND_STATE = context.Request.Params["FOUND_STATE"]; string STATE = context.Request.Params["STATE"]; string REMARKS = context.Request.Params["REMARKS"]; FangYar.BLL.FIRE.FIRE_CRANE_BAK crabakbll = new FangYar.BLL.FIRE.FIRE_CRANE_BAK(); FangYar.Model.FIRE.FIRE_CRANE_BAK craneModel = crabakbll.GetOriginalModel(ID); craneModel.ID = ID; craneModel.CRA_NO = CRA_NO; craneModel.ADDR = ADDR; craneModel.ORG_ID = ORG_ID; craneModel.CITY = CITY; craneModel.STATE = STATE; craneModel.FOUND_DATE = FOUND_DATE; craneModel.FOUND_UNIT = FOUND_UNIT; craneModel.FOUND_STATE = FOUND_STATE; craneModel.POINT = POINT; craneModel.REMARKS = REMARKS; if (bll.editCraneSpot(spotModel, craneModel)) { msg = "编辑成功!"; code = 1; } else { msg = "编辑失败!"; } } } catch (Exception e) { msg = "编辑失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "修改消防水鹤巡查点异常:" + e); } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Update, "水资源巡查点操作请求", "修改消防水鹤巡查点"); return returnstr; } ////修改消防栓巡查点状态 //private string EditSpot(HttpContext context) //{ // string returnstr = ""; // int code = -1; // string msg = ""; // try // { // string ID = context.Request.Params["ID"]; // string STATE = context.Request.Params["STATE"]; // //巡查点表 // FangYar.Model.FIRE_PATROL_SPOT spotModel = new Model.FIRE_PATROL_SPOT(); // spotModel.ID = ID; // spotModel.STATE = STATE; // if (STATE == "1") { // } // else if (STATE == "2") { // string IS_COM = context.Request.Params["IS_COM"]; // string IS_ANT = context.Request.Params["IS_ANT"]; // string IS_LEAK = context.Request.Params["IS_LEAK"]; // string IS_IMP = context.Request.Params["IS_IMP"]; // string IS_DAM = context.Request.Params["IS_DAM"]; // string IS_ID = context.Request.Params["IS_ID"]; // string IS_PAINT = context.Request.Params["IS_PAINT"]; // FangYar.Model.FIRE.FIRE_HYDRANT_BAK hydModel = new FangYar.Model.FIRE.FIRE_HYDRANT_BAK(); // hydModel.IS_COM = IS_COM; // hydModel.IS_ANT = IS_ANT; // hydModel.IS_LEAK = IS_LEAK; // hydModel.IS_IMP = IS_IMP; // hydModel.IS_DAM = IS_DAM; // hydModel.IS_ID = IS_ID; // hydModel.IS_PAINT = IS_PAINT; // } // if (bll.Update(model)) // { // msg = "修改成功!"; // code = 1; // } // else { msg = "修改失败!"; } // } // catch // { // msg = "修改失败!"; // } // returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; // return returnstr; //} //获取Tree 机构下的巡查点列表 private string getOrgTree(HttpContext context) { string returnstr = ""; try { string orgId = context.Request.Params["OrgId"]; string patrolSpotType = context.Request.Params["patrolSpotType"]; returnstr = "{\"code\":0,\"msg\":\"\",\"data\":"; DataTable data = bll.getOrgTree(orgId, patrolSpotType); returnstr += FangYar.Common.JsonHelper.ToJson(data); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "返回机构树异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "水资源巡查点操作请求", "返回机构树"); return returnstr; } //根据IFID(芯片编号)得到一个对象实体 private string IFIDGetModel(HttpContext context) { string returnstr = ""; try { string ORG_ID = context.Request.Params["ORG_ID"]; string IFID = context.Request.Params["IFID"]; FangYar.Model.FIRE_PATROL_SPOT model = bll.IFIDGetModel(ORG_ID, IFID); returnstr += FangYar.Common.JsonHelper.ToJson(model); } catch (Exception e) { returnstr = null; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "水资源巡查点操作请求", "根据IFID(芯片编号)得到一个对象实体异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "水资源巡查点操作请求", "根据IFID(芯片编号)得到一个对象实体"); return returnstr; } //根据IFID(芯片编号)得到一个对象实体(查铺查哨判断被查人是否在岗) private string IFIDGetModelLeave(HttpContext context) { string returnstr = ""; try { string ORG_ID = context.Request.Params["ORG_ID"]; string IFID = context.Request.Params["IFID"]; FangYar.Model.FIRE_PATROL_SPOT model = bll.IFIDGetModel(ORG_ID, IFID); JObject acc_ppl_s = JsonConvert.DeserializeObject(model.EXTENDCODE2); //JObject acc_ppl_s2 = new JObject(); //JObject acc_ppl_s2 = new JObject(); //JArray arr = new JArray(); string acc_ppl_s2 = "{\"data\":["; int a = 0; foreach (JObject obj in acc_ppl_s.Value("data")) { FangYar.Model.TBL.TBL_SYS_EMP_Model emodel = ebll.GetModelByID((string)obj["ppl_Id"]); if (a == 0) { acc_ppl_s2 += "{"; } else { acc_ppl_s2 += ",{"; } acc_ppl_s2 += "\"ppl_Id\":\"" + obj["ppl_Id"] + "\""; acc_ppl_s2 += ",\"ppl_Name\":\"" + obj["ppl_Name"] + "\""; acc_ppl_s2 += ",\"is_work\":\"" + emodel.IS_WORK + "\""; acc_ppl_s2 += "}"; a++; } acc_ppl_s2 += "]}"; model.EXTENDCODE2 = acc_ppl_s2; returnstr += FangYar.Common.JsonHelper.ToJson(model); } catch (Exception e) { returnstr = null; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "根据IFID(芯片编号)得到一个对象实体异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "水资源巡查点操作请求", "根据IFID(芯片编号)得到一个对象实体"); return returnstr; } //根据巡查点ID获取消防栓设备巡查点信息 private string getSpotHydModelBySpotId(HttpContext context) { string returnstr = ""; try { string spotId = context.Request.Params["spotId"]; returnstr = "{\"code\":0,\"msg\":\"\",\"data\":"; DataTable data = bll.getSpotHydModelBySpotId(spotId); returnstr += FangYar.Common.JsonHelper.ToJson(data); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "根据巡查点ID获取消防栓设备巡查点信息异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "水资源巡查点操作请求", "根据巡查点ID获取消防栓设备巡查点信息"); return returnstr; } //根据巡查点ID获取消防水鹤设备巡查点信息 private string getSpotCraneModelBySpotId(HttpContext context) { string returnstr = ""; try { string spotId = context.Request.Params["spotId"]; returnstr = "{\"code\":0,\"msg\":\"\",\"data\":"; DataTable data = bll.getSpotCraneModelBySpotId(spotId); returnstr += FangYar.Common.JsonHelper.ToJson(data); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "根据巡查点ID获取消防水鹤设备巡查点信息异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "水资源巡查点操作请求", "根据巡查点ID获取消防水鹤设备巡查点信息"); return returnstr; } //上传图片 private static string UploadFile(HttpContext context, string type, string CONNMOD_ID) { string result = ""; if (context.Request.Files.Count > 0) { HttpPostedFile item = context.Request.Files[0]; string imageRootPath = "/Upload/" + type + "/"; string extensionStr = System.IO.Path.GetExtension(item.FileName); string str = System.DateTime.Now.ToString("yyyyHHddHHmmss"); string fileName = str + CONNMOD_ID + extensionStr; try { string rootPath = System.AppDomain.CurrentDomain.BaseDirectory + imageRootPath; if (System.IO.Directory.Exists(rootPath)) { item.SaveAs(rootPath + fileName); result = imageRootPath + fileName; } else { System.IO.Directory.CreateDirectory(rootPath); item.SaveAs(rootPath + fileName); result = imageRootPath + fileName; } } catch (Exception e) { result = ""; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "水资源巡查点操作请求", "上传图片异常:" + e); } } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "水资源巡查点操作请求", "上传图片"); return result; } public bool IsReusable { get { return false; } } } }