giganet_conecta
Version:
Aplicação com o fim de facilitar conexões com APi's e Banco de Dados (MySql, Mongo e Elasticsearch).
247 lines (241 loc) • 6.71 kB
JavaScript
const { Model, DataTypes } = require("sequelize");
module.exports = Servicos_Adicionais
async function Servicos_Adicionais(sequelize) {
class Model_Servicos_Adicionais extends Model { }
Model_Servicos_Adicionais.init({
id: {
autoIncrement: true,
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true
},
id_contrato: {
type: DataTypes.INTEGER,
allowNull: false
},
id_produto: {
type: DataTypes.INTEGER,
allowNull: false
},
descricao: {
type: DataTypes.STRING(200),
allowNull: false
},
data: {
type: DataTypes.DATEONLY,
allowNull: false
},
id_unidade: {
type: DataTypes.INTEGER,
allowNull: false
},
quantidade: {
type: DataTypes.DECIMAL(15, 9),
allowNull: false
},
valor_unitario: {
type: DataTypes.DECIMAL(15, 2),
allowNull: false
},
valor_total: {
type: DataTypes.DECIMAL(15, 2),
allowNull: false
},
repetir: {
type: DataTypes.ENUM('V', 'S'),
allowNull: false,
defaultValue: "V"
},
repetir_qtde: {
type: DataTypes.INTEGER,
allowNull: true
},
status: {
type: DataTypes.ENUM('A', 'I'),
allowNull: false,
defaultValue: "A"
},
execucoes: {
type: DataTypes.INTEGER,
allowNull: true,
defaultValue: 0
},
ultima_execucao: {
type: DataTypes.DATE,
allowNull: true
},
pdesconto: {
type: DataTypes.DECIMAL(9, 6),
allowNull: true,
defaultValue: 0.000000
},
vdesconto: {
type: DataTypes.DECIMAL(15, 2),
allowNull: true
},
id_sip: {
type: DataTypes.INTEGER,
allowNull: true
},
id_oss_mensagem: {
type: DataTypes.INTEGER,
allowNull: true
},
id_oss_chamado: {
type: DataTypes.INTEGER,
allowNull: true
},
id_contrato_aluguel: {
type: DataTypes.INTEGER,
allowNull: true
},
id_im_lanc_mensal: {
type: DataTypes.INTEGER,
allowNull: true
},
id_im_imovel: {
type: DataTypes.INTEGER,
allowNull: true
},
id_vd_contrato_produtos: {
type: DataTypes.INTEGER,
allowNull: true
},
status_nf21: {
type: DataTypes.ENUM('A', 'I'),
allowNull: false,
defaultValue: "A"
},
execucoes_nf21: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
ultima_execucao_nf21: {
type: DataTypes.DATE,
allowNull: true
},
id_areceber: {
type: DataTypes.BIGINT,
allowNull: true
},
id_almox: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 1
},
tipo_acres_desc: {
type: DataTypes.ENUM('A', 'D'),
allowNull: false,
defaultValue: "A"
},
id_produto_contrato_vinc: {
type: DataTypes.INTEGER,
allowNull: true
},
tipo: {
type: DataTypes.ENUM('I', 'T', 'S', 'M', 'SVA', 'TV', 'SMP'),
allowNull: false,
defaultValue: "I"
},
data_inicial_ligacoes: {
type: DataTypes.DATEONLY,
allowNull: true
},
data_final_ligacoes: {
type: DataTypes.DATEONLY,
allowNull: true
},
data_validade: {
type: DataTypes.DATEONLY,
allowNull: true
},
incluido_por_prorata: {
type: DataTypes.ENUM('S', 'N'),
allowNull: false,
defaultValue: "N"
},
id_login_tv: {
type: DataTypes.INTEGER,
allowNull: true
},
id_tipo_documento: {
type: DataTypes.INTEGER,
allowNull: true
},
id_lote_rotina: {
type: DataTypes.INTEGER.UNSIGNED,
allowNull: true
},
origem: {
type: DataTypes.ENUM('A', 'M'),
allowNull: true,
defaultValue: "M"
}
}, {
sequelize,
timestamps: false,
modelName: "cliente_contrato_servicos",
tableName: 'cliente_contrato_servicos',
indexes: [
{
name: "PRIMARY",
unique: true,
using: "BTREE",
fields: [
{ name: "id" },
]
},
{
name: "id_produto_contrato_vinc",
using: "BTREE",
fields: [
{ name: "id_produto_contrato_vinc" },
]
},
{
name: "id_contrato",
using: "BTREE",
fields: [
{ name: "id_contrato" },
]
},
{
name: "id_produto",
using: "BTREE",
fields: [
{ name: "id_produto" },
]
},
{
name: "id_oss_chamado",
using: "BTREE",
fields: [
{ name: "id_oss_chamado" },
]
},
{
name: "id_unidade",
using: "BTREE",
fields: [
{ name: "id_unidade" },
]
},
{
name: "status",
using: "BTREE",
fields: [
{ name: "status" },
]
},
{
name: "id_vd_contrato_produtos",
using: "BTREE",
fields: [
{ name: "id_vd_contrato_produtos" },
]
},
]
})
return Model_Servicos_Adicionais
}