using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using Newtonsoft.Json.Linq; using Spire.Xls; using System.IO; using Newtonsoft.Json; namespace FangYar.WebUI.ashx { /// /// FireShiftsHandler1 的摘要说明 /// public class FireShiftsHandler : IHttpHandler { private FangYar.BLL.FIRE.FIRE_SHIFTS bll = new FangYar.BLL.FIRE.FIRE_SHIFTS(); FangYar.BLL.OA_PATROL_TASK blloatask = new BLL.OA_PATROL_TASK(); public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string action = context.Request.Params["Action"]; string returnstr = ""; switch (action) { case "shiftsList": returnstr = shiftsList(context); break; case "List": returnstr = List(context); break; case "ListByOrgId": returnstr = GetShiftsListByOrgId(context); break; case "ListByDutyDate": returnstr = GetShiftsListByDutyDate(context); break; case "Add": returnstr = AddShifts(context); break; case "AddSHZ": returnstr = AddShiftsSHZ(context); break; case "EditSHZ": returnstr = EditShiftsSHZ(context); break; case "taskEdit": returnstr = taskEdit(context); break; case "editChange": returnstr = editChange(context); break; case "Del": returnstr = DelTask(context); break; case "DelShifts": returnstr = DelShifts(context); break; case "GetListNew": returnstr = GetListNew(context); break; case "GetList": returnstr = GetList(context); break; case "GetShiftsList": returnstr = GetShiftsList(context); break; case "expExcel": expExcel(context); break; case "impExcel": returnstr = impExcel(context); break; case "impExcelError": returnstr = impExcelError(context); break; case "ShiftsMansList": returnstr = ShiftsMansList(context); break; case "AddShiftsMans": returnstr = AddShiftsMans(context); break; case "DelShiftsMans": returnstr = DelShiftsMans(context); break; case "Statistics": returnstr = Statistics(context); break; } context.Response.Write(returnstr); } //查询岗哨任务列表 private string shiftsList(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; string state = context.Request.Params["STATE"]; 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 = " 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(keyword)) { where += " and ( SENTRY like '%" + keyword + "%' or ADDR like '%" + keyword + "%')"; } if (!string.IsNullOrEmpty(state)) { where += " and TO_STATE='" + state + "'"; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCountSql(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { string data = "["; List list = bll.QueryList(pageIndex, pageSize, where, ""); for (int i = 0; i < list.Count; i++) { data += "{\"ID\":\"" + list[i].ID.ToString() + "\",\"T_ID\":\"" + list[i].T_ID.ToString() + "\",\"T_NAME\":\"" + list[i].T_NAME.ToString() + "\","; data += "\"ORG_ID\":\"" + list[i].ORG_ID.ToString() + "\",\"O_NAME\":\"" + list[i].O_NAME.ToString() + "\",\"TO_DATE\":\"" + list[i].TO_DATE.ToString() + "\","; data += "\"TO_TIME\":\"" + list[i].TO_TIME.ToString() + "\",\"T_FPR\":\"" + list[i].T_FPR.ToString() + "\",\"O_FPR\":\"" + list[i].O_FPR.ToString() + "\","; data += "\"TO_STATE\":\"" + list[i].TO_STATE.ToString() + "\",\"TO_WORK\":\"" + list[i].TO_WORK.ToString() + "\",\"ADDR\":\"" + list[i].ADDR.ToString() + "\","; data += "\"LON\":\"" + list[i].LON.ToString() + "\",\"LAT\":\"" + list[i].LAT.ToString() + "\",\"ORG_ID\":\"" + list[i].ORG_ID.ToString() + "\","; data += "\"SENTRY\":\"" + list[i].SENTRY.ToString() + "\",\"SENTRYID\":\"" + list[i].SENTRYID.ToString() + "\",\"EXTENDCODE3\":\"" + list[i].EXTENDCODE3.ToString() + "\","; data += "\"TO_PHOTO\":\"" + list[i].TO_PHOTO.ToString() + "\"}"; if (i != list.Count - 1) { data += ","; } } returnstr += data + "]"; } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } //查询任务交接列表详情 private string List(HttpContext context) { string returnstr = ""; try { string SENTRYID = context.Request.Params["SENTRYID"]; string TO_DATE = context.Request.Params["TO_DATE"]; string keywords = context.Request.Params["keywords"]; string page = context.Request.Params["page"]; string limit = context.Request.Params["limit"]; int endnum = 1; int startnum = 10; endnum = int.Parse(page) * int.Parse(limit); startnum = (int.Parse(page) - 1) * int.Parse(limit); string where = " 1=1 "; where += " and SENTRYID='" + SENTRYID + "'"; if (!string.IsNullOrEmpty(TO_DATE)) { where += " and date_format(TO_DATE,'%Y-%m-%d')=date_format('" + TO_DATE + "','%Y-%m-%d')"; } if (!string.IsNullOrEmpty(keywords)) { where += " and ( T_NAME like '%" + keywords + "%' or O_NAME like '%" + keywords + "%')"; } where += " order by TO_DATE desc"; returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { DataTable dt = bll.GetListByPage(where, "", startnum, endnum).Tables[0]; string data = "["; for (int i = 0; i < dt.Rows.Count; i++) { data += "{\"ID\":\"" + dt.Rows[i]["ID"].ToString() + "\",\"T_ID\":\"" + dt.Rows[i]["T_ID"].ToString() + "\",\"T_NAME\":\"" + dt.Rows[i]["T_NAME"].ToString() + "\","; data += "\"ORG_ID\":\"" + dt.Rows[i]["ORG_ID"].ToString() + "\",\"O_NAME\":\"" + dt.Rows[i]["O_NAME"].ToString() + "\",\"TO_DATE\":\"" + dt.Rows[i]["TO_DATE"].ToString() + "\","; data += "\"TO_TIME\":\"" + dt.Rows[i]["TO_TIME"].ToString() + "\",\"T_FPR\":\"" + dt.Rows[i]["T_FPR"].ToString() + "\",\"O_FPR\":\"" + dt.Rows[i]["O_FPR"].ToString() + "\","; data += "\"TO_STATE\":\"" + dt.Rows[i]["TO_STATE"].ToString() + "\",\"TO_WORK\":\"" + dt.Rows[i]["TO_WORK"].ToString() + "\",\"ADDR\":\"" + dt.Rows[i]["ADDR"].ToString() + "\","; data += "\"LON\":\"" + dt.Rows[i]["LON"].ToString() + "\",\"LAT\":\"" + dt.Rows[i]["LAT"].ToString() + "\",\"ORG_ID\":\"" + dt.Rows[i]["ORG_ID"].ToString() + "\","; data += "\"SENTRY\":\"" + dt.Rows[i]["SENTRY"].ToString() + "\",\"SENTRYID\":\"" + dt.Rows[i]["SENTRYID"].ToString() + "\",\"EXTENDCODE3\":\"" + dt.Rows[i]["EXTENDCODE3"].ToString() + "\","; data += "\"TO_PHOTO\":\"" + dt.Rows[i]["TO_PHOTO"].ToString() + "\"}"; if (i != dt.Rows.Count - 1) { data += ","; } } returnstr += data + "]"; } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } //根据机构ID查询 private string GetShiftsListByOrgId(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; 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 = ""; if (!string.IsNullOrEmpty(OrgId)) { where = " ORG_ID ='" + OrgId + "' GROUP BY TO_DATE,SENTRY "; } else { return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } DataTable list = bll.GetShiftsListByOrgId(pageIndex, pageSize, OrgId); returnstr = "{\"code\":0,\"msg\":\"\","; returnstr += "\"count\":" + list.Rows.Count + ",\"data\":"; returnstr += FangYar.Common.JsonHelper.ToJson(list); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } //根据值班日期查询 private string GetShiftsListByDutyDate(HttpContext context) { string returnstr = ""; try { string DUTY_DATE = context.Request.Params["DUTY_DATE"]; string SENTRY = context.Request.Params["SENTRY"]; if (string.IsNullOrEmpty(DUTY_DATE) || string.IsNullOrEmpty(SENTRY)) { return "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } returnstr = "{\"code\":0,\"msg\":\"\",\"data\":"; { DataTable dt = bll.GetShiftsListByDutyDate(DUTY_DATE, SENTRY); string data = "["; for (int i = 0; i < dt.Rows.Count; i++) { data += "{\"ID\":\"" + dt.Rows[i]["ID"].ToString() + "\",\"T_ID\":\"" + dt.Rows[i]["T_ID"].ToString() + "\",\"T_NAME\":\"" + dt.Rows[i]["T_NAME"].ToString() + "\","; data += "\"ORG_ID\":\"" + dt.Rows[i]["ORG_ID"].ToString() + "\",\"O_NAME\":\"" + dt.Rows[i]["O_NAME"].ToString() + "\",\"TO_DATE\":\"" + dt.Rows[i]["TO_DATE"].ToString() + "\","; data += "\"TO_TIME\":\"" + dt.Rows[i]["TO_TIME"].ToString() + "\",\"T_FPR\":\"" + dt.Rows[i]["T_FPR"].ToString() + "\",\"O_FPR\":\"" + dt.Rows[i]["O_FPR"].ToString() + "\","; data += "\"TO_STATE\":\"" + dt.Rows[i]["TO_STATE"].ToString() + "\",\"TO_WORK\":\"" + dt.Rows[i]["TO_WORK"].ToString() + "\",\"ADDR\":\"" + dt.Rows[i]["ADDR"].ToString() + "\","; data += "\"LON\":\"" + dt.Rows[i]["LON"].ToString() + "\",\"LAT\":\"" + dt.Rows[i]["LAT"].ToString() + "\",\"ORG_ID\":\"" + dt.Rows[i]["ORG_ID"].ToString() + "\","; data += "\"SENTRY\":\"" + dt.Rows[i]["SENTRY"].ToString() + "\",\"SENTRYID\":\"" + dt.Rows[i]["SENTRYID"].ToString() + "\",\"EXTENDCODE3\":\"" + dt.Rows[i]["EXTENDCODE3"].ToString() + "\","; data += "\"T_DATE\":\"" + dt.Rows[i]["T_DATE"].ToString() + "\",\"O_DATE\":\"" + dt.Rows[i]["O_DATE"].ToString() + "\","; data += "\"TO_PHOTO\":\"" + dt.Rows[i]["TO_PHOTO"].ToString() + "\"}"; if (i != dt.Rows.Count - 1) { data += ","; } } returnstr += data + "]"; } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } //添加 private string AddShiftsSHZ(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string shiftmanarry = context.Request.Params["shiftmanarry"]; string ORG_ID = context.Request.Params["ORG_ID"]; string riqi = context.Request.Params["riqi"]; string spotid = context.Request.Params["spotid"]; string a_per = context.Request.Params["a_per"]; //获取哨位点信息 FangYar.BLL.OA_PATROL_SPOT spotbll = new BLL.OA_PATROL_SPOT(); FangYar.Model.OA_PATROL_SPOT spotmodel = spotbll.GetModel(spotid); //获取营区重点巡查点 string strWhere = " ORG_ID = '" + ORG_ID + "'"; List spotmodellist = spotbll.GetModelList(strWhere); string SPOT_IDS = "\"data\":[", SPOT_IDS_CONTENT, EXTENDCODE1 = "", SPOT_NAMES = ""; List listspoids = new List(); List> spotids = new List>(); for (int i = 0; i < spotmodellist.Count; i++) { Dictionary dictionary = new Dictionary(); //添加键值对数据,键必须唯一,值可重复 dictionary.Add("spot_Id", spotmodellist[i].ID); dictionary.Add("spot_Name", spotmodellist[i].NAME); spotids.Add(dictionary); SPOT_IDS += "{\"spot_Id\":\"" + spotmodellist[i].ID + "\",\"spot_Name\":\"" + spotmodellist[i].NAME + "\"}"; if (i == 0) { EXTENDCODE1 += spotmodellist[i].ID; SPOT_NAMES += spotmodellist[i].NAME; } else { EXTENDCODE1 += "," + spotmodellist[i].ID; SPOT_NAMES += "," + spotmodellist[i].NAME; } } SPOT_IDS += "]"; FangYar.BLL.OA_PATROL_TASK blloatask = new BLL.OA_PATROL_TASK(); //获取巡查任务规则 FangYar.BLL.OA.OA_PATROL_RULES bllrules = new BLL.OA.OA_PATROL_RULES(); List modelruleslist = new List(); string whereStr = " org_id='" + ORG_ID + "' and state='0'"; modelruleslist = bllrules.GetModelList(whereStr); //遍历信息 List ht = new List(); JArray jArray = JArray.Parse(shiftmanarry); foreach (JObject obj in jArray) { //添加交接班信息 FangYar.Model.FIRE.FIRE_SHIFTS shiftsmodel = new Model.FIRE.FIRE_SHIFTS(); shiftsmodel.ID = Guid.NewGuid().ToString("N"); shiftsmodel.O_NAME = obj["name1"].ToString() + "," + obj["name2"].ToString(); shiftsmodel.O_FPR = obj["ofpr1"].ToString() + "," + obj["ofpr2"].ToString(); //电话 shiftsmodel.TO_STATE = "0"; shiftsmodel.ORG_ID = ORG_ID; shiftsmodel.ADDR = spotmodel.ADDR; shiftsmodel.SENTRY = spotmodel.NAME; shiftsmodel.SENTRYID = spotmodel.ID; shiftsmodel.EXTENDCODE3 = spotmodel.SPOT_NO; shiftsmodel.O_UID = obj["uid1"].ToString() + "," + obj["uid2"].ToString(); shiftsmodel.T_DATE = DateTime.Parse(riqi + " " + obj["time1"].ToString() + ":0:0").AddHours(1); shiftsmodel.O_DATE = DateTime.Parse(riqi + " " + obj["time1"].ToString() + ":0:0"); shiftsmodel.DUTY_DATE = riqi; FangYar.Model.OA.CommonSql shiftSqlModel = bll.getInsertShiftSql(shiftsmodel); ht.Add(shiftSqlModel); //添加巡查任务信息 for (int i = 0; i < modelruleslist.Count; i++) { if (int.Parse(modelruleslist[i].STARTTIME) <= int.Parse(obj["time1"].ToString()) && int.Parse(obj["time1"].ToString()) <= int.Parse(modelruleslist[i].ENDTIME) && int.Parse(modelruleslist[i].STARTTIME) <= int.Parse(obj["time2"].ToString()) && int.Parse(obj["time2"].ToString()) <= int.Parse(modelruleslist[i].ENDTIME)) { FangYar.Model.OA_PATROL_TASK modelpatrol = new Model.OA_PATROL_TASK(); modelpatrol.ID = Guid.NewGuid().ToString("N"); modelpatrol.ORG_ID = ORG_ID; modelpatrol.NAME = riqi + " " + obj["time1"].ToString() + "-" + obj["time2"].ToString() + "点巡查任务"; modelpatrol.EMP_ID = obj["uid1"].ToString() + "," + obj["uid2"].ToString(); modelpatrol.EMP_NAME = obj["name1"].ToString() + "," + obj["name2"].ToString(); modelpatrol.SPOT_IDS = SPOT_IDS; modelpatrol.S_TIME = riqi + " " + obj["time1"].ToString() + ":0:0"; modelpatrol.E_TIME = riqi + " " + obj["time2"].ToString() + ":0:0"; //临时使用,后期修改成获取前台值 modelpatrol.STATE = "0"; modelpatrol.EXTENDCODE1 = EXTENDCODE1; modelpatrol.SPOT_NAMES = SPOT_NAMES; modelpatrol.A_PER = a_per; modelpatrol.A_TIME = DateTime.Now.ToString("G"); FangYar.Model.OA.CommonSql oataskSqlModel = blloatask.getInsertTaskSql(modelpatrol); ht.Add(oataskSqlModel); //添加巡查点轨迹表 FangYar.BLL.OA_PATROL_TRAJECTORY ptbll = new FangYar.BLL.OA_PATROL_TRAJECTORY(); for (int m = 0; m < spotmodellist.Count; m++) { FangYar.BLL.OA_PATROL_SPOT psbll = new FangYar.BLL.OA_PATROL_SPOT(); FangYar.Model.OA_PATROL_SPOT psmodel = spotmodellist[m]; FangYar.Model.OA_PATROL_TRAJECTORY ptmodel = new Model.OA_PATROL_TRAJECTORY(); ptmodel.ID = Guid.NewGuid().ToString("N"); ptmodel.ORG_ID = ORG_ID; ptmodel.TASK_ID = modelpatrol.ID; ptmodel.EMP_ID = modelpatrol.EMP_ID; ptmodel.EMP_NAME = modelpatrol.EMP_NAME; ptmodel.SPOT_ID = psmodel.ID; ptmodel.SPOT_NAME = psmodel.NAME; ptmodel.POINT = psmodel.POINT; ptmodel.ADDR = psmodel.ADDR; ptmodel.STATE = "0"; ptmodel.IS_DANGER = "0"; ptmodel.EXTENDCODE1 = psmodel.SPOT_NO; FangYar.Model.OA.CommonSql trajectorySqlModel = ptbll.getInsertTrajectorySql(ptmodel); ht.Add(trajectorySqlModel); } break; } } } if (FangYar.Common.MySqlHelper.ExecuteSqlTranBool(ht)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } catch (Exception e) { msg = e.Message; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } private string AddShifts(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ORG_ID = context.Request.Params["ORG_ID"]; string O_UID = context.Request.Params["O_UID"]; string O_NAME = context.Request.Params["O_NAME"]; string O_FPR = context.Request.Params["O_FPR"]; string SENTRYID = context.Request.Params["SENTRYID"]; string SENTRY = context.Request.Params["SENTRY"]; string T_DATE = context.Request.Params["T_DATE"]; string O_DATE = context.Request.Params["O_DATE"]; string IFID = context.Request.Params["IFID"]; string DutyDate = Convert.ToDateTime(O_DATE).ToString("yyyy-MM-dd"); FangYar.Model.FIRE.FIRE_SHIFTS model = new Model.FIRE.FIRE_SHIFTS(); model.ID = Guid.NewGuid().ToString("N"); model.ORG_ID = ORG_ID; model.O_UID = O_UID; model.O_NAME = O_NAME; model.O_FPR = O_FPR; model.SENTRYID = SENTRYID; model.SENTRY = SENTRY; model.ADDR = SENTRY; model.T_DATE = DateTime.Parse(T_DATE); model.O_DATE = DateTime.Parse(O_DATE); model.DUTY_DATE = DutyDate; model.EXTENDCODE3 = IFID; model.TO_STATE = "0"; if (bll.Add(model)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } catch { msg = "添加失败"; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //编辑任务 private string taskEdit(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = context.Request.Params["ID"]; string SENTRY = context.Request.Params["SENTRY"]; string ADDR = context.Request.Params["ADDR"]; string TO_STATE = context.Request.Params["TO_STATE"]; // FangYar.Model.FIRE.FIRE_SHIFTS model = new Model.FIRE.FIRE_SHIFTS(); model = bll.GetModel(ID); if (model != null) { model.SENTRY = SENTRY; model.ADDR = ADDR; if (!string.IsNullOrEmpty(TO_STATE)) { model.TO_STATE = TO_STATE; } } if (bll.Update(model)) { msg = "编辑成功!"; code = 1; } else { msg = "编辑失败!"; } } catch { msg = "编辑失败"; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //更新 private string EditShiftsSHZ(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string shiftmanarry = context.Request.Params["shiftmanarry"]; string ORG_ID = context.Request.Params["ORG_ID"]; string riqi = context.Request.Params["riqi"]; string spotid = context.Request.Params["spotid"]; string a_per = context.Request.Params["a_per"]; //事务列表 List ht = new List(); //删除原有交接班数据 FangYar.Model.OA.CommonSql shiftSqlDelModel = bll.getDelShiftSql(ORG_ID, spotid, riqi); ht.Add(shiftSqlDelModel); //删除原有巡查任务数据 FangYar.Model.OA.CommonSql oaTaskSqlDelModel = blloatask.getDelOaTaskSql(ORG_ID, riqi); ht.Add(oaTaskSqlDelModel); //获取满足条件的任务,删除相关巡查轨迹 string strWhereTask = " ORG_ID='" + ORG_ID + "' and substr(s_time, 1, 10) = '" + riqi + "' and date_format(s_time,'%Y-%m-%d %H:%i:%s') > now() "; DataTable taskDt = blloatask.GetList(strWhereTask).Tables[0]; string strWhereTaskIDS = ""; for (int n = 0; n < taskDt.Rows.Count; n++) { if (n == 0) { strWhereTaskIDS += "'" + taskDt.Rows[n]["ID"] + "'"; } else { strWhereTaskIDS += ",'" + taskDt.Rows[n]["ID"] + "'"; } } if (!string.IsNullOrEmpty(strWhereTaskIDS)) { FangYar.BLL.OA_PATROL_TRAJECTORY bllTrajectory = new BLL.OA_PATROL_TRAJECTORY(); FangYar.Model.OA.CommonSql oaTrajectorySqlDelModel = bllTrajectory.getDelTraSql(strWhereTaskIDS); ht.Add(oaTrajectorySqlDelModel); } //获取哨位点信息 FangYar.BLL.OA_PATROL_SPOT spotbll = new BLL.OA_PATROL_SPOT(); FangYar.Model.OA_PATROL_SPOT spotmodel = spotbll.GetModel(spotid); //获取营区重点巡查点 string strWhere = " ORG_ID = '" + ORG_ID + "'"; List spotmodellist = spotbll.GetModelList(strWhere); string SPOT_IDS = "\"data\":[", SPOT_IDS_CONTENT, EXTENDCODE1 = "", SPOT_NAMES = ""; List listspoids = new List(); List> spotids = new List>(); for (int i = 0; i < spotmodellist.Count; i++) { Dictionary dictionary = new Dictionary(); //添加键值对数据,键必须唯一,值可重复 dictionary.Add("spot_Id", spotmodellist[i].ID); dictionary.Add("spot_Name", spotmodellist[i].NAME); spotids.Add(dictionary); SPOT_IDS += "{\"spot_Id\":\"" + spotmodellist[i].ID + "\",\"spot_Name\":\"" + spotmodellist[i].NAME + "\"}"; if (i == 0) { EXTENDCODE1 += spotmodellist[i].ID; SPOT_NAMES += spotmodellist[i].NAME; } else { EXTENDCODE1 += "," + spotmodellist[i].ID; SPOT_NAMES += "," + spotmodellist[i].NAME; } } SPOT_IDS += "]"; //获取巡查任务规则 FangYar.BLL.OA.OA_PATROL_RULES bllrules = new BLL.OA.OA_PATROL_RULES(); List modelruleslist = new List(); string whereStr = " org_id='" + ORG_ID + "' and state='0'"; modelruleslist = bllrules.GetModelList(whereStr); //遍历信息 JArray jArray = JArray.Parse(shiftmanarry); foreach (JObject obj in jArray) { if (DateTime.Parse(riqi + " " + obj["time1"].ToString() + ":0:0") > DateTime.Now) { //添加交接班信息 FangYar.Model.FIRE.FIRE_SHIFTS shiftsmodel = new Model.FIRE.FIRE_SHIFTS(); shiftsmodel.ID = Guid.NewGuid().ToString("N"); shiftsmodel.O_NAME = obj["name1"].ToString() + "," + obj["name2"].ToString(); shiftsmodel.O_FPR = obj["ofpr1"].ToString() + "," + obj["ofpr2"].ToString(); //电话 shiftsmodel.TO_STATE = "0"; shiftsmodel.ADDR = spotmodel.ADDR; shiftsmodel.ORG_ID = ORG_ID; shiftsmodel.SENTRY = spotmodel.NAME; shiftsmodel.SENTRYID = spotmodel.ID; shiftsmodel.EXTENDCODE3 = spotmodel.SPOT_NO; shiftsmodel.O_UID = obj["uid1"].ToString() + "," + obj["uid2"].ToString(); shiftsmodel.T_DATE = DateTime.Parse(riqi + " " + obj["time1"].ToString() + ":0:0").AddHours(1); shiftsmodel.O_DATE = DateTime.Parse(riqi + " " + obj["time1"].ToString() + ":0:0"); shiftsmodel.DUTY_DATE = riqi; FangYar.Model.OA.CommonSql shiftSqlModel = bll.getInsertShiftSql(shiftsmodel); ht.Add(shiftSqlModel); //添加巡查任务信息 for (int i = 0; i < modelruleslist.Count; i++) { if (int.Parse(modelruleslist[i].STARTTIME) <= int.Parse(obj["time1"].ToString()) && int.Parse(obj["time1"].ToString()) <= int.Parse(modelruleslist[i].ENDTIME) && int.Parse(modelruleslist[i].STARTTIME) <= int.Parse(obj["time2"].ToString()) && int.Parse(obj["time2"].ToString()) <= int.Parse(modelruleslist[i].ENDTIME)) { FangYar.Model.OA_PATROL_TASK modelpatrol = new Model.OA_PATROL_TASK(); modelpatrol.ID = Guid.NewGuid().ToString("N"); modelpatrol.ORG_ID = ORG_ID; modelpatrol.NAME = riqi + " " + obj["time1"].ToString() + "-" + obj["time2"].ToString() + "点巡查任务"; modelpatrol.EMP_ID = obj["uid1"].ToString() + "," + obj["uid2"].ToString(); modelpatrol.EMP_NAME = obj["name1"].ToString() + "," + obj["name2"].ToString(); modelpatrol.SPOT_IDS = SPOT_IDS; modelpatrol.S_TIME = riqi + " " + obj["time1"].ToString() + ":0:0"; modelpatrol.E_TIME = riqi + " " + obj["time2"].ToString() + ":0:0"; //临时使用,后期修改成获取前台值 modelpatrol.STATE = "0"; modelpatrol.EXTENDCODE1 = EXTENDCODE1; modelpatrol.SPOT_NAMES = SPOT_NAMES; modelpatrol.A_PER = a_per; modelpatrol.A_TIME = DateTime.Now.ToString("G"); FangYar.Model.OA.CommonSql oataskSqlModel = blloatask.getInsertTaskSql(modelpatrol); ht.Add(oataskSqlModel); //添加巡查点轨迹表 FangYar.BLL.OA_PATROL_TRAJECTORY ptbll = new FangYar.BLL.OA_PATROL_TRAJECTORY(); for (int m = 0; m < spotmodellist.Count; m++) { FangYar.BLL.OA_PATROL_SPOT psbll = new FangYar.BLL.OA_PATROL_SPOT(); FangYar.Model.OA_PATROL_SPOT psmodel = spotmodellist[m]; FangYar.Model.OA_PATROL_TRAJECTORY ptmodel = new Model.OA_PATROL_TRAJECTORY(); ptmodel.ID = Guid.NewGuid().ToString("N"); ptmodel.ORG_ID = ORG_ID; ptmodel.TASK_ID = modelpatrol.ID; ptmodel.EMP_ID = modelpatrol.EMP_ID; ptmodel.EMP_NAME = modelpatrol.EMP_NAME; ptmodel.SPOT_ID = psmodel.ID; ptmodel.SPOT_NAME = psmodel.NAME; ptmodel.POINT = psmodel.POINT; ptmodel.ADDR = psmodel.ADDR; ptmodel.STATE = "0"; ptmodel.IS_DANGER = "0"; ptmodel.EXTENDCODE1 = psmodel.SPOT_NO; FangYar.Model.OA.CommonSql trajectorySqlModel = ptbll.getInsertTrajectorySql(ptmodel); ht.Add(trajectorySqlModel); } break; } } } } if (FangYar.Common.MySqlHelper.ExecuteSqlTranBool(ht)) { msg = "更新成功!"; code = 1; } else { msg = "更新失败!"; } } catch (Exception e) { msg = e.Message; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //删除 private string DelShifts(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string id = context.Request.Params["ID"]; if (bll.Delete(id)) { msg = "删除成功!"; code = 1; } else { msg = "删除失败!"; } } catch { msg = "删除失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } //删除 private string DelTask(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string TaskList = context.Request.Params["taskList"]; string[] TaskArray = TaskList.Split(','); string TaskListString = ""; for (int i = 0; i < TaskArray.Length; i++) { if (i == 0) { TaskListString = "'" + TaskArray[i] + "'"; } else { TaskListString += ",'" + TaskArray[i] + "'"; } } if (bll.DeleteList(TaskListString)) { msg = "删除成功!"; code = 1; } else { msg = "删除失败!"; } } catch { msg = "删除失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } //岗哨 private string editChange(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = context.Request.Params["ID"]; string O_ID = context.Request.Params["O_ID"]; string O_NAME = context.Request.Params["O_NAME"]; string TO_DATE = context.Request.Params["TO_DATE"]; string TO_STATE = context.Request.Params["TO_STATE"]; string TO_WORK = context.Request.Params["TO_WORK"]; FangYar.Model.FIRE.FIRE_SHIFTS model = new Model.FIRE.FIRE_SHIFTS(); model = bll.GetModel(ID); if (model != null) { model.O_ID = O_ID; model.O_NAME = O_NAME; model.TO_DATE = DateTime.Parse(TO_DATE); model.TO_STATE = TO_STATE; model.TO_WORK = TO_WORK; if (bll.AddChange(model)) { msg = "编辑成功!"; code = 1; } else { msg = "编辑失败!"; } } else { msg = "编辑失败!"; } } catch { msg = "编辑失败"; } returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}"; return returnstr; } //可视化接口 获取最新的岗哨数据 private string GetListNew(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; 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 + "') )"; } where += " and to_date is not null and o_name is not null"; where += " order by TO_DATE desc"; returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { DataTable dt = bll.GetListByPage(where, "", 0, 1).Tables[0]; returnstr += "["; returnstr += "{\"ID\":\"" + dt.Rows[0]["ID"].ToString() + "\",\"T_ID\":\"" + dt.Rows[0]["T_ID"].ToString() + "\",\"T_NAME\":\"" + dt.Rows[0]["T_NAME"].ToString() + "\","; returnstr += "\"ORG_ID\":\"" + dt.Rows[0]["ORG_ID"].ToString() + "\",\"O_NAME\":\"" + dt.Rows[0]["O_NAME"].ToString() + "\",\"TO_DATE\":\"" + dt.Rows[0]["TO_DATE"].ToString() + "\","; returnstr += "\"TO_TIME\":\"" + dt.Rows[0]["TO_TIME"].ToString() + "\",\"T_FPR\":\"" + dt.Rows[0]["T_FPR"].ToString() + "\",\"O_FPR\":\"" + dt.Rows[0]["O_FPR"].ToString() + "\","; returnstr += "\"TO_STATE\":\"" + dt.Rows[0]["TO_STATE"].ToString() + "\",\"TO_WORK\":\"" + dt.Rows[0]["TO_WORK"].ToString() + "\",\"ADDR\":\"" + dt.Rows[0]["ADDR"].ToString() + "\","; returnstr += "\"LON\":\"" + dt.Rows[0]["LON"].ToString() + "\",\"LAT\":\"" + dt.Rows[0]["LAT"].ToString() + "\",\"ORG_ID\":\"" + dt.Rows[0]["ORG_ID"].ToString() + "\","; returnstr += "\"SENTRY\":\"" + dt.Rows[0]["SENTRY"].ToString() + "\",\"SENTRYID\":\"" + dt.Rows[0]["SENTRYID"].ToString() + "\",\"EXTENDCODE3\":\"" + dt.Rows[0]["EXTENDCODE3"].ToString() + "\","; returnstr += "\"TO_PHOTO\":\"" + dt.Rows[0]["TO_PHOTO"].ToString() + "\"}"; returnstr += "]"; } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } //可视化接口 获取岗哨数据 private string GetList(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; 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 + "') )"; } where += " order by TO_DATE desc"; returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { string data = "["; List list = bll.QueryList(pageIndex, pageSize, where, ""); for (int i = 0; i < list.Count; i++) { data += "{\"ID\":\"" + list[i].ID.ToString() + "\",\"T_ID\":\"" + list[i].T_ID.ToString() + "\",\"T_NAME\":\"" + list[i].T_NAME.ToString() + "\","; data += "\"ORG_ID\":\"" + list[i].ORG_ID.ToString() + "\",\"O_NAME\":\"" + list[i].O_NAME.ToString() + "\",\"TO_DATE\":\"" + list[i].TO_DATE.ToString() + "\","; data += "\"TO_TIME\":\"" + list[i].TO_TIME.ToString() + "\",\"T_FPR\":\"" + list[i].T_FPR.ToString() + "\",\"O_FPR\":\"" + list[i].O_FPR.ToString() + "\","; data += "\"TO_STATE\":\"" + list[i].TO_STATE.ToString() + "\",\"TO_WORK\":\"" + list[i].TO_WORK.ToString() + "\",\"ADDR\":\"" + list[i].ADDR.ToString() + "\","; data += "\"LON\":\"" + list[i].LON.ToString() + "\",\"LAT\":\"" + list[i].LAT.ToString() + "\",\"ORG_ID\":\"" + list[i].ORG_ID.ToString() + "\","; data += "\"SENTRY\":\"" + list[i].SENTRY.ToString() + "\",\"SENTRYID\":\"" + list[i].SENTRYID.ToString() + "\",\"EXTENDCODE3\":\"" + list[i].EXTENDCODE3.ToString() + "\","; data += "\"TO_PHOTO\":\"" + list[i].TO_PHOTO.ToString() + "\"}"; if (i != list.Count - 1) { data += ","; } } returnstr += data + "]"; } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } //查询某天岗哨任务列表 private string GetShiftsList(HttpContext context) { string returnstr = ""; try { string OrgId = context.Request.Params["OrgId"]; string riqi = context.Request.Params["riqi"]; string spotid = context.Request.Params["spotid"]; string where = " ORG_ID ='" + OrgId + "' and duty_date ='" + riqi + "' and sentryid='" + spotid + "'"; returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { string data = "["; List list = bll.GetModelList(where); for (int i = 0; i < list.Count; i++) { data += "{\"ID\":\"" + list[i].ID.ToString() + "\",\"T_ID\":\"" + list[i].T_ID.ToString() + "\",\"T_NAME\":\"" + list[i].T_NAME.ToString() + "\","; data += "\"ORG_ID\":\"" + list[i].ORG_ID.ToString() + "\",\"O_NAME\":\"" + list[i].O_NAME.ToString() + "\",\"TO_DATE\":\"" + list[i].TO_DATE.ToString() + "\","; data += "\"TO_TIME\":\"" + list[i].TO_TIME.ToString() + "\",\"T_FPR\":\"" + list[i].T_FPR.ToString() + "\",\"O_FPR\":\"" + list[i].O_FPR.ToString() + "\","; data += "\"TO_STATE\":\"" + list[i].TO_STATE.ToString() + "\",\"TO_WORK\":\"" + list[i].TO_WORK.ToString() + "\",\"ADDR\":\"" + list[i].ADDR.ToString() + "\","; data += "\"LON\":\"" + list[i].LON.ToString() + "\",\"LAT\":\"" + list[i].LAT.ToString() + "\",\"ORG_ID\":\"" + list[i].ORG_ID.ToString() + "\","; data += "\"SENTRY\":\"" + list[i].SENTRY.ToString() + "\",\"SENTRYID\":\"" + list[i].SENTRYID.ToString() + "\",\"EXTENDCODE3\":\"" + list[i].EXTENDCODE3.ToString() + "\","; data += "\"O_UID\":\"" + list[i].O_UID.ToString() + "\",\"T_DATE\":\"" + list[i].T_DATE.ToString() + "\",\"O_DATE\":\"" + Convert.ToDateTime(list[i].O_DATE.ToString()).ToString("HH") + "\","; data += "\"DUTY_DATE\":\"" + list[i].DUTY_DATE.ToString() + "\"}"; if (i != list.Count - 1) { data += ","; } } returnstr += data + "]"; } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } //上传excel private string impExcel(HttpContext context) { string returnStr = ""; string msg = "", successInfo = "", errInfo = "", updateInfo = ""; string org_id = "", spotid = "", a_per = ""; int code = -1; try { org_id = context.Request.Params["org_id"]; spotid = context.Request.Params["spotid"]; a_per = context.Request.Params["a_per"]; var file = context.Request.Files[0]; //获取选中文件 Stream stream = file.InputStream; //将文件转为流 Workbook workbook = new Workbook(); //将文件流内容读取到workbook对象里面 workbook.LoadFromStream(stream); //得到第一个Sheet页 Worksheet sheet = workbook.Worksheets[0]; DataTable dtImp = SheetToDataTable(true, sheet); //遍历信息 List ht = new List(); //获取哨位点信息 FangYar.BLL.OA_PATROL_SPOT spotbll = new BLL.OA_PATROL_SPOT(); FangYar.Model.OA_PATROL_SPOT spotmodel = spotbll.GetModel(spotid); //获取营区重点巡查点 string strWhere = " ORG_ID = '" + org_id + "'"; List spotmodellist = spotbll.GetModelList(strWhere); string SPOT_IDS = "\"data\":[", SPOT_IDS_CONTENT, EXTENDCODE1 = "", SPOT_NAMES = ""; List listspoids = new List(); List> spotids = new List>(); for (int i = 0; i < spotmodellist.Count; i++) { Dictionary dictionary = new Dictionary(); //添加键值对数据,键必须唯一,值可重复 dictionary.Add("spot_Id", spotmodellist[i].ID); dictionary.Add("spot_Name", spotmodellist[i].NAME); spotids.Add(dictionary); SPOT_IDS += "{\"spot_Id\":\"" + spotmodellist[i].ID + "\",\"spot_Name\":\"" + spotmodellist[i].NAME + "\"}"; if (i == 0) { EXTENDCODE1 += spotmodellist[i].ID; SPOT_NAMES += spotmodellist[i].NAME; } else { EXTENDCODE1 += "," + spotmodellist[i].ID; SPOT_NAMES += "," + spotmodellist[i].NAME; } } SPOT_IDS += "]"; FangYar.BLL.OA_PATROL_TASK blloatask = new BLL.OA_PATROL_TASK(); //获取巡查任务规则 FangYar.BLL.OA.OA_PATROL_RULES bllrules = new BLL.OA.OA_PATROL_RULES(); List modelruleslist = new List(); string whereStr = " org_id='" + org_id + "' and state='0'"; modelruleslist = bllrules.GetModelList(whereStr); FangYar.BLL.FIRE.FIRE_ORG bllFireOrg = new BLL.FIRE.FIRE_ORG(); FangYar.BLL.TBL.SysEmpBLL bllEmp = new BLL.TBL.SysEmpBLL(); for (int j = 0; j < dtImp.Rows.Count; j++) { string rumnumber = dtImp.Rows[j][0].ToString(); string riqi = dtImp.Rows[j][1].ToString(); string time1 = dtImp.Rows[j][2].ToString(); string time2 = dtImp.Rows[j][3].ToString(); string emp1 = dtImp.Rows[j][4].ToString(); string emp2 = dtImp.Rows[j][5].ToString(); //判断是否超时 if (DateTime.Parse(riqi + " " + time1 + ":0:0") <= DateTime.Now) { errInfo += "序号" + rumnumber + ":此条数据所设置的时间早于当前时间,不可再进行数据添加和更新!*"; continue; } //获取人员信息 FangYar.Model.TBL.TBL_SYS_EMP_Model modelemp1 = bllEmp.GetModelByName(org_id, emp1); FangYar.Model.TBL.TBL_SYS_EMP_Model modelemp2 = bllEmp.GetModelByName(org_id, emp2); if (modelemp1 == null || modelemp2 == null) { errInfo += "序号" + rumnumber + ":此条数据所填写人员姓名在系统中不存下,请重新检查保证与系统中人员姓名一致!*"; continue; } string whereCount = " ORG_ID ='" + org_id + "' and o_date=date_format('" + riqi + " " + time1 + ":0:0" + "','%Y-%m-%d %H:%i:%s') and duty_date ='" + riqi + "' and sentryid='" + spotid + "'"; List list = bll.GetModelList(whereCount); //添加 if (list.Count == 0) { successInfo += "序号" + rumnumber + ":此条数据添加成功!*"; //添加交接班信息 FangYar.Model.FIRE.FIRE_SHIFTS shiftsmodel = new Model.FIRE.FIRE_SHIFTS(); shiftsmodel.ID = Guid.NewGuid().ToString("N"); shiftsmodel.O_NAME = emp1 + "," + emp2; shiftsmodel.O_FPR = modelemp1.EMP_MOBILE + "," + modelemp2.EMP_MOBILE; //电话 shiftsmodel.TO_STATE = "0"; shiftsmodel.ORG_ID = org_id; shiftsmodel.ADDR = spotmodel.ADDR; shiftsmodel.SENTRY = spotmodel.NAME; shiftsmodel.SENTRYID = spotmodel.ID; shiftsmodel.EXTENDCODE3 = spotmodel.SPOT_NO; shiftsmodel.O_UID = modelemp1.USERS_UID + "," + modelemp2.USERS_UID; shiftsmodel.O_DATE = DateTime.Parse(riqi + " " + time1 + ":0:0"); shiftsmodel.DUTY_DATE = riqi; FangYar.Model.OA.CommonSql shiftSqlModel = bll.getInsertShiftSql(shiftsmodel); ht.Add(shiftSqlModel); //添加巡查任务信息 for (int i = 0; i < modelruleslist.Count; i++) { if (int.Parse(modelruleslist[i].STARTTIME) <= int.Parse(time1) && int.Parse(time1) <= int.Parse(modelruleslist[i].ENDTIME) && int.Parse(modelruleslist[i].STARTTIME) <= int.Parse(time2) && int.Parse(time2) <= int.Parse(modelruleslist[i].ENDTIME)) { FangYar.Model.OA_PATROL_TASK modelpatrol = new Model.OA_PATROL_TASK(); modelpatrol.ID = Guid.NewGuid().ToString("N"); modelpatrol.ORG_ID = org_id; modelpatrol.NAME = riqi + " " + time1 + "-" + time2 + "点巡查任务"; modelpatrol.EMP_ID = modelemp1.USERS_UID + "," + modelemp2.USERS_UID; modelpatrol.EMP_NAME = modelemp1.EMP_MOBILE + "," + modelemp2.EMP_MOBILE; //电话 modelpatrol.SPOT_IDS = SPOT_IDS; modelpatrol.S_TIME = riqi + " " + time1 + ":0:0"; modelpatrol.E_TIME = riqi + " " + time2 + ":0:0"; //临时使用,后期修改成获取前台值 modelpatrol.STATE = "0"; modelpatrol.EXTENDCODE1 = EXTENDCODE1; modelpatrol.SPOT_NAMES = SPOT_NAMES; modelpatrol.A_PER = a_per; modelpatrol.A_TIME = DateTime.Now.ToString("G"); FangYar.Model.OA.CommonSql oataskSqlModel = blloatask.getInsertTaskSql(modelpatrol); ht.Add(oataskSqlModel); //添加巡查点轨迹表 FangYar.BLL.OA_PATROL_TRAJECTORY ptbll = new FangYar.BLL.OA_PATROL_TRAJECTORY(); for (int m = 0; m < spotmodellist.Count; m++) { FangYar.BLL.OA_PATROL_SPOT psbll = new FangYar.BLL.OA_PATROL_SPOT(); FangYar.Model.OA_PATROL_SPOT psmodel = spotmodellist[m]; FangYar.Model.OA_PATROL_TRAJECTORY ptmodel = new Model.OA_PATROL_TRAJECTORY(); ptmodel.ID = Guid.NewGuid().ToString("N"); ptmodel.ORG_ID = org_id; ptmodel.TASK_ID = modelpatrol.ID; ptmodel.EMP_ID = modelpatrol.EMP_ID; ptmodel.EMP_NAME = modelpatrol.EMP_NAME; ptmodel.SPOT_ID = psmodel.ID; ptmodel.SPOT_NAME = psmodel.NAME; ptmodel.POINT = psmodel.POINT; ptmodel.ADDR = psmodel.ADDR; ptmodel.STATE = "0"; ptmodel.IS_DANGER = "0"; ptmodel.EXTENDCODE1 = psmodel.SPOT_NO; FangYar.Model.OA.CommonSql trajectorySqlModel = ptbll.getInsertTrajectorySql(ptmodel); ht.Add(trajectorySqlModel); } break; } } } //更新 else { updateInfo += "序号" + rumnumber + ":此条数据更新成功!*"; FangYar.Model.FIRE.FIRE_SHIFTS modelshifts = list[0]; //删除原有交接班数据 FangYar.Model.OA.CommonSql shiftSqlDelOneModel = bll.getDelOneShiftSql(modelshifts.ID); ht.Add(shiftSqlDelOneModel); //删除原有巡查任务数据 string taskname = riqi + " " + time1 + "-" + time2 + "点巡查任务"; DataTable modeltaskdt = blloatask.GetList(" name = '" + taskname + "'").Tables[0]; if (modeltaskdt.Rows.Count > 0) { string taskid = modeltaskdt.Rows[0]["ID"].ToString(); FangYar.Model.OA.CommonSql oaTaskSqlDelOneModel = blloatask.getDelOneOaTaskSql(taskid); ht.Add(oaTaskSqlDelOneModel); //删除轨迹点 FangYar.BLL.OA_PATROL_TRAJECTORY bllTrajectory = new BLL.OA_PATROL_TRAJECTORY(); FangYar.Model.OA.CommonSql oaTrajectorySqlDelByTaskModel = bllTrajectory.getDelTraByTaskSql(taskid); ht.Add(oaTrajectorySqlDelByTaskModel); } //添加交接班信息 FangYar.Model.FIRE.FIRE_SHIFTS shiftsmodel = new Model.FIRE.FIRE_SHIFTS(); shiftsmodel.ID = Guid.NewGuid().ToString("N"); shiftsmodel.O_NAME = emp1 + "," + emp2; shiftsmodel.O_FPR = modelemp1.EMP_MOBILE + "," + modelemp2.EMP_MOBILE; //电话 shiftsmodel.TO_STATE = "0"; shiftsmodel.ORG_ID = org_id; shiftsmodel.ADDR = spotmodel.ADDR; shiftsmodel.SENTRY = spotmodel.NAME; shiftsmodel.SENTRYID = spotmodel.ID; shiftsmodel.EXTENDCODE3 = spotmodel.SPOT_NO; shiftsmodel.O_UID = modelemp1.USERS_UID + "," + modelemp2.USERS_UID; shiftsmodel.O_DATE = DateTime.Parse(riqi + " " + time1 + ":0:0"); shiftsmodel.DUTY_DATE = riqi; FangYar.Model.OA.CommonSql shiftSqlModel = bll.getInsertShiftSql(shiftsmodel); ht.Add(shiftSqlModel); //添加巡查任务信息 for (int i = 0; i < modelruleslist.Count; i++) { if (int.Parse(modelruleslist[i].STARTTIME) <= int.Parse(time1) && int.Parse(time1) <= int.Parse(modelruleslist[i].ENDTIME) && int.Parse(modelruleslist[i].STARTTIME) <= int.Parse(time2) && int.Parse(time2) <= int.Parse(modelruleslist[i].ENDTIME)) { FangYar.Model.OA_PATROL_TASK modelpatrol = new Model.OA_PATROL_TASK(); modelpatrol.ID = Guid.NewGuid().ToString("N"); modelpatrol.ORG_ID = org_id; modelpatrol.NAME = riqi + " " + time1 + "-" + time2 + "点巡查任务"; modelpatrol.EMP_ID = modelemp1.USERS_UID + "," + modelemp2.USERS_UID; modelpatrol.EMP_NAME = modelemp1.EMP_MOBILE + "," + modelemp2.EMP_MOBILE; //电话 modelpatrol.SPOT_IDS = SPOT_IDS; modelpatrol.S_TIME = riqi + " " + time1 + ":0:0"; modelpatrol.E_TIME = riqi + " " + time2 + ":0:0"; //临时使用,后期修改成获取前台值 modelpatrol.STATE = "0"; modelpatrol.EXTENDCODE1 = EXTENDCODE1; modelpatrol.SPOT_NAMES = SPOT_NAMES; modelpatrol.A_PER = a_per; modelpatrol.A_TIME = DateTime.Now.ToString("G"); FangYar.Model.OA.CommonSql oataskSqlModel = blloatask.getInsertTaskSql(modelpatrol); ht.Add(oataskSqlModel); //添加巡查点轨迹表 FangYar.BLL.OA_PATROL_TRAJECTORY ptbll = new FangYar.BLL.OA_PATROL_TRAJECTORY(); for (int m = 0; m < spotmodellist.Count; m++) { FangYar.BLL.OA_PATROL_SPOT psbll = new FangYar.BLL.OA_PATROL_SPOT(); FangYar.Model.OA_PATROL_SPOT psmodel = spotmodellist[m]; FangYar.Model.OA_PATROL_TRAJECTORY ptmodel = new Model.OA_PATROL_TRAJECTORY(); ptmodel.ID = Guid.NewGuid().ToString("N"); ptmodel.ORG_ID = org_id; ptmodel.TASK_ID = modelpatrol.ID; ptmodel.EMP_ID = modelpatrol.EMP_ID; ptmodel.EMP_NAME = modelpatrol.EMP_NAME; ptmodel.SPOT_ID = psmodel.ID; ptmodel.SPOT_NAME = psmodel.NAME; ptmodel.POINT = psmodel.POINT; ptmodel.ADDR = psmodel.ADDR; ptmodel.STATE = "0"; ptmodel.IS_DANGER = "0"; ptmodel.EXTENDCODE1 = psmodel.SPOT_NO; FangYar.Model.OA.CommonSql trajectorySqlModel = ptbll.getInsertTrajectorySql(ptmodel); ht.Add(trajectorySqlModel); } break; } } } } if (errInfo == "") { if (FangYar.Common.MySqlHelper.ExecuteSqlTranBool(ht)) { msg = "添加成功!"; code = 1; } else { code = 0; msg = "添加失败!"; } } else { code = 0; msg = "添加失败!"; } returnStr = "{\"code\": " + code + ",\"msg\": \"" + msg + "\",\"successInfo\": \"" + successInfo + "\",\"errInfo\": \"" + errInfo + "\",\"updateInfo\": \"" + updateInfo + "\"}"; } catch (Exception ex) { returnStr = "{\"code\": -1,\"msg\": \"" + ex.Message + "\",\"errInfo\": \"" + errInfo + "\"}"; } return returnStr; } /// /// 将Excel以文件流转换DataTable /// /// 是否有表头 /// 文件流 /// 文件簿索引 public DataTable ExcelToDataTableFormStream(bool hasTitle = true, Stream stream = null, int tableindex = 0) { //新建Workbook Workbook workbook = new Workbook(); //将文件流内容读取到workbook对象里面 workbook.LoadFromStream(stream); //得到第一个Sheet页 Worksheet sheet = workbook.Worksheets[tableindex]; return SheetToDataTable(hasTitle, sheet); } private DataTable SheetToDataTable(bool hasTitle, Worksheet sheet) { int iRowCount = sheet.Rows.Length; int iColCount = sheet.Columns.Length; DataTable dt = new DataTable(); //生成列头 for (int i = 0; i < iColCount; i++) { var name = "column" + i; if (hasTitle) { var txt = sheet.Range[1, i + 1].Text; if (!string.IsNullOrEmpty(txt)) name = txt; } while (dt.Columns.Contains(name)) name = name + "_1";//重复行名称会报错。 dt.Columns.Add(new DataColumn(name, typeof(string))); } //生成行数据 int rowIdx = hasTitle ? 2 : 1; for (int iRow = rowIdx; iRow <= iRowCount; iRow++) { DataRow dr = dt.NewRow(); for (int iCol = 1; iCol <= iColCount; iCol++) { dr[iCol - 1] = sheet.Range[iRow, iCol].Value; } dt.Rows.Add(dr); } return RemoveEmpty(dt); } /// /// 去除空行 /// /// /// private DataTable RemoveEmpty(DataTable dt) { List removelist = new List(); for (int i = 0; i < dt.Rows.Count; i++) { bool rowdataisnull = true; for (int j = 0; j < dt.Columns.Count; j++) { if (!string.IsNullOrEmpty(dt.Rows[i][j].ToString().Trim())) { rowdataisnull = false; } } if (rowdataisnull) { removelist.Add(dt.Rows[i]); } } for (int i = 0; i < removelist.Count; i++) { dt.Rows.Remove(removelist[i]); } return dt; } public void expExcel(HttpContext context) { try { string OrgId = context.Request.Params["OrgId"]; string riqi = context.Request.Params["riqi"]; string spotid = context.Request.Params["spotid"]; string strWhere = " ORG_ID ='" + OrgId + "' and duty_date ='" + riqi + "' and sentryid='" + spotid + "'"; int count = bll.GetRecordCount(strWhere); if (count == 0) { } else { System.Data.DataTable data = bll.expExcel(strWhere); System.Collections.Generic.Dictionary cellHeaders = new System.Collections.Generic.Dictionary(); cellHeaders.Add("ROW_NUMBER", "序号"); cellHeaders.Add("O_DATE", "时间"); cellHeaders.Add("SENTRY", "哨位点"); cellHeaders.Add("O_NAME", "人员"); cellHeaders.Add("O_FPR", "电话"); cellHeaders.Add("TO_DATE", "实际上哨时间"); cellHeaders.Add("TO_TIME", "实际下哨时间"); cellHeaders.Add("TO_STATENAME", "上哨状态"); FangYar.Common.NPOIExcelHelper.ExportByWeb(data, null, cellHeaders, DateTime.Now.ToString("yyyyMMddHHmmss") + "哨位排班表.xls"); } } catch (Exception e) { } } public string impExcelError(HttpContext context) { return "{\"code\": -1,\"msg\": \"未选择哨位点!\"}"; } //查询某天岗哨任务列表 private string ShiftsMansList(HttpContext context) { string returnstr = ""; try { FangYar.BLL.FIRE.FIRE_SHIFTSMANS bll_mans = new BLL.FIRE.FIRE_SHIFTSMANS(); string OrgId = context.Request.Params["OrgId"]; string where = " ORG_ID ='" + OrgId + "'"; returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll_mans.GetRecordCount(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = bll_mans.GetModelList(where); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } // private string AddShiftsMans(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; int count = 0; FangYar.BLL.FIRE.FIRE_SHIFTSMANS bll_mans = new BLL.FIRE.FIRE_SHIFTSMANS(); try { string orgId = context.Request.Params["OrgId"]; string dataContend = context.Request.Params["dataContend"]; List sqlList = new List(); FangYar.Model.OA.CommonSql sqlModel = new Model.OA.CommonSql(); JArray dataMans = JsonConvert.DeserializeObject(dataContend); foreach (JObject obj in dataMans) { FangYar.Model.FIRE.FIRE_SHIFTSMANS model = new Model.FIRE.FIRE_SHIFTSMANS(); model.ID = Guid.NewGuid().ToString("N"); model.USERS_UID = (string)obj["USERS_UID"]; model.EMP_NAME = (string)obj["EMP_NAME"]; model.EMP_MOBILE = (string)obj["EMP_MOBILE"]; model.ORG_ID = orgId; sqlModel = bll_mans.getAddMansSql(model); sqlList.Add(sqlModel); } bool flag = FangYar.Common.MySqlHelper.ExecuteSqlTranBool(sqlList); if (flag) { code = 1; msg = "保存成功!"; } } catch (Exception e) { msg = "保存失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\",\"count\":" + count + ",\"data\":[]}"; return returnstr; } // private string DelShiftsMans(HttpContext context) { string returnstr = ""; try { FangYar.BLL.FIRE.FIRE_SHIFTSMANS bll_mans = new BLL.FIRE.FIRE_SHIFTSMANS(); string ID = context.Request.Params["ID"]; if (bll_mans.Delete(ID)) { returnstr = "{\"code\":1,\"msg\":\"删除成功\",\"count\":0,\"data\":[]}"; } else { returnstr = "{\"code\":-1,\"msg\":\"未删除\",\"count\":0,\"data\":[]}"; } } catch { returnstr = "{\"code\":-1,\"msg\":\"未删除\",\"count\":0,\"data\":[]}"; } return returnstr; } private string Statistics(HttpContext context) { string returnstr = ""; try { string ORG_ID = context.Request.Params["ORG_ID"]; string SENTRYID = context.Request.Params["SENTRYID"]; string S_DATE = context.Request.Params["S_DATE"]; string E_DATE = context.Request.Params["E_DATE"]; if (string.IsNullOrEmpty(S_DATE)) { S_DATE = DateTime.Now.ToString("yyyy-MM-dd"); } if (string.IsNullOrEmpty(E_DATE)) { E_DATE = DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd"); } returnstr += "{\"code\":200,\"data\":"; DataTable dt = bll.Statistics(ORG_ID, SENTRYID, S_DATE, E_DATE); returnstr += FangYar.Common.JsonHelper.ToJson(dt); returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}"; } return returnstr; } public bool IsReusable { get { return false; } } } }