Ejemplo n.º 1
0
        public HttpResponseMessage Get()
        {
            string sesName = UserSessionInfo.SessionName();

            //session为空 跳回登录界面
            if (sesName == "")
            {
                HttpResponseMessage resp = new HttpResponseMessage(HttpStatusCode.Moved);
                string server_ip         = ConfigSetting.GetIP();
                string server_port       = ConfigSetting.GetIpPort();
                resp.Headers.Location = new Uri("https://" + server_ip + ":" + server_port);
                return(resp);
            }
            else
            {
                using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
                {
                    List <Worker> workers = new List <Worker>();
                    workers.Add(db.Worker.Where(n => n.WorkName == sesName).First());

                    string json = JsonConvert.SerializeObject(workers);
                    return(HttpResponseMessageToJson.ToJson(json));
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 导入工人工资支付情况
        /// </summary>
        /// <param name="selectName"></param>
        /// <param name="date"></param>
        /// <param name="selectWorkSite"></param>
        /// <param name="wageCard">CCB、JS、Cash </param>
        /// <param name="pay">金额</param>
        /// <param name="payType">支付方式</param>
        /// <param name="remark">缘由</param>
        /// <returns></returns>
        public HttpResponseMessage GetImportPay(string selectName, string date, string selectWorkSite,
                                                string wageCard, string pay, string payType, string remark)
        {
            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                string workId     = BasicMethods.GetWorkerId(selectName);
                int    workSiteId = BasicMethods.GetWorkerSiteId(selectWorkSite);


                Payment p = new Payment
                {
                    RecordTime      = DateTime.Now,
                    WorkId          = workId,
                    WorkSiteId      = workSiteId,
                    WagePaymentDate = Convert.ToDateTime(date),
                    WageAmount      = Convert.ToInt16(pay),
                    PaymentType     = payType,
                    WageCard        = wageCard,
                    Remark          = remark
                };

                string json = InsertPayment(p);
                json = JsonConvert.SerializeObject(json);
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 3
0
        public HttpResponseMessage PostSessionUserName(FormDataCollection form)
        {
            string json = "[\"用户名或密码不正确\"]";
            string name = form["name"];
            string pw   = form["pw"];

            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                int i = db.User.Where(n => n.UserName == name && n.UserPassword == pw).Count();
                if (i >= 1)
                {
                    var context = HttpContext.Current;
                    //session赋值
                    context.Session["userName"] = name;
                    json = "验证成功";
                    HttpResponseMessage resp = new HttpResponseMessage(HttpStatusCode.Moved);
                    string server_ip         = ConfigSetting.GetIP();
                    string server_port       = ConfigSetting.GetIpPort();
                    resp.Headers.Location = new Uri("https://" + server_ip + ":" + server_port + "/Views/Master.html");
                    return(resp);
                }
                else
                {
                    return(HttpResponseMessageToJson.ToJson(json));
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 工地信息表格数据请求
        /// </summary>
        /// <param name="limit">页面大小</param>
        /// <param name="offset">偏移量</param>
        /// <param name="sort">排序字段</param>
        /// <param name="sortOrder">升序或降序</param>
        /// <returns></returns>
        public HttpResponseMessage GetWorkSites(int limit, int offset, string sort, string sortOrder)
        {
            string workSiteName = HttpContext.Current.Request["workSite"].Trim();

            bool siteEffect = false;

            if (workSiteName == "all")
            {
                siteEffect = true;
            }


            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                var data = from s in db.WorkSite
                           where s.WorkSiteId != 0 && s.WorkSiteId != 4 &&
                           (siteEffect || s.WorkSiteName == workSiteName)
                           select new
                {
                    s.WorkSiteId, s.WorkSiteName, s.WorkManage, s.Company, s.CompanyBoss
                };

                //sortName排序的名称 sortType排序类型 (desc asc)
                var orderExpression = string.Format("{0} {1}", sort, sortOrder);
                //此处应从数据库中取得数据:
                string json  = "{ \"total\":";
                var    total = data.Count();
                json += total + ",\"rows\":";
                var rows = data.OrderBy(orderExpression).Skip(offset).Take(limit).ToList();
                json += JsonConvert.SerializeObject(rows);
                json += "}";
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 5
0
        public HttpResponseMessage InsertWorkSite(int workSiteId, string workSiteName,
                                                  string com, string comBoss, string workManage, string remark)
        {
            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                WorkSite wt = new WorkSite
                {
                    WorkSiteId = workSiteId, WorkSiteName = workSiteName,
                    Company    = com, CompanyBoss = comBoss,
                    WorkManage = workManage, Remark = remark
                };
                int    wCnt = db.WorkSite.Where(n => n.WorkSiteId == wt.WorkSiteId).Count();
                string json;
                if (wCnt == 0)
                {
                    db.WorkSite.InsertOnSubmit(wt);
                    db.SubmitChanges();
                    json = "ok";
                }
                else
                {
                    json = "error";
                }

                json = JsonConvert.SerializeObject(json);
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 人员信息表格数据请求
        /// </summary>
        /// <param name="limit">页面大小</param>
        /// <param name="offset">偏移量</param>
        /// <param name="sort">排序字段</param>
        /// <param name="sortOrder">升序或降序</param>
        /// <returns></returns>
        public HttpResponseMessage GetWorkers(int limit, int offset, string sort, string sortOrder)
        {
            string worker = HttpContext.Current.Request["worker"];

            bool workEffect = false;

            if (worker == "all")
            {
                workEffect = true;
            }


            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                var data = from s in db.Worker
                           where (workEffect || s.WorkName == worker)
                           select new {
                    s.WorkId, s.WorkName, s.Sex, s.Phone, s.WorkType, s.CCBPayCard
                };


                //sortName排序的名称 sortType排序类型 (desc asc)
                var orderExpression = string.Format("{0} {1}", sort, sortOrder);
                //此处应从数据库中取得数据:
                string json  = "{ \"total\":";
                var    total = data.Count();
                json += total + ",\"rows\":";
                var rows = data.OrderBy(orderExpression).Skip(offset).Take(limit).ToList();
                json += JsonConvert.SerializeObject(rows);
                json += "}";
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 导入工人当天工作信息
        /// </summary>
        /// <param name="selectName"></param>
        /// <param name="date"></param>
        /// <param name="selectWorkSite"></param>
        /// <param name="work">当天工时</param>
        /// <param name="workMore">加班工时</param>
        /// <param name="remark">工作日志</param>
        /// <returns></returns>
        public HttpResponseMessage GetImportWork(string selectWeather, string selectName, string date, string selectWorkSite,
                                                 string work, string workMore, string remark)
        {
            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                string workId     = BasicMethods.GetWorkerId(selectName);
                int    workSiteId = BasicMethods.GetWorkerSiteId(selectWorkSite);


                Attendance att = new Attendance
                {
                    RecordTime  = DateTime.Now,
                    WorkId      = workId,
                    WorkSiteId  = workSiteId,
                    WorkDate    = Convert.ToDateTime(date),
                    WorkTime    = Convert.ToDouble(work),
                    WorkMore    = Convert.ToDouble(workMore),
                    WorkQuality = remark,
                    Weather     = selectWeather
                };

                string json = InsertAttendance(att);
                json = JsonConvert.SerializeObject(json);
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 表格数据请求
        /// </summary>
        /// <param name="limit">页面大小</param>
        /// <param name="offset">偏移量</param>
        /// <param name="sort">排序字段</param>
        /// <param name="sortOrder">升序或降序</param>
        /// <returns></returns>
        public HttpResponseMessage GetCheckResult(int limit, int offset, string sort, string sortOrder)
        {
            string date     = HttpContext.Current.Request["date"];
            string workSite = HttpContext.Current.Request["workSite"];

            bool siteEffect = false;

            if (workSite == "all")
            {
                siteEffect = true;
            }

            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                var data = from s in db.CheckWork
                           where  (siteEffect || s.CheckDate == Convert.ToDateTime(date))
                           select s;

                //sortName排序的名称 sortType排序类型 (desc asc)
                var orderExpression = string.Format("{0} {1}", sort, sortOrder);
                //此处应从数据库中取得数据:
                string json  = "{ \"total\":";
                var    total = data.Count();
                json += total + ",\"rows\":";
                var rows = data.OrderBy(orderExpression).Skip(offset).Take(limit).ToList();
                json += JsonConvert.SerializeObject(rows);
                json += "}";
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 9
0
        public HttpResponseMessage InsertWorker(string workName, int sex, string workType,
                                                string cardId, string phone, string ccb, string js)
        {
            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                Worker w = new Worker
                {
                    WorkId    = cardId, WorkName = workName,
                    Sex       = sex, WorkType = workType,
                    Phone     = phone, CCBPayCard = ccb,
                    JSPayCard = js
                };
                int    wCnt = db.Worker.Where(n => n.WorkId == w.WorkId).Count();
                string json;
                if (wCnt == 0)
                {
                    db.Worker.InsertOnSubmit(w);
                    db.SubmitChanges();
                    json = "ok";
                }
                else
                {
                    json = "error";
                }

                json = JsonConvert.SerializeObject(json);
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 判断用户是否存在,存在获取用户名
        /// </summary>
        /// <param name="id">固定Id</param>
        /// <returns></returns>
        public HttpResponseMessage GetSessionUserName(int id)
        {
            string json = "[\"session is not exist\"]";

            if (HttpContext.Current.Session["userName"] != null)
            {
                var ses = HttpContext.Current.Session["userName"];
                json = "[" + ses.ToString() + "]";
            }

            return(HttpResponseMessageToJson.ToJson(json));
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 获取基础信息工人名字,以及工地信息
        /// </summary>
        /// <returns></returns>
        public HttpResponseMessage GetBasicInfo()
        {
            List <List <string> > list = new List <List <string> >();

            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                list.Add(BasicMethods.GetWorkName());
                list.Add(BasicMethods.GetWorkSite());
                string json = JsonConvert.SerializeObject(list);
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 稽核数据导入
        /// </summary>
        /// <returns></returns>
        public HttpResponseMessage GetMessage(DateTime date)
        {
            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                CheckWork cw = new CheckWork
                {
                    RecordTime  = DateTime.Now,
                    CheckDate   = date,
                    CheckResult = 1,
                    Remark      = "数据稽核完成"
                };

                string json = InsertCheckWork(cw);
                json = JsonConvert.SerializeObject(json);
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 导入数据稽核表格数据请求
        /// </summary>
        /// <param name="limit">页面大小</param>
        /// <param name="offset">偏移量</param>
        /// <param name="sort">排序字段</param>
        /// <param name="sortOrder">升序或降序</param>
        /// <returns></returns>
        public HttpResponseMessage GetCheckImport(int limit, int offset, string sort, string sortOrder)
        {
            string date       = HttpContext.Current.Request["date"];
            string workSite   = HttpContext.Current.Request["workSite"];
            int    workSiteId = 0;
            bool   siteEffect = false;

            if (workSite == "all")
            {
                siteEffect = true;
                workSiteId = 0;
            }
            else
            {
                workSiteId = BasicMethods.GetWorkerSiteId(workSite);
            }

            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                var data = from s in db.Attendance
                           where s.WorkDate == Convert.ToDateTime(date) && (siteEffect || s.WorkSiteId == workSiteId)
                           select new
                {
                    wSiteName = s.WorkSite.WorkSiteName,
                    wName     = s.Worker.WorkName,
                    wDate     = s.WorkDate.ToString(),
                    work      = s.WorkTime,
                    workMore  = s.WorkMore,
                    workQua   = s.WorkQuality,
                    s.Weather
                };

                //sortName排序的名称 sortType排序类型 (desc asc)
                var orderExpression = string.Format("{0} {1}", sort, sortOrder);
                //此处应从数据库中取得数据:
                string json  = "{ \"total\":";
                var    total = data.Count();
                json += total + ",\"rows\":";
                var rows = data.OrderBy(orderExpression).Skip(offset).Take(limit).ToList();
                json += JsonConvert.SerializeObject(rows);
                json += "}";
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 稽核数据导入
        /// </summary>
        /// <returns></returns>
        public HttpResponseMessage GetMessage(DateTime date, string workName, string workSite)
        {
            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                CheckWork cw = new CheckWork
                {
                    RecordTime   = DateTime.Now,
                    CheckDate    = date,
                    WorkName     = workName.Trim(),
                    WorkSiteName = workSite.Trim(),
                    CheckResult  = 0,
                    Remark       = "有数据需二次稽核"
                };

                string json = InsertCheckWork(cw);
                json = JsonConvert.SerializeObject(json);
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 修改工人当天工作信息
        /// </summary>
        /// <param name="selectName"></param>
        /// <param name="date"></param>
        /// <param name="selectWorkSite"></param>
        /// <param name="work">当天工时</param>
        /// <param name="workMore">加班工时</param>
        /// <param name="remark">工作日志</param>
        /// <returns></returns>
        public HttpResponseMessage GetUpdateWork(string name, string date, string selectWorkSite,
                                                 string work, string workMore, string remark)
        {
            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                string workId     = BasicMethods.GetWorkerId(name);
                int    workSiteId = BasicMethods.GetWorkerSiteId(selectWorkSite);


                Attendance att = new Attendance
                {
                    RecordTime  = DateTime.Now,
                    WorkId      = workId,
                    WorkSiteId  = workSiteId,
                    WorkDate    = Convert.ToDateTime(date),
                    WorkTime    = Convert.ToDouble(work),
                    WorkMore    = Convert.ToDouble(workMore),
                    WorkQuality = remark
                };
                Attendance modifyAtt = db.Attendance.Where(n => n.WorkDate == att.WorkDate &&
                                                           n.WorkId == att.WorkId && n.WorkSiteId == att.WorkSiteId).SingleOrDefault();

                string json;
                if (modifyAtt != null)
                {
                    //不能直接更新在原表里,放在remark
                    //modifyAtt.WorkTime = att.WorkTime;
                    //modifyAtt.WorkMore = att.WorkMore;
                    modifyAtt.Remark = att.RecordTime + "+" + att.WorkTime + "+" + att.WorkMore + "+" + att.WorkQuality;
                    db.SubmitChanges();
                    json = "ok";
                }
                else
                {
                    json = "error";
                }

                json = JsonConvert.SerializeObject(json);
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 16
0
        public HttpResponseMessage MonRemove(string year, string mon)
        {
            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                string sql = "delete from PredictionWages  where WorkMon='" + mon + "' and  WorkYear='" + year + "' ";
                //表示所执行命令修改的行数。
                int    c    = db.ExecuteCommand(sql);
                string json = "";
                if (c > 0)
                {
                    json = "ok";
                }
                else
                {
                    json = "nothing is deleted";
                }

                json = JsonConvert.SerializeObject(json);
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 获取管理与系统人员名下所属的工人名字,以及工地信息
        /// </summary>
        /// <returns></returns>
        public HttpResponseMessage GetLimitBasicInfo()
        {
            //当前登录人员
            string sesName = UserSessionInfo.SessionName();

            if (sesName != "")
            {
                List <List <string> > list = new List <List <string> >();
                using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
                {
                    //判断是否为系统人员
                    if (db.Worker.Where(n => n.WorkName == sesName && n.WorkType == "系统").Count() >= 1)
                    {
                        list.Add(BasicMethods.GetWorkName());
                        list.Add(BasicMethods.GetWorkSite());
                        string json = JsonConvert.SerializeObject(list);
                        return(HttpResponseMessageToJson.ToJson(json));
                    }
                    else
                    {  //管理人员
                        List <string> workers = db.Attendance.Where(n => n.WorkSite.WorkManage == sesName)
                                                .Select(n => n.Worker.WorkName).Distinct().ToList();
                        List <string> workSites = db.WorkSite.Where(n => n.WorkManage == sesName)
                                                  .Select(n => n.WorkSiteName).Distinct().ToList();
                        list.Add(workers);
                        list.Add(workSites);
                        string json = JsonConvert.SerializeObject(list);
                        return(HttpResponseMessageToJson.ToJson(json));
                    }
                }
            }
            else
            {
                return(HttpResponseMessageToJson.ToJson("not logged in"));
            }
        }
Ejemplo n.º 18
0
        public HttpResponseMessage MonGenerate(string year, string mon)
        {
            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                var data = from s in db.Attendance
                           where s.WorkDate.Value.Year == Convert.ToInt32(year) && s.WorkDate.Value.Month == Convert.ToInt32(mon)
                           select new
                {
                    s.WorkId, s.Worker.Sex,
                    WorkDate = Convert.ToString(s.WorkDate.Value),
                    s.Worker.WorkType,
                    s.WorkTime,
                    s.WorkMore,
                    s.WorkSite.WorkManage,
                    s.WorkSiteId
                };

                string[] workers = data.Select(n => n.WorkId).Distinct().ToArray();

                try
                {   //分工地月度
                    for (int i = 0; i < workers.Length; i++)
                    {
                        var   limitData = data.Where(n => n.WorkId == workers[i]);
                        int[] workSites = limitData.Select(n => n.WorkSiteId).Distinct().ToArray();
                        for (int j = 0; j < workSites.Length; j++)
                        {
                            PredictionWages pw = new PredictionWages
                            {
                                WorkerId    = workers[i],
                                WorkMon     = mon,
                                WorkYear    = year,
                                WorkSiteId  = workSites[j],
                                WholePart   = 0,
                                WorkMoreMon = Math.Round((double)limitData.Where(n => n.WorkSiteId == workSites[j]).Sum(n => n.WorkMore), 4),
                                WorkTimeMon = Math.Round((double)limitData.Where(n => n.WorkSiteId == workSites[j]).Sum(n => n.WorkTime), 4)
                            };
                            InsertPredictionWages(pw);
                        }
                    }
                    //整体月度
                    for (int i = 0; i < workers.Length; i++)
                    {
                        var   limitData = data.Where(n => n.WorkId == workers[i]);
                        int[] workSites = limitData.Select(n => n.WorkSiteId).Distinct().ToArray();

                        PredictionWages pw = new PredictionWages
                        {
                            WorkerId    = workers[i],
                            WorkMon     = mon,
                            WorkYear    = year,
                            WholePart   = 1,
                            WorkSiteId  = 4,   //整体月度汇总
                            WorkMoreMon = Math.Round((double)limitData.Where(n => n.WorkId == workers[i]).Sum(n => n.WorkMore), 4),
                            WorkTimeMon = Math.Round((double)limitData.Where(n => n.WorkId == workers[i]).Sum(n => n.WorkTime), 4)
                        };
                        InsertPredictionWages(pw);
                    }
                    string json = "ok";
                    json = JsonConvert.SerializeObject(json);
                    return(HttpResponseMessageToJson.ToJson(json));
                }
                catch (Exception e)
                {
                    string json = "error";
                    json = JsonConvert.SerializeObject(json);
                    return(HttpResponseMessageToJson.ToJson(json));
                }
            }
        }
Ejemplo n.º 19
0
 /// <summary>
 /// 菜单树形结构Json数据
 /// </summary>
 /// <returns></returns>
 public HttpResponseMessage Get()
 {
     return(HttpResponseMessageToJson.ToJson(FindMeanList()));
 }
Ejemplo n.º 20
0
        /// <summary>
        /// 工人工资支付表格数据请求
        /// </summary>
        /// <param name="limit">页面大小</param>
        /// <param name="offset">偏移量</param>
        /// <param name="sort">排序字段</param>
        /// <param name="sortOrder">升序或降序</param>
        /// <returns></returns>
        public HttpResponseMessage GetPayment(int limit, int offset, string sort, string sortOrder)
        {
            string worker = HttpContext.Current.Request["worker"].Trim();
            string workSiteName = HttpContext.Current.Request["workSite"].Trim();
            string year = HttpContext.Current.Request["year"].Trim();
            string mon = HttpContext.Current.Request["mon"].Trim();
            string day = HttpContext.Current.Request["day"].Trim();
            bool   siteEffect = false; bool workerEffect = false; bool monEffect = false; bool dayEffect = false;

            if (workSiteName == "all")
            {
                siteEffect = true;
            }
            if (worker == "all")
            {
                workerEffect = true;
            }

            if (mon == "all")
            {
                monEffect = true; mon = "01";
            }

            if (day == "all")
            {
                dayEffect = true; day = "01";
            }

            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                var data = from s in db.Payment
                           where (siteEffect || s.WorkSite.WorkSiteName == workSiteName) &&
                           (workerEffect || s.Worker.WorkName == worker) &&
                           s.WagePaymentDate.Value.Year == Convert.ToInt32(year) &&
                           (monEffect || s.WagePaymentDate.Value.Month == Convert.ToInt32(mon)) &&
                           (dayEffect || s.WagePaymentDate.Value.Day == Convert.ToInt32(day))
                           select new
                {
                    s.WorkSite.WorkSiteName,
                    s.Worker.WorkName,
                    s.Worker.Sex,
                    payDate = Convert.ToString(s.WagePaymentDate.Value),
                    s.Worker.WorkType,
                    s.WageAmount,
                    Card    = (s.WageCard == "CCB" ? "建行" : s.WageCard),
                    PayType = s.PaymentType,
                    Remark  = s.Remark
                };

                //sortName排序的名称 sortType排序类型 (desc asc)
                var orderExpression = string.Format("{0} {1}", sort, sortOrder);
                //此处应从数据库中取得数据:
                string json  = "{ \"total\":";
                var    total = data.Count();
                json += total + ",\"rows\":";
                var rows = data.OrderBy(orderExpression).Skip(offset).Take(limit).ToList();
                json += JsonConvert.SerializeObject(rows);
                json += "}";
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 21
0
        /// <summary>
        /// 工人月度成本数据 表格数据请求
        /// </summary>
        /// <param name="limit">页面大小</param>
        /// <param name="offset">偏移量</param>
        /// <param name="sort">排序字段</param>
        /// <param name="sortOrder">升序或降序</param>
        /// <returns></returns>
        public HttpResponseMessage GetMonCost(int limit, int offset, string sort, string sortOrder)
        {
            int    wholePart = Convert.ToInt32(HttpContext.Current.Request["part"].Trim());
            string worker = HttpContext.Current.Request["worker"].Trim();
            string workSiteName = HttpContext.Current.Request["workSite"].Trim();
            string year = HttpContext.Current.Request["year"].Trim();
            string mon = HttpContext.Current.Request["mon"].Trim();
            string swageStr = HttpContext.Current.Request["swage"].Trim();
            string bwageStr = HttpContext.Current.Request["bwage"].Trim();
            int    swage = 0; int bwage = 0;

            if (swageStr != "")
            {
                swage = Convert.ToInt32(swageStr);
            }
            if (bwageStr != "")
            {
                bwage = Convert.ToInt32(bwageStr);
            }

            bool siteEffect = false; bool workerEffect = false; bool monEffect = false;

            if (workSiteName == "all")
            {
                siteEffect = true;
            }
            if (worker == "all")
            {
                workerEffect = true;
            }
            if (mon == "all")
            {
                monEffect = true; mon = "01";
            }


            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                var data = from s in db.PredictionWages
                           where s.WholePart == wholePart &&
                           (siteEffect || s.WorkSite.WorkSiteName == workSiteName) &&
                           (workerEffect || s.Worker.WorkName == worker) &&
                           s.WorkYear == year &&
                           (monEffect || s.WorkMon == mon)

                           select new
                {
                    s.Worker.WorkName,
                    s.Worker.Sex,
                    WorkDate = s.WorkYear + "-" + s.WorkMon,
                    s.Worker.WorkType,
                    s.WorkTimeMon,
                    s.WorkMoreMon,
                    totalWork = s.WorkTimeMon + s.WorkMoreMon,
                    //使用前提数据里面只含大、小工两者类型 做了类似映射 用WorkType1里面没有管理
                    spend = (s.Worker.WorkType1 == "小工" ? (s.WorkTimeMon + s.WorkMoreMon) * swage : (s.WorkTimeMon + s.WorkMoreMon) * bwage),
                    s.WorkSite.WorkManage,
                    s.WorkSite.WorkSiteName
                };

                //sortName排序的名称 sortType排序类型 (desc asc)
                var orderExpression = string.Format("{0} {1}", sort, sortOrder);
                //此处应从数据库中取得数据:
                string json  = "{ \"total\":";
                var    total = data.Count();
                json += total + ",\"rows\":";
                var rows = data.OrderBy(orderExpression).Skip(offset).Take(limit).ToList();
                json += JsonConvert.SerializeObject(rows);
                json += "}";
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// 工人成本数据明细 表格数据请求
        /// </summary>
        /// <param name="limit">页面大小</param>
        /// <param name="offset">偏移量</param>
        /// <param name="sort">排序字段</param>
        /// <param name="sortOrder">升序或降序</param>
        /// <returns></returns>
        public HttpResponseMessage GetCost(int limit, int offset, string sort, string sortOrder)
        {
            string worker = HttpContext.Current.Request["worker"].Trim();
            string workSiteName = HttpContext.Current.Request["workSite"].Trim();
            string year = HttpContext.Current.Request["year"].Trim();
            string mon = HttpContext.Current.Request["mon"].Trim();
            string day = HttpContext.Current.Request["day"].Trim();
            string swageStr = HttpContext.Current.Request["swage"].Trim();
            string bwageStr = HttpContext.Current.Request["bwage"].Trim();
            int    swage = 0; int bwage = 0;

            if (swageStr != "")
            {
                swage = Convert.ToInt32(swageStr);
            }
            if (bwageStr != "")
            {
                bwage = Convert.ToInt32(bwageStr);
            }

            bool siteEffect = false; bool workerEffect = false; bool monEffect = false; bool dayEffect = false;

            if (workSiteName == "all")
            {
                siteEffect = true;
            }
            if (worker == "all")
            {
                workerEffect = true;
            }

            if (mon == "all")
            {
                monEffect = true; mon = "01";
            }

            if (day == "all")
            {
                dayEffect = true; day = "01";
            }

            using (WorkDataClassesDataContext db = new WorkDataClassesDataContext())
            {
                var data = from s in db.Attendance
                           where  //s.Worker.WorkType != "管理" //分包和系统 类别 是不会有工日这个概念的
                           (siteEffect || s.WorkSite.WorkSiteName == workSiteName) &&
                           (workerEffect || s.Worker.WorkName == worker) &&
                           s.WorkDate.Value.Year == Convert.ToInt32(year) &&
                           (monEffect || s.WorkDate.Value.Month == Convert.ToInt32(mon)) &&
                           (dayEffect || s.WorkDate.Value.Day == Convert.ToInt32(day))
                           select new
                {
                    s.Worker.WorkName,
                    s.Worker.Sex,
                    WorkDate = Convert.ToString(s.WorkDate.Value),
                    s.Worker.WorkType,
                    s.Weather,
                    s.WorkTime,
                    s.WorkMore,
                    totalWork = s.WorkTime + s.WorkMore,
                    //使用前提数据里面只含大、小工两者类型 做了类似映射 用WorkType1里面没有管理
                    spend = (s.Worker.WorkType1 == "小工"?(s.WorkTime + s.WorkMore) * swage: (s.WorkTime + s.WorkMore) * bwage),
                    s.WorkQuality,
                    s.WorkSite.WorkManage,
                    s.WorkSite.WorkSiteName
                };

                //sortName排序的名称 sortType排序类型 (desc asc)
                var orderExpression = string.Format("{0} {1}", sort, sortOrder);
                //此处应从数据库中取得数据:
                string json  = "{ \"total\":";
                var    total = data.Count();
                json += total + ",\"rows\":";
                var rows = data.OrderBy(orderExpression).Skip(offset).Take(limit).ToList();
                json += JsonConvert.SerializeObject(rows);
                json += "}";
                return(HttpResponseMessageToJson.ToJson(json));
            }
        }