public HomeModel Index(HomeRequest request) { var userCases = _listingBuilder.GetAll(); return new HomeModel { Cases = userCases, Queues = _currentUser.Queues.ToArray() }; }
/// <summary> /// 获取库存信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public RawMaterialStockModel GetRawMaterialStockData(HomeRequest request) { //建筑钢筋 var buildingData = GetStockRecordByRebarType(1, request); //型钢 var sectionData = GetStockRecordByRebarType(2, request); var retData = new RawMaterialStockModel() { BuildingSteel = new RebarTypeRetModel(buildingData), SectionSteel = new RebarTypeRetModel(sectionData) }; return(retData); }
public HttpResponseMessage Post([FromBody] HomeRequest request) { HttpResponseMessage response; try { HomeResponse homeResponse = new HomeResponse(); homeResponse.AllEvents = new ObservableCollection <TechReady.Common.Models.Event>(); using (DbModel.TechReadyDbContext ctx = new DbModel.TechReadyDbContext()) { var events = (from c in ctx.Events where (c.EventStatus == DbModel.EventStatus.Tentative || c.EventStatus == DbModel.EventStatus.Confirmed) && c.EventVisibility == DbModel.EventVisibility.Visible select c).ToList(); foreach (var ev in events) { try { if (ev.EventToDate.HasValue && (DateTime.Now.Date - ev.EventToDate.Value.Date).TotalDays > 1) { continue; } homeResponse.AllEvents.Add(CreateDxEvent(ev)); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(ex.Message); } } } response = this.Request.CreateResponse(HttpStatusCode.OK, homeResponse); response.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddSeconds(300)); } catch (Exception ex) { HttpError myCustomError = new HttpError(ex.Message) { { "IsSuccess", false } }; return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, myCustomError)); } return(response); }
public async Task GetEvents() { try { this.OperationInProgress = true; ObservableCollection <Event> model = await LocalStorage.ReadJsonFromFile <ObservableCollection <Event> >("allevents"); await SetEvents(model); if (NetworkHelper.IsNetworkAvailable() == false) { if (model == null) { await MessageHelper.ShowMessage("Please connect to internet to download latest events"); return; } } else { HomeRequest request = new HomeRequest() { }; var result = await ServiceProxy.CallService("api/Events", JsonConvert.SerializeObject(request)); if (result.IsSuccess) { var homeResponse = JsonConvert.DeserializeObject <HomeResponse>(result.response); model = homeResponse.AllEvents; await LocalStorage.SaveJsonToFile(homeResponse.AllEvents, "allevents"); } else { //await MessageHelper.ShowMessage(result.Error.Message); } } await SetEvents(model); } catch { } finally { this.OperationInProgress = false; } }
/// <summary> /// 获取批次计划数据 /// </summary> /// <param name="request"></param> /// <returns></returns> private List <PlanDataModel> GetBatchNeedList(HomeRequest request, List <string> demandNumList) { #region 查询条件 var whereBatch = new Where <TbFactoryBatchNeedPlan>(); whereBatch.And(p => p.Examinestatus == "审核完成"); whereBatch.And(p => p.RawMaterialDemandNum.In(demandNumList)); #endregion var batchList = Db.Context.From <TbFactoryBatchNeedPlan>().Select( TbFactoryBatchNeedPlan._.RawMaterialDemandNum.As("DemandPlanCode"), TbFactoryBatchNeedPlan._.BatchPlanNum, TbFactoryBatchNeedPlan._.SteelsTypeCode.As("RebarType"), TbFactoryBatchNeedPlan._.BatchPlanTotal.As("TotalWeight")) .Where(whereBatch).ToList <PlanDataModel>(); return(batchList); }
/// <summary> /// 获取月度计划数据 /// </summary> /// <param name="request"></param> /// <returns></returns> private List <PlanDataModel> GetPlanDataList(HomeRequest request) { #region 查询条件 var whereMonth = new Where <TbRawMaterialMonthDemandPlan>(); if (!string.IsNullOrEmpty(request.ProcessFactoryCode)) { whereMonth.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode); } //组织机构 if (!string.IsNullOrWhiteSpace(request.SiteCode)) { List <string> workAreaList = _WorkOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 4); if (workAreaList.Count > 0) { whereMonth.And(p => p.WorkAreaCode.In(workAreaList)); } } string demandMonth = request.DayMonth.ToString("yyyy-MM"); whereMonth.And(p => p.Examinestatus == "审核完成" && p.DemandMonth == demandMonth); #endregion var monthList = Db.Context.From <TbRawMaterialMonthDemandPlan>().Select( TbRawMaterialMonthDemandPlan._.BranchCode, TbRawMaterialMonthDemandPlan._.WorkAreaCode, TbRawMaterialMonthDemandPlan._.DemandPlanCode, TbRawMaterialMonthDemandPlan._.RebarType, TbRawMaterialMonthDemandPlan._.InsertTime, TbRawMaterialMonthDemandPlan._.PlanTotal.As("TotalWeight")) .Where(whereMonth).ToList <PlanDataModel>(); if (monthList.Any()) { var codeList = monthList.Select(p => p.DemandPlanCode).ToList(); var supplyPlanList = Repository <TbRawMaterialMonthDemandSupplyPlan> .Query(p => p.DemandPlanCode.In(codeList)).ToList(); if (supplyPlanList.Any()) { supplyPlanList.ForEach(x => { var item = monthList.First(p => p.DemandPlanCode == x.DemandPlanCode); item.TotalWeight += x.SupplyPlanNum.Value; item.BatchPlanNum = x.SupplyPlanCode; }); } } return(monthList); }
public void TestAddHome(long userId, string homeType, string address, string state, string zipCode) { var con = new UserManagementAPIs.Controllers.HomeController(logger); var komeReq = new HomeRequest() { Home = new Home() { Address = address, HomeType = homeType, State = state, Zipcode = zipCode, } }; var result = con.AddHome(userId, komeReq); Assert.Equal(System.Net.HttpStatusCode.OK, result.HttpStatusCode); }
/// <summary> /// 获取年月日数据 /// </summary> /// <returns></returns> public DMYDataModel GetDMYData(HomeRequest request) { request.DayMonth = DateTime.Now; //查找订单信息 var orderList = GetOverReceiveData(request); //已接单,加工完成 var receiveData = orderList.Item1; var overData = orderList.Item2; var retData = new DMYDataModel() { YearData = new DataModel(1, receiveData, overData), MonthData = new DataModel(2, receiveData, overData), DayData = new DataModel(3, receiveData, overData) }; return(retData); }
public BaseResponse UpdateHome(long id, HomeRequest home) { BaseResponse resp = new BaseResponse(); try { if (ValidateRequest.UpdateHome(id, home)) { var homeCrud = new HomeCRUD(); if (new UserCRUD().IsUserExists(id) || homeCrud.IsUserHomeExists(home.Home.Id)) { home.Home.UserId = id; homeCrud.UpdateHome(home.Home); if (home.Home.Id > 0) { resp.OK(); } else { resp.Conflict(); } } else { resp.Conflict(); resp.HttpStatusMessage = Constants.InValidUser; } } else { resp.BadRequest(); } } catch (Exception es) { string req = JsonConvert.SerializeObject(home); logger.Error(string.Format("UpdateHome, UserID={0}, Req={1}", id, req)); logger.Error("UpdateHome " + es.StackTrace); resp.InternalServerError(); } return(resp); }
public HomeRequest GetHome() { var homeRequest = new HomeRequest(); var footer = GlobalAttributesCache.Value("AvalancheFooterPage").AsIntegerOrNull(); if (footer != null) { homeRequest.Footer = GetPage(footer.Value); } var header = GlobalAttributesCache.Value("AvalancheHeaderPage").AsIntegerOrNull(); if (header != null) { homeRequest.Header = GetPage(header.Value); } homeRequest.Page = GetPage(GlobalAttributesCache.Value("AvalancheHomePage").AsInteger()); return(homeRequest); }
/// <summary> /// 获取生产计划阶段数据 /// </summary> /// <param name="request"></param> /// <returns></returns> public PlanRawMaterialStockModel GetRawMaterialStockPlanData(HomeRequest request) { #region 查询条件 var whereSupply = new Where <TbSupplyList>(); whereSupply.And(p => p.StateCode != "未供货"); #endregion var retData = new PlanRawMaterialStockModel(); //月度计划 var monthList = GetPlanDataList(request); if (!monthList.Any()) { return(retData); } var monthPlan = new RawMaterialStockModel(monthList); retData.MonthPlan = monthPlan; //批次计划 List <string> demandNumList = monthList.Select(p => p.DemandPlanCode).ToList(); var bpn = monthList.Where(p => p.BatchPlanNum != null).Select(p => p.BatchPlanNum).Distinct().ToList(); demandNumList.AddRange(bpn); var batchList = GetBatchNeedList(request, demandNumList); if (!batchList.Any()) { return(retData); } var batchPlan = new RawMaterialStockModel(batchList); retData.BatchPlan = batchPlan; //供应 var batchPlanNumList = batchList.Select(p => p.BatchPlanNum).ToList(); whereSupply.And(p => p.BatchPlanNum.In(batchPlanNumList)); var supplyList = Db.Context.From <TbSupplyList>().Select( TbSupplyList._.SteelsTypeCode.As("RebarType"), TbSupplyList._.HasSupplierTotal.As("TotalWeight")) .Where(whereSupply).ToList <PlanDataModel>(); var supplyData = new RawMaterialStockModel(supplyList); retData.SupplyData = supplyData; retData.LabShow(); return(retData); }
/// <summary> /// 加工订单统计图 /// </summary> /// <returns></returns> public OrderDataModel GetOrderInfoReport(HomeRequest request) { var retData = new OrderDataModel(); //订单信息 var orderInfo = CreatOrderInfo(request); if (!orderInfo.Item2.Any()) { return(retData); } retData = orderInfo.Item1; //配送超期 var where = new Where <TbDistributionPlanInfo>(); where.And(p => p.OrderCode.In(orderInfo.Item2)); where.And(new WhereClip("(DistributionStart='配送完成' and DATEPART(day,DeliveryCompleteTime)>DATEPART(day,DistributionTime)) or (DistributionStart='未配送' and DistributionTime>GETDATE())")); var data = Db.Context.From <TbDistributionPlanInfo>() .Select(TbDistributionPlanInfo._.ID, TbCompany._.ParentCompanyCode) .LeftJoin <TbCompany>((a, c) => a.SiteCode == c.CompanyCode) .Where(where).ToList(); retData.Distribution = data.GroupBy(p => p.ParentCompanyCode).Count(); return(retData); }
/// <summary> /// 获取年月日数据 /// </summary> /// <returns></returns> public ActionResult GetDMYData(HomeRequest request) { var data = _Home.GetDMYData(request); return(Content(data.ToJson())); }
public HomeViewModel Home(HomeRequest request) { return new HomeViewModel(); }
public HomeModel Execute(HomeRequest request) { return new HomeModel(); }
public HomeViewModel Index(HomeRequest input) { return new HomeViewModel(); }
/// <summary> /// 报警饼图信息分析 /// </summary> /// <param name="Year"></param> /// <param name="Month"></param> /// <returns></returns> public ActionResult GetAlarmMessage(HomeRequest request) { var data = _User.GetAlarmMessage(request); return(Content(data.ToJson())); }
/// <summary> /// 根据不同类型获取库存 /// </summary> /// <param name="where"></param> /// <returns></returns> private List <RebarTypeModel> GetStockRecordByRebarType(int type, HomeRequest request) { #region 查询条件 var where = new Where <TbRawMaterialStockRecord>(); var where2 = new Where <TbWorkOrderDetail>(); where2.And <TbWorkOrder>((a, c) => c.Examinestatus == "审核完成" && c.ProcessingState == "Received"); if (!string.IsNullOrEmpty(request.ProcessFactoryCode)) { where.And <TbStorage>((a, c) => c.ProcessFactoryCode == request.ProcessFactoryCode); where2.And <TbWorkOrder>((a, c) => c.ProcessFactoryCode == request.ProcessFactoryCode); } //组织机构 if (!string.IsNullOrWhiteSpace(request.SiteCode)) { List <string> workAreaList = _WorkOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 4); if (workAreaList.Count > 0) { where.And(p => p.WorkAreaCode.In(workAreaList)); } List <string> siteCodeList = _WorkOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5); if (siteCodeList.Count > 0) { where2.And <TbWorkOrder>((a, c) => c.SiteCode.In(siteCodeList)); } } if (type == 1) { where.And <TbRawMaterialArchives>((a, c) => c.RebarType == "BuildingSteel"); where2.And <TbRawMaterialArchives>((a, c) => c.RebarType == "BuildingSteel"); } else { where.And <TbRawMaterialArchives>((a, c) => c.RebarType == "SectionSteel"); where2.And <TbRawMaterialArchives>((a, c) => c.RebarType == "SectionSteel"); } #endregion var retList = Db.Context.From <TbRawMaterialStockRecord>().Select( TbRawMaterialStockRecord._.MaterialCode, TbRawMaterialStockRecord._.UseCount.Sum().As("UseCount"), TbRawMaterialStockRecord._.LockCount.Sum().As("LockCount")) .LeftJoin <TbStorage>((a, c) => a.StorageCode == c.StorageCode) .LeftJoin <TbRawMaterialArchives>((a, c) => a.MaterialCode == c.MaterialCode) .Where(where) .GroupBy(p => p.MaterialCode) .ToList <RebarTypeModel>(); if (retList.Any()) { //查找加工订单使用量 var orderList = Db.Context.From <TbWorkOrderDetail>().Select( TbWorkOrderDetail._.MaterialCode, TbWorkOrderDetail._.WeightSmallPlan.Sum().As("UseCount")) .LeftJoin <TbWorkOrder>((a, c) => a.OrderCode == c.OrderCode) .LeftJoin <TbRawMaterialArchives>((a, c) => a.MaterialCode == c.MaterialCode) .Where(where2) .GroupBy(p => p.MaterialCode) .ToList <RebarTypeModel>(); if (orderList.Any()) { retList.ForEach(x => { var material = orderList.FirstOrDefault(p => p.MaterialCode == x.MaterialCode); if (material != null) { x.UseCount -= material.UseCount; } }); } } return(retList); }
/// <summary> /// 获取接单,加工完成 /// </summary> /// <param name="request"></param> /// <returns>已接单,加工完成</returns> private Tuple <List <TbWorkOrder>, List <TbWorkOrderDetail> > GetOverReceiveData(HomeRequest request) { var where = new Where <TbWorkOrder>(); var whereOver = new Where <TbWorkOrderDetail>(); if (!string.IsNullOrEmpty(request.ProcessFactoryCode)) { where.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode); } //组织机构 if (!string.IsNullOrWhiteSpace(request.SiteCode)) { List <string> SiteList = _WorkOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5); if (SiteList.Count > 0) { where.And(p => p.SiteCode.In(SiteList)); } } where.And(new WhereClip("YEAR(TbWorkOrder.InsertTime)=" + request.DayMonth.Year)); where.And(p => p.ProcessingState != "ConfirmWork"); //已接单 var orderList = Db.Context.From <TbWorkOrder>() .Select(TbWorkOrder._.WeightTotal, TbWorkOrder._.OrderCode, TbCompany._.ParentCompanyCode, TbWorkOrder._.DistributionTime, TbWorkOrder._.InsertTime) .LeftJoin <TbCompany>((a, c) => a.SiteCode == c.CompanyCode) .Where(where).ToList(); var receiveData = orderList.ToList(); //加工完成 var oderCodeList = orderList.Select(p => p.OrderCode).ToList(); whereOver.And(p => p.OrderCode.In(oderCodeList)); whereOver.And(new WhereClip("YEAR(FinishTime)=" + request.DayMonth.Year)); var overData = Db.Context.From <TbWorkOrderDetail>().Select(TbWorkOrderDetail._.WeightSmallPlan, TbWorkOrderDetail._.FinishTime, TbWorkOrderDetail._.OrderCode).Where(whereOver).ToList(); return(new Tuple <List <TbWorkOrder>, List <TbWorkOrderDetail> >(receiveData, overData)); }
/// <summary> /// 供应量需求量统计 /// </summary> /// <param name="request"></param> /// <returns></returns> public Tuple <List <MoreReportModel>, List <MoreReportModel> > GetSupplyrMore(HomeRequest request) { var where = new Where <TbFactoryBatchNeedPlan>(); var where2 = new Where <TbSupplyList>(); //组织机构 if (!string.IsNullOrWhiteSpace(request.SiteCode)) { List <string> SiteList = _WorkOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 4); if (SiteList.Count > 0) { where.And(p => p.WorkAreaCode.In(SiteList)); where2.And(p => p.WorkAreaCode.In(SiteList)); } } if (!string.IsNullOrEmpty(request.ProcessFactoryCode)) { where.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode); where2.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode); } //需求量 where.And(new WhereClip("YEAR(InsertTime)=" + request.DayMonth.Year)); var group = new GroupByClip("month(InsertTime)"); var select = new Field("convert(varchar,month(InsertTime))+'月' name,SUM(BatchPlanTotal) as y"); var batchList = Db.Context.From <TbFactoryBatchNeedPlan>().Select(select) .Where(where) .GroupBy(group).ToList <MoreReportModel>(); CreatLast(batchList); //供应量 where2.And(new WhereClip("YEAR(SupplyCompleteTime)=" + request.DayMonth.Year)); var group2 = new GroupByClip("month(SupplyCompleteTime)"); var select2 = new Field("convert(varchar,month(SupplyCompleteTime))+'月' name,SUM(HasSupplierTotal) as y"); var supplyList = Db.Context.From <TbSupplyList>().Select(select2) .Where(where2) .GroupBy(group2).ToList <MoreReportModel>(); CreatLast(supplyList); return(new Tuple <List <MoreReportModel>, List <MoreReportModel> >(batchList, supplyList)); }
/// <summary> /// 签收超期 /// </summary> /// <param name="DateType"></param> /// <returns></returns> public ActionResult GetQsCsYjList(HomeRequest request) { var data = _User.GetQsCsYjList(request); return(Content(data.ToJson())); }
/// <summary> /// 加工厂数据 /// </summary> /// <param name="request"></param> /// <returns></returns> public ActionResult GetFactoryInfo(HomeRequest request) { var data = _Home.GetFactoryInfo(request); return(Content(data.ToJson())); }
/// <summary> /// 组织机构标签(加工厂) /// </summary> /// <returns></returns> public List <OrgLabData> GetOrgLabDataForFactory(HomeRequest request) { #region 查询条件 var where = new Where <TbOrderProgress>(); ////组织机构 //if (!string.IsNullOrEmpty(request.CodeList)) //{ // var list = request.CodeList.Split(',').ToList(); // if (list.Count < 500) // where.And(p => p.SiteCode.In(list)); //} //组织机构 if (!string.IsNullOrWhiteSpace(request.SiteCode)) { List <string> siteCodeList = _WorkOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5); if (siteCodeList.Count > 0) { where.And(p => p.SiteCode.In(siteCodeList)); } } if (!string.IsNullOrEmpty(request.ProcessFactoryCode)) { where.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode); } where.And(new WhereClip("(YEAR(DistributionTime)=" + request.DayMonth.Year + " and MONTH(DistributionTime)=" + request.DayMonth.Month + ") or (DistributionTime<'" + request.DayMonth + "' and (ProcessingState!='Finishing'))")); #endregion var retData = new List <OrgLabData>(); var orderList = Db.Context.From <TbOrderProgress>() .Select(TbOrderProgress._.ProcessingState, TbOrderProgress._.FinishProcessingDateTime, TbOrderProgress._.DistributionTime, TbOrderProgress._.SiteCode, TbCompany._.ParentCompanyCode) .LeftJoin <TbCompany>((a, c) => a.SiteCode == c.CompanyCode) .Where(where).ToList(); if (!orderList.Any()) { return(retData); } //订单,未完成,滞后 var orgList = orderList.Select(p => p.SiteCode).Distinct().ToList(); orgList.ForEach(x => { var oList = orderList.Where(p => p.SiteCode == x).ToList(); var labList = new List <OrgLab>(); labList.Add(new OrgLab("订单", oList.Count, "blue")); labList.Add(new OrgLab("未完成", oList.Count(p => p.ProcessingState != "Finishing"), "#FFB90F")); var zh = oList.Count(p => p.ProcessingState != "Finishing" && ((p.FinishProcessingDateTime != null && p.DistributionTime < p.FinishProcessingDateTime) || (p.FinishProcessingDateTime == null && p.DistributionTime < DateTime.Now.Date))); labList.Add(new OrgLab("滞后", zh, "red")); var item = new OrgLabData() { OrgCode = x, LeveL = 5, LabList = labList }; if (zh > 0) { item.pCode = oList[0].ParentCompanyCode; } retData.Add(item); }); return(retData); }
/// <summary> /// 获取生产计划阶段数据 /// </summary> /// <param name="request"></param> /// <returns></returns> public ActionResult GetRawMaterialStockPlanData(HomeRequest request) { var data = _Home.GetRawMaterialStockPlanData(request); return(Content(data.ToJson())); }
/// <summary> /// 组织机构标签(经理部) /// </summary> /// <param name="request"></param> /// <returns></returns> public List <OrgLabData> GetOrgLabDataForJLB(HomeRequest request) { var retData = new List <OrgLabData>(); //月度计划 var monthList = GetPlanDataList(request); if (!monthList.Any()) { return(retData); } //供应清单 var supplyList = GetSupplyData(monthList); //分部 var branchCode = monthList.Select(p => p.BranchCode).Distinct().ToList(); //工区 var workAreaCode = monthList.Select(p => p.WorkAreaCode).Distinct().ToList(); //站点标签 var sLab = GetOrgLabDataForFactory(request); retData.AddRange(sLab); var branchLab = new List <OrgLabData>(); workAreaCode.ForEach(x => { var labList = new List <OrgLab>(); var blabList = new List <OrgLab>(); var item = new OrgLabData() { OrgCode = x }; var wdata = GetMonthPlanLab(monthList.Where(p => p.WorkAreaCode == x).ToList()); bool isw = false; if (wdata.TooFewCount > 0) { isw = true; labList.Add(new OrgLab("计划不足!", 0, "blue")); } else if (wdata.TooMuchCount > 0) { isw = true; labList.Add(new OrgLab("计划过多!", 0, "blue")); } else if (wdata.OverTime > 0) { isw = true; labList.Add(new OrgLab("超时未提交!", 0, "blue")); } if (isw) { blabList.Add(new OrgLab("月度计划!", 0, "blue", 1)); } var iszh = retData.Count(p => p.pCode == x); if (iszh > 0) { labList.Add(new OrgLab("进度滞后!", 0, "red")); blabList.Add(new OrgLab("进度滞后!", 0, "red", 2)); item.pCode = wdata.pCode; } var sdata = CreatSupplyRetData(supplyList.Where(p => p.WorkAreaCode == x).ToList()); if (sdata.OverTime.Count > 0) { labList.Add(new OrgLab("延期供货!", 0, "#FF60AF")); blabList.Add(new OrgLab("材料供应!", 0, "#FF60AF")); } else if (sdata.OverTimeNoSupply.Count > 0) { labList.Add(new OrgLab("超期未供货!", 0, "#FF60AF")); blabList.Add(new OrgLab("材料供应!", 0, "#FF60AF", 3)); } item.LabList = labList; item.LeveL = 4; retData.Add(item); //查找分部lab var bl = branchLab.FirstOrDefault(p => p.OrgCode == wdata.pCode); if (bl != null) { if (bl.LabList.Count < 3) { blabList.ForEach(j => { var a = bl.LabList.FirstOrDefault(p => p.Name == j.Name); if (a == null) { bl.LabList.Add(j); } }); bl.LabList = bl.LabList.OrderBy(p => p.Order).ToList(); } } else { var bitem = new OrgLabData() { OrgCode = wdata.pCode, LeveL = 3, LabList = blabList }; branchLab.Add(bitem); } }); retData.AddRange(branchLab); return(retData); }
/// <summary> /// 加工订单统计图 /// </summary> /// <returns></returns> public ActionResult GetOrderInfoReport(HomeRequest request) { var data = _Home.GetOrderInfoReport(request); return(Content(data.ToJson())); }
public GuideData GetFactoryInfo(HomeRequest request) { var where = new Where <TbDistributionPlanInfo>(); where.And(p => p.Examinestatus == "审核完成"); if (!string.IsNullOrWhiteSpace(request.ProcessFactoryCode)) { where.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode); } //订单信息 var orderList = Db.Context.From <TbDistributionPlanInfo>() .Select(TbDistributionPlanInfo._.All, TbCompany._.ParentCompanyCode, TbOrderProgress._.FinishProcessingDateTime) .LeftJoin <TbCompany>((a, c) => a.SiteCode == c.CompanyCode) .LeftJoin <TbOrderProgress>((a, c) => a.OrderCode == c.OrderCode) .Where(where).ToList(); //本月 var orderMonth = orderList.Where(p => (p.InsertTime.Value.Year == DateTime.Now.Year && p.InsertTime.Value.Month == DateTime.Now.Month) || (p.DistributionTime.Value.Year == DateTime.Now.Year && p.DistributionTime.Value.Month == DateTime.Now.Month)).ToList(); var monthInfo = CreatGuideData(orderMonth, 1); monthInfo.Site = orderMonth.GroupBy(p => p.SiteCode).Count(); monthInfo.WorkArea = orderMonth.GroupBy(p => p.ParentCompanyCode).Count(); //综合 var TotalInfo = CreatGuideData(orderList, 2); //月均数,历史月份的总和 if (orderList.Any()) { var tlist = orderList.OrderBy(p => p.InsertTime).ToList(); DateTime dt1 = tlist[0].InsertTime.Value; DateTime dt2 = tlist[(orderList.Count - 1)].InsertTime.Value; int Year = dt2.Year - dt1.Year; int Month = ((dt2.Year - dt1.Year) * 12 + (dt2.Month - dt1.Month)) + 1; TotalInfo.Site = orderList.Count / Month; TotalInfo.TotalWeight = (orderList.Sum(p => p.WeightTotal) / Month).Value; } //报表 var reportInfo = new FactoryItmeData(); string CapacityMonth = DateTime.Now.Year + "-"; int month = DateTime.Now.Month; if (month < 10) { CapacityMonth += "0" + DateTime.Now.Month; } else { CapacityMonth += DateTime.Now.Month; } var data = _WorkOrderLogic.GetCapacityNum(request.ProcessFactoryCode, CapacityMonth); if (data != null && data.Rows.Count > 0) { reportInfo.TotalRate = (decimal)data.Rows[0]["Capacity"]; reportInfo.OrderRate = (decimal)data.Rows[0]["WeightSmallPlan"]; reportInfo.OtherRate = (decimal)data.Rows[0]["ActualLoadNew"]; } //联系人 var storage = Db.Context.From <TbStorage>() .Select(TbStorage._.StorageAdd, TbStorage._.Tel, TbUser._.UserName) .LeftJoin <TbUser>((a, c) => a.UserCode == c.UserCode) .Where(p => p.ProcessFactoryCode == request.ProcessFactoryCode).First(); var retData = new GuideData() { MonthInfo = monthInfo, TotalInfo = TotalInfo, ReportInfo = reportInfo, Tel = storage.Tel, Address = storage.StorageAdd, Contacts = storage.UserName }; return(retData); }
/// <summary> /// 组织机构标签(经理部) /// </summary> /// <param name="request"></param> /// <returns></returns> public ActionResult GetOrgLabDataForJLB(HomeRequest request) { var data = _Home.GetOrgLabDataForJLB(request); return(Content(data.ToJson())); }
/// <summary> /// 接单信息 /// </summary> /// <param name="request"></param> /// <returns></returns> private Tuple <OrderDataModel, List <string> > CreatOrderInfo(HomeRequest request) { #region 查询条件 var where = new Where <TbOrderProgress>(); //组织机构 if (!string.IsNullOrWhiteSpace(request.SiteCode)) { List <string> SiteList = _WorkOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5); if (SiteList.Count > 0) { where.And(p => p.SiteCode.In(SiteList)); } } if (!string.IsNullOrEmpty(request.ProcessFactoryCode)) { where.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode); } where.And(new WhereClip("(YEAR(DistributionTime)=" + request.DayMonth.Year + " and MONTH(DistributionTime)=" + request.DayMonth.Month + ") or (DistributionTime<'" + request.DayMonth + "' and (ProcessingState!='Finishing'))")); #endregion var retData = new OrderDataModel(); var codeList = new List <string>(); //订单信息 var orderList = GetOverReceiveData(request); if (orderList.Item1.Any()) { var receiveList = orderList.Item1.Where(p => p.InsertTime.Month == request.DayMonth.Month).ToList(); retData.OrderCount = receiveList.Count; retData.OrderTotal = receiveList.Sum(p => p.WeightTotal); retData.TotalCount = orderList.Item1.GroupBy(p => p.ParentCompanyCode).Count(); codeList.AddRange(receiveList.Select(p => p.OrderCode).ToList()); } if (orderList.Item2.Any()) { var overList = orderList.Item2.Where(p => p.FinishTime.Value.Month == request.DayMonth.Month).ToList(); retData.OverTotal = overList.Sum(p => p.WeightSmallPlan); retData.OverCount = overList.Select(p => p.OrderCode).Distinct().Count(); codeList.AddRange(overList.Select(p => p.OrderCode).ToList()); } //计划完成 var planOrderList = Db.Context.From <TbOrderProgress>() .Select(TbOrderProgress._.ProcessingState, TbOrderProgress._.OrderCode, TbOrderProgress._.FinishProcessingDateTime, TbOrderProgress._.DistributionTime, TbOrderProgress._.SiteCode) .Where(where).ToList(); var orderCodeList = planOrderList.Select(p => p.OrderCode).ToList(); codeList.AddRange(orderCodeList); var orderDetailList = Repository <TbWorkOrderDetail> .Query(p => p.OrderCode.In(orderCodeList) && p.DaetailWorkStrat == "未加工").ToList(); if (orderDetailList.Any()) { retData.PlanCount = planOrderList.Count; retData.PlanTotal = orderDetailList.Sum(p => p.WeightSmallPlan); } //未完成 retData.NotOver = planOrderList.Count(p => p.ProcessingState != "Finishing"); //滞后 codeList = codeList.Distinct().ToList(); var lag = GetLagData(orderCodeList); retData.Lag = lag.Number; retData.LagCount = lag.TotalCount; retData.LagWeight = lag.TotalWeight; return(new Tuple <OrderDataModel, List <string> >(retData, codeList)); }
/// <summary> /// 供应量需求量统计 /// </summary> /// <param name="request"></param> /// <returns></returns> public ActionResult GetSupplyrMore(HomeRequest request) { var data = _Home.GetSupplyrMore(request); return(Content(data.ToJson())); }
public HomeResponse Get(HomeRequest request) { return(new HomeResponse()); }
public HomeModel Execute(HomeRequest request) { return(new HomeModel()); }
public HomeModel Get(HomeRequest input) { return new HomeModel(); }
public async Task <ActionResult> Get(HomeRequest request, CancellationToken cancel) { return(View(await _mediator.BuildAsync <HomeRequest, HomeViewModel>(request, User.GetAppIdentity(), cancel))); }