Alterado end point api/v1/delivery/schedule para mostrar a capacidade e saldo da capacidade com 3 casas decimais e criado peso adicional para mostrar a data de entrega na abertura da venda

This commit is contained in:
eduardoestevao-appsoluti 2025-03-11 17:16:05 -03:00
parent 62f4c767dd
commit 0936c239b9
180 changed files with 18502 additions and 18441 deletions

View File

@ -1,55 +1,55 @@
CERTIFICADO PARA DESENVOLVIMENTO
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIUbexM37zIhdxNpGtug6DDveiB1OIwDQYJKoZIhvcNAQEL
BQAwgagxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZGZsYXJlLCBJbmMuMRswGQYD
VQQLExJ3d3cuY2xvdWRmbGFyZS5jb20xNDAyBgNVBAMTK01hbmFnZWQgQ0EgNjIz
Y2ExZTBlOTBmOTExODYyMzNiZWY5YjgyNzQ1MDMwHhcNMjMwMTE5MjIwNjAwWhcN
MzMwMTE2MjIwNjAwWjAiMQswCQYDVQQGEwJVUzETMBEGA1UEAxMKQ2xvdWRmbGFy
ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALu92p81Ko0xqfHyBiOA
iGsL1H2TeBZOtgKAmCe8VN2n46qW28DCafEQazNBxt7foshXDhTVG5v3YHxejI/4
08vNwRmLKt70v7DmvVKQeSNULElqfQsnxdraSET4ifAQmKJwOCCCReDcczDKM5Vw
+7UHkhe6XsW3vksjPwXKjFKahuqh7ElcygF6BPn+5Dt7hTxO/46KToR38kwZhM4V
PY36/VO3TbVjYon/2zFFZN2CwHQgTTN0n/0T3vx43ro2xb5JpwmLH/2eXLumrhPt
UBfdlG5wtvdMtbHqA3cHJ1V6KlO5RoQ9+KxRF+vVnznJ9ezxV62yJ3APx0SFl2Ol
LksCAwEAAaOBuzCBuDATBgNVHSUEDDAKBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAA
MB0GA1UdDgQWBBTwH+TXvR3mDFGcrPUuLqtSFY07dzAfBgNVHSMEGDAWgBTtBVpV
QSpTHII2bTGykCpX4D47YDBTBgNVHR8ETDBKMEigRqBEhkJodHRwOi8vY3JsLmNs
b3VkZmxhcmUuY29tLzVjMGQwODU4LTdkZTItNDI3Yi04ZjBkLWI3ZDEwNzBmYzJi
OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAJvkt9PbJp00sFSXKUgrSIDfT2F0f0Ki
3xonEOETCJUf6WeoWggC9XFISnHt+T9yPUEffCpvd+uFc253rzEhkmUN78ZuWddc
2MTrkFybLL77g0xN6pdreq1o3KWCTUzF90b7sqPbgGsoR/QRuJw/UJlsw0ZzJCKB
UF0RGm5SYRtNefRETtxE/Zg1xK9dmvryXznSiVyzrLu+rWUmwtKuBXp8u0VPb4i5
S1pfILuOccJSkbQV2qBEYb4MOS3jUb73/LWwZXJqVF+yLGrWxjrMmg1FAe3X9mdb
XEbe8Def0xGNh87vqpi3aYTGJeOlgRMwJtseKkAWeg8k1v9Zbg5bDyk=
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7vdqfNSqNManx
8gYjgIhrC9R9k3gWTrYCgJgnvFTdp+OqltvAwmnxEGszQcbe36LIVw4U1Rub92B8
XoyP+NPLzcEZiyre9L+w5r1SkHkjVCxJan0LJ8Xa2khE+InwEJiicDgggkXg3HMw
yjOVcPu1B5IXul7Ft75LIz8FyoxSmobqoexJXMoBegT5/uQ7e4U8Tv+Oik6Ed/JM
GYTOFT2N+v1Tt021Y2KJ/9sxRWTdgsB0IE0zdJ/9E978eN66NsW+SacJix/9nly7
pq4T7VAX3ZRucLb3TLWx6gN3BydVeipTuUaEPfisURfr1Z85yfXs8VetsidwD8dE
hZdjpS5LAgMBAAECggEADx6lIrlHagOb6i5RrD5Hvkc/n7VmsHU6V00/88NJGmjQ
/wYTQJznp1BpMcGUYJKmK3hHXAolpRPxI1MCAv5JIFq7uHDqzPXtEjQi/yk/eEbp
Iih/VYyodI2r0FIr2becc0iSXJvhQNDAPieqq9hjjRrE+0A5Lbc0jhySkMbVMjm4
KDWhvWO67BpiFRQXMKMM+VpJ7v63Z3XTAbEE00p+799I3S2EEfZo3pAaMlJ0QQev
6tN+Gsvqmxe5764r7Y6zMEEtJrcMMx/OBIrdaDB77/AtCuWZZUvyU9kRg0LMvRDQ
+gSCcoum4XnlzbQI8ldUNkdddzXhAKXqH5599IzY4QKBgQD0/g629+EQjKSgFxb0
1HpMm4pYNU6fyVFIoZ36kcyz0X6XlxI8ZJil8iB0jgjGSX2ujvC3ChpF242XKnC3
iTBZOCl9YcCwmV9kSvjeOn5OCEShkHXnZ413kt7lld4K/kI03Pd2QbWhkpqrr92g
aM2Q+HEXRTxQwyoaHdkCmEaaMwKBgQDELUnftYXMSKHf6qh63MJIa6T3m43T4D6y
nTEDk1S/8ez8dmTJ8bPNha9xYoB++qfM/uvUt3di0AXkIGhnCO5UhFygZYaVUBGE
HNKUbiZYFczlhnLj/IXuGdWZpM6zYuGGKDTwBt5pq8Q7jm6aTKff+nBa3OZbEEjH
jzecssmziQKBgCoiM1emQ8+70Ggz8F/E1w+rxFwtNstmLROHsAqy3niic9oQQjOe
vV30yT4iW0H2y6WksaNZGnGfM7emteHqtyTw8rm8gQ4eIni2KBzYBHbZFyyOEqjs
dzj0Sl9Dqf9MAQjkY66z2E/kTbNvOHdo7sma4KA26QuetPPu5C59D89fAoGAZ6F0
8NQ3Rd7ohBy1u5F6oD8c+iAWH+LJvBkFl1nw3ySxh/wS6grgbKU+NKtQLcPDeKsB
cXEpg+1X71afUC6Ll+ID/EclfSK63gtLwlUdtFJv1p/beUwgg9Lp3ywMdP67G9+J
d3Jpc3DlTIDFNIVh+ROW3qjqlxhXGfQx8HkRy+ECgYAhvnnhd4P5hGZz4bq8/K7f
7ZcA1n+KSbqVlGwnyQengo4ITDdzrmDg+A5ThJhyBMo0KOCzgDQEyCrZ2BKJgRCs
AUSjfnqp68PSt4x7QEHnqwOVZi9CdriGYEv9ytelGIBXYrkoWCCHnCdp5SfeQLbV
kGEVeKv7JveS3C6gDNo9uA==
-----END PRIVATE KEY-----
CERTIFICADO PARA DESENVOLVIMENTO
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIUbexM37zIhdxNpGtug6DDveiB1OIwDQYJKoZIhvcNAQEL
BQAwgagxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZGZsYXJlLCBJbmMuMRswGQYD
VQQLExJ3d3cuY2xvdWRmbGFyZS5jb20xNDAyBgNVBAMTK01hbmFnZWQgQ0EgNjIz
Y2ExZTBlOTBmOTExODYyMzNiZWY5YjgyNzQ1MDMwHhcNMjMwMTE5MjIwNjAwWhcN
MzMwMTE2MjIwNjAwWjAiMQswCQYDVQQGEwJVUzETMBEGA1UEAxMKQ2xvdWRmbGFy
ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALu92p81Ko0xqfHyBiOA
iGsL1H2TeBZOtgKAmCe8VN2n46qW28DCafEQazNBxt7foshXDhTVG5v3YHxejI/4
08vNwRmLKt70v7DmvVKQeSNULElqfQsnxdraSET4ifAQmKJwOCCCReDcczDKM5Vw
+7UHkhe6XsW3vksjPwXKjFKahuqh7ElcygF6BPn+5Dt7hTxO/46KToR38kwZhM4V
PY36/VO3TbVjYon/2zFFZN2CwHQgTTN0n/0T3vx43ro2xb5JpwmLH/2eXLumrhPt
UBfdlG5wtvdMtbHqA3cHJ1V6KlO5RoQ9+KxRF+vVnznJ9ezxV62yJ3APx0SFl2Ol
LksCAwEAAaOBuzCBuDATBgNVHSUEDDAKBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAA
MB0GA1UdDgQWBBTwH+TXvR3mDFGcrPUuLqtSFY07dzAfBgNVHSMEGDAWgBTtBVpV
QSpTHII2bTGykCpX4D47YDBTBgNVHR8ETDBKMEigRqBEhkJodHRwOi8vY3JsLmNs
b3VkZmxhcmUuY29tLzVjMGQwODU4LTdkZTItNDI3Yi04ZjBkLWI3ZDEwNzBmYzJi
OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAJvkt9PbJp00sFSXKUgrSIDfT2F0f0Ki
3xonEOETCJUf6WeoWggC9XFISnHt+T9yPUEffCpvd+uFc253rzEhkmUN78ZuWddc
2MTrkFybLL77g0xN6pdreq1o3KWCTUzF90b7sqPbgGsoR/QRuJw/UJlsw0ZzJCKB
UF0RGm5SYRtNefRETtxE/Zg1xK9dmvryXznSiVyzrLu+rWUmwtKuBXp8u0VPb4i5
S1pfILuOccJSkbQV2qBEYb4MOS3jUb73/LWwZXJqVF+yLGrWxjrMmg1FAe3X9mdb
XEbe8Def0xGNh87vqpi3aYTGJeOlgRMwJtseKkAWeg8k1v9Zbg5bDyk=
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7vdqfNSqNManx
8gYjgIhrC9R9k3gWTrYCgJgnvFTdp+OqltvAwmnxEGszQcbe36LIVw4U1Rub92B8
XoyP+NPLzcEZiyre9L+w5r1SkHkjVCxJan0LJ8Xa2khE+InwEJiicDgggkXg3HMw
yjOVcPu1B5IXul7Ft75LIz8FyoxSmobqoexJXMoBegT5/uQ7e4U8Tv+Oik6Ed/JM
GYTOFT2N+v1Tt021Y2KJ/9sxRWTdgsB0IE0zdJ/9E978eN66NsW+SacJix/9nly7
pq4T7VAX3ZRucLb3TLWx6gN3BydVeipTuUaEPfisURfr1Z85yfXs8VetsidwD8dE
hZdjpS5LAgMBAAECggEADx6lIrlHagOb6i5RrD5Hvkc/n7VmsHU6V00/88NJGmjQ
/wYTQJznp1BpMcGUYJKmK3hHXAolpRPxI1MCAv5JIFq7uHDqzPXtEjQi/yk/eEbp
Iih/VYyodI2r0FIr2becc0iSXJvhQNDAPieqq9hjjRrE+0A5Lbc0jhySkMbVMjm4
KDWhvWO67BpiFRQXMKMM+VpJ7v63Z3XTAbEE00p+799I3S2EEfZo3pAaMlJ0QQev
6tN+Gsvqmxe5764r7Y6zMEEtJrcMMx/OBIrdaDB77/AtCuWZZUvyU9kRg0LMvRDQ
+gSCcoum4XnlzbQI8ldUNkdddzXhAKXqH5599IzY4QKBgQD0/g629+EQjKSgFxb0
1HpMm4pYNU6fyVFIoZ36kcyz0X6XlxI8ZJil8iB0jgjGSX2ujvC3ChpF242XKnC3
iTBZOCl9YcCwmV9kSvjeOn5OCEShkHXnZ413kt7lld4K/kI03Pd2QbWhkpqrr92g
aM2Q+HEXRTxQwyoaHdkCmEaaMwKBgQDELUnftYXMSKHf6qh63MJIa6T3m43T4D6y
nTEDk1S/8ez8dmTJ8bPNha9xYoB++qfM/uvUt3di0AXkIGhnCO5UhFygZYaVUBGE
HNKUbiZYFczlhnLj/IXuGdWZpM6zYuGGKDTwBt5pq8Q7jm6aTKff+nBa3OZbEEjH
jzecssmziQKBgCoiM1emQ8+70Ggz8F/E1w+rxFwtNstmLROHsAqy3niic9oQQjOe
vV30yT4iW0H2y6WksaNZGnGfM7emteHqtyTw8rm8gQ4eIni2KBzYBHbZFyyOEqjs
dzj0Sl9Dqf9MAQjkY66z2E/kTbNvOHdo7sma4KA26QuetPPu5C59D89fAoGAZ6F0
8NQ3Rd7ohBy1u5F6oD8c+iAWH+LJvBkFl1nw3ySxh/wS6grgbKU+NKtQLcPDeKsB
cXEpg+1X71afUC6Ll+ID/EclfSK63gtLwlUdtFJv1p/beUwgg9Lp3ywMdP67G9+J
d3Jpc3DlTIDFNIVh+ROW3qjqlxhXGfQx8HkRy+ECgYAhvnnhd4P5hGZz4bq8/K7f
7ZcA1n+KSbqVlGwnyQengo4ITDdzrmDg+A5ThJhyBMo0KOCzgDQEyCrZ2BKJgRCs
AUSjfnqp68PSt4x7QEHnqwOVZi9CdriGYEv9ytelGIBXYrkoWCCHnCdp5SfeQLbV
kGEVeKv7JveS3C6gDNo9uA==
-----END PRIVATE KEY-----

View File

@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7vdqfNSqNManx
8gYjgIhrC9R9k3gWTrYCgJgnvFTdp+OqltvAwmnxEGszQcbe36LIVw4U1Rub92B8
XoyP+NPLzcEZiyre9L+w5r1SkHkjVCxJan0LJ8Xa2khE+InwEJiicDgggkXg3HMw
yjOVcPu1B5IXul7Ft75LIz8FyoxSmobqoexJXMoBegT5/uQ7e4U8Tv+Oik6Ed/JM
GYTOFT2N+v1Tt021Y2KJ/9sxRWTdgsB0IE0zdJ/9E978eN66NsW+SacJix/9nly7
pq4T7VAX3ZRucLb3TLWx6gN3BydVeipTuUaEPfisURfr1Z85yfXs8VetsidwD8dE
hZdjpS5LAgMBAAECggEADx6lIrlHagOb6i5RrD5Hvkc/n7VmsHU6V00/88NJGmjQ
/wYTQJznp1BpMcGUYJKmK3hHXAolpRPxI1MCAv5JIFq7uHDqzPXtEjQi/yk/eEbp
Iih/VYyodI2r0FIr2becc0iSXJvhQNDAPieqq9hjjRrE+0A5Lbc0jhySkMbVMjm4
KDWhvWO67BpiFRQXMKMM+VpJ7v63Z3XTAbEE00p+799I3S2EEfZo3pAaMlJ0QQev
6tN+Gsvqmxe5764r7Y6zMEEtJrcMMx/OBIrdaDB77/AtCuWZZUvyU9kRg0LMvRDQ
+gSCcoum4XnlzbQI8ldUNkdddzXhAKXqH5599IzY4QKBgQD0/g629+EQjKSgFxb0
1HpMm4pYNU6fyVFIoZ36kcyz0X6XlxI8ZJil8iB0jgjGSX2ujvC3ChpF242XKnC3
iTBZOCl9YcCwmV9kSvjeOn5OCEShkHXnZ413kt7lld4K/kI03Pd2QbWhkpqrr92g
aM2Q+HEXRTxQwyoaHdkCmEaaMwKBgQDELUnftYXMSKHf6qh63MJIa6T3m43T4D6y
nTEDk1S/8ez8dmTJ8bPNha9xYoB++qfM/uvUt3di0AXkIGhnCO5UhFygZYaVUBGE
HNKUbiZYFczlhnLj/IXuGdWZpM6zYuGGKDTwBt5pq8Q7jm6aTKff+nBa3OZbEEjH
jzecssmziQKBgCoiM1emQ8+70Ggz8F/E1w+rxFwtNstmLROHsAqy3niic9oQQjOe
vV30yT4iW0H2y6WksaNZGnGfM7emteHqtyTw8rm8gQ4eIni2KBzYBHbZFyyOEqjs
dzj0Sl9Dqf9MAQjkY66z2E/kTbNvOHdo7sma4KA26QuetPPu5C59D89fAoGAZ6F0
8NQ3Rd7ohBy1u5F6oD8c+iAWH+LJvBkFl1nw3ySxh/wS6grgbKU+NKtQLcPDeKsB
cXEpg+1X71afUC6Ll+ID/EclfSK63gtLwlUdtFJv1p/beUwgg9Lp3ywMdP67G9+J
d3Jpc3DlTIDFNIVh+ROW3qjqlxhXGfQx8HkRy+ECgYAhvnnhd4P5hGZz4bq8/K7f
7ZcA1n+KSbqVlGwnyQengo4ITDdzrmDg+A5ThJhyBMo0KOCzgDQEyCrZ2BKJgRCs
AUSjfnqp68PSt4x7QEHnqwOVZi9CdriGYEv9ytelGIBXYrkoWCCHnCdp5SfeQLbV
kGEVeKv7JveS3C6gDNo9uA==
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7vdqfNSqNManx
8gYjgIhrC9R9k3gWTrYCgJgnvFTdp+OqltvAwmnxEGszQcbe36LIVw4U1Rub92B8
XoyP+NPLzcEZiyre9L+w5r1SkHkjVCxJan0LJ8Xa2khE+InwEJiicDgggkXg3HMw
yjOVcPu1B5IXul7Ft75LIz8FyoxSmobqoexJXMoBegT5/uQ7e4U8Tv+Oik6Ed/JM
GYTOFT2N+v1Tt021Y2KJ/9sxRWTdgsB0IE0zdJ/9E978eN66NsW+SacJix/9nly7
pq4T7VAX3ZRucLb3TLWx6gN3BydVeipTuUaEPfisURfr1Z85yfXs8VetsidwD8dE
hZdjpS5LAgMBAAECggEADx6lIrlHagOb6i5RrD5Hvkc/n7VmsHU6V00/88NJGmjQ
/wYTQJznp1BpMcGUYJKmK3hHXAolpRPxI1MCAv5JIFq7uHDqzPXtEjQi/yk/eEbp
Iih/VYyodI2r0FIr2becc0iSXJvhQNDAPieqq9hjjRrE+0A5Lbc0jhySkMbVMjm4
KDWhvWO67BpiFRQXMKMM+VpJ7v63Z3XTAbEE00p+799I3S2EEfZo3pAaMlJ0QQev
6tN+Gsvqmxe5764r7Y6zMEEtJrcMMx/OBIrdaDB77/AtCuWZZUvyU9kRg0LMvRDQ
+gSCcoum4XnlzbQI8ldUNkdddzXhAKXqH5599IzY4QKBgQD0/g629+EQjKSgFxb0
1HpMm4pYNU6fyVFIoZ36kcyz0X6XlxI8ZJil8iB0jgjGSX2ujvC3ChpF242XKnC3
iTBZOCl9YcCwmV9kSvjeOn5OCEShkHXnZ413kt7lld4K/kI03Pd2QbWhkpqrr92g
aM2Q+HEXRTxQwyoaHdkCmEaaMwKBgQDELUnftYXMSKHf6qh63MJIa6T3m43T4D6y
nTEDk1S/8ez8dmTJ8bPNha9xYoB++qfM/uvUt3di0AXkIGhnCO5UhFygZYaVUBGE
HNKUbiZYFczlhnLj/IXuGdWZpM6zYuGGKDTwBt5pq8Q7jm6aTKff+nBa3OZbEEjH
jzecssmziQKBgCoiM1emQ8+70Ggz8F/E1w+rxFwtNstmLROHsAqy3niic9oQQjOe
vV30yT4iW0H2y6WksaNZGnGfM7emteHqtyTw8rm8gQ4eIni2KBzYBHbZFyyOEqjs
dzj0Sl9Dqf9MAQjkY66z2E/kTbNvOHdo7sma4KA26QuetPPu5C59D89fAoGAZ6F0
8NQ3Rd7ohBy1u5F6oD8c+iAWH+LJvBkFl1nw3ySxh/wS6grgbKU+NKtQLcPDeKsB
cXEpg+1X71afUC6Ll+ID/EclfSK63gtLwlUdtFJv1p/beUwgg9Lp3ywMdP67G9+J
d3Jpc3DlTIDFNIVh+ROW3qjqlxhXGfQx8HkRy+ECgYAhvnnhd4P5hGZz4bq8/K7f
7ZcA1n+KSbqVlGwnyQengo4ITDdzrmDg+A5ThJhyBMo0KOCzgDQEyCrZ2BKJgRCs
AUSjfnqp68PSt4x7QEHnqwOVZi9CdriGYEv9ytelGIBXYrkoWCCHnCdp5SfeQLbV
kGEVeKv7JveS3C6gDNo9uA==
-----END PRIVATE KEY-----

View File

@ -1,24 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIUbexM37zIhdxNpGtug6DDveiB1OIwDQYJKoZIhvcNAQEL
BQAwgagxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZGZsYXJlLCBJbmMuMRswGQYD
VQQLExJ3d3cuY2xvdWRmbGFyZS5jb20xNDAyBgNVBAMTK01hbmFnZWQgQ0EgNjIz
Y2ExZTBlOTBmOTExODYyMzNiZWY5YjgyNzQ1MDMwHhcNMjMwMTE5MjIwNjAwWhcN
MzMwMTE2MjIwNjAwWjAiMQswCQYDVQQGEwJVUzETMBEGA1UEAxMKQ2xvdWRmbGFy
ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALu92p81Ko0xqfHyBiOA
iGsL1H2TeBZOtgKAmCe8VN2n46qW28DCafEQazNBxt7foshXDhTVG5v3YHxejI/4
08vNwRmLKt70v7DmvVKQeSNULElqfQsnxdraSET4ifAQmKJwOCCCReDcczDKM5Vw
+7UHkhe6XsW3vksjPwXKjFKahuqh7ElcygF6BPn+5Dt7hTxO/46KToR38kwZhM4V
PY36/VO3TbVjYon/2zFFZN2CwHQgTTN0n/0T3vx43ro2xb5JpwmLH/2eXLumrhPt
UBfdlG5wtvdMtbHqA3cHJ1V6KlO5RoQ9+KxRF+vVnznJ9ezxV62yJ3APx0SFl2Ol
LksCAwEAAaOBuzCBuDATBgNVHSUEDDAKBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAA
MB0GA1UdDgQWBBTwH+TXvR3mDFGcrPUuLqtSFY07dzAfBgNVHSMEGDAWgBTtBVpV
QSpTHII2bTGykCpX4D47YDBTBgNVHR8ETDBKMEigRqBEhkJodHRwOi8vY3JsLmNs
b3VkZmxhcmUuY29tLzVjMGQwODU4LTdkZTItNDI3Yi04ZjBkLWI3ZDEwNzBmYzJi
OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAJvkt9PbJp00sFSXKUgrSIDfT2F0f0Ki
3xonEOETCJUf6WeoWggC9XFISnHt+T9yPUEffCpvd+uFc253rzEhkmUN78ZuWddc
2MTrkFybLL77g0xN6pdreq1o3KWCTUzF90b7sqPbgGsoR/QRuJw/UJlsw0ZzJCKB
UF0RGm5SYRtNefRETtxE/Zg1xK9dmvryXznSiVyzrLu+rWUmwtKuBXp8u0VPb4i5
S1pfILuOccJSkbQV2qBEYb4MOS3jUb73/LWwZXJqVF+yLGrWxjrMmg1FAe3X9mdb
XEbe8Def0xGNh87vqpi3aYTGJeOlgRMwJtseKkAWeg8k1v9Zbg5bDyk=
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIUbexM37zIhdxNpGtug6DDveiB1OIwDQYJKoZIhvcNAQEL
BQAwgagxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZGZsYXJlLCBJbmMuMRswGQYD
VQQLExJ3d3cuY2xvdWRmbGFyZS5jb20xNDAyBgNVBAMTK01hbmFnZWQgQ0EgNjIz
Y2ExZTBlOTBmOTExODYyMzNiZWY5YjgyNzQ1MDMwHhcNMjMwMTE5MjIwNjAwWhcN
MzMwMTE2MjIwNjAwWjAiMQswCQYDVQQGEwJVUzETMBEGA1UEAxMKQ2xvdWRmbGFy
ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALu92p81Ko0xqfHyBiOA
iGsL1H2TeBZOtgKAmCe8VN2n46qW28DCafEQazNBxt7foshXDhTVG5v3YHxejI/4
08vNwRmLKt70v7DmvVKQeSNULElqfQsnxdraSET4ifAQmKJwOCCCReDcczDKM5Vw
+7UHkhe6XsW3vksjPwXKjFKahuqh7ElcygF6BPn+5Dt7hTxO/46KToR38kwZhM4V
PY36/VO3TbVjYon/2zFFZN2CwHQgTTN0n/0T3vx43ro2xb5JpwmLH/2eXLumrhPt
UBfdlG5wtvdMtbHqA3cHJ1V6KlO5RoQ9+KxRF+vVnznJ9ezxV62yJ3APx0SFl2Ol
LksCAwEAAaOBuzCBuDATBgNVHSUEDDAKBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAA
MB0GA1UdDgQWBBTwH+TXvR3mDFGcrPUuLqtSFY07dzAfBgNVHSMEGDAWgBTtBVpV
QSpTHII2bTGykCpX4D47YDBTBgNVHR8ETDBKMEigRqBEhkJodHRwOi8vY3JsLmNs
b3VkZmxhcmUuY29tLzVjMGQwODU4LTdkZTItNDI3Yi04ZjBkLWI3ZDEwNzBmYzJi
OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAJvkt9PbJp00sFSXKUgrSIDfT2F0f0Ki
3xonEOETCJUf6WeoWggC9XFISnHt+T9yPUEffCpvd+uFc253rzEhkmUN78ZuWddc
2MTrkFybLL77g0xN6pdreq1o3KWCTUzF90b7sqPbgGsoR/QRuJw/UJlsw0ZzJCKB
UF0RGm5SYRtNefRETtxE/Zg1xK9dmvryXznSiVyzrLu+rWUmwtKuBXp8u0VPb4i5
S1pfILuOccJSkbQV2qBEYb4MOS3jUb73/LWwZXJqVF+yLGrWxjrMmg1FAe3X9mdb
XEbe8Def0xGNh87vqpi3aYTGJeOlgRMwJtseKkAWeg8k1v9Zbg5bDyk=
-----END CERTIFICATE-----

View File

