Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1. #!/bin/env python
  2.  
  3. import pymssql
  4. from datetime import datetime, timedelta
  5.  
  6. conn = pymssql.connect(host = '10.1.1.14',
  7. user = 'test',
  8. password = 'password',
  9. database = 'PDPStdStorage')
  10.  
  11. cursor = conn.cursor()
  12.  
  13. #today = datetime.now()
  14. #today = today.replace(hour = 0, minute = 0, second = 0, microsecond = 0)
  15. #print(today.strftime("%d.%m.%Y"))
  16.  
  17. day = datetime.strptime("20150501", "%Y%m%d")
  18. #print(day.strftime("%d.%m.%Y"))
  19.  
  20. cursor.execute("""
  21. SELECT
  22. [pat].[fam_18565] AS [Фамилия],
  23. [pat].[im_53316] AS [Имя],
  24. [pat].[ot_48206] AS [Отчество],
  25. [pat].[birthday_38523] AS [Родился],
  26. (select name_38263 from PDPStdStorage.dbo.t_sextype_38430 where code_51254 = [pat].[sex_40994]) AS [Пол],
  27. (select name_48562 from PDPStdStorage.dbo.t_socialstatus_09192 where code_25747 = [pat].[socialstatus_59270]) AS [Соц статус],
  28. (select name_51559 from PDPStdStorage.dbo.t_invgroup_33610 where code_50623 = [pat].[invgroup_59187]) AS [Инвалидность],
  29. [pat].[snils_34985] AS [СНИЛС],
  30. [pat].[homephone_02050] AS [дом. Телефон],
  31. [pat].[workphone_39150] AS [раб. Телефон],
  32. [pat].[employmentplace_12520] AS [Место работы],
  33. [pat].[profession_56032] AS [Профессия],
  34. [pat].[position_61591] AS [Должность],
  35. [pat].[created_by] AS [created_by],
  36. [pat].[updatedate_30831] AS [UpdateDate],
  37. [pat].[registrationdate_10831] AS [RegistrationDate]
  38. FROM
  39. PDPStdStorage.dbo.t_patient_10905 AS [pat] LEFT OUTER JOIN PDPStdStorage.dbo.t_patient_59944 AS [op] ON (([pat].[uid] = [op].[patientuid_48245])) AND ([op].version_end = 9223372036854775807) LEFT OUTER JOIN PDPStdStorage.dbo.t_erzvector_05863 AS [v] ON (([v].[code_11880] = [op].[erzvector_07895]))
  40. WHERE
  41. [pat].version_end = 9223372036854775807 AND [pat].[registrationdate_10831] >= """ + "'" + day.strftime("%Y%m%d") + "'" + """
  42. ORDER BY
  43. RegistrationDate;
  44. """)
  45.  
  46. class cell:
  47. day = datetime.now()
  48. counter = 0
  49. def chDay(self, day):
  50. self.day = day
  51. def chCounter(self, counter):
  52. self.counter = counter
  53.  
  54. my_list = []
  55. prevDay = day - timedelta(days = 1)
  56.  
  57. row = cursor.fetchone()
  58. while row:
  59. day = datetime.strptime(str(row[15]), "%Y-%m-%d %H:%M:%S")
  60. day = day.replace(hour = 0, minute = 0, second = 0, microsecond = 0)
  61. deltaDays = (day-prevDay).days
  62. if day != prevDay:
  63. if deltaDays > 1:
  64. while deltaDays > 1:
  65. deltaDays -= 1
  66. new_cell = cell()
  67. new_cell.chDay(day - timedelta(days=deltaDays))
  68. my_list.append(new_cell)
  69. new_cell = cell()
  70. new_cell.chDay(day)
  71. new_cell.chCounter(1)
  72. my_list.append(new_cell)
  73. else:
  74. my_list[-1].chCounter(my_list[-1].counter + 1)
  75. prevDay = day
  76. row = cursor.fetchone()
  77.  
  78. conn.close()
  79.  
  80. i = iter(my_list)
  81. for c in i:
  82. if c.day.weekday() > 4:
  83. continue
  84. print('{0:2} {1:20s}'.format(c.counter, c.day.strftime("%d.%m.%Y")))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement