PUNCH.bat 4.2 KB

1234567891011121314151617181920212223242526272829303132
  1. @echo off
  2. call "C:\GlobalCube\Tasks\scripts\config2.bat"
  3. rem ==PUNCH==
  4. del C:\GlobalCube\System\OPTIMA\SQL\logs\PUNCH*.* /Q /F >nul 2>nul
  5. if not "%1"=="" goto :increment
  6. :full
  7. call sql_query.bat "TRUNCATE TABLE [OPTIMA].[import].[PUNCH]"
  8. call bcp_queryout.bat "PUNCH_1" "SELECT T1.[UNIQUE_IDENT], T1.[ACTIVITY_CODE], T1.[PROFILE_CODE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[TRANSACT_DATE_LONG], T1.[START_PUNCH_FUNCTION], T1.[START_PUNCH_PROGRAM], T1.[END_PUNCH_FUNCTION], T1.[END_PUNCH_PROGRAM], T1.[DONE_FOR_DEPARTMENT], T1.[DONE_FOR_WORK_LEADER], T1.[ENDED_PUNCH], T1.[ORDER_NUMBER], T1.[LINE_NUMBER], T1.[START_DATE_TIME], T1.[END_DATE_TIME], T1.[TMCS_IDLE_PUNCH], T1.[DURATION_INT], T1.[USED_TIME_INT], T1.[WAGE_EXTRACTED], T1.[PUNCH_REMARK_CODE], T1.[REMARK_ACCEPTED], T1.[PUNCH_PERIOD_START_ID], T1.[CONV_FLAG], T1.[timestamp], T1.[ORIGINAL_ACTIVITY_CD], T1.[ORIGINAL_ORDER_NR], '1' as [Client_DB] FROM [deop01].[dbo].[PUNCH] T1 WHERE 1 = 1 ORDER BY T1.[timestamp] "
  9. call bcp_in.bat "PUNCH_1" "[import].[PUNCH]" "OPTIMA"
  10. call bcp_queryout.bat "PUNCH_2" "SELECT T1.[UNIQUE_IDENT], T1.[ACTIVITY_CODE], T1.[PROFILE_CODE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[TRANSACT_DATE_LONG], T1.[START_PUNCH_FUNCTION], T1.[START_PUNCH_PROGRAM], T1.[END_PUNCH_FUNCTION], T1.[END_PUNCH_PROGRAM], T1.[DONE_FOR_DEPARTMENT], T1.[DONE_FOR_WORK_LEADER], T1.[ENDED_PUNCH], T1.[ORDER_NUMBER], T1.[LINE_NUMBER], T1.[START_DATE_TIME], T1.[END_DATE_TIME], T1.[TMCS_IDLE_PUNCH], T1.[DURATION_INT], T1.[USED_TIME_INT], T1.[WAGE_EXTRACTED], T1.[PUNCH_REMARK_CODE], T1.[REMARK_ACCEPTED], T1.[PUNCH_PERIOD_START_ID], T1.[CONV_FLAG], T1.[timestamp], T1.[ORIGINAL_ACTIVITY_CD], T1.[ORIGINAL_ORDER_NR], '2' as [Client_DB] FROM [deop02].[dbo].[PUNCH] T1 WHERE 1 = 1 ORDER BY T1.[timestamp] "
  11. call bcp_in.bat "PUNCH_2" "[import].[PUNCH]" "OPTIMA"
  12. goto :cleanup
  13. :increment
  14. call sql_query.bat "TRUNCATE TABLE [OPTIMAX].[temp].[PUNCH]"
  15. call sql_timestamp.bat "PUNCH_1" "[OPTIMA].[import].[PUNCH]" "1"
  16. call bcp_queryout.bat "PUNCH_1" "SELECT T1.[UNIQUE_IDENT], T1.[ACTIVITY_CODE], T1.[PROFILE_CODE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[TRANSACT_DATE_LONG], T1.[START_PUNCH_FUNCTION], T1.[START_PUNCH_PROGRAM], T1.[END_PUNCH_FUNCTION], T1.[END_PUNCH_PROGRAM], T1.[DONE_FOR_DEPARTMENT], T1.[DONE_FOR_WORK_LEADER], T1.[ENDED_PUNCH], T1.[ORDER_NUMBER], T1.[LINE_NUMBER], T1.[START_DATE_TIME], T1.[END_DATE_TIME], T1.[TMCS_IDLE_PUNCH], T1.[DURATION_INT], T1.[USED_TIME_INT], T1.[WAGE_EXTRACTED], T1.[PUNCH_REMARK_CODE], T1.[REMARK_ACCEPTED], T1.[PUNCH_PERIOD_START_ID], T1.[CONV_FLAG], T1.[timestamp], T1.[ORIGINAL_ACTIVITY_CD], T1.[ORIGINAL_ORDER_NR], '1' as [Client_DB] FROM [deop01].[dbo].[PUNCH] T1 WHERE T1.[timestamp] > convert(binary(8), '%TS%', 1) AND 1 = 1 ORDER BY T1.[timestamp] "
  17. call bcp_in.bat "PUNCH_1" "[temp].[PUNCH]" "OPTIMAX"
  18. call sql_timestamp.bat "PUNCH_2" "[OPTIMA].[import].[PUNCH]" "2"
  19. call bcp_queryout.bat "PUNCH_2" "SELECT T1.[UNIQUE_IDENT], T1.[ACTIVITY_CODE], T1.[PROFILE_CODE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[TRANSACT_DATE_LONG], T1.[START_PUNCH_FUNCTION], T1.[START_PUNCH_PROGRAM], T1.[END_PUNCH_FUNCTION], T1.[END_PUNCH_PROGRAM], T1.[DONE_FOR_DEPARTMENT], T1.[DONE_FOR_WORK_LEADER], T1.[ENDED_PUNCH], T1.[ORDER_NUMBER], T1.[LINE_NUMBER], T1.[START_DATE_TIME], T1.[END_DATE_TIME], T1.[TMCS_IDLE_PUNCH], T1.[DURATION_INT], T1.[USED_TIME_INT], T1.[WAGE_EXTRACTED], T1.[PUNCH_REMARK_CODE], T1.[REMARK_ACCEPTED], T1.[PUNCH_PERIOD_START_ID], T1.[CONV_FLAG], T1.[timestamp], T1.[ORIGINAL_ACTIVITY_CD], T1.[ORIGINAL_ORDER_NR], '2' as [Client_DB] FROM [deop02].[dbo].[PUNCH] T1 WHERE T1.[timestamp] > convert(binary(8), '%TS%', 1) AND 1 = 1 ORDER BY T1.[timestamp] "
  20. call bcp_in.bat "PUNCH_2" "[temp].[PUNCH]" "OPTIMAX"
  21. call sql_query.bat "DELETE T1 FROM [OPTIMA].[import].[PUNCH] T1 INNER JOIN [OPTIMAX].[temp].[PUNCH] T2 ON T1.[CLIENT_DB] = T2.[CLIENT_DB] AND T1.[UNIQUE_IDENT] = T2.[UNIQUE_IDENT]"
  22. call sql_query.bat "INSERT INTO [OPTIMA].[import].[PUNCH] with (TABLOCK) SELECT * FROM [OPTIMAX].[temp].[PUNCH] T1"
  23. :cleanup
  24. call delete.bat "C:\GlobalCube\System\OPTIMA\SQL\temp\PUNCH_1.csv"
  25. call delete.bat "C:\GlobalCube\System\OPTIMA\SQL\temp\PUNCH_2.csv"