@ -1,8 +1,8 @@
select '@Column({ name: '''||column_name||''' })'||CHR(13)||
LOWER(column_name)||': '||
case when user_tab_columns.data_type = 'NUMBER' then 'number;'
when user_tab_columns.data_type = 'DATE' then 'Date;'
else 'string;' END ||CHR(13)
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'PCPEDITEMP'
order by user_tab_columns.column_id;
select '@Column({ name: '''||column_name||''' })'||CHR(13)||
LOWER(column_name)||': '||
case when user_tab_columns.data_type = 'NUMBER' then 'number;'
when user_tab_columns.data_type = 'DATE' then 'Date;'
else 'string;' END ||CHR(13)
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'PCPEDITEMP'
order by user_tab_columns.column_id;

View File

@ -1,8 +1,8 @@
CREATE TABLE ESTPROTOCOLOENTREGA (
NUMPED NUMBER(10),
NUMNOTA NUMBER(10),
DTENTREGA DATE,
CPFRECEBEDOR VARCHAR2(20),
NOMERECEBEDOR VARCHAR2(100),
URL_IMAGEMPROTOCOLO VARCHAR2(200),
CONSTRAINT ESTPROTOCOLOENTREGA_PK PRIMARY KEY ( NUMPED ) );
CREATE TABLE ESTPROTOCOLOENTREGA (
NUMPED NUMBER(10),
NUMNOTA NUMBER(10),
DTENTREGA DATE,
CPFRECEBEDOR VARCHAR2(20),
NOMERECEBEDOR VARCHAR2(100),
URL_IMAGEMPROTOCOLO VARCHAR2(200),
CONSTRAINT ESTPROTOCOLOENTREGA_PK PRIMARY KEY ( NUMPED ) );

View File

@ -1,25 +1,25 @@
CREATE TABLE ESTSHOPPING (
ID VARCHAR2(100),
IDCART VARCHAR2(100),
CODPROD NUMBER(6),
QT NUMBER(22,6),
PVENDA NUMBER(22,6),
DTINCLUSAO DATE,
DTCANCEL DATE,
CODFUNC NUMBER(10),
CONSTRAINT ESTSHOPPING_PK PRIMARY KEY ( ID )
);
ALTER TABLE ESTSHOPPING ADD DATAVENDA DATE;
ALTER TABLE ESTSHOPPING ADD NUMPED NUMBER(10);
ALTER TABLE ESTSHOPPING ADD NOMEECOMMERCE VARCHAR2(200);
ALTER TABLE ESTSHOPPING ADD URLIMAGEM VARCHAR2(200);
ALTER TABLE ESTSHOPPING ADD TIPOPRODUTO VARCHAR2(1);
ALTER TABLE ESTSHOPPING ADD CODFILIALRETIRA VARCHAR2(2);
ALTER TABLE ESTSHOPPING ADD TIPOENTREGA VARCHAR2(2);
ALTER TABLE ESTSHOPPING ADD CODUSUR NUMBER(6);
--ALTER TABLE ESTSHOPPING ADD CODPLPAG NUMBER(4);
--ALTER TABLE ESTSHOPPING ADD CODCOB VARCHAR2(4);
CREATE TABLE ESTSHOPPING (
ID VARCHAR2(100),
IDCART VARCHAR2(100),
CODPROD NUMBER(6),
QT NUMBER(22,6),
PVENDA NUMBER(22,6),
DTINCLUSAO DATE,
DTCANCEL DATE,
CODFUNC NUMBER(10),
CONSTRAINT ESTSHOPPING_PK PRIMARY KEY ( ID )
);
ALTER TABLE ESTSHOPPING ADD DATAVENDA DATE;
ALTER TABLE ESTSHOPPING ADD NUMPED NUMBER(10);
ALTER TABLE ESTSHOPPING ADD NOMEECOMMERCE VARCHAR2(200);
ALTER TABLE ESTSHOPPING ADD URLIMAGEM VARCHAR2(200);
ALTER TABLE ESTSHOPPING ADD TIPOPRODUTO VARCHAR2(1);
ALTER TABLE ESTSHOPPING ADD CODFILIALRETIRA VARCHAR2(2);
ALTER TABLE ESTSHOPPING ADD TIPOENTREGA VARCHAR2(2);
ALTER TABLE ESTSHOPPING ADD CODUSUR NUMBER(6);
--ALTER TABLE ESTSHOPPING ADD CODPLPAG NUMBER(4);
--ALTER TABLE ESTSHOPPING ADD CODCOB VARCHAR2(4);

View File

@ -1,10 +1,10 @@
CREATE TABLE estusuario
(idusuario NUMBER(10,0) ,
nome VARCHAR2(100 BYTE) NOT NULL,
email VARCHAR2(100 BYTE) NOT NULL,
senha VARCHAR2(100 BYTE) NOT NULL,
tipo VARCHAR2(20 BYTE) NOT NULL,
matricula NUMBER(8,0),
bloqueado CHAR(1 BYTE) DEFAULT 'N');
CREATE TABLE estusuario
(idusuario NUMBER(10,0) ,
nome VARCHAR2(100 BYTE) NOT NULL,
email VARCHAR2(100 BYTE) NOT NULL,
senha VARCHAR2(100 BYTE) NOT NULL,
tipo VARCHAR2(20 BYTE) NOT NULL,
matricula NUMBER(8,0),
bloqueado CHAR(1 BYTE) DEFAULT 'N');
CREATE SEQUENCE ESSUSUARIO;

View File

@ -1,16 +1,16 @@
CREATE TABLE ESTVENDA (
ID VARCHAR2(100),
IDSHOPPING VARCHAR2(100),
CODCLI NUMBER(6),
CODUSUR NUMBER(6),
CODENDCLI NUMBER(10),
CODPLPAG NUMBER(6),
CODCOB VARCHAR2(4),
VLFRETE NUMBER(22,6),
OBSERVACAO1 VARCHAR2(80),
OBSERVACAO2 VARCHAR2(80),
OBSERVACAO3 VARCHAR2(80),
OBSERVACAOENTREGA1 VARCHAR2(80),
OBSERVACAOENTREGA2 VARCHAR2(80),
OBSERVACAOENTREGA3 VARCHAR2(80),
CONSTRAINT PK_OBSERVACAOENTREGA PRIMARY KEY (ID));
CREATE TABLE ESTVENDA (
ID VARCHAR2(100),
IDSHOPPING VARCHAR2(100),
CODCLI NUMBER(6),
CODUSUR NUMBER(6),
CODENDCLI NUMBER(10),
CODPLPAG NUMBER(6),
CODCOB VARCHAR2(4),
VLFRETE NUMBER(22,6),
OBSERVACAO1 VARCHAR2(80),
OBSERVACAO2 VARCHAR2(80),
OBSERVACAO3 VARCHAR2(80),
OBSERVACAOENTREGA1 VARCHAR2(80),
OBSERVACAOENTREGA2 VARCHAR2(80),
OBSERVACAOENTREGA3 VARCHAR2(80),
CONSTRAINT PK_OBSERVACAOENTREGA PRIMARY KEY (ID));

View File

@ -1,3 +1,3 @@
{
"js/ts.implicitProjectConfig.experimentalDecorators": true
{
"js/ts.implicitProjectConfig.experimentalDecorators": true
}

View File

@ -1,48 +1,48 @@
/*
https://docs.nestjs.com/controllers#controllers
*/
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
import { AccessControlService } from './access-control.service';
import { ApiExcludeEndpoint } from '@nestjs/swagger';
@Controller('api/v1/access-control')
export class AccessControlController {
constructor(
private readonly accessControlService: AccessControlService
){}
@Get('modules/:id')
@ApiExcludeEndpoint()
async getModules(@Param('id') id: number) {
return this.accessControlService.getAccessModule(id);
}
@Get('permissionUser/:id')
@ApiExcludeEndpoint()
async getPermissionsUser(@Param('id') id: number) {
return this.accessControlService.getPermissionsUser(id);
}
@Get('pages/:userId/:moduleId')
@ApiExcludeEndpoint()
async getPagesUser(@Param('userId') userId: number, @Param('moduleId') moduleId: number) {
return this.accessControlService.getPagesUser(moduleId, userId);
}
@Get('actions/:userId/:moduleId')
@ApiExcludeEndpoint()
async getActionUser(@Param('userId') userId: number, @Param('moduleId') moduleId: number
) {
return this.accessControlService.getActionsUser(moduleId, userId);
}
@Post('permissionUser/:id')
@ApiExcludeEndpoint()
async updatePermission(@Param('id') userId: number, @Body() data
) {
return this.accessControlService.updatePermissionUser(userId, data);
}
}
/*
https://docs.nestjs.com/controllers#controllers
*/
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
import { AccessControlService } from './access-control.service';
import { ApiExcludeEndpoint } from '@nestjs/swagger';
@Controller('api/v1/access-control')
export class AccessControlController {
constructor(
private readonly accessControlService: AccessControlService
){}
@Get('modules/:id')
@ApiExcludeEndpoint()
async getModules(@Param('id') id: number) {
return this.accessControlService.getAccessModule(id);
}
@Get('permissionUser/:id')
@ApiExcludeEndpoint()
async getPermissionsUser(@Param('id') id: number) {
return this.accessControlService.getPermissionsUser(id);
}
@Get('pages/:userId/:moduleId')
@ApiExcludeEndpoint()
async getPagesUser(@Param('userId') userId: number, @Param('moduleId') moduleId: number) {
return this.accessControlService.getPagesUser(moduleId, userId);
}
@Get('actions/:userId/:moduleId')
@ApiExcludeEndpoint()
async getActionUser(@Param('userId') userId: number, @Param('moduleId') moduleId: number
) {
return this.accessControlService.getActionsUser(moduleId, userId);
}
@Post('permissionUser/:id')
@ApiExcludeEndpoint()
async updatePermission(@Param('id') userId: number, @Body() data
) {
return this.accessControlService.updatePermissionUser(userId, data);
}
}

View File

@ -1,16 +1,16 @@
import { AccessControlService } from './access-control.service';
import { AccessControlController } from './access-control.controller';
/*
https://docs.nestjs.com/modules
*/
import { Module } from '@nestjs/common';
@Module({
imports: [],
controllers: [
AccessControlController,],
providers: [
AccessControlService,],
})
export class AccessControlModule { }
import { AccessControlService } from './access-control.service';
import { AccessControlController } from './access-control.controller';
/*
https://docs.nestjs.com/modules
*/
import { Module } from '@nestjs/common';
@Module({
imports: [],
controllers: [
AccessControlController,],
providers: [
AccessControlService,],
})
export class AccessControlModule { }

View File

@ -1,261 +1,261 @@
/*
https://docs.nestjs.com/providers#services
*/
import { Injectable } from '@nestjs/common';
import { connectionOptions } from 'src/configs/typeorm.config';
import { Connection } from 'typeorm';
import { IndexActions } from '../../domain/models/index-action.model';
@Injectable()
export class AccessControlService {
async getAccessModule(id: number) {
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = 'SELECT ESTACESSOMODULO.CODMODULO as "moduleId" ' +
' ,ESTACESSOMODULO.CODUSUARIO as "userId" ' +
` ,NVL(ESTACESSOMODULO.ACESSO, 'S') as "access" ` +
' FROM ESTACESSOMODULO ' +
' WHERE ESTACESSOMODULO.CODUSUARIO = :1';
const modules = await queryRunner
.query(sql, [id]);
return modules;
} finally {
await queryRunner.release();
await connection.close();
}
}
async getPagesUser(moduleId: number, userId: number) {
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = 'SELECT ESTACESSOATIVIDADE.CODMODULO as "moduleId" ' +
' ,ESTACESSOATIVIDADE.CODPROCESSO as "processId" ' +
' ,ESTACESSOATIVIDADE.CODATIVIDADE as "pageId" ' +
' ,ESTACESSOATIVIDADE.codusuario as "userId" ' +
' ,ESTACESSOATIVIDADE.ACESSO as "access" ' +
' FROM ESTACESSOATIVIDADE ' +
' WHERE ESTACESSOATIVIDADE.CODMODULO = :CODMODULO ' +
' AND ESTACESSOATIVIDADE.CODUSUARIO = :CODUSUARIO ';
const pages = await queryRunner
.query(sql, [moduleId, userId]);
return pages;
} finally {
await queryRunner.release();
await connection.close();
}
}
async getActionsUser(moduleId: number, userId: number) {
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = `SELECT ESTACESSOATIVIDADEACAO.CODMODULO as "moduleId"
,ESTACESSOATIVIDADEACAO.CODPROCESSO as "processId"
,ESTACESSOATIVIDADEACAO.CODATIVIDADE as "pageId"
,ESTACESSOATIVIDADEACAO.CODACAO as "actionId"
,ESTACESSOATIVIDADEACAO.codusuario as "userId"
,ESTACESSOATIVIDADEACAO.ACESSO as "access"
FROM ESTACESSOATIVIDADEACAO
WHERE ESTACESSOATIVIDADEACAO.CODMODULO = :CODMODULO
AND ESTACESSOATIVIDADEACAO.CODUSUARIO = :CODUSUARIO`;
const actions = await queryRunner
.query(sql, [moduleId, userId]);
return actions;
} finally {
await queryRunner.release();
await connection.close();
}
}
async getPermissionsUser(userId: number) {
const sqlModules = `SELECT ESTMODULO.codmodulo as "id"
,ESTMODULO.descricao as "text"
,${userId} as "userId"
,NVL(( SELECT ESTACESSOMODULO.ACESSO
FROM ESTACESSOMODULO
WHERE ESTACESSOMODULO.CODMODULO = ESTMODULO.CODMODULO
AND ESTACESSOMODULO.CODUSUARIO = ${userId} AND ROWNUM = 1),'N') as "allow"
FROM ESTMODULO`;
const sqlAtividade = `SELECT ESTATIVIDADE.codmodulo as "moduloId"
,ESTATIVIDADE.CODPROCESSO as "processId"
,ESTATIVIDADE.CODATIVIDADE as "id"
,ESTATIVIDADE.descricao as "text"
,NVL(( SELECT ESTACESSOATIVIDADE.ACESSO
FROM ESTACESSOATIVIDADE
WHERE ESTACESSOATIVIDADE.CODMODULO = ESTATIVIDADE.CODMODULO
AND ESTACESSOATIVIDADE.CODPROCESSO = ESTATIVIDADE.codprocesso
AND ESTACESSOATIVIDADE.CODATIVIDADE = ESTATIVIDADE.CODATIVIDADE
AND ESTACESSOATIVIDADE.CODUSUARIO = ${userId} AND ROWNUM = 1),'N') as "allow"
FROM ESTATIVIDADE`;
const sqlAction = `SELECT estatividadeacao.codmodulo as "moduloId"
,estatividadeacao.CODPROCESSO as "processId"
,estatividadeacao.CODATIVIDADE as "atividadeId"
,estatividadeacao.CODACAO as "Id"
,estatividadeacao.descricao as "text"
,NVL(( SELECT ESTACESSOATIVIDADEACAO.ACESSO
FROM ESTACESSOATIVIDADEACAO
WHERE ESTACESSOATIVIDADEACAO.CODMODULO = estatividadeacao.CODMODULO
AND ESTACESSOATIVIDADEACAO.CODPROCESSO = estatividadeacao.codprocesso
AND ESTACESSOATIVIDADEACAO.CODATIVIDADE = estatividadeacao.CODATIVIDADE
AND ESTACESSOATIVIDADEACAO.CODACAO = estatividadeacao.CODACAO
AND ESTACESSOATIVIDADEACAO.CODUSUARIO = ${userId} AND ROWNUM = 1),'N') as "allow"
FROM estatividadeacao`;
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const modules = await queryRunner.query(sqlModules);
const atividades = await queryRunner.query(sqlAtividade);
const actions = await queryRunner.query(sqlAction);
console.log("acoes:" + JSON.stringify(actions));
console.log("atividaes:" + JSON.stringify(atividades));
const arrayAtividade = [];
atividades.map((atividade) => {
const data = {
...atividade, items: [...actions.filter((a) => a.moduloId == atividade.moduloId
&& a.processId == atividade.processId &&
a.atividadeId == atividade.id)]
}
arrayAtividade.push(data);
});
console.log("atividade acao: " + JSON.stringify(arrayAtividade));
const arrayModules = [];
modules.map((module) => {
const data = {
...module, items: [...arrayAtividade.filter((a) => a.moduloId == module.id)]
}
arrayModules.push(data);
});
return arrayModules;
} finally {
await queryRunner.release();
await connection.close();
}
}
async updatePermissionUser(userId: number, data: any) {
console.log(JSON.stringify(data));
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
try {
const sqlDeletePermissionUser = `BEGIN
DELETE FROM ESTACESSOMODULO WHERE CODUSUARIO = ${userId};
DELETE FROM ESTACESSOATIVIDADE WHERE CODUSUARIO = ${userId};
DELETE FROM ESTACESSOATIVIDADEACAO WHERE CODUSUARIO = ${userId};
END;
`;
await queryRunner.query(sqlDeletePermissionUser);
for (const action of data.actions) {
const sqlCreatePermissionAction = `BEGIN
UPDATE ESTACESSOATIVIDADEACAO SET
ACESSO = 'S'
WHERE CODMODULO = ${action.moduloId} AND CODPROCESSO = ${action.processId}
AND CODATIVIDADE = ${action.atividadeId} AND CODACAO = ${action.Id} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOATIVIDADEACAO ( CODMODULO, CODPROCESSO, CODATIVIDADE, CODACAO, CODUSUARIO, ACESSO )
VALUES ( ${action.moduloId}, ${action.processId}, ${action.atividadeId}, ${action.Id}, ${userId},'S');
END IF;
UPDATE ESTACESSOATIVIDADE SET
ACESSO = 'S'
WHERE CODMODULO = ${action.moduloId} AND CODPROCESSO = ${action.processId}
AND CODATIVIDADE = ${action.atividadeId} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOATIVIDADE ( CODMODULO, CODPROCESSO, CODATIVIDADE, CODUSUARIO, ACESSO )
VALUES ( ${action.moduloId}, ${action.processId}, ${action.atividadeId}, ${userId},'S');
END IF;
UPDATE ESTACESSOMODULO SET
ACESSO = 'S'
WHERE CODMODULO = ${action.moduloId} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOMODULO ( CODMODULO, CODUSUARIO, ACESSO )
VALUES ( ${action.moduloId}, ${userId}, 'S');
END IF;
END; `
await queryRunner.query(sqlCreatePermissionAction);
}
for (const atividade of data.atividades) {
const sqlCreatePermissionAtividade = `BEGIN
UPDATE ESTACESSOATIVIDADE SET
ACESSO = 'S'
WHERE CODMODULO = ${atividade.moduloId} AND CODPROCESSO = ${atividade.processId}
AND CODATIVIDADE = ${atividade.id} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOATIVIDADE ( CODMODULO, CODPROCESSO, CODATIVIDADE, CODUSUARIO, ACESSO )
VALUES ( ${atividade.moduloId}, ${atividade.processId}, ${atividade.id}, ${userId},'S');
END IF;
UPDATE ESTACESSOMODULO SET
ACESSO = 'S'
WHERE CODMODULO = ${atividade.moduloId} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOMODULO ( CODMODULO, CODUSUARIO, ACESSO )
VALUES ( ${atividade.moduloId}, ${userId},'S');
END IF;
END; `;
await queryRunner.query(sqlCreatePermissionAtividade);
}
await queryRunner.commitTransaction();
} catch (err) {
await queryRunner.rollbackTransaction();
console.log(err);
} finally {
await queryRunner.release();
await connection.close();
}
}
}
/*
https://docs.nestjs.com/providers#services
*/
import { Injectable } from '@nestjs/common';
import { connectionOptions } from 'src/configs/typeorm.config';
import { Connection } from 'typeorm';
import { IndexActions } from '../../domain/models/index-action.model';
@Injectable()
export class AccessControlService {
async getAccessModule(id: number) {
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = 'SELECT ESTACESSOMODULO.CODMODULO as "moduleId" ' +
' ,ESTACESSOMODULO.CODUSUARIO as "userId" ' +
` ,NVL(ESTACESSOMODULO.ACESSO, 'S') as "access" ` +
' FROM ESTACESSOMODULO ' +
' WHERE ESTACESSOMODULO.CODUSUARIO = :1';
const modules = await queryRunner
.query(sql, [id]);
return modules;
} finally {
await queryRunner.release();
await connection.close();
}
}
async getPagesUser(moduleId: number, userId: number) {
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = 'SELECT ESTACESSOATIVIDADE.CODMODULO as "moduleId" ' +
' ,ESTACESSOATIVIDADE.CODPROCESSO as "processId" ' +
' ,ESTACESSOATIVIDADE.CODATIVIDADE as "pageId" ' +
' ,ESTACESSOATIVIDADE.codusuario as "userId" ' +
' ,ESTACESSOATIVIDADE.ACESSO as "access" ' +
' FROM ESTACESSOATIVIDADE ' +
' WHERE ESTACESSOATIVIDADE.CODMODULO = :CODMODULO ' +
' AND ESTACESSOATIVIDADE.CODUSUARIO = :CODUSUARIO ';
const pages = await queryRunner
.query(sql, [moduleId, userId]);
return pages;
} finally {
await queryRunner.release();
await connection.close();
}
}
async getActionsUser(moduleId: number, userId: number) {
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = `SELECT ESTACESSOATIVIDADEACAO.CODMODULO as "moduleId"
,ESTACESSOATIVIDADEACAO.CODPROCESSO as "processId"
,ESTACESSOATIVIDADEACAO.CODATIVIDADE as "pageId"
,ESTACESSOATIVIDADEACAO.CODACAO as "actionId"
,ESTACESSOATIVIDADEACAO.codusuario as "userId"
,ESTACESSOATIVIDADEACAO.ACESSO as "access"
FROM ESTACESSOATIVIDADEACAO
WHERE ESTACESSOATIVIDADEACAO.CODMODULO = :CODMODULO
AND ESTACESSOATIVIDADEACAO.CODUSUARIO = :CODUSUARIO`;
const actions = await queryRunner
.query(sql, [moduleId, userId]);
return actions;
} finally {
await queryRunner.release();
await connection.close();
}
}
async getPermissionsUser(userId: number) {
const sqlModules = `SELECT ESTMODULO.codmodulo as "id"
,ESTMODULO.descricao as "text"
,${userId} as "userId"
,NVL(( SELECT ESTACESSOMODULO.ACESSO
FROM ESTACESSOMODULO
WHERE ESTACESSOMODULO.CODMODULO = ESTMODULO.CODMODULO
AND ESTACESSOMODULO.CODUSUARIO = ${userId} AND ROWNUM = 1),'N') as "allow"
FROM ESTMODULO`;
const sqlAtividade = `SELECT ESTATIVIDADE.codmodulo as "moduloId"
,ESTATIVIDADE.CODPROCESSO as "processId"
,ESTATIVIDADE.CODATIVIDADE as "id"
,ESTATIVIDADE.descricao as "text"
,NVL(( SELECT ESTACESSOATIVIDADE.ACESSO
FROM ESTACESSOATIVIDADE
WHERE ESTACESSOATIVIDADE.CODMODULO = ESTATIVIDADE.CODMODULO
AND ESTACESSOATIVIDADE.CODPROCESSO = ESTATIVIDADE.codprocesso
AND ESTACESSOATIVIDADE.CODATIVIDADE = ESTATIVIDADE.CODATIVIDADE
AND ESTACESSOATIVIDADE.CODUSUARIO = ${userId} AND ROWNUM = 1),'N') as "allow"
FROM ESTATIVIDADE`;
const sqlAction = `SELECT estatividadeacao.codmodulo as "moduloId"
,estatividadeacao.CODPROCESSO as "processId"
,estatividadeacao.CODATIVIDADE as "atividadeId"
,estatividadeacao.CODACAO as "Id"
,estatividadeacao.descricao as "text"
,NVL(( SELECT ESTACESSOATIVIDADEACAO.ACESSO
FROM ESTACESSOATIVIDADEACAO
WHERE ESTACESSOATIVIDADEACAO.CODMODULO = estatividadeacao.CODMODULO
AND ESTACESSOATIVIDADEACAO.CODPROCESSO = estatividadeacao.codprocesso
AND ESTACESSOATIVIDADEACAO.CODATIVIDADE = estatividadeacao.CODATIVIDADE
AND ESTACESSOATIVIDADEACAO.CODACAO = estatividadeacao.CODACAO
AND ESTACESSOATIVIDADEACAO.CODUSUARIO = ${userId} AND ROWNUM = 1),'N') as "allow"
FROM estatividadeacao`;
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const modules = await queryRunner.query(sqlModules);
const atividades = await queryRunner.query(sqlAtividade);
const actions = await queryRunner.query(sqlAction);
console.log("acoes:" + JSON.stringify(actions));
console.log("atividaes:" + JSON.stringify(atividades));
const arrayAtividade = [];
atividades.map((atividade) => {
const data = {
...atividade, items: [...actions.filter((a) => a.moduloId == atividade.moduloId
&& a.processId == atividade.processId &&
a.atividadeId == atividade.id)]
}
arrayAtividade.push(data);
});
console.log("atividade acao: " + JSON.stringify(arrayAtividade));
const arrayModules = [];
modules.map((module) => {
const data = {
...module, items: [...arrayAtividade.filter((a) => a.moduloId == module.id)]
}
arrayModules.push(data);
});
return arrayModules;
} finally {
await queryRunner.release();
await connection.close();
}
}
async updatePermissionUser(userId: number, data: any) {
console.log(JSON.stringify(data));
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
try {
const sqlDeletePermissionUser = `BEGIN
DELETE FROM ESTACESSOMODULO WHERE CODUSUARIO = ${userId};
DELETE FROM ESTACESSOATIVIDADE WHERE CODUSUARIO = ${userId};
DELETE FROM ESTACESSOATIVIDADEACAO WHERE CODUSUARIO = ${userId};
END;
`;
await queryRunner.query(sqlDeletePermissionUser);
for (const action of data.actions) {
const sqlCreatePermissionAction = `BEGIN
UPDATE ESTACESSOATIVIDADEACAO SET
ACESSO = 'S'
WHERE CODMODULO = ${action.moduloId} AND CODPROCESSO = ${action.processId}
AND CODATIVIDADE = ${action.atividadeId} AND CODACAO = ${action.Id} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOATIVIDADEACAO ( CODMODULO, CODPROCESSO, CODATIVIDADE, CODACAO, CODUSUARIO, ACESSO )
VALUES ( ${action.moduloId}, ${action.processId}, ${action.atividadeId}, ${action.Id}, ${userId},'S');
END IF;
UPDATE ESTACESSOATIVIDADE SET
ACESSO = 'S'
WHERE CODMODULO = ${action.moduloId} AND CODPROCESSO = ${action.processId}
AND CODATIVIDADE = ${action.atividadeId} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOATIVIDADE ( CODMODULO, CODPROCESSO, CODATIVIDADE, CODUSUARIO, ACESSO )
VALUES ( ${action.moduloId}, ${action.processId}, ${action.atividadeId}, ${userId},'S');
END IF;
UPDATE ESTACESSOMODULO SET
ACESSO = 'S'
WHERE CODMODULO = ${action.moduloId} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOMODULO ( CODMODULO, CODUSUARIO, ACESSO )
VALUES ( ${action.moduloId}, ${userId}, 'S');
END IF;
END; `
await queryRunner.query(sqlCreatePermissionAction);
}
for (const atividade of data.atividades) {
const sqlCreatePermissionAtividade = `BEGIN
UPDATE ESTACESSOATIVIDADE SET
ACESSO = 'S'
WHERE CODMODULO = ${atividade.moduloId} AND CODPROCESSO = ${atividade.processId}
AND CODATIVIDADE = ${atividade.id} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOATIVIDADE ( CODMODULO, CODPROCESSO, CODATIVIDADE, CODUSUARIO, ACESSO )
VALUES ( ${atividade.moduloId}, ${atividade.processId}, ${atividade.id}, ${userId},'S');
END IF;
UPDATE ESTACESSOMODULO SET
ACESSO = 'S'
WHERE CODMODULO = ${atividade.moduloId} AND CODUSUARIO = ${userId};
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO ESTACESSOMODULO ( CODMODULO, CODUSUARIO, ACESSO )
VALUES ( ${atividade.moduloId}, ${userId},'S');
END IF;
END; `;
await queryRunner.query(sqlCreatePermissionAtividade);
}
await queryRunner.commitTransaction();
} catch (err) {
await queryRunner.rollbackTransaction();
console.log(err);
} finally {
await queryRunner.release();
await connection.close();
}
}
}

View File

@ -1,132 +1,132 @@
import { ResultModel } from '../../domain/models/result.model';
import { UserModel } from '../../domain/models/user.model';
import { RoleInterceptor } from '../interceptors/role.interceptor';
import { JwtAuthGuard } from '../guards/auth.guard';
import { AuthService } from '../services/auth.service';
import { UserService } from '../services/user.service';
import { Body, Controller, Get, HttpException, HttpStatus, Param, Post, Req, UseGuards, UseInterceptors } from "@nestjs/common";
import { Guid } from 'guid-typescript';
import { ResetPasswordModel } from 'src/domain/models/reset-password.model';
import { ChangePasswordModel } from 'src/domain/models/change-password.model';
import { CreateUserModel } from 'src/domain/models/create-user.model';
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
@ApiTags('Autenticação')
@Controller('api/v1/auth')
export class UserController {
constructor(private authService: AuthService,
private userService: UserService) { }
/**
* Realiza a autenticação do usuário para acesso a vendaweb.
* @@example { email: "exemplo@exemplo.com", password: "123456"}
*/
@Get('users')
async getUsers() {
return this.userService.findAll();
}
@Post('login')
async login(@Body() model: UserModel): Promise<any> {
const userDb = await this.userService.authenticate(model);
if (!userDb)
throw new HttpException(new ResultModel(false, 'Usuário ou senha inválidos.', null, null), HttpStatus.UNAUTHORIZED);
if (userDb.blocked == "S")
throw new HttpException(new ResultModel(false, 'Usuário inativo.', null, null), HttpStatus.UNAUTHORIZED);
if (model.application == "SALE" && userDb.seller == 0)
throw new HttpException(new ResultModel(false, 'Usuário sem vendedor informado .', null, null), HttpStatus.UNAUTHORIZED);
if (model.application == "SALE" && (userDb.codigoFilial == null || userDb.codigoFilial == ''))
throw new HttpException(new ResultModel(false, 'Usuário sem filial informada.', null, null), HttpStatus.UNAUTHORIZED);
const token = await this.authService.createToken(userDb.username, userDb.email, '', [userDb.sectorId, userDb.sectorManagerId]);
return new ResultModel(true, null, {
"id": userDb.id, "username": userDb.userName, "email": userDb.email,
"store": userDb.codigoFilial, "name": userDb.nomeFilial, "seller": userDb.seller,
"deliveryTime": userDb.deliveryTime, "supervisorId": userDb.supervisorId, "token": token
}, null);
}
@Post('create')
async createUser(@Body() model: CreateUserModel): Promise<any> {
const result = await this.userService.create(model);
console.log(result);
return result;
/*if (!userDb)
throw new HttpException(new ResultModel(false, 'Usuário ou senha inválidos.', null, null), HttpStatus.UNAUTHORIZED);
if (userDb.blocked == "S")
throw new HttpException(new ResultModel(false, 'Usuário inativo.', null, null), HttpStatus.UNAUTHORIZED);
const token = await this.authService.createToken(userDb.username, userDb.email, '', [userDb.role, model.application]);
return new ResultModel(true, null, {"username": userDb.username, "email": userDb.email, "token": token}, null);*/
}
@Post('reset-password')
async resetPassword(@Body() model: ResetPasswordModel): Promise<any> {
try {
//TODO: Enviar email com a senha
const password = Guid.create.toString().substring(0, 8).replace('-', '');
await this.userService.update(model.email, password);
return new ResultModel(true, 'Uma nova senha foi enviada para seu e-mail.', null, null);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível restaurar sua senha', null, null), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Post('change-password')
@UseGuards(JwtAuthGuard)
async changePassword(@Req() request, @Body() model: ChangePasswordModel): Promise<any> {
try {
//TODO: Encriptar senha
//TODO: Validar usuario
await this.userService.update(request.user.email, model.newPassword);
return new ResultModel(true, 'Sua senha foi alterada com sucesso', null, null);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível alterar sua senha', null, null), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Get('discount-user/:id')
async discountAuthorization(@Param('id') id: number): Promise<any> {
const user = await this.userService.discountUser(id);
console.log(user);
return new ResultModel(true, null, user, null);
}
@Post('refresh')
@UseGuards(JwtAuthGuard)
async refreshToken(@Req() request): Promise<any> {
const token = await this.authService.createToken(request.user.username, request.user.email, request.user.image, request.user.roles);
return new ResultModel(true, null, token, null);
}
@Post('authenticate')
@ApiExcludeEndpoint()
async authenticate(@Body() model: UserModel): Promise<any> {
const userDb = await this.userService.authenticate(model);
console.log(userDb);
if (!userDb)
throw new HttpException(new ResultModel(false, 'Usuário ou senha inválidos.', null, null), HttpStatus.UNAUTHORIZED);
if (userDb.blocked == "S")
throw new HttpException(new ResultModel(false, 'Usuário inativo.', null, null), HttpStatus.UNAUTHORIZED);
return new ResultModel(true, null, {
"id": userDb.id, "username": userDb.userName, "email": userDb.email,
"store": userDb.codigoFilial, "seller": userDb.seller, "discountPercent": userDb.discountPercent,
"sectorId": userDb.sectorId, "sectorManagerId": userDb.sectorManagerId
}, null);
}
@Get('')
@UseGuards(JwtAuthGuard)
@UseInterceptors(new RoleInterceptor(['admin']))
findAll() {
return [];
}
import { ResultModel } from '../../domain/models/result.model';
import { UserModel } from '../../domain/models/user.model';
import { RoleInterceptor } from '../interceptors/role.interceptor';
import { JwtAuthGuard } from '../guards/auth.guard';
import { AuthService } from '../services/auth.service';
import { UserService } from '../services/user.service';
import { Body, Controller, Get, HttpException, HttpStatus, Param, Post, Req, UseGuards, UseInterceptors } from "@nestjs/common";
import { Guid } from 'guid-typescript';
import { ResetPasswordModel } from 'src/domain/models/reset-password.model';
import { ChangePasswordModel } from 'src/domain/models/change-password.model';
import { CreateUserModel } from 'src/domain/models/create-user.model';
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
@ApiTags('Autenticação')
@Controller('api/v1/auth')
export class UserController {
constructor(private authService: AuthService,
private userService: UserService) { }
/**
* Realiza a autenticação do usuário para acesso a vendaweb.
* @@example { email: "exemplo@exemplo.com", password: "123456"}
*/
@Get('users')
async getUsers() {
return this.userService.findAll();
}
@Post('login')
async login(@Body() model: UserModel): Promise<any> {
const userDb = await this.userService.authenticate(model);
if (!userDb)
throw new HttpException(new ResultModel(false, 'Usuário ou senha inválidos.', null, null), HttpStatus.UNAUTHORIZED);
if (userDb.blocked == "S")
throw new HttpException(new ResultModel(false, 'Usuário inativo.', null, null), HttpStatus.UNAUTHORIZED);
if (model.application == "SALE" && userDb.seller == 0)
throw new HttpException(new ResultModel(false, 'Usuário sem vendedor informado .', null, null), HttpStatus.UNAUTHORIZED);
if (model.application == "SALE" && (userDb.codigoFilial == null || userDb.codigoFilial == ''))
throw new HttpException(new ResultModel(false, 'Usuário sem filial informada.', null, null), HttpStatus.UNAUTHORIZED);
const token = await this.authService.createToken(userDb.username, userDb.email, '', [userDb.sectorId, userDb.sectorManagerId]);
return new ResultModel(true, null, {
"id": userDb.id, "username": userDb.userName, "email": userDb.email,
"store": userDb.codigoFilial, "name": userDb.nomeFilial, "seller": userDb.seller,
"deliveryTime": userDb.deliveryTime, "supervisorId": userDb.supervisorId, "token": token
}, null);
}
@Post('create')
async createUser(@Body() model: CreateUserModel): Promise<any> {
const result = await this.userService.create(model);
console.log(result);
return result;
/*if (!userDb)
throw new HttpException(new ResultModel(false, 'Usuário ou senha inválidos.', null, null), HttpStatus.UNAUTHORIZED);
if (userDb.blocked == "S")
throw new HttpException(new ResultModel(false, 'Usuário inativo.', null, null), HttpStatus.UNAUTHORIZED);
const token = await this.authService.createToken(userDb.username, userDb.email, '', [userDb.role, model.application]);
return new ResultModel(true, null, {"username": userDb.username, "email": userDb.email, "token": token}, null);*/
}
@Post('reset-password')
async resetPassword(@Body() model: ResetPasswordModel): Promise<any> {
try {
//TODO: Enviar email com a senha
const password = Guid.create.toString().substring(0, 8).replace('-', '');
await this.userService.update(model.email, password);
return new ResultModel(true, 'Uma nova senha foi enviada para seu e-mail.', null, null);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível restaurar sua senha', null, null), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Post('change-password')
@UseGuards(JwtAuthGuard)
async changePassword(@Req() request, @Body() model: ChangePasswordModel): Promise<any> {
try {
//TODO: Encriptar senha
//TODO: Validar usuario
await this.userService.update(request.user.email, model.newPassword);
return new ResultModel(true, 'Sua senha foi alterada com sucesso', null, null);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível alterar sua senha', null, null), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Get('discount-user/:id')
async discountAuthorization(@Param('id') id: number): Promise<any> {
const user = await this.userService.discountUser(id);
console.log(user);
return new ResultModel(true, null, user, null);
}
@Post('refresh')
@UseGuards(JwtAuthGuard)
async refreshToken(@Req() request): Promise<any> {
const token = await this.authService.createToken(request.user.username, request.user.email, request.user.image, request.user.roles);
return new ResultModel(true, null, token, null);
}
@Post('authenticate')
@ApiExcludeEndpoint()
async authenticate(@Body() model: UserModel): Promise<any> {
const userDb = await this.userService.authenticate(model);
console.log(userDb);
if (!userDb)
throw new HttpException(new ResultModel(false, 'Usuário ou senha inválidos.', null, null), HttpStatus.UNAUTHORIZED);
if (userDb.blocked == "S")
throw new HttpException(new ResultModel(false, 'Usuário inativo.', null, null), HttpStatus.UNAUTHORIZED);
return new ResultModel(true, null, {
"id": userDb.id, "username": userDb.userName, "email": userDb.email,
"store": userDb.codigoFilial, "seller": userDb.seller, "discountPercent": userDb.discountPercent,
"sectorId": userDb.sectorId, "sectorManagerId": userDb.sectorManagerId
}, null);
}
@Get('')
@UseGuards(JwtAuthGuard)
@UseInterceptors(new RoleInterceptor(['admin']))
findAll() {
return [];
}
}

View File

@ -1,17 +1,17 @@
import { AuthGuard } from '@nestjs/passport';
import { ExecutionContext, Injectable, UnauthorizedException } from "@nestjs/common";
@Injectable()
export class JwtAuthGuard extends AuthGuard() {
canActivate(context: ExecutionContext) {
return super.canActivate(context);
}
handleRequest(err: any, user: any, info: any) {
if (err || !user) {
throw err || new UnauthorizedException();
}
return user;
}
import { AuthGuard } from '@nestjs/passport';
import { ExecutionContext, Injectable, UnauthorizedException } from "@nestjs/common";
@Injectable()
export class JwtAuthGuard extends AuthGuard() {
canActivate(context: ExecutionContext) {
return super.canActivate(context);
}
handleRequest(err: any, user: any, info: any) {
if (err || !user) {
throw err || new UnauthorizedException();
}
return user;
}
}

View File

@ -1,32 +1,32 @@
import { HttpStatus } from '@nestjs/common';
import { ResultModel } from './../../domain/models/result.model';
import { HttpException } from '@nestjs/common';
import { JwtPayload } from './../interfaces/jwt-payload.interface';
import { Injectable, NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
import { Observable } from 'rxjs';
@Injectable()
export class RoleInterceptor implements NestInterceptor {
constructor(private roles: string[]){}
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
const payload: JwtPayload = context.switchToHttp().getRequest().user;
console.log(payload);
let hasRole = false;
payload.roles.forEach((role) => {
if (this.roles.includes(role))
hasRole = true;
});
if (!hasRole) {
throw new HttpException(
new ResultModel(false, 'Acesso não autorizado', null, null),
HttpStatus.FORBIDDEN
)
}
return next
.handle();
}
}
import { HttpStatus } from '@nestjs/common';
import { ResultModel } from './../../domain/models/result.model';
import { HttpException } from '@nestjs/common';
import { JwtPayload } from './../interfaces/jwt-payload.interface';
import { Injectable, NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
import { Observable } from 'rxjs';
@Injectable()
export class RoleInterceptor implements NestInterceptor {
constructor(private roles: string[]){}
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
const payload: JwtPayload = context.switchToHttp().getRequest().user;
console.log(payload);
let hasRole = false;
payload.roles.forEach((role) => {
if (this.roles.includes(role))
hasRole = true;
});
if (!hasRole) {
throw new HttpException(
new ResultModel(false, 'Acesso não autorizado', null, null),
HttpStatus.FORBIDDEN
)
}
return next
.handle();
}
}

View File

@ -1,8 +1,8 @@
export interface JwtPayload {
username: string;
email: string;
image: string;
sectorId: string;
sectorManagerId: string;
roles: string[];
export interface JwtPayload {
username: string;
email: string;
image: string;
sectorId: string;
sectorManagerId: string;
roles: string[];
}

View File

@ -1,24 +1,24 @@
import { Injectable } from '@nestjs/common';
import { JwtPayload } from './../interfaces/jwt-payload.interface';
import { JwtService, JwtSignOptions } from "@nestjs/jwt";
import { UserService } from './user.service';
@Injectable()
export class AuthService {
constructor(
private readonly accountService: UserService,
private readonly jwtService: JwtService,
){}
async createToken(username: string, email: string, image: string, roles: string[]) {
const user: JwtPayload = { username: username, email: email, image: image, sectorId: roles[0], sectorManagerId: roles[1], roles: [], }
const options: JwtSignOptions = {expiresIn: "1h"};
return this.jwtService.sign(user, options);
}
async validateUser(payload: JwtPayload): Promise<any> {
//return await this.accountService.findOneByUsername(payload.username);
return payload;
}
import { Injectable } from '@nestjs/common';
import { JwtPayload } from './../interfaces/jwt-payload.interface';
import { JwtService, JwtSignOptions } from "@nestjs/jwt";
import { UserService } from './user.service';
@Injectable()
export class AuthService {
constructor(
private readonly accountService: UserService,
private readonly jwtService: JwtService,
){}
async createToken(username: string, email: string, image: string, roles: string[]) {
const user: JwtPayload = { username: username, email: email, image: image, sectorId: roles[0], sectorManagerId: roles[1], roles: [], }
const options: JwtSignOptions = {expiresIn: "1h"};
return this.jwtService.sign(user, options);
}
async validateUser(payload: JwtPayload): Promise<any> {
//return await this.accountService.findOneByUsername(payload.username);
return payload;
}
}

View File

@ -1,197 +1,197 @@
import { UserModel } from '../../domain/models/user.model';
import { HttpException, HttpStatus, Injectable } from "@nestjs/common";
import { User } from 'src/domain/entity/tables/estusuario.enity';
import { Connection, getConnection } from 'typeorm';
import md5 = require('md5');
import { CreateUserModel } from 'src/domain/models/create-user.model';
import { Pcempr } from '../../domain/entity/tables/pcempr.entity';
import { connectionOptions } from 'src/configs/typeorm.config';
@Injectable()
export class UserService {
async create(data: CreateUserModel): Promise<User> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const user = await queryRunner.manager
.getRepository(User)
.createQueryBuilder('estusuario')
.where("\"estusuario\".email = :email", { email: data.email })
.getOne();
if (user != null) {
throw new HttpException("Já existe um usuário cadastrado no sistema com este email", HttpStatus.BAD_REQUEST);
}
} catch (err) {
throw err;
} finally {
await queryRunner.release();
}
const newUser = new User();
newUser.username = data.userName;
newUser.password = md5(data.password).toUpperCase();
newUser.email = data.email;
newUser.role = data.application;
newUser.blocked = "N";
newUser.registration = data.registration;
await getConnection()
.createQueryBuilder()
.insert()
.into(User)
.values(newUser)
.execute();
return newUser;
}
async findAll() {
const sqlUsers = `SELECT PCEMPR.MATRICULA as "userId"
,PCEMPR.NOME||' ('||PCEMPR.MATRICULA||')' as "name"
,PCEMPR.USUARIOBD as "userBD"
,PCEMPR.CODFILIAL as "storeId"
,PCEMPR.FUNCAO as "function"
,PCSETOR.DESCRICAO as "sector"
FROM PCEMPR, PCSETOR
WHERE PCEMPR.CODSETOR = PCSETOR.CODSETOR
AND PCEMPR.DTDEMISSAO IS NULL
ORDER BY PCEMPR.NOME`;
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
return await queryRunner.query(sqlUsers);
} finally {
await queryRunner.release();
}
}
async authenticate(user: UserModel): Promise<any> {
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = 'SELECT PCEMPR.matricula as \"id\" ' +
' ,PCEMPR.usuariobd as \"userName\" ' +
' ,PCEMPR.codfilial as \"codigoFilial\" ' +
' ,PCFILIAL.fantasia as \"nomeFilial\" ' +
' ,PCEMPR.codusur as \"seller\" ' +
' ,NVL(PCEMPR.percdesc,0) as \"discountPercent\" ' +
' ,NVL(PCEMPR.codsetor,0) as \"sectorId\" ' +
' ,NVL(PCPARAMFILIAL.valor,0) as \"sectorManagerId\" ' +
' ,( SELECT PCUSUARI.CODSUPERVISOR FROM PCUSUARI WHERE PCUSUARI.CODUSUR = PCEMPR.CODUSUR ) as \"supervisorId\" ' +
' ,( SELECT NVL(P.valor,0) FROM PCPARAMFILIAL P WHERE P.CODFILIAL = \'99\' AND ' +
' P.NOME = \'CON_PRAZOENTREGA\' ) as \"deliveryTime\" ' +
' FROM PCEMPR, PCFILIAL, PCPARAMFILIAL ' +
' WHERE PCEMPR.CODFILIAL = PCFILIAL.CODIGO (+)' +
' AND PCPARAMFILIAL.CODFILIAL = \'99\' ' +
' AND PCPARAMFILIAL.NOME = \'CON_CODSETORGERENTELOJA\' ' +
' AND PCEMPR.EMAIL = :username AND PCEMPR.SENHABD = CRYPT(:password, USUARIOBD)';
const users = await queryRunner.manager
.query(sql, [user.email, user.password]);
if (users.length == 0) {
return null;
}
// const sqlDiasUteis = 'SELECT ( mv_prox_diautil( (TRUNC(SYSDATE) + :1) + COUNT(1), :2 ) - TRUNC(SYSDATE) ) as "days" ' +
// ' FROM MVDIASUTEIS ' +
// ' WHERE MVDIASUTEIS.CODFILIAL = :3 ' +
// ` AND MVDIASUTEIS.diaentrega = 'N' ` +
// ` AND MVDIASUTEIS.data BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE) + :4 `;
// const sqlDiasUteis = `SELECT CASE WHEN mv_prox_diautil(TRUNC(SYSDATE), :1) > TRUNC(SYSDATE) THEN
// ( ( mv_prox_diautil((mv_prox_diautil(TRUNC(SYSDATE), :2) + :3) + COUNT(1), :4 ) - (mv_prox_diautil(TRUNC(SYSDATE), :5)) ) - 1 )
// ELSE ( mv_prox_diautil((mv_prox_diautil(TRUNC(SYSDATE), :6) + :7) + COUNT(1), :8 ) - (mv_prox_diautil(TRUNC(SYSDATE), :9)) ) END as "days"
// FROM MVDIASUTEIS
// WHERE MVDIASUTEIS.CODFILIAL = :10
// AND MVDIASUTEIS.diaentrega = 'N'
// AND MVDIASUTEIS.data BETWEEN mv_prox_diautil(TRUNC(SYSDATE), :11) AND mv_prox_diautil(TRUNC(SYSDATE), :12) + :13`;
// const deliveryDays = await queryRunner.manager
// .query(sqlDiasUteis, ['6',
// '6', Number.parseInt(users[0].deliveryTime), '6', '6',
// '6', Number.parseInt(users[0].deliveryTime), '6', '6',
// '6',
// '6', '6', Number.parseInt(users[0].deliveryTime)
// ]);
const sqlDiasEntrega = `SELECT ( MAX(MVDIASUTEIS.DATA) - TRUNC(SYSDATE) ) as "days"
FROM MVDIASUTEIS
WHERE MVDIASUTEIS.data BETWEEN TRUNC(SYSDATE)
AND TRUNC(SYSDATE) + :dias`;
const sqlDiasSemEntrega = `SELECT GREATEST(COUNT(1) - 1,0) as "daysNoDelivery"
FROM MVDIASUTEIS
WHERE MVDIASUTEIS.data BETWEEN TRUNC(SYSDATE)
AND TRUNC(SYSDATE) + :dias
AND MVDIASUTEIS.DIAENTREGA = 'N'`;
const deliveryDays2 = await queryRunner.manager
.query(sqlDiasEntrega, [Number.parseInt(users[0].deliveryTime)]);
const noDeliveryDays = await queryRunner.manager
.query(sqlDiasSemEntrega, [Number.parseInt(users[0].deliveryTime)]);
const days = Number.parseInt(deliveryDays2[0].days) +
( noDeliveryDays.length > 0 ? Number.parseInt(noDeliveryDays[0].daysNoDelivery) : 0 );
const userDb = users[0];
console.log(userDb);
if (!isNaN(days)) {
userDb.deliveryTime = days; // deliveryDays[0].days;
}
console.log(days);
console.log(userDb);
return userDb;
} finally {
await queryRunner.release();
await connection.close();
}
}
async discountUser(userId: number): Promise<any> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
return await queryRunner.manager
.getRepository(Pcempr)
.createQueryBuilder('pcempr')
.select("NVL(\"pcempr\".percdesc,0) as \"discountUser\"")
.where("MATRICULA = :userId", { userId })
.getRawOne(); //...authUser,
} finally {
await queryRunner.release();
}
}
async update(email: string, newPassword: string) {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
return await queryRunner.manager
.createQueryBuilder()
.update(User)
.set({ password: newPassword })
.where("EMAIL = :email", { email })
.execute();
} finally {
await queryRunner.release();
}
}
import { UserModel } from '../../domain/models/user.model';
import { HttpException, HttpStatus, Injectable } from "@nestjs/common";
import { User } from 'src/domain/entity/tables/estusuario.enity';
import { Connection, getConnection } from 'typeorm';
import md5 = require('md5');
import { CreateUserModel } from 'src/domain/models/create-user.model';
import { Pcempr } from '../../domain/entity/tables/pcempr.entity';
import { connectionOptions } from 'src/configs/typeorm.config';
@Injectable()
export class UserService {
async create(data: CreateUserModel): Promise<User> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const user = await queryRunner.manager
.getRepository(User)
.createQueryBuilder('estusuario')
.where("\"estusuario\".email = :email", { email: data.email })
.getOne();
if (user != null) {
throw new HttpException("Já existe um usuário cadastrado no sistema com este email", HttpStatus.BAD_REQUEST);
}
} catch (err) {
throw err;
} finally {
await queryRunner.release();
}
const newUser = new User();
newUser.username = data.userName;
newUser.password = md5(data.password).toUpperCase();
newUser.email = data.email;
newUser.role = data.application;
newUser.blocked = "N";
newUser.registration = data.registration;
await getConnection()
.createQueryBuilder()
.insert()
.into(User)
.values(newUser)
.execute();
return newUser;
}
async findAll() {
const sqlUsers = `SELECT PCEMPR.MATRICULA as "userId"
,PCEMPR.NOME||' ('||PCEMPR.MATRICULA||')' as "name"
,PCEMPR.USUARIOBD as "userBD"
,PCEMPR.CODFILIAL as "storeId"
,PCEMPR.FUNCAO as "function"
,PCSETOR.DESCRICAO as "sector"
FROM PCEMPR, PCSETOR
WHERE PCEMPR.CODSETOR = PCSETOR.CODSETOR
AND PCEMPR.DTDEMISSAO IS NULL
ORDER BY PCEMPR.NOME`;
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
return await queryRunner.query(sqlUsers);
} finally {
await queryRunner.release();
}
}
async authenticate(user: UserModel): Promise<any> {
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = 'SELECT PCEMPR.matricula as \"id\" ' +
' ,PCEMPR.usuariobd as \"userName\" ' +
' ,PCEMPR.codfilial as \"codigoFilial\" ' +
' ,PCFILIAL.fantasia as \"nomeFilial\" ' +
' ,PCEMPR.codusur as \"seller\" ' +
' ,NVL(PCEMPR.percdesc,0) as \"discountPercent\" ' +
' ,NVL(PCEMPR.codsetor,0) as \"sectorId\" ' +
' ,NVL(PCPARAMFILIAL.valor,0) as \"sectorManagerId\" ' +
' ,( SELECT PCUSUARI.CODSUPERVISOR FROM PCUSUARI WHERE PCUSUARI.CODUSUR = PCEMPR.CODUSUR ) as \"supervisorId\" ' +
' ,( SELECT NVL(P.valor,0) FROM PCPARAMFILIAL P WHERE P.CODFILIAL = \'99\' AND ' +
' P.NOME = \'CON_PRAZOENTREGA\' ) as \"deliveryTime\" ' +
' FROM PCEMPR, PCFILIAL, PCPARAMFILIAL ' +
' WHERE PCEMPR.CODFILIAL = PCFILIAL.CODIGO (+)' +
' AND PCPARAMFILIAL.CODFILIAL = \'99\' ' +
' AND PCPARAMFILIAL.NOME = \'CON_CODSETORGERENTELOJA\' ' +
' AND PCEMPR.EMAIL = :username AND PCEMPR.SENHABD = CRYPT(:password, USUARIOBD)';
const users = await queryRunner.manager
.query(sql, [user.email, user.password]);
if (users.length == 0) {
return null;
}
// const sqlDiasUteis = 'SELECT ( mv_prox_diautil( (TRUNC(SYSDATE) + :1) + COUNT(1), :2 ) - TRUNC(SYSDATE) ) as "days" ' +
// ' FROM MVDIASUTEIS ' +
// ' WHERE MVDIASUTEIS.CODFILIAL = :3 ' +
// ` AND MVDIASUTEIS.diaentrega = 'N' ` +
// ` AND MVDIASUTEIS.data BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE) + :4 `;
// const sqlDiasUteis = `SELECT CASE WHEN mv_prox_diautil(TRUNC(SYSDATE), :1) > TRUNC(SYSDATE) THEN
// ( ( mv_prox_diautil((mv_prox_diautil(TRUNC(SYSDATE), :2) + :3) + COUNT(1), :4 ) - (mv_prox_diautil(TRUNC(SYSDATE), :5)) ) - 1 )
// ELSE ( mv_prox_diautil((mv_prox_diautil(TRUNC(SYSDATE), :6) + :7) + COUNT(1), :8 ) - (mv_prox_diautil(TRUNC(SYSDATE), :9)) ) END as "days"
// FROM MVDIASUTEIS
// WHERE MVDIASUTEIS.CODFILIAL = :10
// AND MVDIASUTEIS.diaentrega = 'N'
// AND MVDIASUTEIS.data BETWEEN mv_prox_diautil(TRUNC(SYSDATE), :11) AND mv_prox_diautil(TRUNC(SYSDATE), :12) + :13`;
// const deliveryDays = await queryRunner.manager
// .query(sqlDiasUteis, ['6',
// '6', Number.parseInt(users[0].deliveryTime), '6', '6',
// '6', Number.parseInt(users[0].deliveryTime), '6', '6',
// '6',
// '6', '6', Number.parseInt(users[0].deliveryTime)
// ]);
const sqlDiasEntrega = `SELECT ( MAX(MVDIASUTEIS.DATA) - TRUNC(SYSDATE) ) as "days"
FROM MVDIASUTEIS
WHERE MVDIASUTEIS.data BETWEEN TRUNC(SYSDATE)
AND TRUNC(SYSDATE) + :dias`;
const sqlDiasSemEntrega = `SELECT GREATEST(COUNT(1) - 1,0) as "daysNoDelivery"
FROM MVDIASUTEIS
WHERE MVDIASUTEIS.data BETWEEN TRUNC(SYSDATE)
AND TRUNC(SYSDATE) + :dias
AND MVDIASUTEIS.DIAENTREGA = 'N'`;
const deliveryDays2 = await queryRunner.manager
.query(sqlDiasEntrega, [Number.parseInt(users[0].deliveryTime)]);
const noDeliveryDays = await queryRunner.manager
.query(sqlDiasSemEntrega, [Number.parseInt(users[0].deliveryTime)]);
const days = Number.parseInt(deliveryDays2[0].days) +
( noDeliveryDays.length > 0 ? Number.parseInt(noDeliveryDays[0].daysNoDelivery) : 0 );
const userDb = users[0];
console.log(userDb);
if (!isNaN(days)) {
userDb.deliveryTime = days; // deliveryDays[0].days;
}
console.log(days);
console.log(userDb);
return userDb;
} finally {
await queryRunner.release();
await connection.close();
}
}
async discountUser(userId: number): Promise<any> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
return await queryRunner.manager
.getRepository(Pcempr)
.createQueryBuilder('pcempr')
.select("NVL(\"pcempr\".percdesc,0) as \"discountUser\"")
.where("MATRICULA = :userId", { userId })
.getRawOne(); //...authUser,
} finally {
await queryRunner.release();
}
}
async update(email: string, newPassword: string) {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
return await queryRunner.manager
.createQueryBuilder()
.update(User)
.set({ password: newPassword })
.where("EMAIL = :email", { email })
.execute();
} finally {
await queryRunner.release();
}
}
}

View File

@ -1,24 +1,24 @@
import { JwtPayload } from './../interfaces/jwt-payload.interface';
import { Injectable, UnauthorizedException } from "@nestjs/common";
import { PassportStrategy } from "@nestjs/passport";
import { AuthService } from "../services/auth.service";
import { ExtractJwt, Strategy } from 'passport-jwt';
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
constructor(private readonly authService: AuthService){
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKeyProvider: '4557C0D7-DFB0-40DA-BF83-91A75103F7A9', //secretOrKey
})
}
async validate(payload: JwtPayload) {
const user = await this.authService.validateUser(payload);
if (!user) {
throw new UnauthorizedException();
}
return user;
}
import { JwtPayload } from './../interfaces/jwt-payload.interface';
import { Injectable, UnauthorizedException } from "@nestjs/common";
import { PassportStrategy } from "@nestjs/passport";
import { AuthService } from "../services/auth.service";
import { ExtractJwt, Strategy } from 'passport-jwt';
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
constructor(private readonly authService: AuthService){
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKeyProvider: '4557C0D7-DFB0-40DA-BF83-91A75103F7A9', //secretOrKey
})
}
async validate(payload: JwtPayload) {
const user = await this.authService.validateUser(payload);
if (!user) {
throw new UnauthorizedException();
}
return user;
}
}

View File

@ -1,22 +1,22 @@
import { ResultModel } from './../domain/models/result.model';
import { Contract } from './../contracts/contract';
import { CallHandler, ExecutionContext, HttpException, HttpStatus, NestInterceptor } from "@nestjs/common";
import { Observable } from "rxjs";
export class ValidadorInterceptor implements NestInterceptor {
constructor(public contract: Contract){}
intercept(context: ExecutionContext, next: CallHandler<any>): Observable<any> {
const body = context.switchToHttp().getRequest().body;
const valid = this.contract.validade(body);
if (!valid) {
throw new HttpException(new ResultModel(false, 'Ops, algo saiu errado!', null, this.contract.errors), HttpStatus.BAD_REQUEST);
}
return next.handle();
}
import { ResultModel } from './../domain/models/result.model';
import { Contract } from './../contracts/contract';
import { CallHandler, ExecutionContext, HttpException, HttpStatus, NestInterceptor } from "@nestjs/common";
import { Observable } from "rxjs";
export class ValidadorInterceptor implements NestInterceptor {
constructor(public contract: Contract){}
intercept(context: ExecutionContext, next: CallHandler<any>): Observable<any> {
const body = context.switchToHttp().getRequest().body;
const valid = this.contract.validade(body);
if (!valid) {
throw new HttpException(new ResultModel(false, 'Ops, algo saiu errado!', null, this.contract.errors), HttpStatus.BAD_REQUEST);
}
return next.handle();
}
}

View File

@ -1,64 +1,64 @@
import { ResultModel } from '../../domain/models/result.model';
import { CreateDictionaryContract } from '../../contracts/dictionary.contract';
import { ValidadorInterceptor } from '../../Interceptors/validador.interceptor';
import { DictionaryModel } from '../../domain/models/dictionary.model';
import { DictionaryService } from './dictionary.service';
import { Controller, Get, Param, Put, Body, Post, Delete, UseInterceptors, HttpException, HttpStatus, CacheInterceptor, Req } from "@nestjs/common";
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
@ApiTags('BackOffice')
@Controller('v1/dictionary')
export class DictionaryController {
constructor(
private readonly dictionaryService: DictionaryService
){}
@Get()
@UseInterceptors(CacheInterceptor)
@ApiExcludeEndpoint()
async getAll(@Req() req) {
try {
if (req.query['query'])
{
const result = await this.dictionaryService.findByDescription(req.query['query']);
return new ResultModel(true, null, result, []);
}
const dictionaries = await this.dictionaryService.findAll();
return new ResultModel(true, null, dictionaries, []);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível consultar lista de dicionários', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Get(':id')
async get(@Param('id') id: number) {
try {
const dictionary = await this.dictionaryService.find(id);
return new ResultModel(true, null, dictionary, []);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível consultar dicionário.', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Put(':id')
async put(@Param('id') id: number, @Body() dados: DictionaryModel) {
try {
await this.dictionaryService.update(id, dados);
return new ResultModel(true, null, dados, []);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível atualizar dicionário.', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Post()
@UseInterceptors(new ValidadorInterceptor(new CreateDictionaryContract()))
async post(@Body() dados: DictionaryModel) {
return await this.dictionaryService.create(dados);
}
@Delete(':id')
async delete(@Param('id') id: number) {
return await this.dictionaryService.delete(id);
}
import { ResultModel } from '../../domain/models/result.model';
import { CreateDictionaryContract } from '../../contracts/dictionary.contract';
import { ValidadorInterceptor } from '../../Interceptors/validador.interceptor';
import { DictionaryModel } from '../../domain/models/dictionary.model';
import { DictionaryService } from './dictionary.service';
import { Controller, Get, Param, Put, Body, Post, Delete, UseInterceptors, HttpException, HttpStatus, CacheInterceptor, Req } from "@nestjs/common";
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
@ApiTags('BackOffice')
@Controller('v1/dictionary')
export class DictionaryController {
constructor(
private readonly dictionaryService: DictionaryService
){}
@Get()
@UseInterceptors(CacheInterceptor)
@ApiExcludeEndpoint()
async getAll(@Req() req) {
try {
if (req.query['query'])
{
const result = await this.dictionaryService.findByDescription(req.query['query']);
return new ResultModel(true, null, result, []);
}
const dictionaries = await this.dictionaryService.findAll();
return new ResultModel(true, null, dictionaries, []);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível consultar lista de dicionários', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Get(':id')
async get(@Param('id') id: number) {
try {
const dictionary = await this.dictionaryService.find(id);
return new ResultModel(true, null, dictionary, []);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível consultar dicionário.', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Put(':id')
async put(@Param('id') id: number, @Body() dados: DictionaryModel) {
try {
await this.dictionaryService.update(id, dados);
return new ResultModel(true, null, dados, []);
} catch (error) {
throw new HttpException(new ResultModel(false, 'Não foi possível atualizar dicionário.', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Post()
@UseInterceptors(new ValidadorInterceptor(new CreateDictionaryContract()))
async post(@Body() dados: DictionaryModel) {
return await this.dictionaryService.create(dados);
}
@Delete(':id')
async delete(@Param('id') id: number) {
return await this.dictionaryService.delete(id);
}
}

View File

@ -1,30 +1,30 @@
import { User } from '../../domain/entity/tables/estusuario.enity';
import { TypeOrmModule } from '@nestjs/typeorm';
import { DictionaryController } from './dictionary.controller';
import { CacheModule, Module } from "@nestjs/common";
import { DictionaryService } from './dictionary.service';
import { EstAbreviatura } from 'src/domain/entity/tables/estabreviatura.entity';
import { PassportModule } from '@nestjs/passport';
import { JwtModule } from '@nestjs/jwt';
import { JwtStrategy } from '../../Auth/strategies/jwt-strategy';
import { AuthService } from '../../Auth/services/auth.service';
import { UserController } from 'src/Auth/controllers/user.controller';
import { UserService } from 'src/Auth/services/user.service';
@Module({
imports: [CacheModule.register(),
PassportModule.register({
defaultStrategy: 'jwt'
}),
JwtModule.register({
secretOrPrivateKey: '4557C0D7-DFB0-40DA-BF83-91A75103F7A9',
signOptions: {
expiresIn: 3600,
}
}),TypeOrmModule.forFeature([EstAbreviatura, User])],
controllers: [UserController, DictionaryController],
providers: [DictionaryService, UserService, AuthService, JwtStrategy],
})
import { User } from '../../domain/entity/tables/estusuario.enity';
import { TypeOrmModule } from '@nestjs/typeorm';
import { DictionaryController } from './dictionary.controller';
import { CacheModule, Module } from "@nestjs/common";
import { DictionaryService } from './dictionary.service';
import { EstAbreviatura } from 'src/domain/entity/tables/estabreviatura.entity';
import { PassportModule } from '@nestjs/passport';
import { JwtModule } from '@nestjs/jwt';
import { JwtStrategy } from '../../Auth/strategies/jwt-strategy';
import { AuthService } from '../../Auth/services/auth.service';
import { UserController } from 'src/Auth/controllers/user.controller';
import { UserService } from 'src/Auth/services/user.service';
@Module({
imports: [CacheModule.register(),
PassportModule.register({
defaultStrategy: 'jwt'
}),
JwtModule.register({
secretOrPrivateKey: '4557C0D7-DFB0-40DA-BF83-91A75103F7A9',
signOptions: {
expiresIn: 3600,
}
}),TypeOrmModule.forFeature([EstAbreviatura, User])],
controllers: [UserController, DictionaryController],
providers: [DictionaryService, UserService, AuthService, JwtStrategy],
})
export class DictionaryModule {}

View File

@ -1,84 +1,84 @@
import { ResultModel } from '../../domain/models/result.model';
import { DictionaryModel } from '../../domain/models/dictionary.model';
import { EstAbreviatura } from 'src/domain/entity/tables/estabreviatura.entity';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository, getConnection } from 'typeorm';
import { NumberUtils } from 'src/utils/number.utils';
@Injectable()
export class DictionaryService {
constructor(
@InjectRepository(EstAbreviatura)
private dictionaryRepository: Repository<EstAbreviatura>
) { }
async findAll(): Promise<EstAbreviatura[]> {
return await this.dictionaryRepository.find();
}
async findByDescription(description: string): Promise<EstAbreviatura[]> {
return await this.dictionaryRepository
.createQueryBuilder("estabreviatura")
.where("PALAVRA LIKE UPPER(:description)||'%'", { description }
).getMany();
}
async find(id: number): Promise<EstAbreviatura> {
return await this.dictionaryRepository.createQueryBuilder("estabreviatura").where(
"ID = :id", { id: id }
).getOne();
}
async update(id: number, dados: DictionaryModel) {
return await this.dictionaryRepository
.createQueryBuilder()
.update(EstAbreviatura)
.set({ abreviatura: dados.nick, palavra: dados.word })
.where("ID = :id", { id })
.execute();
}
async delete(id: number) {
return await getConnection()
.createQueryBuilder()
.delete()
.from(EstAbreviatura)
.where("ID = :id", { id })
.execute();
}
async create(dados: DictionaryModel) {
try
{
const id = NumberUtils.getNewId(9999, 1);
const newDictionary = new EstAbreviatura();
newDictionary.id = id;
newDictionary.abreviatura = dados.nick;
newDictionary.palavra = dados.word;
await getConnection()
.createQueryBuilder()
.insert()
.into(EstAbreviatura)
.values(newDictionary)
.execute();
return newDictionary;
} catch ( erro ) {
return new ResultModel(true, "Ops! Houve um erro ao criar o Dicionário.", null, erro);
}
}
import { ResultModel } from '../../domain/models/result.model';
import { DictionaryModel } from '../../domain/models/dictionary.model';
import { EstAbreviatura } from 'src/domain/entity/tables/estabreviatura.entity';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository, getConnection } from 'typeorm';
import { NumberUtils } from 'src/utils/number.utils';
@Injectable()
export class DictionaryService {
constructor(
@InjectRepository(EstAbreviatura)
private dictionaryRepository: Repository<EstAbreviatura>
) { }
async findAll(): Promise<EstAbreviatura[]> {
return await this.dictionaryRepository.find();
}
async findByDescription(description: string): Promise<EstAbreviatura[]> {
return await this.dictionaryRepository
.createQueryBuilder("estabreviatura")
.where("PALAVRA LIKE UPPER(:description)||'%'", { description }
).getMany();
}
async find(id: number): Promise<EstAbreviatura> {
return await this.dictionaryRepository.createQueryBuilder("estabreviatura").where(
"ID = :id", { id: id }
).getOne();
}
async update(id: number, dados: DictionaryModel) {
return await this.dictionaryRepository
.createQueryBuilder()
.update(EstAbreviatura)
.set({ abreviatura: dados.nick, palavra: dados.word })
.where("ID = :id", { id })
.execute();
}
async delete(id: number) {
return await getConnection()
.createQueryBuilder()
.delete()
.from(EstAbreviatura)
.where("ID = :id", { id })
.execute();
}
async create(dados: DictionaryModel) {
try
{
const id = NumberUtils.getNewId(9999, 1);
const newDictionary = new EstAbreviatura();
newDictionary.id = id;
newDictionary.abreviatura = dados.nick;
newDictionary.palavra = dados.word;
await getConnection()
.createQueryBuilder()
.insert()
.into(EstAbreviatura)
.values(newDictionary)
.execute();
return newDictionary;
} catch ( erro ) {
return new ResultModel(true, "Ops! Houve um erro ao criar o Dicionário.", null, erro);
}
}
}

View File

@ -1,61 +1,61 @@
import { MeasureProductModel } from '../../domain/models/measureproduct.model';
import { Controller, Get, Param, Put, Body, Post, Delete, HttpException, HttpStatus, Req } from "@nestjs/common";
import { MeasureProductService } from './measureproduct.service';
import { ResultModel } from 'src/domain/models/result.model';
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
@ApiTags('BackOffice')
@Controller('v1/measure')
export class MeasureProductController {
constructor(
private measureProductService: MeasureProductService
){}
@Get()
@ApiExcludeEndpoint()
async getAll(@Req() req) {
try {
if (req.query['query'] || req.query['query'] !== '')
{
const result = await this.measureProductService.findByDescription(req.query['query']);
return new ResultModel(true, null, result, []);
}
const result = await this.measureProductService.findAll();
return new ResultModel(true, null, result, []);
} catch (error) {
console.log(error);
throw new HttpException(new ResultModel(false, 'Não foi possível consultar lista de medidas de produto.', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Get(':id')
@ApiExcludeEndpoint()
async get(@Param('id') id) {
try {
const result =await this.measureProductService.find(id);
return new ResultModel(true, null, result, []);
} catch (error) {
console.log(error);
throw new HttpException(new ResultModel(false, 'Não foi possível consultar lista de medidas de produto.', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Put(':id')
@ApiExcludeEndpoint()
async put(@Param('id') id: number, @Body() body: MeasureProductModel) {
return await this.measureProductService.update(id, body);
}
@Post()
@ApiExcludeEndpoint()
async post(@Body() body: MeasureProductModel) {
return await this.measureProductService.create(body);
}
@Delete(':id')
@ApiExcludeEndpoint()
async delete(@Param('id') id: number) {
return await this.measureProductService.delete(id);
}
import { MeasureProductModel } from '../../domain/models/measureproduct.model';
import { Controller, Get, Param, Put, Body, Post, Delete, HttpException, HttpStatus, Req } from "@nestjs/common";
import { MeasureProductService } from './measureproduct.service';
import { ResultModel } from 'src/domain/models/result.model';
import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
@ApiTags('BackOffice')
@Controller('v1/measure')
export class MeasureProductController {
constructor(
private measureProductService: MeasureProductService
){}
@Get()
@ApiExcludeEndpoint()
async getAll(@Req() req) {
try {
if (req.query['query'] || req.query['query'] !== '')
{
const result = await this.measureProductService.findByDescription(req.query['query']);
return new ResultModel(true, null, result, []);
}
const result = await this.measureProductService.findAll();
return new ResultModel(true, null, result, []);
} catch (error) {
console.log(error);
throw new HttpException(new ResultModel(false, 'Não foi possível consultar lista de medidas de produto.', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Get(':id')
@ApiExcludeEndpoint()
async get(@Param('id') id) {
try {
const result =await this.measureProductService.find(id);
return new ResultModel(true, null, result, []);
} catch (error) {
console.log(error);
throw new HttpException(new ResultModel(false, 'Não foi possível consultar lista de medidas de produto.', {}, error), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Put(':id')
@ApiExcludeEndpoint()
async put(@Param('id') id: number, @Body() body: MeasureProductModel) {
return await this.measureProductService.update(id, body);
}
@Post()
@ApiExcludeEndpoint()
async post(@Body() body: MeasureProductModel) {
return await this.measureProductService.create(body);
}
@Delete(':id')
@ApiExcludeEndpoint()
async delete(@Param('id') id: number) {
return await this.measureProductService.delete(id);
}
}

View File

@ -1,30 +1,30 @@
import { TypeOrmModule } from '@nestjs/typeorm';
import { Module } from "@nestjs/common";
import { PassportModule } from '@nestjs/passport';
import { JwtModule } from '@nestjs/jwt';
import { MeasureProductController } from './measureproduct.controller';
import { MeasureProductService } from './measureproduct.service';
import { Estmedidaproduto } from 'src/domain/entity/tables/estmedidaproduto.entity';
import { AuthService } from 'src/Auth/services/auth.service';
import { JwtStrategy } from 'src/Auth/strategies/jwt-strategy';
import { UserService } from 'src/Auth/services/user.service';
import { User } from 'src/domain/entity/tables/estusuario.enity';
@Module({
imports: [PassportModule.register({
defaultStrategy: 'jwt'
}),
JwtModule.register({
secretOrPrivateKey: '4557C0D7-DFB0-40DA-BF83-91A75103F7A9',
signOptions: {
expiresIn: 3600,
}
}),
TypeOrmModule.forFeature([Estmedidaproduto, User])],
controllers: [MeasureProductController],
providers: [MeasureProductService, UserService, AuthService, JwtStrategy],
})
import { TypeOrmModule } from '@nestjs/typeorm';
import { Module } from "@nestjs/common";
import { PassportModule } from '@nestjs/passport';
import { JwtModule } from '@nestjs/jwt';
import { MeasureProductController } from './measureproduct.controller';
import { MeasureProductService } from './measureproduct.service';
import { Estmedidaproduto } from 'src/domain/entity/tables/estmedidaproduto.entity';
import { AuthService } from 'src/Auth/services/auth.service';
import { JwtStrategy } from 'src/Auth/strategies/jwt-strategy';
import { UserService } from 'src/Auth/services/user.service';
import { User } from 'src/domain/entity/tables/estusuario.enity';
@Module({
imports: [PassportModule.register({
defaultStrategy: 'jwt'
}),
JwtModule.register({
secretOrPrivateKey: '4557C0D7-DFB0-40DA-BF83-91A75103F7A9',
signOptions: {
expiresIn: 3600,
}
}),
TypeOrmModule.forFeature([Estmedidaproduto, User])],
controllers: [MeasureProductController],
providers: [MeasureProductService, UserService, AuthService, JwtStrategy],
})
export class MeasureProductModule {}

View File

@ -1,85 +1,85 @@
import { NumberUtils } from '../../utils/number.utils';
import { MeasureProductModel } from '../../domain/models/measureproduct.model';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Estmedidaproduto } from 'src/domain/entity/tables/estmedidaproduto.entity';
import { Repository } from 'typeorm';
@Injectable()
export class MeasureProductService {
constructor(
@InjectRepository(Estmedidaproduto)
private measureProductRepository: Repository<Estmedidaproduto>
) { }
async findAll(): Promise<Estmedidaproduto[]> {
return await this.measureProductRepository.find();
}
async findByDescription(description: string): Promise<Estmedidaproduto[]> {
return await this.measureProductRepository.createQueryBuilder("ESTMEDIDAPRODUTO").where(
"DESCRICAO LIKE :description||'%'", { description }
).getMany();
}
async find(id: number): Promise<Estmedidaproduto> {
return await this.measureProductRepository.createQueryBuilder("ESTMEDIDAPRODUTO").where(
"IDMEDIDAPRODUTO = :IDMEDIDAPRODUTO", { IDMEDIDAPRODUTO: id }
).getOne();
}
async update(id: number, dados: MeasureProductModel): Promise<boolean> {
await this.measureProductRepository
.createQueryBuilder()
.update('Estmedidaproduto')
.set({ descricao: dados.descricao, abreviatura: dados.abreviatura, quantidade: dados.quantidade, nivel: dados.nivel })
.where("IDMEDIDAPRODUTO = :IDMEDIDAPRODUTO", { IDMEDIDAPRODUTO: id })
.execute();
return Promise.resolve(true);
}
async delete(id: number): Promise<boolean> {
await this.measureProductRepository
.createQueryBuilder()
.delete()
.from('Estmedidaproduto')
.where("IDMEDIDAPRODUTO = :IDMEDIDAPRODUTO", { IDMEDIDAPRODUTO: id })
.execute();
return Promise.resolve(true);
}
async create(dados: MeasureProductModel) {
try
{
const id = NumberUtils.getNewId(999999, 1);
const newEstmedidaproduto = new Estmedidaproduto();
newEstmedidaproduto.idmedidaproduto = id;
newEstmedidaproduto.abreviatura = dados.abreviatura;
newEstmedidaproduto.descricao = dados.descricao;
newEstmedidaproduto.nivel = dados.nivel;
newEstmedidaproduto.quantidade = dados.quantidade;
await this.measureProductRepository
.createQueryBuilder()
.insert()
.into('Estmedidaproduto')
.values(newEstmedidaproduto)
.execute();
return Promise.resolve(true);
} catch( error ) {
console.log(error);
return Promise.resolve(false);
}
}
import { NumberUtils } from '../../utils/number.utils';
import { MeasureProductModel } from '../../domain/models/measureproduct.model';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Estmedidaproduto } from 'src/domain/entity/tables/estmedidaproduto.entity';
import { Repository } from 'typeorm';
@Injectable()
export class MeasureProductService {
constructor(
@InjectRepository(Estmedidaproduto)
private measureProductRepository: Repository<Estmedidaproduto>
) { }
async findAll(): Promise<Estmedidaproduto[]> {
return await this.measureProductRepository.find();
}
async findByDescription(description: string): Promise<Estmedidaproduto[]> {
return await this.measureProductRepository.createQueryBuilder("ESTMEDIDAPRODUTO").where(
"DESCRICAO LIKE :description||'%'", { description }
).getMany();
}
async find(id: number): Promise<Estmedidaproduto> {
return await this.measureProductRepository.createQueryBuilder("ESTMEDIDAPRODUTO").where(
"IDMEDIDAPRODUTO = :IDMEDIDAPRODUTO", { IDMEDIDAPRODUTO: id }
).getOne();
}
async update(id: number, dados: MeasureProductModel): Promise<boolean> {
await this.measureProductRepository
.createQueryBuilder()
.update('Estmedidaproduto')
.set({ descricao: dados.descricao, abreviatura: dados.abreviatura, quantidade: dados.quantidade, nivel: dados.nivel })
.where("IDMEDIDAPRODUTO = :IDMEDIDAPRODUTO", { IDMEDIDAPRODUTO: id })
.execute();
return Promise.resolve(true);
}
async delete(id: number): Promise<boolean> {
await this.measureProductRepository
.createQueryBuilder()
.delete()
.from('Estmedidaproduto')
.where("IDMEDIDAPRODUTO = :IDMEDIDAPRODUTO", { IDMEDIDAPRODUTO: id })
.execute();
return Promise.resolve(true);
}
async create(dados: MeasureProductModel) {
try
{
const id = NumberUtils.getNewId(999999, 1);
const newEstmedidaproduto = new Estmedidaproduto();
newEstmedidaproduto.idmedidaproduto = id;
newEstmedidaproduto.abreviatura = dados.abreviatura;
newEstmedidaproduto.descricao = dados.descricao;
newEstmedidaproduto.nivel = dados.nivel;
newEstmedidaproduto.quantidade = dados.quantidade;
await this.measureProductRepository
.createQueryBuilder()
.insert()
.into('Estmedidaproduto')
.values(newEstmedidaproduto)
.execute();
return Promise.resolve(true);
} catch( error ) {
console.log(error);
return Promise.resolve(false);
}
}
}

View File

@ -1,15 +1,15 @@
/*
https://docs.nestjs.com/modules
*/
import { HttpModule, Module } from '@nestjs/common';
import { WhatsappController } from './whatsapp/whatsapp.controller';
import { WhatsappService } from './whatsapp/whatsapp.service';
@Module({
imports: [HttpModule],
controllers: [WhatsappController],
providers: [WhatsappService,
],
})
export class MessagesModule {}
/*
https://docs.nestjs.com/modules
*/
import { HttpModule, Module } from '@nestjs/common';
import { WhatsappController } from './whatsapp/whatsapp.controller';
import { WhatsappService } from './whatsapp/whatsapp.service';
@Module({
imports: [HttpModule],
controllers: [WhatsappController],
providers: [WhatsappService,
],
})
export class MessagesModule {}

View File

@ -1,42 +1,42 @@
/*
https://docs.nestjs.com/controllers#controllers
*/
import { Body, Controller, HttpException, HttpStatus, Post } from '@nestjs/common';
import { IndexActions } from 'src/domain/models/index-action.model';
import { ResultModel } from 'src/domain/models/result.model';
import { MessageWhatsApp } from '../../../domain/models/message-whatsapp.model';
import { WhatsappService } from './whatsapp.service';
import { ApiExcludeEndpoint } from '@nestjs/swagger';
@Controller('api/v1/message/whatsapp')
export class WhatsappController {
constructor(private readonly whatsappService: WhatsappService){}
@Post('send')
@ApiExcludeEndpoint()
async sendMessage(@Body() message: MessageWhatsApp){
try{
const result = await this.whatsappService.sendMessage(message);
console.log(result);
return result;
} catch(err){
throw new HttpException(new ResultModel(false, 'Não foi possível enviar mensagem para o clientes.', {}, err),
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Post('action')
@ApiExcludeEndpoint()
async createActionIndex(@Body() action: IndexActions){
try{
const result = await this.whatsappService.createActionIndex(action);
console.log(result);
return result;
} catch(err){
throw new HttpException(new ResultModel(false, 'Não foi possível criar pesquisa no INDEX para este cliente.', {}, err),
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}
/*
https://docs.nestjs.com/controllers#controllers
*/
import { Body, Controller, HttpException, HttpStatus, Post } from '@nestjs/common';
import { IndexActions } from 'src/domain/models/index-action.model';
import { ResultModel } from 'src/domain/models/result.model';
import { MessageWhatsApp } from '../../../domain/models/message-whatsapp.model';
import { WhatsappService } from './whatsapp.service';
import { ApiExcludeEndpoint } from '@nestjs/swagger';
@Controller('api/v1/message/whatsapp')
export class WhatsappController {
constructor(private readonly whatsappService: WhatsappService){}
@Post('send')
@ApiExcludeEndpoint()
async sendMessage(@Body() message: MessageWhatsApp){
try{
const result = await this.whatsappService.sendMessage(message);
console.log(result);
return result;
} catch(err){
throw new HttpException(new ResultModel(false, 'Não foi possível enviar mensagem para o clientes.', {}, err),
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Post('action')
@ApiExcludeEndpoint()
async createActionIndex(@Body() action: IndexActions){
try{
const result = await this.whatsappService.createActionIndex(action);
console.log(result);
return result;
} catch(err){
throw new HttpException(new ResultModel(false, 'Não foi possível criar pesquisa no INDEX para este cliente.', {}, err),
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}

View File

@ -1,58 +1,58 @@
import { HttpException, HttpService, HttpStatus, Injectable } from '@nestjs/common';
import { IndexActions, } from 'src/domain/models/index-action.model';
import { MessageWhatsApp } from '../../../domain/models/message-whatsapp.model';
@Injectable()
export class WhatsappService {
constructor(private readonly httpService: HttpService) {}
async sendMessage(message: MessageWhatsApp ) {
// var fs = require('fs');
//'Key ' + 'emFwanVydTppY0NtdXlFc3NvYmpqTkVLSFEwbw=='
const url = `https://takebroadcast.cs.blip.ai/api/v1/Notification`;
try {
const response = await this.httpService
.post(url,
JSON.stringify(message),
{
headers: {
'accept': 'application/json',
'content-type': 'application/json',
'accesskey': 'aWNDbXV5RXNzb2Jqak5FS0hRMG8=',
'identifier': 'zapjuru'
}
})
.toPromise();
return response.data;
} catch (e) {
console.log(e);
throw new HttpException(e.message, HttpStatus.BAD_REQUEST);
}
}
async createActionIndex(action: IndexActions) {
const url = `https://indecx.com/v2/actions/185E2H/invites`;
try {
const response = await this.httpService
.post(url,
JSON.stringify(action),
{
headers: {
'accept': 'application/json',
'content-type': 'application/json',
'company-key': '$2b$10$rlMclOiWPwGgKavwPDFvCOYlDWujMi.h7BGizTxHPVjkn62VCgreO',
}
})
.toPromise();
return response.data;
} catch (e) {
console.log(e);
throw new HttpException(e.message, HttpStatus.BAD_REQUEST);
}
}
}
import { HttpException, HttpService, HttpStatus, Injectable } from '@nestjs/common';
import { IndexActions, } from 'src/domain/models/index-action.model';
import { MessageWhatsApp } from '../../../domain/models/message-whatsapp.model';
@Injectable()
export class WhatsappService {
constructor(private readonly httpService: HttpService) {}
async sendMessage(message: MessageWhatsApp ) {
// var fs = require('fs');
//'Key ' + 'emFwanVydTppY0NtdXlFc3NvYmpqTkVLSFEwbw=='
const url = `https://takebroadcast.cs.blip.ai/api/v1/Notification`;
try {
const response = await this.httpService
.post(url,
JSON.stringify(message),
{
headers: {
'accept': 'application/json',
'content-type': 'application/json',
'accesskey': 'aWNDbXV5RXNzb2Jqak5FS0hRMG8=',
'identifier': 'zapjuru'
}
})
.toPromise();
return response.data;
} catch (e) {
console.log(e);
throw new HttpException(e.message, HttpStatus.BAD_REQUEST);
}
}
async createActionIndex(action: IndexActions) {
const url = `https://indecx.com/v2/actions/185E2H/invites`;
try {
const response = await this.httpService
.post(url,
JSON.stringify(action),
{
headers: {
'accept': 'application/json',
'content-type': 'application/json',
'company-key': '$2b$10$rlMclOiWPwGgKavwPDFvCOYlDWujMi.h7BGizTxHPVjkn62VCgreO',
}
})
.toPromise();
return response.data;
} catch (e) {
console.log(e);
throw new HttpException(e.message, HttpStatus.BAD_REQUEST);
}
}
}

View File

@ -1,32 +1,32 @@
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import { ConnectionOptions } from 'typeorm';
export const typeOrmConfig: TypeOrmModuleOptions = {
type: "oracle",
// host: "192.168.100.40",
// username: "LIVIA",
// password: "LIVIA",
host: "10.1.1.241",
username: "SEVEN",
password: "USR54SEV",
// username: "API",
// password: "E05H5KIEQV3YKDJR",
port: 1521,
sid: "WINT",
synchronize: false,
logging: false,
entities: [__dirname + '/../**/*.entity.{js,ts}'],
autoLoadEntities: true,
};
export const connectionOptions: ConnectionOptions = {
type: "oracle",
host: "10.1.1.241",
username: "SEVEN",
password: "USR54SEV",
port: 1521,
sid: "WINT",
synchronize: false,
logging: false,
entities: [__dirname + '/../**/*.entity.{js,ts}'],
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import { ConnectionOptions } from 'typeorm';
export const typeOrmConfig: TypeOrmModuleOptions = {
type: "oracle",
// host: "192.168.100.40",
// username: "LIVIA",
// password: "LIVIA",
host: "10.1.1.241",
username: "SEVEN",
password: "USR54SEV",
// username: "API",
// password: "E05H5KIEQV3YKDJR",
port: 1521,
sid: "WINT",
synchronize: false,
logging: false,
entities: [__dirname + '/../**/*.entity.{js,ts}'],
autoLoadEntities: true,
};
export const connectionOptions: ConnectionOptions = {
type: "oracle",
host: "10.1.1.241",
username: "SEVEN",
password: "USR54SEV",
port: 1521,
sid: "WINT",
synchronize: false,
logging: false,
entities: [__dirname + '/../**/*.entity.{js,ts}'],
}

View File

@ -1,4 +1,4 @@
export interface Contract {
errors: any[],
validade(model: any): boolean,
export interface Contract {
errors: any[],
validade(model: any): boolean,
}

View File

@ -1,19 +1,19 @@
import { Injectable } from '@nestjs/common';
import { Flunt } from 'src/utils/flunt';
import { DictionaryModel } from './../domain/models/dictionary.model';
import { Contract } from './contract';
@Injectable()
export class CreateDictionaryContract implements Contract {
errors: any[];
validade(model: DictionaryModel): boolean {
const flunt = new Flunt();
flunt.isRequired(model.nick, "Informe a abreviatura do dicionário.");
flunt.hasMinLen(model.word, 5, "Nome do dicionário deve conter no mínimo 5 caracteres.");
this.errors = flunt.errors;
return flunt.errors.length == 0;
}
import { Injectable } from '@nestjs/common';
import { Flunt } from 'src/utils/flunt';
import { DictionaryModel } from './../domain/models/dictionary.model';
import { Contract } from './contract';
@Injectable()
export class CreateDictionaryContract implements Contract {
errors: any[];
validade(model: DictionaryModel): boolean {
const flunt = new Flunt();
flunt.isRequired(model.nick, "Informe a abreviatura do dicionário.");
flunt.hasMinLen(model.word, 5, "Nome do dicionário deve conter no mínimo 5 caracteres.");
this.errors = flunt.errors;
return flunt.errors.length == 0;
}
}

View File

@ -1,47 +1,47 @@
/*
https://docs.nestjs.com/controllers#controllers
*/
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
import { DeliveryOrderModel } from 'src/domain/models/delivery-order.model';
import { ImageOrderModel } from 'src/domain/models/image-order.model';
import { PaymentModel } from 'src/domain/models/payment.model';
import { DeliveryOrderService } from './delivery-order.service';
import { ApiExcludeEndpoint } from '@nestjs/swagger';
@Controller('api/v1/deliveryorder')
export class DeliveryOrderController {
constructor(private readonly deliveryOrderSevive: DeliveryOrderService){}
@Get('protocolo/:shipmentId/:customerId')
@ApiExcludeEndpoint()
async getdeliveryByCustomer(@Param("shipmentId") shipmentId: number, @Param("customerId") customerId: number) {
return await this.deliveryOrderSevive.getDataDelivery(shipmentId, customerId);
}
@Post('protocolo')
@ApiExcludeEndpoint()
async createOrReplaceDeliveryByCustomer(@Body() data: DeliveryOrderModel) {
return await this.deliveryOrderSevive.createOrReplaceDeliveryOrder(data);
}
@Get('images/:shipmentId/:orderId')
@ApiExcludeEndpoint()
async getImagesOrder(@Param("shipmentId") shipmentId: number, @Param("orderId") orderId: number) {
return await this.deliveryOrderSevive.getImageOrder(shipmentId, orderId);
}
@Post('image')
@ApiExcludeEndpoint()
async crateImageOrder(@Body() data: ImageOrderModel) {
return await this.deliveryOrderSevive.createImageOrder(data);
}
@ApiExcludeEndpoint()
@Post('payment')
async createPayment(@Body() data: PaymentModel) {
return await this.deliveryOrderSevive.createPayment(data);
}
}
/*
https://docs.nestjs.com/controllers#controllers
*/
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
import { DeliveryOrderModel } from 'src/domain/models/delivery-order.model';
import { ImageOrderModel } from 'src/domain/models/image-order.model';
import { PaymentModel } from 'src/domain/models/payment.model';
import { DeliveryOrderService } from './delivery-order.service';
import { ApiExcludeEndpoint } from '@nestjs/swagger';
@Controller('api/v1/deliveryorder')
export class DeliveryOrderController {
constructor(private readonly deliveryOrderSevive: DeliveryOrderService){}
@Get('protocolo/:shipmentId/:customerId')
@ApiExcludeEndpoint()
async getdeliveryByCustomer(@Param("shipmentId") shipmentId: number, @Param("customerId") customerId: number) {
return await this.deliveryOrderSevive.getDataDelivery(shipmentId, customerId);
}
@Post('protocolo')
@ApiExcludeEndpoint()
async createOrReplaceDeliveryByCustomer(@Body() data: DeliveryOrderModel) {
return await this.deliveryOrderSevive.createOrReplaceDeliveryOrder(data);
}
@Get('images/:shipmentId/:orderId')
@ApiExcludeEndpoint()
async getImagesOrder(@Param("shipmentId") shipmentId: number, @Param("orderId") orderId: number) {
return await this.deliveryOrderSevive.getImageOrder(shipmentId, orderId);
}
@Post('image')
@ApiExcludeEndpoint()
async crateImageOrder(@Body() data: ImageOrderModel) {
return await this.deliveryOrderSevive.createImageOrder(data);
}
@ApiExcludeEndpoint()
@Post('payment')
async createPayment(@Body() data: PaymentModel) {
return await this.deliveryOrderSevive.createPayment(data);
}
}

View File

@ -1,227 +1,227 @@
/*
https://docs.nestjs.com/providers#services
*/
import { Injectable } from '@nestjs/common';
import { Estprotocoloentrega } from 'src/domain/entity/tables/estprotocolo.entity';
import { DeliveryOrderModel } from 'src/domain/models/delivery-order.model';
import { ImageOrderModel } from 'src/domain/models/image-order.model';
import { PaymentModel } from 'src/domain/models/payment.model';
import { ResultModel } from 'src/domain/models/result.model';
import { getConnection } from 'typeorm';
import { Estimagemnota } from '../../domain/entity/tables/estimagemnota.entity';
import { Estpagamento } from '../../domain/entity/tables/estpagamento.entity';
@Injectable()
export class DeliveryOrderService {
async getDataDelivery(shipmentId: number, customerId: number): Promise<any> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const result = await queryRunner.manager
.getRepository(Estprotocoloentrega)
.createQueryBuilder('estprotocoloentrega')
.where('numcar = :numcar and codcli = :codcli', { numcar: shipmentId, codcli: customerId})
.getOne();
return result; //new ResultModel(true, 'Registro localizado com sucesso!', result, {});
} catch (error) {
console.log(error);
return new ResultModel(false,
'Erro ao atualizar dados de entrega.',
null,
error);
} finally {
await queryRunner.release();
}
}
async createOrReplaceDeliveryOrder(data: DeliveryOrderModel): Promise<any> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
console.log(data);
try {
const updateDelivery = await queryRunner.manager
.getRepository(Estprotocoloentrega)
.createQueryBuilder('estprotocoloentrega')
.where('numcar = :numcar and codcli = :codcli',
{ numcar: data.numeroCarregamento, codcli: data.codigoCliente})
.getOne();
if ( updateDelivery ) {
await queryRunner.manager
.createQueryBuilder()
.update(Estprotocoloentrega)
.set({
dataEntrega: data.dataEntrega,
cpfRecebedor: data.cpfRecebedor,
nomeRecebedor: data.nomeRecebedor,
urlImagemProtocolo: data.urlImagemProtocolo,
latitude: data.latitude,
longitude: data.longitude,
})
.where('numcar = :numcar and codcli = :codcli', { numcar: data.numeroCarregamento, codcli: data.codigoCliente})
.execute()
} else {
await queryRunner.manager
.createQueryBuilder()
.insert()
.into(Estprotocoloentrega)
.values(data)
.execute()
}
await queryRunner.commitTransaction();
return new ResultModel(true, 'Registro atualizado com sucesso!', data, {});
} catch (error) {
await queryRunner.rollbackTransaction();
console.log(error);
return new ResultModel(false,
'Erro ao atualizar dados de entrega.',
null,
error);
} finally {
await queryRunner.release();
}
}
async getImageOrder(shipmentId: number, orderId: number): Promise<any> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const result = await queryRunner.manager
.getRepository(Estimagemnota)
.createQueryBuilder('estimagemnota')
.select(["numnota as \"numeroNota\"", "numped as \"numeroPedido\", numcar as \"numeroCarregamento\""])
.addSelect(["tipo as \"tipo\", data as \"data\", url as \"url\", latitude as \"latitude\", longitude as \"longitude\" "])
.where('numcar = :numcar and numped = :numped ', { numcar: shipmentId, numped: orderId})
.getRawMany();
return result;
} catch (error) {
console.log(error);
return new ResultModel(false,
'Erro ao atualizar imagens da nota fiscal.',
null,
error);
} finally {
await queryRunner.release();
}
}
async createImageOrder(dataImage: ImageOrderModel): Promise<any> {
console.log(dataImage);
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
try {
//const dateDelivery = '2022-04-14T17:52:00';
//dataImage.data = dateDelivery;
//console.log(dataImage);
await queryRunner.manager
.createQueryBuilder()
.insert()
.into(Estimagemnota)
.values(dataImage)
.execute()
await queryRunner.commitTransaction();
return new ResultModel(true, 'Imagens incluídas com sucesso!', dataImage, {});
} catch (error) {
await queryRunner.rollbackTransaction();
console.log(error);
return new ResultModel(false,
'Erro ao incluir imagens da nota fiscal.',
null,
error);
} finally {
await queryRunner.release();
}
}
async createPayment(payment: PaymentModel): Promise<any> {
console.log(payment);
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
try {
let cobranca = 'PAGV';
switch (payment.formaPagto){
case 'credit_card_parcelado':
cobranca = 'PAGP';
break;
case 'debit_card':
cobranca = 'PAGD';
break;
case 'credit_card':
cobranca = 'PAGV';
break;
default:
cobranca = 'DH';
break;
};
await queryRunner.manager
.createQueryBuilder()
.insert()
.into(Estpagamento)
.values({
orderId: payment.orderId,
dataPagamento: payment.dataPagamento,
codigoAutorizacao: payment.idTransacao,
codigoResposta: '00',
dataRequisicao: payment.dataPagamento,
dataServidor: payment.dataPagamento,
estAcquirer: 'pagseguro',
idTransacao: payment.codigoAutorizacao,
nsu: payment.nsu,
parcelas: payment.parcelas,
valor: payment.valor / 100,
nomeBandeira: 'pagseguro',
formaPagto: payment.formaPagto,
codigoFuncionario: null,
cobranca: cobranca
})
.execute()
await queryRunner.commitTransaction();
return new ResultModel(true, 'Pagamento incluído com sucesso!', {}, {});
} catch (error) {
await queryRunner.rollbackTransaction();
console.log(error);
return new ResultModel(false,
'Erro ao pagamento para carrgamento / cliente.',
null,
error);
} finally {
await queryRunner.release();
}
}
}
/*
https://docs.nestjs.com/providers#services
*/
import { Injectable } from '@nestjs/common';
import { Estprotocoloentrega } from 'src/domain/entity/tables/estprotocolo.entity';
import { DeliveryOrderModel } from 'src/domain/models/delivery-order.model';
import { ImageOrderModel } from 'src/domain/models/image-order.model';
import { PaymentModel } from 'src/domain/models/payment.model';
import { ResultModel } from 'src/domain/models/result.model';
import { getConnection } from 'typeorm';
import { Estimagemnota } from '../../domain/entity/tables/estimagemnota.entity';
import { Estpagamento } from '../../domain/entity/tables/estpagamento.entity';
@Injectable()
export class DeliveryOrderService {
async getDataDelivery(shipmentId: number, customerId: number): Promise<any> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const result = await queryRunner.manager
.getRepository(Estprotocoloentrega)
.createQueryBuilder('estprotocoloentrega')
.where('numcar = :numcar and codcli = :codcli', { numcar: shipmentId, codcli: customerId})
.getOne();
return result; //new ResultModel(true, 'Registro localizado com sucesso!', result, {});
} catch (error) {
console.log(error);
return new ResultModel(false,
'Erro ao atualizar dados de entrega.',
null,
error);
} finally {
await queryRunner.release();
}
}
async createOrReplaceDeliveryOrder(data: DeliveryOrderModel): Promise<any> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
console.log(data);
try {
const updateDelivery = await queryRunner.manager
.getRepository(Estprotocoloentrega)
.createQueryBuilder('estprotocoloentrega')
.where('numcar = :numcar and codcli = :codcli',
{ numcar: data.numeroCarregamento, codcli: data.codigoCliente})
.getOne();
if ( updateDelivery ) {
await queryRunner.manager
.createQueryBuilder()
.update(Estprotocoloentrega)
.set({
dataEntrega: data.dataEntrega,
cpfRecebedor: data.cpfRecebedor,
nomeRecebedor: data.nomeRecebedor,
urlImagemProtocolo: data.urlImagemProtocolo,
latitude: data.latitude,
longitude: data.longitude,
})
.where('numcar = :numcar and codcli = :codcli', { numcar: data.numeroCarregamento, codcli: data.codigoCliente})
.execute()
} else {
await queryRunner.manager
.createQueryBuilder()
.insert()
.into(Estprotocoloentrega)
.values(data)
.execute()
}
await queryRunner.commitTransaction();
return new ResultModel(true, 'Registro atualizado com sucesso!', data, {});
} catch (error) {
await queryRunner.rollbackTransaction();
console.log(error);
return new ResultModel(false,
'Erro ao atualizar dados de entrega.',
null,
error);
} finally {
await queryRunner.release();
}
}
async getImageOrder(shipmentId: number, orderId: number): Promise<any> {
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const result = await queryRunner.manager
.getRepository(Estimagemnota)
.createQueryBuilder('estimagemnota')
.select(["numnota as \"numeroNota\"", "numped as \"numeroPedido\", numcar as \"numeroCarregamento\""])
.addSelect(["tipo as \"tipo\", data as \"data\", url as \"url\", latitude as \"latitude\", longitude as \"longitude\" "])
.where('numcar = :numcar and numped = :numped ', { numcar: shipmentId, numped: orderId})
.getRawMany();
return result;
} catch (error) {
console.log(error);
return new ResultModel(false,
'Erro ao atualizar imagens da nota fiscal.',
null,
error);
} finally {
await queryRunner.release();
}
}
async createImageOrder(dataImage: ImageOrderModel): Promise<any> {
console.log(dataImage);
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
try {
//const dateDelivery = '2022-04-14T17:52:00';
//dataImage.data = dateDelivery;
//console.log(dataImage);
await queryRunner.manager
.createQueryBuilder()
.insert()
.into(Estimagemnota)
.values(dataImage)
.execute()
await queryRunner.commitTransaction();
return new ResultModel(true, 'Imagens incluídas com sucesso!', dataImage, {});
} catch (error) {
await queryRunner.rollbackTransaction();
console.log(error);
return new ResultModel(false,
'Erro ao incluir imagens da nota fiscal.',
null,
error);
} finally {
await queryRunner.release();
}
}
async createPayment(payment: PaymentModel): Promise<any> {
console.log(payment);
const connection = getConnection();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
try {
let cobranca = 'PAGV';
switch (payment.formaPagto){
case 'credit_card_parcelado':
cobranca = 'PAGP';
break;
case 'debit_card':
cobranca = 'PAGD';
break;
case 'credit_card':
cobranca = 'PAGV';
break;
default:
cobranca = 'DH';
break;
};
await queryRunner.manager
.createQueryBuilder()
.insert()
.into(Estpagamento)
.values({
orderId: payment.orderId,
dataPagamento: payment.dataPagamento,
codigoAutorizacao: payment.idTransacao,
codigoResposta: '00',
dataRequisicao: payment.dataPagamento,
dataServidor: payment.dataPagamento,
estAcquirer: 'pagseguro',
idTransacao: payment.codigoAutorizacao,
nsu: payment.nsu,
parcelas: payment.parcelas,
valor: payment.valor / 100,
nomeBandeira: 'pagseguro',
formaPagto: payment.formaPagto,
codigoFuncionario: null,
cobranca: cobranca
})
.execute()
await queryRunner.commitTransaction();
return new ResultModel(true, 'Pagamento incluído com sucesso!', {}, {});
} catch (error) {
await queryRunner.rollbackTransaction();
console.log(error);
return new ResultModel(false,
'Erro ao pagamento para carrgamento / cliente.',
null,
error);
} finally {
await queryRunner.release();
}
}
}

View File

@ -25,5 +25,9 @@ export class ShippingController {
return await this.shippingService.GetCollectByCustomer(id);
}
@Get('schedule')
async getDeliverySchedule() {
return await this.shippingService.getDeliverySchedule();
}
}

View File

@ -4,6 +4,7 @@ import { Connection, getConnection } from 'typeorm';
import { ResultModel } from '../../domain/models/result.model';
import { Esvretiralojascliente } from '../../domain/entity/views/esventregaslojascliente.entity';
import { EsvRetiraLojas } from '../../domain/entity/views/esvretiralojas.entity';
import { connectionOptions } from 'src/configs/typeorm.config';
@Injectable()
export class ShippingService {
@ -154,6 +155,62 @@ export class ShippingService {
} finally {
await queryRunner.release();
}
}
async getDeliverySchedule() {
const connection = new Connection(connectionOptions);
await connection.connect();
const queryRunner = connection.createQueryRunner();
await queryRunner.connect();
try {
const sql = `SELECT PCDIASUTEIS.DATA as "dateDelivery",
NVL (PCDIASUTEIS.DIAROTA, 'N') as "delivery",
(PARAMFILIAL.OBTERCOMONUMBER ('CAPACIDADE_LOGISTICA', 12)) as "deliverySize",
ROUND ( (NVL (VENDAS.TOTPESO, 0) / 1000), 3) as "saleWeigth",
ROUND (
GREATEST (
( ( PARAMFILIAL.OBTERCOMONUMBER ('CAPACIDADE_LOGISTICA',
12)
* 1000)
- NVL (VENDAS.TOTPESO, 0))
/ 1000,
0),
3) as "avaliableDelivery"
FROM PCDIASUTEIS,
( SELECT PCPEDC.DTENTREGA, SUM (PCPEDC.TOTPESO) TOTPESO
FROM PCPEDC
WHERE PCPEDC.POSICAO IN ('L', 'M')
AND PCPEDC.CONDVENDA = 8
AND PCPEDC.CODFILIAL IN (12, 13, 4, 6)
AND EXISTS
(SELECT TV7.NUMPED
FROM PCPEDC TV7
WHERE TV7.NUMPED = PCPEDC.NUMPEDENTFUT
AND TV7.POSICAO = 'F')
AND PCPEDC.DTENTREGA >= TRUNC (SYSDATE) + 3
GROUP BY PCPEDC.DTENTREGA) VENDAS
WHERE PCDIASUTEIS.CODFILIAL = 12 AND PCDIASUTEIS.DATA BETWEEN TRUNC (SYSDATE) + 3 AND TRUNC(SYSDATE) + 20 --AND NVL(PCDIASUTEIS.DIAROTA,'N') = 'S'
AND PCDIASUTEIS.DATA = VENDAS.DTENTREGA(+)
ORDER BY PCDIASUTEIS.DATA `;
const data = await queryRunner.query(sql);
const sqlDeliveryDate = `SELECT TRUNC(SYSDATE) + esf_calcular_prazo_entrega_programada(TRUNC(SYSDATE),
'12',
129, '', 0, 500) as "date"
FROM DUAL`;
const dataDeliveryDate = await queryRunner.query(sqlDeliveryDate);
const dataComplete = { dateDelivery: dataDeliveryDate[0].date, deliveries: [...data] };
return dataComplete;
} finally {
await queryRunner.release();
}
}

View File

@ -1,50 +1,50 @@
CREATE OR REPLACE VIEW ESVPRODUTOSVENDA
AS
SELECT ROWNUM SEQ, PCPRODUT.CODPROD, PCPRODUT.DESCRICAO, PCPRODUT.NOMEECOMMERCE, PCPRODUT.CODFAB,
PCPRODUT.CODAUXILIAR, CASE WHEN PCPRODUT.TIPOPRODUTO = 'S' THEN 'SHOWROOM'
WHEN PCPRODUT.TIPOPRODUTO = 'A' THEN 'AUTOSSERVICO'
ELSE 'NÃO DEFINIDO' END TIPOPRODUTO,
PCPRODUT.DADOSTECNICOS, PCPRODUT.INFORMACOESTECNICAS, PCPRODUT.URLIMAGEM,
PCPRODUT.ENVIAECOMMERCE, PCPRODUT.CODMARCA CODIGOMARCA, PCMARCA.MARCA NOMEMARCA,
PCPRODUT.CODEPTO CODIGODEPARTAMENTO, PCDEPTO.DESCRICAO NOMEDEPARTAMENTO,
PCPRODUT.CODSEC CODIGOSECAO, PCSECAO.DESCRICAO NOMESECAO,
PCPRODUT.CODCATEGORIA CODIGOCATEGORIA, PCCATEGORIA.CATEGORIA NOMECATEGORIA,
PCPRODUT.CODFORNEC, PCFORNEC.FORNECEDOR NOMEFORNECEDOR, PCPRODFILIAL.CLASSEESTOQUE,
PCPRODFILIAL.CLASSEVENDA, PCPRODFILIAL.CODFILIAL CODIGOFILIAL
FROM PCPRODUT, PCDEPTO, PCSECAO, PCCATEGORIA, PCMARCA, PCFORNEC, PCPRODFILIAL
WHERE PCPRODUT.DTEXCLUSAO IS NULL
AND NVL(PCPRODUT.OBS,'X') <> 'PV'
AND PCPRODUT.CODEPTO = PCDEPTO.CODEPTO
AND PCPRODUT.CODSEC = PCSECAO.CODSEC
AND PCPRODUT.CODPROD = PCPRODFILIAL.CODPROD
AND PCPRODUT.CODSEC = PCCATEGORIA.CODSEC (+)
AND PCPRODUT.CODCATEGORIA = PCCATEGORIA.CODCATEGORIA (+)
AND PCPRODUT.CODFORNEC = PCFORNEC.CODFORNEC (+)
AND PCPRODUT.CODMARCA = PCMARCA.CODMARCA (+) ;
CREATE OR REPLACE VIEW ESVPRECOVENDA
AS
SELECT PCTABPR.NUMREGIAO NUMEROREGIAO
,PCTABPR.CODPROD
,PCTABPR.PVENDA1 PRECOVENDA
,( SELECT PCPRECOPROM.PRECOFIXO
FROM PCPRECOPROM
WHERE PCPRECOPROM.NUMREGIAO = PCTABPR.NUMREGIAO
AND PCPRECOPROM.CODPROD = PCTABPR.CODPROD
AND TRUNC(SYSDATE) BETWEEN PCPRECOPROM.DTINICIOVIGENCIA AND PCPRECOPROM.DTFIMVIGENCIA ) PRECOOFERTA
FROM PCTABPR
WHERE PCTABPR.PVENDA > 0
AND NVL(PCTABPR.EXCLUIDO, 'N') = 'N';
CREATE OR REPLACE VIEW ESVESTOQUEVENDA
AS
SELECT PCEST.CODFILIAL, PCEST.CODPROD,
( NVL(PCEST.QTESTGER,0) - NVL(PCEST.QTRESERV,0) - NVL(PCEST.QTBLOQUEADA,0) - NVL(PCEST.QTPENDENTE,0) ) QUANTIDADEESTOQUEDISPONIVEL,
( SELECT MIN(PCPEDIDO.dtprevent) FROM PCITEM, PCPEDIDO
WHERE PCITEM.NUMPED = PCPEDIDO.NUMPED
AND ( PCITEM.QTPEDIDA - NVL(PCITEM.QTENTREGUE,0) ) > 0
AND PCITEM.CODPROD = PCEST.CODPROD ) DATAPREVISAOENTREGA
FROM PCEST
WHERE PCEST.CODFILIAL <> '99';
CREATE OR REPLACE VIEW ESVPRODUTOSVENDA
AS
SELECT ROWNUM SEQ, PCPRODUT.CODPROD, PCPRODUT.DESCRICAO, PCPRODUT.NOMEECOMMERCE, PCPRODUT.CODFAB,
PCPRODUT.CODAUXILIAR, CASE WHEN PCPRODUT.TIPOPRODUTO = 'S' THEN 'SHOWROOM'
WHEN PCPRODUT.TIPOPRODUTO = 'A' THEN 'AUTOSSERVICO'
ELSE 'NÃO DEFINIDO' END TIPOPRODUTO,
PCPRODUT.DADOSTECNICOS, PCPRODUT.INFORMACOESTECNICAS, PCPRODUT.URLIMAGEM,
PCPRODUT.ENVIAECOMMERCE, PCPRODUT.CODMARCA CODIGOMARCA, PCMARCA.MARCA NOMEMARCA,
PCPRODUT.CODEPTO CODIGODEPARTAMENTO, PCDEPTO.DESCRICAO NOMEDEPARTAMENTO,
PCPRODUT.CODSEC CODIGOSECAO, PCSECAO.DESCRICAO NOMESECAO,
PCPRODUT.CODCATEGORIA CODIGOCATEGORIA, PCCATEGORIA.CATEGORIA NOMECATEGORIA,
PCPRODUT.CODFORNEC, PCFORNEC.FORNECEDOR NOMEFORNECEDOR, PCPRODFILIAL.CLASSEESTOQUE,
PCPRODFILIAL.CLASSEVENDA, PCPRODFILIAL.CODFILIAL CODIGOFILIAL
FROM PCPRODUT, PCDEPTO, PCSECAO, PCCATEGORIA, PCMARCA, PCFORNEC, PCPRODFILIAL
WHERE PCPRODUT.DTEXCLUSAO IS NULL
AND NVL(PCPRODUT.OBS,'X') <> 'PV'
AND PCPRODUT.CODEPTO = PCDEPTO.CODEPTO
AND PCPRODUT.CODSEC = PCSECAO.CODSEC
AND PCPRODUT.CODPROD = PCPRODFILIAL.CODPROD
AND PCPRODUT.CODSEC = PCCATEGORIA.CODSEC (+)
AND PCPRODUT.CODCATEGORIA = PCCATEGORIA.CODCATEGORIA (+)
AND PCPRODUT.CODFORNEC = PCFORNEC.CODFORNEC (+)
AND PCPRODUT.CODMARCA = PCMARCA.CODMARCA (+) ;
CREATE OR REPLACE VIEW ESVPRECOVENDA
AS
SELECT PCTABPR.NUMREGIAO NUMEROREGIAO
,PCTABPR.CODPROD
,PCTABPR.PVENDA1 PRECOVENDA
,( SELECT PCPRECOPROM.PRECOFIXO
FROM PCPRECOPROM
WHERE PCPRECOPROM.NUMREGIAO = PCTABPR.NUMREGIAO
AND PCPRECOPROM.CODPROD = PCTABPR.CODPROD
AND TRUNC(SYSDATE) BETWEEN PCPRECOPROM.DTINICIOVIGENCIA AND PCPRECOPROM.DTFIMVIGENCIA ) PRECOOFERTA
FROM PCTABPR
WHERE PCTABPR.PVENDA > 0
AND NVL(PCTABPR.EXCLUIDO, 'N') = 'N';
CREATE OR REPLACE VIEW ESVESTOQUEVENDA
AS
SELECT PCEST.CODFILIAL, PCEST.CODPROD,
( NVL(PCEST.QTESTGER,0) - NVL(PCEST.QTRESERV,0) - NVL(PCEST.QTBLOQUEADA,0) - NVL(PCEST.QTPENDENTE,0) ) QUANTIDADEESTOQUEDISPONIVEL,
( SELECT MIN(PCPEDIDO.dtprevent) FROM PCITEM, PCPEDIDO
WHERE PCITEM.NUMPED = PCPEDIDO.NUMPED
AND ( PCITEM.QTPEDIDA - NVL(PCITEM.QTENTREGUE,0) ) > 0
AND PCITEM.CODPROD = PCEST.CODPROD ) DATAPREVISAOENTREGA
FROM PCEST
WHERE PCEST.CODFILIAL <> '99';

View File

@ -1,15 +1,15 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("ESTABREVIATURA")
export class EstAbreviatura {
@PrimaryColumn({ name: 'ID' })
id: number;
@Column({ name: 'ABREVIATURA' })
abreviatura: string;
@Column({ name: 'PALAVRA' })
palavra: string;
}
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("ESTABREVIATURA")
export class EstAbreviatura {
@PrimaryColumn({ name: 'ID' })
id: number;
@Column({ name: 'ABREVIATURA' })
abreviatura: string;
@Column({ name: 'PALAVRA' })
palavra: string;
}

View File

@ -1,33 +1,33 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTAVISOESTOQUE')
export class Estavisoestoque {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'DTINCLUSAO'})
createDate: Date;
@Column({name: 'CODUSUR'})
codusur: number;
@Column({name: 'CPFCNPJ'})
cpf: string;
@Column({name: 'NOME'})
name: string;
@Column({name: 'CELULAR'})
cellPhone: string;
@Column({name: 'EMAIL'})
email: string;
@Column({name: 'CODPROD'})
codprod: number;
@Column({name: 'OBSERVACAO'})
obs: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTAVISOESTOQUE')
export class Estavisoestoque {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'DTINCLUSAO'})
createDate: Date;
@Column({name: 'CODUSUR'})
codusur: number;
@Column({name: 'CPFCNPJ'})
cpf: string;
@Column({name: 'NOME'})
name: string;
@Column({name: 'CELULAR'})
cellPhone: string;
@Column({name: 'EMAIL'})
email: string;
@Column({name: 'CODPROD'})
codprod: number;
@Column({name: 'OBSERVACAO'})
obs: string;
}

View File

@ -1,10 +1,10 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTCATEGORIACLIENTE')
export class Estcategoriacliente {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'DESCRICAO'})
name: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTCATEGORIACLIENTE')
export class Estcategoriacliente {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'DESCRICAO'})
name: string;
}

View File

@ -1,18 +1,18 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTCATEGORIAPARCEIRO')
export class Estcategoriaparceiro {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'TIPO'})
tipo: string;
@Column({name: 'DESCRICAO'})
descricao: string;
@Column({name: 'TIPOPAGTO'})
tipopagto: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTCATEGORIAPARCEIRO')
export class Estcategoriaparceiro {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'TIPO'})
tipo: string;
@Column({name: 'DESCRICAO'})
descricao: string;
@Column({name: 'TIPOPAGTO'})
tipopagto: string;
}

View File

@ -1,33 +1,33 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTFAIXAPARCEIRO')
export class Estfaixaparceiro {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'TIPO'})
tipo: string;
@Column({name: 'FAIXAINI'})
faixaIni: number;
@Column({name: 'FAIXAFIM'})
faixaFim: number;
@Column({name: 'PERCCOMISSAO'})
percComissao: number;
@Column({name: 'DTCADASTRO'})
dtCadastro: Date;
@Column({name: 'CODFUNCCAD'})
codfunccad: number;
@Column({name: 'DTALTERACAO'})
dtAlteracao: Date;
@Column({name: 'CODFUNCALT'})
codfuncalt: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTFAIXAPARCEIRO')
export class Estfaixaparceiro {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'TIPO'})
tipo: string;
@Column({name: 'FAIXAINI'})
faixaIni: number;
@Column({name: 'FAIXAFIM'})
faixaFim: number;
@Column({name: 'PERCCOMISSAO'})
percComissao: number;
@Column({name: 'DTCADASTRO'})
dtCadastro: Date;
@Column({name: 'CODFUNCCAD'})
codfunccad: number;
@Column({name: 'DTALTERACAO'})
dtAlteracao: Date;
@Column({name: 'CODFUNCALT'})
codfuncalt: number;
}

View File

@ -1,30 +1,30 @@
import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity('ESTIMAGEMNOTA')
export class Estimagemnota {
@PrimaryColumn({name: 'NUMPED'})
numeroPedido: number;
@Column({name: 'NUMNOTA'})
numeroNota: number;
@Column({name: 'NUMCAR'})
numeroCarregamento: number;
@Column({name: 'DATA'})
data: Date;
@Column({name: 'TIPO'})
tipo: string;
@Column({name: 'URL'})
url: string;
@Column({name: 'LATITUDE'})
latitude: number;
@Column({name: 'LONGITUDE'})
longitude: number;
import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity('ESTIMAGEMNOTA')
export class Estimagemnota {
@PrimaryColumn({name: 'NUMPED'})
numeroPedido: number;
@Column({name: 'NUMNOTA'})
numeroNota: number;
@Column({name: 'NUMCAR'})
numeroCarregamento: number;
@Column({name: 'DATA'})
data: Date;
@Column({name: 'TIPO'})
tipo: string;
@Column({name: 'URL'})
url: string;
@Column({name: 'LATITUDE'})
latitude: number;
@Column({name: 'LONGITUDE'})
longitude: number;
}

View File

@ -1,21 +1,21 @@
import { PrimaryColumn, Column, Entity } from "typeorm";
@Entity("ESTMEDIDAPRODUTO")
export class Estmedidaproduto {
@PrimaryColumn({name: 'IDMEDIDAPRODUTO'})
idmedidaproduto: number;
@Column({name: 'DESCRICAO'})
descricao: string;
@Column({name: 'ABREVIATURA'})
abreviatura: string;
@Column({name: 'QUANTIDADE'})
quantidade: number;
@Column({name: 'NIVEL'})
nivel: number;
import { PrimaryColumn, Column, Entity } from "typeorm";
@Entity("ESTMEDIDAPRODUTO")
export class Estmedidaproduto {
@PrimaryColumn({name: 'IDMEDIDAPRODUTO'})
idmedidaproduto: number;
@Column({name: 'DESCRICAO'})
descricao: string;
@Column({name: 'ABREVIATURA'})
abreviatura: string;
@Column({name: 'QUANTIDADE'})
quantidade: number;
@Column({name: 'NIVEL'})
nivel: number;
}

View File

@ -1,56 +1,56 @@
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
import { Pcpedc } from "./pcpedc.entity";
@Entity('ESTPAGAMENTO')
export class Estpagamento {
@PrimaryColumn({ name: 'NUMORCA' })
orderId: number;
@PrimaryColumn({ name: 'DTPAGAMENTO' })
dataPagamento: Date;
@Column({ name: 'CODAUTORIZACAO' })
codigoAutorizacao: string;
@Column({ name: 'CODRESPOSTA' })
codigoResposta: string;
@Column({ name: 'DTREQUISICAO' })
dataRequisicao: Date;
@Column({ name: 'DTSERVIDOR' })
dataServidor: Date;
@Column({ name: 'ESTACQUIRER' })
estAcquirer: string;
@Column({ name: 'IDTRANSACAO' })
idTransacao: string;
@Column({ name: 'NSU' })
nsu: string;
@Column({ name: 'PARCELAS' })
parcelas: number;
@Column({ name: 'VALOR' })
valor: number;
@Column({ name: 'NOMEBANDEIRA' })
nomeBandeira: string;
@Column({ name: 'FORMAPAGTO' })
formaPagto: string;
@Column({ name: 'CODFUNC' })
codigoFuncionario: number;
@Column({ name: 'CODCOB' })
cobranca: string;
@ManyToOne(() => Pcpedc, pcpedc => pcpedc.pagamentos)
@JoinColumn({ name: 'NUMORCA' })
pedido: Pcpedc;
}
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
import { Pcpedc } from "./pcpedc.entity";
@Entity('ESTPAGAMENTO')
export class Estpagamento {
@PrimaryColumn({ name: 'NUMORCA' })
orderId: number;
@PrimaryColumn({ name: 'DTPAGAMENTO' })
dataPagamento: Date;
@Column({ name: 'CODAUTORIZACAO' })
codigoAutorizacao: string;
@Column({ name: 'CODRESPOSTA' })
codigoResposta: string;
@Column({ name: 'DTREQUISICAO' })
dataRequisicao: Date;
@Column({ name: 'DTSERVIDOR' })
dataServidor: Date;
@Column({ name: 'ESTACQUIRER' })
estAcquirer: string;
@Column({ name: 'IDTRANSACAO' })
idTransacao: string;
@Column({ name: 'NSU' })
nsu: string;
@Column({ name: 'PARCELAS' })
parcelas: number;
@Column({ name: 'VALOR' })
valor: number;
@Column({ name: 'NOMEBANDEIRA' })
nomeBandeira: string;
@Column({ name: 'FORMAPAGTO' })
formaPagto: string;
@Column({ name: 'CODFUNC' })
codigoFuncionario: number;
@Column({ name: 'CODCOB' })
cobranca: string;
@ManyToOne(() => Pcpedc, pcpedc => pcpedc.pagamentos)
@JoinColumn({ name: 'NUMORCA' })
pedido: Pcpedc;
}

View File

@ -1,108 +1,108 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTPARCEIRO')
export class Estparceiro {
@PrimaryColumn({ name: 'ID'})
public id: number;
@Column({name: 'TIPO'})
public tipo: string;
@Column({name: 'CPF'})
public cpf: string;
@Column({name: 'NOME'})
public nome: string;
@Column({name: 'RG'})
public rg: string;
@Column({name: 'ORGAOEXP'})
public orgaoexp: string;
@Column({name: 'REGPROFISSIONAL'})
public regprofissional: string;
@Column({name: 'CEP'})
public cep: string;
@Column({name: 'CODIBGE'})
public codibge: string;
@Column({name: 'ENDERECO'})
public endereco: string;
@Column({name: 'NUMERO'})
public numero: string;
@Column({name: 'COMPLEMENTO'})
public complemento: string;
@Column({name: 'BAIRRO'})
public bairro: string;
@Column({name: 'CIDADE'})
public cidade: string;
@Column({name: 'ESTADO'})
public estado: string;
@Column({name: 'TELEFONE'})
public telefone: string;
@Column({name: 'EMAIL'})
public email: string;
@Column({name: 'CHAVEPIX'})
public chavepix: string;
@Column({name: 'BANCO'})
public banco: string;
@Column({name: 'AGENCIA'})
public agencia: string;
@Column({name: 'CONTA'})
public conta: string;
@Column({name: 'CODUSUR'})
public codusur: number;
@Column({name: 'CODUSURPARCEIRO'})
public codusurparceiro: number;
@Column({name: 'COMPRADORPJ'})
public compradorPj: string;
@Column({name: 'CODCLI'})
public codcli: number;
@Column({name: 'CODCATEGORIA'})
public codcategoria: number;
@Column({name: 'CODPRACA'})
public codpraca: number;
@Column({name: 'OBSERVACAO'})
public observacao: string;
@Column({name: 'OBSERVACAO2'})
public observacao2: string;
@Column({name: 'PERCCOMISSAO'})
public perccomissao: number;
@Column({name: 'CODFUNCCADASTRO'})
public codfunccadastro: number;
@Column({name: 'DTCADASTRO'})
public dtcadastro: Date;
@Column({name: 'CODFUNCALTERACAO'})
public codfuncalteracao: number;
@Column({name: 'DTALTERACAO'})
public dtalteracao: Date;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTPARCEIRO')
export class Estparceiro {
@PrimaryColumn({ name: 'ID'})
public id: number;
@Column({name: 'TIPO'})
public tipo: string;
@Column({name: 'CPF'})
public cpf: string;
@Column({name: 'NOME'})
public nome: string;
@Column({name: 'RG'})
public rg: string;
@Column({name: 'ORGAOEXP'})
public orgaoexp: string;
@Column({name: 'REGPROFISSIONAL'})
public regprofissional: string;
@Column({name: 'CEP'})
public cep: string;
@Column({name: 'CODIBGE'})
public codibge: string;
@Column({name: 'ENDERECO'})
public endereco: string;
@Column({name: 'NUMERO'})
public numero: string;
@Column({name: 'COMPLEMENTO'})
public complemento: string;
@Column({name: 'BAIRRO'})
public bairro: string;
@Column({name: 'CIDADE'})
public cidade: string;
@Column({name: 'ESTADO'})
public estado: string;
@Column({name: 'TELEFONE'})
public telefone: string;
@Column({name: 'EMAIL'})
public email: string;
@Column({name: 'CHAVEPIX'})
public chavepix: string;
@Column({name: 'BANCO'})
public banco: string;
@Column({name: 'AGENCIA'})
public agencia: string;
@Column({name: 'CONTA'})
public conta: string;
@Column({name: 'CODUSUR'})
public codusur: number;
@Column({name: 'CODUSURPARCEIRO'})
public codusurparceiro: number;
@Column({name: 'COMPRADORPJ'})
public compradorPj: string;
@Column({name: 'CODCLI'})
public codcli: number;
@Column({name: 'CODCATEGORIA'})
public codcategoria: number;
@Column({name: 'CODPRACA'})
public codpraca: number;
@Column({name: 'OBSERVACAO'})
public observacao: string;
@Column({name: 'OBSERVACAO2'})
public observacao2: string;
@Column({name: 'PERCCOMISSAO'})
public perccomissao: number;
@Column({name: 'CODFUNCCADASTRO'})
public codfunccadastro: number;
@Column({name: 'DTCADASTRO'})
public dtcadastro: Date;
@Column({name: 'CODFUNCALTERACAO'})
public codfuncalteracao: number;
@Column({name: 'DTALTERACAO'})
public dtalteracao: Date;
}

View File

@ -1,63 +1,63 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTPREVENDAC')
export class Shopping {
@PrimaryColumn({ name: 'ID' })
id: string;
@Column({ name: 'CODFILIAL' })
store: string;
@Column({ name: 'DATA' })
data: Date;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODENDENTCLI' })
codendentcli: number;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'VLPEDIDO' })
vlpedido: number;
@Column({ name: 'VLTABELA' })
vltabela: number;
@Column({ name: 'VLDESCONTO' })
vldesconto: number;
@Column({name: 'VLCUSTOFIN'})
vlcustofin: number;
@Column({ name: 'CODFUNCAUTOR' })
codfuncautor: number;
@Column({ name: 'VLTAXAENTREGA', type: "decimal", precision: 10, scale: 2, default: 0 })
vltaxaentrega: number;
@Column({ name: 'NUMORCA' })
numorca: number;
@Column({ name: 'NUMPED' })
numped: number;
@Column({ name: 'TOTPESO' })
totpeso: number;
@Column({ name: 'CODFORNECFRETE' })
codfornecfrete: number;
@Column({ name: 'CODTABELAFRETE' })
codtabelafrete: number;
}
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTPREVENDAC')
export class Shopping {
@PrimaryColumn({ name: 'ID' })
id: string;
@Column({ name: 'CODFILIAL' })
store: string;
@Column({ name: 'DATA' })
data: Date;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODENDENTCLI' })
codendentcli: number;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'VLPEDIDO' })
vlpedido: number;
@Column({ name: 'VLTABELA' })
vltabela: number;
@Column({ name: 'VLDESCONTO' })
vldesconto: number;
@Column({name: 'VLCUSTOFIN'})
vlcustofin: number;
@Column({ name: 'CODFUNCAUTOR' })
codfuncautor: number;
@Column({ name: 'VLTAXAENTREGA', type: "decimal", precision: 10, scale: 2, default: 0 })
vltaxaentrega: number;
@Column({ name: 'NUMORCA' })
numorca: number;
@Column({ name: 'NUMPED' })
numped: number;
@Column({ name: 'TOTPESO' })
totpeso: number;
@Column({ name: 'CODFORNECFRETE' })
codfornecfrete: number;
@Column({ name: 'CODTABELAFRETE' })
codtabelafrete: number;
}

View File

@ -1,117 +1,117 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("ESTPREVENDAI")
export class ShoppingItens {
@PrimaryColumn({name: 'ID'})
id: string;
@Column({name: 'IDCART'})
idCart: string;
@Column({name: 'NUMSEQ'})
numSeq: number;
@Column({name: 'CODPROD'})
idProduct: number;
@Column({name: 'CODAUXILIAR'})
ean: number;
@Column({name: 'QT'})
quantity: number;
@Column({name: 'PTABELA'})
listPrice: number;
@Column({name: 'PERCDESC'})
discount: number;
@Column({name: 'VLDESCONTO'})
discountValue: number;
@Column({name: 'PVENDA'})
price: number;
@Column({name: 'VLCUSTOFIN'})
cost: number;
@Column({name: 'DTINCLUSAO', select: false})
createDate: Date;
@Column({name: 'CODFUNC', select: false})
idUser: Date;
@Column({name: 'DTCANCEL', select: false})
cancelDate: Date;
@Column({name: 'DATAVENDA', select: false})
orderDate: Date;
@Column({name: 'NUMPED', select: false})
orderId: number;
@Column({name: 'NOMEECOMMERCE'})
description: string;
@Column({name: 'URLIMAGEM'})
image: string;
@Column({name: 'TIPOPRODUTO'})
productType: string;
@Column({name: 'TIPOENTREGA'})
deliveryType: string;
@Column({name: 'CODFILIALRETIRA'})
stockStore: string;
@Column({name: 'CODUSUR'})
seller: number;
@Column({name: 'PRECOPROMOCAO'})
promotion: number;
@Column({name: 'CODFUNCDESC'})
userDiscount: number;
@Column({name: 'MULTIPLO'})
mutiple: number;
@Column({name: 'DESCRICAOAUXILIAR'})
auxDescription: string;
@Column({name: 'DESCRICAO'})
smallDescription: string;
@Column({name: 'MARCA'})
brand: string;
@Column({name: 'PERCACRESCIMO'})
percentUpQuantity: number;
@Column({name: 'QTACRESCIMO'})
upQuantity: number;
@Column({name: 'BASETINTOMETRICO'})
base: string;
@Column({name: 'LETRATINTOMETRICO'})
letter: string;
@Column({name: 'LINHATINTOMETRICO'})
line: string;
@Column({name: 'CORTINTOMETRICO'})
color: string;
@Column({name: 'LITRAGEM'})
can: number;
@Column({name: 'AMBIENTE'})
environment: string;
@Column({name: 'PRODUTOCOMPREJUNTO'})
productTogether: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("ESTPREVENDAI")
export class ShoppingItens {
@PrimaryColumn({name: 'ID'})
id: string;
@Column({name: 'IDCART'})
idCart: string;
@Column({name: 'NUMSEQ'})
numSeq: number;
@Column({name: 'CODPROD'})
idProduct: number;
@Column({name: 'CODAUXILIAR'})
ean: number;
@Column({name: 'QT'})
quantity: number;
@Column({name: 'PTABELA'})
listPrice: number;
@Column({name: 'PERCDESC'})
discount: number;
@Column({name: 'VLDESCONTO'})
discountValue: number;
@Column({name: 'PVENDA'})
price: number;
@Column({name: 'VLCUSTOFIN'})
cost: number;
@Column({name: 'DTINCLUSAO', select: false})
createDate: Date;
@Column({name: 'CODFUNC', select: false})
idUser: Date;
@Column({name: 'DTCANCEL', select: false})
cancelDate: Date;
@Column({name: 'DATAVENDA', select: false})
orderDate: Date;
@Column({name: 'NUMPED', select: false})
orderId: number;
@Column({name: 'NOMEECOMMERCE'})
description: string;
@Column({name: 'URLIMAGEM'})
image: string;
@Column({name: 'TIPOPRODUTO'})
productType: string;
@Column({name: 'TIPOENTREGA'})
deliveryType: string;
@Column({name: 'CODFILIALRETIRA'})
stockStore: string;
@Column({name: 'CODUSUR'})
seller: number;
@Column({name: 'PRECOPROMOCAO'})
promotion: number;
@Column({name: 'CODFUNCDESC'})
userDiscount: number;
@Column({name: 'MULTIPLO'})
mutiple: number;
@Column({name: 'DESCRICAOAUXILIAR'})
auxDescription: string;
@Column({name: 'DESCRICAO'})
smallDescription: string;
@Column({name: 'MARCA'})
brand: string;
@Column({name: 'PERCACRESCIMO'})
percentUpQuantity: number;
@Column({name: 'QTACRESCIMO'})
upQuantity: number;
@Column({name: 'BASETINTOMETRICO'})
base: string;
@Column({name: 'LETRATINTOMETRICO'})
letter: string;
@Column({name: 'LINHATINTOMETRICO'})
line: string;
@Column({name: 'CORTINTOMETRICO'})
color: string;
@Column({name: 'LITRAGEM'})
can: number;
@Column({name: 'AMBIENTE'})
environment: string;
@Column({name: 'PRODUTOCOMPREJUNTO'})
productTogether: string;
}

View File

@ -1,30 +1,30 @@
import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity("ESTPROTOCOLOENTREGA")
export class Estprotocoloentrega {
@PrimaryColumn({name: 'NUMCAR'})
numeroCarregamento: number;
@Column({name: 'CODCLI'})
codigoCliente: number;
@Column({name: 'DTENTREGA'})
dataEntrega: Date;
@Column({name: 'CPFRECEBEDOR'})
cpfRecebedor: string;
@Column({name: 'NOMERECEBEDOR'})
nomeRecebedor: string;
@Column({name: 'URL_IMAGEMPROTOCOLO'})
urlImagemProtocolo: string;
@Column({name: 'LATITUDE'})
latitude: number;
@Column({name: 'LONGITUDE'})
longitude: number;
import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity("ESTPROTOCOLOENTREGA")
export class Estprotocoloentrega {
@PrimaryColumn({name: 'NUMCAR'})
numeroCarregamento: number;
@Column({name: 'CODCLI'})
codigoCliente: number;
@Column({name: 'DTENTREGA'})
dataEntrega: Date;
@Column({name: 'CPFRECEBEDOR'})
cpfRecebedor: string;
@Column({name: 'NOMERECEBEDOR'})
nomeRecebedor: string;
@Column({name: 'URL_IMAGEMPROTOCOLO'})
urlImagemProtocolo: string;
@Column({name: 'LATITUDE'})
latitude: number;
@Column({name: 'LONGITUDE'})
longitude: number;
}

View File

@ -1,58 +1,58 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTRUPTURA')
export class Estruptura {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'DATA'})
date: Date;
@Column({name: 'CODFILIAL'})
store: string;
@Column({name: 'CODCLI'})
customerId: number;
@Column({name: 'CPF_CNPJ'})
document: string;
@Column({name: 'NOME'})
name: string;
@Column({name: 'CELULAR'})
cellPhone: string;
@Column({name: 'EMAIL'})
email: string;
@Column({name: 'CODUSUR'})
sellerId: number;
@Column({name: 'CODPROD'})
productId: number;
@Column({name: 'QT'})
quantity: number;
}
/* --Script criação tabela
CREATE TABLE ESTRUPTURA (
ID NUMBER(10),
DATA DATE,
CODFILIAL VARCHAR2(2),
CODCLI NUMBER(6),
CPF_CNPJ VARCHAR2(20),
NOME VARCHAR2(100),
CELULAR VARCHAR2(20),
EMAIL VARCHAR2(100),
CODUSUR NUMBER(6),
CODPROD NUMBER(6),
QT NUMBER(22,6) );
CREATE SEQUENCE ESSRUPTURA;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTRUPTURA')
export class Estruptura {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'DATA'})
date: Date;
@Column({name: 'CODFILIAL'})
store: string;
@Column({name: 'CODCLI'})
customerId: number;
@Column({name: 'CPF_CNPJ'})
document: string;
@Column({name: 'NOME'})
name: string;
@Column({name: 'CELULAR'})
cellPhone: string;
@Column({name: 'EMAIL'})
email: string;
@Column({name: 'CODUSUR'})
sellerId: number;
@Column({name: 'CODPROD'})
productId: number;
@Column({name: 'QT'})
quantity: number;
}
/* --Script criação tabela
CREATE TABLE ESTRUPTURA (
ID NUMBER(10),
DATA DATE,
CODFILIAL VARCHAR2(2),
CODCLI NUMBER(6),
CPF_CNPJ VARCHAR2(20),
NOME VARCHAR2(100),
CELULAR VARCHAR2(20),
EMAIL VARCHAR2(100),
CODUSUR NUMBER(6),
CODPROD NUMBER(6),
QT NUMBER(22,6) );
CREATE SEQUENCE ESSRUPTURA;
*/

View File

@ -1,14 +1,14 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTSUBCATEGORIACLIENTE')
export class Estsubcategoriacliente {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'CATEGORIAID'})
categoryId: number;
@Column({name: 'DESCRICAO'})
name: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTSUBCATEGORIACLIENTE')
export class Estsubcategoriacliente {
@PrimaryColumn({name: 'ID'})
id: number;
@Column({name: 'CATEGORIAID'})
categoryId: number;
@Column({name: 'DESCRICAO'})
name: string;
}

View File

@ -1,56 +1,56 @@
import { Pccest } from './pccest.entity';
import { Pccategoria } from './pccategoria.entity';
import { Pcdepto } from 'src/domain/entity/tables/pcdepto.entity';
import { PrimaryColumn, Entity, Column, ManyToOne, JoinColumn } from "typeorm";
import { Pcncm } from './pcncm.entity';
import { Pcsecao } from './pcsecao.entity';
@Entity("ESTTIPOPRODUTO")
export class Esttipoproduto {
@PrimaryColumn({name: 'IDTIPOPRODUTO'})
idTipoProduto: number;
@Column({name: 'NCM'})
ncm: string;
@ManyToOne(() => Pcncm, itemNcm => itemNcm.tiposProduto)
@JoinColumn({ name: 'NCM' })
registroNcm: Pcncm;
@Column({name: 'TIPOPRODUTO'})
tipoProduto: string;
@Column({name: 'SIGLAPRODUTO'})
sigla: string;
@Column({name: 'CODEPTO'})
codigoDepartamento: number;
@Column({name: 'CODSEC'})
codigoSecao: number;
@Column({name: 'CODCATEGORIA'})
codigoCategoria: number;
@Column({name: 'CEST'})
cest: number;
@ManyToOne(() => Pcdepto, departamento => departamento.tiposProduto)
@JoinColumn({ name: 'CODEPTO' })
departamento: Pcdepto;
@ManyToOne(() => Pcsecao, secao => secao.tiposProduto)
@JoinColumn({ name: 'CODSEC' })
secao: Pcsecao;
@ManyToOne(() => Pccategoria, categoria => categoria.tiposProduto)
@JoinColumn({ name: 'CODCATEGORIA' })
categoria: Pccategoria;
@ManyToOne(() => Pccest, itemCest => itemCest.tiposProduto)
@JoinColumn({ name: 'CEST' })
registrocest: Pccest;
import { Pccest } from './pccest.entity';
import { Pccategoria } from './pccategoria.entity';
import { Pcdepto } from 'src/domain/entity/tables/pcdepto.entity';
import { PrimaryColumn, Entity, Column, ManyToOne, JoinColumn } from "typeorm";
import { Pcncm } from './pcncm.entity';
import { Pcsecao } from './pcsecao.entity';
@Entity("ESTTIPOPRODUTO")
export class Esttipoproduto {
@PrimaryColumn({name: 'IDTIPOPRODUTO'})
idTipoProduto: number;
@Column({name: 'NCM'})
ncm: string;
@ManyToOne(() => Pcncm, itemNcm => itemNcm.tiposProduto)
@JoinColumn({ name: 'NCM' })
registroNcm: Pcncm;
@Column({name: 'TIPOPRODUTO'})
tipoProduto: string;
@Column({name: 'SIGLAPRODUTO'})
sigla: string;
@Column({name: 'CODEPTO'})
codigoDepartamento: number;
@Column({name: 'CODSEC'})
codigoSecao: number;
@Column({name: 'CODCATEGORIA'})
codigoCategoria: number;
@Column({name: 'CEST'})
cest: number;
@ManyToOne(() => Pcdepto, departamento => departamento.tiposProduto)
@JoinColumn({ name: 'CODEPTO' })
departamento: Pcdepto;
@ManyToOne(() => Pcsecao, secao => secao.tiposProduto)
@JoinColumn({ name: 'CODSEC' })
secao: Pcsecao;
@ManyToOne(() => Pccategoria, categoria => categoria.tiposProduto)
@JoinColumn({ name: 'CODCATEGORIA' })
categoria: Pccategoria;
@ManyToOne(() => Pccest, itemCest => itemCest.tiposProduto)
@JoinColumn({ name: 'CEST' })
registrocest: Pccest;
}

View File

@ -1,27 +1,27 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTUSUARIO')
export class User {
@PrimaryColumn({name: 'IDUSUARIO'})
id: number;
@Column({name: 'NOME'})
username: string;
@Column({name: 'EMAIL'})
email: string;
@Column({name: 'SENHA', select: false})
password: string;
@Column({name: 'TIPO'})
role: string;
@Column({name: 'BLOQUEADO'})
blocked: string;
@Column({name: 'MATRICULA'})
registration: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTUSUARIO')
export class User {
@PrimaryColumn({name: 'IDUSUARIO'})
id: number;
@Column({name: 'NOME'})
username: string;
@Column({name: 'EMAIL'})
email: string;
@Column({name: 'SENHA', select: false})
password: string;
@Column({name: 'TIPO'})
role: string;
@Column({name: 'BLOQUEADO'})
blocked: string;
@Column({name: 'MATRICULA'})
registration: string;
}

View File

@ -1,44 +1,44 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTVENDA')
export class Sale {
@PrimaryColumn({ name: 'ID' })
id: string;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'CODENDCLI' })
codendcli: number;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'OBSERVACAO1' })
observacao1: string;
@Column({ name: 'OBSERVACAO2' })
observacao2: string;
@Column({ name: 'OBSERVACAO3' })
observacao3: string;
@Column({ name: 'OBSERVACAOENTREGA1' })
observacaoentrega1: string;
@Column({ name: 'OBSERVACAOENTREGA2' })
observacaoentrega2: string;
@Column({ name: 'OBSERVACAOENTREGA3' })
observacaoentrega3: string;
@Column({ name: 'VLFRETE' })
vlfrete: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTVENDA')
export class Sale {
@PrimaryColumn({ name: 'ID' })
id: string;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'CODENDCLI' })
codendcli: number;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'OBSERVACAO1' })
observacao1: string;
@Column({ name: 'OBSERVACAO2' })
observacao2: string;
@Column({ name: 'OBSERVACAO3' })
observacao3: string;
@Column({ name: 'OBSERVACAOENTREGA1' })
observacaoentrega1: string;
@Column({ name: 'OBSERVACAOENTREGA2' })
observacaoentrega2: string;
@Column({ name: 'OBSERVACAOENTREGA3' })
observacaoentrega3: string;
@Column({ name: 'VLFRETE' })
vlfrete: number;
}

View File

@ -1,27 +1,27 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTVENDAPRECLIENTE')
export class Estvendaprecliente {
@PrimaryColumn({ name: 'ID'})
id: number;
@Column({ name: 'IDCART'})
idcart: string;
@Column({ name: 'CPF'})
cpf: string;
@Column({ name: 'NOME'})
nome: string;
@Column({ name: 'TELEFONE'})
telefone: string;
@Column({ name: 'CODUSUR'})
codusur: number;
@Column({ name: 'DTCADASTRO'})
dtcadastro: Date;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESTVENDAPRECLIENTE')
export class Estvendaprecliente {
@PrimaryColumn({ name: 'ID'})
id: number;
@Column({ name: 'IDCART'})
idcart: string;
@Column({ name: 'CPF'})
cpf: string;
@Column({ name: 'NOME'})
nome: string;
@Column({ name: 'TELEFONE'})
telefone: string;
@Column({ name: 'CODUSUR'})
codusur: number;
@Column({ name: 'DTCADASTRO'})
dtcadastro: Date;
}

View File

@ -1,15 +1,15 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("PCCAIXA")
export class Checkout {
@PrimaryColumn({name: "NUMCAIXA"})
id: number;
@Column({name: "DESCRICAO"})
description: string;
@Column({name: "NUMSERIEEQUIP"})
serialNumber: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("PCCAIXA")
export class Checkout {
@PrimaryColumn({name: "NUMCAIXA"})
id: number;
@Column({name: "DESCRICAO"})
description: string;
@Column({name: "NUMSERIEEQUIP"})
serialNumber: string;
}

View File

@ -1,421 +1,421 @@
import { Pcpedc } from './pcpedc.entity';
import { Pcempr } from './pcempr.entity';
import { Entity, Column, PrimaryColumn, OneToMany, OneToOne, JoinColumn } from "typeorm";
import { Pcnfsaid } from "./pcnfsaid.entity";
@Entity('PCCARREG')
export class Pccarreg {
@PrimaryColumn({ name: 'NUMCAR' })
numcar: number;
@Column({ name: 'DTSAIDA' })
dtsaida: Date;
@Column({ name: 'CODMOTORISTA' })
codmotorista: number;
@Column({ name: 'CODVEICULO' })
codveiculo: number;
@Column({ name: 'TOTPESO' })
totpeso: number;
@Column({ name: 'TOTVOLUME' })
totvolume: number;
@Column({ name: 'VLTOTAL' })
vltotal: number;
@Column({ name: 'DTFECHA' })
dtfecha: Date;
@Column({ name: 'DESTINO' })
destino: string;
@Column({ name: 'NUMNOTAS' })
numnotas: number;
@Column({ name: 'CODCAIXA' })
codcaixa: number;
@Column({ name: 'PERCOM' })
percom: number;
@Column({ name: 'NUMENT' })
nument: number;
@Column({ name: 'NUMCID' })
numcid: number;
@Column({ name: 'PREVCHEG' })
prevcheg: Date;
@Column({ name: 'DTRETORNO' })
dtretorno: Date;
@Column({ name: 'CODCONF' })
codconf: number;
@Column({ name: 'DT_CANCEL' })
dt_cancel: Date;
@Column({ name: 'DATAMON' })
datamon: Date;
@Column({ name: 'CODFUNCMON' })
codfuncmon: number;
@Column({ name: 'DATAMAPA' })
datamapa: Date;
@Column({ name: 'CODFUNCMAPA' })
codfuncmapa: number;
@Column({ name: 'NUMVIASMAPA' })
numviasmapa: number;
@Column({ name: 'DTCAIXA' })
dtcaixa: Date;
@Column({ name: 'DTFAT' })
dtfat: Date;
@Column({ name: 'CODFUNCFAT' })
codfuncfat: number;
@Column({ name: 'CODFUNCCANCEL' })
codfunccancel: number;
@Column({ name: 'DATACONF' })
dataconf: Date;
@Column({ name: 'QTITENS' })
qtitens: number;
@Column({ name: 'OBSFATUR' })
obsfatur: string;
@Column({ name: 'TIPOCARGA' })
tipocarga: string;
@Column({ name: 'KMINICIAL' })
kminicial: number;
@Column({ name: 'KMFINAL' })
kmfinal: number;
@Column({ name: 'DTSAIDAVEICULO' })
dtsaidaveiculo: Date;
@Column({ name: 'CODROTAPRINC' })
codrotaprinc: number;
@Column({ name: 'NUMDIARIAS' })
numdiarias: number;
@Column({ name: 'CODFUNCAJUD' })
codfuncajud: number;
@Column({ name: 'PAGCOMMOTMIN' })
pagcommotmin: string;
@Column({ name: 'VLVALERETENCAO' })
vlvaleretencao: number;
@Column({ name: 'HORAFECHA' })
horafecha: number;
@Column({ name: 'MINUTOFECHA' })
minutofecha: number;
@Column({ name: 'NUMCAROL' })
numcarol: number;
@Column({ name: 'CONHECFRETE' })
conhecfrete: string;
@Column({ name: 'NUMCAROPERLOG' })
numcaroperlog: number;
@Column({ name: 'DTFECHACOMISSMOT' })
dtfechacomissmot: Date;
@Column({ name: 'QTCOMBUSTIVEL' })
qtcombustivel: number;
@Column({ name: 'BALCAOBAIXADO' })
balcaobaixado: string;
@Column({ name: 'OBSDESTINO' })
obsdestino: string;
@Column({ name: 'VLFRETE' })
vlfrete: number;
@Column({ name: 'ABASTECIDO' })
abastecido: string;
@Column({ name: 'MAPAGERADOWMS' })
mapageradowms: string;
@Column({ name: 'CONHECGERADO' })
conhecgerado: string;
@Column({ name: 'MAPAGERADOWMSPAL' })
mapageradowmspal: string;
@Column({ name: 'VLCOMBUSTIVEL' })
vlcombustivel: number;
@Column({ name: 'NUMCARWMS' })
numcarwms: number;
@Column({ name: 'QTCAIXAS' })
qtcaixas: number;
@Column({ name: 'HORAMON' })
horamon: number;
@Column({ name: 'MINUTOMON' })
minutomon: number;
@Column({ name: 'DTINICIOCHECKOUT' })
dtiniciocheckout: Date;
@Column({ name: 'DTFIMCHECKOUT' })
dtfimcheckout: Date;
@Column({ name: 'DATAHORAMAPA' })
datahoramapa: Date;
@Column({ name: 'NUMCARBROKER' })
numcarbroker: number;
@Column({ name: 'PERCOMTERC' })
percomterc: number;
@Column({ name: 'PERCOMAJUD' })
percomajud: number;
@Column({ name: 'TIPOCOMISSAO' })
tipocomissao: string;
@Column({ name: 'NUMLANCDIARIA' })
numlancdiaria: number;
@Column({ name: 'CARGASECUNDARIA' })
cargasecundaria: string;
@Column({ name: 'LACRE' })
lacre: string;
@Column({ name: 'VLDIARIA' })
vldiaria: number;
@Column({ name: 'VLDESPAJUDANTE' })
vldespajudante: number;
@Column({ name: 'DATACONFFIM' })
dataconffim: Date;
@Column({ name: 'DTINICIALPEND' })
dtinicialpend: Date;
@Column({ name: 'DTFINALPEND' })
dtfinalpend: Date;
@Column({ name: 'FROTA_PESO' })
frota_peso: number;
@Column({ name: 'CODMOTTRANSBORDO' })
codmottransbordo: number;
@Column({ name: 'CODAJUDTRANSBORDO' })
codajudtransbordo: number;
@Column({ name: 'LANCTOCPAGARFECHCOMISS414' })
lanctocpagarfechcomiss414: string;
@Column({ name: 'DTFECHACOMMOTTRANSB' })
dtfechacommottransb: Date;
@Column({ name: 'DTFECHACOMAJUDTRANSB' })
dtfechacomajudtransb: Date;
@Column({ name: 'DTFECHACOMAJUD' })
dtfechacomajud: Date;
@Column({ name: 'CODFUNCMAPACARAGRUPADO' })
codfuncmapacaragrupado: number;
@Column({ name: 'DATAHORAMAPACARAGRUPADO' })
datahoramapacaragrupado: Date;
@Column({ name: 'NUMCARAGRUPADO' })
numcaragrupado: number;
@Column({ name: 'NUMVIASCARAGRUPADO' })
numviascaragrupado: number;
@Column({ name: 'CODMOTORISTACARAGRUPADO' })
codmotoristacaragrupado: number;
@Column({ name: 'CODVEICULCARAGRUPADO' })
codveiculcaragrupado: number;
@Column({ name: 'DATACARAGRUPADO' })
datacaragrupado: Date;
@Column({ name: 'TRANSFERENCIA' })
transferencia: string;
@Column({ name: 'SEGURADA' })
segurada: string;
@Column({ name: 'CODFILIALSAIDA' })
codfilialsaida: string;
@Column({ name: 'OBSDESTINOAGRUP' })
obsdestinoagrup: string;
@Column({ name: 'DESTINOAGRUP' })
destinoagrup: string;
@Column({ name: 'OBSACERTO' })
obsacerto: string;
@Column({ name: 'VLFIXO' })
vlfixo: number;
@Column({ name: 'VLPED' })
vlped: number;
@Column({ name: 'PERGRIS' })
pergris: number;
@Column({ name: 'VALORKG' })
valorkg: number;
@Column({ name: 'LANCARDESPDESCFINAUTOMATIC' })
lancardespdescfinautomatic: string;
@Column({ name: 'CODFUNCCONF' })
codfuncconf: number;
@Column({ name: 'CODFUNCSAIDACAR' })
codfuncsaidacar: number;
@Column({ name: 'CODFUNCRETORNOCAR' })
codfuncretornocar: number;
@Column({ name: 'SEGUNDOMON' })
segundomon: number;
@Column({ name: 'SEGUNDOSFECHA' })
segundosfecha: number;
@Column({ name: 'NUMONUCARGA' })
numonucarga: string;
@Column({ name: 'NOMEAPROPRIADOCARGA' })
nomeapropriadocarga: string;
@Column({ name: 'DIVISAOCARGA' })
divisaocarga: string;
@Column({ name: 'GRUPOEMBCARGA' })
grupoembcarga: string;
@Column({ name: 'QTDTOTALPRODCARGA' })
qtdtotalprodcarga: string;
@Column({ name: 'PONTOFUGORCARGA' })
pontofugorcarga: string;
@Column({ name: 'CODVEICULO1' })
codveiculo1: number;
@Column({ name: 'CODVEICULO2' })
codveiculo2: number;
@Column({ name: 'CODFUNCAJUD2' })
codfuncajud2: number;
@Column({ name: 'CODFUNCAJUD3' })
codfuncajud3: number;
@Column({ name: 'GEOVOLUMETOTAL' })
geovolumetotal: number;
@Column({ name: 'DTEXPORTACAO' })
dtexportacao: Date;
@Column({ name: 'OBSEXPORTACAO' })
obsexportacao: string;
@Column({ name: 'IDINTEGRACAOMYFROTA' })
idintegracaomyfrota: string;
@Column({ name: 'CODTIPOVEICULO' })
codtipoveiculo: number;
@Column({ name: 'CODPERFILVEICULO' })
codperfilveiculo: number;
@Column({ name: 'TIPOCALCULOCOMISSAOFRETISTA' })
tipocalculocomissaofretista: string;
@Column({ name: 'CODFUNTIPOCALCCOMISSAOFRETISTA' })
codfuntipocalccomissaofretista: number;
@Column({ name: 'LIBERA_RETAGUARDA' })
libera_retaguarda: string;
@Column({ name: 'CODFUNCLIBEROURET' })
codfuncliberouret: number;
@Column({ name: 'DATALIBEROURET' })
dataliberouret: Date;
@Column({ name: 'NUMCARMANIFCONCLUIDOFV' })
numcarmanifconcluidofv: string;
@Column({ name: 'CODFUNCFECHA' })
codfuncfecha: number;
@Column({ name: 'OBSFRETE' })
obsfrete: string;
@Column({ name: 'LANCIMPPRIMPARC' })
lancimpprimparc: string;
@Column({ name: 'NUMONDA' })
numonda: number;
@Column({ name: 'ORDEMSEP' })
ordemsep: number;
@Column({ name: 'ORDEMCONF' })
ordemconf: number;
@Column({ name: 'IDSOFITVIEW' })
idsofitview: string;
@Column({ name: 'ULTIMASITUACAOCFAT' })
ultimasituacaocfat: string;
@Column({ name: 'DATAULTIMASITUACAOCFAT' })
dataultimasituacaocfat: Date;
@OneToMany(type => Pcnfsaid, notas => notas.pccarreg)
notas: Pcnfsaid[];
@OneToMany(type => Pcpedc, pedidos => pedidos.pccarreg)
pedidos: Pcnfsaid[];
@OneToOne(type => Pcempr)
@JoinColumn({ name: 'CODMOTORISTA' })
motorista: Pcempr;
import { Pcpedc } from './pcpedc.entity';
import { Pcempr } from './pcempr.entity';
import { Entity, Column, PrimaryColumn, OneToMany, OneToOne, JoinColumn } from "typeorm";
import { Pcnfsaid } from "./pcnfsaid.entity";
@Entity('PCCARREG')
export class Pccarreg {
@PrimaryColumn({ name: 'NUMCAR' })
numcar: number;
@Column({ name: 'DTSAIDA' })
dtsaida: Date;
@Column({ name: 'CODMOTORISTA' })
codmotorista: number;
@Column({ name: 'CODVEICULO' })
codveiculo: number;
@Column({ name: 'TOTPESO' })
totpeso: number;
@Column({ name: 'TOTVOLUME' })
totvolume: number;
@Column({ name: 'VLTOTAL' })
vltotal: number;
@Column({ name: 'DTFECHA' })
dtfecha: Date;
@Column({ name: 'DESTINO' })
destino: string;
@Column({ name: 'NUMNOTAS' })
numnotas: number;
@Column({ name: 'CODCAIXA' })
codcaixa: number;
@Column({ name: 'PERCOM' })
percom: number;
@Column({ name: 'NUMENT' })
nument: number;
@Column({ name: 'NUMCID' })
numcid: number;
@Column({ name: 'PREVCHEG' })
prevcheg: Date;
@Column({ name: 'DTRETORNO' })
dtretorno: Date;
@Column({ name: 'CODCONF' })
codconf: number;
@Column({ name: 'DT_CANCEL' })
dt_cancel: Date;
@Column({ name: 'DATAMON' })
datamon: Date;
@Column({ name: 'CODFUNCMON' })
codfuncmon: number;
@Column({ name: 'DATAMAPA' })
datamapa: Date;
@Column({ name: 'CODFUNCMAPA' })
codfuncmapa: number;
@Column({ name: 'NUMVIASMAPA' })
numviasmapa: number;
@Column({ name: 'DTCAIXA' })
dtcaixa: Date;
@Column({ name: 'DTFAT' })
dtfat: Date;
@Column({ name: 'CODFUNCFAT' })
codfuncfat: number;
@Column({ name: 'CODFUNCCANCEL' })
codfunccancel: number;
@Column({ name: 'DATACONF' })
dataconf: Date;
@Column({ name: 'QTITENS' })
qtitens: number;
@Column({ name: 'OBSFATUR' })
obsfatur: string;
@Column({ name: 'TIPOCARGA' })
tipocarga: string;
@Column({ name: 'KMINICIAL' })
kminicial: number;
@Column({ name: 'KMFINAL' })
kmfinal: number;
@Column({ name: 'DTSAIDAVEICULO' })
dtsaidaveiculo: Date;
@Column({ name: 'CODROTAPRINC' })
codrotaprinc: number;
@Column({ name: 'NUMDIARIAS' })
numdiarias: number;
@Column({ name: 'CODFUNCAJUD' })
codfuncajud: number;
@Column({ name: 'PAGCOMMOTMIN' })
pagcommotmin: string;
@Column({ name: 'VLVALERETENCAO' })
vlvaleretencao: number;
@Column({ name: 'HORAFECHA' })
horafecha: number;
@Column({ name: 'MINUTOFECHA' })
minutofecha: number;
@Column({ name: 'NUMCAROL' })
numcarol: number;
@Column({ name: 'CONHECFRETE' })
conhecfrete: string;
@Column({ name: 'NUMCAROPERLOG' })
numcaroperlog: number;
@Column({ name: 'DTFECHACOMISSMOT' })
dtfechacomissmot: Date;
@Column({ name: 'QTCOMBUSTIVEL' })
qtcombustivel: number;
@Column({ name: 'BALCAOBAIXADO' })
balcaobaixado: string;
@Column({ name: 'OBSDESTINO' })
obsdestino: string;
@Column({ name: 'VLFRETE' })
vlfrete: number;
@Column({ name: 'ABASTECIDO' })
abastecido: string;
@Column({ name: 'MAPAGERADOWMS' })
mapageradowms: string;
@Column({ name: 'CONHECGERADO' })
conhecgerado: string;
@Column({ name: 'MAPAGERADOWMSPAL' })
mapageradowmspal: string;
@Column({ name: 'VLCOMBUSTIVEL' })
vlcombustivel: number;
@Column({ name: 'NUMCARWMS' })
numcarwms: number;
@Column({ name: 'QTCAIXAS' })
qtcaixas: number;
@Column({ name: 'HORAMON' })
horamon: number;
@Column({ name: 'MINUTOMON' })
minutomon: number;
@Column({ name: 'DTINICIOCHECKOUT' })
dtiniciocheckout: Date;
@Column({ name: 'DTFIMCHECKOUT' })
dtfimcheckout: Date;
@Column({ name: 'DATAHORAMAPA' })
datahoramapa: Date;
@Column({ name: 'NUMCARBROKER' })
numcarbroker: number;
@Column({ name: 'PERCOMTERC' })
percomterc: number;
@Column({ name: 'PERCOMAJUD' })
percomajud: number;
@Column({ name: 'TIPOCOMISSAO' })
tipocomissao: string;
@Column({ name: 'NUMLANCDIARIA' })
numlancdiaria: number;
@Column({ name: 'CARGASECUNDARIA' })
cargasecundaria: string;
@Column({ name: 'LACRE' })
lacre: string;
@Column({ name: 'VLDIARIA' })
vldiaria: number;
@Column({ name: 'VLDESPAJUDANTE' })
vldespajudante: number;
@Column({ name: 'DATACONFFIM' })
dataconffim: Date;
@Column({ name: 'DTINICIALPEND' })
dtinicialpend: Date;
@Column({ name: 'DTFINALPEND' })
dtfinalpend: Date;
@Column({ name: 'FROTA_PESO' })
frota_peso: number;
@Column({ name: 'CODMOTTRANSBORDO' })
codmottransbordo: number;
@Column({ name: 'CODAJUDTRANSBORDO' })
codajudtransbordo: number;
@Column({ name: 'LANCTOCPAGARFECHCOMISS414' })
lanctocpagarfechcomiss414: string;
@Column({ name: 'DTFECHACOMMOTTRANSB' })
dtfechacommottransb: Date;
@Column({ name: 'DTFECHACOMAJUDTRANSB' })
dtfechacomajudtransb: Date;
@Column({ name: 'DTFECHACOMAJUD' })
dtfechacomajud: Date;
@Column({ name: 'CODFUNCMAPACARAGRUPADO' })
codfuncmapacaragrupado: number;
@Column({ name: 'DATAHORAMAPACARAGRUPADO' })
datahoramapacaragrupado: Date;
@Column({ name: 'NUMCARAGRUPADO' })
numcaragrupado: number;
@Column({ name: 'NUMVIASCARAGRUPADO' })
numviascaragrupado: number;
@Column({ name: 'CODMOTORISTACARAGRUPADO' })
codmotoristacaragrupado: number;
@Column({ name: 'CODVEICULCARAGRUPADO' })
codveiculcaragrupado: number;
@Column({ name: 'DATACARAGRUPADO' })
datacaragrupado: Date;
@Column({ name: 'TRANSFERENCIA' })
transferencia: string;
@Column({ name: 'SEGURADA' })
segurada: string;
@Column({ name: 'CODFILIALSAIDA' })
codfilialsaida: string;
@Column({ name: 'OBSDESTINOAGRUP' })
obsdestinoagrup: string;
@Column({ name: 'DESTINOAGRUP' })
destinoagrup: string;
@Column({ name: 'OBSACERTO' })
obsacerto: string;
@Column({ name: 'VLFIXO' })
vlfixo: number;
@Column({ name: 'VLPED' })
vlped: number;
@Column({ name: 'PERGRIS' })
pergris: number;
@Column({ name: 'VALORKG' })
valorkg: number;
@Column({ name: 'LANCARDESPDESCFINAUTOMATIC' })
lancardespdescfinautomatic: string;
@Column({ name: 'CODFUNCCONF' })
codfuncconf: number;
@Column({ name: 'CODFUNCSAIDACAR' })
codfuncsaidacar: number;
@Column({ name: 'CODFUNCRETORNOCAR' })
codfuncretornocar: number;
@Column({ name: 'SEGUNDOMON' })
segundomon: number;
@Column({ name: 'SEGUNDOSFECHA' })
segundosfecha: number;
@Column({ name: 'NUMONUCARGA' })
numonucarga: string;
@Column({ name: 'NOMEAPROPRIADOCARGA' })
nomeapropriadocarga: string;
@Column({ name: 'DIVISAOCARGA' })
divisaocarga: string;
@Column({ name: 'GRUPOEMBCARGA' })
grupoembcarga: string;
@Column({ name: 'QTDTOTALPRODCARGA' })
qtdtotalprodcarga: string;
@Column({ name: 'PONTOFUGORCARGA' })
pontofugorcarga: string;
@Column({ name: 'CODVEICULO1' })
codveiculo1: number;
@Column({ name: 'CODVEICULO2' })
codveiculo2: number;
@Column({ name: 'CODFUNCAJUD2' })
codfuncajud2: number;
@Column({ name: 'CODFUNCAJUD3' })
codfuncajud3: number;
@Column({ name: 'GEOVOLUMETOTAL' })
geovolumetotal: number;
@Column({ name: 'DTEXPORTACAO' })
dtexportacao: Date;
@Column({ name: 'OBSEXPORTACAO' })
obsexportacao: string;
@Column({ name: 'IDINTEGRACAOMYFROTA' })
idintegracaomyfrota: string;
@Column({ name: 'CODTIPOVEICULO' })
codtipoveiculo: number;
@Column({ name: 'CODPERFILVEICULO' })
codperfilveiculo: number;
@Column({ name: 'TIPOCALCULOCOMISSAOFRETISTA' })
tipocalculocomissaofretista: string;
@Column({ name: 'CODFUNTIPOCALCCOMISSAOFRETISTA' })
codfuntipocalccomissaofretista: number;
@Column({ name: 'LIBERA_RETAGUARDA' })
libera_retaguarda: string;
@Column({ name: 'CODFUNCLIBEROURET' })
codfuncliberouret: number;
@Column({ name: 'DATALIBEROURET' })
dataliberouret: Date;
@Column({ name: 'NUMCARMANIFCONCLUIDOFV' })
numcarmanifconcluidofv: string;
@Column({ name: 'CODFUNCFECHA' })
codfuncfecha: number;
@Column({ name: 'OBSFRETE' })
obsfrete: string;
@Column({ name: 'LANCIMPPRIMPARC' })
lancimpprimparc: string;
@Column({ name: 'NUMONDA' })
numonda: number;
@Column({ name: 'ORDEMSEP' })
ordemsep: number;
@Column({ name: 'ORDEMCONF' })
ordemconf: number;
@Column({ name: 'IDSOFITVIEW' })
idsofitview: string;
@Column({ name: 'ULTIMASITUACAOCFAT' })
ultimasituacaocfat: string;
@Column({ name: 'DATAULTIMASITUACAOCFAT' })
dataultimasituacaocfat: Date;
@OneToMany(type => Pcnfsaid, notas => notas.pccarreg)
notas: Pcnfsaid[];
@OneToMany(type => Pcpedc, pedidos => pedidos.pccarreg)
pedidos: Pcnfsaid[];
@OneToOne(type => Pcempr)
@JoinColumn({ name: 'CODMOTORISTA' })
motorista: Pcempr;
}

View File

@ -1,25 +1,25 @@
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from './esttipoproduto.entity';
import { Pcsecao } from './pcsecao.entity';
@Entity("PCCATEGORIA")
export class Pccategoria {
@PrimaryColumn({name: "CODSEC"})
codigoSecao: number;
@PrimaryColumn({name: "CODCATEGORIA"})
codigoCategoria: number;
@Column({name: "CATEGORIA"})
descricao: string;
@ManyToOne(() => Pcsecao, secao => secao.categorias)
@JoinColumn({name: 'CODSEC'})
secao: Pcsecao;
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.categoria)
tiposProduto: Esttipoproduto[];
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from './esttipoproduto.entity';
import { Pcsecao } from './pcsecao.entity';
@Entity("PCCATEGORIA")
export class Pccategoria {
@PrimaryColumn({name: "CODSEC"})
codigoSecao: number;
@PrimaryColumn({name: "CODCATEGORIA"})
codigoCategoria: number;
@Column({name: "CATEGORIA"})
descricao: string;
@ManyToOne(() => Pcsecao, secao => secao.categorias)
@JoinColumn({name: 'CODSEC'})
secao: Pcsecao;
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.categoria)
tiposProduto: Esttipoproduto[];
}

View File

@ -1,22 +1,22 @@
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from "./esttipoproduto.entity";
@Entity("PCCEST")
export class Pccest {
@PrimaryColumn({name: "CODIGO"})
codigo: number;
@Column({name: "CODCEST"})
codigoCest: string;
@Column({name: "DESCRICAOCEST"})
descricao: string;
@Column({name: "NCM"})
codigoNcm: string;
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.registrocest)
tiposProduto: Esttipoproduto[];
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from "./esttipoproduto.entity";
@Entity("PCCEST")
export class Pccest {
@PrimaryColumn({name: "CODIGO"})
codigo: number;
@Column({name: "CODCEST"})
codigoCest: string;
@Column({name: "DESCRICAOCEST"})
descricao: string;
@Column({name: "NCM"})
codigoNcm: string;
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.registrocest)
tiposProduto: Esttipoproduto[];
}

View File

@ -1,38 +1,38 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCCIDADE')
export class Pccidade {
@PrimaryColumn({ name: 'CODCIDADE' })
codcidade: number;
@Column({ name: 'NOMECIDADE' })
nomecidade: string;
@Column({ name: 'CODIBGE' })
codibge: number;
@Column({ name: 'UF' })
uf: string;
@Column({ name: 'POPULACAO' })
populacao: number;
@Column({ name: 'CODMUNESTADUAL' })
codmunestadual: number;
@Column({ name: 'UTILIZAFRETETRANSP' })
utilizafretetransp: string;
@Column({ name: 'CODMUNSIAFI' })
codmunsiafi: number;
@Column({ name: 'DTMXSALTER' })
dtmxsalter: Date;
@Column({ name: 'LATITUDE' })
latitude: string;
@Column({ name: 'LONGITUDE' })
longitude: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCCIDADE')
export class Pccidade {
@PrimaryColumn({ name: 'CODCIDADE' })
codcidade: number;
@Column({ name: 'NOMECIDADE' })
nomecidade: string;
@Column({ name: 'CODIBGE' })
codibge: number;
@Column({ name: 'UF' })
uf: string;
@Column({ name: 'POPULACAO' })
populacao: number;
@Column({ name: 'CODMUNESTADUAL' })
codmunestadual: number;
@Column({ name: 'UTILIZAFRETETRANSP' })
utilizafretetransp: string;
@Column({ name: 'CODMUNSIAFI' })
codmunsiafi: number;
@Column({ name: 'DTMXSALTER' })
dtmxsalter: Date;
@Column({ name: 'LATITUDE' })
latitude: string;
@Column({ name: 'LONGITUDE' })
longitude: string;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,82 +1,82 @@
import { Pcpedc } from './pcpedc.entity';
import { Entity, Column, PrimaryColumn, OneToMany } from "typeorm";
@Entity('PCCLIENTENDENT')
export class Pcclientendent {
@PrimaryColumn({name: 'CODCLI'})
codcli: number;
@PrimaryColumn({name: 'CODENDENTCLI'})
codendentcli: number;
@Column({name: 'BAIRROENT'})
bairroent: string;
@Column({name: 'MUNICENT'})
municent: string;
@Column({name: 'ESTENT'})
estent: string;
@Column({name: 'CEPENT'})
cepent: string;
@Column({name: 'ENDERENT'})
enderent: string;
@Column({name: 'COMPLEMENTOENT'})
complementoent: string;
@Column({name: 'NUMEROENT'})
numeroent: string;
@Column({name: 'CODMUNICIPIO'})
codmunicipio: number;
@Column({name: 'CODCIDADE'})
codcidade: number;
@Column({name: 'PONTOREFER'})
pontorefer: string;
@Column({name: 'LONGITUDE'})
longitude: string;
@Column({name: 'LATITUDE'})
latitude: string;
@Column({name: 'OBSERVACAO'})
observacao: string;
@Column({name: 'FONERECEBEDOR'})
fonerecebedor: number;
@Column({name: 'TELENT'})
telent: string;
@Column({name: 'CODPRACAENT'})
codpracaent: number;
@Column({name: 'EMAILRECEBEDOR'})
emailRecebedor: string;
@Column({name: 'RAZAORECEBEDOR'})
razaorecebedor: string;
@Column({name: 'NUMREGIAO'})
numregiao: number;
@Column({name: 'FANTASIA'})
fantasia: string;
@Column({name: 'CEPRECEBEDOR'})
ceprecebedor: string;
@Column({name: 'CODPAISRECEBEDOR'})
codpaisrecebedor: number;
@OneToMany(() => Pcpedc, pedidos => pedidos.pcclientendent)
pedidos: Pcpedc[];
import { Pcpedc } from './pcpedc.entity';
import { Entity, Column, PrimaryColumn, OneToMany } from "typeorm";
@Entity('PCCLIENTENDENT')
export class Pcclientendent {
@PrimaryColumn({name: 'CODCLI'})
codcli: number;
@PrimaryColumn({name: 'CODENDENTCLI'})
codendentcli: number;
@Column({name: 'BAIRROENT'})
bairroent: string;
@Column({name: 'MUNICENT'})
municent: string;
@Column({name: 'ESTENT'})
estent: string;
@Column({name: 'CEPENT'})
cepent: string;
@Column({name: 'ENDERENT'})
enderent: string;
@Column({name: 'COMPLEMENTOENT'})
complementoent: string;
@Column({name: 'NUMEROENT'})
numeroent: string;
@Column({name: 'CODMUNICIPIO'})
codmunicipio: number;
@Column({name: 'CODCIDADE'})
codcidade: number;
@Column({name: 'PONTOREFER'})
pontorefer: string;
@Column({name: 'LONGITUDE'})
longitude: string;
@Column({name: 'LATITUDE'})
latitude: string;
@Column({name: 'OBSERVACAO'})
observacao: string;
@Column({name: 'FONERECEBEDOR'})
fonerecebedor: number;
@Column({name: 'TELENT'})
telent: string;
@Column({name: 'CODPRACAENT'})
codpracaent: number;
@Column({name: 'EMAILRECEBEDOR'})
emailRecebedor: string;
@Column({name: 'RAZAORECEBEDOR'})
razaorecebedor: string;
@Column({name: 'NUMREGIAO'})
numregiao: number;
@Column({name: 'FANTASIA'})
fantasia: string;
@Column({name: 'CEPRECEBEDOR'})
ceprecebedor: string;
@Column({name: 'CODPAISRECEBEDOR'})
codpaisrecebedor: number;
@OneToMany(() => Pcpedc, pedidos => pedidos.pcclientendent)
pedidos: Pcpedc[];
}

View File

@ -1,269 +1,269 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCCOB')
export class Pccob {
@PrimaryColumn({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'COBRANCA' })
cobranca: string;
@Column({ name: 'PAGCOMISSAO' })
pagcomissao: string;
@Column({ name: 'TXJUROS' })
txjuros: number;
@Column({ name: 'CODMOEDA' })
codmoeda: string;
@Column({ name: 'BAIXACXBANCO' })
baixacxbanco: string;
@Column({ name: 'NIVELVENDA' })
nivelvenda: number;
@Column({ name: 'FLUXOCX' })
fluxocx: string;
@Column({ name: 'COLUNAFLUXOCX' })
colunafluxocx: number;
@Column({ name: 'NUMDIASVENCFLUXOCX' })
numdiasvencfluxocx: number;
@Column({ name: 'BLOQAUTOMATICO' })
bloqautomatico: string;
@Column({ name: 'NUMDIASBLOQAUTOMATIC' })
numdiasbloqautomatic: number;
@Column({ name: 'EXIBIRCXMOT' })
exibircxmot: string;
@Column({ name: 'EXIBIRBK' })
exibirbk: string;
@Column({ name: 'PERCACRESVENDA' })
percacresvenda: number;
@Column({ name: 'PRAZOMAXIMOVENDA' })
prazomaximovenda: number;
@Column({ name: 'LETRACOB' })
letracob: string;
@Column({ name: 'BOLETO' })
boleto: string;
@Column({ name: 'CUSTODIA' })
custodia: string;
@Column({ name: 'PERMITEALTCOBDESD' })
permitealtcobdesd: string;
@Column({ name: 'PERCOM' })
percom: number;
@Column({ name: 'VLTARIFA' })
vltarifa: number;
@Column({ name: 'CODECF' })
codecf: string;
@Column({ name: 'CARTAO' })
cartao: string;
@Column({ name: 'OBSNF' })
obsnf: string;
@Column({ name: 'NUMDIASLIBERACAOCREDITO' })
numdiasliberacaocredito: number;
@Column({ name: 'CODCLICC' })
codclicc: number;
@Column({ name: 'PRAZOCC' })
prazocc: number;
@Column({ name: 'PERCTXADMINCC' })
perctxadmincc: number;
@Column({ name: 'CODCONTACC' })
codcontacc: number;
@Column({ name: 'CODCOBCC' })
codcobcc: string;
@Column({ name: 'ENVIACOBRANCAFV' })
enviacobrancafv: string;
@Column({ name: 'VALIDALIMCREDECF' })
validalimcredecf: string;
@Column({ name: 'DIASCARENCIA' })
diascarencia: number;
@Column({ name: 'ACERTOAUTOCXMOT' })
acertoautocxmot: string;
@Column({ name: 'CODPARAPROTESTO' })
codparaprotesto: string;
@Column({ name: 'ENVIOPARAPROTESTO' })
envioparaprotesto: string;
@Column({ name: 'NUMDIASPROTESTO' })
numdiasprotesto: string;
@Column({ name: 'NUMBANCO' })
numbanco: number;
@Column({ name: 'PERMITEDESCDEVCLI' })
permitedescdevcli: string;
@Column({ name: 'PERCOMMOT' })
percommot: number;
@Column({ name: 'COBRANCABROKER' })
cobrancabroker: string;
@Column({ name: 'VLMINPEDIDO' })
vlminpedido: number;
@Column({ name: 'DEPOSITOBANCARIO' })
depositobancario: string;
@Column({ name: 'TIPOCOMISSAO' })
tipocomissao: string;
@Column({ name: 'CODBANCOTARIFA' })
codbancotarifa: number;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'EXPORTARECF' })
exportarecf: string;
@Column({ name: 'CODBANCO' })
codbanco: number;
@Column({ name: 'SOMATARIFABANCDUPLIC' })
somatarifabancduplic: string;
@Column({ name: 'SOMATARIFABANCNF' })
somatarifabancnf: string;
@Column({ name: 'CODOPERADORACARTAO' })
codoperadoracartao: string;
@Column({ name: 'TIPOOPERACAOTEF' })
tipooperacaotef: string;
@Column({ name: 'TIPOPAGTOECF' })
tipopagtoecf: string;
@Column({ name: 'NUMMAXPARCELAS' })
nummaxparcelas: number;
@Column({ name: 'CODPARANAOPROTESTO' })
codparanaoprotesto: string;
@Column({ name: 'PERMITEBAIXAMANUAL' })
permitebaixamanual: string;
@Column({ name: 'NUMVIASCPADICIONAL' })
numviascpadicional: string;
@Column({ name: 'CODBANDEIRA' })
codbandeira: number;
@Column({ name: 'SELECIONACLIENTEECF' })
selecionaclienteecf: string;
@Column({ name: 'AUTENTICARACERTOCX402' })
autenticaracertocx402: string;
@Column({ name: 'UTILIZACHDESC' })
utilizachdesc: string;
@Column({ name: 'CODCOBCHDESC' })
codcobchdesc: string;
@Column({ name: 'CODCOBDEVCHDESC' })
codcobdevchdesc: string;
@Column({ name: 'PERMITECONTRAVALE' })
permitecontravale: string;
@Column({ name: 'COBRANCAEMTRANSITO' })
cobrancaemtransito: string;
@Column({ name: 'CALCJUROSCOBRANCA' })
calcjuroscobranca: string;
@Column({ name: 'CODIGOBANDEIRA' })
codigobandeira: string;
@Column({ name: 'CONVENIO' })
convenio: string;
@Column({ name: 'RECARGACELULAR' })
recargacelular: string;
@Column({ name: 'CODREDE' })
codrede: number;
@Column({ name: 'TXPRIMEIRAPARCELA' })
txprimeiraparcela: string;
@Column({ name: 'NAOVALIDAPRAZOMEDIO' })
naovalidaprazomedio: string;
@Column({ name: 'CHEQUE' })
cheque: string;
@Column({ name: 'FLEXIVEL' })
flexivel: string;
@Column({ name: 'CODCOBSEFAZ' })
codcobsefaz: string;
@Column({ name: 'CODBANDEIRAOPERADORACARTAO' })
codbandeiraoperadoracartao: string;
@Column({ name: 'BANDEIRACARTAO' })
bandeiracartao: number;
@Column({ name: 'PERCMULTA' })
percmulta: number;
@Column({ name: 'COBSUPPLIERCARD' })
cobsuppliercard: string;
@Column({ name: 'INDPAG' })
indpag: number;
@Column({ name: 'DTMXSALTER' })
dtmxsalter: Date;
@Column({ name: 'MXDIASINAD' })
mxdiasinad: number;
@Column({ name: 'MXINAD' })
mxinad: string;
@Column({ name: 'CODOUTRO' })
codoutro: string;
@Column({ name: 'CARTEIRADIGITAL' })
carteiradigital: string;
@Column({ name: 'NOMECARTEIRADIGITAL' })
nomecarteiradigital: string;
@Column({ name: 'DESCRICAOFORMAPAGTO' })
descricaoformapagto: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCCOB')
export class Pccob {
@PrimaryColumn({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'COBRANCA' })
cobranca: string;
@Column({ name: 'PAGCOMISSAO' })
pagcomissao: string;
@Column({ name: 'TXJUROS' })
txjuros: number;
@Column({ name: 'CODMOEDA' })
codmoeda: string;
@Column({ name: 'BAIXACXBANCO' })
baixacxbanco: string;
@Column({ name: 'NIVELVENDA' })
nivelvenda: number;
@Column({ name: 'FLUXOCX' })
fluxocx: string;
@Column({ name: 'COLUNAFLUXOCX' })
colunafluxocx: number;
@Column({ name: 'NUMDIASVENCFLUXOCX' })
numdiasvencfluxocx: number;
@Column({ name: 'BLOQAUTOMATICO' })
bloqautomatico: string;
@Column({ name: 'NUMDIASBLOQAUTOMATIC' })
numdiasbloqautomatic: number;
@Column({ name: 'EXIBIRCXMOT' })
exibircxmot: string;
@Column({ name: 'EXIBIRBK' })
exibirbk: string;
@Column({ name: 'PERCACRESVENDA' })
percacresvenda: number;
@Column({ name: 'PRAZOMAXIMOVENDA' })
prazomaximovenda: number;
@Column({ name: 'LETRACOB' })
letracob: string;
@Column({ name: 'BOLETO' })
boleto: string;
@Column({ name: 'CUSTODIA' })
custodia: string;
@Column({ name: 'PERMITEALTCOBDESD' })
permitealtcobdesd: string;
@Column({ name: 'PERCOM' })
percom: number;
@Column({ name: 'VLTARIFA' })
vltarifa: number;
@Column({ name: 'CODECF' })
codecf: string;
@Column({ name: 'CARTAO' })
cartao: string;
@Column({ name: 'OBSNF' })
obsnf: string;
@Column({ name: 'NUMDIASLIBERACAOCREDITO' })
numdiasliberacaocredito: number;
@Column({ name: 'CODCLICC' })
codclicc: number;
@Column({ name: 'PRAZOCC' })
prazocc: number;
@Column({ name: 'PERCTXADMINCC' })
perctxadmincc: number;
@Column({ name: 'CODCONTACC' })
codcontacc: number;
@Column({ name: 'CODCOBCC' })
codcobcc: string;
@Column({ name: 'ENVIACOBRANCAFV' })
enviacobrancafv: string;
@Column({ name: 'VALIDALIMCREDECF' })
validalimcredecf: string;
@Column({ name: 'DIASCARENCIA' })
diascarencia: number;
@Column({ name: 'ACERTOAUTOCXMOT' })
acertoautocxmot: string;
@Column({ name: 'CODPARAPROTESTO' })
codparaprotesto: string;
@Column({ name: 'ENVIOPARAPROTESTO' })
envioparaprotesto: string;
@Column({ name: 'NUMDIASPROTESTO' })
numdiasprotesto: string;
@Column({ name: 'NUMBANCO' })
numbanco: number;
@Column({ name: 'PERMITEDESCDEVCLI' })
permitedescdevcli: string;
@Column({ name: 'PERCOMMOT' })
percommot: number;
@Column({ name: 'COBRANCABROKER' })
cobrancabroker: string;
@Column({ name: 'VLMINPEDIDO' })
vlminpedido: number;
@Column({ name: 'DEPOSITOBANCARIO' })
depositobancario: string;
@Column({ name: 'TIPOCOMISSAO' })
tipocomissao: string;
@Column({ name: 'CODBANCOTARIFA' })
codbancotarifa: number;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'EXPORTARECF' })
exportarecf: string;
@Column({ name: 'CODBANCO' })
codbanco: number;
@Column({ name: 'SOMATARIFABANCDUPLIC' })
somatarifabancduplic: string;
@Column({ name: 'SOMATARIFABANCNF' })
somatarifabancnf: string;
@Column({ name: 'CODOPERADORACARTAO' })
codoperadoracartao: string;
@Column({ name: 'TIPOOPERACAOTEF' })
tipooperacaotef: string;
@Column({ name: 'TIPOPAGTOECF' })
tipopagtoecf: string;
@Column({ name: 'NUMMAXPARCELAS' })
nummaxparcelas: number;
@Column({ name: 'CODPARANAOPROTESTO' })
codparanaoprotesto: string;
@Column({ name: 'PERMITEBAIXAMANUAL' })
permitebaixamanual: string;
@Column({ name: 'NUMVIASCPADICIONAL' })
numviascpadicional: string;
@Column({ name: 'CODBANDEIRA' })
codbandeira: number;
@Column({ name: 'SELECIONACLIENTEECF' })
selecionaclienteecf: string;
@Column({ name: 'AUTENTICARACERTOCX402' })
autenticaracertocx402: string;
@Column({ name: 'UTILIZACHDESC' })
utilizachdesc: string;
@Column({ name: 'CODCOBCHDESC' })
codcobchdesc: string;
@Column({ name: 'CODCOBDEVCHDESC' })
codcobdevchdesc: string;
@Column({ name: 'PERMITECONTRAVALE' })
permitecontravale: string;
@Column({ name: 'COBRANCAEMTRANSITO' })
cobrancaemtransito: string;
@Column({ name: 'CALCJUROSCOBRANCA' })
calcjuroscobranca: string;
@Column({ name: 'CODIGOBANDEIRA' })
codigobandeira: string;
@Column({ name: 'CONVENIO' })
convenio: string;
@Column({ name: 'RECARGACELULAR' })
recargacelular: string;
@Column({ name: 'CODREDE' })
codrede: number;
@Column({ name: 'TXPRIMEIRAPARCELA' })
txprimeiraparcela: string;
@Column({ name: 'NAOVALIDAPRAZOMEDIO' })
naovalidaprazomedio: string;
@Column({ name: 'CHEQUE' })
cheque: string;
@Column({ name: 'FLEXIVEL' })
flexivel: string;
@Column({ name: 'CODCOBSEFAZ' })
codcobsefaz: string;
@Column({ name: 'CODBANDEIRAOPERADORACARTAO' })
codbandeiraoperadoracartao: string;
@Column({ name: 'BANDEIRACARTAO' })
bandeiracartao: number;
@Column({ name: 'PERCMULTA' })
percmulta: number;
@Column({ name: 'COBSUPPLIERCARD' })
cobsuppliercard: string;
@Column({ name: 'INDPAG' })
indpag: number;
@Column({ name: 'DTMXSALTER' })
dtmxsalter: Date;
@Column({ name: 'MXDIASINAD' })
mxdiasinad: number;
@Column({ name: 'MXINAD' })
mxinad: string;
@Column({ name: 'CODOUTRO' })
codoutro: string;
@Column({ name: 'CARTEIRADIGITAL' })
carteiradigital: string;
@Column({ name: 'NOMECARTEIRADIGITAL' })
nomecarteiradigital: string;
@Column({ name: 'DESCRICAOFORMAPAGTO' })
descricaoformapagto: string;
}

View File

@ -1,9 +1,9 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCCONSUM')
export class Pcconsum {
@PrimaryColumn({name: 'CODCLIPC'})
codclipc: number;
@Column({name: 'PROXNUMCLI'})
proxnumcli: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCCONSUM')
export class Pcconsum {
@PrimaryColumn({name: 'CODCLIPC'})
codclipc: number;
@Column({name: 'PROXNUMCLI'})
proxnumcli: number;
}

View File

@ -1,24 +1,24 @@
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from './esttipoproduto.entity';
import { Pcsecao } from './pcsecao.entity';
@Entity("PCDEPTO")
export class Pcdepto {
@PrimaryColumn({name: "CODEPTO"})
codigoDepartamento: number;
@Column({name: "DESCRICAO"})
descricaoDepartamento: string;
@Column({name: "TITULOECOMMERCE"})
tituloEcommerce: string;
@OneToMany(() => Pcsecao, secao => secao.departamento)
secao: Pcsecao[];
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.departamento)
tiposProduto: Esttipoproduto[];
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from './esttipoproduto.entity';
import { Pcsecao } from './pcsecao.entity';
@Entity("PCDEPTO")
export class Pcdepto {
@PrimaryColumn({name: "CODEPTO"})
codigoDepartamento: number;
@Column({name: "DESCRICAO"})
descricaoDepartamento: string;
@Column({name: "TITULOECOMMERCE"})
tituloEcommerce: string;
@OneToMany(() => Pcsecao, secao => secao.departamento)
secao: Pcsecao[];
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.departamento)
tiposProduto: Esttipoproduto[];
}

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,15 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("PCFILIAL")
export class Store {
@PrimaryColumn({name: "CODIGO"})
id: string;
@Column({name: "RAZAOSOCIAL"})
name: string;
@Column({name: "FANTASIA"})
shortName: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("PCFILIAL")
export class Store {
@PrimaryColumn({name: "CODIGO"})
id: string;
@Column({name: "RAZAOSOCIAL"})
name: string;
@Column({name: "FANTASIA"})
shortName: string;
}

View File

@ -1,15 +1,15 @@
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Product } from "./pcprodut.entity";
@Entity('PCMARCA')
export class Brand {
@PrimaryColumn({name: 'CODMARCA'})
id: number;
@Column({name: "MARCA"})
description: string;
@OneToMany(() => Product, product => product.brand)
products: Product[];
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Product } from "./pcprodut.entity";
@Entity('PCMARCA')
export class Brand {
@PrimaryColumn({name: 'CODMARCA'})
id: number;
@Column({name: "MARCA"})
description: string;
@OneToMany(() => Product, product => product.brand)
products: Product[];
}

View File

@ -1,22 +1,22 @@
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from "./esttipoproduto.entity";
@Entity("PCNCM")
export class Pcncm {
@PrimaryColumn({name: "CODNCMEX"})
codigoNcmEX: string;
@Column({name: "CODNCM"})
codigoNcm: string;
@Column({name: "DESCRICAO"})
descricaoNcm: string;
@Column({name: "DTEXCLUSAO"})
DataExclusao: Date;
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.registroNcm)
tiposProduto: Esttipoproduto[];
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from "./esttipoproduto.entity";
@Entity("PCNCM")
export class Pcncm {
@PrimaryColumn({name: "CODNCMEX"})
codigoNcmEX: string;
@Column({name: "CODNCM"})
codigoNcm: string;
@Column({name: "DESCRICAO"})
descricaoNcm: string;
@Column({name: "DTEXCLUSAO"})
DataExclusao: Date;
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.registroNcm)
tiposProduto: Esttipoproduto[];
}

File diff suppressed because it is too large Load Diff

View File

@ -1,232 +1,232 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCORCAVENDAC')
export class Pcorcavendac {
@PrimaryColumn({ name: 'NUMORCA' })
numorca: number;
@Column({ name: 'DATA' })
data: Date;
@Column({ name: 'VLTOTAL' })
vltotal: number;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'CODUSUR3' })
codusur3: number;
@Column({ name: 'DTENTREGA' })
dtentrega: Date;
@Column({ name: 'VLTABELA' })
vltabela: number;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'VLDESCONTO' })
vldesconto: number;
@Column({ name: 'TIPOVENDA' })
tipovenda: string;
@Column({ name: 'VLCUSTOREAL' })
vlcustoreal: number;
@Column({ name: 'VLCUSTOFIN' })
vlcustofin: number;
@Column({ name: 'VLFRETE' })
vlfrete: number;
@Column({ name: 'VLOUTRASDESP' })
vloutrasdesp: number;
@Column({ name: 'TOTPESO' })
totpeso: number;
@Column({ name: 'TOTVOLUME' })
totvolume: number;
@Column({ name: 'CODPRACA' })
codpraca: number;
@Column({ name: 'NUMITENS' })
numitens: number;
@Column({ name: 'CODEMITENTE' })
codemitente: number;
@Column({ name: 'CODENDENT' })
codendent: number;
@Column({ name: 'POSICAO' })
posicao: string;
@Column({ name: 'VLATEND' })
vlatend: number;
@Column({ name: 'OPERACAO' })
operacao: string;
@Column({ name: 'NUMCAR' })
numcar: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'HORA' })
hora: number;
@Column({ name: 'MINUTO' })
minuto: number;
@Column({ name: 'CODSUPERVISOR' })
codsupervisor: number;
@Column({ name: 'CONDVENDA' })
condvenda: number;
@Column({ name: 'PERCVENDA' })
percvenda: number;
@Column({ name: 'TIPOPRIORIDADEENTREGA' })
tipoprioridadeentrega: string;
@Column({ name: 'OBS1' })
obs1: string;
@Column({ name: 'OBS2' })
obs2: string;
@Column({ name: 'PERDESC' })
perdesc: number;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'NUMPEDRCA' })
numpedrca: number;
@Column({ name: 'FRETEDESPACHO' })
fretedespacho: string;
@Column({ name: 'TIPOCARGA' })
tipocarga: string;
@Column({ name: 'PRAZO1' })
prazo1: number;
@Column({ name: 'PRAZO2' })
prazo2: number;
@Column({ name: 'PRAZO3' })
prazo3: number;
@Column({ name: 'PRAZO4' })
prazo4: number;
@Column({ name: 'PRAZO5' })
prazo5: number;
@Column({ name: 'PRAZO6' })
prazo6: number;
@Column({ name: 'PRAZO7' })
prazo7: number;
@Column({ name: 'PRAZO8' })
prazo8: number;
@Column({ name: 'PRAZO9' })
prazo9: number;
@Column({ name: 'PRAZO10' })
prazo10: number;
@Column({ name: 'PRAZO11' })
prazo11: number;
@Column({ name: 'PRAZO12' })
prazo12: number;
@Column({ name: 'PRAZOMEDIO' })
prazomedio: number;
@Column({ name: 'OBSENTREGA1' })
obsentrega1: string;
@Column({ name: 'OBSENTREGA2' })
obsentrega2: string;
@Column({ name: 'OBSENTREGA3' })
obsentrega3: string;
@Column({ name: 'TIPOEMBALAGEM' })
tipoembalagem: string;
@Column({ name: 'CLIENTE' })
cliente: string;
@Column({ name: 'CNPJ' })
cnpj: string;
@Column({ name: 'ENDERECO' })
endereco: string;
@Column({ name: 'BAIRRO' })
bairro: string;
@Column({ name: 'UF' })
uf: string;
@Column({ name: 'TELEFONE' })
telefone: string;
@Column({ name: 'IE' })
ie: string;
@Column({ name: 'CODATV1' })
codatv1: number;
@Column({ name: 'CIDADE' })
cidade: string;
@Column({ name: 'ORCAMENTOUTILIZADO' })
orcamentoUtilizado: string;
@Column({ name: 'CODFILIALNF' })
codfilialUf: string;
@Column({ name: 'DTVALIDADE' })
dtvalidade: Date;
@Column({ name: 'VLCUSTOCONT' })
vlcustocont: number;
@Column({ name: 'VLCUSTOREP' })
vlcustorep: number;
@Column({ name: 'ORIGEMPED' })
origemPed: string;
@Column({ name: 'NUMNOTA' })
numnota: number;
@Column({ name: 'PERDESCFIN' })
perdescfin: number;
@Column({ name: 'NUMREGIAO' })
numregiao: number;
@Column({ name: 'CODCLIRECEBEDOR' })
codclirecebedor: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCORCAVENDAC')
export class Pcorcavendac {
@PrimaryColumn({ name: 'NUMORCA' })
numorca: number;
@Column({ name: 'DATA' })
data: Date;
@Column({ name: 'VLTOTAL' })
vltotal: number;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'CODUSUR3' })
codusur3: number;
@Column({ name: 'DTENTREGA' })
dtentrega: Date;
@Column({ name: 'VLTABELA' })
vltabela: number;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'VLDESCONTO' })
vldesconto: number;
@Column({ name: 'TIPOVENDA' })
tipovenda: string;
@Column({ name: 'VLCUSTOREAL' })
vlcustoreal: number;
@Column({ name: 'VLCUSTOFIN' })
vlcustofin: number;
@Column({ name: 'VLFRETE' })
vlfrete: number;
@Column({ name: 'VLOUTRASDESP' })
vloutrasdesp: number;
@Column({ name: 'TOTPESO' })
totpeso: number;
@Column({ name: 'TOTVOLUME' })
totvolume: number;
@Column({ name: 'CODPRACA' })
codpraca: number;
@Column({ name: 'NUMITENS' })
numitens: number;
@Column({ name: 'CODEMITENTE' })
codemitente: number;
@Column({ name: 'CODENDENT' })
codendent: number;
@Column({ name: 'POSICAO' })
posicao: string;
@Column({ name: 'VLATEND' })
vlatend: number;
@Column({ name: 'OPERACAO' })
operacao: string;
@Column({ name: 'NUMCAR' })
numcar: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'HORA' })
hora: number;
@Column({ name: 'MINUTO' })
minuto: number;
@Column({ name: 'CODSUPERVISOR' })
codsupervisor: number;
@Column({ name: 'CONDVENDA' })
condvenda: number;
@Column({ name: 'PERCVENDA' })
percvenda: number;
@Column({ name: 'TIPOPRIORIDADEENTREGA' })
tipoprioridadeentrega: string;
@Column({ name: 'OBS1' })
obs1: string;
@Column({ name: 'OBS2' })
obs2: string;
@Column({ name: 'PERDESC' })
perdesc: number;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'NUMPEDRCA' })
numpedrca: number;
@Column({ name: 'FRETEDESPACHO' })
fretedespacho: string;
@Column({ name: 'TIPOCARGA' })
tipocarga: string;
@Column({ name: 'PRAZO1' })
prazo1: number;
@Column({ name: 'PRAZO2' })
prazo2: number;
@Column({ name: 'PRAZO3' })
prazo3: number;
@Column({ name: 'PRAZO4' })
prazo4: number;
@Column({ name: 'PRAZO5' })
prazo5: number;
@Column({ name: 'PRAZO6' })
prazo6: number;
@Column({ name: 'PRAZO7' })
prazo7: number;
@Column({ name: 'PRAZO8' })
prazo8: number;
@Column({ name: 'PRAZO9' })
prazo9: number;
@Column({ name: 'PRAZO10' })
prazo10: number;
@Column({ name: 'PRAZO11' })
prazo11: number;
@Column({ name: 'PRAZO12' })
prazo12: number;
@Column({ name: 'PRAZOMEDIO' })
prazomedio: number;
@Column({ name: 'OBSENTREGA1' })
obsentrega1: string;
@Column({ name: 'OBSENTREGA2' })
obsentrega2: string;
@Column({ name: 'OBSENTREGA3' })
obsentrega3: string;
@Column({ name: 'TIPOEMBALAGEM' })
tipoembalagem: string;
@Column({ name: 'CLIENTE' })
cliente: string;
@Column({ name: 'CNPJ' })
cnpj: string;
@Column({ name: 'ENDERECO' })
endereco: string;
@Column({ name: 'BAIRRO' })
bairro: string;
@Column({ name: 'UF' })
uf: string;
@Column({ name: 'TELEFONE' })
telefone: string;
@Column({ name: 'IE' })
ie: string;
@Column({ name: 'CODATV1' })
codatv1: number;
@Column({ name: 'CIDADE' })
cidade: string;
@Column({ name: 'ORCAMENTOUTILIZADO' })
orcamentoUtilizado: string;
@Column({ name: 'CODFILIALNF' })
codfilialUf: string;
@Column({ name: 'DTVALIDADE' })
dtvalidade: Date;
@Column({ name: 'VLCUSTOCONT' })
vlcustocont: number;
@Column({ name: 'VLCUSTOREP' })
vlcustorep: number;
@Column({ name: 'ORIGEMPED' })
origemPed: string;
@Column({ name: 'NUMNOTA' })
numnota: number;
@Column({ name: 'PERDESCFIN' })
perdescfin: number;
@Column({ name: 'NUMREGIAO' })
numregiao: number;
@Column({ name: 'CODCLIRECEBEDOR' })
codclirecebedor: number;
}

View File

@ -1,95 +1,95 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("PCORCAVENDAI")
export class Pcorcavendai {
@PrimaryColumn({name: 'NUMORCA'})
numorca: number;
@PrimaryColumn({name: 'CODPROD'})
codprod: number;
@PrimaryColumn({name: 'NUMSEQ'})
numseq: number;
@Column({name: 'DATA'})
data: Date;
@Column({name: 'CODCLI'})
codcli: number;
@Column({name: 'CODUSUR'})
codusur: number;
@Column({name: 'QT'})
qt: number;
@Column({name: 'PVENDA'})
pvenda: number;
@Column({name: 'PTABELA'})
ptabela: number;
@Column({name: 'NUMCAR'})
numcar: number;
@Column({name: 'POSICAO'})
posicao: string;
@Column({name: 'ST'})
st: number;
@Column({name: 'VLCUSTOFIN'})
vlcustofin: number;
@Column({name: 'VLCUSTOREAL'})
vlcustoreal: number;
@Column({name: 'PERCOM'})
percom: number;
@Column({name: 'PERDESC'})
perdesc: number;
@Column({name: 'PVENDABASE'})
pvendabase: number;
@Column({name: 'CODST'})
codst: number;
@Column({name: 'CUSTOFINEST'})
custofinest: number;
@Column({name: 'CODAUXILIAR'})
codauxiliar: number;
@Column({name: 'CODFILIALRETIRA'})
codfilialretira: string;
@Column({name: 'PORIGINAL'})
poriginal: number;
@Column({name: 'VLCUSTOCONT'})
vlcustocont: number;
@Column({name: 'VLCUSTOREP'})
vlcustorep: number;
@Column({name: 'PBASERCA'})
pbaserca: number;
@Column({name: 'PVENDA1'})
pvenda1: number;
@Column({name: 'TIPOENTREGA'})
tipoentrega: string;
@Column({name: 'COMPLEMENTO'})
complemento: string;
@Column({name: 'AMBIENTE'})
ambiente: string;
@Column({name: 'RETIRAPOSTERIOR_IMEDIATA'})
rp_imediata: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity("PCORCAVENDAI")
export class Pcorcavendai {
@PrimaryColumn({name: 'NUMORCA'})
numorca: number;
@PrimaryColumn({name: 'CODPROD'})
codprod: number;
@PrimaryColumn({name: 'NUMSEQ'})
numseq: number;
@Column({name: 'DATA'})
data: Date;
@Column({name: 'CODCLI'})
codcli: number;
@Column({name: 'CODUSUR'})
codusur: number;
@Column({name: 'QT'})
qt: number;
@Column({name: 'PVENDA'})
pvenda: number;
@Column({name: 'PTABELA'})
ptabela: number;
@Column({name: 'NUMCAR'})
numcar: number;
@Column({name: 'POSICAO'})
posicao: string;
@Column({name: 'ST'})
st: number;
@Column({name: 'VLCUSTOFIN'})
vlcustofin: number;
@Column({name: 'VLCUSTOREAL'})
vlcustoreal: number;
@Column({name: 'PERCOM'})
percom: number;
@Column({name: 'PERDESC'})
perdesc: number;
@Column({name: 'PVENDABASE'})
pvendabase: number;
@Column({name: 'CODST'})
codst: number;
@Column({name: 'CUSTOFINEST'})
custofinest: number;
@Column({name: 'CODAUXILIAR'})
codauxiliar: number;
@Column({name: 'CODFILIALRETIRA'})
codfilialretira: string;
@Column({name: 'PORIGINAL'})
poriginal: number;
@Column({name: 'VLCUSTOCONT'})
vlcustocont: number;
@Column({name: 'VLCUSTOREP'})
vlcustorep: number;
@Column({name: 'PBASERCA'})
pbaserca: number;
@Column({name: 'PVENDA1'})
pvenda1: number;
@Column({name: 'TIPOENTREGA'})
tipoentrega: string;
@Column({name: 'COMPLEMENTO'})
complemento: string;
@Column({name: 'AMBIENTE'})
ambiente: string;
@Column({name: 'RETIRAPOSTERIOR_IMEDIATA'})
rp_imediata: string;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,473 +1,473 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCPEDCTEMP')
export class Pcpedctemp {
@Column({ name: 'TIPOINTEGRACAO' })
tipointegracao: string;
@Column({ name: 'IMPORTADO' })
importado: string;
@Column({ name: 'OBSERVACAO_PC' })
observacao_pc: string;
@Column({ name: 'NUMPEDCLI' })
numpedcli: string;
@PrimaryColumn({ name: 'NUMPEDRCA' })
numpedrca: number;
@Column({ name: 'NUMPED' })
numped: number;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'DATA' })
data: Date;
@Column({ name: 'DTENTREGA' })
dtentrega: Date;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'CODFILIALNF' })
codfilialnf: string;
@Column({ name: 'VLFRETE' })
vlfrete: number;
@Column({ name: 'VLOUTRASDESP' })
vloutrasdesp: number;
@Column({ name: 'CODPRACA' })
codpraca: number;
@Column({ name: 'NUMITENS' })
numitens: number;
@Column({ name: 'CODEMITENTE' })
codemitente: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'HORA' })
hora: number;
@Column({ name: 'MINUTO' })
minuto: number;
@Column({ name: 'CODSUPERVISOR' })
codsupervisor: number;
@Column({ name: 'CONDVENDA' })
condvenda: number;
@Column({ name: 'PERCVENDA' })
percvenda: number;
@Column({ name: 'OBS1' })
obs1: string;
@Column({ name: 'OBS2' })
obs2: string;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'FRETEDESPACHO' })
fretedespacho: string;
@Column({ name: 'FRETEREDESPACHO' })
freteredespacho: string;
@Column({ name: 'CODFORNECFRETE' })
codfornecfrete: number;
@Column({ name: 'PRAZO1' })
prazo1: number;
@Column({ name: 'PRAZO2' })
prazo2: number;
@Column({ name: 'PRAZO3' })
prazo3: number;
@Column({ name: 'PRAZO4' })
prazo4: number;
@Column({ name: 'PRAZO5' })
prazo5: number;
@Column({ name: 'PRAZO6' })
prazo6: number;
@Column({ name: 'PRAZO7' })
prazo7: number;
@Column({ name: 'PRAZO8' })
prazo8: number;
@Column({ name: 'PRAZO9' })
prazo9: number;
@Column({ name: 'PRAZO10' })
prazo10: number;
@Column({ name: 'PRAZO11' })
prazo11: number;
@Column({ name: 'PRAZO12' })
prazo12: number;
@Column({ name: 'PRAZOMEDIO' })
prazomedio: number;
@Column({ name: 'OBSENTREGA1' })
obsentrega1: string;
@Column({ name: 'OBSENTREGA2' })
obsentrega2: string;
@Column({ name: 'OBSENTREGA3' })
obsentrega3: string;
@Column({ name: 'NUMCUPOM' })
numcupom: number;
@Column({ name: 'SERIEECF' })
serieecf: string;
@Column({ name: 'CODDISTRIB' })
coddistrib: string;
@Column({ name: 'NUMVIASMAPASEP' })
numviasmapasep: number;
@Column({ name: 'CODFUNCCX' })
codfunccx: number;
@Column({ name: 'NUMCAIXA' })
numcaixa: number;
@Column({ name: 'NUMNOTAMANIF' })
numnotamanif: number;
@Column({ name: 'SERIEMANIF' })
seriemanif: string;
@Column({ name: 'ORIGEMPED' })
origemped: string;
@Column({ name: 'ESPECIEMANIF' })
especiemanif: string;
@Column({ name: 'EANENTREGA' })
eanentrega: number;
@Column({ name: 'EANCOBRANCA' })
eancobranca: number;
@Column({ name: 'CODCLINF' })
codclinf: number;
@Column({ name: 'CODUSUR2' })
codusur2: number;
@Column({ name: 'NUMPEDORIGEM' })
numpedorigem: number;
@Column({ name: 'NUMPEDENTFUT' })
numpedentfut: number;
@Column({ name: 'NUMNOTACONSIG' })
numnotaconsig: number;
@Column({ name: 'NUMSERIEEQUIP' })
numserieequip: string;
@Column({ name: 'NUMCARMANIF' })
numcarmanif: number;
@Column({ name: 'NUMORCA' })
numorca: number;
@Column({ name: 'CODUSUR3' })
codusur3: number;
@Column({ name: 'CODSUPERVISOR2' })
codsupervisor2: number;
@Column({ name: 'CODSUPERVISOR3' })
codsupervisor3: number;
@Column({ name: 'BAIXAESTCLI' })
baixaestcli: string;
@Column({ name: 'CODCLICONSIGNACAO' })
codcliconsignacao: number;
@Column({ name: 'OBSENTREGA4' })
obsentrega4: string;
@Column({ name: 'PRAZOADICIONAL' })
prazoadicional: number;
@Column({ name: 'VLFRETENF' })
vlfretenf: number;
@Column({ name: 'NUMEMPENHO' })
numempenho: string;
@Column({ name: 'NUMPROCESSO' })
numprocesso: string;
@Column({ name: 'NUMFONTERECURSO' })
numfonterecurso: string;
@Column({ name: 'BAIXAESTLOJA' })
baixaestloja: string;
@Column({ name: 'DTVENC1' })
dtvenc1: Date;
@Column({ name: 'DTVENC2' })
dtvenc2: Date;
@Column({ name: 'DTVENC3' })
dtvenc3: Date;
@Column({ name: 'PRAZOPONDERADO' })
prazoponderado: string;
@Column({ name: 'DTABERTURAPEDPALM' })
dtaberturapedpalm: Date;
@Column({ name: 'DTFECHAMENTOPEDPALM' })
dtfechamentopedpalm: Date;
@Column({ name: 'CODCONDICAOVENDA' })
codcondicaovenda: number;
@Column({ name: 'EANCOMPRADOR' })
eancomprador: number;
@Column({ name: 'EANLOCALENTREGA' })
eanlocalentrega: number;
@Column({ name: 'NUMPEDBNF' })
numpedbnf: number;
@Column({ name: 'DTAGENDAENTREGA' })
dtagendaentrega: Date;
@Column({ name: 'NUMPEDECF' })
numpedecf: number;
@Column({ name: 'CODATENDIMENTO' })
codatendimento: number;
@Column({ name: 'ARQUIVO' })
arquivo: string;
@Column({ name: 'LAYOUTXML' })
layoutxml: string;
@Column({ name: 'DTIMPORTACAO' })
dtimportacao: Date;
@Column({ name: 'CODNAOATENDIMENTO' })
codnaoatendimento: number;
@Column({ name: 'OBSINTEGRACAO1' })
obsintegracao1: string;
@Column({ name: 'OBSINTEGRACAO2' })
obsintegracao2: string;
@Column({ name: 'EXPORTADO' })
exportado: string;
@Column({ name: 'NUMPEDWEB' })
numpedweb: number;
@Column({ name: 'COBRANCATENDENCIA' })
cobrancatendencia: number;
@Column({ name: 'CODAUTORIZACAOTEF' })
codautorizacaotef: number;
@Column({ name: 'NSUTEF' })
nsutef: string;
@Column({ name: 'CODADMCARTAO' })
codadmcartao: string;
@Column({ name: 'TRANSACAO' })
transacao: number;
@Column({ name: 'VLDESCONTOFINANCEIRO' })
vldescontofinanceiro: number;
@Column({ name: 'INTEGRADORA' })
integradora: number;
@Column({ name: 'IDCOB' })
idcob: number;
@Column({ name: 'POSICAO' })
posicao: string;
@Column({ name: 'VALIDARNIVELVENDA' })
validarnivelvenda: string;
@Column({ name: 'VLTROCO' })
vltroco: number;
@Column({ name: 'CODTRANSP' })
codtransp: number;
@Column({ name: 'CODAUTORIZACAOTEFWEB' })
codautorizacaotefweb: string;
@Column({ name: 'VLDESCONTOCUPOM' })
vldescontocupom: number;
@Column({ name: 'NUMPEDTV1' })
numpedtv1: number;
@Column({ name: 'CODRETORNO' })
codretorno: number;
@Column({ name: 'AGRUPAMENTO' })
agrupamento: string;
@Column({ name: 'TURNOENTREGA' })
turnoentrega: string;
@Column({ name: 'VLENTRADA' })
vlentrada: number;
@Column({ name: 'CODENDENTCLI' })
codendentcli: number;
@Column({ name: 'CODCLIRECEBEDOR' })
codclirecebedor: number;
@Column({ name: 'NUMREGIAOBROKER' })
numregiaobroker: number;
@Column({ name: 'CODCLITV8' })
codclitv8: number;
@Column({ name: 'CODENDENT' })
codendent: number;
@Column({ name: 'PEDIDOPAGOECOMMERCE' })
pedidopagoecommerce: string;
@Column({ name: 'CODRETORNOS' })
codretornos: string;
@Column({ name: 'CUPOMDESCONTO' })
cupomdesconto: string;
@Column({ name: 'UIDREGISTRO' })
uidregistro: number;
@Column({ name: 'IDPARCEIRO' })
idparceiro: string;
@Column({ name: 'ASSINATURA' })
assinatura: string;
@Column({ name: 'DTHORA_NOTIFICA_SITE' })
dthora_notifica_site: Date;
@Column({ name: 'DTINCLUSAO' })
dtinclusao: Date;
@Column({ name: 'CODPLPAG2' })
codplpag2: number;
@Column({ name: 'CODCOB2' })
codcob2: string;
@Column({ name: 'NOME_CLIENTE' })
nome_cliente: string;
@Column({ name: 'OBSFRETE' })
obsfrete: string;
@Column({ name: 'CODFILIALPRINC' })
codfilialprinc: string;
@Column({ name: 'VLTOTAL' })
vltotal: number;
@Column({ name: 'SERVICOENTREGACODIGO' })
servicoentregacodigo: number;
@Column({ name: 'TRANSPORTADORAFRETE' })
transportadorafrete: number;
@Column({ name: 'PAGAMENTOAPROVADOCIASHOP' })
pagamentoaprovadociashop: string;
@Column({ name: 'ESC_VLOUTRASDESPWEB' })
esc_vloutrasdespweb: number;
@Column({ name: 'ESC_AJUSTARFINANCEIRO' })
esc_ajustarfinanceiro: string;
@Column({ name: 'ESC_OBTERNSU' })
esc_obternsu: string;
@Column({ name: 'ESCPRAZOENTREGA' })
escprazoentrega: number;
@Column({ name: 'NUMPEDMKTPLACE' })
numpedmktplace: string;
@Column({ name: 'ESC_CODTRANSPINTELIPOST' })
esc_codtranspintelipost: number;
@Column({ name: 'USACORTECIASHOP' })
usacorteciashop: string;
@Column({ name: 'ESC_VENDADELIVERY' })
esc_vendadelivery: string;
@Column({ name: 'ESC_VERSAOVENDADELIVERY' })
esc_versaovendadelivery: string;
@Column({ name: 'ESC_CODCOBORIG' })
esc_codcoborig: string;
@Column({ name: 'ESC_PEDIDOENCOMENDA' })
esc_pedidoencomenda: string;
@Column({ name: 'IDREMESSAWEB' })
idremessaweb: number;
@Column({ name: 'ESC_VENDASERVICO' })
esc_vendaservico: string;
@Column({ name: 'ESC_TIPODOCUMENTO' })
esc_tipodocumento: string;
@Column({ name: 'ESC_TIPOENTREGA' })
esc_tipoentrega: string;
@Column({ name: 'ESC_DESTINOCREDITO' })
esc_destinocredito: string;
@Column({ name: 'ESC_TIPOVENDA' })
esc_tipovenda: string;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCPEDCTEMP')
export class Pcpedctemp {
@Column({ name: 'TIPOINTEGRACAO' })
tipointegracao: string;
@Column({ name: 'IMPORTADO' })
importado: string;
@Column({ name: 'OBSERVACAO_PC' })
observacao_pc: string;
@Column({ name: 'NUMPEDCLI' })
numpedcli: string;
@PrimaryColumn({ name: 'NUMPEDRCA' })
numpedrca: number;
@Column({ name: 'NUMPED' })
numped: number;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'DATA' })
data: Date;
@Column({ name: 'DTENTREGA' })
dtentrega: Date;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'CODFILIALNF' })
codfilialnf: string;
@Column({ name: 'VLFRETE' })
vlfrete: number;
@Column({ name: 'VLOUTRASDESP' })
vloutrasdesp: number;
@Column({ name: 'CODPRACA' })
codpraca: number;
@Column({ name: 'NUMITENS' })
numitens: number;
@Column({ name: 'CODEMITENTE' })
codemitente: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'HORA' })
hora: number;
@Column({ name: 'MINUTO' })
minuto: number;
@Column({ name: 'CODSUPERVISOR' })
codsupervisor: number;
@Column({ name: 'CONDVENDA' })
condvenda: number;
@Column({ name: 'PERCVENDA' })
percvenda: number;
@Column({ name: 'OBS1' })
obs1: string;
@Column({ name: 'OBS2' })
obs2: string;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'FRETEDESPACHO' })
fretedespacho: string;
@Column({ name: 'FRETEREDESPACHO' })
freteredespacho: string;
@Column({ name: 'CODFORNECFRETE' })
codfornecfrete: number;
@Column({ name: 'PRAZO1' })
prazo1: number;
@Column({ name: 'PRAZO2' })
prazo2: number;
@Column({ name: 'PRAZO3' })
prazo3: number;
@Column({ name: 'PRAZO4' })
prazo4: number;
@Column({ name: 'PRAZO5' })
prazo5: number;
@Column({ name: 'PRAZO6' })
prazo6: number;
@Column({ name: 'PRAZO7' })
prazo7: number;
@Column({ name: 'PRAZO8' })
prazo8: number;
@Column({ name: 'PRAZO9' })
prazo9: number;
@Column({ name: 'PRAZO10' })
prazo10: number;
@Column({ name: 'PRAZO11' })
prazo11: number;
@Column({ name: 'PRAZO12' })
prazo12: number;
@Column({ name: 'PRAZOMEDIO' })
prazomedio: number;
@Column({ name: 'OBSENTREGA1' })
obsentrega1: string;
@Column({ name: 'OBSENTREGA2' })
obsentrega2: string;
@Column({ name: 'OBSENTREGA3' })
obsentrega3: string;
@Column({ name: 'NUMCUPOM' })
numcupom: number;
@Column({ name: 'SERIEECF' })
serieecf: string;
@Column({ name: 'CODDISTRIB' })
coddistrib: string;
@Column({ name: 'NUMVIASMAPASEP' })
numviasmapasep: number;
@Column({ name: 'CODFUNCCX' })
codfunccx: number;
@Column({ name: 'NUMCAIXA' })
numcaixa: number;
@Column({ name: 'NUMNOTAMANIF' })
numnotamanif: number;
@Column({ name: 'SERIEMANIF' })
seriemanif: string;
@Column({ name: 'ORIGEMPED' })
origemped: string;
@Column({ name: 'ESPECIEMANIF' })
especiemanif: string;
@Column({ name: 'EANENTREGA' })
eanentrega: number;
@Column({ name: 'EANCOBRANCA' })
eancobranca: number;
@Column({ name: 'CODCLINF' })
codclinf: number;
@Column({ name: 'CODUSUR2' })
codusur2: number;
@Column({ name: 'NUMPEDORIGEM' })
numpedorigem: number;
@Column({ name: 'NUMPEDENTFUT' })
numpedentfut: number;
@Column({ name: 'NUMNOTACONSIG' })
numnotaconsig: number;
@Column({ name: 'NUMSERIEEQUIP' })
numserieequip: string;
@Column({ name: 'NUMCARMANIF' })
numcarmanif: number;
@Column({ name: 'NUMORCA' })
numorca: number;
@Column({ name: 'CODUSUR3' })
codusur3: number;
@Column({ name: 'CODSUPERVISOR2' })
codsupervisor2: number;
@Column({ name: 'CODSUPERVISOR3' })
codsupervisor3: number;
@Column({ name: 'BAIXAESTCLI' })
baixaestcli: string;
@Column({ name: 'CODCLICONSIGNACAO' })
codcliconsignacao: number;
@Column({ name: 'OBSENTREGA4' })
obsentrega4: string;
@Column({ name: 'PRAZOADICIONAL' })
prazoadicional: number;
@Column({ name: 'VLFRETENF' })
vlfretenf: number;
@Column({ name: 'NUMEMPENHO' })
numempenho: string;
@Column({ name: 'NUMPROCESSO' })
numprocesso: string;
@Column({ name: 'NUMFONTERECURSO' })
numfonterecurso: string;
@Column({ name: 'BAIXAESTLOJA' })
baixaestloja: string;
@Column({ name: 'DTVENC1' })
dtvenc1: Date;
@Column({ name: 'DTVENC2' })
dtvenc2: Date;
@Column({ name: 'DTVENC3' })
dtvenc3: Date;
@Column({ name: 'PRAZOPONDERADO' })
prazoponderado: string;
@Column({ name: 'DTABERTURAPEDPALM' })
dtaberturapedpalm: Date;
@Column({ name: 'DTFECHAMENTOPEDPALM' })
dtfechamentopedpalm: Date;
@Column({ name: 'CODCONDICAOVENDA' })
codcondicaovenda: number;
@Column({ name: 'EANCOMPRADOR' })
eancomprador: number;
@Column({ name: 'EANLOCALENTREGA' })
eanlocalentrega: number;
@Column({ name: 'NUMPEDBNF' })
numpedbnf: number;
@Column({ name: 'DTAGENDAENTREGA' })
dtagendaentrega: Date;
@Column({ name: 'NUMPEDECF' })
numpedecf: number;
@Column({ name: 'CODATENDIMENTO' })
codatendimento: number;
@Column({ name: 'ARQUIVO' })
arquivo: string;
@Column({ name: 'LAYOUTXML' })
layoutxml: string;
@Column({ name: 'DTIMPORTACAO' })
dtimportacao: Date;
@Column({ name: 'CODNAOATENDIMENTO' })
codnaoatendimento: number;
@Column({ name: 'OBSINTEGRACAO1' })
obsintegracao1: string;
@Column({ name: 'OBSINTEGRACAO2' })
obsintegracao2: string;
@Column({ name: 'EXPORTADO' })
exportado: string;
@Column({ name: 'NUMPEDWEB' })
numpedweb: number;
@Column({ name: 'COBRANCATENDENCIA' })
cobrancatendencia: number;
@Column({ name: 'CODAUTORIZACAOTEF' })
codautorizacaotef: number;
@Column({ name: 'NSUTEF' })
nsutef: string;
@Column({ name: 'CODADMCARTAO' })
codadmcartao: string;
@Column({ name: 'TRANSACAO' })
transacao: number;
@Column({ name: 'VLDESCONTOFINANCEIRO' })
vldescontofinanceiro: number;
@Column({ name: 'INTEGRADORA' })
integradora: number;
@Column({ name: 'IDCOB' })
idcob: number;
@Column({ name: 'POSICAO' })
posicao: string;
@Column({ name: 'VALIDARNIVELVENDA' })
validarnivelvenda: string;
@Column({ name: 'VLTROCO' })
vltroco: number;
@Column({ name: 'CODTRANSP' })
codtransp: number;
@Column({ name: 'CODAUTORIZACAOTEFWEB' })
codautorizacaotefweb: string;
@Column({ name: 'VLDESCONTOCUPOM' })
vldescontocupom: number;
@Column({ name: 'NUMPEDTV1' })
numpedtv1: number;
@Column({ name: 'CODRETORNO' })
codretorno: number;
@Column({ name: 'AGRUPAMENTO' })
agrupamento: string;
@Column({ name: 'TURNOENTREGA' })
turnoentrega: string;
@Column({ name: 'VLENTRADA' })
vlentrada: number;
@Column({ name: 'CODENDENTCLI' })
codendentcli: number;
@Column({ name: 'CODCLIRECEBEDOR' })
codclirecebedor: number;
@Column({ name: 'NUMREGIAOBROKER' })
numregiaobroker: number;
@Column({ name: 'CODCLITV8' })
codclitv8: number;
@Column({ name: 'CODENDENT' })
codendent: number;
@Column({ name: 'PEDIDOPAGOECOMMERCE' })
pedidopagoecommerce: string;
@Column({ name: 'CODRETORNOS' })
codretornos: string;
@Column({ name: 'CUPOMDESCONTO' })
cupomdesconto: string;
@Column({ name: 'UIDREGISTRO' })
uidregistro: number;
@Column({ name: 'IDPARCEIRO' })
idparceiro: string;
@Column({ name: 'ASSINATURA' })
assinatura: string;
@Column({ name: 'DTHORA_NOTIFICA_SITE' })
dthora_notifica_site: Date;
@Column({ name: 'DTINCLUSAO' })
dtinclusao: Date;
@Column({ name: 'CODPLPAG2' })
codplpag2: number;
@Column({ name: 'CODCOB2' })
codcob2: string;
@Column({ name: 'NOME_CLIENTE' })
nome_cliente: string;
@Column({ name: 'OBSFRETE' })
obsfrete: string;
@Column({ name: 'CODFILIALPRINC' })
codfilialprinc: string;
@Column({ name: 'VLTOTAL' })
vltotal: number;
@Column({ name: 'SERVICOENTREGACODIGO' })
servicoentregacodigo: number;
@Column({ name: 'TRANSPORTADORAFRETE' })
transportadorafrete: number;
@Column({ name: 'PAGAMENTOAPROVADOCIASHOP' })
pagamentoaprovadociashop: string;
@Column({ name: 'ESC_VLOUTRASDESPWEB' })
esc_vloutrasdespweb: number;
@Column({ name: 'ESC_AJUSTARFINANCEIRO' })
esc_ajustarfinanceiro: string;
@Column({ name: 'ESC_OBTERNSU' })
esc_obternsu: string;
@Column({ name: 'ESCPRAZOENTREGA' })
escprazoentrega: number;
@Column({ name: 'NUMPEDMKTPLACE' })
numpedmktplace: string;
@Column({ name: 'ESC_CODTRANSPINTELIPOST' })
esc_codtranspintelipost: number;
@Column({ name: 'USACORTECIASHOP' })
usacorteciashop: string;
@Column({ name: 'ESC_VENDADELIVERY' })
esc_vendadelivery: string;
@Column({ name: 'ESC_VERSAOVENDADELIVERY' })
esc_versaovendadelivery: string;
@Column({ name: 'ESC_CODCOBORIG' })
esc_codcoborig: string;
@Column({ name: 'ESC_PEDIDOENCOMENDA' })
esc_pedidoencomenda: string;
@Column({ name: 'IDREMESSAWEB' })
idremessaweb: number;
@Column({ name: 'ESC_VENDASERVICO' })
esc_vendaservico: string;
@Column({ name: 'ESC_TIPODOCUMENTO' })
esc_tipodocumento: string;
@Column({ name: 'ESC_TIPOENTREGA' })
esc_tipoentrega: string;
@Column({ name: 'ESC_DESTINOCREDITO' })
esc_destinocredito: string;
@Column({ name: 'ESC_TIPOVENDA' })
esc_tipovenda: string;
}

View File

@ -1,62 +1,62 @@
import { Entity, Column, PrimaryColumn, ManyToOne, JoinColumn } from "typeorm";
import { Pcpedc } from "./pcpedc.entity";
@Entity('PCPEDI')
export class Pcpedi {
@PrimaryColumn({ name: 'NUMPED' })
numped: number;
@PrimaryColumn({ name: 'CODPROD' })
codprod: number;
@PrimaryColumn({ name: 'NUMSEQ' })
numseq: number;
@Column({ name: 'DATA' })
data: Date;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'QT' })
qt: number;
@Column({ name: 'PVENDA' })
pvenda: number;
@Column({ name: 'PTABELA' })
ptabela: number;
@Column({ name: 'NUMCAR' })
numcar: number;
@Column({ name: 'POSICAO' })
posicao: string;
@Column({ name: 'ST' })
st: number;
@Column({ name: 'PERDESC' })
perdesc: number;
@Column({ name: 'TIPOPESO' })
tipopeso: string;
@Column({ name: 'CODFILIALRETIRA' })
codfilialretira: string;
@Column({ name: 'QTEMBALAGEM' })
qtembalagem: number;
@Column({ name: 'CODAUXILIAR' })
codauxiliar: number;
@ManyToOne(type => Pcpedc, pcpedc => pcpedc.itens)
@JoinColumn({ name: 'NUMPED' })
pcpedc: Pcpedc;
import { Entity, Column, PrimaryColumn, ManyToOne, JoinColumn } from "typeorm";
import { Pcpedc } from "./pcpedc.entity";
@Entity('PCPEDI')
export class Pcpedi {
@PrimaryColumn({ name: 'NUMPED' })
numped: number;
@PrimaryColumn({ name: 'CODPROD' })
codprod: number;
@PrimaryColumn({ name: 'NUMSEQ' })
numseq: number;
@Column({ name: 'DATA' })
data: Date;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'QT' })
qt: number;
@Column({ name: 'PVENDA' })
pvenda: number;
@Column({ name: 'PTABELA' })
ptabela: number;
@Column({ name: 'NUMCAR' })
numcar: number;
@Column({ name: 'POSICAO' })
posicao: string;
@Column({ name: 'ST' })
st: number;
@Column({ name: 'PERDESC' })
perdesc: number;
@Column({ name: 'TIPOPESO' })
tipopeso: string;
@Column({ name: 'CODFILIALRETIRA' })
codfilialretira: string;
@Column({ name: 'QTEMBALAGEM' })
qtembalagem: number;
@Column({ name: 'CODAUXILIAR' })
codauxiliar: number;
@ManyToOne(type => Pcpedc, pcpedc => pcpedc.itens)
@JoinColumn({ name: 'NUMPED' })
pcpedc: Pcpedc;
}

View File

@ -1,170 +1,170 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCPEDITEMP')
export class Pcpeditemp {
@Column({ name: 'TIPOINTEGRACAO' })
tipointegracao: string;
@Column({ name: 'OBSERVACAO_PC' })
observacao_pc: string;
@Column({ name: 'NUMPEDCLI' })
numpedcli: string;
@PrimaryColumn({ name: 'NUMPEDRCA' })
numpedrca: number;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'DATA' })
data: Date;
@PrimaryColumn({ name: 'CODPROD' })
codprod: number;
@Column({ name: 'QT' })
qt: number;
@Column({ name: 'QT_FATURADA' })
qt_faturada: number;
@Column({ name: 'PVENDA' })
pvenda: number;
@Column({ name: 'PTABELA' })
ptabela: number;
@Column({ name: 'PERDESC' })
perdesc: number;
@PrimaryColumn({ name: 'NUMSEQ' })
numseq: number;
@Column({ name: 'CODAUXILIAR' })
codauxiliar: number;
@Column({ name: 'CODCERTIFIC' })
codcertific: number;
@Column({ name: 'CODFILIALRETIRA' })
codfilialretira: string;
@Column({ name: 'NUMLOTE' })
numlote: string;
@Column({ name: 'COMPLEMENTO' })
complemento: string;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'CODPROMOCAO' })
codpromocao: string;
@Column({ name: 'PRAZOMEDIO' })
prazomedio: number;
@Column({ name: 'LOCALIZACAO' })
localizacao: string;
@Column({ name: 'PBONIFIC' })
pbonific: number;
@Column({ name: 'CODDEGUSTACAO' })
coddegustacao: number;
@Column({ name: 'PESOBRUTO' })
pesobruto: number;
@Column({ name: 'EANCODPROD' })
eancodprod: number;
@Column({ name: 'CODNAOATENDIMENTO' })
codnaoatendimento: number;
@Column({ name: 'OBSINTEGRACAO1' })
obsintegracao1: string;
@Column({ name: 'OBSINTEGRACAO2' })
obsintegracao2: string;
@Column({ name: 'NUMPEDWEB' })
numpedweb: number;
@Column({ name: 'TRANSACAO' })
transacao: number;
@Column({ name: 'IDVENDA' })
idvenda: number;
@Column({ name: 'INTEGRADORA' })
integradora: number;
@Column({ name: 'CODRETORNO' })
codretorno: number;
@Column({ name: 'COMISSAOATIM' })
comissaoatim: number;
@Column({ name: 'TIPOENTREGA' })
tipoentrega: string;
@Column({ name: 'CODRETORNOS' })
codretornos: string;
@Column({ name: 'DTINCLUSAO' })
dtinclusao: Date;
@Column({ name: 'CODPRODCESTA' })
codprodcesta: number;
@Column({ name: 'BONIFIC' })
bonific: string;
@Column({ name: 'DTIMP' })
dtimp: Date;
@Column({ name: 'PBASERCA' })
pbaserca: number;
@Column({ name: 'VLFRETE' })
vlfrete: number;
@Column({ name: 'FATORCONVERSAO' })
fatorconversao: number;
@Column({ name: 'IDKITPRODUTO' })
idkitproduto: string;
@Column({ name: 'MOVIMENTACONTACORRENTERCA' })
movimentacontacorrenterca: string;
@Column({ name: 'PORIGINAL' })
poriginal: number;
@Column({ name: 'ESC_EMBALAGEMPRESENTE' })
esc_embalagempresente: string;
@Column({ name: 'QTUNITEMB' })
qtunitemb: number;
@Column({ name: 'IDREMESSAWEB' })
idremessaweb: number;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'CODCLIPARTILHA' })
codclipartilha: number;
@Column({name: 'RETIRAPOSTERIOR_IMEDIATA'})
rp_imediata: string;
}
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCPEDITEMP')
export class Pcpeditemp {
@Column({ name: 'TIPOINTEGRACAO' })
tipointegracao: string;
@Column({ name: 'OBSERVACAO_PC' })
observacao_pc: string;
@Column({ name: 'NUMPEDCLI' })
numpedcli: string;
@PrimaryColumn({ name: 'NUMPEDRCA' })
numpedrca: number;
@Column({ name: 'CODCLI' })
codcli: number;
@Column({ name: 'CODUSUR' })
codusur: number;
@Column({ name: 'DATA' })
data: Date;
@PrimaryColumn({ name: 'CODPROD' })
codprod: number;
@Column({ name: 'QT' })
qt: number;
@Column({ name: 'QT_FATURADA' })
qt_faturada: number;
@Column({ name: 'PVENDA' })
pvenda: number;
@Column({ name: 'PTABELA' })
ptabela: number;
@Column({ name: 'PERDESC' })
perdesc: number;
@PrimaryColumn({ name: 'NUMSEQ' })
numseq: number;
@Column({ name: 'CODAUXILIAR' })
codauxiliar: number;
@Column({ name: 'CODCERTIFIC' })
codcertific: number;
@Column({ name: 'CODFILIALRETIRA' })
codfilialretira: string;
@Column({ name: 'NUMLOTE' })
numlote: string;
@Column({ name: 'COMPLEMENTO' })
complemento: string;
@Column({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'CODPROMOCAO' })
codpromocao: string;
@Column({ name: 'PRAZOMEDIO' })
prazomedio: number;
@Column({ name: 'LOCALIZACAO' })
localizacao: string;
@Column({ name: 'PBONIFIC' })
pbonific: number;
@Column({ name: 'CODDEGUSTACAO' })
coddegustacao: number;
@Column({ name: 'PESOBRUTO' })
pesobruto: number;
@Column({ name: 'EANCODPROD' })
eancodprod: number;
@Column({ name: 'CODNAOATENDIMENTO' })
codnaoatendimento: number;
@Column({ name: 'OBSINTEGRACAO1' })
obsintegracao1: string;
@Column({ name: 'OBSINTEGRACAO2' })
obsintegracao2: string;
@Column({ name: 'NUMPEDWEB' })
numpedweb: number;
@Column({ name: 'TRANSACAO' })
transacao: number;
@Column({ name: 'IDVENDA' })
idvenda: number;
@Column({ name: 'INTEGRADORA' })
integradora: number;
@Column({ name: 'CODRETORNO' })
codretorno: number;
@Column({ name: 'COMISSAOATIM' })
comissaoatim: number;
@Column({ name: 'TIPOENTREGA' })
tipoentrega: string;
@Column({ name: 'CODRETORNOS' })
codretornos: string;
@Column({ name: 'DTINCLUSAO' })
dtinclusao: Date;
@Column({ name: 'CODPRODCESTA' })
codprodcesta: number;
@Column({ name: 'BONIFIC' })
bonific: string;
@Column({ name: 'DTIMP' })
dtimp: Date;
@Column({ name: 'PBASERCA' })
pbaserca: number;
@Column({ name: 'VLFRETE' })
vlfrete: number;
@Column({ name: 'FATORCONVERSAO' })
fatorconversao: number;
@Column({ name: 'IDKITPRODUTO' })
idkitproduto: string;
@Column({ name: 'MOVIMENTACONTACORRENTERCA' })
movimentacontacorrenterca: string;
@Column({ name: 'PORIGINAL' })
poriginal: number;
@Column({ name: 'ESC_EMBALAGEMPRESENTE' })
esc_embalagempresente: string;
@Column({ name: 'QTUNITEMB' })
qtunitemb: number;
@Column({ name: 'IDREMESSAWEB' })
idremessaweb: number;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'CODCLIPARTILHA' })
codclipartilha: number;
@Column({name: 'RETIRAPOSTERIOR_IMEDIATA'})
rp_imediata: string;
}

View File

@ -1,211 +1,211 @@
import { Column, Entity, JoinColumn, OneToMany, OneToOne, PrimaryColumn } from "typeorm";
import { Pcpedc } from "./pcpedc.entity";
@Entity('PCPLPAG')
export class Pcplpag {
@PrimaryColumn({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'DESCRICAO' })
descricao: string;
@Column({ name: 'NUMDIAS' })
numdias: number;
@Column({ name: 'TIPOPRAZO' })
tipoprazo: string;
@Column({ name: 'PRAZO1' })
prazo1: number;
@Column({ name: 'PRAZO2' })
prazo2: number;
@Column({ name: 'PRAZO3' })
prazo3: number;
@Column({ name: 'DTVENC1' })
dtvenc1: Date;
@Column({ name: 'DTVENC2' })
dtvenc2: Date;
@Column({ name: 'DTVENC3' })
dtvenc3: Date;
@Column({ name: 'NUMPR' })
numpr: number;
@Column({ name: 'TIPOVENDA' })
tipovenda: string;
@Column({ name: 'PERTXFIM' })
pertxfim: number;
@Column({ name: 'OBS' })
obs: string;
@Column({ name: 'OFERTA' })
oferta: string;
@Column({ name: 'PRAZO4' })
prazo4: number;
@Column({ name: 'PRAZO5' })
prazo5: number;
@Column({ name: 'PRAZO6' })
prazo6: number;
@Column({ name: 'PRAZO7' })
prazo7: number;
@Column({ name: 'PRAZO8' })
prazo8: number;
@Column({ name: 'PRAZO9' })
prazo9: number;
@Column({ name: 'PRAZO10' })
prazo10: number;
@Column({ name: 'PRAZO11' })
prazo11: number;
@Column({ name: 'PRAZO12' })
prazo12: number;
@Column({ name: 'VENDABK' })
vendabk: string;
@Column({ name: 'VLMINPEDIDO' })
vlminpedido: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'TIPOENTRADA' })
tipoentrada: number;
@Column({ name: 'NUMITENSMINIMO' })
numitensminimo: number;
@Column({ name: 'PERTXFIMPALM' })
pertxfimpalm: number;
@Column({ name: 'CODEQUIPE' })
codequipe: number;
@Column({ name: 'TIPORESTRICAO' })
tiporestricao: string;
@Column({ name: 'CODRESTRICAO' })
codrestricao: number;
@Column({ name: 'ENVIAPLANOFV' })
enviaplanofv: string;
@Column({ name: 'PRAZOPONDERADO' })
prazoponderado: string;
@Column({ name: 'USAPLPAGAUTOSERVICO' })
usaplpagautoservico: string;
@Column({ name: 'USADESCLINHAPROD' })
usadesclinhaprod: string;
@Column({ name: 'ENTRADA' })
entrada: string;
@Column({ name: 'FORMAPARCELAMENTO' })
formaparcelamento: string;
@Column({ name: 'NUMPARCELAS' })
numparcelas: number;
@Column({ name: 'NUMDIASCARENCIA' })
numdiascarencia: number;
@Column({ name: 'NUMDIASCARTAO' })
numdiascartao: number;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'USAPRAZOADICIONALPCCLIENT' })
usaprazoadicionalpcclient: string;
@Column({ name: 'DESCRICAO2' })
descricao2: string;
@Column({ name: 'VLTXCARNE' })
vltxcarne: number;
@Column({ name: 'TXFATOR' })
txfator: number;
@Column({ name: 'USADESCFINANCEIRO' })
usadescfinanceiro: string;
@Column({ name: 'USAMULTIFILIAL' })
usamultifilial: string;
@Column({ name: 'NUMEROPARCELASDIAFIXO' })
numeroparcelasdiafixo: number;
@Column({ name: 'DIASCARENCIA' })
diascarencia: number;
@Column({ name: 'DIAFIXO' })
diafixo: number;
@Column({ name: 'STATUS' })
status: string;
@Column({ name: 'CODFUNC' })
codfunc: number;
@Column({ name: 'NUMDIASATRASOINI' })
numdiasatrasoini: number;
@Column({ name: 'NUMDIASATRASOFIM' })
numdiasatrasofim: number;
@Column({ name: 'DESCENTLIMCREDCLI' })
descentlimcredcli: string;
@Column({ name: 'VLMINPARCELA' })
vlminparcela: number;
@Column({ name: 'DIASMINPARCELA' })
diasminparcela: number;
@Column({ name: 'DIASMAXPARCELA' })
diasmaxparcela: number;
@Column({ name: 'NAOCOBRARTXBOLETO' })
naocobrartxboleto: string;
@Column({ name: 'USASUPPLICARD' })
usasupplicard: string;
@Column({ name: 'CONDFINANC' })
condfinanc: string;
@Column({ name: 'DTMXSALTER' })
dtmxsalter: Date;
@Column({ name: 'FATOR_CREDIARIO' })
fator_crediario: number;
@Column({ name: 'TIPOPLANO' })
tipoplano: string;
@Column({ name: 'CODSUPPLICARD' })
codsupplicard: string;
@OneToMany(() => Pcpedc, pcpedc => pcpedc.pcplpag)
@JoinColumn({ name: 'CODPLPAG' })
pedidos: Pcpedc[];
import { Column, Entity, JoinColumn, OneToMany, OneToOne, PrimaryColumn } from "typeorm";
import { Pcpedc } from "./pcpedc.entity";
@Entity('PCPLPAG')
export class Pcplpag {
@PrimaryColumn({ name: 'CODPLPAG' })
codplpag: number;
@Column({ name: 'DESCRICAO' })
descricao: string;
@Column({ name: 'NUMDIAS' })
numdias: number;
@Column({ name: 'TIPOPRAZO' })
tipoprazo: string;
@Column({ name: 'PRAZO1' })
prazo1: number;
@Column({ name: 'PRAZO2' })
prazo2: number;
@Column({ name: 'PRAZO3' })
prazo3: number;
@Column({ name: 'DTVENC1' })
dtvenc1: Date;
@Column({ name: 'DTVENC2' })
dtvenc2: Date;
@Column({ name: 'DTVENC3' })
dtvenc3: Date;
@Column({ name: 'NUMPR' })
numpr: number;
@Column({ name: 'TIPOVENDA' })
tipovenda: string;
@Column({ name: 'PERTXFIM' })
pertxfim: number;
@Column({ name: 'OBS' })
obs: string;
@Column({ name: 'OFERTA' })
oferta: string;
@Column({ name: 'PRAZO4' })
prazo4: number;
@Column({ name: 'PRAZO5' })
prazo5: number;
@Column({ name: 'PRAZO6' })
prazo6: number;
@Column({ name: 'PRAZO7' })
prazo7: number;
@Column({ name: 'PRAZO8' })
prazo8: number;
@Column({ name: 'PRAZO9' })
prazo9: number;
@Column({ name: 'PRAZO10' })
prazo10: number;
@Column({ name: 'PRAZO11' })
prazo11: number;
@Column({ name: 'PRAZO12' })
prazo12: number;
@Column({ name: 'VENDABK' })
vendabk: string;
@Column({ name: 'VLMINPEDIDO' })
vlminpedido: number;
@Column({ name: 'CODCOB' })
codcob: string;
@Column({ name: 'TIPOENTRADA' })
tipoentrada: number;
@Column({ name: 'NUMITENSMINIMO' })
numitensminimo: number;
@Column({ name: 'PERTXFIMPALM' })
pertxfimpalm: number;
@Column({ name: 'CODEQUIPE' })
codequipe: number;
@Column({ name: 'TIPORESTRICAO' })
tiporestricao: string;
@Column({ name: 'CODRESTRICAO' })
codrestricao: number;
@Column({ name: 'ENVIAPLANOFV' })
enviaplanofv: string;
@Column({ name: 'PRAZOPONDERADO' })
prazoponderado: string;
@Column({ name: 'USAPLPAGAUTOSERVICO' })
usaplpagautoservico: string;
@Column({ name: 'USADESCLINHAPROD' })
usadesclinhaprod: string;
@Column({ name: 'ENTRADA' })
entrada: string;
@Column({ name: 'FORMAPARCELAMENTO' })
formaparcelamento: string;
@Column({ name: 'NUMPARCELAS' })
numparcelas: number;
@Column({ name: 'NUMDIASCARENCIA' })
numdiascarencia: number;
@Column({ name: 'NUMDIASCARTAO' })
numdiascartao: number;
@Column({ name: 'CODFILIAL' })
codfilial: string;
@Column({ name: 'USAPRAZOADICIONALPCCLIENT' })
usaprazoadicionalpcclient: string;
@Column({ name: 'DESCRICAO2' })
descricao2: string;
@Column({ name: 'VLTXCARNE' })
vltxcarne: number;
@Column({ name: 'TXFATOR' })
txfator: number;
@Column({ name: 'USADESCFINANCEIRO' })
usadescfinanceiro: string;
@Column({ name: 'USAMULTIFILIAL' })
usamultifilial: string;
@Column({ name: 'NUMEROPARCELASDIAFIXO' })
numeroparcelasdiafixo: number;
@Column({ name: 'DIASCARENCIA' })
diascarencia: number;
@Column({ name: 'DIAFIXO' })
diafixo: number;
@Column({ name: 'STATUS' })
status: string;
@Column({ name: 'CODFUNC' })
codfunc: number;
@Column({ name: 'NUMDIASATRASOINI' })
numdiasatrasoini: number;
@Column({ name: 'NUMDIASATRASOFIM' })
numdiasatrasofim: number;
@Column({ name: 'DESCENTLIMCREDCLI' })
descentlimcredcli: string;
@Column({ name: 'VLMINPARCELA' })
vlminparcela: number;
@Column({ name: 'DIASMINPARCELA' })
diasminparcela: number;
@Column({ name: 'DIASMAXPARCELA' })
diasmaxparcela: number;
@Column({ name: 'NAOCOBRARTXBOLETO' })
naocobrartxboleto: string;
@Column({ name: 'USASUPPLICARD' })
usasupplicard: string;
@Column({ name: 'CONDFINANC' })
condfinanc: string;
@Column({ name: 'DTMXSALTER' })
dtmxsalter: Date;
@Column({ name: 'FATOR_CREDIARIO' })
fator_crediario: number;
@Column({ name: 'TIPOPLANO' })
tipoplano: string;
@Column({ name: 'CODSUPPLICARD' })
codsupplicard: string;
@OneToMany(() => Pcpedc, pcpedc => pcpedc.pcplpag)
@JoinColumn({ name: 'CODPLPAG' })
pedidos: Pcpedc[];
}

View File

@ -1,10 +1,10 @@
import { Entity, PrimaryColumn } from "typeorm";
@Entity('PCPRACA')
export class Pcpraca {
@PrimaryColumn({name: 'CODPRACA'})
codpraca: number;
@PrimaryColumn({name: 'PRACA'})
praca: string;
import { Entity, PrimaryColumn } from "typeorm";
@Entity('PCPRACA')
export class Pcpraca {
@PrimaryColumn({name: 'CODPRACA'})
codpraca: number;
@PrimaryColumn({name: 'PRACA'})
praca: string;
}

View File

@ -1,30 +1,30 @@
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
import { Brand } from "./pcmarca.entity";
@Entity('PCPRODUT')
export class Product {
@PrimaryColumn({name: 'CODPROD'})
id: number;
@Column({name: 'DESCRICAO'})
smallDescription: string;
@Column({name: 'PESOBRUTO'})
peso: number;
@Column({name: 'PESOLIQ'})
pesoLiquido: number;
@Column({name: 'ALTURAM3'})
altura: number;
@Column({name: 'COMPRIMENTOM3'})
comprimento: number;
@Column({name: 'LARGURAM3'})
largura: number;
@Column({name: 'CODAUXILIAR'})
ean: number;
@Column({name: 'CODMARCA', select: false})
idBrand: number;
@ManyToOne(() => Brand, brand => brand.products)
@JoinColumn({
name: "CODMARCA",
referencedColumnName: "id"
})
brand: Brand;
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
import { Brand } from "./pcmarca.entity";
@Entity('PCPRODUT')
export class Product {
@PrimaryColumn({name: 'CODPROD'})
id: number;
@Column({name: 'DESCRICAO'})
smallDescription: string;
@Column({name: 'PESOBRUTO'})
peso: number;
@Column({name: 'PESOLIQ'})
pesoLiquido: number;
@Column({name: 'ALTURAM3'})
altura: number;
@Column({name: 'COMPRIMENTOM3'})
comprimento: number;
@Column({name: 'LARGURAM3'})
largura: number;
@Column({name: 'CODAUXILIAR'})
ean: number;
@Column({name: 'CODMARCA', select: false})
idBrand: number;
@ManyToOne(() => Brand, brand => brand.products)
@JoinColumn({
name: "CODMARCA",
referencedColumnName: "id"
})
brand: Brand;
}

View File

@ -1,31 +1,31 @@
import { Pcdepto } from './pcdepto.entity';
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from './esttipoproduto.entity';
import { Pccategoria } from './pccategoria.entity';
@Entity("PCSECAO")
export class Pcsecao {
@PrimaryColumn({name: "CODSEC"})
codigoSecao: number;
@Column({name: "CODEPTO"})
codigoDepartamento: number;
@Column({name: "DESCRICAO"})
descricaoSecao: string;
@Column({name: "TITULOECOMMERCE"})
nomeEcommerce: string;
@ManyToOne(() => Pcdepto, departamento => departamento.secao)
@JoinColumn({ name: 'CODEPTO' })
departamento: Pcdepto;
@OneToMany(() => Pccategoria, categoria => categoria.secao)
categorias: Pccategoria[];
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.secao)
tiposProduto: Esttipoproduto[];
import { Pcdepto } from './pcdepto.entity';
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryColumn } from "typeorm";
import { Esttipoproduto } from './esttipoproduto.entity';
import { Pccategoria } from './pccategoria.entity';
@Entity("PCSECAO")
export class Pcsecao {
@PrimaryColumn({name: "CODSEC"})
codigoSecao: number;
@Column({name: "CODEPTO"})
codigoDepartamento: number;
@Column({name: "DESCRICAO"})
descricaoSecao: string;
@Column({name: "TITULOECOMMERCE"})
nomeEcommerce: string;
@ManyToOne(() => Pcdepto, departamento => departamento.secao)
@JoinColumn({ name: 'CODEPTO' })
departamento: Pcdepto;
@OneToMany(() => Pccategoria, categoria => categoria.secao)
categorias: Pccategoria[];
@OneToMany(() => Esttipoproduto, tipoProduto => tipoProduto.secao)
tiposProduto: Esttipoproduto[];
}

View File

@ -1,17 +1,17 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCTABTRIB')
export class Pctabtrib {
@PrimaryColumn({name: 'CODPROD'})
codprod: number;
@PrimaryColumn({name: 'CODFILIALNF'})
codfilialnf: string;
@PrimaryColumn({name: 'UFDESTINO'})
ufdestino: string;
@Column({name: 'CODST'})
codst: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCTABTRIB')
export class Pctabtrib {
@PrimaryColumn({name: 'CODPROD'})
codprod: number;
@PrimaryColumn({name: 'CODFILIALNF'})
codfilialnf: string;
@PrimaryColumn({name: 'UFDESTINO'})
ufdestino: string;
@Column({name: 'CODST'})
codst: number;
}

View File

@ -1,19 +1,19 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCUSUARI')
export class Pcusuari {
@PrimaryColumn({name: 'CODUSUR'})
codusur: number;
@Column({name: 'NOME'})
nome: string;
@Column({name: 'CODSUPERVISOR'})
codsupervisor: number;
@Column({name: 'PROXNUMPEDWEB'})
proxnumpedweb: number;
@Column({name: 'PROXNUMPED'})
proxnumped: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('PCUSUARI')
export class Pcusuari {
@PrimaryColumn({name: 'CODUSUR'})
codusur: number;
@Column({name: 'NOME'})
nome: string;
@Column({name: 'CODSUPERVISOR'})
codsupervisor: number;
@Column({name: 'PROXNUMPEDWEB'})
proxnumpedweb: number;
@Column({name: 'PROXNUMPED'})
proxnumped: number;
}

View File

@ -1,53 +1,53 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVANALISEVENDARCA')
export class Esvanalisevendarca {
@PrimaryColumn({name: 'CODUSUR'})
codigoVendedor: number;
@Column({name: 'QTDE_ORCA_PENDENTES'})
orcamentosPendentes: number;
@Column({name: 'VLMETAMES'})
valorMetaMes: number;
@Column({name: 'VLVENDAMES'})
valorVendaMes: number;
@Column({name: 'VLCOMISSAO'})
valorComissao: number;
@Column({name: 'VLCOMISSAOMESANT'})
valorComissaoMesAnt: number;
@Column({name: 'VLMETAMESANT'})
valorMetaMesAnt: number;
@Column({name: 'VLVENDAMESANT'})
valorVendaMesAnt: number;
@Column({name: 'VLMETADIA'})
valorMetaDia: number;
@Column({name: 'VLVENDADIA'})
valorVendaDia: number;
@Column({name: 'VLMETADIAANT'})
valorMetaDiaAnt: number;
@Column({name: 'VLVENDADIAANT'})
valorVendaDiaAnt: number;
@Column({name: 'QTCLIENTES'})
quantidadeClientes: number;
@Column({name: 'QTCLIENTESMESANT'})
quantidadeClientesMesAnt: number;
@Column({name: 'QTNOTAS'})
quantidadeNotas: number;
@Column({name: 'QTNOTASMESANT'})
quantidadeNotasMesAnt: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVANALISEVENDARCA')
export class Esvanalisevendarca {
@PrimaryColumn({name: 'CODUSUR'})
codigoVendedor: number;
@Column({name: 'QTDE_ORCA_PENDENTES'})
orcamentosPendentes: number;
@Column({name: 'VLMETAMES'})
valorMetaMes: number;
@Column({name: 'VLVENDAMES'})
valorVendaMes: number;
@Column({name: 'VLCOMISSAO'})
valorComissao: number;
@Column({name: 'VLCOMISSAOMESANT'})
valorComissaoMesAnt: number;
@Column({name: 'VLMETAMESANT'})
valorMetaMesAnt: number;
@Column({name: 'VLVENDAMESANT'})
valorVendaMesAnt: number;
@Column({name: 'VLMETADIA'})
valorMetaDia: number;
@Column({name: 'VLVENDADIA'})
valorVendaDia: number;
@Column({name: 'VLMETADIAANT'})
valorMetaDiaAnt: number;
@Column({name: 'VLVENDADIAANT'})
valorVendaDiaAnt: number;
@Column({name: 'QTCLIENTES'})
quantidadeClientes: number;
@Column({name: 'QTCLIENTESMESANT'})
quantidadeClientesMesAnt: number;
@Column({name: 'QTNOTAS'})
quantidadeNotas: number;
@Column({name: 'QTNOTASMESANT'})
quantidadeNotasMesAnt: number;
}

View File

@ -1,28 +1,28 @@
/* CODSEC, CODCATEGORIA, DESCRICAO, TITULOECOMMERCE, URL*/
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
import { Esvsecao } from "./esvsecao.entity";
@Entity("ESVCATEGORIA")
export class Esvcategoria {
@PrimaryColumn({name: "CODSEC"})
codigoSecao: number;
@PrimaryColumn({name: "CODCATEGORIA"})
codigoCategoria: number;
@Column({name: "DESCRICAO"})
descricaoCategoria: string;
@Column({name: "TITULOECOMMERCE"})
tituloEcommerce: string;
@Column({name: "URL"})
url: string;
@ManyToOne(() => Esvsecao, secao => secao.categorias)
@JoinColumn({ name: 'CODSEC' })
secao: Esvsecao;
/* CODSEC, CODCATEGORIA, DESCRICAO, TITULOECOMMERCE, URL*/
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
import { Esvsecao } from "./esvsecao.entity";
@Entity("ESVCATEGORIA")
export class Esvcategoria {
@PrimaryColumn({name: "CODSEC"})
codigoSecao: number;
@PrimaryColumn({name: "CODCATEGORIA"})
codigoCategoria: number;
@Column({name: "DESCRICAO"})
descricaoCategoria: string;
@Column({name: "TITULOECOMMERCE"})
tituloEcommerce: string;
@Column({name: "URL"})
url: string;
@ManyToOne(() => Esvsecao, secao => secao.categorias)
@JoinColumn({ name: 'CODSEC' })
secao: Esvsecao;
}

View File

@ -1,20 +1,20 @@
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Esvsecao } from './esvsecao.entity';
@Entity("ESVDEPARTAMENTO")
export class Esvdepartamento {
@PrimaryColumn({name: "CODEPTO"})
codigoDepartamento: number;
@Column({name: "DESCRICAO"})
descricaoDepartamento: string;
@Column({name: "TITULOECOMMERCE"})
tituloEcommerce: string;
@Column({name: "URL"})
url: string;
@OneToMany(() => Esvsecao, secao => secao.departamento)
secoes: Esvsecao[];
import { Column, Entity, OneToMany, PrimaryColumn } from "typeorm";
import { Esvsecao } from './esvsecao.entity';
@Entity("ESVDEPARTAMENTO")
export class Esvdepartamento {
@PrimaryColumn({name: "CODEPTO"})
codigoDepartamento: number;
@Column({name: "DESCRICAO"})
descricaoDepartamento: string;
@Column({name: "TITULOECOMMERCE"})
tituloEcommerce: string;
@Column({name: "URL"})
url: string;
@OneToMany(() => Esvsecao, secao => secao.departamento)
secoes: Esvsecao[];
}

View File

@ -1,46 +1,46 @@
import { Entity, Column, PrimaryColumn } from "typeorm";
@Entity("ESVRETIRALOJASCLIENTE")
export class Esvretiralojascliente {
@PrimaryColumn({name: "NUMPED"})
numped: number;
@Column({name: "CODFILIAL"})
codfilial: string;
@Column({name: "NUMNOTA"})
numnota: number;
@Column({name: "DTFAT"})
dtfat: Date;
@Column({name: "DATAPEDIDO"})
datapedido: Date;
@Column({name: "CODCLI"})
codcli: number;
@Column({name: "CLIENTE"})
cliente: string;
@Column({name: "CODFILIALRETIRA"})
codfilialretira: string;
@Column({name: "RAZAOSOCIAL"})
razaosocial: string;
@Column({name: "MATRICULA"})
matricula: number;
@Column({name: "EMAIL"})
email: string;
@Column({name: "QTITENS"})
qtitens: number;
@Column({name: "QUANTIDADE"})
quantidade: number;
import { Entity, Column, PrimaryColumn } from "typeorm";
@Entity("ESVRETIRALOJASCLIENTE")
export class Esvretiralojascliente {
@PrimaryColumn({name: "NUMPED"})
numped: number;
@Column({name: "CODFILIAL"})
codfilial: string;
@Column({name: "NUMNOTA"})
numnota: number;
@Column({name: "DTFAT"})
dtfat: Date;
@Column({name: "DATAPEDIDO"})
datapedido: Date;
@Column({name: "CODCLI"})
codcli: number;
@Column({name: "CLIENTE"})
cliente: string;
@Column({name: "CODFILIALRETIRA"})
codfilialretira: string;
@Column({name: "RAZAOSOCIAL"})
razaosocial: string;
@Column({name: "MATRICULA"})
matricula: number;
@Column({name: "EMAIL"})
email: string;
@Column({name: "QTITENS"})
qtitens: number;
@Column({name: "QUANTIDADE"})
quantidade: number;
}

View File

@ -1,52 +1,52 @@
import { Entity, Column, PrimaryColumn } from "typeorm";
@Entity("ESVENTREGASPORCLIENTE")
export class Esventregasporcliente {
@PrimaryColumn({ name:'RID'})
rid: string;
@Column({ name:'CODCLI'})
codigoCliente: number;
@Column({ name:'CLIENTE'})
nomeCliente: string;
@Column({ name:'CGCENT'})
cnpj_cpf: string;
@Column({ name:'EMAIL'})
email: string;
@Column({ name:'CODENDERECO'})
codigoEndereco: number;
@Column({ name:'ENDERECO'})
endereco: string;
@Column({ name:'NUMERO'})
numero: string;
@Column({ name:'BAIRRO'})
bairro: string;
@Column({ name:'COMPLEMENTO'})
complemento: string;
@Column({ name:'CIDADE'})
cidade: string;
@Column({ name:'ESTADO'})
estado: string;
@Column({ name:'CEP'})
cep: string;
@Column({ name:'QTPEDIDOS'})
quantidadePedidos: number;
@Column({ name:'QTLOJAS'})
quantidadelojas: number;
import { Entity, Column, PrimaryColumn } from "typeorm";
@Entity("ESVENTREGASPORCLIENTE")
export class Esventregasporcliente {
@PrimaryColumn({ name:'RID'})
rid: string;
@Column({ name:'CODCLI'})
codigoCliente: number;
@Column({ name:'CLIENTE'})
nomeCliente: string;
@Column({ name:'CGCENT'})
cnpj_cpf: string;
@Column({ name:'EMAIL'})
email: string;
@Column({ name:'CODENDERECO'})
codigoEndereco: number;
@Column({ name:'ENDERECO'})
endereco: string;
@Column({ name:'NUMERO'})
numero: string;
@Column({ name:'BAIRRO'})
bairro: string;
@Column({ name:'COMPLEMENTO'})
complemento: string;
@Column({ name:'CIDADE'})
cidade: string;
@Column({ name:'ESTADO'})
estado: string;
@Column({ name:'CEP'})
cep: string;
@Column({ name:'QTPEDIDOS'})
quantidadePedidos: number;
@Column({ name:'QTLOJAS'})
quantidadelojas: number;
}

View File

@ -1,32 +1,32 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVESTOQUEVENDA')
export class Stock {
@PrimaryColumn({name: 'CODFILIAL'})
store: number;
@PrimaryColumn({name: 'CODPROD'})
idProduct: number;
@PrimaryColumn({name: 'PERTENCE'})
work: boolean;
@Column({name: 'QUANTIDADEESTOQUEDISPONIVEL'})
quantity: number;
@Column({name: 'QUANTIDADEBLOQUEADA'})
blocked: number;
@Column({name: 'QUANTIDADEAVARIA'})
breakdown: number;
@Column({name: 'QUANTIDADETRANSITO'})
transfer: number;
/* @ManyToOne(type => SalesProduct, product => product.stock)
@JoinColumn({ name: 'CODPROD' })
product: SalesProduct;*/
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVESTOQUEVENDA')
export class Stock {
@PrimaryColumn({name: 'CODFILIAL'})
store: number;
@PrimaryColumn({name: 'CODPROD'})
idProduct: number;
@PrimaryColumn({name: 'PERTENCE'})
work: boolean;
@Column({name: 'QUANTIDADEESTOQUEDISPONIVEL'})
quantity: number;
@Column({name: 'QUANTIDADEBLOQUEADA'})
blocked: number;
@Column({name: 'QUANTIDADEAVARIA'})
breakdown: number;
@Column({name: 'QUANTIDADETRANSITO'})
transfer: number;
/* @ManyToOne(type => SalesProduct, product => product.stock)
@JoinColumn({ name: 'CODPROD' })
product: SalesProduct;*/
}

View File

@ -1,39 +1,39 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVORCAMENTOPEDIDO')
export class EsvOrcamentoPedido {
@PrimaryColumn({name: 'TIPO'})
tipo: string;
@Column({name: 'NUMERO'})
numero: number;
@Column({name: 'CODFILIAL'})
codfilial: string;
@Column({name: 'DATA'})
data: Date;
@Column({name: 'CODUSUR'})
codusur: number;
@Column({name: 'NOME'})
nome: string;
@Column({name: 'CODCLI'})
codcli: number;
@Column({name: 'CLIENTE'})
cliente: number;
@Column({name: 'POSICAO'})
posicao: string;
@Column({name: 'VLTOTAL'})
vltotal: number;
@Column({name: 'VLFRETE'})
vlfrete: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVORCAMENTOPEDIDO')
export class EsvOrcamentoPedido {
@PrimaryColumn({name: 'TIPO'})
tipo: string;
@Column({name: 'NUMERO'})
numero: number;
@Column({name: 'CODFILIAL'})
codfilial: string;
@Column({name: 'DATA'})
data: Date;
@Column({name: 'CODUSUR'})
codusur: number;
@Column({name: 'NOME'})
nome: string;
@Column({name: 'CODCLI'})
codcli: number;
@Column({name: 'CLIENTE'})
cliente: number;
@Column({name: 'POSICAO'})
posicao: string;
@Column({name: 'VLTOTAL'})
vltotal: number;
@Column({name: 'VLFRETE'})
vlfrete: number;
}

View File

@ -1,23 +1,23 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVPARCELAMENTOVENDA')
export class Esvparcelamentovenda {
@PrimaryColumn({name: 'CODFILIAL'})
store: string;
@PrimaryColumn({name: 'CODPROD'})
productId: number;
@Column({name: 'NUMREGIAO'})
priceTable: number;
@Column({name: 'PARCELAS'})
installments: number;
@Column({name: 'PRECOVENDA'})
salePrice: number;
@Column({name: 'VALORPARCELA'})
installmentValue: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVPARCELAMENTOVENDA')
export class Esvparcelamentovenda {
@PrimaryColumn({name: 'CODFILIAL'})
store: string;
@PrimaryColumn({name: 'CODPROD'})
productId: number;
@Column({name: 'NUMREGIAO'})
priceTable: number;
@Column({name: 'PARCELAS'})
installments: number;
@Column({name: 'PRECOVENDA'})
salePrice: number;
@Column({name: 'VALORPARCELA'})
installmentValue: number;
}

View File

@ -1,25 +1,25 @@
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
import { SalesProduct } from "./esvprodutosvenda.entity";
@Entity('ESVPRECOVENDA')
export class Price {
@PrimaryColumn({name: 'NUMEROREGIAO'})
priceTable: number;
@PrimaryColumn({name: 'CODPROD'})
idProduct: number;
@Column({name: 'PRECOVENDA'})
listPrice: number;
@Column({name: 'PRECOOFERTA'})
salePrice: number;
@Column({name: 'PERCDESCONTO'})
percentOff: number;
/*@ManyToOne(type => SalesProduct, product => product.price)
@JoinColumn({ name: 'CODPROD' })
product: SalesProduct;*/
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
import { SalesProduct } from "./esvprodutosvenda.entity";
@Entity('ESVPRECOVENDA')
export class Price {
@PrimaryColumn({name: 'NUMEROREGIAO'})
priceTable: number;
@PrimaryColumn({name: 'CODPROD'})
idProduct: number;
@Column({name: 'PRECOVENDA'})
listPrice: number;
@Column({name: 'PRECOOFERTA'})
salePrice: number;
@Column({name: 'PERCDESCONTO'})
percentOff: number;
/*@ManyToOne(type => SalesProduct, product => product.price)
@JoinColumn({ name: 'CODPROD' })
product: SalesProduct;*/
}

View File

@ -1,84 +1,84 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVPRODUTOSPROMOCAO')
export class SalesPromotion {
@PrimaryColumn({name: 'CODPROD'})
idProduct: number;
@Column({name: 'SEQ'})
seq: number;
@Column({name: 'DESCRICAO'})
smallDescription: string;
@Column({name: 'NOMEECOMMERCE'})
title: string;
@Column({name: 'CODFAB'})
idProvider: string;
@Column({name: 'CODAUXILIAR'})
ean: string;
@Column({name: 'TIPOPRODUTO'})
typeProduct: string;
@Column({name: 'DADOSTECNICOS'})
technicalData: string;
@Column({name: 'INFORMACOESTECNICAS'})
description: string;
@Column({name: 'URLIMAGEM'})
urlImage: string;
@Column({name: 'NOMEMARCA'})
brand: string;
@Column({name: 'NOMEDEPARTAMENTO'})
department: string;
@Column({name: 'NOMESECAO'})
section: string;
@Column({name: 'NOMECATEGORIA'})
category: string;
@Column({name: 'NOMEFORNECEDOR'})
supplier: string;
@Column({name: 'CODIGOFILIAL'})
store: string;
@Column({name: 'CLASSEVENDA'})
saleAbc: string;
@Column({name: 'CLASSEESTOQUE'})
stockAbc: string;
@Column({name: 'FORALINHA'})
outLine: string;
@Column({name: 'PRECOVENDA'})
listPrice: number;
@Column({name: 'PRECOPROMOCIONAL'})
salePrice: number;
@Column({name: 'PERCENTUALDESCONTO'})
offPercent: number;
@Column({name: 'QTESTOQUE_DISPONIVEL'})
stock: number;
@Column({name: 'QTCAIXAS'})
boxStock: number;
@Column({name: 'MULTIPLO'})
mutiple: number;
@Column({name: 'UNIDADE'})
unity: number;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVPRODUTOSPROMOCAO')
export class SalesPromotion {
@PrimaryColumn({name: 'CODPROD'})
idProduct: number;
@Column({name: 'SEQ'})
seq: number;
@Column({name: 'DESCRICAO'})
smallDescription: string;
@Column({name: 'NOMEECOMMERCE'})
title: string;
@Column({name: 'CODFAB'})
idProvider: string;
@Column({name: 'CODAUXILIAR'})
ean: string;
@Column({name: 'TIPOPRODUTO'})
typeProduct: string;
@Column({name: 'DADOSTECNICOS'})
technicalData: string;
@Column({name: 'INFORMACOESTECNICAS'})
description: string;
@Column({name: 'URLIMAGEM'})
urlImage: string;
@Column({name: 'NOMEMARCA'})
brand: string;
@Column({name: 'NOMEDEPARTAMENTO'})
department: string;
@Column({name: 'NOMESECAO'})
section: string;
@Column({name: 'NOMECATEGORIA'})
category: string;
@Column({name: 'NOMEFORNECEDOR'})
supplier: string;
@Column({name: 'CODIGOFILIAL'})
store: string;
@Column({name: 'CLASSEVENDA'})
saleAbc: string;
@Column({name: 'CLASSEESTOQUE'})
stockAbc: string;
@Column({name: 'FORALINHA'})
outLine: string;
@Column({name: 'PRECOVENDA'})
listPrice: number;
@Column({name: 'PRECOPROMOCIONAL'})
salePrice: number;
@Column({name: 'PERCENTUALDESCONTO'})
offPercent: number;
@Column({name: 'QTESTOQUE_DISPONIVEL'})
stock: number;
@Column({name: 'QTCAIXAS'})
boxStock: number;
@Column({name: 'MULTIPLO'})
mutiple: number;
@Column({name: 'UNIDADE'})
unity: number;
}

View File

@ -1,100 +1,100 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVLISTAPRODUTOS')
export class SalesProduct {
@PrimaryColumn({name: 'CODPROD'})
idProduct: number;
@Column({name: 'SEQ'})
seq: number;
@Column({name: 'DESCRICAO'})
smallDescription: string;
@Column({name: 'NOMEECOMMERCE'})
title: string;
@Column({name: 'CODFAB'})
idProvider: string;
@Column({name: 'CODAUXILIAR'})
ean: string;
@Column({name: 'TIPOPRODUTO'})
productType: string;
@Column({name: 'DADOSTECNICOS'})
technicalData: string;
@Column({name: 'INFORMACOESTECNICAS'})
description: string;
@Column({name: 'URLIMAGEM'})
urlImage: string;
@Column({name: 'NOMEMARCA'})
brand: string;
@Column({name: 'NOMEDEPARTAMENTO'})
department: string;
@Column({name: 'NOMESECAO'})
section: string;
@Column({name: 'NOMECATEGORIA'})
category: string;
@Column({name: 'NOMEFORNECEDOR'})
supplier: string;
@Column({name: 'CODIGOFILIAL'})
store: string;
@Column({name: 'CLASSEVENDA'})
saleAbc: string;
@Column({name: 'CLASSEESTOQUE'})
stockAbc: string;
@Column({name: 'FORALINHA'})
outLine: string;
@Column({name: 'PRECOVENDA'})
listPrice: number;
@Column({name: 'PRECOPROMOCIONAL'})
salePrice: number;
@Column({name: 'PRECOPROMOCIONAL_AVISTA'})
salePromotion_cash: number;
@Column({name: 'PERCENTUALDESCONTO'})
offPercent: number;
@Column({name: 'QTESTOQUE_DISPONIVEL'})
stock: number;
@Column({name: 'QTCAIXAS'})
boxStock: number;
@Column({name: 'MULTIPLO'})
mutiple: number;
@Column({name: 'UNIDADE'})
unity: number;
@Column({name: 'URLDEPARTAMENTO'})
urlDepartment: string;
@Column({name: 'URLSECAO'})
urlSection: string;
@Column({name: 'PRODUTO_OPORTUNIDADE'})
opportunity: string;
@Column({name: 'PRODUTO_EM_CAMPANHA'})
campaign: string;
images: string[];
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVLISTAPRODUTOS')
export class SalesProduct {
@PrimaryColumn({name: 'CODPROD'})
idProduct: number;
@Column({name: 'SEQ'})
seq: number;
@Column({name: 'DESCRICAO'})
smallDescription: string;
@Column({name: 'NOMEECOMMERCE'})
title: string;
@Column({name: 'CODFAB'})
idProvider: string;
@Column({name: 'CODAUXILIAR'})
ean: string;
@Column({name: 'TIPOPRODUTO'})
productType: string;
@Column({name: 'DADOSTECNICOS'})
technicalData: string;
@Column({name: 'INFORMACOESTECNICAS'})
description: string;
@Column({name: 'URLIMAGEM'})
urlImage: string;
@Column({name: 'NOMEMARCA'})
brand: string;
@Column({name: 'NOMEDEPARTAMENTO'})
department: string;
@Column({name: 'NOMESECAO'})
section: string;
@Column({name: 'NOMECATEGORIA'})
category: string;
@Column({name: 'NOMEFORNECEDOR'})
supplier: string;
@Column({name: 'CODIGOFILIAL'})
store: string;
@Column({name: 'CLASSEVENDA'})
saleAbc: string;
@Column({name: 'CLASSEESTOQUE'})
stockAbc: string;
@Column({name: 'FORALINHA'})
outLine: string;
@Column({name: 'PRECOVENDA'})
listPrice: number;
@Column({name: 'PRECOPROMOCIONAL'})
salePrice: number;
@Column({name: 'PRECOPROMOCIONAL_AVISTA'})
salePromotion_cash: number;
@Column({name: 'PERCENTUALDESCONTO'})
offPercent: number;
@Column({name: 'QTESTOQUE_DISPONIVEL'})
stock: number;
@Column({name: 'QTCAIXAS'})
boxStock: number;
@Column({name: 'MULTIPLO'})
mutiple: number;
@Column({name: 'UNIDADE'})
unity: number;
@Column({name: 'URLDEPARTAMENTO'})
urlDepartment: string;
@Column({name: 'URLSECAO'})
urlSection: string;
@Column({name: 'PRODUTO_OPORTUNIDADE'})
opportunity: string;
@Column({name: 'PRODUTO_EM_CAMPANHA'})
campaign: string;
images: string[];
}

View File

@ -1,19 +1,19 @@
import { Entity, PrimaryColumn, Column } from "typeorm";
@Entity("ESVRETIRALOJAS")
export class EsvRetiraLojas {
@PrimaryColumn({name: "CODIGO"})
codigoLoja: string;
@Column({name:"RAZAOSOCIAL"})
razaoSocial: string;
@Column({name:"EMAIL"})
email: string;
@Column({name:"MATRICULA"})
matricula: number;
@Column({name:"QUANTIDADEPEDIDOS"})
quantidadePedidos: number;
import { Entity, PrimaryColumn, Column } from "typeorm";
@Entity("ESVRETIRALOJAS")
export class EsvRetiraLojas {
@PrimaryColumn({name: "CODIGO"})
codigoLoja: string;
@Column({name:"RAZAOSOCIAL"})
razaoSocial: string;
@Column({name:"EMAIL"})
email: string;
@Column({name:"MATRICULA"})
matricula: number;
@Column({name:"QUANTIDADEPEDIDOS"})
quantidadePedidos: number;
}

View File

@ -1,30 +1,30 @@
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryColumn } from "typeorm";
import { Esvcategoria } from "./esvcategoria.entity";
import { Esvdepartamento } from "./esvdepartamento.entity";
@Entity("ESVSECAO")
export class Esvsecao {
@PrimaryColumn({name: "CODSEC"})
codigoSecao: number;
@Column({name: "CODEPTO"})
codigoDepartamento: number;
@Column({name: "DESCRICAO"})
descricaoSecao: string;
@Column({name: "TITULOECOMMERCE"})
tituloEcommerce: string;
@Column({name: "URL"})
url: string;
@ManyToOne(() => Esvdepartamento, departamento => departamento.secoes)
@JoinColumn({ name: 'CODEPTO' })
departamento: Esvdepartamento;
@OneToMany(() => Esvcategoria, categoria => categoria.secao)
categorias: Esvcategoria[];
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryColumn } from "typeorm";
import { Esvcategoria } from "./esvcategoria.entity";
import { Esvdepartamento } from "./esvdepartamento.entity";
@Entity("ESVSECAO")
export class Esvsecao {
@PrimaryColumn({name: "CODSEC"})
codigoSecao: number;
@Column({name: "CODEPTO"})
codigoDepartamento: number;
@Column({name: "DESCRICAO"})
descricaoSecao: string;
@Column({name: "TITULOECOMMERCE"})
tituloEcommerce: string;
@Column({name: "URL"})
url: string;
@ManyToOne(() => Esvdepartamento, departamento => departamento.secoes)
@JoinColumn({ name: 'CODEPTO' })
departamento: Esvdepartamento;
@OneToMany(() => Esvcategoria, categoria => categoria.secao)
categorias: Esvcategoria[];
}

View File

@ -1,20 +1,20 @@
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVSITUACAOPEDIDO')
export class Esvsituacaopedido {
@PrimaryColumn({name: 'NUMPED'})
orderNumber: number;
@Column({name: 'DATA'})
createDate: Date;
@Column({name: 'CODCLI'})
customerId: number;
@Column({name: 'DTENTREGA'})
deliveryDate: Date;
@Column({name: 'STATUS'})
orderStatus: String;
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity('ESVSITUACAOPEDIDO')
export class Esvsituacaopedido {
@PrimaryColumn({name: 'NUMPED'})
orderNumber: number;
@Column({name: 'DATA'})
createDate: Date;
@Column({name: 'CODCLI'})
customerId: number;
@Column({name: 'DTENTREGA'})
deliveryDate: Date;
@Column({name: 'STATUS'})
orderStatus: String;
}

View File

@ -1,27 +1,27 @@
export class Address {
idCustomer: number;
idAddress: number;
neighbourhood: string;
city: string;
state: string;
zipCode: string;
street: string;
complement: string;
numberAddress: string;
cityCode: number;
referencePoint: string;
note: string;
phone: number;
cellPhone: string;
ibgeCode: string;
placeId: number;
razaorecebedor: string;
fantasia: string;
ceprecebedor: string;
numregiao:number;
codpaisrecebedor: number;
emailRecebedor: string;
latitude: number;
longitude: number;
export class Address {
idCustomer: number;
idAddress: number;
neighbourhood: string;
city: string;
state: string;
zipCode: string;
street: string;
complement: string;
numberAddress: string;
cityCode: number;
referencePoint: string;
note: string;
phone: number;
cellPhone: string;
ibgeCode: string;
placeId: number;
razaorecebedor: string;
fantasia: string;
ceprecebedor: string;
numregiao:number;
codpaisrecebedor: number;
emailRecebedor: string;
latitude: number;
longitude: number;
}

View File

@ -1,11 +1,11 @@
export class CalculatePriceTintometrico {
constructor(
public storeId: string,
public productId: number,
public letter: string,
public line: string,
public can: number,
public color: string,
public price: number,
){}
export class CalculatePriceTintometrico {
constructor(
public storeId: string,
public productId: number,
public letter: string,
public line: string,
public can: number,
public color: string,
public price: number,
){}
}

View File

@ -1,12 +1,12 @@
export class CartItensModel {
constructor(
public idProduct: number,
public ean: number,
public idStock: string,
public deliveryMethod: string,
public quantity: number,
public listPrice: number,
public salePrice: number,
public descriptionAux: string,
public environment: string) { }
export class CartItensModel {
constructor(
public idProduct: number,
public ean: number,
public idStock: string,
public deliveryMethod: string,
public quantity: number,
public listPrice: number,
public salePrice: number,
public descriptionAux: string,
public environment: string) { }
}

View File

@ -1,31 +1,31 @@
import { CartItensModel } from "./cart-itens.model";
export class Cart {
constructor(
public id: string,
public idCustomer: number,
public idAddress: number,
public saleStore: string,
public userId: number,
public idSeller: number,
public idProfessional: number,
public idPaymentPlan: number,
public idBilling: string,
public shippingValue: number,
public scheduleDelivery: boolean,
public shippingDate: Date,
public shippingPriority: string,
public idStorePlace: number,
public notation1: string,
public notation2: string,
public deliveryNote1: string,
public deliveryNote2: string,
public deliveryNote3: string,
public itens: CartItensModel[],
public preCustomerDocument: string,
public preCustomerName: string,
public preCustomerPhone: string,
public carrierId: number,
) { }
}
import { CartItensModel } from "./cart-itens.model";
export class Cart {
constructor(
public id: string,
public idCustomer: number,
public idAddress: number,
public saleStore: string,
public userId: number,
public idSeller: number,
public idProfessional: number,
public idPaymentPlan: number,
public idBilling: string,
public shippingValue: number,
public scheduleDelivery: boolean,
public shippingDate: Date,
public shippingPriority: string,
public idStorePlace: number,
public notation1: string,
public notation2: string,
public deliveryNote1: string,
public deliveryNote2: string,
public deliveryNote3: string,
public itens: CartItensModel[],
public preCustomerDocument: string,
public preCustomerName: string,
public preCustomerPhone: string,
public carrierId: number,
) { }
}

Some files were not shown because too many files have changed in this diff Show More