using System; using System.Collections.Generic; using System.Linq; using System.Web; using Warehouse.Models.mesModel; using Warehouse.Models.mesMysqlModel; namespace Warehouse.DAL.Report { public class DashboardDal { public List QueryDataEL(string workshop) { using (var context = new mymesModel()) { string sql = @" SELECT CASE WHEN HOUR(EL.ELTIME)>=0 AND HOUR(EL.ELTIME)<2 THEN '00' WHEN HOUR(EL.ELTIME)>=2 AND HOUR(EL.ELTIME)<4 THEN '02' WHEN HOUR(EL.ELTIME)>=4 AND HOUR(EL.ELTIME)<6 THEN '04' WHEN HOUR(EL.ELTIME)>=6 AND HOUR(EL.ELTIME)<8 THEN '06' WHEN HOUR(EL.ELTIME)>=8 AND HOUR(EL.ELTIME)<10 THEN '08' WHEN HOUR(EL.ELTIME)>=10 AND HOUR(EL.ELTIME)<12 THEN '10' WHEN HOUR(EL.ELTIME)>=12 AND HOUR(EL.ELTIME)<14 THEN '12' WHEN HOUR(EL.ELTIME)>=14 AND HOUR(EL.ELTIME)<16 THEN '14' WHEN HOUR(EL.ELTIME)>=16 AND HOUR(EL.ELTIME)<18 THEN '16' WHEN HOUR(EL.ELTIME)>=18 AND HOUR(EL.ELTIME)<20 THEN '18' WHEN HOUR(EL.ELTIME)>=20 AND HOUR(EL.ELTIME)<22 THEN '20' WHEN HOUR(EL.ELTIME)>=22 AND HOUR(EL.ELTIME)<24 THEN '22' END times , COUNT(el.MODULEID) AS qty FROM js_mes.rt_modulepelresults EL left join js_mes.lotbasis SM ON SM.Module_ID = el.MODULEID WHERE str_to_date(ELTIME, '%Y-%m-%d')=date_format(NOW(), '%Y-%c-%d') AND SM.Workshop_ID = @workshop GROUP BY times;"; var data = new Dictionary { { "workshop", workshop }, }; var res = context.DynamicListFromSql(sql, data); if (res.Count() != 0) { return res.ToList(); } else { return null; } } } public List QueryDataIV(string workshop) { using (var context = new mymesModel()) { string sql = @"SELECT CASE WHEN HOUR(IV.TEST_DATETIME) >= 0 AND HOUR(IV.TEST_DATETIME)< 2 THEN '00' WHEN HOUR(IV.TEST_DATETIME)>= 2 AND HOUR(IV.TEST_DATETIME)< 4 THEN '02' WHEN HOUR(IV.TEST_DATETIME)>= 4 AND HOUR(IV.TEST_DATETIME)< 6 THEN '04' WHEN HOUR(IV.TEST_DATETIME)>= 6 AND HOUR(IV.TEST_DATETIME)< 8 THEN '06' WHEN HOUR(IV.TEST_DATETIME)>= 8 AND HOUR(IV.TEST_DATETIME)< 10 THEN '08' WHEN HOUR(IV.TEST_DATETIME)>= 10 AND HOUR(IV.TEST_DATETIME)< 12 THEN '10' WHEN HOUR(IV.TEST_DATETIME)>= 12 AND HOUR(IV.TEST_DATETIME)< 14 THEN '12' WHEN HOUR(IV.TEST_DATETIME)>= 14 AND HOUR(IV.TEST_DATETIME)< 16 THEN '14' WHEN HOUR(IV.TEST_DATETIME)>= 16 AND HOUR(IV.TEST_DATETIME)< 18 THEN '16' WHEN HOUR(IV.TEST_DATETIME)>= 18 AND HOUR(IV.TEST_DATETIME)< 20 THEN '18' WHEN HOUR(IV.TEST_DATETIME)>= 20 AND HOUR(IV.TEST_DATETIME)< 22 THEN '20' WHEN HOUR(IV.TEST_DATETIME)>= 22 AND HOUR(IV.TEST_DATETIME)< 24 THEN '22' END times, COUNT(IV.Module_ID) AS qty FROM js_mes.rt_mid_flash IV left join js_mes.lotbasis SM ON SM.Module_ID = IV.Module_ID WHERE-- DAY(IV.TEST_DATETIME) = DAY(NOW()) AND YEAR(IV.TEST_DATETIME)= YEAR(NOW()) AND MONTH(IV.TEST_DATETIME)= MONTH(NOW()) IV.TEST_DATETIME > date_format(NOW(), '%Y-%c-%d') AND SM.Workshop_ID = @workshop GROUP BY times; "; var data = new Dictionary { { "workshop", workshop }, }; var res = context.DynamicListFromSql(sql, data); if (res.Count() != 0) { return res.ToList(); } else { return null; } } } public List QueryData(string sitename, string workshop) { using (var context = new mymesModel()) { //M15焊接 string sql = @"SELECT CASE WHEN HOUR(create_time)>=0 AND HOUR(create_time)<2 THEN '00' WHEN HOUR(create_time)>=2 AND HOUR(create_time)<4 THEN '02' WHEN HOUR(create_time)>=4 AND HOUR(create_time)<6 THEN '04' WHEN HOUR(create_time)>=6 AND HOUR(create_time)<8 THEN '06' WHEN HOUR(create_time)>=8 AND HOUR(create_time)<10 THEN '08' WHEN HOUR(create_time)>=10 AND HOUR(create_time)<12 THEN '10' WHEN HOUR(create_time)>=12 AND HOUR(create_time)<14 THEN '12' WHEN HOUR(create_time)>=14 AND HOUR(create_time)<16 THEN '14' WHEN HOUR(create_time)>=16 AND HOUR(create_time)<18 THEN '16' WHEN HOUR(create_time)>=18 AND HOUR(create_time)<20 THEN '18' WHEN HOUR(create_time)>=20 AND HOUR(create_time)<22 THEN '20' WHEN HOUR(create_time)>=22 AND HOUR(create_time)<24 THEN '22' END times , COUNT( worksite) AS qty FROM js_mes.rt_worksite_common WHERE create_time>date_format(NOW(), '%Y-%c-%d') -- DAY(create_time)=DAY(NOW()) AND YEAR(create_time)=YEAR(NOW()) AND MONTH(create_time)=MONTH(NOW()) AND workshop = @workshop and worksite=@site GROUP BY times;"; var data = new Dictionary { { "workshop", workshop }, { "site", sitename } }; var res = context.DynamicListFromSql(sql, data); if (res.Count() != 0) { return res.ToList(); } else { return null; } } //return null; } public List QueryWorkshop() { using (var context = new mymesModel() ) { var res = context.df_config_condition_linkage.Where(a => a.LINKDESCRIPTION == "workshop"); //if (res == null) { return null; } return res.ToList(); } } } }