Проект

Общее

Профиль

Улучшение #1850 » Ввод новых таблиц.txt

Сергей Потапов, 18.07.2024 10:53

 
1
CREATE TABLE dbo.Accruals (
2
  ID 					BIGINT IDENTITY		- ИД
3
 ,IDPersonalAccount 	BIGINT				- ЛС
4
 ,IDAddressAddit 		BIGINT?				- Код доп постройки
5
 ,IDParameterAddit		TINYINT 			- Дополнительный параметр					(=ParameterAddit.ID) 
6
 ,IDOrgContract 		INT?				- Код договора
7
 ,IDManagementCompany 	INT?				- Код упр компании
8
 ,IDService 			INT					- Код услуги
9
 ,IDBoiler 				BIGINT?				- Котельная
10
-- ,IDStandartVolume	INT					- Код благоустройства
11
 ,DateBegin 			DATE				- Дата начисления с 						(диапазон в пределах кокретного месяца)
12
 ,DateEnd 				DATE				- Дата начисления по
13
-- ,Volume 				DECIMAL(18, 3)		- Объем
14
 ,Tariff 				DECIMAL(18, 2)		- Тарифы
15
 ,TariffEOT 			DECIMAL(18, 2)
16
 ,Amount 				DECIMAL(18, 2)		- Сумма
17
 ,DateDel				SMALLDATETIME		- Пометка удаления записи
18
) ON [PRIMARY]
19

    
20
Пояснения по IDParameterAddit:
21
Сейчас в текущей Квартплате в зависимости от номера услуги следующая информация:
22
(Коды услуг) - (Информация)
23
2,22,55 - этажность (основного помещения либо доп. постройки)
24
3,49,56,57 - вид г/воды spr..spr_gvoda (сначало берется с квартиры adres если null то с дома houses)
25
46,50 (одн) - вид г/воды spr..spr_gvoda (с дома houses)
26
5 - вид канализации (spr..spr_kan)
27

    
28
Но по перерасчетам также меняются: Тарифы, объем услуги, площадь помещения, код благоустройства, кол-во проживающих, смена котельной, поставщика и управляющей компании.
29

    
30
CREATE TABLE dbo.ParameterAddit	(
31
 ID 					BIGINT				- ИД	(=Accruals.IDParameterAddit или =Recalculation.IDParameterAddit)
32
 ,IDType				TYNYINT				- (=ParameterAdditType.ID)
33
 ,IDParameter			FLOAT				- Дополнительный параметр
34
) ON [PRIMARY]
35

    
36
CREATE TABLE dbo.ParameterAdditType	(
37
 ID 					BIGINT IDENTITY		- ИД
38
 Name					VARCHAR(100)		- Наименования дополнительного параметра
39
) ON [PRIMARY]
40

    
41
Итого:
42
1) Добавляем новые таблицы
43
2) Добавляем IDParameterAddit, Tariff, TariffEOT, IDBoiler, IDOrgContract, IDManagementCompany в Recalculation
44
3) Убираем Volume из Accruals так как он расчитывается из значений что уже есть: Volume=round((Amount/tariff),6)
45
4) Убираем IDStandartVolume из Accruals. Теперь он будет в ParameterAddit.
46

    
47
Итого в ParameterAddit следующие параметры:
48
1) Этажность
49
2) вид воды
50
3) вид канализации
51
4) площадь помещения
52
5) код благоустройства
53
6) кол-во проживающих
54

    
55
CREATE TABLE dbo.Recalculation (
56
  ID 					BIGINT IDENTITY		- ИД										
57
 ,IDAccruals			BIGINT				- (=Accruals.ID)
58
 ,IDUser 				BIGINT(?)			- код пользователя
59
 ,IDCashBox 			INT					- код кассы
60
 ,IDOrgContract 		INT?				- Код договора
61
 ,IDManagementCompany 	INT?				- Код упр компании
62
 ,IDBoiler 				BIGINT?				- Котельная
63
 ,IDTypeRecalculation	SMALLINT			- Тип перерасчета
64
 ,IDParameterAddit		TINYINT 			- Дополнительный параметр					(=ParameterAddit.ID) 
65
 ,DateRecalculation 	DATE				- Дата перерасчета
66
 ,Tariff 				DECIMAL(18, 2)		- Тарифы
67
 ,TariffEOT 			DECIMAL(18, 2)
68
 ,Amount 				DECIMAL(18, 2)		- Сумма
69
 ,DateDel				SMALLDATETIME
70
) ON [PRIMARY]
71

    
72
-------------------------------------------------------------------------------
73

    
74
CREATE TABLE dbo.Debt	(
75
 ID 					BIGINT IDENTITY		- ИД
76
 ,IDAccruals 			BIGINT 				- (=Accruals.ID)
77
 ,IDDebtContract		BIGINT				- Код документа ПИР
78
 ,Proportion 			TINYINT				- Доля в процентах
79
 ,DateDel				SMALLDATETIME		- Пометка удаления записи
80
) ON [PRIMARY]
81

    
82
CREATE TABLE dbo.Balance (																(Записи этой таблицы обязательно должны присутствовать для каждой записи из Accruals)
83
  ID 					BIGINT UNIQUE		- ИД										(=Accruals.ID)
84
 ,Saldo					DECIMAL(18, 2)		- Сальдо на начало расчетного периода		(перерасчитывается при корректировках)
85
 ,Saldo10				DECIMAL(18, 2)		- Сальдо на 10-е число текущего месяца		(он же кредит или аванс, не меняется, нужен для ФЗ54)
86
 ,AmountFine			DECIMAL(18, 2)		- Пени										(Перерасчитываются каждое 10 число, при корректировках и операциях с оплатами. В случае ПИР перерасчитываются только при опалатх ПИР.)
87
) ON [PRIMARY]
88

    
89
CREATE TABLE dbo.Receipts (
90
  ID 					BIGINT IDENTITY
91
 ,IDPersonalAccount 	BIGINT				- ЛС
92
 ,IDAddressAddit 		BIGINT				- Код доп постройки
93
 ,IDDebtContract 		BIGINT				- Код документа ПИР
94
 ,IDUser 				BIGINT(?)			- код пользователя
95
 ,IDCashBox 			INT					- код кассы
96
 ,IDOrgContract 		BIGINT				- Аналог поставщика (ИД контракта привязанного к конкретному контрагенту с услугами)
97
 ,IDManagementCompany 	INT					- Код управляющей организации
98
 ,IDService 			INT					- Код услуги
99
 ,IDType 				INT					- Вид платежа (приход, расход, перенос, сторно)
100
 ,IDMoneyType 			INT					- Вид денег
101
 ,Number 				BIGINT				- Номер квитанции
102
 ,PaymentDate 			DATETIME			- Дата платежа
103
 ,DateBegin 			DATE				- Периоды оплаты в пределах календарного месяца
104
 ,DateEnd 				DATE				- 
105
 ,RepaymentNumber 		BIGINT				- Номер сторно или переноса (технически надежней RepaymentNumber=ID сторно или переноса)
106
 ,Amount 				DECIMAL(18, 2)		- Сумма платежа
107
 ,AmountFine 			DECIMAL(18, 2)		- Сума пени
108
 ,AmountStateDuty 		DECIMAL(18, 2)		- Гос пошлина
109
-- Поля необходимые по ФЗ54
110
      ,DecOldSaldo					DECIMAL(18, 2)		- оплата старых долгов
111
      ,DecCredit					DECIMAL(18, 2)		- размер уменьшения кредита
112
      ,Prepayment					DECIMAL(18, 2)		- размер предоплаты (кредит не закрыт)
113
      ,Prepayment100				DECIMAL(18, 2)		- размер предоплаты 100% (кредит закрыт полностью)
114
 ----------------
115
 ,Note 					NVARCHAR(500)		- Поле для примечаний
116
 ,DateDel				SMALLDATETIME		- Пометка удаления записи
117
) ON [PRIMARY]
118

    
119
CREATE TABLE dbo.Clearance (
120
  ID 					BIGINT IDENTITY		- ИД
121
 ,IDReceipts			BIGINT				- (=Receipts.ID)
122
 ,DateOperation			DATETIME			- Дата гашения
123
 ,Number				BIGINT				- Номер гашения
124
 ,DateDel				SMALLDATETIME		- Пометка удаления записи
125
) ON [PRIMARY]
126

    
127
Откуда можно взять свежие данные:
128
начисления
129
kv2024.dbo.otchet_nach
130
  code 					IDAddressAddit
