Agregado informe que muestra los egresos de facturas materia prima

This commit is contained in:
Daniel Cortes
2019-01-16 03:34:52 -03:00
parent 392da6dd9d
commit a5ddd4a826
14 changed files with 991 additions and 256 deletions

534
.idea/workspace.xml generated
View File

@@ -7,11 +7,27 @@
</component> </component>
<component name="BookmarkManager"> <component name="BookmarkManager">
<bookmark url="file://$PROJECT_DIR$/src/danielcortes/xyz/controllers/ArqueoController.java" line="55" /> <bookmark url="file://$PROJECT_DIR$/src/danielcortes/xyz/controllers/ArqueoController.java" line="55" />
<bookmark url="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informe/SQLiteInformeMensualContentDAO.java" line="149" mnemonic="0" /> <bookmark url="file://$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeLibroDeVentas.java" line="107" mnemonic="0" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="a633d35a-56a6-4479-b4c4-f97198052fb7" name="Default Changelist" comment=""> <list default="true" id="a633d35a-56a6-4479-b4c4-f97198052fb7" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeEgresosFacturaMateriaPrima.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/InformeEgresosFacturasMateriaPrimaContent.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/InformeEgresosFacturasMateriaPrimaContentDAO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/SQLiteInformeEgresosFacturasMateriaPrimaContentDAO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/danielcortes/xyz/utils/Pair.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/dist/caja.jar" beforeDir="false" afterPath="$PROJECT_DIR$/dist/caja.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/dist/mackena.dat" beforeDir="false" afterPath="$PROJECT_DIR$/dist/mackena.dat" afterDir="false" />
<change beforePath="$PROJECT_DIR$/dist/rodriguez.dat" beforeDir="false" afterPath="$PROJECT_DIR$/dist/rodriguez.dat" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/danielcortes/xyz/Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/danielcortes/xyz/Main.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/danielcortes/xyz/controllers/InformesController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/danielcortes/xyz/controllers/InformesController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeLibroDeVentas.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeLibroDeVentas.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/danielcortes/xyz/models/informe/InformeLibroDeVentasContent.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/libro_de_ventas/InformeLibroDeVentasContent.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/danielcortes/xyz/models/informe/InformeLibroDeVentasContentDAO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/libro_de_ventas/InformeLibroDeVentasContentDAO.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/danielcortes/xyz/models/informe/SQLiteInformeLibroDeVentasContentDAO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/libro_de_ventas/SQLiteInformeLibroDeVentasContentDAO.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.form" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.java" afterDir="false" />
</list> </list>
<ignored path="$PROJECT_DIR$/target/" /> <ignored path="$PROJECT_DIR$/target/" />
<ignored path=".idea/" /> <ignored path=".idea/" />
@@ -59,7 +75,7 @@
<item name="Sqlite" type="feb32156:DbDataSourceImpl" /> <item name="Sqlite" type="feb32156:DbDataSourceImpl" />
<item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
<item name="main: schema" type="981a47c2:SqliteImplModel$Schema" /> <item name="main: schema" type="981a47c2:SqliteImplModel$Schema" />
<item name="documentos: table" type="3d80ac25:SqliteImplModel$Table" /> <item name="egresos: table" type="3d80ac25:SqliteImplModel$Table" />
</path> </path>
</expand> </expand>
<select /> <select />
@@ -138,15 +154,6 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/components/JNumberFormatedTextField.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/IngresosView.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/components/IngresosTableModel.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/components/EgresosTableModel.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/EgresosView.form" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/EgresosView.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/IngresosView.form" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/controllers/EgresosController.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/components/NumberFormatedTextField.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/efectivo/SQLiteEfectivoDAO.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/models/efectivo/SQLiteEfectivoDAO.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/efectivo/MysqlEfectivoDAO.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/models/efectivo/MysqlEfectivoDAO.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/efectivo/EfectivoDAO.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/models/efectivo/EfectivoDAO.java" />
@@ -161,7 +168,6 @@
<option value="$PROJECT_DIR$/src/danielcortes/xyz/controllers/InformeController.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/controllers/InformeController.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/ManagerView.form" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/views/ManagerView.form" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/ManagerView.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/views/ManagerView.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/controllers/ManagerController.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/controllers/ManagerController.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/components/YearSpinnerModel.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/views/components/YearSpinnerModel.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/InformeMensualDialog.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/views/InformeMensualDialog.java" />
@@ -170,7 +176,6 @@
<option value="$PROJECT_DIR$/src/danielcortes/xyz/File.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/File.java" />
<option value="$APPLICATION_CONFIG_DIR$/consoles/db/6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/console_1.sql" /> <option value="$APPLICATION_CONFIG_DIR$/consoles/db/6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/console_1.sql" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informe/InformeMensualContentDAO.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informe/InformeMensualContentDAO.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/Main.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informe/InformeMensualContent.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informe/InformeMensualContent.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeMensual.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeMensual.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/utils/NaturalOrderComparator.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/utils/NaturalOrderComparator.java" />
@@ -178,16 +183,27 @@
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/Documentos.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/Documentos.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/DocumentosDAO.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/DocumentosDAO.java" />
<option value="$PROJECT_DIR$/database/sqlite.sql" /> <option value="$PROJECT_DIR$/database/sqlite.sql" />
<option value="$APPLICATION_CONFIG_DIR$/consoles/db/6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/console.sql" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/SQLiteDocumentosDAO.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/SQLiteDocumentosDAO.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/ArqueoView.form" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/views/ArqueoView.form" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/ArqueoView.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/views/ArqueoView.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/controllers/ArqueoController.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/controllers/ArqueoController.java" />
<option value="$APPLICATION_CONFIG_DIR$/idea.properties" /> <option value="$APPLICATION_CONFIG_DIR$/idea.properties" />
<option value="$PROJECT_DIR$/README.MD" /> <option value="$PROJECT_DIR$/README.MD" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.form" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeLibroDeVentas.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeLibroDeVentas.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/utils/StringUtils.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/utils/StringUtils.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos_facturas/InformeEgresoFacturasMateriaPrima.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos_facturas/InformeEgresoFacturasMateriaPrimaContent.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/InformeEgresosFacturasMateriaPrimaContentDAO.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/SQLiteEgresosFacturasMateriaPrimaContentDAO.java" />
<option value="$APPLICATION_CONFIG_DIR$/consoles/db/6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/console.sql" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/SQLiteInformeEgresosFacturasMateriaPrimaContentDAO.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/utils/Pairs.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/utils/Pair.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/InformeEgresosFacturasMateriaPrimaContent.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeEgresosFacturaMateriaPrima.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/Main.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.form" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.java" />
<option value="$PROJECT_DIR$/src/danielcortes/xyz/controllers/InformesController.java" /> <option value="$PROJECT_DIR$/src/danielcortes/xyz/controllers/InformesController.java" />
</list> </list>
</option> </option>
@@ -234,6 +250,7 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<expand> <expand>
@@ -257,14 +274,17 @@
<item name="caja" type="462c0819:PsiDirectoryNode" /> <item name="caja" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="xyz" type="462c0819:PsiDirectoryNode" /> <item name="xyz" type="462c0819:PsiDirectoryNode" />
<item name="views" type="462c0819:PsiDirectoryNode" /> <item name="controllers" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="caja" type="b2602c69:ProjectViewProjectNode" />
<item name="Scratches and Consoles" type="1a2a3e82:ScratchProjectViewPane$MyProjectNode" />
</path> </path>
</expand> </expand>
<select /> <select />
</subPane> </subPane>
</pane> </pane>
<pane id="PackagesPane" /> <pane id="PackagesPane" />
<pane id="Scope" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
@@ -278,7 +298,7 @@
<property name="UI_DESIGNER_EDITOR_MODE.UIDesignerToolWindowManager.STATE" value="ToolWindow" /> <property name="UI_DESIGNER_EDITOR_MODE.UIDesignerToolWindowManager.STATE" value="ToolWindow" />
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" /> <property name="aspect.path.notification.shown" value="true" />
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1547590220657" /> <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1547620318413" />
<property name="com.intellij.ide.scratch.LRUPopupBuilder$1/Change SQL Dialect" value="SQLite" /> <property name="com.intellij.ide.scratch.LRUPopupBuilder$1/Change SQL Dialect" value="SQLite" />
<property name="database.console.LAST_STATE" value="false" /> <property name="database.console.LAST_STATE" value="false" />
<property name="database.data.extractors.current.id" value="Tab-separated (TSV)_id" /> <property name="database.data.extractors.current.id" value="Tab-separated (TSV)_id" />
@@ -292,7 +312,7 @@
<property name="project.structure.proportion" value="0.15" /> <property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.2" /> <property name="project.structure.side.proportion" value="0.2" />
<property name="restartRequiresConfirmation" value="false" /> <property name="restartRequiresConfirmation" value="false" />
<property name="settings.editor.selected.configurable" value="database.main" /> <property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.colors.Color Scheme Font" />
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY"> <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
@@ -505,7 +525,9 @@
<workItem from="1547341595934" duration="2081000" /> <workItem from="1547341595934" duration="2081000" />
<workItem from="1547421210768" duration="453000" /> <workItem from="1547421210768" duration="453000" />
<workItem from="1547521814953" duration="798000" /> <workItem from="1547521814953" duration="798000" />
<workItem from="1547574832331" duration="3751000" /> <workItem from="1547574832331" duration="6614000" />
<workItem from="1547608589749" duration="2384000" />
<workItem from="1547612814042" duration="7499000" />
</task> </task>
<task id="LOCAL-00001" summary="First!! :3 Existe una pequeña base de proyecto por ahora"> <task id="LOCAL-00001" summary="First!! :3 Existe una pequeña base de proyecto por ahora">
<created>1545280618093</created> <created>1545280618093</created>
@@ -829,11 +851,18 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1547581544647</updated> <updated>1547581544647</updated>
</task> </task>
<option name="localTasksCounter" value="47" /> <task id="LOCAL-00047" summary="Se me olvido cambiar el nombre del modelo">
<created>1547590232009</created>
<option name="number" value="00047" />
<option name="presentableId" value="LOCAL-00047" />
<option name="project" value="LOCAL" />
<updated>1547590232009</updated>
</task>
<option name="localTasksCounter" value="48" />
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="304293000" /> <option name="totallyTimeSpent" value="317039000" />
</component> </component>
<component name="TodoView"> <component name="TodoView">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
@@ -847,7 +876,7 @@
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="-18" width="1366" height="765" extended-state="6" /> <frame x="0" y="-18" width="1366" height="765" extended-state="6" />
<layout> <layout>
<window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.49438202" visible="true" weight="0.23211567" /> <window_info content_ui="combo" id="Project" order="0" sideWeight="0.49438202" weight="0.2587519" />
<window_info id="Image Layers" order="1" /> <window_info id="Image Layers" order="1" />
<window_info id="Designer" order="2" /> <window_info id="Designer" order="2" />
<window_info x="458" y="95" width="450" height="453" id="UI Designer" order="3" weight="0.20243531" /> <window_info x="458" y="95" width="450" height="453" id="UI Designer" order="3" weight="0.20243531" />
@@ -874,7 +903,7 @@
<window_info anchor="right" id="Maven" order="5" show_stripe_button="false" weight="0.32876712" /> <window_info anchor="right" id="Maven" order="5" show_stripe_button="false" weight="0.32876712" />
<window_info anchor="right" id="Capture Analysis" order="6" /> <window_info anchor="right" id="Capture Analysis" order="6" />
<window_info anchor="right" id="Palette&#9;" order="7" /> <window_info anchor="right" id="Palette&#9;" order="7" />
<window_info anchor="right" x="4" y="0" width="902" height="488" id="Run" order="8" sideWeight="0.4975923" weight="0.40182647" /> <window_info anchor="right" x="4" y="0" width="902" height="488" id="Run" order="8" sideWeight="0.4975923" weight="0.2716895" />
<window_info anchor="right" id="Database" order="9" sideWeight="0.4988067" weight="0.32115677" /> <window_info anchor="right" id="Database" order="9" sideWeight="0.4988067" weight="0.32115677" />
<window_info anchor="right" id="Version Control" order="10" weight="0.7435312" /> <window_info anchor="right" id="Version Control" order="10" weight="0.7435312" />
<window_info anchor="right" id="Structure" order="11" sideWeight="0.5008026" weight="0.2283105" /> <window_info anchor="right" id="Structure" order="11" sideWeight="0.5008026" weight="0.2283105" />
@@ -973,7 +1002,6 @@
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" /> <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_NEW_TODO" value="false" /> <option name="CHECK_NEW_TODO" value="false" />
<MESSAGE value="Documentado el controlador de egresos" />
<MESSAGE value="Documentado el controlador de ingresos" /> <MESSAGE value="Documentado el controlador de ingresos" />
<MESSAGE value="Mas documentacion!! &#10;Bendita documentacion &lt;3" /> <MESSAGE value="Mas documentacion!! &#10;Bendita documentacion &lt;3" />
<MESSAGE value="Mas documentacion y cambiados la mayoria de los action listeners por keybindings" /> <MESSAGE value="Mas documentacion y cambiados la mayoria de los action listeners por keybindings" />
@@ -998,113 +1026,14 @@
<MESSAGE value="Error en que los numeros de boletas eran comparados segun sus valor ascii y no de forma natural&#10;Se agrego una clase de otra persona que hace el trabajo, gracias buen hombre &lt;3" /> <MESSAGE value="Error en que los numeros de boletas eran comparados segun sus valor ascii y no de forma natural&#10;Se agrego una clase de otra persona que hace el trabajo, gracias buen hombre &lt;3" />
<MESSAGE value="Agregado en documentos el campo de retiros" /> <MESSAGE value="Agregado en documentos el campo de retiros" />
<MESSAGE value="Cambiado el nombre del informe mensual a libro de ventas mensual, ademas se agrego una utilidad para strings que por ahora solo contiene el toUpperCase aunque se ira llenando a medida que se necesite." /> <MESSAGE value="Cambiado el nombre del informe mensual a libro de ventas mensual, ademas se agrego una utilidad para strings que por ahora solo contiene el toUpperCase aunque se ira llenando a medida que se necesite." />
<option name="LAST_COMMIT_MESSAGE" value="Cambiado el nombre del informe mensual a libro de ventas mensual, ademas se agrego una utilidad para strings que por ahora solo contiene el toUpperCase aunque se ira llenando a medida que se necesite." /> <MESSAGE value="Se me olvido cambiar el nombre del modelo" />
<option name="LAST_COMMIT_MESSAGE" value="Se me olvido cambiar el nombre del modelo" />
</component> </component>
<component name="antWorkspaceConfiguration"> <component name="antWorkspaceConfiguration">
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" /> <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
<option name="FILTER_TARGETS" value="false" /> <option name="FILTER_TARGETS" value="false" />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/egresos" />
<entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/sqlite_master" />
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/efectivo/SQLiteEfectivoDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="224" selection-start-line="224" selection-end-line="224" />
<folding>
<element signature="method#insertDefaultEfectivo#0;class#SQLiteEfectivoDAO#0" />
<element signature="method#updateEfectivo#0;class#SQLiteEfectivoDAO#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/ManagerView.form">
<provider selected="true" editor-type-id="ui-designer" />
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/ManagerView.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="163">
<caret line="56" column="70" selection-start-line="56" selection-start-column="70" selection-end-line="56" selection-end-column="70" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="37" column="22" selection-start-line="37" selection-start-column="22" selection-end-line="37" selection-end-column="22" />
<folding>
<element signature="e#1466#1467#0" expanded="true" />
<element signature="e#1501#1502#0" expanded="true" />
<element signature="e#1549#1550#0" expanded="true" />
<element signature="e#1592#1593#0" expanded="true" />
<element signature="initializer##0;class#InformesView#0" />
<element signature="e#8765#8766#0" expanded="true" />
<element signature="e#8800#8801#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar:///usr/lib/jvm/java-11-openjdk/lib/src.zip!/java.desktop/javax/swing/SpinnerDateModel.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="275">
<caret line="246" column="31" selection-start-line="246" selection-start-column="31" selection-end-line="246" selection-end-column="31" />
</state>
</provider>
</entry>
<entry file="jar:///usr/lib/jvm/java-11-openjdk/lib/src.zip!/java.base/java/util/Date.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="446">
<caret line="193" column="38" selection-start-line="193" selection-start-column="38" selection-end-line="193" selection-end-column="38" />
<folding>
<element signature="e#7464#7465#0" expanded="true" />
<element signature="e#7512#7513#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar:///usr/lib/jvm/java-11-openjdk/lib/src.zip!/java.base/java/util/Calendar.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-437">
<caret line="71" column="32" selection-start-line="71" selection-start-column="32" selection-end-line="71" selection-end-column="32" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/components/YearSpinnerModel.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="190">
<caret line="40" column="32" selection-start-line="40" selection-start-column="32" selection-end-line="40" selection-end-column="32" />
<folding>
<element signature="method#YearSpinnerModel#0;class#YearSpinnerModel#0" />
<element signature="method#getNextValue#0;class#YearSpinnerModel#0" />
<element signature="method#getPreviousValue#0;class#YearSpinnerModel#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/controllers/ManagerController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="202" lean-forward="true" selection-start-line="202" selection-end-line="202" />
<folding>
<element signature="docComment;class#ManagerController#0" />
<element signature="docComment;method#ManagerController#0;class#ManagerController#0" />
<element signature="method#ManagerController#0;class#ManagerController#0" />
<element signature="docComment;method#setUpDate#0;class#ManagerController#0" />
<element signature="method#setUpDate#0;class#ManagerController#0" />
<element signature="docComment;method#setUpViewEvents#0;class#ManagerController#0" />
<element signature="docComment;method#updateCaja#0;class#ManagerController#0" />
<element signature="method#updateCaja#0;class#ManagerController#0" />
<element signature="docComment;method#loadCardContents#0;class#ManagerController#0" />
<element signature="docComment;method#loadIngresosView#0;class#ManagerController#0" />
<element signature="method#loadIngresosView#0;class#ManagerController#0" />
<element signature="docComment;method#loadEgresosView#0;class#ManagerController#0" />
<element signature="method#loadEgresosView#0;class#ManagerController#0" />
<element signature="docComment;method#loadArqueoView#0;class#ManagerController#0" />
<element signature="docComment;method#pressInitialButton#0;class#ManagerController#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/MonthSelectDialog.form"> <entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/MonthSelectDialog.form">
<provider selected="true" editor-type-id="ui-designer" /> <provider selected="true" editor-type-id="ui-designer" />
</entry> </entry>
@@ -1118,16 +1047,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/4.0.1/poi-4.0.1-sources.jar!/org/apache/poi/hssf/usermodel/HSSFCell.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="133">
<caret line="912" selection-start-line="912" selection-end-line="912" />
<folding>
<element signature="e#34037#34038#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/4.0.1/poi-4.0.1-sources.jar!/org/apache/poi/ss/usermodel/VerticalAlignment.java"> <entry file="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/4.0.1/poi-4.0.1-sources.jar!/org/apache/poi/ss/usermodel/VerticalAlignment.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="161"> <state relative-caret-position="161">
@@ -1155,38 +1074,6 @@
</provider> </provider>
</entry> </entry>
<entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/tipos_ingreso" /> <entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/tipos_ingreso" />
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informe/InformeMensualContentDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="138">
<caret line="28" selection-start-line="28" selection-end-line="28" />
<folding>
<element signature="imports" expanded="true" />
<element signature="docComment;method#getInformeMensual#0;class#InformeMensualContentDAO#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informe/InformeMensualContent.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="221" column="29" selection-start-line="221" selection-start-column="29" selection-end-line="221" selection-end-column="29" />
<folding>
<element signature="e#5399#6607#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informe/SQLiteInformeMensualContentDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="324">
<caret line="236" column="13" lean-forward="true" selection-start-line="236" selection-start-column="13" selection-end-line="236" selection-end-column="13" />
<folding>
<element signature="method#getInformeMensual#0;class#SQLiteInformeMensualContentDAO#0" />
<element signature="method#fillTotalesFromResultSet#0;class#SQLiteInformeMensualContentDAO#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/utils/NaturalOrderComparator.java"> <entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/utils/NaturalOrderComparator.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="276"> <state relative-caret-position="276">
@@ -1198,7 +1085,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/tipos_egreso" />
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/MysqlDocumentosDAO.java"> <entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/MysqlDocumentosDAO.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="138"> <state relative-caret-position="138">
@@ -1213,13 +1099,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/console.sql">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="23">
<caret line="1" lean-forward="true" selection-start-line="1" selection-end-line="1" />
</state>
</provider>
</entry>
<entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/documentos" /> <entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/documentos" />
<entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/efectivos" /> <entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/efectivos" />
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/Documentos.java"> <entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/documentos/Documentos.java">
@@ -1390,18 +1269,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="138">
<caret line="55" column="13" selection-start-line="55" selection-start-column="13" selection-end-line="55" selection-end-column="13" />
<folding>
<element signature="e#2714#2715#0" expanded="true" />
<element signature="e#2735#2736#0" expanded="true" />
<element signature="method#run#0;class#Main#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.MD"> <entry file="file://$PROJECT_DIR$/README.MD">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT"> <state split_layout="SPLIT">
@@ -1419,41 +1286,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.form">
<provider selected="true" editor-type-id="ui-designer" />
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeLibroDeVentas.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="713">
<caret line="300" column="33" selection-start-line="300" selection-start-column="33" selection-end-line="300" selection-end-column="33" />
<folding>
<element signature="method#InformeMensual#0;class#InformeMensual#0" />
<element signature="n#!!block;n#sortInforme#0;n#InformeMensual#0" />
<element signature="method#fillHeaders#0;class#InformeMensual#0" />
<element signature="e#3548#3622#1" />
<element signature="e#3680#3760#1" />
<element signature="method#fillData#0;class#InformeMensual#0" />
<element signature="e#3872#6313#1" />
<element signature="e#6086#6172#1" />
<element signature="e#6178#6286#1" />
<element signature="method#fillTotales#0;class#InformeMensual#0" />
<element signature="method#joinCells#0;class#InformeMensual#0" />
<element signature="method#addBorders#0;class#InformeMensual#0" />
<element signature="method#setStyles#0;class#InformeMensual#0" />
<element signature="e#9786#9900#1" />
<element signature="e#10001#10115#1" />
<element signature="e#10219#12058#1" />
<element signature="e#12191#12320#1" />
<element signature="e#12947#13014#1" />
<element signature="e#13118#13166#1" />
<element signature="method#generarInforme#0;class#InformeMensual#0" />
<element signature="e#13459#13535#0" />
<element signature="e#13558#13602#0" />
<element signature="method#generateStyles#0;class#InformeMensual#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/MonthSelectDialog.java"> <entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/MonthSelectDialog.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1104"> <state relative-caret-position="1104">
@@ -1468,12 +1300,264 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos_facturas/InformeEgresoFacturasMateriaPrimaContent.java" />
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informes/libro_de_ventas/InformeLibroDeVentasContent.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="391">
<caret line="63" column="34" lean-forward="true" selection-start-line="63" selection-start-column="34" selection-end-line="63" selection-end-column="34" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/egreso/EgresoDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-90">
<caret line="40" column="22" selection-start-line="40" selection-start-column="22" selection-end-line="40" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/egreso/SQLiteEgresoDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-299">
<caret line="91" column="100" selection-start-line="91" selection-start-column="100" selection-end-line="91" selection-end-column="100" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informes/libro_de_ventas/InformeLibroDeVentasContentDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="4">
<caret line="53" column="22" selection-start-line="53" selection-start-column="22" selection-end-line="53" selection-end-column="22" />
<folding>
<element signature="e#0#2778#0" expanded="true" />
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/InformeEgresosFacturasMateriaPrimaContentDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="253">
<caret line="33" column="81" selection-start-line="33" selection-start-column="81" selection-end-line="33" selection-end-column="81" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informes/libro_de_ventas/SQLiteInformeLibroDeVentasContentDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="23">
<caret line="110" column="23" selection-start-line="110" selection-start-column="23" selection-end-line="110" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/controllers/ManagerController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1290">
<caret line="202" lean-forward="true" selection-start-line="202" selection-end-line="202" />
<folding>
<element signature="docComment;class#ManagerController#0" />
<element signature="docComment;method#ManagerController#0;class#ManagerController#0" />
<element signature="method#ManagerController#0;class#ManagerController#0" />
<element signature="docComment;method#setUpDate#0;class#ManagerController#0" />
<element signature="method#setUpDate#0;class#ManagerController#0" />
<element signature="docComment;method#setUpViewEvents#0;class#ManagerController#0" />
<element signature="docComment;method#updateCaja#0;class#ManagerController#0" />
<element signature="method#updateCaja#0;class#ManagerController#0" />
<element signature="docComment;method#loadCardContents#0;class#ManagerController#0" />
<element signature="docComment;method#loadIngresosView#0;class#ManagerController#0" />
<element signature="method#loadIngresosView#0;class#ManagerController#0" />
<element signature="docComment;method#loadEgresosView#0;class#ManagerController#0" />
<element signature="method#loadEgresosView#0;class#ManagerController#0" />
<element signature="docComment;method#loadArqueoView#0;class#ManagerController#0" />
<element signature="docComment;method#pressInitialButton#0;class#ManagerController#0" />
</folding>
</state>
</provider>
</entry>
<entry file="das://6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/schema/main/table/tipos_egreso">
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
<state>
<filtering enabled="true" />
</state>
</provider>
</entry>
<entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/6e2ee496-6ca2-4cc4-a2b0-4f122e6bfd50/console.sql">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="138">
<caret line="6" column="19" selection-end-line="7" />
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/4.0.1/poi-4.0.1-sources.jar!/org/apache/poi/hssf/usermodel/HSSFCell.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="253">
<caret line="659" selection-start-line="659" selection-end-line="659" />
<folding>
<element signature="e#34037#34038#0" expanded="true" />
<element signature="e#34089#34090#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar:///usr/lib/jvm/java-11-openjdk/lib/src.zip!/java.base/java/util/Objects.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="193">
<caret line="144" column="22" selection-start-line="144" selection-start-column="22" selection-end-line="144" selection-end-column="22" />
<folding>
<element signature="e#5987#5988#0" expanded="true" />
<element signature="e#6033#6034#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/utils/Pair.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="393">
<caret line="57" column="5" lean-forward="true" selection-start-line="57" selection-start-column="5" selection-end-line="57" selection-end-column="5" />
<folding>
<element signature="e#1787#1788#0" expanded="true" />
<element signature="e#1835#1836#0" expanded="true" />
<element signature="e#1881#1882#0" expanded="true" />
<element signature="e#1946#1947#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/InformeEgresosFacturasMateriaPrimaContent.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="98">
<caret line="28" column="56" lean-forward="true" selection-start-line="28" selection-start-column="56" selection-end-line="28" selection-end-column="56" />
<folding>
<element signature="e#1420#1421#0" expanded="true" />
<element signature="e#1448#1449#0" expanded="true" />
<element signature="e#1493#1494#0" expanded="true" />
<element signature="e#1527#1528#0" expanded="true" />
<element signature="e#1557#1558#0" expanded="true" />
<element signature="e#1583#1584#0" expanded="true" />
<element signature="e#1621#1622#0" expanded="true" />
<element signature="e#1651#1652#0" expanded="true" />
<element signature="e#1689#1690#0" expanded="true" />
<element signature="e#1723#1724#0" expanded="true" />
<element signature="e#1777#1778#0" expanded="true" />
<element signature="e#1823#1824#0" expanded="true" />
<element signature="e#1852#1853#0" expanded="true" />
<element signature="e#1880#1881#0" expanded="true" />
<element signature="e#1919#1920#0" expanded="true" />
<element signature="e#1953#1954#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/models/informes/egresos/SQLiteInformeEgresosFacturasMateriaPrimaContentDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="393">
<caret line="53" lean-forward="true" selection-start-line="53" selection-end-line="53" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeEgresosFacturaMateriaPrima.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="231">
<caret line="93" column="28" selection-start-line="93" selection-start-column="28" selection-end-line="93" selection-end-column="28" />
<folding>
<element signature="method#InformeEgresosFacturaMateriaPrima#0;class#InformeEgresosFacturaMateriaPrima#0" />
<element signature="method#fillHeaders#0;class#InformeEgresosFacturaMateriaPrima#0" />
<element signature="e#2832#2906#1" />
<element signature="method#fillData#0;class#InformeEgresosFacturaMateriaPrima#0" />
<element signature="e#3012#3685#1" />
<element signature="e#4013#4266#1" />
<element signature="method#fillTotales#0;class#InformeEgresosFacturaMateriaPrima#0" />
<element signature="e#4554#5020#1" />
<element signature="e#4947#4989#1" />
<element signature="e#4978#5019#1" />
<element signature="method#addBorders#0;class#InformeEgresosFacturaMateriaPrima#0" />
<element signature="e#6107#6137#1" />
<element signature="method#setStyles#0;class#InformeEgresosFacturaMateriaPrima#0" />
<element signature="e#7875#7912#1" />
<element signature="e#8245#8527#1" />
<element signature="e#8331#8613#1" />
<element signature="e#8479#8527#1" />
<element signature="method#generateStyles#0;class#InformeEgresosFacturaMateriaPrima#0" />
<element signature="method#generarInforme#0;class#InformeEgresosFacturaMateriaPrima#0" />
<element signature="e#4005#4081#0" />
<element signature="e#4104#4148#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/informes/InformeLibroDeVentas.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="324">
<caret line="290" column="37" selection-start-line="290" selection-start-column="37" selection-end-line="290" selection-end-column="37" />
<folding>
<element signature="method#InformeLibroDeVentas#0;class#InformeLibroDeVentas#0" />
<element signature="n#!!block;n#sortInforme#0;n#InformeLibroDeVentas#0" />
<element signature="method#fillHeaders#0;class#InformeLibroDeVentas#0" />
<element signature="e#3624#3698#1" />
<element signature="e#3756#3836#1" />
<element signature="method#fillData#0;class#InformeLibroDeVentas#0" />
<element signature="e#3954#6395#1" />
<element signature="e#6168#6254#1" />
<element signature="e#6260#6368#1" />
<element signature="method#fillTotales#0;class#InformeLibroDeVentas#0" />
<element signature="method#joinCells#0;class#InformeLibroDeVentas#0" />
<element signature="method#addBorders#0;class#InformeLibroDeVentas#0" />
<element signature="e#9868#9982#1" />
<element signature="e#10083#10197#1" />
<element signature="e#10301#12140#1" />
<element signature="e#12273#12402#1" />
<element signature="e#13200#13248#1" />
<element signature="method#generarInforme#0;class#InformeLibroDeVentas#0" />
<element signature="e#13541#13617#0" />
<element signature="e#13640#13684#0" />
<element signature="method#generateStyles#0;class#InformeLibroDeVentas#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.form">
<provider selected="true" editor-type-id="ui-designer" />
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/views/InformesView.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="184">
<caret line="35" column="22" selection-start-line="35" selection-start-column="22" selection-end-line="35" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="140">
<caret line="62" column="11" selection-start-line="62" selection-start-column="11" selection-end-line="62" selection-end-column="11" />
<folding>
<element signature="method#run#0;class#Main#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/controllers/InformesController.java"> <entry file="file://$PROJECT_DIR$/src/danielcortes/xyz/controllers/InformesController.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="623"> <state relative-caret-position="253">
<caret line="79" column="50" lean-forward="true" selection-start-line="79" selection-start-column="50" selection-end-line="79" selection-end-column="50" /> <caret line="51" column="5" selection-start-line="51" selection-start-column="5" selection-end-line="51" selection-end-column="5" />
<folding> <folding>
<element signature="method#InformesController#0;class#InformesController#0" />
<element signature="method#setupViewEvents#0;class#InformesController#0" />
<element signature="method#generarInformeLibroDeVentasListener#0;class#InformesController#0" />
<element signature="e#2055#2632#1" />
<element signature="e#2373#2622#1" />
<element signature="method#generarInformeEgresosFacturasMateriaPrima#0;class#InformesController#0" />
<element signature="e#2785#3362#1" />
<element signature="e#3103#3352#1" />
<element signature="method#askForMonth#0;class#InformesController#0" />
<element signature="e#2819#2879#1" />
<element signature="e#2885#2921#1" />
<element signature="method#askForFile#0;class#InformesController#0" />
<element signature="e#3334#3533#1" />
<element signature="e#3539#3575#1" />
<element signature="method#showConfirmation#0;class#InformesController#0" /> <element signature="method#showConfirmation#0;class#InformesController#0" />
<element signature="e#3974#4142#1" />
<element signature="e#3992#4056#0" />
<element signature="e#4079#4131#0" />
</folding> </folding>
</state> </state>
</provider> </provider>

