/// <summary> /// 获取区域流量,暂时没用到 /// </summary> /// <returns></returns> public JsonResult GetAreaAvgFlow() { //List<FlowMeterData> fmdatalist = new List<FlowMeterData>(); JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; List <AreaAnalysisData> areadatalist = new List <AreaAnalysisData>(); User_t user = new User_t(); if (user.Usr_Type == 3) { Guid arealist = UserContext.GetAreaByUserUid(user.Usr_UId); List <FlowMeter_t> fmlist = new List <FlowMeter_t>(); foreach (var item in fmlist) { int daytime = int.Parse(((DateTime)item.FM_FlowCountLast).ToString("yyyyMMdd")); List <FlowDay_t> flowday = flowday_Service.GetAllFlowDayByFMUid(item.FM_UId).Where(p => p.Fld_Time == daytime).ToList(); if (flowday.Count != 0) { decimal areaAvg = (decimal)flowday.FirstOrDefault().Fld_TotalValue; } } } result.Data = areadatalist; return(result); }
public JsonResult LogOut() { JsonResult result = new JsonResult(); User_t account = UserContext.account; try { //清除token和账号uid对应缓存 DBHelper.SetExpire(ConfigurationManager.AppSettings["tokenByUserUid"] + UserContext.account.Usr_UId); DBHelper.SetExpire("token-" + UserContext.access_token); UserContext.access_token = UserContext.access_token != null ? "" : UserContext.access_token; //清除用户信息上下文 account = account != null && account.Usr_UId != new Guid() ? account : new User_t(); //清除可能的cookie HttpCookie cookiename = Request.Cookies["username"]; if (cookiename != null) { cookiename.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(cookiename); } HttpCookie cookieuid = Request.Cookies["useruid"]; if (cookieuid != null) { cookieuid.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(cookieuid); } result.Data = true; } catch { result.Data = false; } return(result); }
public JsonResult GetPressureMeterByAreaUid(Guid areaUid) { JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; //Func<List<FlowMeterStatusAndArea>> fmAndStatusArea = () => flowmeterService.GetFlowMeterStatusByArea(areaUid); //List<FlowMeterStatusAndArea> fmstatusAndAreaList = DBHelper.get<FlowMeterStatusAndArea>(fmAndStatusArea, // ConfigurationManager.AppSettings["FlowMeterStatusByAreaUid"] + areaUid); Func <List <PressureMeterStatusAndArea> > pmAndStatusArea = () => pressuremeterService.GetPressureMeterStatusByArea(areaUid); List <PressureMeterStatusAndArea> pmstatusAndAreaList = DBHelper.get <PressureMeterStatusAndArea>(pmAndStatusArea, ConfigurationManager.AppSettings["PressureMeterStatusByAreaUid"] + areaUid).ToList(); User_t account = UserContext.account; List <PressureMeterStatusAndArea> pms_areas = new List <PressureMeterStatusAndArea>(); List <PressureMeterStatusAndArea> pms_areas_order = new List <PressureMeterStatusAndArea>(); if (account.Usr_Type != 3) { List <Area_t> subarealist = areaService.GetSubArea(areaUid); foreach (var item in subarealist) { Func <List <PressureMeterStatusAndArea> > pmsaFunc = () => pressuremeterService.GetPressureMeterStatusByArea(areaUid); var pmsalist = DBHelper.get <PressureMeterStatusAndArea>(pmsaFunc, ConfigurationManager.AppSettings["PressureMeterStatusByAreaUid"] + areaUid).ToList(); pms_areas.AddRange(pmsalist); } //获取设备访问次数,根据访问次数排序,再将剩余的设备整合 Func <List <VisitCount> > initvisit = () => { return(new List <VisitCount>()); }; List <VisitCount> vclist = DBHelper.getWithNoExpire <List <VisitCount> >(initvisit, UserContext.account.Usr_UId + ConfigurationManager.AppSettings["VisitPressureMeterCount"]); vclist = vclist.OrderByDescending(p => p.count).ToList(); foreach (var item in vclist) { var data = pms_areas.Where(p => p.pressuremeter.PM_UId == Guid.Parse(item.uid)).FirstOrDefault(); if (data != null) { pms_areas_order.Add(data); } } foreach (var item in pms_areas) { if (vclist.Where(p => p.uid == item.pressuremeter.PM_UId.ToString()).Count() == 0) { pms_areas_order.Add(item); } } } //result.Data = pmstatusAndAreaList; string dataresult = ToJson <List <PressureMeterStatusAndArea> > .Obj2Json <List <PressureMeterStatusAndArea> >(pms_areas_order).Replace("\\\\", ""); dataresult = dataresult.Replace("\\\\", ""); result.Data = dataresult; return(result); }
public ActionResult DeleteConfirmed(int id) { User_t user_t = db.User_t.Find(id); db.User_t.Remove(user_t); db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// 输出昨日流量变化幅度从大到小排行的流量计列表 /// </summary> /// <returns></returns> public JsonResult GetLastDayFlowList() { JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; List <FlowMeterData> fmdata_account = new List <FlowMeterData>(); User_t account = UserContext.account; List <FlowMeter_t> fmlist = new List <FlowMeter_t>(); if (account.Usr_Type == 3) { fmlist = flowmeter_Service.GetFlowMetersByUserUid(account.Usr_UId); } else { fmlist = flowmeter_Service.GetAllFlowMeter(); } List <FlowMeterData> fmdatalist = new List <FlowMeterData>(); foreach (var item in fmlist) { if (item.FM_FlowCountLast != null) { Func <FlowMeterData> fmdataFunc = () => flowmeter_Service.GetAnalysisByFlowMeter(item, (DateTime)item.FM_FlowCountLast); var fmdata = DBHelper.getT <FlowMeterData>(fmdataFunc, ConfigurationManager.AppSettings["FlowMeterAnalysisByFMUid"] + item.FM_UId); fmdatalist.Add(fmdata); } } //先剔除“无法计算”的昨日流量比例,按大小排序,再补上“无法计算” var fmdatatemp1 = fmdatalist.Where(p => p.lastday_flow_proportion != "无法计算").ToList(); if (fmdatatemp1.Count >= 0 && fmdatatemp1.Count < 3) { fmdatalist.AddRange(fmdatatemp1); var fmdatatemp2 = fmdatalist.Where(p => p.lastday_flow_proportion == "无法计算").ToList(); if (fmdatatemp2.Count > 0) { fmdata_account.AddRange(fmdatatemp2); fmdata_account = fmdata_account.Take(3).ToList(); } } else if (fmdatatemp1.Count >= 3) { fmdata_account = fmdatatemp1.OrderByDescending(p => p.lastday_flow_proportion).Take(3).ToList(); } string dataresult = ToJson <List <FlowMeterData> > .Obj2Json <List <FlowMeterData> >(fmdata_account).Replace("\\\\", ""); dataresult = dataresult.Replace("\\\\", ""); result.Data = dataresult; return(result); }
public ActionResult Edit([Bind(Include = "user_id,email,password,role_id")] User_t user_t) { if (ModelState.IsValid) { user_t.last_update_date = DateTime.Now; user_t.last_user_update = User.Identity.Name; db.Entry(user_t).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.role_id = new SelectList(db.Role_t, "role_id", "description", user_t.role_id); return(View(user_t)); }
// GET: User/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } User_t user_t = db.User_t.Find(id); if (user_t == null) { return(HttpNotFound()); } return(View(user_t)); }
// GET: User/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } User_t user_t = db.User_t.Find(id); if (user_t == null) { return(HttpNotFound()); } ViewBag.role_id = new SelectList(db.Role_t, "role_id", "description", user_t.role_id); return(View(user_t)); }
/// <summary> /// 水压分析数据 /// </summary> /// <param name="pmuid"></param> /// <param name="time"></param> /// <returns></returns> public JsonResult PressureAnalysis(Guid pmuid, DateTime time) { JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; User_t account = UserContext.account; Guid useruid = account == null || account.Usr_UId == new Guid()?Guid.Parse(Session["wp_username"].ToString()):account.Usr_UId; PressureMeter_t pm = pressuremeter_service.GetAllPressureMeter().FirstOrDefault(p => p.PM_UId == pmuid); //time = time == null ? pm.PM_CountLast : time; //time = time == pm.PM_CountLast && pm.PM_CountLast == null ? System.DateTime.Now : time; Func <PressureMeterData> pmdataFunc = () => pressuremeter_service.GetAnalysisByPressureMeter(pm, (DateTime)time); result.Data = DBHelper.getT <PressureMeterData>(pmdataFunc, ConfigurationManager.AppSettings["PressureMeterAnalysisByPMUid"] + pm.PM_UId); return(result); }
public List <PressureMeterData> GetPressureMetersDataByUser(User_t account) { List <PressureMeter_t> pmlist = new List <PressureMeter_t>(); List <PressureMeterData> pmdatalist = new List <PressureMeterData>(); if (account.Usr_Type == 3) { //获取客户的水压计,当前水压计未绑定客户 } else { pmlist = FindAll().Where(p => !p.PM_Description.Contains("不可用")).ToList(); foreach (var item in pmlist) { var pmdata = GetAnalysisByPressureMeter(item, (DateTime)item.PM_CountLast); pmdatalist.Add(pmdata); } } return(pmdatalist); }
//public AreaController(IAreaService arService, IFlowMeterService fmService,IPressureMeterService pmService,IQualityMeterService qmService) //{ // this.AddDisposableObject(arService); // areaService = arService; // this.AddDisposableObject(fmService); // flowmeterService = fmService; // this.AddDisposableObject(pmService); // pressuremeterService = pmService; // this.AddDisposableObject(qmService); // qualitymeterService = qmService; //} public JsonResult AreaTree() { JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; IAreaService area_service = new AreaService(); Func <List <Area_t> > func = () => area_service.GetAllArea().ToList(); List <Area_t> all = DBHelper.get <Area_t>(func, ConfigurationManager.AppSettings["AllArea"]); var areaChild = new object(); Area_t area = new Area_t(); Guid areauid = new Guid(); User_t account = UserContext.account; if (account.Usr_Type == 3) { areauid = UserContext.GetAreaByUserUid(UserContext.account.Usr_UId); area = all.First(p => p.Ara_UId == areauid); } else { areauid = UserContext.AreaSourceUid; area = all.First(p => p.Ara_UId == areauid); areaChild = GetChild(area.Ara_UId, all); } var list = new { text = area.Ara_Name, description = area.Ara_Description, id = area.Ara_UId, Lat = area.Ara_Lat, //纬度 Lng = area.Ara_Lng, //经度 children = areaChild, }; result.Data = list; return(result); }
public async Task <ActionResult> Index(User_t u) { if (ModelState.IsValid) { if (await unit.LoginRepository.Login(u.email, u.password)) { bool rememberme = Request.Form["rememberme"] != null && Request.Form["rememberme"] == "on"; this.SignInUser(u.email, rememberme); // Info. return(this.RedirectToLocal("")); //Redireccionar dependiendo Rol return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("lblerror", "Error"); } return(View(u)); }
/// <summary> /// 输出昨日水压变化幅度从大到小排行的水压计列表 /// </summary> /// <returns></returns> public JsonResult GetLastDayPressureList() { JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; List <PressureMeterData> pmdatalist = new List <PressureMeterData>(); User_t account = UserContext.account; //Func<List<PressureMeterData>> pmdataFunc = () => pressuremeter_service.GetPressureMetersDataByUser(account); //var pmdataanalysis = DBHelper.get<PressureMeterData>(pmdataFunc, ConfigurationManager.AppSettings["allPressureAnalysisByUserUid"] + account.Usr_UId); List <PressureMeterData> pmdataanalysis = new List <PressureMeterData>(); List <PressureMeter_t> pmlist = new List <PressureMeter_t>(); if (account.Usr_Type == 3) { //获取客户的水压计,当前水压计未绑定客户 } else { pmlist = pressuremeter_service.GetAllPressureMeter(); foreach (var item in pmlist) { if (item.PM_CountLast != null) { Func <PressureMeterData> pmdataFunc = () => pressuremeter_service.GetAnalysisByPressureMeter(item, (DateTime)item.PM_CountLast); var pmdata = DBHelper.getT <PressureMeterData>(pmdataFunc, ConfigurationManager.AppSettings["PressureMeterAnalysisByPMUid"] + item.PM_UId); pmdataanalysis.Add(pmdata); } } } pmdatalist = pmdataanalysis.Where(p => p.lastday_pressure_proportion != "无法计算").OrderByDescending(p => p.lastday_pressure_proportion).Take(3).ToList(); string dataresult = ToJson <List <PressureMeterData> > .Obj2Json <List <PressureMeterData> >(pmdatalist).Replace("\\\\", ""); dataresult = dataresult.Replace("\\\\", ""); result.Data = dataresult; return(result); }
/// <summary> /// 客户获取最新的流量分析数据 /// </summary> /// <param name="account"></param> /// <returns></returns> public List <FlowMeterData> GetFlowMetersDataByUserUid(User_t account) { List <FlowMeter_t> fmlist = new List <FlowMeter_t>(); if (account.Usr_Type == 3) { fmlist = FindAll().Where(p => p.FM_WaterConsumerUId == account.Usr_UId && p.FM_Enable == 1).ToList(); } else { fmlist = FindAll().Where(p => p.FM_Enable == 1).ToList(); } List <FlowMeterData> fmdatalist = new List <FlowMeterData>(); foreach (var item in fmlist) { var fmdata = GetAnalysisByFlowMeter(item, (DateTime)item.FM_FlowCountLast); fmdatalist.Add(fmdata); } return(fmdatalist); }
/// <summary> /// <para>기능 : 실적 상세 테이블 생성</para> /// <para>진입 : </para> /// <para>분기 : 1. needQuery == true</para> /// <para>로직 : 1. needQuery == true</para> /// <para>로직 : ----2. 선택된 개통번호 selectedUser_phone_number에 저장</para> /// <para>로직 : ----3. sqlQuery.SelectAllFrom_Where_와 Crud.Read를 사용하여 st_emp_result를 얻음</para> /// <para>로직 : ----4. sqlQuery.SelectAllFrom_Where_와 Crud.Read를 사용하여 user_t를 얻음</para> /// <para>로직 : ----5. sqlQuery.SelectAllFrom_Where_와 Crud.Read를 사용하여 st_table을 얻음</para> /// <para>로직 : ----6. 각 항목별 데이터 할당</para> /// <para>로직 : ----7. 각 항목 Readonly</para> /// <para>로직 : ----return</para> /// <para>로직 : 8. 빈 DataSet에 빈 DataTable 추가</para> /// <para>로직 : 9. tempFuncForWinform.setDataGridView</para> /// <para>로직 : 10. 기타 테이블 설정 적용</para> /// </summary> /// <param name="needQuery"></param> /// <param name="e"></param> public void makeDetailTable(bool needQuery, DataGridViewCellEventArgs e) { //true 시 만들어진 테이블에 데이터 할당, false시 빈 테이블 생성 if (needQuery) { string userName = dataGridViewSelectDate.Rows[e.RowIndex].Cells["가입자명"].Value.ToString(); string storeName = dataGridViewSelectDate.Rows[e.RowIndex].Cells["매장"].Value.ToString(); string salerName = dataGridViewSelectDate.Rows[e.RowIndex].Cells["판매자"].Value.ToString(); selectedUser_phone_number = dataGridViewSelectDate.Rows[e.RowIndex].Cells["개통번호"].Value.ToString(); string querySelectResult = sqlQuery.SelectAllFrom_Where_("st_emp_result", new string[] { "user_open_number" }, new string[] { selectedUser_phone_number }); St_emp_result st_emp_result = crud.Read_MySql(querySelectResult, new St_emp_result()); string querySelectUser = sqlQuery.SelectAllFrom_Where_("user_t", new string[] { "user_code" }, new string[] { st_emp_result.user_code }); User_t user_t = crud.Read_MySql(querySelectUser, new User_t()); string querySelectStore = sqlQuery.SelectAllFrom_Where_("st_table", new string[] { "st_code" }, new string[] { employee.st_code }); St_table st_table = crud.Read_MySql(querySelectStore, new St_table()); //개통일 dataGridViewSelectionDateDetail[1, 0].Value = st_emp_result.result_open_date.ToString("yyyy-MM-dd"); //가입자명 dataGridViewSelectionDateDetail[1, 1].Value = userName; //은행 user_bank user_t dataGridViewSelectionDateDetail[1, 2].Value = user_t.user_bank; //모델명 dataGridViewSelectionDateDetail[1, 3].Value = st_emp_result.result_ph_m; DataGridViewComboBoxCell comboPreviousCom = new DataGridViewComboBoxCell(); comboPreviousCom.Items.Add("1"); comboPreviousCom.Items.Add("SKT"); comboPreviousCom.Items.Add("KT"); comboPreviousCom.Items.Add("LG"); dataGridViewSelectionDateDetail[1, 4] = comboPreviousCom; //이전통신사 combo comboPreviousCom.Value = st_emp_result.user_previous_com; //공시지원금 dataGridViewSelectionDateDetail[1, 5].Value = st_emp_result.subsidy_price; //리베이트/NET dataGridViewSelectionDateDetail[1, 6].Value = st_emp_result.net_rebate; //보험가입유무 dataGridViewSelectionDateDetail[1, 7].Value = st_emp_result.insurance_YN; //송금금액 dataGridViewSelectionDateDetail[1, 8].Value = st_emp_result.send_price; //현금파냄 금액 dataGridViewSelectionDateDetail[1, 9].Value = st_emp_result.cash_sale_price; //모바일 개통시간 dataGridViewSelectionDateDetail[3, 0].Value = st_emp_result.result_open_m_date.ToString("yyyy-MM-dd"); //가입자 생년 user_birth user_t dataGridViewSelectionDateDetail[3, 1].Value = user_t.user_birth; //계좌번호 user_bank_number user_t dataGridViewSelectionDateDetail[3, 2].Value = user_t.user_bank_number; //일련번호 dataGridViewSelectionDateDetail[3, 3].Value = st_emp_result.result_serial_number; //현/카/할 dataGridViewSelectionDateDetail[3, 4].Value = st_emp_result.user_pur_type; //할부원금 dataGridViewSelectionDateDetail[3, 5].Value = st_emp_result.installment_price; DataGridViewComboBoxCell comboPricePlan = new DataGridViewComboBoxCell(); comboPricePlan.Items.Add("1"); comboPricePlan.Items.Add("1만원"); comboPricePlan.Items.Add("2만원"); comboPricePlan.Items.Add("3만원"); dataGridViewSelectionDateDetail[3, 6] = comboPricePlan; //요금제 combo comboPricePlan.Value = st_emp_result.price_plan; //유심후납 dataGridViewSelectionDateDetail[3, 7].Value = st_emp_result.late_payment_usim; //예정일 dataGridViewSelectionDateDetail[3, 8].Value = st_emp_result.due_date.ToString("yyyy-MM-dd"); //카드판매금액 dataGridViewSelectionDateDetail[3, 9].Value = st_emp_result.card_sale_price; DataGridViewComboBoxCell comboAgent = new DataGridViewComboBoxCell(); comboAgent.Items.Add("1"); comboAgent.Items.Add("스포"); comboAgent.Items.Add("모다"); comboAgent.Items.Add("아이원"); dataGridViewSelectionDateDetail[5, 0] = comboAgent; //대리점 combo comboAgent.Value = st_emp_result.agent; //요금제변경일 user_plan_date user_t dataGridViewSelectionDateDetail[5, 1].Value = user_t.user_plan_date; //예금주 bank_userName user_t dataGridViewSelectionDateDetail[5, 2].Value = user_t.bank_userName; //고객명? 없음 dataGridViewSelectionDateDetail[5, 3].Value = null; //출고가 dataGridViewSelectionDateDetail[5, 4].Value = st_emp_result.release_price; //선납금 dataGridViewSelectionDateDetail[5, 5].Value = st_emp_result.prepayments; //빈칸 //정산금 dataGridViewSelectionDateDetail[5, 7].Value = st_emp_result.user_calculate; //현금 dataGridViewSelectionDateDetail[5, 8].Value = st_emp_result.cash; //기타차감 dataGridViewSelectionDateDetail[5, 9].Value = st_emp_result.etc_offset; DataGridViewComboBoxCell comboStoreName = new DataGridViewComboBoxCell(); comboStoreName.Items.Add("서울 강서"); comboStoreName.Items.Add("원구 행주"); comboStoreName.Items.Add("서울 마곡"); comboStoreName.Items.Add("김포 공항"); comboStoreName.Items.Add(st_table.St_name); dataGridViewSelectionDateDetail[7, 0] = comboStoreName; //매장 combo comboStoreName.Value = storeName; //빈칸 //CIA? 없음 dataGridViewSelectionDateDetail[7, 2].Value = null; //개통번호 dataGridViewSelectionDateDetail[7, 3].Value = st_emp_result.user_open_number; //빈칸 //빈칸 //정책추가 dataGridViewSelectionDateDetail[7, 6].Value = st_emp_result.add_policy; //유심선납 dataGridViewSelectionDateDetail[7, 7].Value = st_emp_result.prepayments_usim; //카드 dataGridViewSelectionDateDetail[7, 8].Value = st_emp_result.card; //세후금액 dataGridViewSelectionDateDetail[7, 9].Value = st_emp_result.after_tax_price; //판매자 dataGridViewSelectionDateDetail[9, 0].Value = salerName; //빈칸 //비고 dataGridViewSelectionDateDetail[9, 2].Value = st_emp_result.note; //약정유형 dataGridViewSelectionDateDetail[9, 3].Value = st_emp_result.user_agree_type; //빈칸 //MNP수수료 dataGridViewSelectionDateDetail[9, 5].Value = st_emp_result.mnp_commission; //구두추가 dataGridViewSelectionDateDetail[9, 6].Value = st_emp_result.sound_policy; //부가서비스추가/차감 dataGridViewSelectionDateDetail[9, 7].Value = st_emp_result.addition_service; //마진 dataGridViewSelectionDateDetail[9, 9].Value = st_emp_result.profit_margin; dataGridViewSelectionDateDetail.ReadOnly = true; return; } DataSet dataSet = new DataSet(); dataSet.Tables.Add(new DataTable()); tempFuncForWinform.setDataGridView(dataSet, dataGridViewSelectionDateDetail); dataGridViewSelectionDateDetail.DataSource = null; dataGridViewSelectionDateDetail.ColumnHeadersVisible = false; dataGridViewInit(); dataGridViewSelectionDateDetail.ClearSelection(); dataGridViewSelectionDateDetail.SelectionMode = DataGridViewSelectionMode.CellSelect; dataGridViewSelectionDateDetail.ReadOnly = true; }
public JsonResult GetFlowMeterByAreaUid(Guid areaUid) { JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; List <FlowMeterStatusAndArea> fms_areas_order = new List <FlowMeterStatusAndArea>(); List <FlowMeterStatusAndArea> fms_areas = new List <FlowMeterStatusAndArea>(); //获取areauid对应的设备信息,并以areauid区分存储在redis Func <List <FlowMeterStatusAndArea> > fmAndStatusArea = () => flowmeterService.GetFlowMeterStatusByArea(areaUid); List <FlowMeterStatusAndArea> fmstatusAndAreaList = DBHelper.get <FlowMeterStatusAndArea>(fmAndStatusArea, ConfigurationManager.AppSettings["FlowMeterStatusByAreaUid"] + areaUid); User_t account = UserContext.account; if (account.Usr_Type == 3) { fms_areas = fmstatusAndAreaList.Where(p => p.flowmeter.FM_WaterConsumerUId == account.Usr_UId).ToList(); } else { //筛选出子区域范围内的所有流量计 List <Area_t> subarealist = areaService.GetSubArea(areaUid); foreach (var areaitem in subarealist) { Func <List <FlowMeterStatusAndArea> > fmsFunc = () => flowmeterService.GetFlowMeterStatusByArea(areaUid); var fmslist = DBHelper.get <FlowMeterStatusAndArea>(fmsFunc, ConfigurationManager.AppSettings["FlowMeterStatusByAreaUid"] + areaitem.Ara_UId); fms_areas.AddRange(fmslist); } //foreach (var item in fmstatusAndAreaList) //{ // if (subarealist.Where(p => p.Ara_UId == item.area.Ara_UId).Count() > 0) // { // fms_areas.Add(item); // } //} } //获取设备访问次数,根据访问次数排序,再将剩余的设备整合 Func <List <VisitCount> > initvisit = () => { return(new List <VisitCount>()); }; List <VisitCount> vclist = DBHelper.getWithNoExpire <List <VisitCount> >(initvisit, UserContext.account.Usr_UId + ConfigurationManager.AppSettings["VisitFlowMeterCount"]); vclist = vclist.OrderByDescending(p => p.count).ToList(); foreach (var item in vclist) { var data = fms_areas.Where(p => p.flowmeter.FM_UId == Guid.Parse(item.uid)).FirstOrDefault(); if (data != null) { fms_areas_order.Add(data); } } foreach (var item in fms_areas) { if (vclist.Where(p => p.uid == item.flowmeter.FM_UId.ToString()).Count() == 0) { fms_areas_order.Add(item); } } string dataresult = ToJson <List <FlowMeterStatusAndArea> > .Obj2Json <List <FlowMeterStatusAndArea> >(fms_areas_order); dataresult = dataresult.Replace("\\\\", ""); result.Data = dataresult; return(result); }
public JsonResult GetMapData() { JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; //Guid uid = Guid.Parse(Session["wp_username"].ToString()); User_t account = UserContext.account; List <FlowMeterStatusAndArea> fmlist = new List <FlowMeterStatusAndArea>(); List <PressureMeterStatusAndArea> pmlist = new List <PressureMeterStatusAndArea>(); List <QualityMeterStatusAndArea> qmlist = new List <QualityMeterStatusAndArea>(); //Func<List<FlowMeterStatusAndArea>> fmAndStatusArea = () => flowmeterService.GetFlowMeterStatusAndArea(); //List<FlowMeterStatusAndArea> fmstatusAndAreaList = DBHelper.get<FlowMeterStatusAndArea>(fmAndStatusArea, // ConfigurationManager.AppSettings["allFlowMeterStatusAndArea"]); //Func<List<PressureMeterStatusAndArea>> pmAndStatusArea = () => pressuremeterService.GetPressureMeterStatusAndArea(); //List<PressureMeterStatusAndArea> pmstatusAndAreaList = DBHelper.get<PressureMeterStatusAndArea>(pmAndStatusArea, // ConfigurationManager.AppSettings["allPressureMeterStatusAndArea"]).ToList(); //Func<List<QualityMeterStatusAndArea>> qmAndStatusArea = () => qualitymeterService.GetQualityMeterStatusAndArea(); //List<QualityMeterStatusAndArea> qmstatusAndAreaList = DBHelper.get<QualityMeterStatusAndArea>(qmAndStatusArea, // ConfigurationManager.AppSettings["allQualityMeterStatusAndArea"]); if (account.Usr_Type == 3) { //fmlist = fmstatusAndAreaList.Where(p => p.flowmeter.FM_WaterConsumerUId==account.Usr_UId).ToList(); //qmlist = qmstatusAndAreaList.Where(p=>p.qualitymeter); //pmlist = pmstatusAndAreaList.Where(p=>p.pressuremeter); AreaUser_t au = areauserService.GetAreaUserByUser(account.Usr_UId); Func <List <FlowMeterStatusAndArea> > fmsFunc = () => flowmeterService.GetFlowMeterStatusByArea(au.AU_AreaUId); fmlist = DBHelper.get <FlowMeterStatusAndArea>(fmsFunc, ConfigurationManager.AppSettings["FlowMeterStatusByAreaUid"] + au.AU_AreaUId).Where(p => p.flowmeter.FM_WaterConsumerUId == account.Usr_UId).ToList(); } else { List <Area_t> arealist = areaService.GetAllArea(); foreach (var areaitem in arealist) { Func <List <FlowMeterStatusAndArea> > fmsFunc = () => flowmeterService.GetFlowMeterStatusByArea(areaitem.Ara_UId); var fmdata = DBHelper.get <FlowMeterStatusAndArea>(fmsFunc, ConfigurationManager.AppSettings["FlowMeterStatusByAreaUid"] + areaitem.Ara_UId); fmlist.AddRange(fmdata); Func <List <PressureMeterStatusAndArea> > pmsFunc = () => pressuremeterService.GetPressureMeterStatusByArea(areaitem.Ara_UId); var pmsalist = DBHelper.get <PressureMeterStatusAndArea>(pmsFunc, ConfigurationManager.AppSettings["PressureMeterStatusByAreaUid"] + areaitem.Ara_UId).ToList(); pmlist.AddRange(pmsalist); Func <List <QualityMeterStatusAndArea> > qmAndStatusArea = () => qualitymeterService.GetQualityMeterStatusByArea(areaitem.Ara_UId); var qmslist = DBHelper.get <QualityMeterStatusAndArea>(qmAndStatusArea, ConfigurationManager.AppSettings["QualityMeterStatusByAreaUid"] + areaitem.Ara_UId); qmlist.AddRange(qmslist); } //fmlist = fmstatusAndAreaList; //pmlist = pmstatusAndAreaList; //qmlist = qmstatusAndAreaList; } result.Data = new { fmstatusAndAreaList = fmlist, pmstatusAndAreaList = pmlist, qmstatusAndAreaList = qmlist, }; return(result); }
/// <summary> /// 输出经常访问的流量计分析数据 /// </summary> /// <param name="fmUids"></param> /// <returns></returns> /// public JsonResult GetMostVisitsFlowMeter() { JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; List <FlowMeterData> fmdata_account = new List <FlowMeterData>(); User_t account = UserContext.account; //获取账号访问设备次数的list Func <List <VisitCount> > initvisit = () => { return(new List <VisitCount>()); }; List <VisitCount> vclist = DBHelper.get <List <VisitCount> >(initvisit, UserContext.account.Usr_UId + ConfigurationManager.AppSettings["VisitFlowMeterCount"]); //Func<List<FlowMeterData>> fmdataFunc = () => flowmeter_Service.GetFlowMetersDataByUserUid(account); //List<FlowMeterData> fmdataanalysis = DBHelper.get<FlowMeterData>(fmdataFunc, ConfigurationManager.AppSettings["allFlowAnalysisByUserUid"] + account.Usr_UId); List <FlowMeter_t> fmlist = new List <FlowMeter_t>(); if (account.Usr_Type == 3) { fmlist = flowmeter_Service.GetFlowMetersByUserUid(account.Usr_UId).ToList(); } else { fmlist = flowmeter_Service.GetAllFlowMeter(); } if (vclist.Count > 0) { vclist = vclist.OrderByDescending(p => p.count).ToList(); foreach (var vcitem in vclist) { FlowMeter_t fm = fmlist.First(p => p.FM_UId == Guid.Parse(vcitem.uid)); if (fm.FM_FlowCountLast != null) { Func <FlowMeterData> fmdataFunc = () => flowmeter_Service.GetAnalysisByFlowMeter(fm, (DateTime)fm.FM_FlowCountLast); var fmdata = DBHelper.getT <FlowMeterData>(fmdataFunc, ConfigurationManager.AppSettings["FlowMeterAnalysisByFMUid"] + fm.FM_UId); fmdata_account.Add(fmdata); } } foreach (FlowMeter_t item in fmlist) { if (vclist.All(p => p.uid != item.FM_UId.ToString()) && item.FM_FlowCountLast != null) { Func <FlowMeterData> fmdataFunc = () => flowmeter_Service.GetAnalysisByFlowMeter(item, (DateTime)item.FM_FlowCountLast); var fmdata = DBHelper.getT <FlowMeterData>(fmdataFunc, ConfigurationManager.AppSettings["FlowMeterAnalysisByFMUid"] + item.FM_UId); fmdata_account.Add(fmdata); } } } else { foreach (var item in fmlist) { if (item.FM_FlowCountLast != null) { Func <FlowMeterData> fmdataFunc = () => flowmeter_Service.GetAnalysisByFlowMeter(item, (DateTime)item.FM_FlowCountLast); var fmdata = DBHelper.getT <FlowMeterData>(fmdataFunc, ConfigurationManager.AppSettings["FlowMeterAnalysisByFMUid"] + item.FM_UId); fmdata_account.Add(fmdata); } } } string dataresult = ToJson <List <FlowMeterData> > .Obj2Json <List <FlowMeterData> >(fmdata_account).Replace("\\\\", ""); dataresult = dataresult.Replace("\\\\", ""); result.Data = dataresult; return(result); }
public JsonResult Login(string userName, string password) { JsonResult result = new JsonResult(); User_t user = accountService.GetAccountByName(userName); if (user.Usr_UId == new Guid() || user.Usr_Password != MD5_Util.MD5Encrypt(password)) { ViewBag.Exception = true; result.Data = false; return(result); } password = MD5_Util.MD5Encrypt(password); Response.Headers.Add("username", user.Usr_Name); Response.Headers.Add("useruid", user.Usr_UId.ToString()); //Response.Cookies[ConfigurationManager.AppSettings["CookieName"]].Value = user.Usr_UId.ToString(); //Response.Cookies[ConfigurationManager.AppSettings["CookieName"]].Domain = ConfigurationManager.AppSettings["DomainName"]; //Response.Cookies[ConfigurationManager.AppSettings["CookieName"]].Expires = DateTime.Now.AddDays(1); //Response.Cookies["username"].Value = user.Usr_Name; //Response.Cookies["username"].Domain = ConfigurationManager.AppSettings["DomainName"]; //Response.Cookies["username"].Expires = DateTime.Now.AddDays(1); HttpClientCrant client = new HttpClientCrant(); client.Call_WebAPI_By_Resource_Owner_Password_Credentials_Grant(userName, password); UserContext.account = user; //return RedirectToAction("index"); //return View("index"); var userInnerRoles = userInnerRoleService.GetByUid(user.Usr_UId); List <InnerRole_t> roleLists = new List <InnerRole_t>(); foreach (var item in userInnerRoles) { var role = roleService.GetRoles(item.UIr_IrUId); if (role != null) { roleLists.Add(role); } } var names = new List <String>(); foreach (var item in roleLists) { var name = item.Ir_Name; names.Add(name); } //var roles = new List<String>(); RoleHelper.Role personalRole = new RoleHelper.Role(); foreach (var item in names) { switch (item) { case "总查看员": RoleHelper.GetAllPermission(personalRole); break; case "流量计查看员": RoleHelper.GetFlowMeterViewPermission(personalRole); break; case "流量计管理员": RoleHelper.GetClientManagePermission(personalRole); break; case "压力计查看员": RoleHelper.GetPressureMeterViewPermission(personalRole); break; case "压力计管理员": RoleHelper.GetPressureMeterManagePermission(personalRole); break; case "水质计查看员": RoleHelper.GetQualityMeterViewPermission(personalRole); break; case "水质计管理员": RoleHelper.GetQualityMeterManagePermission(personalRole); break; case "区域查看员": RoleHelper.GetAreaViewPermission(personalRole); break; case "区域管理员": RoleHelper.GetAreaManagePermission(personalRole); break; case "客户查看员": RoleHelper.GetClientViewPermission(personalRole); break; case "客户管理员": RoleHelper.GetClientManagePermission(personalRole); break; case "职员查看员": result.Data = RoleHelper.GetStaffViewPermission(personalRole); break; case "职员管理员": RoleHelper.GetStaffManagePermission(personalRole); break; case "职位查看员": RoleHelper.GetRolesViewPermission(personalRole); break; case "职位管理员": RoleHelper.GetRolesManagePermission(personalRole); break; } } result.Data = personalRole; return(result); }
/// <summary> /// 输出经常访问的水压计分析数据 /// </summary> /// <param name="pmUids"></param> /// <returns></returns> public JsonResult GetMostVisitsPressureMeter(string[] pmUids) { JsonResult result = new JsonResult(); User_t account = UserContext.account; result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; List <PressureMeterData> pmdataanalysis = new List <PressureMeterData>(); List <PressureMeter_t> pmlist = new List <PressureMeter_t>(); if (account.Usr_Type == 3) { //获取客户的水压计,当前水压计未绑定客户 } else { pmlist = pressuremeter_service.GetAllPressureMeter(); foreach (var item in pmlist) { if (item.PM_CountLast != null) { Func <PressureMeterData> pmdataFunc = () => pressuremeter_service.GetAnalysisByPressureMeter(item, (DateTime)item.PM_CountLast); var pmdata = DBHelper.getT <PressureMeterData>(pmdataFunc, ConfigurationManager.AppSettings["PressureMeterAnalysisByPMUid"] + item.PM_UId); pmdataanalysis.Add(pmdata); } } } //Func<List<PressureMeterData>> pmdataFunc = () => pressuremeter_service.GetPressureMetersDataByUser(account); //var pmdataanalysis = DBHelper.get<PressureMeterData>(pmdataFunc, ConfigurationManager.AppSettings["allPressureAnalysisByUserUid"] + account.Usr_UId); List <PressureMeterData> pmdatalist = new List <PressureMeterData>(); Func <List <VisitCount> > initvisit = () => { return(new List <VisitCount>()); }; List <VisitCount> vclist = DBHelper.get <List <VisitCount> >(initvisit, UserContext.account.Usr_UId + ConfigurationManager.AppSettings["VisitPressureMeterCount"]); if (vclist.Count > 0) { vclist.OrderByDescending(p => p.count).ToList(); for (var i = 0; i < vclist.Count; i++) { var pmdata = pmdataanalysis.FirstOrDefault(p => p.PM_Uid == Guid.Parse(vclist[i].uid)); pmdatalist.Add(pmdata); } for (var i = 0; i < pmdataanalysis.Count; i++) { if (vclist.Where(p => p.uid == pmdataanalysis[i].PM_Uid.ToString()).Count() == 0) { pmdatalist.Add(pmdataanalysis[i]); } } } else { pmdatalist = pmdataanalysis; } string dataresult = ToJson <List <PressureMeterData> > .Obj2Json <List <PressureMeterData> >(pmdatalist).Replace("\\\\", ""); dataresult = dataresult.Replace("\\\\", ""); result.Data = dataresult; return(result); }