/// <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)); } }
/// <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)); } }
/// <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)); } }
/// <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)); } }
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)); } }
/// <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")); } }
/// <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)); } }
/// <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)); } }
/// <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)); } }
/// <summary> /// 菜单树形结构Json数据 /// </summary> /// <returns></returns> public HttpResponseMessage Get() { return(HttpResponseMessageToJson.ToJson(FindMeanList())); }
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)); } } }