public SmartResult GetFlowCardProcessFault([FromQuery] int flowCardId, int page, int limit = 30) { page = page < 0 ? 0 : page; limit = limit < 0 ? 30 : limit; var result = new SmartResult(); var sql = $"SELECT a.*, b.FlowCard, c.Process FROM `t_process_fault` a " + $"JOIN (SELECT * FROM `t_flow_card` WHERE MarkedDelete = 0) b ON a.FlowCardId = b.Id " + $"JOIN (SELECT a.Id, b.ProcessId, b.Process FROM `t_flow_card_process` a " + $"JOIN (SELECT a.Id, b.ProcessId, b.Process FROM `t_product_process` a " + $"JOIN (SELECT a.Id, a.ProcessId, b.Process FROM `t_process_code_category_process` a " + $"JOIN `t_process` b ON a.ProcessId = b.Id) b ON a.ProcessId = b.Id) b ON a.ProcessId = b.Id) c ON a.ProcessId = c.Id " + $"WHERE a.MarkedDelete = 0 AND Type = @type AND IsDeal = FALSE AND a.FlowCardId = @flowCardId ORDER BY a.FlowCardId DESC" + $" LIMIT @page, @limit;"; result.datas.AddRange(ServerConfig.ApiDb.Query <SmartFlowCardFault>(sql, new { flowCardId, type = ProcessFault.设备故障, page, limit })); sql = $"SELECT COUNT(1) FROM (SELECT a.FlowCardId FROM `t_process_fault` a " + $"JOIN (SELECT * FROM `t_flow_card` WHERE MarkedDelete = 0) b ON a.FlowCardId = b.Id " + $"JOIN (SELECT a.Id, b.ProcessId, b.Process FROM `t_flow_card_process` a " + $"JOIN (SELECT a.Id, b.ProcessId, b.Process FROM `t_product_process` a " + $"JOIN (SELECT a.Id, a.ProcessId, b.Process FROM `t_process_code_category_process` a " + $"JOIN `t_process` b ON a.ProcessId = b.Id) b ON a.ProcessId = b.Id) b ON a.ProcessId = b.Id) c ON a.ProcessId = c.Id " + $"WHERE a.MarkedDelete = 0 AND Type = @type AND IsDeal = FALSE AND a.FlowCardId = @flowCardId) a;"; result.Count = ServerConfig.ApiDb.Query <int>(sql, new { flowCardId, type = ProcessFault.设备故障 }).FirstOrDefault(); return(result); }
public object GetArrangedTaskOrder([FromQuery] int wId, int page, int limit = 30) { page = page < 0 ? 0 : page; limit = limit < 0 ? 30 : limit; var result = new SmartResult(); var state = new[] { SmartTaskOrderState.加工中, SmartTaskOrderState.等待中, SmartTaskOrderState.未加工, SmartTaskOrderState.暂停中, SmartTaskOrderState.已取消, SmartTaskOrderState.已完成, }.Select(x => (int)x).Join(); result.datas.AddRange(ServerConfig.ApiDb.Query <SmartTaskOrderDetailLevel>($"SELECT a.*, b.Product, c.Level FROM `t_task_order` a " + $"JOIN `t_product` b ON a.ProductId = b.Id " + $"JOIN `t_task_order_level` c ON a.LevelId = c.Id " + $"WHERE Arranged = 1 AND a.MarkedDelete = 0 AND a.WorkshopId = @wId ORDER BY FIELD(State, {state}), StartTime, EndTime, DeliveryTime LIMIT @page, @limit;", new { wId, page, limit })); result.Count = ServerConfig.ApiDb.Query <int>($"SELECT COUNT(1) FROM `t_task_order` a " + $"JOIN `t_product` b ON a.ProductId = b.Id " + $"JOIN `t_task_order_level` c ON a.LevelId = c.Id " + $"WHERE Arranged = 1 AND a.WorkshopId = @wId AND a.MarkedDelete = 0;", new { wId }).FirstOrDefault(); return(result); }
public DataResult GetFlowCard([FromQuery] int qId, string flowCard, int taskOrderId, int page, int limit = 30) { var result = new SmartResult(); var sql = $"SELECT * FROM t_flow_card WHERE MarkedDelete = 0" + $"{(qId == 0 ? "" : " AND Id = @qId")}" + $"{(flowCard.IsNullOrEmpty() ? "" : " AND FlowCard Like @flowCard")}" + $"{(taskOrderId == 0 ? "" : " AND TaskOrderId = @taskOrderId")}" + $" LIMIT @page, @limit;"; var flowCards = ServerConfig.ApiDb.Query <SmartFlowCardUI>(sql, new { qId, flowCard = flowCard + "%", taskOrderId, page, limit }); var processes = new List <SmartFlowCardProcessDetail>(); var undoFlowCardIds = flowCards.Where(x => x.State == SmartFlowCardState.未加工).Select(x => x.Id); if (undoFlowCardIds.Any()) { processes.AddRange(ServerConfig.ApiDb.Query <SmartFlowCardProcessDetail>( "SELECT * FROM (SELECT a.*, b.Process FROM `t_flow_card_process` a " + "JOIN (SELECT a.Id, b.Process FROM `t_product_process` a " + "JOIN (SELECT a.Id, b.Process FROM `t_process_code_category_process` a " + "JOIN `t_process` b ON a.ProcessId = b.Id) b ON a.ProcessId = b.Id) b ON a.ProcessId = b.Id " + "WHERE a.MarkedDelete = 0 AND a.FlowCardId IN @undoFlowCardIds ORDER BY a.Id DESC) a GROUP BY a.FlowCardId;", new { undoFlowCardIds })); } var doFlowCardIds = flowCards.Where(x => x.State != SmartFlowCardState.未加工).Select(x => x.Id); if (doFlowCardIds.Any()) { processes.AddRange(ServerConfig.ApiDb.Query <SmartFlowCardProcessDetail>( "SELECT * FROM (SELECT a.*, b.Process FROM `t_flow_card_process` a " + "JOIN (SELECT a.Id, b.Process FROM `t_product_process` a " + "JOIN (SELECT a.Id, b.Process FROM `t_process_code_category_process` a " + "JOIN `t_process` b ON a.ProcessId = b.Id) b ON a.ProcessId = b.Id) b ON a.ProcessId = b.Id " + "WHERE a.MarkedDelete = 0 AND (a.State != 0 OR NOT ISNULL(a.StartTime)) AND a.FlowCardId IN @doFlowCardIds ORDER BY a.Id DESC) a GROUP BY a.FlowCardId;", new { doFlowCardIds })); } foreach (var process in processes) { var fc = flowCards.FirstOrDefault(x => x.Id == process.FlowCardId); if (fc != null) { fc.Process = process.Process; fc.Progress = process.Progress; } } result.datas.AddRange(flowCards); sql = $"SELECT COUNT(1) FROM t_flow_card WHERE MarkedDelete = 0" + $"{(qId == 0 ? "" : " AND Id = @qId")}" + $"{(flowCard.IsNullOrEmpty() ? "" : " AND FlowCard Like @flowCard")}" + $"{(taskOrderId == 0 ? "" : " AND TaskOrderId = @taskOrderId")}"; result.Count = ServerConfig.ApiDb.Query <int>(sql, new { qId, flowCard = flowCard + "%", taskOrderId }).FirstOrDefault(); return(result); }
public SmartResult GetWorkOrder([FromQuery] int qId, string workOrder, int page, int limit = 30) { page = page < 0 ? 0 : page; limit = limit < 0 ? 30 : limit; var result = new SmartResult(); var sql = $"SELECT * FROM t_work_order WHERE MarkedDelete = 0" + $"{(qId == 0 ? "" : " AND Id = @qId")}" + $"{(workOrder.IsNullOrEmpty() ? "" : " AND WorkOrder Like @workOrder")}" + $" LIMIT @page, @limit;"; result.datas.AddRange(ServerConfig.ApiDb.Query <SmartWorkOrder>(sql, new { qId, workOrder = workOrder + "%", page, limit })); sql = $"SELECT COUNT(1) FROM t_work_order WHERE MarkedDelete = 0" + $"{(qId == 0 ? "" : " AND Id = @qId")}" + $"{(workOrder.IsNullOrEmpty() ? "" : " AND WorkOrder Like @workOrder")};"; result.Count = ServerConfig.ApiDb.Query <int>(sql, new { qId, workOrder = workOrder + "%" }).FirstOrDefault(); return(result); }
public SmartResult GetTaskOrderStopFaultCount([FromQuery] int page, int limit = 30) { page = page < 0 ? 0 : page; limit = limit < 0 ? 30 : limit; var result = new SmartResult(); var sql = $"SELECT b.TaskOrderId, b.TaskOrder, COUNT(1) Count FROM `t_process_fault` a " + $"JOIN (SELECT a.*, b.TaskOrder FROM `t_flow_card` a " + $"JOIN `t_task_order` b ON a.TaskOrderId = b.Id WHERE b.MarkedDelete = 0) b ON a.FlowCardId = b.Id " + $"WHERE a.MarkedDelete = 0 AND Type = @type AND IsDeal = FALSE GROUP BY b.TaskOrderId ORDER BY b.TaskOrderId DESC" + $" LIMIT @page, @limit;"; result.datas.AddRange(ServerConfig.ApiDb.Query <SmartTaskProcessFaultCount>(sql, new { type = ProcessFault.设备故障, page, limit })); sql = $"SELECT COUNT(1) FROM (SELECT b.TaskOrderId FROM `t_process_fault` a " + $"JOIN (SELECT a.*, b.TaskOrder FROM `t_flow_card` a " + $"JOIN `t_task_order` b ON a.TaskOrderId = b.Id WHERE b.MarkedDelete = 0) b ON a.FlowCardId = b.Id " + $"WHERE a.MarkedDelete = 0 AND Type = @type AND IsDeal = FALSE GROUP BY b.TaskOrderId) a;"; result.Count = ServerConfig.ApiDb.Query <int>(sql, new { type = ProcessFault.设备故障 }).FirstOrDefault(); return(result); }
public object GetSmartScheduleNotArranged([FromQuery] int wId, int page, int limit = 30) { var result = new SmartResult(); result.datas.AddRange(ServerConfig.ApiDb.Query <SmartTaskOrderDetailProduct>($"SELECT a.*, b.Product FROM `t_task_order` a " + $"JOIN `t_product` b ON a.ProductId = b.Id " + //$"WHERE Arranged = 0 AND a.MarkedDelete = 0 Order By StartTime, EndTime, DeliveryTime LIMIT @page, @limit;", new $"WHERE Arranged = 0 AND a.WorkshopId = @wId AND a.MarkedDelete = 0 Order By Id Desc LIMIT @page, @limit;", new { wId, page, limit })); result.Count = ServerConfig.ApiDb.Query <int>($"SELECT COUNT(1) FROM `t_task_order` a " + $"JOIN `t_product` b ON a.ProductId = b.Id " + $"WHERE Arranged = 0 AND a.WorkshopId = @wId AND a.MarkedDelete = 0;", new { wId }).FirstOrDefault(); return(result); }
public SmartResult GetTaskOrder([FromQuery] int qId, string taskOrder, int workOrderId, int page, int limit = 30) { page = page < 0 ? 0 : page; limit = limit < 0 ? 30 : limit; var result = new SmartResult(); var sql = $"SELECT a.*, b.Product FROM t_task_order a JOIN t_product b ON a.ProductId = b.Id WHERE a.MarkedDelete = 0" + $"{(qId == 0 ? "" : " AND a.Id = @qId")}" + $"{(taskOrder.IsNullOrEmpty() ? "" : " AND a.TaskOrder Like @taskOrder")}" + $"{(workOrderId == 0 ? "" : " AND a.WorkOrderId = @workOrderId")}" + $" LIMIT @page, @limit;"; result.datas.AddRange(ServerConfig.ApiDb.Query <SmartTaskOrderDetail>(sql, new { qId, taskOrder = taskOrder + "%", workOrderId, page, limit })); sql = $"SELECT COUNT(1) FROM t_task_order WHERE MarkedDelete = 0" + $"{(qId == 0 ? "" : " AND Id = @qId")}" + $"{(taskOrder.IsNullOrEmpty() ? "" : " AND TaskOrder Like @taskOrder")}" + $"{(workOrderId == 0 ? "" : " AND WorkOrderId = @workOrderId")}"; result.Count = ServerConfig.ApiDb.Query <int>(sql, new { qId, taskOrder = taskOrder + "%", workOrderId }).FirstOrDefault(); return(result); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } // Add a list of AutoMapper profiles to be used by SmartResult List <Profile> profiles = new List <Profile> { new SmartResultProfile() }; // Use the minimum configuration SmartResult.Configure( new SmartResultConfiguration( profiles ) ); app.UseMvc(); }