Ejemplo n.º 1
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.º 2
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.º 3
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.º 4
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.º 5
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.º 6
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.º 7
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.º 8
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));
            }
        }
Ejemplo n.º 9
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.º 10
0
 /// <summary>
 /// 菜单树形结构Json数据
 /// </summary>
 /// <returns></returns>
 public HttpResponseMessage Get()
 {
     return(HttpResponseMessageToJson.ToJson(FindMeanList()));
 }
Ejemplo n.º 11
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));
                }
            }
        }