/// <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);
        }
示例#2
0
        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));
        }
示例#9
0
        /// <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);
        }
示例#10
0
        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);
        }
示例#12
0
        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));
        }
示例#13
0
        /// <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);
        }
示例#15
0
        /// <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);
        }
示例#19
0
        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);
        }
示例#20
0
        /// <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);
        }