|
|
@@ -889,8 +889,113 @@ where au.A_STATUS='NORMAL' and cps.ID is not null
|
|
|
";
|
|
|
|
|
|
|
|
|
+$sql['procedure_GRAFIK_PRACY_FILL_DATE_drop']="drop procedure if exists GRAFIK_PRACY_FILL_DATE";
|
|
|
+$sql['procedure_GRAFIK_PRACY_FILL_DATE_create']="CREATE PROCEDURE GRAFIK_PRACY_FILL_DATE(start_date DATE, end_date DATE)
|
|
|
+BEGIN
|
|
|
+ DECLARE crt_date DATE;
|
|
|
+ DECLARE USER TEXT;
|
|
|
+ DECLARE COUNT_USERS integer;
|
|
|
+ DECLARE USERS_counter int;
|
|
|
+ DECLARE ACL_GROUP TEXT;
|
|
|
+ DECLARE USER_GROUP TEXT;
|
|
|
+
|
|
|
+
|
|
|
+ SET @USERS_counter = 0;
|
|
|
+ SET USERS_counter = 0;
|
|
|
+ SET @ACL_GROUP = '';
|
|
|
+ SET @USER_GROUP = '';
|
|
|
+ SELECT COUNT(`ID`) into COUNT_USERS FROM ADMIN_USERS WHERE EMPLOYEE_TYPE='Pracownik' and A_STATUS='NORMAL';
|
|
|
+
|
|
|
+WHILE USERS_counter < COUNT_USERS DO
|
|
|
+ SET crt_date=start_date;
|
|
|
+
|
|
|
+ PREPARE stmt FROM \"SELECT ADM_ACCOUNT into @USER from ADMIN_USERS WHERE EMPLOYEE_TYPE='Pracownik' and A_STATUS='NORMAL' limit ?,1;\";
|
|
|
+ EXECUTE stmt USING @USERS_counter ;
|
|
|
+DEALLOCATE PREPARE stmt;
|
|
|
+
|
|
|
+ PREPARE stmt FROM \"SELECT DEFAULT_ACL_GROUP into @ACL_GROUP from ADMIN_USERS WHERE EMPLOYEE_TYPE='Pracownik' and A_STATUS='NORMAL' limit ?,1;\";
|
|
|
+ EXECUTE stmt USING @USERS_counter ;
|
|
|
+DEALLOCATE PREPARE stmt;
|
|
|
+
|
|
|
+
|
|
|
+SELECT GROUP_CONCAT(concat('[',cap.ID_ZASOB,']')) into @USER_GROUP from ADMIN_USERS au
|
|
|
+ LEFT JOIN CRM_AUTH_PROFILE as cap on cap.REMOTE_ID=au.ID and cap.REMOTE_TABLE='ADMIN_USERS' and cap.A_STATUS in ('NORMAL','WAITING')
|
|
|
+ WHERE au.ADM_ACCOUNT=@USER ;
|
|
|
+
|
|
|
+
|
|
|
+ WHILE crt_date < end_date DO
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+INSERT ignore INTO GRAFIK_PRACY (`L_APPOITMENT_USER`,`DATE`,`WEEK`,`DAY_OF_WEEK`,`A_CLASSIFIED`,`A_ADM_COMPANY`,`USER_GROUPS`) VALUES(@USER , crt_date,date_format(crt_date,'%v'),date_format(crt_date,'%W'), @ACL_GROUP,@ACL_GROUP, @USER_GROUP );
|
|
|
+SET crt_date = ADDDATE(crt_date, INTERVAL 1 DAY);
|
|
|
+
|
|
|
+ END WHILE;
|
|
|
+ SET USERS_counter = USERS_counter +1;
|
|
|
+ SET @USERS_counter = @USERS_counter +1;
|
|
|
+
|
|
|
+ END WHILE;
|
|
|
+END";
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+$sql['event_delete_GRAFIK_PRACY_FILL_DATE']="drop event if exists GRAFIK_PRACY_FILL_DATE_event";
|
|
|
+$sql['event_create_GRAFIK_PRACY_FILL_DATE']="CREATE DEFINER=root@localhost EVENT GRAFIK_PRACY_FILL_DATE_event
|
|
|
+ ON SCHEDULE EVERY 1 DAY
|
|
|
+ STARTS str_to_date( date_format(now(), '%Y%m%d 0400'), '%Y%m%d %H%i' ) + INTERVAL 1 DAY
|
|
|
+ DO
|
|
|
+ BEGIN
|
|
|
+ call GRAFIK_PRACY_FILL_DATE(date_format(now(),'%Y-%m-01'),date_format(DATE_ADD(now(),INTERVAL + 2 MONTH ),'%Y-%m-01'));
|
|
|
+
|
|
|
+ END
|
|
|
+
|
|
|
+ ";
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+$sql['view__GRAFIK_PRACY']="create or replace definer=`root`@`localhost` view GRAFIK_PRACY_view as
|
|
|
+
|
|
|
+SELECT ID,YEAR( DATE ) as rok , MONTH( DATE ) as miesiac,
|
|
|
+`L_APPOITMENT_USER` , SUM( TIME_TO_SEC( TIMEDIFF( `END_WORK_HOUR` , `START_WORK_HOUR` ) ) )/3600 AS GODZIN_PLANOWO,
|
|
|
|
|
|
+ SUM( TIME_TO_SEC( TIMEDIFF( `END_WORK_HOUR_CONFIRM` , `START_WORK_HOUR_CONFIRM` ) ) )/3600 AS GODZIN_FAKTYCZNIE,
|
|
|
|
|
|
+SUM(
|
|
|
+if(
|
|
|
+TIME_TO_SEC( TIMEDIFF( `START_WORK_HOUR_CONFIRM`, `START_WORK_HOUR` ) ) >0,
|
|
|
+TIME_TO_SEC( TIMEDIFF( `START_WORK_HOUR_CONFIRM`, `START_WORK_HOUR` ) ),
|
|
|
+0
|
|
|
+)
|
|
|
+ )/3600 as GODZIN_SPOZNIEN,
|
|
|
+
|
|
|
+SUM(
|
|
|
+if(
|
|
|
+TIME_TO_SEC( TIMEDIFF( `END_WORK_HOUR`, `END_WORK_HOUR_CONFIRM` ) ) >0,
|
|
|
+TIME_TO_SEC( TIMEDIFF( `END_WORK_HOUR`, `END_WORK_HOUR_CONFIRM` ) ),
|
|
|
+0
|
|
|
+)
|
|
|
+ )/3600 as GODZIN_WYJSC_PRZED_CZASEM,
|
|
|
+
|
|
|
+ sum(`BREAK1_MINUTES`+`BREAK2_MINUTES`)/60 as CZAS_PRZERW ,
|
|
|
+
|
|
|
+sum(
|
|
|
+ if(BREAK1_MINUTES>0,1,0)+
|
|
|
+ if(BREAK2_MINUTES>0,1,0)
|
|
|
+) as ILOSC_PRZERW ,
|
|
|
+
|
|
|
+
|
|
|
+sum(
|
|
|
+if( TIME_TO_SEC( TIMEDIFF( `START_WORK_HOUR_CONFIRM`, `START_WORK_HOUR` ) ) >0,1,0)
|
|
|
+) as DNI_W_PRACY ,
|
|
|
+
|
|
|
+count(ID) as ILOSC_DNI
|
|
|
+
|
|
|
+FROM `GRAFIK_PRACY`
|
|
|
+WHERE 1
|
|
|
+ GROUP BY L_APPOITMENT_USER, YEAR( DATE ) , MONTH( DATE )
|
|
|
+
|
|
|
+";
|
|
|
|
|
|
|
|
|
|