BIN
dist/caja.jar vendored

Binary file not shown.

View File

@@ -24,6 +24,7 @@
package danielcortes.xyz.controllers; package danielcortes.xyz.controllers;
import danielcortes.xyz.informes.InformeEgresosFacturaMateriaPrima;
import danielcortes.xyz.informes.InformeLibroDeVentas; import danielcortes.xyz.informes.InformeLibroDeVentas;
import danielcortes.xyz.utils.StringUtils; import danielcortes.xyz.utils.StringUtils;
import danielcortes.xyz.views.MonthSelectDialog; import danielcortes.xyz.views.MonthSelectDialog;
@@ -47,6 +48,7 @@ public class InformesController {
private void setupViewEvents() { private void setupViewEvents() {
this.view.getInformeLibroDeVentasButton().addActionListener(e -> generarInformeLibroDeVentasListener()); this.view.getInformeLibroDeVentasButton().addActionListener(e -> generarInformeLibroDeVentasListener());
this.view.getGenerarEgresosFacturasMateriaPrimaButton().addActionListener(e -> generarInformeEgresosFacturasMateriaPrima());
} }
private void generarInformeLibroDeVentasListener() { private void generarInformeLibroDeVentasListener() {
@@ -60,8 +62,27 @@ public class InformesController {
File saveFile = askForFile("Libro " + capitalized); File saveFile = askForFile("Libro " + capitalized);
if (saveFile != null) { if (saveFile != null) {
InformeLibroDeVentas informeLibroDeVentas = new InformeLibroDeVentas(month, saveFile); InformeLibroDeVentas informe = new InformeLibroDeVentas(month, saveFile);
File generatedFile = informeLibroDeVentas.generarInforme(); File generatedFile = informe.generarInforme();
this.showConfirmation(generatedFile);
}
}
}
private void generarInformeEgresosFacturasMateriaPrima() {
LocalDate month = askForMonth();
if (month != null) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM YYYY");
String formatedName = month.format(formatter);
String capitalized = StringUtils.toUpperCase(formatedName);
File saveFile = askForFile("Egresos Materia Prima " + capitalized);
if (saveFile != null) {
InformeEgresosFacturaMateriaPrima informe = new InformeEgresosFacturaMateriaPrima(month, saveFile);
File generatedFile = informe.generarInforme();
this.showConfirmation(generatedFile); this.showConfirmation(generatedFile);
} }
@@ -97,7 +118,7 @@ public class InformesController {
private void showConfirmation(File file) { private void showConfirmation(File file) {
int result = JOptionPane.showConfirmDialog( int result = JOptionPane.showConfirmDialog(
this.view.getContentPanel(), this.view.getContentPanel(),
"El informe se a generado\n" + "El informes se a generado\n" +
"¿Desea abrirlo?", "¿Desea abrirlo?",
"Confirmacion", "Confirmacion",
JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_OPTION,

View File

@@ -0,0 +1,293 @@
/*
* MIT License
*
* Copyright (c) 2018-2019 Daniel Cortes
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package danielcortes.xyz.informes;
import danielcortes.xyz.models.caja.SQLiteCajaDAO;
import danielcortes.xyz.models.informes.egresos.InformeEgresosFacturasMateriaPrimaContent;
import danielcortes.xyz.models.informes.egresos.SQLiteInformeEgresosFacturasMateriaPrimaContentDAO;
import danielcortes.xyz.utils.Pair;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.PropertyTemplate;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
public class InformeEgresosFacturaMateriaPrima {
private final String[] titles = {
"FECHA",
"",
"DESCRIPCION",
"VALOR"
};
private List<InformeEgresosFacturasMateriaPrimaContent> informe;
private File saveFile;
//Filas donde se almacenaran los totales
private ArrayList<Row> totalRows;
//Filas donde se almacenaran los egresos.
private ArrayList<Row> dataRows;
//Fila que contiene el total final;
private Row totalFinal;
//Rango que corresponde a un dia de egresos;
private ArrayList<Pair<Integer, Integer>> totalRange;
private Workbook wb;
private Sheet sheet;
private CreationHelper createHelper;
private HashMap<String, CellStyle> styles;
public InformeEgresosFacturaMateriaPrima(LocalDate date, File saveFile) {
new SQLiteCajaDAO().createCajasForMonth(date);
this.informe = new SQLiteInformeEgresosFacturasMateriaPrimaContentDAO().getInformeEgresosFactuasMateriaPrima(date);
this.saveFile = saveFile;
this.wb = new HSSFWorkbook();
this.sheet = wb.createSheet();
this.createHelper = wb.getCreationHelper();
this.totalRows = new ArrayList<>();
this.totalRange = new ArrayList<>();
this.dataRows = new ArrayList<>();
this.styles = this.generateStyles();
}
private void fillHeaders() {
Row titles = sheet.createRow(0);
for (int x = 0; x < this.titles.length; x++) {
titles.createCell(x).setCellValue(this.titles[x]);
}
}
private void fillData() {
int rowCounter = 1;
int dayStart = rowCounter;
int dayEnd;
for (int informeID = 0; informeID < informe.size(); informeID++) {
InformeEgresosFacturasMateriaPrimaContent data = informe.get(informeID);
int cellCounter = 0;
Row dataRow = sheet.createRow(rowCounter);
dataRows.add(dataRow);
Date fecha = Date.from(data.getFecha().atStartOfDay(ZoneId.systemDefault()).toInstant());
dataRow.createCell(cellCounter++).setCellValue(fecha);
dataRow.createCell(cellCounter++).setCellValue(data.getNro());
dataRow.createCell(cellCounter++).setCellValue(data.getDescripcion());
dataRow.createCell(cellCounter).setCellValue(data.getValor());
if (informeID + 1 >= informe.size() || !data.getFecha().equals(informe.get(informeID + 1).getFecha())) {
totalRows.add(sheet.createRow(rowCounter + 1));
dayEnd = rowCounter;
totalRange.add(new Pair<>(dayStart, dayEnd));
dayStart = rowCounter + 2;
rowCounter++;
}
rowCounter++;
}
}
private void fillTotales() {
StringBuilder sumTotalFinal = new StringBuilder();
//Se aprovechara la iteracion para agregar los totales individuales y para construir la suma del total final
for (int x = 0; x < totalRows.size(); x++) {
Row row = totalRows.get(x);
Pair<Integer, Integer> range = totalRange.get(x);
row.createCell(2).setCellValue("TOTAL DIARIO");
row.createCell(3).setCellFormula("SUM(D" + (range.getLeft() + 1) + ":D" + (range.getRight() + 1) + ")");
sumTotalFinal.append("D").append(row.getRowNum() + 1);
if (x + 1 != totalRows.size()) {
sumTotalFinal.append("+");
} else {
this.totalFinal = sheet.createRow(row.getRowNum() + 1);
this.totalFinal.createCell(2).setCellValue("TOTAL MENSUAL");
this.totalFinal.createCell(3).setCellFormula(sumTotalFinal.toString());
}
}
}
private void freezeCells() {
this.sheet.createFreezePane(0, 1);
}
private void addBorders() {
int rows = this.totalRows.size() + this.dataRows.size() + 1;
PropertyTemplate pt = new PropertyTemplate();
//Bordes Internos
pt.drawBorders(new CellRangeAddress(0, rows, 0, 3), BorderStyle.THIN, BorderExtent.ALL);
//Bordes de los Headers
pt.drawBorders(new CellRangeAddress(0, 0, 0, 3), BorderStyle.MEDIUM, BorderExtent.OUTSIDE);
//Bordes de los Totales
for (Row row : this.totalRows) {
int index = row.getRowNum();
pt.drawBorders(new CellRangeAddress(index, index, 0, 3), BorderStyle.NONE, BorderExtent.ALL);
pt.drawBorders(new CellRangeAddress(index, index, 0, 3), BorderStyle.MEDIUM, BorderExtent.OUTSIDE);
}
//Borde del Total Final
pt.drawBorders(new CellRangeAddress(this.totalFinal.getRowNum(), this.totalFinal.getRowNum(), 0, 3), BorderStyle.NONE, BorderExtent.ALL);
pt.drawBorders(new CellRangeAddress(this.totalFinal.getRowNum(), this.totalFinal.getRowNum(), 0, 3), BorderStyle.MEDIUM, BorderExtent.OUTSIDE);
//Borde externo
pt.drawBorders(new CellRangeAddress(0, rows, 0, 3), BorderStyle.MEDIUM, BorderExtent.OUTSIDE);
pt.applyBorders(this.sheet);
}
private void setStyles() {
//Estilo para el header
this.sheet.getRow(0).getCell(0).setCellStyle(this.styles.get("header"));
this.sheet.getRow(0).getCell(1).setCellStyle(this.styles.get("header"));
this.sheet.getRow(0).getCell(2).setCellStyle(this.styles.get("header"));
this.sheet.getRow(0).getCell(3).setCellStyle(this.styles.get("header"));
//Estilo para el Total Final
this.totalFinal.getCell(0, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).setCellStyle(this.styles.get("gray"));
this.totalFinal.getCell(1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).setCellStyle(this.styles.get("gray"));
this.totalFinal.getCell(2, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).setCellStyle(this.styles.get("gray"));
this.totalFinal.getCell(3).setCellStyle(this.styles.get("total_final"));
//Estilo para las filas de datos
for(Row row: this.dataRows){
row.getCell(0).setCellStyle(this.styles.get("date"));
row.getCell(1).setCellStyle(this.styles.get("regular"));
row.getCell(2).setCellStyle(this.styles.get("regular"));
row.getCell(3).setCellStyle(this.styles.get("money"));
}
//Estilo para las filas de totales
for(Row row: this.totalRows){
row.getCell(0, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).setCellStyle(this.styles.get("not_so_gray"));
row.getCell(1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).setCellStyle(this.styles.get("not_so_gray"));
row.getCell(2, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).setCellStyle(this.styles.get("not_so_gray"));
row.getCell(3, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).setCellStyle(this.styles.get("total"));
}
//Setea el alto de las filas
this.sheet.getRow(0).setHeightInPoints(30);
this.totalFinal.setHeightInPoints(20);
for(Row row: this.dataRows){
row.setHeightInPoints(15);
}
for(Row row: this.totalRows){
row.setHeightInPoints(18);
}
//Setea el ancho de las columnas
sheet.autoSizeColumn(0);
sheet.autoSizeColumn(1);
sheet.autoSizeColumn(2);
sheet.autoSizeColumn(3);
}
private HashMap<String, CellStyle> generateStyles(){
Font font = this.wb.createFont();
font.setBold(true);
font.setColor(IndexedColors.WHITE.getIndex());
CellStyle regularStyle = this.wb.createCellStyle();
CellStyle grayStyle = this.wb.createCellStyle();
grayStyle.setFont(font);
grayStyle.setVerticalAlignment(VerticalAlignment.CENTER);
grayStyle.setFillForegroundColor(IndexedColors.GREY_80_PERCENT.getIndex());
grayStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
CellStyle notSoGrayStyle = this.wb.createCellStyle();
notSoGrayStyle.setFont(font);
notSoGrayStyle.setVerticalAlignment(VerticalAlignment.CENTER);
notSoGrayStyle.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex());
notSoGrayStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
CellStyle dateStyle = this.wb.createCellStyle();
dateStyle.setDataFormat(this.createHelper.createDataFormat().getFormat("dd/mm/yyyy"));
CellStyle moneyStyle = this.wb.createCellStyle();
moneyStyle.setDataFormat(this.createHelper.createDataFormat().getFormat("\"$\"#,##0_);(\"$\"#,##0)"));
CellStyle headerStyle = this.wb.createCellStyle();
headerStyle.cloneStyleFrom(grayStyle);
headerStyle.setAlignment(HorizontalAlignment.CENTER);
CellStyle totalStyle = this.wb.createCellStyle();
totalStyle.cloneStyleFrom(notSoGrayStyle);
totalStyle.setDataFormat(this.createHelper.createDataFormat().getFormat("\"$\"#,##0_);(\"$\"#,##0)"));
CellStyle totalFinalStyle = this.wb.createCellStyle();
totalFinalStyle.cloneStyleFrom(grayStyle);
totalFinalStyle.setDataFormat(this.createHelper.createDataFormat().getFormat("\"$\"#,##0_);(\"$\"#,##0)"));
HashMap<String, CellStyle> styles = new HashMap<>();
styles.put("regular", regularStyle);
styles.put("gray", grayStyle);
styles.put("not_so_gray", notSoGrayStyle);
styles.put("date", dateStyle);
styles.put("money", moneyStyle);
styles.put("header", headerStyle);
styles.put("total", totalStyle);
styles.put("total_final", totalFinalStyle);
return styles;
}
public File generarInforme() {
fillHeaders();
fillData();
fillTotales();
freezeCells();
setStyles();
addBorders();
try (OutputStream fileOut = new FileOutputStream(this.saveFile)) {
wb.write(fileOut);
return this.saveFile;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}

View File

@@ -25,8 +25,8 @@
package danielcortes.xyz.informes; package danielcortes.xyz.informes;
import danielcortes.xyz.models.caja.SQLiteCajaDAO; import danielcortes.xyz.models.caja.SQLiteCajaDAO;
import danielcortes.xyz.models.informe.InformeLibroDeVentasContent; import danielcortes.xyz.models.informes.libro_de_ventas.InformeLibroDeVentasContent;
import danielcortes.xyz.models.informe.SQLiteInformeLibroDeVentasContentDAO; import danielcortes.xyz.models.informes.libro_de_ventas.SQLiteInformeLibroDeVentasContentDAO;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;

View File

@@ -0,0 +1,76 @@
/*
* MIT License
*
* Copyright (c) 2018-2019 Daniel Cortes
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package danielcortes.xyz.models.informes.egresos;
import java.time.LocalDate;
public class InformeEgresosFacturasMateriaPrimaContent {
private LocalDate fecha;
private String nro;
private String descripcion;
private int valor;
public LocalDate getFecha() {
return fecha;
}
public void setFecha(LocalDate fecha) {
this.fecha = fecha;
}
public String getNro() {
return nro;
}
public void setNro(String nro) {
this.nro = nro;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public int getValor() {
return valor;
}
public void setValor(int valor) {
this.valor = valor;
}
@Override
public String toString() {
return "InformeEgresosFacturasMateriaPrimaContent{" +
"fecha=" + fecha +
", nro='" + nro + '\'' +
", descripcion='" + descripcion + '\'' +
", valor=" + valor +
'}';
}
}

View File

@@ -22,16 +22,16 @@
* SOFTWARE. * SOFTWARE.
*/ */
package danielcortes.xyz.models.informe; package danielcortes.xyz.models.informes.egresos;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Collection; import java.util.List;
public abstract class InformeLibroDeVentasContentDAO { public abstract class InformeEgresosFacturasMateriaPrimaContentDAO {
/** /**
* Genera el contenido del informe mensual * Genera el informe con nombre muy largo
* @param date fecha que esta dentro del mes en el que se necesita el informe * @param month mes sobre el cual se quiere le informe
* @return Lista con las columnas principales necesarias para el informe * @return lista del objeto que contiene los datos necesarios para el informe
*/ */
public abstract Collection<InformeLibroDeVentasContent> getInformeMensual(LocalDate date); public abstract List<InformeEgresosFacturasMateriaPrimaContent> getInformeEgresosFactuasMateriaPrima(LocalDate month);
} }

View File

@@ -0,0 +1,76 @@
/*
* MIT License
*
* Copyright (c) 2018-2019 Daniel Cortes
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package danielcortes.xyz.models.informes.egresos;
import danielcortes.xyz.data.SQLiteConnectionHolder;
import danielcortes.xyz.models.egreso.Egreso;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
public class SQLiteInformeEgresosFacturasMateriaPrimaContentDAO extends InformeEgresosFacturasMateriaPrimaContentDAO {
private List<InformeEgresosFacturasMateriaPrimaContent> list;
@Override
public List<InformeEgresosFacturasMateriaPrimaContent> getInformeEgresosFactuasMateriaPrima(LocalDate date) {
list = new ArrayList<>();
try {
Connection conn = new SQLiteConnectionHolder().getConnection();
String query = "select caja.fecha as \"fecha\",\n" +
"egresos.nro as \"nro\",\n" +
"egresos.descripcion as \"descripcion\",\n" +
"egresos.valor as \"valor\"\n" +
"from egresos inner join caja on egresos.caja_id = caja.id\n" +
"where caja.fecha between date(?) and date(?) and egresos.tipo_egreso_id = 1\n" +
"order by caja.fecha\n";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, date.withDayOfMonth(1).toString());
ps.setString(2, date.withDayOfMonth(date.lengthOfMonth()).toString());
ResultSet rs = ps.executeQuery();
this.fillInforme(rs);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
private void fillInforme(ResultSet rs) throws SQLException {
while (rs.next()) {
InformeEgresosFacturasMateriaPrimaContent content = new InformeEgresosFacturasMateriaPrimaContent();
content.setFecha(LocalDate.parse(rs.getString("fecha")));
content.setDescripcion(rs.getString("descripcion"));
content.setNro(rs.getString("nro"));
content.setValor(rs.getInt("valor"));
list.add(content);
}
}
}

View File

@@ -22,7 +22,31 @@
* SOFTWARE. * SOFTWARE.
*/ */
package danielcortes.xyz.models.informe; /*
* MIT License
*
* Copyright (c) 2018-2019 Daniel Cortes
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package danielcortes.xyz.models.informes.libro_de_ventas;
import java.time.LocalDate; import java.time.LocalDate;

View File

@@ -0,0 +1,61 @@
/*
* MIT License
*
* Copyright (c) 2018-2019 Daniel Cortes
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/*
* MIT License
*
* Copyright (c) 2018-2019 Daniel Cortes
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package danielcortes.xyz.models.informes.libro_de_ventas;
import java.time.LocalDate;
import java.util.Collection;
public abstract class InformeLibroDeVentasContentDAO {
/**
* Genera el contenido del informes mensual
* @param date fecha que esta dentro del mes en el que se necesita el informes
* @return Lista con las columnas principales necesarias para el informes
*/
public abstract Collection<InformeLibroDeVentasContent> getInformeMensual(LocalDate date);
}

View File

@@ -22,7 +22,31 @@
* SOFTWARE. * SOFTWARE.
*/ */
package danielcortes.xyz.models.informe; /*
* MIT License
*
* Copyright (c) 2018-2019 Daniel Cortes
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package danielcortes.xyz.models.informes.libro_de_ventas;
import danielcortes.xyz.data.SQLiteConnectionHolder; import danielcortes.xyz.data.SQLiteConnectionHolder;
import danielcortes.xyz.utils.NaturalOrderComparator; import danielcortes.xyz.utils.NaturalOrderComparator;

View File

@@ -0,0 +1,59 @@
/*
* MIT License
*
* Copyright (c) 2018-2019 Daniel Cortes
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package danielcortes.xyz.utils;
import java.util.Objects;
public class Pair<L,R> {
private final L left;
private final R right;
public Pair(L left, R right) {
this.left = left;
this.right = right;
}
public L getLeft() { return left; }
public R getRight() { return right; }
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Pair<?, ?> pair = (Pair<?, ?>) o;
return left.equals(pair.left) &&
right.equals(pair.right);
}
@Override
public int hashCode() {
return Objects.hash(left, right);
}
@Override
public String toString() {
return "{left=" + left + ", right=" + right + "}";
}
}

View File

@@ -3,7 +3,7 @@
<grid id="27dc6" binding="contentPanel" layout-manager="GridLayoutManager" row-count="2" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1"> <grid id="27dc6" binding="contentPanel" layout-manager="GridLayoutManager" row-count="2" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/> <margin top="0" left="0" bottom="0" right="0"/>
<constraints> <constraints>
<xy x="20" y="20" width="338" height="356"/> <xy x="20" y="20" width="419" height="356"/>
</constraints> </constraints>
<properties/> <properties/>
<border type="none"/> <border type="none"/>
@@ -14,9 +14,9 @@
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/> <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints> </constraints>
<properties/> <properties/>
<border type="etched" title="Informes"/> <border type="etched" title="Informes Generales"/>
<children> <children>
<component id="4644d" class="javax.swing.JButton" binding="informeMensualButton" default-binding="true"> <component id="4644d" class="javax.swing.JButton" binding="generarLibroVentasButton" default-binding="true">
<constraints> <constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/> <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints> </constraints>
@@ -32,13 +32,16 @@
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/> <grid row="0" column="1" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints> </constraints>
<properties/> <properties/>
<border type="none"/> <border type="etched" title="Egresos"/>
<children> <children>
<hspacer id="faf3b"> <component id="b9812" class="javax.swing.JButton" binding="GenerarEgresosFacturasMateriaPrimaButton">
<constraints> <constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/> <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
</constraints> </constraints>
</hspacer> <properties>
<text value="Facturas Materia Prima"/>
</properties>
</component>
</children> </children>
</grid> </grid>
<grid id="a924" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1"> <grid id="a924" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
@@ -61,6 +64,11 @@
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/> <grid row="1" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
</constraints> </constraints>
</vspacer> </vspacer>
<vspacer id="d7cdc">
<constraints>
<grid row="1" column="1" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
</constraints>
</vspacer>
</children> </children>
</grid> </grid>
</form> </form>

View File

@@ -32,15 +32,20 @@ import javax.swing.*;
import java.awt.*; import java.awt.*;
public class InformesView { public class InformesView {
private JButton informeMensualButton; private JButton generarLibroVentasButton;
private JPanel contentPanel; private JPanel contentPanel;
private JButton GenerarEgresosFacturasMateriaPrimaButton;
public JPanel getContentPanel() { public JPanel getContentPanel() {
return contentPanel; return contentPanel;
} }
public JButton getInformeLibroDeVentasButton() { public JButton getInformeLibroDeVentasButton() {
return informeMensualButton; return generarLibroVentasButton;
}
public JButton getGenerarEgresosFacturasMateriaPrimaButton() {
return GenerarEgresosFacturasMateriaPrimaButton;
} }
{ {
@@ -63,22 +68,26 @@ public class InformesView {
final JPanel panel1 = new JPanel(); final JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); panel1.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
contentPanel.add(panel1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); contentPanel.add(panel1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Informes")); panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Informes Generales"));
informeMensualButton = new JButton(); generarLibroVentasButton = new JButton();
informeMensualButton.setText("Libro de Ventas Mensual"); generarLibroVentasButton.setText("Libro de Ventas Mensual");
panel1.add(informeMensualButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); panel1.add(generarLibroVentasButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel2 = new JPanel(); final JPanel panel2 = new JPanel();
panel2.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); panel2.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
contentPanel.add(panel2, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); contentPanel.add(panel2, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final Spacer spacer1 = new Spacer(); panel2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Egresos"));
panel2.add(spacer1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false)); GenerarEgresosFacturasMateriaPrimaButton = new JButton();
GenerarEgresosFacturasMateriaPrimaButton.setText("Facturas Materia Prima");
panel2.add(GenerarEgresosFacturasMateriaPrimaButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
final JPanel panel3 = new JPanel(); final JPanel panel3 = new JPanel();
panel3.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); panel3.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
contentPanel.add(panel3, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); contentPanel.add(panel3, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false));
final Spacer spacer1 = new Spacer();
panel3.add(spacer1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false));
final Spacer spacer2 = new Spacer(); final Spacer spacer2 = new Spacer();
panel3.add(spacer2, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false)); contentPanel.add(spacer2, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
final Spacer spacer3 = new Spacer(); final Spacer spacer3 = new Spacer();
contentPanel.add(spacer3, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); contentPanel.add(spacer3, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false));
} }
/** /**