131
 ,kod_Adres 			IDPersonalAccount
132
 ,kod_uslugi 			IDService
133
 ,kod_postav 			IDOrgContract
134
 ,self 					IDManagementCompany
135
 ,kot 					IDBoiler
136
 ,gvoda 				IDParameterAddit
137
 ,id_volume 			IDStandartVolume
138
 ,mes 					DateBegin DateEnd
139
 ,tarif 				Tariff
140
 ,eot 					TariffEOT
141
 ,volume 				Volume
142
 ,summa 				Amount
143

    
144
kv2024.dbo.saldo_a
145
  code 					
146
 ,kod_adres 			
147
 ,kod_uslugi 			
148
 ,kod_postav 			
149
 ,self 					
150
 ,data_s 				
151
 ,summa 				Saldo
152
 ,mes
153
 
154
kv2024.dbo.post_a (
155
  no_kv 				Number
156
 ,code 					IDAddressAddit
157
 ,kod_adres 			IDPersonalAccount
158
 ,kod_uslugi 			IDService
159
 ,vid_deneg 			IDMoneyType
160
 ,kod_postav 			IDOrgContract
161
 ,self 					IDManagementCompany
162
 ,summa 				Amount
163
 ,peni 					AmountFine
164
 ,data_opl 				PaymentDate
165
 ,data_gash 			Clearance.DateOperation
166
 ,kod_operator 			IDUser
167
 ,kod_kassa 			IDCashBox
168
 ,mes_n 				DateBegin
169
 ,god_n 				
170
 ,mes_e 				DateEnd
171
 ,god_e 				
172
 ,no_gash 				Clearance.Number
173
 ,prim 					Note
174
 ,mes 					
(7-7/8)