From 1b4347d58553d5d0199039652a71c861553aadfd Mon Sep 17 00:00:00 2001 From: adriano Date: Tue, 25 Jan 2022 18:54:46 -0300 Subject: [PATCH 1/3] =?UTF-8?q?Altera=C3=A7=C3=A3o=20para=20consultas=20no?= =?UTF-8?q?s=20campos=20usuario,=20dataInicio,=20dataFim.=20Aten=C3=A7?= =?UTF-8?q?=C3=A3o:=20Houve=20um=20bug=20nesse=20at=C3=A9=20esse=20commit?= =?UTF-8?q?=20que=20est=C3=A1=20impedindo=20que=20o=20whatssap=20seja=20li?= =?UTF-8?q?do=20pelo=20qrcode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/routes/reportRoutes.ts | 2 +- .../TicketServices/ShowTicketReport.ts | 35 +++++++++++++------ .../src/components/Report/MTable/index.js | 17 +++++---- frontend/src/pages/Report/index.js | 18 +++++----- 4 files changed, 43 insertions(+), 29 deletions(-) diff --git a/backend/src/routes/reportRoutes.ts b/backend/src/routes/reportRoutes.ts index e86ac41..f3dea98 100644 --- a/backend/src/routes/reportRoutes.ts +++ b/backend/src/routes/reportRoutes.ts @@ -9,7 +9,7 @@ const reportRoutes = express.Router(); //reportRoutes.get("/reports/:userId", /*isAuth,*/ ReportController.reportUser); -reportRoutes.get("/reports", /*isAuth,*/ ReportController.reportUserByDateStartDateEnd); +reportRoutes.get("/reports", /*isAuth,*/ ReportController.reportUserByDateStartDateEnd); //reportRoutes.get("/reports", /*isAuth,*/ ReportController.reportAll); diff --git a/backend/src/services/TicketServices/ShowTicketReport.ts b/backend/src/services/TicketServices/ShowTicketReport.ts index 527a5c6..77c508e 100644 --- a/backend/src/services/TicketServices/ShowTicketReport.ts +++ b/backend/src/services/TicketServices/ShowTicketReport.ts @@ -7,31 +7,44 @@ import Queue from "../../models/Queue"; import Message from "../../models/Message"; import { userInfo } from "os"; -import { Op } from "sequelize"; +import { Op, where } from "sequelize"; import { Sequelize } from "sequelize"; import moment from 'moment'; import { startOfDay, endOfDay, parseISO, getDate} from "date-fns"; +import { string } from "yup/lib/locale"; //Report by user, startDate, endDate const ShowTicketReport = async (id: string | number, startDate: string, endDate: string): Promise => { + + let where_clause = {} - const ticket = await Ticket.findAll({ - where: { - userid: id, - //createdAt: { - // [Op.between]: [+new Date('2022-01-24').toISOString(), +new Date().toISOString()] - //}, + if(id=='0'){ + where_clause = { createdAt: { [Op.gte]: startDate+' 00:00:00.000000', [Op.lte]: endDate +' 23:59:59.999999' - } + }, + } + } + else{ + where_clause = { + userid: id, + createdAt: { + [Op.gte]: startDate+' 00:00:00.000000', + [Op.lte]: endDate +' 23:59:59.999999' + }, + } + } - }, + + + + const ticket = await Ticket.findAll({ - - attributes: ['id', 'status', 'createdAt', 'updatedAt'], + where: where_clause , + attributes: ['id', 'status', 'createdAt', 'updatedAt'], include: [ { model: Message, diff --git a/frontend/src/components/Report/MTable/index.js b/frontend/src/components/Report/MTable/index.js index b9c46a2..ed32cde 100644 --- a/frontend/src/components/Report/MTable/index.js +++ b/frontend/src/components/Report/MTable/index.js @@ -8,15 +8,11 @@ import React from 'react'; const MTable = (props) => { - const [selectedRow, setSelectedRow] = useState(null); - - console.log('rederizou....................: ',props.data) + const [selectedRow, setSelectedRow] = useState(null); + const dataLoad = props.data.map((dt) => { return { ...dt }}); - const columnsLoad = props.columns.map((column) => { return { ...column }}); - - console.log('dataLoad....................: ',dataLoad) - console.log('columnsLoad....................: ',columnsLoad) + const columnsLoad = props.columns.map((column) => { return { ...column }}); useEffect(() => { @@ -29,7 +25,8 @@ const MTable = (props) => { { @@ -47,7 +44,9 @@ const MTable = (props) => { options={{ search: true, selection: false, - paging: false, + paging: false, + padding: 'dense', + //loadingType: 'linear', searchFieldStyle: { width: 300, }, diff --git a/frontend/src/pages/Report/index.js b/frontend/src/pages/Report/index.js index a8463d2..0893d98 100644 --- a/frontend/src/pages/Report/index.js +++ b/frontend/src/pages/Report/index.js @@ -176,14 +176,15 @@ const Report = () => { const [query, dispatchQ] = useReducer(reducerQ, []) useEffect(() => { - dispatch({ type: "RESET" }); + dispatch({ type: "RESET" }); dispatchQ({ type: "RESET" }) setPageNumber(1); }, [searchParam]); useEffect(() => { - setLoading(true); + setLoading(true); + const delayDebounceFn = setTimeout(() => { const fetchUsers = async () => { @@ -191,7 +192,7 @@ const Report = () => { const { data } = await api.get("/users/", { params: { searchParam, pageNumber }, }); - + dispatch({ type: "LOAD_USERS", payload: data.users }); setHasMore(data.hasMore); setLoading(false); @@ -216,10 +217,10 @@ const Report = () => { const fetchQueries = async () => { try { - const dataQuery = await api.get("/reports/", {params: {userId, startDate, endDate },}); - - console.log('fffffffffffffffffffff query: ', dataQuery.data) - dispatchQ({ type: "LOAD_QUERY", payload: dataQuery.data }); + + /*const dataQuery = await api.get("/reports/", {params: {userId, startDate, endDate },}); + dispatchQ({ type: "RESET" }) + dispatchQ({ type: "LOAD_QUERY", payload: dataQuery.data }); */ setLoading(false); @@ -272,8 +273,9 @@ console.log('XXXXXXXXX: ', query) return ( - + + { From 2e0f41769bf003d0a994ffe7cf4540f755e42353 Mon Sep 17 00:00:00 2001 From: adriano Date: Tue, 25 Jan 2022 23:05:48 -0300 Subject: [PATCH 2/3] =?UTF-8?q?Relat=C3=B3rio=20funcinal=20com=20datas=20f?= =?UTF-8?q?ormatadas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/services/TicketServices/ShowTicketReport.ts | 12 ++++++++++-- frontend/src/pages/Report/index.js | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/backend/src/services/TicketServices/ShowTicketReport.ts b/backend/src/services/TicketServices/ShowTicketReport.ts index 77c508e..51978bf 100644 --- a/backend/src/services/TicketServices/ShowTicketReport.ts +++ b/backend/src/services/TicketServices/ShowTicketReport.ts @@ -44,13 +44,21 @@ const ShowTicketReport = async (id: string | number, startDate: string, endDate: const ticket = await Ticket.findAll({ where: where_clause , - attributes: ['id', 'status', 'createdAt', 'updatedAt'], + //attributes: ['id', 'status', 'createdAt', 'updatedAt'], + + attributes: ['id', 'status', [Sequelize.fn("DATE_FORMAT",Sequelize.col("Ticket.createdAt"),"%d/%m/%Y %H:%i:%s"),"createdAt"], + [Sequelize.fn("DATE_FORMAT",Sequelize.col("Ticket.updatedAt"),"%d/%m/%Y %H:%i:%s"),"updatedAt"]], + include: [ { model: Message, required:true, separate: true, - attributes: ['body', 'read', 'mediaType','fromMe', 'mediaUrl','createdAt'], + + // attributes: ['body', 'read', 'mediaType','fromMe', 'mediaUrl','createdAt'], + + attributes: ['body', 'read', 'mediaType','fromMe', 'mediaUrl', [Sequelize.fn("DATE_FORMAT",Sequelize.col("createdAt"),"%d/%m/%Y %H:%i:%s"),"createdAt"]], + order: [ ['createdAt', 'ASC'] ] diff --git a/frontend/src/pages/Report/index.js b/frontend/src/pages/Report/index.js index 0893d98..aecfd5f 100644 --- a/frontend/src/pages/Report/index.js +++ b/frontend/src/pages/Report/index.js @@ -218,9 +218,9 @@ const Report = () => { const fetchQueries = async () => { try { - /*const dataQuery = await api.get("/reports/", {params: {userId, startDate, endDate },}); + const dataQuery = await api.get("/reports/", {params: {userId, startDate, endDate },}); dispatchQ({ type: "RESET" }) - dispatchQ({ type: "LOAD_QUERY", payload: dataQuery.data }); */ + dispatchQ({ type: "LOAD_QUERY", payload: dataQuery.data }); setLoading(false); From 50afb25704518edaafd33be153cd6a78fe0a30fd Mon Sep 17 00:00:00 2001 From: adriano Date: Wed, 26 Jan 2022 00:38:09 -0300 Subject: [PATCH 3/3] =?UTF-8?q?Altera=C3=A7=C3=A3o=20no=20modal=20do=20cha?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/Report/Modal/index.js | 91 +++++++------------ 1 file changed, 31 insertions(+), 60 deletions(-) diff --git a/frontend/src/components/Report/Modal/index.js b/frontend/src/components/Report/Modal/index.js index 205ccc7..0099389 100644 --- a/frontend/src/components/Report/Modal/index.js +++ b/frontend/src/components/Report/Modal/index.js @@ -6,75 +6,46 @@ import DialogActions from '@mui/material/DialogActions'; import DataGridTable from '../Table'; import MTable from "../MTable"; -//let columns = [{ title: 'Chat', field: 'messages.body' },]; - -// { title: 'Atendente', field: 'user.name' }, - -const columns = [ - { field: 'id', - title: 'ID', - width: 50, - sortable: false}, +let columns = [ { - field: 'fromMe', - title: 'user/client', - type: 'bool', - width: 100, - flex: 1, - editable: false, - sortable: false - }, - { - field: 'body', - title: 'message', - type: 'string', - //width: 150, - flex: 1, - editable: false, - sortable: false - + title: 'Atendente/Cliente', + field: 'fromMe', }, - /* { - field: 'mediaType', - headerName: 'media type', - //width: 110, - flex: 1, - editable: false, - }, { - field: 'mediaUrl', - headerName: 'media url', - type: 'string', - //width: 110, - flex: 1, - editable: false, - }, - { - field: 'read', - headerName: 'tead', - type: 'bool', - //width: 110, - flex: 1, - editable: false, - },*/ - { - field: 'createdAt', - title: 'created at', - type: 'dateTime', - //width: 110, - flex: 1, - editable: false, - sortable: false - } + title: 'Mensagem', + field: 'body', + cellStyle: {whiteSpace: 'nowrap'}, + }, + + { title: 'Criado', field: 'createdAt' } + + /*cellStyle: { + backgroundColor: '#039be5', + color: '#FFF' + }, + headerStyle: { + backgroundColor: '#039be5', + fontSize: 12 + }*/ + +] + -]; + const Modal = (props) => { const [open, setOpen] = React.useState(true); const [scroll, setScroll] = React.useState('paper'); - + const dataChat = props.data.map((dt) => { + return { + 'fromMe': dt.fromMe ? 'Atendente' : 'Cliente', + 'body': dt.body, + 'createdAt': dt.createdAt + } + }); + const handleClose = () => { setOpen(false); }; @@ -104,7 +75,7 @@ const Modal = (props) => { aria-describedby="scroll-dialog-description" > - +