1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using Ropin.Inspection.Model;
- using Ropin.Inspection.Model.Entities;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Repository
- {
- public class TmtnDevOperateRecordRepository : RepositoryBase<TMTN_DevOperateRecord, Guid>, ITmtnDevOperateRecordRepository
- {
- public TmtnDevOperateRecordRepository(InspectionDbContext DbContext) : base(DbContext)
- {
- }
- public Task<RepairStatistics> GetDevOpsStatisticsAsync(string storeCode)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] {
- new MySqlConnector.MySqlParameter("storeCode", storeCode)};
- string sql = "";
- sql = @"SELECT CASE WHEN ISNULL(SUM(if(C_Status='1',1,0))) THEN 0 ELSE SUM(if(C_Status='1',1,0)) END AS Approval,
- CASE WHEN ISNULL(SUM(if(C_Status='2',1,0))) THEN 0 ELSE SUM(if(C_Status='2',1,0)) END AS Confirm ,
- CASE WHEN ISNULL(SUM(if(C_Status='3',1,0))) THEN 0 ELSE SUM(if(C_Status='3',1,0)) END AS RepairOn ,
- CASE WHEN ISNULL(SUM(if(C_Status='4',1,0))) THEN 0 ELSE SUM(if(C_Status='4',1,0)) END AS Complete,
- CASE WHEN ISNULL(SUM(if(C_Status='5',1,0))) THEN 0 ELSE SUM(if(C_Status='5',1,0)) END AS Cancel,
- CASE WHEN ISNULL(SUM(if(C_Status='6',1,0))) THEN 0 ELSE SUM(if(C_Status='6',1,0)) END AS RepairRework,
- CASE WHEN ISNULL(SUM(if(C_Status='7',1,0))) THEN 0 ELSE SUM(if(C_Status='7',1,0)) END AS RepairCompleted
- FROM (
- SELECT A.D_CreateOn,A.C_Status FROM TMTN_DevOps A
- INNER JOIN TISP_Spot C ON C.C_Code = A.C_SpotCode WHERE C.C_StoreCode =@storeCode AND C.C_Status = '1' AND A.D_CreateOn >= date_sub(NOW(),INTERVAL 6 MONTH)
- )D
- ";
- RepairStatistics record;
- record = EntityFrameworkCoreExtensions.SqlQuery<RepairStatistics>(DbContext.Database, sql, parameters).FirstOrDefault();
- return Task.FromResult(record);
- }
- }
- }
|