Samuel Gamez
7 months ago
commit
e6e92b7389
119 changed files with 14541 additions and 0 deletions
@ -0,0 +1,9 @@ |
|||||
|
/nbproject/private/ |
||||
|
/ProyectoInventario-war/nbproject/private/ |
||||
|
/ProyectoInventario-ejb/nbproject/private/ |
||||
|
/ProyectoInventario-ejb/build/ |
||||
|
/ProyectoInventario-war/build/ |
||||
|
/build/ |
||||
|
/ProyectoInventario-war/dist/ |
||||
|
/ProyectoInventario-ejb/dist/ |
||||
|
/dist/ |
@ -0,0 +1,190 @@ |
|||||
|
-- MySQL Script generated by MySQL Workbench |
||||
|
-- Sat Apr 27 12:23:20 2024 |
||||
|
-- Model: New Model Version: 1.0 |
||||
|
-- MySQL Workbench Forward Engineering |
||||
|
|
||||
|
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; |
||||
|
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; |
||||
|
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; |
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Schema inventarioalmacen |
||||
|
-- ----------------------------------------------------- |
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Schema inventarioalmacen |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE SCHEMA IF NOT EXISTS `inventarioalmacen` DEFAULT CHARACTER SET utf8 ; |
||||
|
USE `inventarioalmacen` ; |
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Table `inventarioalmacen`.`marca` |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE TABLE IF NOT EXISTS `inventarioalmacen`.`marca` ( |
||||
|
`id` INT NOT NULL AUTO_INCREMENT, |
||||
|
`nombre` VARCHAR(100) NOT NULL, |
||||
|
`estado` INT NOT NULL, |
||||
|
PRIMARY KEY (`id`)) |
||||
|
ENGINE = InnoDB; |
||||
|
|
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Table `inventarioalmacen`.`paises` |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE TABLE IF NOT EXISTS `inventarioalmacen`.`paises` ( |
||||
|
`id` INT NOT NULL AUTO_INCREMENT, |
||||
|
`nombre` VARCHAR(100) NOT NULL, |
||||
|
`estado` INT NOT NULL, |
||||
|
PRIMARY KEY (`id`)) |
||||
|
ENGINE = InnoDB; |
||||
|
|
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Table `inventarioalmacen`.`estados` |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE TABLE IF NOT EXISTS `inventarioalmacen`.`estados` ( |
||||
|
`id` INT NOT NULL AUTO_INCREMENT, |
||||
|
`nombre` VARCHAR(45) NOT NULL, |
||||
|
`estado` INT NOT NULL, |
||||
|
`paises_id` INT NOT NULL, |
||||
|
PRIMARY KEY (`id`), |
||||
|
INDEX `fk_estados_paises1_idx` (`paises_id` ASC) VISIBLE, |
||||
|
CONSTRAINT `fk_estados_paises1` |
||||
|
FOREIGN KEY (`paises_id`) |
||||
|
REFERENCES `inventarioalmacen`.`paises` (`id`) |
||||
|
ON DELETE NO ACTION |
||||
|
ON UPDATE NO ACTION) |
||||
|
ENGINE = InnoDB; |
||||
|
|
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Table `inventarioalmacen`.`proveedor` |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE TABLE IF NOT EXISTS `inventarioalmacen`.`proveedor` ( |
||||
|
`id` INT NOT NULL AUTO_INCREMENT, |
||||
|
`nombre` VARCHAR(100) NOT NULL, |
||||
|
`telefono` VARCHAR(10) NOT NULL, |
||||
|
`email` VARCHAR(100) NOT NULL, |
||||
|
`estado` INT NOT NULL, |
||||
|
`domicilio` VARCHAR(100) NOT NULL, |
||||
|
`estados_id` INT NOT NULL, |
||||
|
`marca_id` INT NOT NULL, |
||||
|
PRIMARY KEY (`id`), |
||||
|
INDEX `fk_proveedor_estados1_idx` (`estados_id` ASC) VISIBLE, |
||||
|
INDEX `fk_proveedor_marca1_idx` (`marca_id` ASC) VISIBLE, |
||||
|
CONSTRAINT `fk_proveedor_estados1` |
||||
|
FOREIGN KEY (`estados_id`) |
||||
|
REFERENCES `inventarioalmacen`.`estados` (`id`) |
||||
|
ON DELETE NO ACTION |
||||
|
ON UPDATE NO ACTION, |
||||
|
CONSTRAINT `fk_proveedor_marca1` |
||||
|
FOREIGN KEY (`marca_id`) |
||||
|
REFERENCES `inventarioalmacen`.`marca` (`id`) |
||||
|
ON DELETE NO ACTION |
||||
|
ON UPDATE NO ACTION) |
||||
|
ENGINE = InnoDB; |
||||
|
|
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Table `inventarioalmacen`.`ubicacion` |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE TABLE IF NOT EXISTS `inventarioalmacen`.`ubicacion` ( |
||||
|
`id` INT NOT NULL AUTO_INCREMENT, |
||||
|
`bloque` VARCHAR(1) NOT NULL, |
||||
|
`anaquel` INT NOT NULL, |
||||
|
`estado` INT NOT NULL, |
||||
|
PRIMARY KEY (`id`)) |
||||
|
ENGINE = InnoDB; |
||||
|
|
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Table `inventarioalmacen`.`tipo` |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE TABLE IF NOT EXISTS `inventarioalmacen`.`tipo` ( |
||||
|
`id` INT NOT NULL AUTO_INCREMENT, |
||||
|
`tipo` VARCHAR(45) NOT NULL, |
||||
|
`estado` INT NOT NULL, |
||||
|
PRIMARY KEY (`id`)) |
||||
|
ENGINE = InnoDB; |
||||
|
|
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Table `inventarioalmacen`.`producto` |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE TABLE IF NOT EXISTS `inventarioalmacen`.`producto` ( |
||||
|
`id` INT NOT NULL AUTO_INCREMENT, |
||||
|
`nombre` VARCHAR(100) NOT NULL, |
||||
|
`codigo` INT ZEROFILL NOT NULL, |
||||
|
`precio` FLOAT NOT NULL, |
||||
|
`piezas` INT NOT NULL, |
||||
|
`estado` INT NOT NULL, |
||||
|
`fecha` DATE NOT NULL, |
||||
|
`proveedor_idproveedor` INT NOT NULL, |
||||
|
`ubicacion_id` INT NOT NULL, |
||||
|
`tipo_id` INT NOT NULL, |
||||
|
PRIMARY KEY (`id`), |
||||
|
INDEX `fk_producto_proveedor1_idx` (`proveedor_idproveedor` ASC) VISIBLE, |
||||
|
INDEX `fk_producto_ubicacion1_idx` (`ubicacion_id` ASC) VISIBLE, |
||||
|
INDEX `fk_producto_tipo1_idx` (`tipo_id` ASC) VISIBLE, |
||||
|
CONSTRAINT `fk_producto_proveedor1` |
||||
|
FOREIGN KEY (`proveedor_idproveedor`) |
||||
|
REFERENCES `inventarioalmacen`.`proveedor` (`id`) |
||||
|
ON DELETE NO ACTION |
||||
|
ON UPDATE NO ACTION, |
||||
|
CONSTRAINT `fk_producto_ubicacion1` |
||||
|
FOREIGN KEY (`ubicacion_id`) |
||||
|
REFERENCES `inventarioalmacen`.`ubicacion` (`id`) |
||||
|
ON DELETE NO ACTION |
||||
|
ON UPDATE NO ACTION, |
||||
|
CONSTRAINT `fk_producto_tipo1` |
||||
|
FOREIGN KEY (`tipo_id`) |
||||
|
REFERENCES `inventarioalmacen`.`tipo` (`id`) |
||||
|
ON DELETE NO ACTION |
||||
|
ON UPDATE NO ACTION) |
||||
|
ENGINE = InnoDB; |
||||
|
|
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Table `inventarioalmacen`.`roles` |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE TABLE IF NOT EXISTS `inventarioalmacen`.`roles` ( |
||||
|
`id` INT NOT NULL AUTO_INCREMENT, |
||||
|
`rol` VARCHAR(45) NOT NULL, |
||||
|
`estado` INT NOT NULL, |
||||
|
PRIMARY KEY (`id`)) |
||||
|
ENGINE = InnoDB; |
||||
|
|
||||
|
|
||||
|
-- ----------------------------------------------------- |
||||
|
-- Table `inventarioalmacen`.`usuarios` |
||||
|
-- ----------------------------------------------------- |
||||
|
CREATE TABLE IF NOT EXISTS `inventarioalmacen`.`usuarios` ( |
||||
|
`id` INT NOT NULL AUTO_INCREMENT, |
||||
|
`nombre` VARCHAR(50) NOT NULL, |
||||
|
`apellidoPaterno` VARCHAR(50) NOT NULL, |
||||
|
`email` VARCHAR(100) NOT NULL, |
||||
|
`telefono` VARCHAR(10) NOT NULL, |
||||
|
`estado` INT NOT NULL, |
||||
|
`contrasenia` VARCHAR(20) NOT NULL, |
||||
|
`domicilio` VARCHAR(100) NOT NULL, |
||||
|
`estados_id` INT NOT NULL, |
||||
|
`roles_id` INT NOT NULL, |
||||
|
PRIMARY KEY (`id`), |
||||
|
INDEX `fk_usuarios_roles1_idx` (`roles_id` ASC) VISIBLE, |
||||
|
INDEX `fk_usuarios_estados1_idx` (`estados_id` ASC) VISIBLE, |
||||
|
CONSTRAINT `fk_usuarios_roles1` |
||||
|
FOREIGN KEY (`roles_id`) |
||||
|
REFERENCES `inventarioalmacen`.`roles` (`id`) |
||||
|
ON DELETE NO ACTION |
||||
|
ON UPDATE NO ACTION, |
||||
|
CONSTRAINT `fk_usuarios_estados1` |
||||
|
FOREIGN KEY (`estados_id`) |
||||
|
REFERENCES `inventarioalmacen`.`estados` (`id`) |
||||
|
ON DELETE NO ACTION |
||||
|
ON UPDATE NO ACTION) |
||||
|
ENGINE = InnoDB; |
||||
|
|
||||
|
|
||||
|
SET SQL_MODE=@OLD_SQL_MODE; |
||||
|
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; |
||||
|
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,68 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- You may freely edit this file. See commented blocks below for --> |
||||
|
<!-- some examples of how to customize the build. --> |
||||
|
<!-- (If you delete it and reopen the project it will be recreated.) --> |
||||
|
<!-- By default, only the Clean and Build commands use this build script. --> |
||||
|
<!-- Commands such as Run, Debug, and Test only use this build script if --> |
||||
|
<!-- the Compile on Save feature is turned off for the project. --> |
||||
|
<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> |
||||
|
<!-- in the project's Project Properties dialog box.--> |
||||
|
<project name="ProyectoInventario-ejb" default="default" basedir="." xmlns:ejbjarproject="http://www.netbeans.org/ns/j2ee-ejbjarproject/3"> |
||||
|
<description>Builds, tests, and runs the project ProyectoInventario-ejb.</description> |
||||
|
<import file="nbproject/build-impl.xml"/> |
||||
|
<!-- |
||||
|
|
||||
|
There exist several targets which are by default empty and which can be |
||||
|
used for execution of your tasks. These targets are usually executed |
||||
|
before and after some main targets. They are: |
||||
|
|
||||
|
-pre-init: called before initialization of project properties |
||||
|
-post-init: called after initialization of project properties |
||||
|
-pre-compile: called before javac compilation |
||||
|
-post-compile: called after javac compilation |
||||
|
-pre-compile-single: called before javac compilation of single file |
||||
|
-post-compile-single: called after javac compilation of single file |
||||
|
-pre-dist: called before archive building |
||||
|
-post-dist: called after archive building |
||||
|
-post-clean: called after cleaning build products |
||||
|
-pre-run-deploy: called before deploying |
||||
|
-post-run-deploy: called after deploying |
||||
|
|
||||
|
(Targets beginning with '-' are not intended to be called on their own.) |
||||
|
|
||||
|
Example of pluging an obfuscator after the compilation could look like |
||||
|
|
||||
|
<target name="-post-compile"> |
||||
|
<obfuscate> |
||||
|
<fileset dir="${build.classes.dir}"/> |
||||
|
</obfuscate> |
||||
|
</target> |
||||
|
|
||||
|
For list of available properties check the imported |
||||
|
nbproject/build-impl.xml file. |
||||
|
|
||||
|
|
||||
|
Other way how to customize the build is by overriding existing main targets. |
||||
|
The target of interest are: |
||||
|
|
||||
|
init-macrodef-javac: defines macro for javac compilation |
||||
|
init-macrodef-debug: defines macro for class debugging |
||||
|
do-dist: archive building |
||||
|
run: execution of project |
||||
|
javadoc-build: javadoc generation |
||||
|
|
||||
|
Example of overriding the target for project execution could look like |
||||
|
|
||||
|
<target name="run" depends="<PROJNAME>-impl.jar"> |
||||
|
<exec dir="bin" executable="launcher.exe"> |
||||
|
<arg file="${dist.jar}"/> |
||||
|
</exec> |
||||
|
</target> |
||||
|
|
||||
|
Notice that overridden target depends on jar target and not only on |
||||
|
compile target as regular run target does. Again, for list of available |
||||
|
properties which you can use check the target you are overriding in |
||||
|
nbproject/build-impl.xml file. |
||||
|
|
||||
|
--> |
||||
|
</project> |
@ -0,0 +1,131 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- |
||||
|
|
||||
|
Licensed to the Apache Software Foundation (ASF) under one |
||||
|
or more contributor license agreements. See the NOTICE file |
||||
|
distributed with this work for additional information |
||||
|
regarding copyright ownership. The ASF licenses this file |
||||
|
to you under the Apache License, Version 2.0 (the |
||||
|
"License"); you may not use this file except in compliance |
||||
|
with the License. You may obtain a copy of the License at |
||||
|
|
||||
|
http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
|
||||
|
Unless required by applicable law or agreed to in writing, |
||||
|
software distributed under the License is distributed on an |
||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
||||
|
KIND, either express or implied. See the License for the |
||||
|
specific language governing permissions and limitations |
||||
|
under the License. |
||||
|
|
||||
|
--> |
||||
|
<project default="-deploy-ant" basedir="."> |
||||
|
<target name="-init-cl-deployment-env" if="deploy.ant.enabled"> |
||||
|
<property file="${deploy.ant.properties.file}" /> |
||||
|
<available file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" property="sun.web.present"/> |
||||
|
<available file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" property="glassfish.web.present"/> |
||||
|
<available file="${deploy.ant.resource.dir}" property="has.setup"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.password.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<echo message="AS_ADMIN_PASSWORD=${gfv3.password}" file="${gfv3.password.file}"/> |
||||
|
</target> |
||||
|
|
||||
|
<target name="-parse-sun-web" depends="-init-cl-deployment-env" if="sun.web.present"> |
||||
|
<tempfile prefix="gfv3" property="temp.sun.web" destdir="${java.io.tmpdir}"/> |
||||
|
<copy file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" tofile="${temp.sun.web}"/> |
||||
|
<!-- The doctype triggers resolution which can fail --> |
||||
|
<replace file="${temp.sun.web}"> |
||||
|
<replacetoken><![CDATA[<!DOCTYPE]]></replacetoken> |
||||
|
<replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue> |
||||
|
</replace> |
||||
|
<replace file="${temp.sun.web}"> |
||||
|
<replacetoken><![CDATA[<sun-web-app]]></replacetoken> |
||||
|
<replacevalue><![CDATA[--> <sun-web-app]]></replacevalue> |
||||
|
</replace> |
||||
|
<xmlproperty file="${temp.sun.web}" validate="false"> |
||||
|
</xmlproperty> |
||||
|
<delete file="${temp.sun.web}"/> |
||||
|
<condition property="deploy.ant.client.url" value="${gfv3.url}${sun-web-app.context-root}" else="${gfv3.url}/${ant.project.name}"> |
||||
|
<isset property="sun-web-app.context-root"/> |
||||
|
</condition> |
||||
|
<condition property="deploy.context.root.argument" value="&contextroot=${sun-web-app.context-root}" else="/${ant.project.name}"> |
||||
|
<isset property="sun-web-app.context-root"/> |
||||
|
</condition> |
||||
|
</target> |
||||
|
<target name="-parse-glassfish-web" depends="-init-cl-deployment-env" if="glassfish.web.present"> |
||||
|
<tempfile prefix="gfv3" property="temp.gf.web" destdir="${java.io.tmpdir}"/> |
||||
|
<copy file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" tofile="${temp.gf.web}"/> |
||||
|
<!-- The doctype triggers resolution which can fail --> |
||||
|
<replace file="${temp.gf.web}"> |
||||
|
<replacetoken><![CDATA[<!DOCTYPE]]></replacetoken> |
||||
|
<replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue> |
||||
|
</replace> |
||||
|
<replace file="${temp.gf.web}"> |
||||
|
<replacetoken><![CDATA[<glassfish-web-app]]></replacetoken> |
||||
|
<replacevalue><![CDATA[--> <glassfish-web-app]]></replacevalue> |
||||
|
</replace> |
||||
|
<xmlproperty file="${temp.gf.web}" validate="false"> |
||||
|
</xmlproperty> |
||||
|
<delete file="${temp.gf.web}"/> |
||||
|
<condition property="deploy.ant.client.url" value="${gfv3.url}${glassfish-web-app.context-root}" else="${gfv3.url}/${ant.project.name}"> |
||||
|
<isset property="glassfish-web-app.context-root"/> |
||||
|
</condition> |
||||
|
<condition property="deploy.context.root.argument" value="&contextroot=${glassfish-web-app.context-root}" else="/${ant.project.name}"> |
||||
|
<isset property="glassfish-web-app.context-root"/> |
||||
|
</condition> |
||||
|
</target> |
||||
|
<target name="-no-parse-sun-web" depends="-init-cl-deployment-env" unless="sun.web.present"> |
||||
|
<property name="deploy.context.root.argument" value=""/> |
||||
|
</target> |
||||
|
<target name="-add-resources" depends="-init-cl-deployment-env" if="has.setup"> |
||||
|
<tempfile prefix="gfv3" property="gfv3.resources.dir" destdir="${java.io.tmpdir}"/> |
||||
|
<mkdir dir="${gfv3.resources.dir}"/> |
||||
|
<mkdir dir="${gfv3.resources.dir}/META-INF"/> |
||||
|
<copy todir="${gfv3.resources.dir}/META-INF"> |
||||
|
<fileset dir="${deploy.ant.resource.dir}"/> |
||||
|
</copy> |
||||
|
<jar destfile="${deploy.ant.archive}" update="true"> |
||||
|
<fileset dir="${gfv3.resources.dir}"/> |
||||
|
</jar> |
||||
|
<delete dir="${gfv3.resources.dir}"/> |
||||
|
</target> |
||||
|
<target name="-deploy-ant" depends="-parse-glassfish-web, -parse-sun-web, -no-parse-sun-web,-add-resources" if="deploy.ant.enabled"> |
||||
|
<antcall target="-deploy-without-pw"/> |
||||
|
<antcall target="-deploy-with-pw"/> |
||||
|
</target> |
||||
|
|
||||
|
<target name="-deploy-without-pw" unless="gfv3.password"> |
||||
|
<echo message="Deploying ${deploy.ant.archive}"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/> |
||||
|
<get src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&force=true&name=${ant.project.name}" |
||||
|
dest="${gfv3.results.file}"/> |
||||
|
<delete file="${gfv3.results.file}"/> |
||||
|
</target> |
||||
|
<target name="-deploy-with-pw" if="gfv3.password"> |
||||
|
<echo message="Deploying ${deploy.ant.archive}"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/> |
||||
|
<get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&force=true&name=${ant.project.name}" |
||||
|
dest="${gfv3.results.file}"/> |
||||
|
<delete file="${gfv3.results.file}"/> |
||||
|
</target> |
||||
|
<target name="-undeploy-ant" depends="-init-cl-deployment-env" if="deploy.ant.enabled"> |
||||
|
<antcall target="-undeploy-without-pw"/> |
||||
|
<antcall target="-undeploy-with-pw"/> |
||||
|
</target> |
||||
|
|
||||
|
<target name="-undeploy-without-pw" unless="gfv3.password"> |
||||
|
<echo message="Undeploying ${deploy.ant.archive}"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<get src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}" |
||||
|
dest="${gfv3.results.file}"/> |
||||
|
<delete file="${gfv3.results.file}"/> |
||||
|
</target> |
||||
|
<target name="-undeploy-with-pw" if="gfv3.password"> |
||||
|
<echo message="Undeploying ${deploy.ant.archive}"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}" |
||||
|
dest="${gfv3.results.file}"/> |
||||
|
<delete file="${gfv3.results.file}"/> |
||||
|
</target> |
||||
|
</project> |
File diff suppressed because it is too large
@ -0,0 +1,8 @@ |
|||||
|
build.xml.data.CRC32=32277192 |
||||
|
build.xml.script.CRC32=79125877 |
||||
|
build.xml.stylesheet.CRC32=a737d6c5@1.75 |
||||
|
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. |
||||
|
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. |
||||
|
nbproject/build-impl.xml.data.CRC32=32277192 |
||||
|
nbproject/build-impl.xml.script.CRC32=6effce6d |
||||
|
nbproject/build-impl.xml.stylesheet.CRC32=62693482@1.75 |
@ -0,0 +1,20 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<project xmlns="http://www.netbeans.org/ns/project/1"> |
||||
|
<type>org.netbeans.modules.j2ee.ejbjarproject</type> |
||||
|
<configuration> |
||||
|
<data xmlns="http://www.netbeans.org/ns/j2ee-ejbjarproject/3"> |
||||
|
<name>ProyectoInventario-ejb</name> |
||||
|
<minimum-ant-version>1.6.5</minimum-ant-version> |
||||
|
<explicit-platform explicit-source-supported="true"/> |
||||
|
<source-roots> |
||||
|
<root id="src.dir"/> |
||||
|
</source-roots> |
||||
|
<test-roots> |
||||
|
<root id="test.src.dir"/> |
||||
|
</test-roots> |
||||
|
</data> |
||||
|
<libraries xmlns="http://www.netbeans.org/ns/ant-project-libraries/1"> |
||||
|
<definitions>..\.\lib\nblibraries.properties</definitions> |
||||
|
</libraries> |
||||
|
</configuration> |
||||
|
</project> |
@ -0,0 +1,2 @@ |
|||||
|
Manifest-Version: 1.0 |
||||
|
|
@ -0,0 +1,15 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd"> |
||||
|
<resources> |
||||
|
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="mysql_inventarioalmacen_rootPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false"> |
||||
|
<property name="serverName" value="localhost"/> |
||||
|
<property name="portNumber" value="3306"/> |
||||
|
<property name="databaseName" value="inventarioalmacen"/> |
||||
|
<property name="User" value="root"/> |
||||
|
<property name="Password" value="root"/> |
||||
|
<property name="URL" value="jdbc:mysql://localhost:3306/inventarioalmacen"/> |
||||
|
<property name="driverClass" value="org.gjt.mm.mysql.Driver"/> |
||||
|
</jdbc-connection-pool> |
||||
|
<jdbc-resource enabled="true" jndi-name="java:module/almacen" object-type="user" pool-name="mysql_inventarioalmacen_rootPool"/> |
||||
|
<jdbc-resource enabled="true" jndi-name="java:module/si" object-type="user" pool-name="mysql_inventarioalmacen_rootPool"/> |
||||
|
</resources> |
@ -0,0 +1,8 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> |
||||
|
<persistence-unit name="ProyectoInventario-ejbPU" transaction-type="JTA"> |
||||
|
<jta-data-source>jdbc/almacen</jta-data-source> |
||||
|
<exclude-unlisted-classes>false</exclude-unlisted-classes> |
||||
|
<properties/> |
||||
|
</persistence-unit> |
||||
|
</persistence> |
@ -0,0 +1,153 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import xforce.dao.EstadosDAO; |
||||
|
import xforce.modelo.Estados; |
||||
|
import xforce.modelo.Proveedor; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class EstadosBL implements EstadosBLLocal { |
||||
|
|
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
@Override |
||||
|
public Mensaje agregar(Estados estados) { |
||||
|
System.out.println("Llegaste al metodo de agregar paises"); |
||||
|
EstadosDAO estadosDAO = new EstadosDAO(); |
||||
|
Mensaje m; |
||||
|
//Toda la logica
|
||||
|
|
||||
|
if (estados.getNombre().isEmpty()) { |
||||
|
|
||||
|
System.out.println("Campos incompletos"); |
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
|
||||
|
estados.setEstado(2); |
||||
|
|
||||
|
Optional<Estados> paisEncontradoOptional = estadosDAO.buscarEstado(estados); |
||||
|
|
||||
|
if (paisEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos un pais
|
||||
|
paisEncontradoOptional.get(); |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
|
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
estadosDAO.agregar(estados); |
||||
|
System.out.println("Agregado con exito"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito"); |
||||
|
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Estados buscarId(Estados estados) { |
||||
|
EstadosDAO estadosDAO = new EstadosDAO(); |
||||
|
if (estadosDAO.buscarId(estados) == null) { |
||||
|
System.out.println("No existe el pais"); |
||||
|
return estadosDAO.buscarId(estados); |
||||
|
} else { |
||||
|
System.out.println("Se encontro el pais"); |
||||
|
return estadosDAO.buscarId(estados); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje eliminar(Estados estados) { |
||||
|
Mensaje m = null; |
||||
|
EstadosDAO estadosDAO = new EstadosDAO(); |
||||
|
|
||||
|
Estados estadoEnUso = estadosDAO.buscarId(estados); |
||||
|
|
||||
|
if (estadoEnUso != null) { |
||||
|
// Verificar si existen productos asociados a esta pais
|
||||
|
|
||||
|
List<Usuarios> referenciaUsuarios = estadosDAO.buscarPaisesReferenciadosUsuarios(estadoEnUso); |
||||
|
|
||||
|
List<Proveedor> referenciaProveedor = estadosDAO.buscarPaisesReferenciadosProveedor(estadoEnUso); |
||||
|
|
||||
|
if (!referenciaProveedor.isEmpty() |
||||
|
|| !referenciaUsuarios.isEmpty()) { |
||||
|
|
||||
|
System.out.println(referenciaProveedor.toString()); |
||||
|
System.out.println(referenciaUsuarios.toString()); |
||||
|
// Hay estados asociados a esta pais, no se puede eliminar
|
||||
|
System.out.println("No se puede eliminar el estado porque esta en uso"); |
||||
|
addMessage(FacesMessage.SEVERITY_WARN, "ATENCION", "El estado esta en uso"); |
||||
|
m = Mensaje.ERROR_PRODUCTOS_ASOCIADOS; |
||||
|
|
||||
|
} else { |
||||
|
if (estadoEnUso.getEstado() == 2) { |
||||
|
estadoEnUso.setEstado(1); |
||||
|
|
||||
|
if (estadosDAO.eliminar(estadoEnUso)) { |
||||
|
System.out.println("Pais eliminado"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Eliminado Correctamente"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} else { |
||||
|
System.out.println("Error al eliminar pais"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("Pais se acaba de eliminar"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
System.out.println("Pais inexistente"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Estados> buscarValidos(boolean estado) { |
||||
|
EstadosDAO estadosDAO = new EstadosDAO(); |
||||
|
System.out.println("pais existente"); |
||||
|
List l = estadosDAO.buscarValidos(estado); |
||||
|
System.out.println(l); |
||||
|
|
||||
|
return l; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Estados buscarNombre(Estados estados) { |
||||
|
EstadosDAO estadosDAO = new EstadosDAO(); |
||||
|
if (estadosDAO.buscarPorNombre(estados) == null) { |
||||
|
System.out.println("no existe el pais"); |
||||
|
return estadosDAO.buscarId(estados); |
||||
|
} else { |
||||
|
System.out.println("se encontro un pais"); |
||||
|
return estadosDAO.buscarId(estados); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("mensajePaises", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Estados; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface EstadosBLLocal { |
||||
|
|
||||
|
public Mensaje agregar(Estados estados); |
||||
|
|
||||
|
public Estados buscarId(Estados estados); |
||||
|
|
||||
|
public Mensaje eliminar(Estados estados); |
||||
|
|
||||
|
public List<Estados> buscarValidos(boolean estado); |
||||
|
|
||||
|
public Estados buscarNombre(Estados estados); |
||||
|
|
||||
|
} |
@ -0,0 +1,75 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import javax.persistence.NoResultException; |
||||
|
import xforce.dao.LoginDAO; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class LoginBL implements LoginBLLocal { |
||||
|
|
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
@Override |
||||
|
public Mensaje login(Usuarios usuarios) { |
||||
|
System.out.println("AAAAAAAAAAAAAAAAAAAAAAAA"); |
||||
|
LoginDAO loginDAO = new LoginDAO(); |
||||
|
Mensaje m; |
||||
|
//Toda la logica
|
||||
|
|
||||
|
if (usuarios.getNombre().isEmpty() |
||||
|
|| usuarios.getContrasenia().isEmpty()) { |
||||
|
|
||||
|
System.out.println("Campos incompletos"); |
||||
|
addMessage(FacesMessage.SEVERITY_WARN, "INFO", "Rellene todos los campos"); |
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
|
||||
|
usuarios.setEstado(2); |
||||
|
Optional<Usuarios> loginOptional = loginDAO.login(usuarios); |
||||
|
|
||||
|
if (loginOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos un usuario
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
rol(usuarios); |
||||
|
System.out.println(m); |
||||
|
} else { |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
rol(usuarios); |
||||
|
System.out.println(m); |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String rol(Usuarios usuarios) { |
||||
|
LoginDAO loginDAO = new LoginDAO(); |
||||
|
String rol = "No existe"; |
||||
|
try { |
||||
|
rol = loginDAO.rol(usuarios); |
||||
|
return rol; |
||||
|
} catch (NoResultException e) { |
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Usuario o contraseña incorrectos"); |
||||
|
return rol; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("mensajeLogin", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface LoginBLLocal { |
||||
|
|
||||
|
public Mensaje login(Usuarios usuarios); |
||||
|
|
||||
|
public String rol(Usuarios usuarios); |
||||
|
} |
@ -0,0 +1,204 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import xforce.dao.MarcaDAO; |
||||
|
import xforce.modelo.Marca; |
||||
|
import xforce.modelo.Proveedor; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class MarcaBL implements MarcaBLLocal { |
||||
|
|
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
@Override |
||||
|
public Mensaje agregar(Marca marca) { |
||||
|
System.out.println("Llegaste al metodo de agregar marca"); |
||||
|
MarcaDAO marcaDAO = new MarcaDAO(); |
||||
|
Mensaje m; |
||||
|
//Toda la logica
|
||||
|
|
||||
|
if (marca.getNombre().isEmpty()) { |
||||
|
|
||||
|
System.out.println("Campos incompletos"); |
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
marca.setEstado(2); |
||||
|
Optional<Marca> marcaEncontradoOptional = marcaDAO.buscarMarca(marca); |
||||
|
|
||||
|
if (marcaEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos una marca
|
||||
|
marcaEncontradoOptional.get(); |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
|
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
marcaDAO.agregar(marca); |
||||
|
System.out.println("Agregado con exito"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito"); |
||||
|
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Marca buscarId(Marca marca) { |
||||
|
MarcaDAO u = new MarcaDAO(); |
||||
|
if (u.buscarId(marca) == null) { |
||||
|
System.out.println("No existe la marca"); |
||||
|
return u.buscarId(marca); |
||||
|
} else { |
||||
|
System.out.println("Se encontro la marca"); |
||||
|
return u.buscarId(marca); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public Mensaje eliminar(Marca marca) { |
||||
|
Mensaje m = null; |
||||
|
MarcaDAO marcaDao = new MarcaDAO(); |
||||
|
|
||||
|
Marca mark = marcaDao.buscarId(marca); |
||||
|
|
||||
|
if (mark != null) { |
||||
|
// Verificar si existen productos asociados a esta marca
|
||||
|
|
||||
|
List<Proveedor> idsMarcasReferenciadas = marcaDao.buscarMarcasReferenciadas(mark); |
||||
|
|
||||
|
if (!idsMarcasReferenciadas.isEmpty()) { |
||||
|
|
||||
|
System.out.println(idsMarcasReferenciadas.toString()); |
||||
|
// Hay productos asociados a esta marca, no se puede eliminar
|
||||
|
System.out.println("No se puede eliminar la marca porque existen proveedores asociados."); |
||||
|
addMessage(FacesMessage.SEVERITY_WARN, "ATENCION", "La marca esta en uso"); |
||||
|
m = Mensaje.ERROR_PROVEEDORES_ASOCIADOS; |
||||
|
|
||||
|
} else { |
||||
|
if (mark.getEstado() == 2) { |
||||
|
mark.setEstado(1); |
||||
|
|
||||
|
if (marcaDao.eliminar(mark)) { |
||||
|
System.out.println("Marca eliminada"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Eliminado Correctamente"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} else { |
||||
|
System.out.println("Error al eliminar marca"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("Marca se acaba de eliminar"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
System.out.println("Marca inexistente"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje editar(Marca marca) { |
||||
|
Mensaje m = null; |
||||
|
try { |
||||
|
|
||||
|
MarcaDAO p = new MarcaDAO(); |
||||
|
|
||||
|
if (marca.getNombre().isEmpty()) { |
||||
|
System.out.println("Algunos campos son erroneos"); |
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
Optional<Marca> marcaEncontradoOptional = p.buscarMarca(marca); |
||||
|
|
||||
|
if (marcaEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos una marca
|
||||
|
marcaEncontradoOptional.get(); |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
// Editar el usuario solo si todas las validaciones son exitosas
|
||||
|
Marca mark = p.buscarId(marca); |
||||
|
|
||||
|
// Editar el usuario solo si todas las validaciones son exitosas
|
||||
|
if (mark != null) { |
||||
|
// Copiar los valores de los atributos (excepto estado) al producto existente
|
||||
|
mark.setNombre(marca.getNombre()); |
||||
|
|
||||
|
// Guardar la modificación en la base de datos
|
||||
|
if (p.editar(mark)) { |
||||
|
System.out.println("Editado con éxito"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Editado con exito"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
return m; |
||||
|
} else { |
||||
|
System.out.println("Error al editar"); |
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("No existe el producto a editar"); |
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
|
||||
|
System.out.println("Algo es erroneo"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
return m; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Marca> buscarValidos(boolean estado) { |
||||
|
MarcaDAO marca = new MarcaDAO(); |
||||
|
System.out.println("marcas existente"); |
||||
|
List l = marca.buscarValidos(estado); |
||||
|
System.out.println(l); |
||||
|
|
||||
|
return l; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Marca buscarNombre(Marca marca) { |
||||
|
MarcaDAO m = new MarcaDAO(); |
||||
|
if (m.buscarPorNombre(marca) == null) { |
||||
|
System.out.println("no existe la marca"); |
||||
|
return m.buscarId(marca); |
||||
|
} else { |
||||
|
System.out.println("se encontro una marca"); |
||||
|
return m.buscarId(marca); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("mensajeMarca", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,33 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Marca; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface MarcaBLLocal { |
||||
|
|
||||
|
Mensaje agregar(Marca marca); |
||||
|
|
||||
|
Marca buscarId(Marca marca); |
||||
|
|
||||
|
Mensaje eliminar(Marca marca); |
||||
|
|
||||
|
Mensaje editar(Marca marca); |
||||
|
|
||||
|
List<Marca> buscarValidos(boolean estado); |
||||
|
|
||||
|
Marca buscarNombre(Marca marca); |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,212 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import xforce.dao.PaisesDAO; |
||||
|
import xforce.modelo.Estados; |
||||
|
import xforce.modelo.Paises; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class PaisesBL implements PaisesBLLocal { |
||||
|
|
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
@Override |
||||
|
public Mensaje agregar(Paises paises) { |
||||
|
System.out.println("Llegaste al metodo de agregar paises"); |
||||
|
PaisesDAO paisesDao = new PaisesDAO(); |
||||
|
Mensaje m; |
||||
|
//Toda la logica
|
||||
|
|
||||
|
if (paises.getNombre().isEmpty()) { |
||||
|
|
||||
|
System.out.println("Campos incompletos"); |
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
paises.setEstado(2); |
||||
|
Optional<Paises> paisEncontradoOptional = paisesDao.buscarPaises(paises); |
||||
|
|
||||
|
if (paisEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos un pais
|
||||
|
paisEncontradoOptional.get(); |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
|
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
paisesDao.agregar(paises); |
||||
|
System.out.println("Agregado con exito"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito"); |
||||
|
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje editar(Paises paises) { |
||||
|
Mensaje m; |
||||
|
try { |
||||
|
|
||||
|
PaisesDAO paisesDAO = new PaisesDAO(); |
||||
|
|
||||
|
if (paises.getNombre().isEmpty()) { |
||||
|
System.out.println("Algunos campos son erroneos"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Verifique los campos numericos"); |
||||
|
|
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
|
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
Paises paisExistente = paisesDAO.buscarId(paises); |
||||
|
|
||||
|
Optional<Paises> productoEncontradoActivo = paisesDAO.buscarPaises(paises); |
||||
|
|
||||
|
if (productoEncontradoActivo.isPresent()) { |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
|
||||
|
System.out.println("Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
|
||||
|
if (paisExistente != null) { |
||||
|
// Copiar los valores de los atributos (excepto estado) al producto existente
|
||||
|
paisExistente.setNombre(paises.getNombre()); |
||||
|
|
||||
|
// Guardar la modificación en la base de datos
|
||||
|
if (paisesDAO.editar(paisExistente)) { |
||||
|
System.out.println("Editado con éxito"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Editado con exito"); |
||||
|
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
return m; |
||||
|
} else { |
||||
|
System.out.println("Error al editar"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Error al editar"); |
||||
|
|
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("No existe el producto a editar"); |
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
System.out.println("Algo es erróneo"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
return m; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Paises buscarId(Paises paises) { |
||||
|
PaisesDAO paisesDao = new PaisesDAO(); |
||||
|
if (paisesDao.buscarId(paises) == null) { |
||||
|
System.out.println("No existe el pais"); |
||||
|
return paisesDao.buscarId(paises); |
||||
|
} else { |
||||
|
System.out.println("Se encontro el pais"); |
||||
|
return paisesDao.buscarId(paises); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje eliminar(Paises paises) { |
||||
|
Mensaje m = null; |
||||
|
PaisesDAO paisesDao = new PaisesDAO(); |
||||
|
|
||||
|
Paises paisEnUso = paisesDao.buscarId(paises); |
||||
|
|
||||
|
if (paisEnUso != null) { |
||||
|
// Verificar si existen productos asociados a esta pais
|
||||
|
List<Estados> idsPaisesReferenciados = paisesDao.buscarPaisesReferenciados(paisEnUso); |
||||
|
|
||||
|
if (!idsPaisesReferenciados.isEmpty()) { |
||||
|
|
||||
|
System.out.println(idsPaisesReferenciados.toString()); |
||||
|
// Hay estados asociados a esta pais, no se puede eliminar
|
||||
|
System.out.println("No se puede eliminar el pais porque existen estados asociados."); |
||||
|
addMessage(FacesMessage.SEVERITY_WARN, "ATENCION", "El pais esta en uso"); |
||||
|
m = Mensaje.ERROR_PRODUCTOS_ASOCIADOS; |
||||
|
|
||||
|
} else { |
||||
|
if (paisEnUso.getEstado() == 2) { |
||||
|
paisEnUso.setEstado(1); |
||||
|
|
||||
|
if (paisesDao.eliminar(paisEnUso)) { |
||||
|
System.out.println("Pais eliminado"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Eliminado Correctamente"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} else { |
||||
|
System.out.println("Error al eliminar pais"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("Pais se acaba de eliminar"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
System.out.println("Pais inexistente"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Paises> buscarValidos(boolean estado) { |
||||
|
PaisesDAO paisesDao = new PaisesDAO(); |
||||
|
System.out.println("pais existente"); |
||||
|
List l = paisesDao.buscarValidos(estado); |
||||
|
System.out.println(l); |
||||
|
|
||||
|
return l; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Paises buscarNombre(Paises paises) { |
||||
|
PaisesDAO paisesDao = new PaisesDAO(); |
||||
|
if (paisesDao.buscarPorNombre(paises) == null) { |
||||
|
System.out.println("no existe el pais"); |
||||
|
return paisesDao.buscarId(paises); |
||||
|
} else { |
||||
|
System.out.println("se encontro un pais"); |
||||
|
return paisesDao.buscarId(paises); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("mensajePaises", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,31 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Paises; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface PaisesBLLocal { |
||||
|
|
||||
|
public Mensaje agregar(Paises paises); |
||||
|
|
||||
|
public Mensaje editar(Paises paises); |
||||
|
|
||||
|
public Paises buscarId(Paises paises); |
||||
|
|
||||
|
public Mensaje eliminar(Paises paises); |
||||
|
|
||||
|
public List<Paises> buscarValidos(boolean estado); |
||||
|
|
||||
|
public Paises buscarNombre(Paises paises); |
||||
|
|
||||
|
} |
@ -0,0 +1,262 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.time.Instant; |
||||
|
import java.util.Date; |
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import xforce.dao.ProductoDAO; |
||||
|
import xforce.dao.ProveedorDAO; |
||||
|
import xforce.dao.UbicacionDAO; |
||||
|
import xforce.modelo.Producto; |
||||
|
import xforce.modelo.Proveedor; |
||||
|
import xforce.modelo.Ubicacion; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class ProductoBL implements ProductoBLLocal { |
||||
|
|
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
@Override |
||||
|
public Mensaje agregar(Producto producto) { |
||||
|
System.out.println("Llegaste al metodo de agregar Producto"); |
||||
|
ProductoDAO productoDAO = new ProductoDAO(); |
||||
|
Mensaje m; |
||||
|
|
||||
|
ProveedorDAO proveedorDAO = new ProveedorDAO(); |
||||
|
UbicacionDAO ubicacionDAO = new UbicacionDAO(); |
||||
|
|
||||
|
// Verifica si las llaves foraneas existen
|
||||
|
Proveedor proveedor = proveedorDAO.buscarPorId(producto.getProveedorIdproveedor()); |
||||
|
if (proveedor == null) { |
||||
|
System.out.println("El proveedor no existe. No se puede agregar el producto."); |
||||
|
return Mensaje.PROVEEDOR_ERRONEO; // Agrega un mensaje de error específico para marca no existente
|
||||
|
} |
||||
|
|
||||
|
Ubicacion ubicacion = ubicacionDAO.buscarPorId(producto.getUbicacionId()); |
||||
|
if (ubicacion == null) { |
||||
|
System.out.println("La ubicacion no existe. No se puede agregar el producto."); |
||||
|
return Mensaje.UBICACION_ERRONEA; // Agrega un mensaje de error específico para marca no existente
|
||||
|
} |
||||
|
|
||||
|
// Resto de la lógica de validación
|
||||
|
if (producto.getNombre().isEmpty() |
||||
|
|| producto.getCodigo() <= 0 |
||||
|
|| producto.getPrecio() <= 0 |
||||
|
|| producto.getPiezas() <= 0 |
||||
|
|| producto.getProveedorIdproveedor() == null |
||||
|
|| producto.getUbicacionId() == null |
||||
|
|| producto.getTipoId() == null) { |
||||
|
System.out.println("Campos incompletos"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Verifique los campos numericos"); |
||||
|
|
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
|
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
// Resto de la lógica para verificar duplicados y agregar el producto
|
||||
|
producto.setEstado(2); |
||||
|
Optional<Producto> productoEncontradoActivo = productoDAO.buscarProducto(producto); |
||||
|
|
||||
|
if (productoEncontradoActivo.isPresent()) { |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
|
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
producto.setFecha(Date.from(Instant.now())); |
||||
|
productoDAO.agregar(producto); |
||||
|
System.out.println("Agregado con éxito"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito"); |
||||
|
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje editar(Producto producto) { |
||||
|
Mensaje m; |
||||
|
try { |
||||
|
|
||||
|
ProductoDAO productoDAO = new ProductoDAO(); |
||||
|
|
||||
|
if (producto.getNombre().isEmpty() |
||||
|
|| producto.getCodigo() <= 0 |
||||
|
|| producto.getPrecio() <= 0 |
||||
|
|| producto.getPiezas() < 0 |
||||
|
|| producto.getProveedorIdproveedor() == null |
||||
|
|| producto.getUbicacionId() == null |
||||
|
|| producto.getTipoId() == null) { |
||||
|
System.out.println("Algunos campos son erroneos"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Verifique los campos numericos"); |
||||
|
|
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
|
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
Producto productoExistente = productoDAO.buscarId(producto); |
||||
|
|
||||
|
Optional<Producto> productoEncontradoActivo = productoDAO.buscarProducto(producto); |
||||
|
|
||||
|
if (productoEncontradoActivo.isPresent()) { |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
|
||||
|
System.out.println("Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
|
||||
|
if (productoExistente != null) { |
||||
|
// Copiar los valores de los atributos (excepto estado) al producto existente
|
||||
|
productoExistente.setNombre(producto.getNombre()); |
||||
|
productoExistente.setCodigo(producto.getCodigo()); |
||||
|
productoExistente.setPrecio(producto.getPrecio()); |
||||
|
productoExistente.setPiezas(producto.getPiezas()); |
||||
|
productoExistente.setProveedorIdproveedor(producto.getProveedorIdproveedor()); |
||||
|
productoExistente.setUbicacionId(producto.getUbicacionId()); |
||||
|
productoExistente.setTipoId(producto.getTipoId()); |
||||
|
|
||||
|
// Guardar la modificación en la base de datos
|
||||
|
if (productoDAO.editar(productoExistente)) { |
||||
|
System.out.println("Editado con éxito"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Editado con exito"); |
||||
|
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
return m; |
||||
|
} else { |
||||
|
System.out.println("Error al editar"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Error al editar"); |
||||
|
|
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("No existe el producto a editar"); |
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
System.out.println("Algo es erróneo"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
return m; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Producto buscarId(Producto producto) { |
||||
|
ProductoDAO productoDAO = new ProductoDAO(); |
||||
|
Producto p = productoDAO.buscarId(producto); |
||||
|
if (p == null) { |
||||
|
System.out.println("No existe el producto"); |
||||
|
return p; |
||||
|
} else { |
||||
|
System.out.println("Se encontro el producto"); |
||||
|
return p; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Producto> buscarValidos(boolean estado) { |
||||
|
ProductoDAO productoDAO = new ProductoDAO(); |
||||
|
List l = productoDAO.buscarValidos(estado); |
||||
|
// Llama al método buscarValidos de ProductoDAO y devuelve la lista resultante
|
||||
|
System.out.println(l); |
||||
|
return l; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Producto buscarNombre(Producto producto) { |
||||
|
ProductoDAO productoDAO = new ProductoDAO(); |
||||
|
Producto p = productoDAO.buscarPorNombre(producto); |
||||
|
if (p == null) { |
||||
|
System.out.println("No existe el producto"); |
||||
|
return p; |
||||
|
} else { |
||||
|
System.out.println("Se encontro el producto"); |
||||
|
return p; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Producto> buscarUbicacion(int id) { |
||||
|
ProductoDAO productoDAO = new ProductoDAO(); |
||||
|
List l = productoDAO.buscarPorUbicacion(id); |
||||
|
System.out.println(l); |
||||
|
return l; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Producto> buscarMarca(int id) { |
||||
|
ProductoDAO productoDAO = new ProductoDAO(); |
||||
|
List l = productoDAO.buscarPorMarca(id); |
||||
|
System.out.println(l); |
||||
|
return l; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje eliminar(Producto producto) { |
||||
|
Mensaje m; |
||||
|
ProductoDAO productoDAO = new ProductoDAO(); |
||||
|
|
||||
|
// Buscar el producto por id
|
||||
|
Producto productoExistente = productoDAO.buscarId(producto); |
||||
|
|
||||
|
if (productoExistente != null) { |
||||
|
// Verificar que el estado actual sea 2 antes de cambiarlo a 1
|
||||
|
if (productoExistente.getEstado() == 2) { |
||||
|
// Modificar solo el atributo estado
|
||||
|
|
||||
|
// Guardar la modificación en la base de datos
|
||||
|
if (productoDAO.eliminar(productoExistente)) { |
||||
|
System.out.println("Producto eliminado"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Producto eliminado con exito"); |
||||
|
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} else { |
||||
|
System.out.println("Error al eliminar"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("El producto ya se elimino"); |
||||
|
m = Mensaje.NO_EXISTE; // Puedes definir este mensaje en tu enumeración Mensaje
|
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("No existe el producto"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("mensajeProducto", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,35 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Producto; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface ProductoBLLocal { |
||||
|
|
||||
|
Mensaje agregar(Producto producto); |
||||
|
|
||||
|
Producto buscarId(Producto producto); |
||||
|
|
||||
|
List<Producto> buscarValidos(boolean estado); |
||||
|
|
||||
|
Producto buscarNombre(Producto producto); |
||||
|
|
||||
|
List<Producto> buscarUbicacion(int id); |
||||
|
|
||||
|
List<Producto> buscarMarca(int id); |
||||
|
|
||||
|
Mensaje eliminar(Producto producto); |
||||
|
|
||||
|
Mensaje editar(Producto producto); |
||||
|
|
||||
|
} |
@ -0,0 +1,206 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import xforce.dao.ProveedorDAO; |
||||
|
import xforce.modelo.Producto; |
||||
|
import xforce.modelo.Proveedor; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class ProveedorBL implements ProveedorBLLocal { |
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
|
||||
|
@Override |
||||
|
public Mensaje agregar(Proveedor proveedor) { |
||||
|
|
||||
|
System.out.println("Llegaste al metodo de agregar proveedor"); |
||||
|
|
||||
|
ProveedorDAO pDAO = new ProveedorDAO(); |
||||
|
Mensaje m; |
||||
|
//Toda la logica
|
||||
|
|
||||
|
if (proveedor.getNombre().isEmpty() |
||||
|
||proveedor.getEmail().isEmpty() |
||||
|
||proveedor.getTelefono().isEmpty() |
||||
|
) { |
||||
|
|
||||
|
System.out.println("Campos incompletos"); |
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
proveedor.setEstado(2); |
||||
|
Optional<Proveedor> pEncontradoOptional = pDAO.buscarproveedor(proveedor); |
||||
|
|
||||
|
if (pEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos una marca
|
||||
|
|
||||
|
System.out.println("Elemento duplicado"); |
||||
|
addMessage(FacesMessage.SEVERITY_ERROR,"ERROR","Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
pDAO.agregar(proveedor); |
||||
|
System.out.println("Agregado con exito"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO,"INFO","Agregado con exito"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Proveedor buscarId(Proveedor proveedor) { |
||||
|
ProveedorDAO u = new ProveedorDAO(); |
||||
|
if (u.buscarPorId(proveedor) == null) { |
||||
|
System.out.println("No existe el proveedor"); |
||||
|
return u.buscarPorId(proveedor); |
||||
|
} else { |
||||
|
System.out.println("Se encontro la proveedor"); |
||||
|
return u.buscarPorId(proveedor); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje editar(Proveedor proveedor) { |
||||
|
Mensaje m = null; |
||||
|
try { |
||||
|
|
||||
|
ProveedorDAO p = new ProveedorDAO(); |
||||
|
|
||||
|
if (proveedor.getNombre().isEmpty() || proveedor.getEmail().isEmpty() || proveedor.getTelefono().isEmpty() |
||||
|
) { |
||||
|
System.out.println("Algunos campos son erroneos"); |
||||
|
m = m.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
Optional<Proveedor> marcaEncontradoOptional = p.buscarproveedor(proveedor); |
||||
|
|
||||
|
if (marcaEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos una marca
|
||||
|
marcaEncontradoOptional.get(); |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
// Editar el usuario solo si todas las validaciones son exitosas
|
||||
|
Proveedor mark = p.buscarPorId(proveedor); |
||||
|
// Editar el usuario solo si todas las validaciones son exitosas
|
||||
|
if (mark != null) { |
||||
|
// Copiar los valores de los atributos (excepto estado) al producto existente
|
||||
|
mark.setNombre(proveedor.getNombre()); |
||||
|
// Editar el usuario solo si todas las validaciones son exitosas
|
||||
|
if (p.editar(proveedor) == true) { |
||||
|
System.out.println("Editado con exito"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO,"INFO","Editado con exito"); |
||||
|
m = m.SIN_ERROR; |
||||
|
return m; |
||||
|
}} else { |
||||
|
System.out.println("No existe le proveedor a editar"); |
||||
|
m = m.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
}catch (Exception e) { |
||||
|
|
||||
|
System.out.println("Algo es erroneo"); |
||||
|
m = m.DATOS_INCORRECTOS; |
||||
|
return m; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje eliminar(Proveedor proveedor) { |
||||
|
Mensaje m = null; |
||||
|
ProveedorDAO proveedorDao = new ProveedorDAO(); |
||||
|
Proveedor prov = proveedorDao.buscarPorId(proveedor); |
||||
|
|
||||
|
if (prov != null) { |
||||
|
List<Producto> idsMarcasReferenciadas = proveedorDao.buscarMarcasReferenciadas(prov); |
||||
|
|
||||
|
/*for (Producto producto : idsMarcasReferenciadas) { |
||||
|
if (marca.getId().equals(producto.getId())) { |
||||
|
marcaReferenciada = true; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
}*/ |
||||
|
|
||||
|
if (!idsMarcasReferenciadas.isEmpty()) { |
||||
|
|
||||
|
System.out.println(idsMarcasReferenciadas.toString()); |
||||
|
// Hay productos asociados a esta marca, no se puede eliminar
|
||||
|
System.out.println("No se puede eliminar la marca porque existen productos asociados."); |
||||
|
addMessage(FacesMessage.SEVERITY_WARN, "ATENCION", "El elemento esta en uso"); |
||||
|
m = Mensaje.ERROR_PRODUCTOS_ASOCIADOS; |
||||
|
System.out.println(m); |
||||
|
|
||||
|
}else{ |
||||
|
if (prov.getEstado() == 2) { |
||||
|
prov.setEstado(1); |
||||
|
|
||||
|
if (proveedorDao.eliminar(prov)) { |
||||
|
System.out.println("provvedor eliminado"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Eliminado correctamente"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} else { |
||||
|
System.out.println("erro al eliminar proveedor"); |
||||
|
|
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("proveedor se acaba de eliminar"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("proveedor inexistente"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public List<Proveedor> buscarValidos(boolean estado) { |
||||
|
ProveedorDAO proveedor = new ProveedorDAO(); |
||||
|
System.out.println("Proveedor existente"); |
||||
|
|
||||
|
return proveedor.buscarValidos(estado); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public Proveedor buscarNombre(Proveedor proveedor) { |
||||
|
ProveedorDAO p = new ProveedorDAO(); |
||||
|
if (p.buscarPorNombre(proveedor) == null) { |
||||
|
System.out.println("no existe el proveedor"); |
||||
|
return p.buscarPorId(proveedor); |
||||
|
} else { |
||||
|
System.out.println("se encontro un proveedor"); |
||||
|
return p.buscarPorId(proveedor); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("mensajeProveedor", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,31 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Proveedor; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface ProveedorBLLocal { |
||||
|
|
||||
|
Mensaje agregar(Proveedor proveedor); |
||||
|
|
||||
|
Proveedor buscarId(Proveedor Proveedor); |
||||
|
|
||||
|
Mensaje editar(Proveedor Proveedor); |
||||
|
|
||||
|
Mensaje eliminar(Proveedor proveedor); |
||||
|
|
||||
|
List <Proveedor> buscarValidos(boolean estado); |
||||
|
|
||||
|
Proveedor buscarNombre(Proveedor proveedor); |
||||
|
|
||||
|
} |
@ -0,0 +1,150 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import xforce.dao.RolesDAO; |
||||
|
import xforce.modelo.Roles; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class RolesBL implements RolesBLLocal { |
||||
|
|
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
@Override |
||||
|
public Mensaje agregar(Roles roles) { |
||||
|
System.out.println("Llegaste al metodo de agregar roles"); |
||||
|
RolesDAO rolesDao = new RolesDAO(); |
||||
|
Mensaje m; |
||||
|
//Toda la logica
|
||||
|
|
||||
|
if (roles.getRol().isEmpty()) { |
||||
|
|
||||
|
System.out.println("Campos incompletos"); |
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
|
||||
|
roles.setEstado(2); |
||||
|
|
||||
|
Optional<Roles> rolesEncontradosOptional = rolesDao.buscarRoles(roles); |
||||
|
|
||||
|
if (rolesEncontradosOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos un pais
|
||||
|
rolesEncontradosOptional.get(); |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
|
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
rolesDao.agregar(roles); |
||||
|
System.out.println("Agregado con exito"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito"); |
||||
|
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Roles buscarId(Roles roles) { |
||||
|
RolesDAO rolesDao = new RolesDAO(); |
||||
|
if (rolesDao.buscarId(roles) == null) { |
||||
|
System.out.println("No existe el rol"); |
||||
|
return rolesDao.buscarId(roles); |
||||
|
} else { |
||||
|
System.out.println("Se encontro el rol"); |
||||
|
return rolesDao.buscarId(roles); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje eliminar(Roles roles) { |
||||
|
Mensaje m = null; |
||||
|
RolesDAO rolesDao = new RolesDAO(); |
||||
|
|
||||
|
Roles rolUsado = rolesDao.buscarId(roles); |
||||
|
|
||||
|
if (rolUsado != null) { |
||||
|
// Verificar si existen usuarios asociados a este rol
|
||||
|
|
||||
|
|
||||
|
List<Usuarios> referenciaUsuarios = rolesDao.buscarUsuariosReferenciados(rolUsado); |
||||
|
|
||||
|
if (!referenciaUsuarios.isEmpty()) { |
||||
|
|
||||
|
System.out.println(referenciaUsuarios.toString()); |
||||
|
System.out.println(referenciaUsuarios.toString()); |
||||
|
|
||||
|
System.out.println("No se puede eliminar el rol porque esta en uso"); |
||||
|
addMessage(FacesMessage.SEVERITY_WARN, "ATENCION", "El rol esta en uso"); |
||||
|
m = Mensaje.ERROR_USUARIOS_ASOCIADOS; |
||||
|
|
||||
|
} else { |
||||
|
if (rolUsado.getEstado() == 2) { |
||||
|
rolUsado.setEstado(1); |
||||
|
|
||||
|
if (rolesDao.eliminar(rolUsado)) { |
||||
|
System.out.println("Rol eliminado"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Eliminado Correctamente"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} else { |
||||
|
System.out.println("Error al eliminar rol"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("Rol se acaba de eliminar"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
System.out.println("ROl inexistente"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Roles> buscarValidos(boolean estado) { |
||||
|
RolesDAO rolesDao = new RolesDAO(); |
||||
|
System.out.println("roles existentes"); |
||||
|
List l = rolesDao.buscarValidos(estado); |
||||
|
System.out.println(l); |
||||
|
|
||||
|
return l; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Roles buscarNombre(Roles roles) { |
||||
|
RolesDAO rolesDao = new RolesDAO(); |
||||
|
if (rolesDao.buscarPorNombre(roles) == null) { |
||||
|
System.out.println("no existe el rol"); |
||||
|
return rolesDao.buscarId(roles); |
||||
|
} else { |
||||
|
System.out.println("se encontro un rol"); |
||||
|
return rolesDao.buscarId(roles); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("mensajeRoles", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,27 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Roles; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface RolesBLLocal { |
||||
|
public Mensaje agregar(Roles roles); |
||||
|
|
||||
|
public Roles buscarId(Roles roles); |
||||
|
|
||||
|
public Mensaje eliminar(Roles roles); |
||||
|
|
||||
|
public List<Roles> buscarValidos(boolean estado); |
||||
|
|
||||
|
public Roles buscarNombre(Roles roles); |
||||
|
} |
@ -0,0 +1,137 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatefulEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateful; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import xforce.dao.TipoDAO; |
||||
|
import xforce.modelo.Producto; |
||||
|
import xforce.modelo.Tipo; |
||||
|
|
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
@Stateful |
||||
|
public class TipoBL implements TipoBLLocal { |
||||
|
|
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
|
||||
|
public Mensaje agregar(Tipo tipos) { |
||||
|
|
||||
|
System.out.println("Llegaste al metodo de agregar tipo"); |
||||
|
|
||||
|
TipoDAO tDAO = new TipoDAO(); |
||||
|
Mensaje m; |
||||
|
//Toda la logica
|
||||
|
|
||||
|
if (tipos.getTipo().isEmpty() |
||||
|
|
||||
|
) { |
||||
|
|
||||
|
System.out.println("Campos incompletos"); |
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
tipos.setEstado(2); |
||||
|
Optional<Tipo> tEncontradoOptional = tDAO.buscarTipo(tipos); |
||||
|
|
||||
|
if (tEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos una marca
|
||||
|
tEncontradoOptional.get(); |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
addMessage(FacesMessage.SEVERITY_ERROR,"ERROR","Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
tDAO.agregar(tipos); |
||||
|
System.out.println("Agregado con exito"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO,"INFO","Agregado con exito"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
public Mensaje eliminar(Tipo tipo) { |
||||
|
Mensaje m = null; |
||||
|
TipoDAO tDao = new TipoDAO(); |
||||
|
|
||||
|
Tipo tUsado = tDao.buscarId(tipo); |
||||
|
|
||||
|
if (tUsado != null) { |
||||
|
// Verificar si existen usuarios asociados a este rol
|
||||
|
|
||||
|
|
||||
|
List<Producto> referenciaTipo = tDao.buscarTiposReferenciados(tUsado); |
||||
|
|
||||
|
if (!referenciaTipo.isEmpty()) { |
||||
|
|
||||
|
System.out.println(referenciaTipo.toString()); |
||||
|
System.out.println(referenciaTipo.toString()); |
||||
|
|
||||
|
System.out.println("No se puede eliminar el tipo porque esta en uso"); |
||||
|
addMessage(FacesMessage.SEVERITY_WARN, "ATENCION", "El tipo esta en uso"); |
||||
|
m = Mensaje.ERROR_USUARIOS_ASOCIADOS; |
||||
|
|
||||
|
} else { |
||||
|
if (tUsado.getEstado() == 2) { |
||||
|
tUsado.setEstado(1); |
||||
|
|
||||
|
if (tDao.eliminar(tUsado)) { |
||||
|
System.out.println("Rol eliminado"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Eliminado Correctamente"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} else { |
||||
|
System.out.println("Error al eliminar el tipo"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("Tipo se acaba de eliminar"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
System.out.println("Tipo inexistente"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("tipoM", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
@Override |
||||
|
|
||||
|
public List<Tipo> buscarValidos(boolean estado) { |
||||
|
TipoDAO tipoDao = new TipoDAO(); |
||||
|
System.out.println("roles existentes"); |
||||
|
List l= tipoDao.buscarValidos(estado); |
||||
|
System.out.println(l); |
||||
|
|
||||
|
return l; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,24 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Tipo; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface TipoBLLocal { |
||||
|
|
||||
|
public Mensaje agregar(Tipo tipos); |
||||
|
|
||||
|
public List<Tipo> buscarValidos(boolean estado); |
||||
|
public Mensaje eliminar(Tipo tipo); |
||||
|
|
||||
|
} |
@ -0,0 +1,207 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import xforce.dao.UbicacionDAO; |
||||
|
import xforce.modelo.*; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class UbicacionBL implements UbicacionBLLocal { |
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
|
||||
|
@Override |
||||
|
public Mensaje agregar(Ubicacion ubicacion) { |
||||
|
System.out.println("Llegaste al metodo de agregar ubicacion"); |
||||
|
UbicacionDAO ubicacionDAO = new UbicacionDAO(); |
||||
|
Mensaje m; |
||||
|
//Toda la logica
|
||||
|
|
||||
|
if (ubicacion.getBloque().isEmpty() |
||||
|
|| ubicacion.getAnaquel() < 0) { |
||||
|
|
||||
|
System.out.println("Campos incompletos"); |
||||
|
|
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
ubicacion.setEstado(2); |
||||
|
|
||||
|
Optional<Ubicacion> ubicacionEncontradoOptional = ubicacionDAO.buscaUbicacion(ubicacion); |
||||
|
|
||||
|
if (ubicacionEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos una marca
|
||||
|
|
||||
|
System.out.println("Elemento duplicado"); |
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
ubicacionDAO.agregar(ubicacion); |
||||
|
System.out.println("Agregado con exito"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Agregado con exito"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje eliminar(Ubicacion ubicacion) { |
||||
|
|
||||
|
Mensaje m = null; |
||||
|
UbicacionDAO u = new UbicacionDAO(); |
||||
|
Ubicacion ubic = u.buscarPorId(ubicacion); |
||||
|
|
||||
|
if (ubic != null) { |
||||
|
|
||||
|
List<Producto> idUbicacionr = u.buscarMarcasReferenciadas(ubic); |
||||
|
|
||||
|
if (!idUbicacionr.isEmpty()) { |
||||
|
|
||||
|
System.out.println(idUbicacionr.toString()); |
||||
|
// Hay productos asociados a esta marca, no se puede eliminar
|
||||
|
System.out.println("No se puede eliminar la marca porque existen productos asociados."); |
||||
|
addMessage(FacesMessage.SEVERITY_WARN, "ATENCION", "La ubicacion esta en uso"); |
||||
|
m = Mensaje.ERROR_PRODUCTOS_ASOCIADOS; |
||||
|
|
||||
|
} else { |
||||
|
if (ubic.getEstado() == 2) { |
||||
|
ubic.setEstado(1); |
||||
|
|
||||
|
if (u.eliminar(ubic)) { |
||||
|
System.out.println("Marca eliminada"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Eliminado Correctamente"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} else { |
||||
|
System.out.println("Error al eliminar marca"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("Marca se acaba de eliminar"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
System.out.println("Marca inexistente"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje editar(Ubicacion ubicacion) { |
||||
|
Mensaje m = null; |
||||
|
try { |
||||
|
|
||||
|
UbicacionDAO u = new UbicacionDAO(); |
||||
|
|
||||
|
if (ubicacion.getBloque().isEmpty() || ubicacion.getAnaquel() < 0) { |
||||
|
System.out.println("Algunos campos son erroneos"); |
||||
|
m = m.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
Ubicacion ubicacionExistente = u.buscarPorId(ubicacion); |
||||
|
|
||||
|
Optional<Ubicacion> ubiEncontradoActivo = u.buscaUbicacion(ubicacion); |
||||
|
|
||||
|
if (ubiEncontradoActivo.isPresent()) { |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "ERROR", "Elemento duplicado"); |
||||
|
|
||||
|
System.out.println("Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
|
||||
|
if (ubicacionExistente != null) { |
||||
|
// Copiar los valores de los atributos (excepto estado) al producto existente
|
||||
|
ubicacionExistente.setAnaquel(ubicacion.getAnaquel()); |
||||
|
ubicacionExistente.setBloque(ubicacion.getBloque()); |
||||
|
} |
||||
|
// Editar el usuario solo si todas las validaciones son exitosas
|
||||
|
if (u.editar(ubicacion)) { |
||||
|
System.out.println("Editado con exito"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO, "INFO", "Editado con exito"); |
||||
|
|
||||
|
m = m.SIN_ERROR; |
||||
|
return m; |
||||
|
} else { |
||||
|
System.out.println("No existe la ubicacion a editar"); |
||||
|
m = m.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
} |
||||
|
} catch (Exception e) { |
||||
|
System.out.println("Algo es erroneo"); |
||||
|
m = m.DATOS_INCORRECTOS; |
||||
|
return m; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Ubicacion buscaUbicacion(Ubicacion ubicacion) { |
||||
|
|
||||
|
UbicacionDAO u = new UbicacionDAO(); |
||||
|
if (u.buscarPorId(ubicacion) == null) { |
||||
|
System.out.println("No existe la ubicacion"); |
||||
|
return u.buscarPorId(ubicacion); |
||||
|
} else { |
||||
|
System.out.println("Se encontro la ubicacion"); |
||||
|
return u.buscarPorId(ubicacion); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Ubicacion> buscarValidos(boolean estado) { |
||||
|
UbicacionDAO p = new UbicacionDAO(); |
||||
|
System.out.println("Proveedor existente"); |
||||
|
|
||||
|
return p.buscarValidos(estado); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Ubicacion buscarId(Ubicacion ubicacion) { |
||||
|
UbicacionDAO u = new UbicacionDAO(); |
||||
|
if (u.buscarPorId(ubicacion) == null) { |
||||
|
System.out.println("No existe el proveedor"); |
||||
|
return u.buscarPorId(ubicacion); |
||||
|
} else { |
||||
|
System.out.println("Se encontro la proveedor"); |
||||
|
return u.buscarPorId(ubicacion); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Ubicacion buscarNombre(Ubicacion ubicacion) { |
||||
|
UbicacionDAO p = new UbicacionDAO(); |
||||
|
if (p.buscarPorNombre(ubicacion) == null) { |
||||
|
System.out.println("no existe el proveedor"); |
||||
|
return p.buscarPorId(ubicacion); |
||||
|
} else { |
||||
|
System.out.println("se encontro un proveedor"); |
||||
|
return p.buscarPorId(ubicacion); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("mensajeUbicacion", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,34 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Ubicacion; |
||||
|
|
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface UbicacionBLLocal { |
||||
|
|
||||
|
Mensaje agregar(Ubicacion ubicacion); |
||||
|
|
||||
|
Mensaje eliminar(Ubicacion Ubicacion); |
||||
|
|
||||
|
Mensaje editar(Ubicacion ubicacion); |
||||
|
|
||||
|
Ubicacion buscaUbicacion(Ubicacion ubicacion); |
||||
|
|
||||
|
List<Ubicacion> buscarValidos(boolean estado); |
||||
|
|
||||
|
Ubicacion buscarNombre(Ubicacion ubicacion); |
||||
|
|
||||
|
Ubicacion buscarId(Ubicacion ubicacion); |
||||
|
|
||||
|
} |
@ -0,0 +1,225 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import xforce.dao.EstadosDAO; |
||||
|
import xforce.dao.RolesDAO; |
||||
|
import xforce.dao.UsuariosDAO; |
||||
|
import xforce.modelo.Estados; |
||||
|
import xforce.modelo.Roles; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class UsuariosBL implements UsuariosBLLocal { |
||||
|
|
||||
|
// Add business logic below. (Right-click in editor and choose
|
||||
|
// "Insert Code > Add Business Method")
|
||||
|
@Override |
||||
|
public Mensaje agregar(Usuarios usuarios) { |
||||
|
System.out.println("Llegaste al metodo de agregar usuario"); |
||||
|
UsuariosDAO usuariosDAO = new UsuariosDAO(); |
||||
|
Mensaje m; |
||||
|
|
||||
|
RolesDAO rolesDao = new RolesDAO(); |
||||
|
EstadosDAO estadosDao = new EstadosDAO(); |
||||
|
|
||||
|
// Verifica si las llaves foraneas existen
|
||||
|
Roles rol = rolesDao.buscarId(usuarios.getRolesId()); |
||||
|
if (rol == null) { |
||||
|
System.out.println("El rol no existe. No se puede agregar el usuario."); |
||||
|
return Mensaje.ROL_ERRONEO; // Agrega un mensaje de error específico para marca no existente
|
||||
|
} |
||||
|
|
||||
|
Estados estados = estadosDao.buscarId(usuarios.getEstadosId()); |
||||
|
if (estados == null) { |
||||
|
System.out.println("El estado no existe. No se puede agregar el usuario."); |
||||
|
return Mensaje.ESTADO_ERRONEO; // Agrega un mensaje de error específico para marca no existente
|
||||
|
} |
||||
|
|
||||
|
if (usuarios.getNombre().isEmpty() |
||||
|
|| usuarios.getApellidoPaterno().isEmpty() |
||||
|
|| usuarios.getEmail().isEmpty() |
||||
|
|| usuarios.getTelefono().isEmpty() |
||||
|
|| usuarios.getContrasenia().isEmpty() |
||||
|
|| usuarios.getDomicilio().isEmpty() |
||||
|
|| usuarios.getEstadosId() == null |
||||
|
|| usuarios.getRolesId() == null) { |
||||
|
|
||||
|
System.out.println("Campos incompletos"); |
||||
|
|
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
|
||||
|
Optional<Usuarios> usuarioEncontradoOptional = usuariosDAO.buscarUsuario(usuarios); |
||||
|
|
||||
|
if (usuarioEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos un usuario
|
||||
|
usuarioEncontradoOptional.get(); |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
addMessage(FacesMessage.SEVERITY_ERROR,"ERROR","Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
usuariosDAO.agregar(usuarios); |
||||
|
System.out.println("Agregado con exito"); |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_INFO,"INFO","Agregado con exito"); |
||||
|
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Usuarios buscarId(Usuarios usuarios) { |
||||
|
UsuariosDAO u = new UsuariosDAO(); |
||||
|
|
||||
|
if (u.buscarId(usuarios) == null) { |
||||
|
System.out.println("No existe el usuario"); |
||||
|
return u.buscarId(usuarios); |
||||
|
} else { |
||||
|
System.out.println("Se encontro el usuario"); |
||||
|
return u.buscarId(usuarios); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Usuarios> buscarValidos(boolean estado) { |
||||
|
UsuariosDAO usuario = new UsuariosDAO(); |
||||
|
|
||||
|
System.out.println("usuarios existentes"); |
||||
|
|
||||
|
return usuario.buscarValidos(estado); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Usuarios buscarNombre(Usuarios usuario) { |
||||
|
UsuariosDAO user = new UsuariosDAO(); |
||||
|
if (user.buscarPorNombre(usuario) == null) { |
||||
|
System.out.println("no existe el usuario"); |
||||
|
return user.buscarId(usuario); |
||||
|
} else { |
||||
|
System.out.println("se encontro el usuario"); |
||||
|
return user.buscarId(usuario); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje eliminar(Usuarios usuarios) { |
||||
|
Mensaje m = null; |
||||
|
UsuariosDAO u = new UsuariosDAO(); |
||||
|
Usuarios user = u.buscarId(usuarios); |
||||
|
|
||||
|
if (user != null) { |
||||
|
if (user.getEstado() == 2) { |
||||
|
user.setEstado(1); |
||||
|
|
||||
|
if (u.eliminar(user)) { |
||||
|
System.out.println("usuario eliminado"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO,"INFO","Eliminado Correctamente"); |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} else { |
||||
|
System.out.println("error al eliminar usuario"); |
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
System.out.println("usuario acaba de eliminarse"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("usuario inexistente"); |
||||
|
m = Mensaje.NO_EXISTE; |
||||
|
} |
||||
|
|
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje editar(Usuarios usuarios) { |
||||
|
Mensaje m = null; |
||||
|
try { |
||||
|
|
||||
|
UsuariosDAO p = new UsuariosDAO(); |
||||
|
|
||||
|
if (usuarios.getNombre().isEmpty() |
||||
|
|| usuarios.getApellidoPaterno().isEmpty() |
||||
|
|| usuarios.getEmail().isEmpty() |
||||
|
|| usuarios.getTelefono().isEmpty() |
||||
|
|| usuarios.getContrasenia().isEmpty() |
||||
|
|| usuarios.getDomicilio().isEmpty() |
||||
|
|| usuarios.getRolesId() == null |
||||
|
|| usuarios.getEstadosId() == null) { |
||||
|
System.out.println("Algunos campos son erroneos"); |
||||
|
m = m.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
Optional<Usuarios> usuarioEncontradoOptional = p.buscarUsuario(usuarios); |
||||
|
|
||||
|
if (usuarioEncontradoOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos un usuario
|
||||
|
usuarioEncontradoOptional.get(); |
||||
|
System.out.println("Elemento duplicado"); |
||||
|
addMessage(FacesMessage.SEVERITY_ERROR,"ERROR","Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
}else{ |
||||
|
Usuarios users = p.buscarId(usuarios); |
||||
|
|
||||
|
// Editar el usuario solo si todas las validaciones son exitosas
|
||||
|
if (users != null) { |
||||
|
// Copiar los valores de los atributos (excepto estado) al producto existente
|
||||
|
users.setNombre(usuarios.getNombre()); |
||||
|
users.setApellidoPaterno(usuarios.getApellidoPaterno()); |
||||
|
users.setEmail(usuarios.getEmail()); |
||||
|
users.setTelefono(usuarios.getTelefono()); |
||||
|
users.setContrasenia(usuarios.getContrasenia()); |
||||
|
users.setRolesId(usuarios.getRolesId()); |
||||
|
users.setEstadosId(usuarios.getEstadosId()); |
||||
|
|
||||
|
|
||||
|
// Guardar la modificación en la base de datos
|
||||
|
if (p.editar(users)) { |
||||
|
System.out.println("Editado con éxito"); |
||||
|
addMessage(FacesMessage.SEVERITY_INFO,"INFO","Editado con exito"); |
||||
|
m = m.SIN_ERROR; |
||||
|
return m; |
||||
|
} else { |
||||
|
System.out.println("Error al editar"); |
||||
|
m = m.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("No existe el producto a editar"); |
||||
|
m = m.CAMPOS_INCOMPLETOS; |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
|
||||
|
System.out.println("Algo es erroneo"); |
||||
|
m = m.DATOS_INCORRECTOS; |
||||
|
return m; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance(). |
||||
|
addMessage("mensajeUsuario", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,31 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.bl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface UsuariosBLLocal { |
||||
|
|
||||
|
Mensaje agregar(Usuarios usuarios); |
||||
|
|
||||
|
Usuarios buscarId(Usuarios usuarios); |
||||
|
|
||||
|
Mensaje eliminar(Usuarios usuarios); |
||||
|
|
||||
|
Mensaje editar(Usuarios usuarios); |
||||
|
|
||||
|
List <Usuarios> buscarValidos(boolean estado); |
||||
|
|
||||
|
Usuarios buscarNombre(Usuarios usuario); |
||||
|
|
||||
|
} |
@ -0,0 +1,135 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Estados; |
||||
|
import xforce.modelo.Proveedor; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
public class EstadosDAO { |
||||
|
|
||||
|
private EntityManager em;//Manejador de entidades
|
||||
|
|
||||
|
public EstadosDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Estados estados) { |
||||
|
em.getTransaction().begin(); |
||||
|
estados.setEstado(2); |
||||
|
em.persist(estados);//Almacenar en DB
|
||||
|
em.getTransaction().commit(); |
||||
|
} |
||||
|
|
||||
|
public boolean eliminar(Estados estados) { |
||||
|
if (buscarId(estados) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
// Iniciar transacción
|
||||
|
em.getTransaction().begin(); |
||||
|
|
||||
|
// Obtener proveedor actualizado desde la base de datos
|
||||
|
Estados estadosPersistente = em.find(Estados.class, estados.getId()); |
||||
|
|
||||
|
// Conservar datos existentes
|
||||
|
estados.setNombre(estadosPersistente.getNombre()); |
||||
|
|
||||
|
// Modificar solo el estado
|
||||
|
estados.setEstado(1); |
||||
|
em.merge(estados); |
||||
|
em.getTransaction().commit(); |
||||
|
|
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public Estados buscarId(Estados estados) { |
||||
|
Query q = em.createNamedQuery("Estados.findById"); |
||||
|
q.setParameter("id", estados.getId()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Estados) q.getResultList().get(0); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public List<Estados> buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Estados.findByEstado"); |
||||
|
int s = status ? 2 : 1; |
||||
|
q.setParameter("estado", s); |
||||
|
if (s == 2) { |
||||
|
System.out.println("Activos"); |
||||
|
} else { |
||||
|
System.out.println("Inactivos"); |
||||
|
} |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Estados buscarPorNombre(Estados estados) { |
||||
|
Query q = em.createNamedQuery("Estados.findByNombre"); |
||||
|
q.setParameter("nombre", estados.getNombre()); |
||||
|
|
||||
|
List<Estados> resultados = q.getResultList(); |
||||
|
|
||||
|
if (resultados.isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Estados) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public Optional<Estados> buscarEstado(Estados estados) { |
||||
|
|
||||
|
Query q1 = em.createNamedQuery("Estados.findByNombre"); |
||||
|
q1.setParameter("nombre", estados.getNombre()); |
||||
|
|
||||
|
Query q2 = em.createNamedQuery("Estados.findByEstado"); |
||||
|
q2.setParameter("estado", estados.getEstado()); |
||||
|
|
||||
|
List<Estados> resultadoNombre = q1.getResultList(); |
||||
|
List<Estados> resultadoEstado = q2.getResultList(); |
||||
|
|
||||
|
// Verifica si hay resultados para todos los campos
|
||||
|
if (!resultadoNombre.isEmpty() |
||||
|
&& !resultadoEstado.isEmpty()) { |
||||
|
// Compara si el mismo autor está en los tres resultados
|
||||
|
Estados estadosEncontrado = resultadoNombre.stream() |
||||
|
.filter(resultadoEstado::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
|
||||
|
return Optional.ofNullable(estadosEncontrado); |
||||
|
} else { |
||||
|
// Devuelve Optional vacío para indicar ausencia de resultados
|
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Proveedor> buscarPaisesReferenciadosProveedor(Estados id) { |
||||
|
Query q = em.createQuery("SELECT p FROM Proveedor p WHERE p.estado = 2 and p.estadosId = :idEstados"); |
||||
|
q.setParameter("idEstados", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public List<Usuarios> buscarPaisesReferenciadosUsuarios(Estados id) { |
||||
|
Query q = em.createQuery("SELECT u FROM Usuarios u WHERE u.estado = 2 and u.estadosId = :idEstados"); |
||||
|
q.setParameter("idEstados", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,64 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
public class LoginDAO { |
||||
|
|
||||
|
private EntityManager em; |
||||
|
|
||||
|
public LoginDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public Optional<Usuarios> login(Usuarios usuarios) { |
||||
|
Query q1 = em.createNamedQuery("Usuarios.findByNombre"); |
||||
|
q1.setParameter("nombre", usuarios.getNombre()); |
||||
|
|
||||
|
Query q2 = em.createNamedQuery("Usuarios.findByContrasenia"); |
||||
|
q2.setParameter("contrasenia", usuarios.getContrasenia()); |
||||
|
|
||||
|
Query q3 = em.createNamedQuery("Usuarios.findByEstado"); |
||||
|
q3.setParameter("estado", usuarios.getEstado()); |
||||
|
|
||||
|
List<Usuarios> resNombre = q1.getResultList(); |
||||
|
List<Usuarios> resContrasenia = q2.getResultList(); |
||||
|
List<Usuarios> resEstado = q3.getResultList(); |
||||
|
|
||||
|
if (!resNombre.isEmpty() && !resContrasenia.isEmpty()) { |
||||
|
Usuarios usuarioEncontrado = resNombre.stream() |
||||
|
.filter(resContrasenia::contains) |
||||
|
.filter(resEstado::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
return Optional.ofNullable(usuarioEncontrado); |
||||
|
} else { |
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public String rol(Usuarios usuarios) { |
||||
|
|
||||
|
Query q = em.createQuery("SELECT u.rolesId.rol FROM Usuarios u WHERE u.nombre = :nombre AND u.contrasenia = :contrasenia AND u.estado = :estado"); |
||||
|
q.setParameter("nombre", usuarios.getNombre()); |
||||
|
q.setParameter("contrasenia", usuarios.getContrasenia()); |
||||
|
q.setParameter("estado", usuarios.getEstado()); |
||||
|
|
||||
|
return (String) q.getSingleResult(); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,112 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Marca; |
||||
|
import xforce.modelo.Proveedor; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
public class MarcaDAO { |
||||
|
|
||||
|
private EntityManager em; |
||||
|
|
||||
|
public MarcaDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Marca a) { |
||||
|
em.getTransaction().begin(); |
||||
|
a.setEstado(2); |
||||
|
em.persist(a);//almacena en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
} |
||||
|
|
||||
|
public boolean editar(Marca a) { |
||||
|
if (buscarId(a) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(a);//edita en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public boolean eliminar(Marca a) { |
||||
|
if (buscarId(a) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(a); //eliminar en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public Marca buscarId(Marca a) { |
||||
|
Query q = em.createNamedQuery("Marca.findById"); |
||||
|
q.setParameter("id", a.getId()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Marca) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Marca> buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Marca.findByEstado"); |
||||
|
int s = status ? 2 : 1; |
||||
|
q.setParameter("estado", s); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Marca buscarPorNombre(Marca marca) { |
||||
|
Query q = em.createNamedQuery("Marca.findByNombre"); |
||||
|
q.setParameter("nombre", marca.getNombre()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Marca) q.getResultList().get(0); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public List<Proveedor> buscarMarcasReferenciadas(Marca id) { |
||||
|
Query q = em.createQuery("SELECT p FROM Proveedor p WHERE p.estado = 2 and p.marcaId = :idMarca"); |
||||
|
q.setParameter("idMarca", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Optional<Marca> buscarMarca(Marca a) { |
||||
|
Query ql = em.createNamedQuery("Marca.findByNombre"); |
||||
|
ql.setParameter("nombre", a.getNombre()); |
||||
|
Query q2 = em.createNamedQuery("Marca.findByEstado"); |
||||
|
q2.setParameter("estado", a.getEstado()); |
||||
|
List<Marca> resNombre = ql.getResultList(); |
||||
|
List<Marca> resEstado = q2.getResultList(); |
||||
|
|
||||
|
if (!resNombre.isEmpty() && !resEstado.isEmpty()) { |
||||
|
Marca marcaEncontrada = resNombre.stream() |
||||
|
.filter(resEstado::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
return Optional.ofNullable(marcaEncontrada); |
||||
|
} else { |
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,139 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Estados; |
||||
|
import xforce.modelo.Paises; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
public class PaisesDAO { |
||||
|
|
||||
|
private EntityManager em;//Manejador de entidades
|
||||
|
|
||||
|
public PaisesDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Paises paises) { |
||||
|
em.getTransaction().begin(); |
||||
|
paises.setEstado(2); |
||||
|
em.persist(paises);//Almacenar en DB
|
||||
|
em.getTransaction().commit(); |
||||
|
} |
||||
|
|
||||
|
public boolean editar(Paises paises) { |
||||
|
if (buscarId(paises) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(paises);//edita en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public boolean eliminar(Paises paises) { |
||||
|
if (buscarId(paises) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
// Iniciar transacción
|
||||
|
em.getTransaction().begin(); |
||||
|
|
||||
|
// Obtener proveedor actualizado desde la base de datos
|
||||
|
Paises paisesPersistente = em.find(Paises.class, paises.getId()); |
||||
|
|
||||
|
// Conservar datos existentes
|
||||
|
paises.setNombre(paisesPersistente.getNombre()); |
||||
|
|
||||
|
// Modificar solo el estado
|
||||
|
paises.setEstado(1); |
||||
|
em.merge(paises); |
||||
|
em.getTransaction().commit(); |
||||
|
|
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public Paises buscarId(Paises paises) { |
||||
|
Query q = em.createNamedQuery("Paises.findById"); |
||||
|
q.setParameter("id", paises.getId()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Paises) q.getResultList().get(0); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public List<Paises> buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Paises.findByEstado"); |
||||
|
int s = status ? 2 : 1; |
||||
|
q.setParameter("estado", s); |
||||
|
if (s == 2) { |
||||
|
System.out.println("Activos"); |
||||
|
} else { |
||||
|
System.out.println("Inactivos"); |
||||
|
} |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Paises buscarPorNombre(Paises paises) { |
||||
|
Query q = em.createNamedQuery("Paises.findByNombre"); |
||||
|
q.setParameter("nombre", paises.getNombre()); |
||||
|
|
||||
|
List<Paises> resultados = q.getResultList(); |
||||
|
|
||||
|
if (resultados.isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Paises) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public Optional<Paises> buscarPaises(Paises paises) { |
||||
|
|
||||
|
Query q1 = em.createNamedQuery("Paises.findByNombre"); |
||||
|
q1.setParameter("nombre", paises.getNombre()); |
||||
|
|
||||
|
Query q2 = em.createNamedQuery("Paises.findByEstado"); |
||||
|
q2.setParameter("estado", paises.getEstado()); |
||||
|
|
||||
|
List<Paises> resultadoNombre = q1.getResultList(); |
||||
|
List<Paises> resultadoEstado = q2.getResultList(); |
||||
|
|
||||
|
// Verifica si hay resultados para todos los campos
|
||||
|
if (!resultadoNombre.isEmpty() |
||||
|
&& !resultadoEstado.isEmpty()) { |
||||
|
// Compara si el mismo autor está en los tres resultados
|
||||
|
Paises paisesEncontrado = resultadoNombre.stream() |
||||
|
.filter(resultadoEstado::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
|
||||
|
return Optional.ofNullable(paisesEncontrado); |
||||
|
} else { |
||||
|
// Devuelve Optional vacío para indicar ausencia de resultados
|
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Estados> buscarPaisesReferenciados(Paises id) { |
||||
|
Query q = em.createQuery("SELECT e FROM Estados e WHERE e.estado = 2 and e.paisesId = :idPaises"); |
||||
|
q.setParameter("idPaises", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,185 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Producto; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
public class ProductoDAO { |
||||
|
|
||||
|
private EntityManager em;//Manejador de entidades
|
||||
|
|
||||
|
public ProductoDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Producto producto) { |
||||
|
em.getTransaction().begin(); |
||||
|
producto.setEstado(2); |
||||
|
em.persist(producto);//Almacenar en DB
|
||||
|
em.getTransaction().commit(); |
||||
|
} |
||||
|
|
||||
|
public boolean editar(Producto producto) { |
||||
|
if (buscarId(producto) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(producto);//edita en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public boolean eliminar(Producto producto) { |
||||
|
if (buscarId(producto) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
// Iniciar transacción
|
||||
|
em.getTransaction().begin(); |
||||
|
|
||||
|
// Obtener proveedor actualizado desde la base de datos
|
||||
|
Producto productoPersistente = em.find(Producto.class, producto.getId()); |
||||
|
|
||||
|
// Conservar datos existentes
|
||||
|
producto.setNombre(productoPersistente.getNombre()); |
||||
|
producto.setCodigo(productoPersistente.getCodigo()); |
||||
|
producto.setPrecio(productoPersistente.getPrecio()); |
||||
|
producto.setProveedorIdproveedor(productoPersistente.getProveedorIdproveedor()); |
||||
|
producto.setPiezas(productoPersistente.getPiezas()); |
||||
|
producto.setUbicacionId(productoPersistente.getUbicacionId()); |
||||
|
producto.setTipoId(productoPersistente.getTipoId()); |
||||
|
|
||||
|
// Modificar solo el estado
|
||||
|
producto.setEstado(1); |
||||
|
em.merge(producto); |
||||
|
em.getTransaction().commit(); |
||||
|
|
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public Producto buscarId(Producto producto) { |
||||
|
Query q = em.createNamedQuery("Producto.findById"); |
||||
|
q.setParameter("id", producto.getId()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Producto) q.getResultList().get(0); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public List<Producto> buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Producto.findByEstado"); |
||||
|
int s = status ? 2 : 1; |
||||
|
q.setParameter("estado", s); |
||||
|
if (s == 2) { |
||||
|
System.out.println("Activos"); |
||||
|
} else { |
||||
|
System.out.println("Inactivos"); |
||||
|
} |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Producto buscarPorNombre(Producto producto) { |
||||
|
Query q = em.createNamedQuery("Producto.findByNombre"); |
||||
|
q.setParameter("nombre", producto.getNombre()); |
||||
|
|
||||
|
List<Producto> resultados = q.getResultList(); |
||||
|
|
||||
|
if (resultados.isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Producto) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Producto> buscarPorUbicacion(int id) { |
||||
|
Query q = em.createQuery("SELECT p FROM Producto p WHERE p.ubicacionId.id = :idUbicacion"); |
||||
|
q.setParameter("idUbicacion", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public List<Producto> buscarPorMarca(int id) { |
||||
|
Query q = em.createQuery("SELECT p FROM Producto p WHERE p.ubicacionId.id = :idMarca"); |
||||
|
q.setParameter("idMarca", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Optional<Producto> buscarProducto(Producto producto) { |
||||
|
|
||||
|
Query q1 = em.createNamedQuery("Producto.findByNombre"); |
||||
|
q1.setParameter("nombre", producto.getNombre()); |
||||
|
|
||||
|
Query q2 = em.createNamedQuery("Producto.findByCodigo"); |
||||
|
q2.setParameter("codigo", producto.getCodigo()); |
||||
|
|
||||
|
Query q3 = em.createNamedQuery("Producto.findByPrecio"); |
||||
|
q3.setParameter("precio", producto.getPrecio()); |
||||
|
|
||||
|
Query q4 = em.createNamedQuery("Producto.findByPiezas"); |
||||
|
q4.setParameter("piezas", producto.getPiezas()); |
||||
|
|
||||
|
Query q5 = em.createNamedQuery("Producto.findByEstado"); |
||||
|
q5.setParameter("estado", producto.getEstado()); |
||||
|
|
||||
|
Query q7 = em.createQuery("SELECT p FROM Producto p WHERE p.proveedorIdproveedor = :proveedorIdproveedor"); |
||||
|
q7.setParameter("proveedorIdproveedor", producto.getProveedorIdproveedor()); |
||||
|
|
||||
|
Query q8 = em.createQuery("SELECT p FROM Producto p WHERE p.ubicacionId = :ubicacionId"); |
||||
|
q8.setParameter("ubicacionId", producto.getUbicacionId()); |
||||
|
|
||||
|
Query q9 = em.createQuery("SELECT p FROM Producto p WHERE p.tipoId = :tipoId"); |
||||
|
q9.setParameter("tipoId", producto.getTipoId()); |
||||
|
|
||||
|
List<Producto> resultadoNombre = q1.getResultList(); |
||||
|
List<Producto> resultadoCodigo = q2.getResultList(); |
||||
|
List<Producto> resultadoPrecio = q3.getResultList(); |
||||
|
List<Producto> resultadoPiezas = q4.getResultList(); |
||||
|
List<Producto> resultadoEstado = q5.getResultList(); |
||||
|
List<Producto> resultadoProveedor = q7.getResultList(); |
||||
|
List<Producto> resultadoUbicacion = q8.getResultList(); |
||||
|
List<Producto> resultadoTipo = q9.getResultList(); |
||||
|
|
||||
|
// Verifica si hay resultados para todos los campos
|
||||
|
if (!resultadoNombre.isEmpty() |
||||
|
&& !resultadoCodigo.isEmpty() |
||||
|
&& !resultadoPrecio.isEmpty() |
||||
|
&& !resultadoPiezas.isEmpty() |
||||
|
&& !resultadoEstado.isEmpty() |
||||
|
&& !resultadoProveedor.isEmpty() |
||||
|
&& !resultadoUbicacion.isEmpty() |
||||
|
&& !resultadoTipo.isEmpty()) { |
||||
|
// Compara si el mismo autor está en los tres resultados
|
||||
|
Producto productoEncontrado = resultadoNombre.stream() |
||||
|
.filter(resultadoCodigo::contains) |
||||
|
.filter(resultadoPrecio::contains) |
||||
|
.filter(resultadoPiezas::contains) |
||||
|
.filter(resultadoEstado::contains) |
||||
|
.filter(resultadoProveedor::contains) |
||||
|
.filter(resultadoUbicacion::contains) |
||||
|
.filter(resultadoTipo::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
|
||||
|
return Optional.ofNullable(productoEncontrado); |
||||
|
} else { |
||||
|
// Devuelve Optional vacío para indicar ausencia de resultados
|
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,134 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Marca; |
||||
|
import xforce.modelo.Producto; |
||||
|
import xforce.modelo.Proveedor; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
public class ProveedorDAO { |
||||
|
private EntityManager em;//Manejador de entidades
|
||||
|
|
||||
|
public ProveedorDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Proveedor a) { |
||||
|
em.getTransaction().begin(); |
||||
|
|
||||
|
em.persist(a);//Almacenar en DB
|
||||
|
em.getTransaction().commit(); |
||||
|
} |
||||
|
|
||||
|
public boolean editar(Proveedor a) { |
||||
|
if (buscarPorId(a) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(a);//edita en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public boolean eliminar(Proveedor a) { |
||||
|
if (buscarPorId(a) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(a); //eliminar en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public Proveedor buscarPorId(Proveedor a) { |
||||
|
Query q = em.createNamedQuery("Proveedor.findById"); |
||||
|
q.setParameter("id", a.getId()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Proveedor) q.getResultList().get(0); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
public List<Producto> buscarMarcasReferenciadas(Proveedor id) { |
||||
|
Query q = em.createQuery("SELECT p FROM Producto p WHERE p.estado = 2 and p.proveedorIdproveedor = :idProveedor"); |
||||
|
q.setParameter("idProveedor", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Optional<Proveedor> buscarproveedor(Proveedor a) { |
||||
|
Query ql = em.createNamedQuery("Proveedor.findByNombre"); |
||||
|
ql.setParameter("nombre", a.getNombre()); |
||||
|
|
||||
|
Query q2 = em.createNamedQuery("Proveedor.findByTelefono"); |
||||
|
q2.setParameter("telefono", a.getTelefono()); |
||||
|
|
||||
|
Query q3 = em.createNamedQuery("Proveedor.findByEmail"); |
||||
|
q3.setParameter("email", a.getEmail()); |
||||
|
|
||||
|
Query q4 = em.createNamedQuery("Proveedor.findByEstado"); |
||||
|
q4.setParameter("estado", a.getEstado()); |
||||
|
|
||||
|
List<Proveedor> resNombre = ql.getResultList(); |
||||
|
List<Proveedor> resTel = q2.getResultList(); |
||||
|
List<Proveedor> resMail = q3.getResultList(); |
||||
|
List<Proveedor> resEstado = q4.getResultList(); |
||||
|
|
||||
|
if (!resNombre.isEmpty()&& !resTel.isEmpty()&&!resMail.isEmpty() && !resEstado.isEmpty()) { |
||||
|
Proveedor proveedorEncontrada = resNombre.stream() |
||||
|
|
||||
|
.filter(resMail::contains) |
||||
|
.filter(resNombre::contains) |
||||
|
.filter(resTel::contains) |
||||
|
.filter(resEstado::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
return Optional.ofNullable(proveedorEncontrada); |
||||
|
} else { |
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public List<Proveedor> buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Proveedor.findByEstado"); |
||||
|
int s = status ? 2 : 1; |
||||
|
q.setParameter("estado", s); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Proveedor buscarPorNombre(Proveedor proveedor) { |
||||
|
Query q = em.createNamedQuery("Proveedor.findByNombre"); |
||||
|
q.setParameter("nombre", proveedor.getNombre()); |
||||
|
|
||||
|
List<Proveedor> resultados = q.getResultList(); |
||||
|
|
||||
|
if (resultados.isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Proveedor) q.getResultList().get(0); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,149 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Roles; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
public class RolesDAO { |
||||
|
|
||||
|
private EntityManager em; |
||||
|
|
||||
|
public RolesDAO(){ |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Roles roles){ |
||||
|
em.getTransaction().begin(); |
||||
|
roles.setEstado(2); |
||||
|
em.persist(roles); |
||||
|
em.getTransaction().commit(); |
||||
|
} |
||||
|
|
||||
|
public boolean eliminar(Roles rol){ |
||||
|
|
||||
|
if (buscarId(rol) == null){ |
||||
|
return false; |
||||
|
}else{ |
||||
|
em.getTransaction().begin(); |
||||
|
Roles rolesPersistentes = em.find(Roles.class, rol.getId()); |
||||
|
rol.setRol(rolesPersistentes.getRol()); |
||||
|
rol.setEstado(1); |
||||
|
em.merge(rol); |
||||
|
em.getTransaction().commit(); |
||||
|
|
||||
|
return true; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public Roles buscarId(Roles rol){ |
||||
|
Query q = em.createNamedQuery("Roles.findById"); |
||||
|
q.setParameter("id", rol.getId()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
}else{ |
||||
|
return (Roles) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Roles> buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Roles.findByEstado"); |
||||
|
int s = status ? 2 : 1; |
||||
|
q.setParameter("estado", s); |
||||
|
if (s == 2) { |
||||
|
System.out.println("Activos"); |
||||
|
} else { |
||||
|
System.out.println("Inactivos"); |
||||
|
} |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Roles buscarPorNombre(Roles rol) { |
||||
|
Query q = em.createNamedQuery("Roles.findByRol"); |
||||
|
q.setParameter("rol", rol.getRol()); |
||||
|
|
||||
|
List<Roles> resultados = q.getResultList(); |
||||
|
|
||||
|
if (resultados.isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Roles) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public Optional<Roles> buscarRoles(Roles rol){ |
||||
|
Query q1 = em.createNamedQuery("Roles.findByRol"); |
||||
|
q1.setParameter("rol", rol.getRol()); |
||||
|
|
||||
|
Query q2 = em.createNamedQuery("Roles.findByEstado"); |
||||
|
q2.setParameter("estado", rol.getEstado()); |
||||
|
|
||||
|
List<Roles> resRol =q1.getResultList(); |
||||
|
List<Roles> resEstado = q2.getResultList(); |
||||
|
|
||||
|
if (!resRol.isEmpty() && !resEstado.isEmpty()) { |
||||
|
Roles rolesEncontrados = resRol.stream() |
||||
|
.filter(resEstado::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
|
||||
|
return Optional.ofNullable(rolesEncontrados); |
||||
|
|
||||
|
}else{ |
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Usuarios> buscarUsuariosReferenciados(Roles id){ |
||||
|
Query q = em.createQuery("SELECT u FROM Usuarios u WHERE u.estado = 2 and u.rolesId = :idRoles"); |
||||
|
q.setParameter("idRoles", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,122 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import xforce.modelo.Tipo; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Producto; |
||||
|
import xforce.modelo.Roles; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
public class TipoDAO { |
||||
|
private EntityManager em;//Manejador de entidades
|
||||
|
|
||||
|
public TipoDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Tipo a) { |
||||
|
em.getTransaction().begin(); |
||||
|
a.setEstado(2); |
||||
|
em.persist(a);//Almacenar en DB
|
||||
|
em.getTransaction().commit(); |
||||
|
} |
||||
|
|
||||
|
public Tipo buscarPorNombre(Tipo tip) { |
||||
|
Query q = em.createNamedQuery("Roles.findByRol"); |
||||
|
q.setParameter("tipo", tip.getTipo()); |
||||
|
|
||||
|
List<Tipo> resultados = q.getResultList(); |
||||
|
|
||||
|
if (resultados.isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Tipo) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Tipo > buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Tipo.findByEstado"); |
||||
|
int s = status ? 2 : 1; |
||||
|
q.setParameter("estado", s); |
||||
|
if (s == 2) { |
||||
|
System.out.println("Activos"); |
||||
|
} else { |
||||
|
System.out.println("Inactivos"); |
||||
|
} |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
public boolean eliminar(Tipo tip){ |
||||
|
|
||||
|
if (buscarId(tip) == null){ |
||||
|
return false; |
||||
|
}else{ |
||||
|
em.getTransaction().begin(); |
||||
|
Tipo tiposPersistentes = em.find(Tipo.class, tip.getId()); |
||||
|
tip.setTipo(tiposPersistentes.getTipo()); |
||||
|
tip.setEstado(1); |
||||
|
em.merge(tip); |
||||
|
em.getTransaction().commit(); |
||||
|
|
||||
|
return true; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public Optional<Tipo> buscarTipo(Tipo t){ |
||||
|
Query ql = em.createNamedQuery("Tipo.findByTipo"); |
||||
|
ql.setParameter("tipo", t.getTipo()); |
||||
|
|
||||
|
Query q2 = em.createNamedQuery("Tipo.findByEstado"); |
||||
|
q2.setParameter("estado", t.getEstado()); |
||||
|
|
||||
|
|
||||
|
List<Tipo> resTipo = ql.getResultList(); |
||||
|
List<Tipo> resEstado = q2.getResultList(); |
||||
|
|
||||
|
if (!resTipo.isEmpty()&& !resEstado.isEmpty()) { |
||||
|
Tipo tipoEncontrado = resTipo.stream() |
||||
|
|
||||
|
.filter(resTipo::contains) |
||||
|
.filter(resEstado::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
return Optional.ofNullable(tipoEncontrado); |
||||
|
} else { |
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public Tipo buscarId(Tipo tipo){ |
||||
|
Query q = em.createNamedQuery("Tipo.findById"); |
||||
|
q.setParameter("id", tipo.getId()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
}else{ |
||||
|
return (Tipo) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
public List<Producto> buscarTiposReferenciados(Tipo id){ |
||||
|
Query q = em.createQuery("SELECT p FROM Producto p WHERE p.estado = 2 and p.tipoId = :idTipo"); |
||||
|
q.setParameter("idTipo", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,127 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Producto; |
||||
|
import xforce.modelo.Ubicacion; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
public class UbicacionDAO { |
||||
|
|
||||
|
private EntityManager em;//Manejador de entidades
|
||||
|
|
||||
|
public UbicacionDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Ubicacion a) { |
||||
|
em.getTransaction().begin(); |
||||
|
a.setEstado(2); |
||||
|
em.persist(a);//Almacenar en DB
|
||||
|
em.getTransaction().commit(); |
||||
|
} |
||||
|
|
||||
|
public boolean editar(Ubicacion a) { |
||||
|
if (buscarPorId(a) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(a);//edita en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public boolean eliminar(Ubicacion a) { |
||||
|
if (buscarPorId(a) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(a); //eliminar en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public Ubicacion buscarPorId(Ubicacion a) { |
||||
|
Query q = em.createNamedQuery("Ubicacion.findById"); |
||||
|
q.setParameter("id", a.getId()); |
||||
|
|
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Ubicacion) q.getResultList().get(0); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public Optional<Ubicacion> buscaUbicacion(Ubicacion a) { |
||||
|
Query q1 = em.createNamedQuery("Ubicacion.findByAnaquel"); |
||||
|
q1.setParameter("anaquel", a.getAnaquel()); |
||||
|
|
||||
|
Query q2 = em.createNamedQuery("Ubicacion.findByBloque"); |
||||
|
q2.setParameter("bloque", a.getBloque()); |
||||
|
|
||||
|
Query q3 = em.createNamedQuery("Ubicacion.findByEstado"); |
||||
|
q3.setParameter("estado", a.getEstado()); |
||||
|
|
||||
|
List<Ubicacion> resultadoAnaquel = q1.getResultList(); |
||||
|
List<Ubicacion> resultadoBloque = q2.getResultList(); |
||||
|
List<Ubicacion> resultadoEstado = q3.getResultList(); |
||||
|
|
||||
|
// Verifica si hay resultados para todos los campos
|
||||
|
if (!resultadoAnaquel.isEmpty() && !resultadoBloque.isEmpty() && !resultadoEstado.isEmpty()) { |
||||
|
// Compara si el mismo autor está en los tres resultados
|
||||
|
Ubicacion ubicacionEncontrada = resultadoAnaquel.stream() |
||||
|
.filter(resultadoBloque::contains) |
||||
|
.filter(resultadoEstado::contains) |
||||
|
.filter(resultadoEstado::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
|
||||
|
return Optional.ofNullable(ubicacionEncontrada); |
||||
|
} else { |
||||
|
// Devuelve Optional vacío para indicar ausencia de resultados
|
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Ubicacion> buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Ubicacion.findByEstado"); |
||||
|
int s = status ? 2 : 1; |
||||
|
q.setParameter("estado", s); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Ubicacion buscarPorNombre(Ubicacion ubicacion) { |
||||
|
Query q = em.createNamedQuery("Ubicacion.findByBloque"); |
||||
|
q.setParameter("bloque", ubicacion.getBloque()); |
||||
|
|
||||
|
List<Ubicacion> resultados = q.getResultList(); |
||||
|
|
||||
|
if (resultados.isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Ubicacion) q.getResultList().get(0); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
public List<Producto> buscarMarcasReferenciadas(Ubicacion id) { |
||||
|
Query q = em.createQuery("SELECT p FROM Producto p WHERE p.estado = 2 and p.ubicacionId = :idubi"); |
||||
|
q.setParameter("idubi", id); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,140 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.dao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
public class UsuariosDAO { |
||||
|
|
||||
|
private EntityManager em; |
||||
|
|
||||
|
public UsuariosDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProyectoInventario-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Usuarios a) { |
||||
|
em.getTransaction().begin(); |
||||
|
a.setEstado(2); |
||||
|
em.persist(a);//almacena en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
} |
||||
|
|
||||
|
public boolean editar(Usuarios a) { |
||||
|
if (buscarId(a) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(a);//edita en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public boolean eliminar(Usuarios usuario) { |
||||
|
if (buscarId(usuario) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(usuario); |
||||
|
// Finalizar transacción
|
||||
|
em.getTransaction().commit(); |
||||
|
|
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public Usuarios buscarId(Usuarios a) { |
||||
|
Query q = em.createNamedQuery("Usuarios.findById"); |
||||
|
q.setParameter("id", a.getId()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
System.out.println(q.getResultList()); |
||||
|
return (Usuarios) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Usuarios> buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Usuarios.findByEstado"); |
||||
|
int s = status ? 2 : 1; |
||||
|
q.setParameter("estado", s); |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Usuarios buscarPorNombre(Usuarios usuario) { |
||||
|
Query q = em.createNamedQuery("Usuarios.findByNombre"); |
||||
|
q.setParameter("nombre", usuario.getNombre()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Usuarios) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public Optional<Usuarios> buscarUsuario(Usuarios a) { |
||||
|
Query ql = em.createNamedQuery("Usuarios.findByNombre"); |
||||
|
ql.setParameter("nombre", a.getNombre()); |
||||
|
|
||||
|
Query q2 = em.createNamedQuery("Usuarios.findByApellidoPaterno"); |
||||
|
q2.setParameter("apellidoPaterno", a.getApellidoPaterno()); |
||||
|
|
||||
|
Query q3 = em.createNamedQuery("Usuarios.findByEmail"); |
||||
|
q3.setParameter("email", a.getEmail()); |
||||
|
|
||||
|
Query q4 = em.createNamedQuery("Usuarios.findByTelefono"); |
||||
|
q4.setParameter("telefono", a.getTelefono()); |
||||
|
|
||||
|
Query q5 = em.createNamedQuery("Usuarios.findByContrasenia"); |
||||
|
q5.setParameter("contrasenia", a.getContrasenia()); |
||||
|
|
||||
|
Query q6 = em.createNamedQuery("Usuarios.findByDomicilio"); |
||||
|
q6.setParameter("domicilio", a.getDomicilio()); |
||||
|
|
||||
|
Query q7 = em.createQuery("SELECT u FROM Usuarios u WHERE u.rolesId = :id"); |
||||
|
q7.setParameter("id", a.getRolesId()); |
||||
|
|
||||
|
Query q8 = em.createQuery("SELECT u FROM Usuarios u WHERE u.estadosId = :id"); |
||||
|
q8.setParameter("id", a.getEstadosId()); |
||||
|
|
||||
|
List<Usuarios> resNombre = ql.getResultList(); |
||||
|
List<Usuarios> resApellidoPaterno = q2.getResultList(); |
||||
|
List<Usuarios> resEmail = q3.getResultList(); |
||||
|
List<Usuarios> resTelefono = q4.getResultList(); |
||||
|
List<Usuarios> resContrasenia = q5.getResultList(); |
||||
|
List<Usuarios> resDomicilio = q6.getResultList(); |
||||
|
List<Usuarios> resRol = q7.getResultList(); |
||||
|
List<Usuarios> resEstados = q8.getResultList(); |
||||
|
|
||||
|
if (!resNombre.isEmpty() && !resApellidoPaterno.isEmpty() && !resEmail.isEmpty() && !resTelefono.isEmpty() && !resContrasenia.isEmpty() && !resDomicilio.isEmpty() |
||||
|
&& !resRol.isEmpty() && !resEstados.isEmpty()) { |
||||
|
Usuarios usuarioEncontrado = resNombre.stream() |
||||
|
.filter(resApellidoPaterno::contains) |
||||
|
.filter(resEmail::contains) |
||||
|
.filter(resTelefono::contains) |
||||
|
.filter(resContrasenia::contains) |
||||
|
.filter(resDomicilio::contains) |
||||
|
.filter(resRol::contains) |
||||
|
.filter(resEstados::contains) |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
return Optional.ofNullable(usuarioEncontrado); |
||||
|
} else { |
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,152 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.modelo; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.persistence.Basic; |
||||
|
import javax.persistence.CascadeType; |
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.JoinColumn; |
||||
|
import javax.persistence.ManyToOne; |
||||
|
import javax.persistence.NamedQueries; |
||||
|
import javax.persistence.NamedQuery; |
||||
|
import javax.persistence.OneToMany; |
||||
|
import javax.persistence.Table; |
||||
|
import javax.validation.constraints.NotNull; |
||||
|
import javax.validation.constraints.Size; |
||||
|
import javax.xml.bind.annotation.XmlRootElement; |
||||
|
import javax.xml.bind.annotation.XmlTransient; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Entity |
||||
|
@Table(name = "estados", catalog = "inventarioalmacen", schema = "") |
||||
|
@XmlRootElement |
||||
|
@NamedQueries({ |
||||
|
@NamedQuery(name = "Estados.findAll", query = "SELECT e FROM Estados e"), |
||||
|
@NamedQuery(name = "Estados.findById", query = "SELECT e FROM Estados e WHERE e.id = :id"), |
||||
|
@NamedQuery(name = "Estados.findByNombre", query = "SELECT e FROM Estados e WHERE e.nombre = :nombre"), |
||||
|
@NamedQuery(name = "Estados.findByEstado", query = "SELECT e FROM Estados e WHERE e.estado = :estado")}) |
||||
|
public class Estados implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Basic(optional = false) |
||||
|
@Column(name = "id") |
||||
|
private Integer id; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 45) |
||||
|
@Column(name = "nombre") |
||||
|
private String nombre; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "estado") |
||||
|
private int estado; |
||||
|
@OneToMany(cascade = CascadeType.ALL, mappedBy = "estadosId") |
||||
|
private List<Proveedor> proveedorList; |
||||
|
@OneToMany(cascade = CascadeType.ALL, mappedBy = "estadosId") |
||||
|
private List<Usuarios> usuariosList; |
||||
|
@JoinColumn(name = "paises_id", referencedColumnName = "id") |
||||
|
@ManyToOne(optional = false) |
||||
|
private Paises paisesId; |
||||
|
|
||||
|
public Estados() { |
||||
|
} |
||||
|
|
||||
|
public Estados(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public Estados(Integer id, String nombre, int estado) { |
||||
|
this.id = id; |
||||
|
this.nombre = nombre; |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
public Integer getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getNombre() { |
||||
|
return nombre; |
||||
|
} |
||||
|
|
||||
|
public void setNombre(String nombre) { |
||||
|
this.nombre = nombre; |
||||
|
} |
||||
|
|
||||
|
public int getEstado() { |
||||
|
return estado; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(int estado) { |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
@XmlTransient |
||||
|
public List<Proveedor> getProveedorList() { |
||||
|
return proveedorList; |
||||
|
} |
||||
|
|
||||
|
public void setProveedorList(List<Proveedor> proveedorList) { |
||||
|
this.proveedorList = proveedorList; |
||||
|
} |
||||
|
|
||||
|
@XmlTransient |
||||
|
public List<Usuarios> getUsuariosList() { |
||||
|
return usuariosList; |
||||
|
} |
||||
|
|
||||
|
public void setUsuariosList(List<Usuarios> usuariosList) { |
||||
|
this.usuariosList = usuariosList; |
||||
|
} |
||||
|
|
||||
|
public Paises getPaisesId() { |
||||
|
return paisesId; |
||||
|
} |
||||
|
|
||||
|
public void setPaisesId(Paises paisesId) { |
||||
|
this.paisesId = paisesId; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int hashCode() { |
||||
|
int hash = 0; |
||||
|
hash += (id != null ? id.hashCode() : 0); |
||||
|
return hash; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public boolean equals(Object object) { |
||||
|
// TODO: Warning - this method won't work in the case the id fields are not set
|
||||
|
if (!(object instanceof Estados)) { |
||||
|
return false; |
||||
|
} |
||||
|
Estados other = (Estados) object; |
||||
|
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String toString() { |
||||
|
return "xforce.modelo.Estados[ id=" + id + " ]"; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,128 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.modelo; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.persistence.Basic; |
||||
|
import javax.persistence.CascadeType; |
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.NamedQueries; |
||||
|
import javax.persistence.NamedQuery; |
||||
|
import javax.persistence.OneToMany; |
||||
|
import javax.persistence.Table; |
||||
|
import javax.validation.constraints.NotNull; |
||||
|
import javax.validation.constraints.Size; |
||||
|
import javax.xml.bind.annotation.XmlRootElement; |
||||
|
import javax.xml.bind.annotation.XmlTransient; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Entity |
||||
|
@Table(name = "marca", catalog = "inventarioalmacen", schema = "") |
||||
|
@XmlRootElement |
||||
|
@NamedQueries({ |
||||
|
@NamedQuery(name = "Marca.findAll", query = "SELECT m FROM Marca m"), |
||||
|
@NamedQuery(name = "Marca.findById", query = "SELECT m FROM Marca m WHERE m.id = :id"), |
||||
|
@NamedQuery(name = "Marca.findByNombre", query = "SELECT m FROM Marca m WHERE m.nombre = :nombre"), |
||||
|
@NamedQuery(name = "Marca.findByEstado", query = "SELECT m FROM Marca m WHERE m.estado = :estado")}) |
||||
|
public class Marca implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Basic(optional = false) |
||||
|
@Column(name = "id") |
||||
|
private Integer id; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 100) |
||||
|
@Column(name = "nombre") |
||||
|
private String nombre; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "estado") |
||||
|
private int estado; |
||||
|
@OneToMany(cascade = CascadeType.ALL, mappedBy = "marcaId") |
||||
|
private List<Proveedor> proveedorList; |
||||
|
|
||||
|
public Marca() { |
||||
|
} |
||||
|
|
||||
|
public Marca(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public Marca(Integer id, String nombre, int estado) { |
||||
|
this.id = id; |
||||
|
this.nombre = nombre; |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
public Integer getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getNombre() { |
||||
|
return nombre; |
||||
|
} |
||||
|
|
||||
|
public void setNombre(String nombre) { |
||||
|
this.nombre = nombre; |
||||
|
} |
||||
|
|
||||
|
public int getEstado() { |
||||
|
return estado; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(int estado) { |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
@XmlTransient |
||||
|
public List<Proveedor> getProveedorList() { |
||||
|
return proveedorList; |
||||
|
} |
||||
|
|
||||
|
public void setProveedorList(List<Proveedor> proveedorList) { |
||||
|
this.proveedorList = proveedorList; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int hashCode() { |
||||
|
int hash = 0; |
||||
|
hash += (id != null ? id.hashCode() : 0); |
||||
|
return hash; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public boolean equals(Object object) { |
||||
|
// TODO: Warning - this method won't work in the case the id fields are not set
|
||||
|
if (!(object instanceof Marca)) { |
||||
|
return false; |
||||
|
} |
||||
|
Marca other = (Marca) object; |
||||
|
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String toString() { |
||||
|
return "xforce.modelo.Marca[ id=" + id + " ]"; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,128 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.modelo; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.persistence.Basic; |
||||
|
import javax.persistence.CascadeType; |
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.NamedQueries; |
||||
|
import javax.persistence.NamedQuery; |
||||
|
import javax.persistence.OneToMany; |
||||
|
import javax.persistence.Table; |
||||
|
import javax.validation.constraints.NotNull; |
||||
|
import javax.validation.constraints.Size; |
||||
|
import javax.xml.bind.annotation.XmlRootElement; |
||||
|
import javax.xml.bind.annotation.XmlTransient; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Entity |
||||
|
@Table(name = "paises", catalog = "inventarioalmacen", schema = "") |
||||
|
@XmlRootElement |
||||
|
@NamedQueries({ |
||||
|
@NamedQuery(name = "Paises.findAll", query = "SELECT p FROM Paises p"), |
||||
|
@NamedQuery(name = "Paises.findById", query = "SELECT p FROM Paises p WHERE p.id = :id"), |
||||
|
@NamedQuery(name = "Paises.findByNombre", query = "SELECT p FROM Paises p WHERE p.nombre = :nombre"), |
||||
|
@NamedQuery(name = "Paises.findByEstado", query = "SELECT p FROM Paises p WHERE p.estado = :estado")}) |
||||
|
public class Paises implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Basic(optional = false) |
||||
|
@Column(name = "id") |
||||
|
private Integer id; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 100) |
||||
|
@Column(name = "nombre") |
||||
|
private String nombre; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "estado") |
||||
|
private int estado; |
||||
|
@OneToMany(cascade = CascadeType.ALL, mappedBy = "paisesId") |
||||
|
private List<Estados> estadosList; |
||||
|
|
||||
|
public Paises() { |
||||
|
} |
||||
|
|
||||
|
public Paises(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public Paises(Integer id, String nombre, int estado) { |
||||
|
this.id = id; |
||||
|
this.nombre = nombre; |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
public Integer getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getNombre() { |
||||
|
return nombre; |
||||
|
} |
||||
|
|
||||
|
public void setNombre(String nombre) { |
||||
|
this.nombre = nombre; |
||||
|
} |
||||
|
|
||||
|
public int getEstado() { |
||||
|
return estado; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(int estado) { |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
@XmlTransient |
||||
|
public List<Estados> getEstadosList() { |
||||
|
return estadosList; |
||||
|
} |
||||
|
|
||||
|
public void setEstadosList(List<Estados> estadosList) { |
||||
|
this.estadosList = estadosList; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int hashCode() { |
||||
|
int hash = 0; |
||||
|
hash += (id != null ? id.hashCode() : 0); |
||||
|
return hash; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public boolean equals(Object object) { |
||||
|
// TODO: Warning - this method won't work in the case the id fields are not set
|
||||
|
if (!(object instanceof Paises)) { |
||||
|
return false; |
||||
|
} |
||||
|
Paises other = (Paises) object; |
||||
|
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String toString() { |
||||
|
return "xforce.modelo.Paises[ id=" + id + " ]"; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,208 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.modelo; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.Date; |
||||
|
import javax.persistence.Basic; |
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.JoinColumn; |
||||
|
import javax.persistence.ManyToOne; |
||||
|
import javax.persistence.NamedQueries; |
||||
|
import javax.persistence.NamedQuery; |
||||
|
import javax.persistence.Table; |
||||
|
import javax.persistence.Temporal; |
||||
|
import javax.persistence.TemporalType; |
||||
|
import javax.validation.constraints.NotNull; |
||||
|
import javax.validation.constraints.Size; |
||||
|
import javax.xml.bind.annotation.XmlRootElement; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Entity |
||||
|
@Table(name = "producto", catalog = "inventarioalmacen", schema = "") |
||||
|
@XmlRootElement |
||||
|
@NamedQueries({ |
||||
|
@NamedQuery(name = "Producto.findAll", query = "SELECT p FROM Producto p"), |
||||
|
@NamedQuery(name = "Producto.findById", query = "SELECT p FROM Producto p WHERE p.id = :id"), |
||||
|
@NamedQuery(name = "Producto.findByNombre", query = "SELECT p FROM Producto p WHERE p.nombre = :nombre"), |
||||
|
@NamedQuery(name = "Producto.findByCodigo", query = "SELECT p FROM Producto p WHERE p.codigo = :codigo"), |
||||
|
@NamedQuery(name = "Producto.findByPrecio", query = "SELECT p FROM Producto p WHERE p.precio = :precio"), |
||||
|
@NamedQuery(name = "Producto.findByPiezas", query = "SELECT p FROM Producto p WHERE p.piezas = :piezas"), |
||||
|
@NamedQuery(name = "Producto.findByEstado", query = "SELECT p FROM Producto p WHERE p.estado = :estado"), |
||||
|
@NamedQuery(name = "Producto.findByFecha", query = "SELECT p FROM Producto p WHERE p.fecha = :fecha")}) |
||||
|
public class Producto implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Basic(optional = false) |
||||
|
@Column(name = "id") |
||||
|
private Integer id; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 100) |
||||
|
@Column(name = "nombre") |
||||
|
private String nombre; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "codigo") |
||||
|
private int codigo; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "precio") |
||||
|
private float precio; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "piezas") |
||||
|
private int piezas; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "estado") |
||||
|
private int estado; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "fecha") |
||||
|
@Temporal(TemporalType.DATE) |
||||
|
private Date fecha; |
||||
|
@JoinColumn(name = "proveedor_idproveedor", referencedColumnName = "id") |
||||
|
@ManyToOne(optional = false) |
||||
|
private Proveedor proveedorIdproveedor; |
||||
|
@JoinColumn(name = "tipo_id", referencedColumnName = "id") |
||||
|
@ManyToOne(optional = false) |
||||
|
private Tipo tipoId; |
||||
|
@JoinColumn(name = "ubicacion_id", referencedColumnName = "id") |
||||
|
@ManyToOne(optional = false) |
||||
|
private Ubicacion ubicacionId; |
||||
|
|
||||
|
public Producto() { |
||||
|
} |
||||
|
|
||||
|
public Producto(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public Producto(Integer id, String nombre, int codigo, float precio, int piezas, int estado, Date fecha) { |
||||
|
this.id = id; |
||||
|
this.nombre = nombre; |
||||
|
this.codigo = codigo; |
||||
|
this.precio = precio; |
||||
|
this.piezas = piezas; |
||||
|
this.estado = estado; |
||||
|
this.fecha = fecha; |
||||
|
} |
||||
|
|
||||
|
public Integer getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getNombre() { |
||||
|
return nombre; |
||||
|
} |
||||
|
|
||||
|
public void setNombre(String nombre) { |
||||
|
this.nombre = nombre; |
||||
|
} |
||||
|
|
||||
|
public int getCodigo() { |
||||
|
return codigo; |
||||
|
} |
||||
|
|
||||
|
public void setCodigo(int codigo) { |
||||
|
this.codigo = codigo; |
||||
|
} |
||||
|
|
||||
|
public float getPrecio() { |
||||
|
return precio; |
||||
|
} |
||||
|
|
||||
|
public void setPrecio(float precio) { |
||||
|
this.precio = precio; |
||||
|
} |
||||
|
|
||||
|
public int getPiezas() { |
||||
|
return piezas; |
||||
|
} |
||||
|
|
||||
|
public void setPiezas(int piezas) { |
||||
|
this.piezas = piezas; |
||||
|
} |
||||
|
|
||||
|
public int getEstado() { |
||||
|
return estado; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(int estado) { |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
public Date getFecha() { |
||||
|
return fecha; |
||||
|
} |
||||
|
|
||||
|
public void setFecha(Date fecha) { |
||||
|
this.fecha = fecha; |
||||
|
} |
||||
|
|
||||
|
public Proveedor getProveedorIdproveedor() { |
||||
|
return proveedorIdproveedor; |
||||
|
} |
||||
|
|
||||
|
public void setProveedorIdproveedor(Proveedor proveedorIdproveedor) { |
||||
|
this.proveedorIdproveedor = proveedorIdproveedor; |
||||
|
} |
||||
|
|
||||
|
public Tipo getTipoId() { |
||||
|
return tipoId; |
||||
|
} |
||||
|
|
||||
|
public void setTipoId(Tipo tipoId) { |
||||
|
this.tipoId = tipoId; |
||||
|
} |
||||
|
|
||||
|
public Ubicacion getUbicacionId() { |
||||
|
return ubicacionId; |
||||
|
} |
||||
|
|
||||
|
public void setUbicacionId(Ubicacion ubicacionId) { |
||||
|
this.ubicacionId = ubicacionId; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int hashCode() { |
||||
|
int hash = 0; |
||||
|
hash += (id != null ? id.hashCode() : 0); |
||||
|
return hash; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public boolean equals(Object object) { |
||||
|
// TODO: Warning - this method won't work in the case the id fields are not set
|
||||
|
if (!(object instanceof Producto)) { |
||||
|
return false; |
||||
|
} |
||||
|
Producto other = (Producto) object; |
||||
|
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String toString() { |
||||
|
return "xforce.modelo.Producto[ id=" + id + " ]"; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,198 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.modelo; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.persistence.Basic; |
||||
|
import javax.persistence.CascadeType; |
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.JoinColumn; |
||||
|
import javax.persistence.ManyToOne; |
||||
|
import javax.persistence.NamedQueries; |
||||
|
import javax.persistence.NamedQuery; |
||||
|
import javax.persistence.OneToMany; |
||||
|
import javax.persistence.Table; |
||||
|
import javax.validation.constraints.NotNull; |
||||
|
import javax.validation.constraints.Size; |
||||
|
import javax.xml.bind.annotation.XmlRootElement; |
||||
|
import javax.xml.bind.annotation.XmlTransient; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Entity |
||||
|
@Table(name = "proveedor", catalog = "inventarioalmacen", schema = "") |
||||
|
@XmlRootElement |
||||
|
@NamedQueries({ |
||||
|
@NamedQuery(name = "Proveedor.findAll", query = "SELECT p FROM Proveedor p"), |
||||
|
@NamedQuery(name = "Proveedor.findById", query = "SELECT p FROM Proveedor p WHERE p.id = :id"), |
||||
|
@NamedQuery(name = "Proveedor.findByNombre", query = "SELECT p FROM Proveedor p WHERE p.nombre = :nombre"), |
||||
|
@NamedQuery(name = "Proveedor.findByTelefono", query = "SELECT p FROM Proveedor p WHERE p.telefono = :telefono"), |
||||
|
@NamedQuery(name = "Proveedor.findByEmail", query = "SELECT p FROM Proveedor p WHERE p.email = :email"), |
||||
|
@NamedQuery(name = "Proveedor.findByEstado", query = "SELECT p FROM Proveedor p WHERE p.estado = :estado"), |
||||
|
@NamedQuery(name = "Proveedor.findByDomicilio", query = "SELECT p FROM Proveedor p WHERE p.domicilio = :domicilio")}) |
||||
|
public class Proveedor implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Basic(optional = false) |
||||
|
@Column(name = "id") |
||||
|
private Integer id; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 100) |
||||
|
@Column(name = "nombre") |
||||
|
private String nombre; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 10) |
||||
|
@Column(name = "telefono") |
||||
|
private String telefono; |
||||
|
// @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
|
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 100) |
||||
|
@Column(name = "email") |
||||
|
private String email; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "estado") |
||||
|
private int estado; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 100) |
||||
|
@Column(name = "domicilio") |
||||
|
private String domicilio; |
||||
|
@JoinColumn(name = "estados_id", referencedColumnName = "id") |
||||
|
@ManyToOne(optional = false) |
||||
|
private Estados estadosId; |
||||
|
@JoinColumn(name = "marca_id", referencedColumnName = "id") |
||||
|
@ManyToOne(optional = false) |
||||
|
private Marca marcaId; |
||||
|
@OneToMany(cascade = CascadeType.ALL, mappedBy = "proveedorIdproveedor") |
||||
|
private List<Producto> productoList; |
||||
|
|
||||
|
public Proveedor() { |
||||
|
} |
||||
|
|
||||
|
public Proveedor(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public Proveedor(Integer id, String nombre, String telefono, String email, int estado, String domicilio) { |
||||
|
this.id = id; |
||||
|
this.nombre = nombre; |
||||
|
this.telefono = telefono; |
||||
|
this.email = email; |
||||
|
this.estado = estado; |
||||
|
this.domicilio = domicilio; |
||||
|
} |
||||
|
|
||||
|
public Integer getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getNombre() { |
||||
|
return nombre; |
||||
|
} |
||||
|
|
||||
|
public void setNombre(String nombre) { |
||||
|
this.nombre = nombre; |
||||
|
} |
||||
|
|
||||
|
public String getTelefono() { |
||||
|
return telefono; |
||||
|
} |
||||
|
|
||||
|
public void setTelefono(String telefono) { |
||||
|
this.telefono = telefono; |
||||
|
} |
||||
|
|
||||
|
public String getEmail() { |
||||
|
return email; |
||||
|
} |
||||
|
|
||||
|
public void setEmail(String email) { |
||||
|
this.email = email; |
||||
|
} |
||||
|
|
||||
|
public int getEstado() { |
||||
|
return estado; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(int estado) { |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
public String getDomicilio() { |
||||
|
return domicilio; |
||||
|
} |
||||
|
|
||||
|
public void setDomicilio(String domicilio) { |
||||
|
this.domicilio = domicilio; |
||||
|
} |
||||
|
|
||||
|
public Estados getEstadosId() { |
||||
|
return estadosId; |
||||
|
} |
||||
|
|
||||
|
public void setEstadosId(Estados estadosId) { |
||||
|
this.estadosId = estadosId; |
||||
|
} |
||||
|
|
||||
|
public Marca getMarcaId() { |
||||
|
return marcaId; |
||||
|
} |
||||
|
|
||||
|
public void setMarcaId(Marca marcaId) { |
||||
|
this.marcaId = marcaId; |
||||
|
} |
||||
|
|
||||
|
@XmlTransient |
||||
|
public List<Producto> getProductoList() { |
||||
|
return productoList; |
||||
|
} |
||||
|
|
||||
|
public void setProductoList(List<Producto> productoList) { |
||||
|
this.productoList = productoList; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int hashCode() { |
||||
|
int hash = 0; |
||||
|
hash += (id != null ? id.hashCode() : 0); |
||||
|
return hash; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public boolean equals(Object object) { |
||||
|
// TODO: Warning - this method won't work in the case the id fields are not set
|
||||
|
if (!(object instanceof Proveedor)) { |
||||
|
return false; |
||||
|
} |
||||
|
Proveedor other = (Proveedor) object; |
||||
|
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String toString() { |
||||
|
return "xforce.modelo.Proveedor[ id=" + id + " ]"; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,128 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.modelo; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.persistence.Basic; |
||||
|
import javax.persistence.CascadeType; |
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.NamedQueries; |
||||
|
import javax.persistence.NamedQuery; |
||||
|
import javax.persistence.OneToMany; |
||||
|
import javax.persistence.Table; |
||||
|
import javax.validation.constraints.NotNull; |
||||
|
import javax.validation.constraints.Size; |
||||
|
import javax.xml.bind.annotation.XmlRootElement; |
||||
|
import javax.xml.bind.annotation.XmlTransient; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Entity |
||||
|
@Table(name = "roles", catalog = "inventarioalmacen", schema = "") |
||||
|
@XmlRootElement |
||||
|
@NamedQueries({ |
||||
|
@NamedQuery(name = "Roles.findAll", query = "SELECT r FROM Roles r"), |
||||
|
@NamedQuery(name = "Roles.findById", query = "SELECT r FROM Roles r WHERE r.id = :id"), |
||||
|
@NamedQuery(name = "Roles.findByRol", query = "SELECT r FROM Roles r WHERE r.rol = :rol"), |
||||
|
@NamedQuery(name = "Roles.findByEstado", query = "SELECT r FROM Roles r WHERE r.estado = :estado")}) |
||||
|
public class Roles implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Basic(optional = false) |
||||
|
@Column(name = "id") |
||||
|
private Integer id; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 45) |
||||
|
@Column(name = "rol") |
||||
|
private String rol; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "estado") |
||||
|
private int estado; |
||||
|
@OneToMany(cascade = CascadeType.ALL, mappedBy = "rolesId") |
||||
|
private List<Usuarios> usuariosList; |
||||
|
|
||||
|
public Roles() { |
||||
|
} |
||||
|
|
||||
|
public Roles(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public Roles(Integer id, String rol, int estado) { |
||||
|
this.id = id; |
||||
|
this.rol = rol; |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
public Integer getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getRol() { |
||||
|
return rol; |
||||
|
} |
||||
|
|
||||
|
public void setRol(String rol) { |
||||
|
this.rol = rol; |
||||
|
} |
||||
|
|
||||
|
public int getEstado() { |
||||
|
return estado; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(int estado) { |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
@XmlTransient |
||||
|
public List<Usuarios> getUsuariosList() { |
||||
|
return usuariosList; |
||||
|
} |
||||
|
|
||||
|
public void setUsuariosList(List<Usuarios> usuariosList) { |
||||
|
this.usuariosList = usuariosList; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int hashCode() { |
||||
|
int hash = 0; |
||||
|
hash += (id != null ? id.hashCode() : 0); |
||||
|
return hash; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public boolean equals(Object object) { |
||||
|
// TODO: Warning - this method won't work in the case the id fields are not set
|
||||
|
if (!(object instanceof Roles)) { |
||||
|
return false; |
||||
|
} |
||||
|
Roles other = (Roles) object; |
||||
|
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String toString() { |
||||
|
return "xforce.modelo.Roles[ id=" + id + " ]"; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,128 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.modelo; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.persistence.Basic; |
||||
|
import javax.persistence.CascadeType; |
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.NamedQueries; |
||||
|
import javax.persistence.NamedQuery; |
||||
|
import javax.persistence.OneToMany; |
||||
|
import javax.persistence.Table; |
||||
|
import javax.validation.constraints.NotNull; |
||||
|
import javax.validation.constraints.Size; |
||||
|
import javax.xml.bind.annotation.XmlRootElement; |
||||
|
import javax.xml.bind.annotation.XmlTransient; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Entity |
||||
|
@Table(name = "tipo", catalog = "inventarioalmacen", schema = "") |
||||
|
@XmlRootElement |
||||
|
@NamedQueries({ |
||||
|
@NamedQuery(name = "Tipo.findAll", query = "SELECT t FROM Tipo t"), |
||||
|
@NamedQuery(name = "Tipo.findById", query = "SELECT t FROM Tipo t WHERE t.id = :id"), |
||||
|
@NamedQuery(name = "Tipo.findByTipo", query = "SELECT t FROM Tipo t WHERE t.tipo = :tipo"), |
||||
|
@NamedQuery(name = "Tipo.findByEstado", query = "SELECT t FROM Tipo t WHERE t.estado = :estado")}) |
||||
|
public class Tipo implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Basic(optional = false) |
||||
|
@Column(name = "id") |
||||
|
private Integer id; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 45) |
||||
|
@Column(name = "tipo") |
||||
|
private String tipo; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "estado") |
||||
|
private int estado; |
||||
|
@OneToMany(cascade = CascadeType.ALL, mappedBy = "tipoId") |
||||
|
private List<Producto> productoList; |
||||
|
|
||||
|
public Tipo() { |
||||
|
} |
||||
|
|
||||
|
public Tipo(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public Tipo(Integer id, String tipo, int estado) { |
||||
|
this.id = id; |
||||
|
this.tipo = tipo; |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
public Integer getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getTipo() { |
||||
|
return tipo; |
||||
|
} |
||||
|
|
||||
|
public void setTipo(String tipo) { |
||||
|
this.tipo = tipo; |
||||
|
} |
||||
|
|
||||
|
public int getEstado() { |
||||
|
return estado; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(int estado) { |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
@XmlTransient |
||||
|
public List<Producto> getProductoList() { |
||||
|
return productoList; |
||||
|
} |
||||
|
|
||||
|
public void setProductoList(List<Producto> productoList) { |
||||
|
this.productoList = productoList; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int hashCode() { |
||||
|
int hash = 0; |
||||
|
hash += (id != null ? id.hashCode() : 0); |
||||
|
return hash; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public boolean equals(Object object) { |
||||
|
// TODO: Warning - this method won't work in the case the id fields are not set
|
||||
|
if (!(object instanceof Tipo)) { |
||||
|
return false; |
||||
|
} |
||||
|
Tipo other = (Tipo) object; |
||||
|
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String toString() { |
||||
|
return "xforce.modelo.Tipo[ id=" + id + " ]"; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,146 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.modelo; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.persistence.Basic; |
||||
|
import javax.persistence.CascadeType; |
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.NamedQueries; |
||||
|
import javax.persistence.NamedQuery; |
||||
|
import javax.persistence.OneToMany; |
||||
|
import javax.persistence.Table; |
||||
|
import javax.validation.constraints.NotNull; |
||||
|
import javax.validation.constraints.Size; |
||||
|
import javax.xml.bind.annotation.XmlRootElement; |
||||
|
import javax.xml.bind.annotation.XmlTransient; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Entity |
||||
|
@Table(name = "ubicacion", catalog = "inventarioalmacen", schema = "") |
||||
|
@XmlRootElement |
||||
|
@NamedQueries({ |
||||
|
@NamedQuery(name = "Ubicacion.findAll", query = "SELECT u FROM Ubicacion u"), |
||||
|
@NamedQuery(name = "Ubicacion.findById", query = "SELECT u FROM Ubicacion u WHERE u.id = :id"), |
||||
|
@NamedQuery(name = "Ubicacion.findByBloque", query = "SELECT u FROM Ubicacion u WHERE u.bloque = :bloque"), |
||||
|
@NamedQuery(name = "Ubicacion.findByAnaquel", query = "SELECT u FROM Ubicacion u WHERE u.anaquel = :anaquel"), |
||||
|
@NamedQuery(name = "Ubicacion.findByEstado", query = "SELECT u FROM Ubicacion u WHERE u.estado = :estado")}) |
||||
|
public class Ubicacion implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Basic(optional = false) |
||||
|
@Column(name = "id") |
||||
|
private Integer id; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 1) |
||||
|
@Column(name = "bloque") |
||||
|
private String bloque; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "anaquel") |
||||
|
private int anaquel; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "estado") |
||||
|
private int estado; |
||||
|
@OneToMany(cascade = CascadeType.ALL, mappedBy = "ubicacionId") |
||||
|
private List<Producto> productoList; |
||||
|
|
||||
|
public Ubicacion() { |
||||
|
} |
||||
|
|
||||
|
public Ubicacion(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public Ubicacion(Integer id, String bloque, int anaquel, int estado) { |
||||
|
this.id = id; |
||||
|
this.bloque = bloque; |
||||
|
this.anaquel = anaquel; |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
public Integer getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getBloque() { |
||||
|
return bloque; |
||||
|
} |
||||
|
|
||||
|
public void setBloque(String bloque) { |
||||
|
this.bloque = bloque; |
||||
|
} |
||||
|
|
||||
|
public int getAnaquel() { |
||||
|
return anaquel; |
||||
|
} |
||||
|
|
||||
|
public void setAnaquel(int anaquel) { |
||||
|
this.anaquel = anaquel; |
||||
|
} |
||||
|
|
||||
|
public int getEstado() { |
||||
|
return estado; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(int estado) { |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
@XmlTransient |
||||
|
public List<Producto> getProductoList() { |
||||
|
return productoList; |
||||
|
} |
||||
|
|
||||
|
public void setProductoList(List<Producto> productoList) { |
||||
|
this.productoList = productoList; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int hashCode() { |
||||
|
int hash = 0; |
||||
|
hash += (id != null ? id.hashCode() : 0); |
||||
|
return hash; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public boolean equals(Object object) { |
||||
|
// TODO: Warning - this method won't work in the case the id fields are not set
|
||||
|
if (!(object instanceof Ubicacion)) { |
||||
|
return false; |
||||
|
} |
||||
|
Ubicacion other = (Ubicacion) object; |
||||
|
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String toString() { |
||||
|
return "xforce.modelo.Ubicacion[ id=" + id + " ]"; |
||||
|
} |
||||
|
|
||||
|
public String getLugar() { |
||||
|
return bloque + anaquel; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,213 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.modelo; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import javax.persistence.Basic; |
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.JoinColumn; |
||||
|
import javax.persistence.ManyToOne; |
||||
|
import javax.persistence.NamedQueries; |
||||
|
import javax.persistence.NamedQuery; |
||||
|
import javax.persistence.Table; |
||||
|
import javax.validation.constraints.NotNull; |
||||
|
import javax.validation.constraints.Size; |
||||
|
import javax.xml.bind.annotation.XmlRootElement; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Entity |
||||
|
@Table(name = "usuarios", catalog = "inventarioalmacen", schema = "") |
||||
|
@XmlRootElement |
||||
|
@NamedQueries({ |
||||
|
@NamedQuery(name = "Usuarios.findAll", query = "SELECT u FROM Usuarios u"), |
||||
|
@NamedQuery(name = "Usuarios.findById", query = "SELECT u FROM Usuarios u WHERE u.id = :id"), |
||||
|
@NamedQuery(name = "Usuarios.findByNombre", query = "SELECT u FROM Usuarios u WHERE u.nombre = :nombre"), |
||||
|
@NamedQuery(name = "Usuarios.findByApellidoPaterno", query = "SELECT u FROM Usuarios u WHERE u.apellidoPaterno = :apellidoPaterno"), |
||||
|
@NamedQuery(name = "Usuarios.findByEmail", query = "SELECT u FROM Usuarios u WHERE u.email = :email"), |
||||
|
@NamedQuery(name = "Usuarios.findByTelefono", query = "SELECT u FROM Usuarios u WHERE u.telefono = :telefono"), |
||||
|
@NamedQuery(name = "Usuarios.findByEstado", query = "SELECT u FROM Usuarios u WHERE u.estado = :estado"), |
||||
|
@NamedQuery(name = "Usuarios.findByContrasenia", query = "SELECT u FROM Usuarios u WHERE u.contrasenia = :contrasenia"), |
||||
|
@NamedQuery(name = "Usuarios.findByDomicilio", query = "SELECT u FROM Usuarios u WHERE u.domicilio = :domicilio")}) |
||||
|
public class Usuarios implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Basic(optional = false) |
||||
|
@Column(name = "id") |
||||
|
private Integer id; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 50) |
||||
|
@Column(name = "nombre") |
||||
|
private String nombre; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 50) |
||||
|
@Column(name = "apellidoPaterno") |
||||
|
private String apellidoPaterno; |
||||
|
// @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
|
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 100) |
||||
|
@Column(name = "email") |
||||
|
private String email; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 10) |
||||
|
@Column(name = "telefono") |
||||
|
private String telefono; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Column(name = "estado") |
||||
|
private int estado; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 20) |
||||
|
@Column(name = "contrasenia") |
||||
|
private String contrasenia; |
||||
|
@Basic(optional = false) |
||||
|
@NotNull |
||||
|
@Size(min = 1, max = 100) |
||||
|
@Column(name = "domicilio") |
||||
|
private String domicilio; |
||||
|
@JoinColumn(name = "estados_id", referencedColumnName = "id") |
||||
|
@ManyToOne(optional = false) |
||||
|
private Estados estadosId; |
||||
|
@JoinColumn(name = "roles_id", referencedColumnName = "id") |
||||
|
@ManyToOne(optional = false) |
||||
|
private Roles rolesId; |
||||
|
|
||||
|
public Usuarios() { |
||||
|
} |
||||
|
|
||||
|
public Usuarios(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public Usuarios(Integer id, String nombre, String apellidoPaterno, String email, String telefono, int estado, String contrasenia, String domicilio) { |
||||
|
this.id = id; |
||||
|
this.nombre = nombre; |
||||
|
this.apellidoPaterno = apellidoPaterno; |
||||
|
this.email = email; |
||||
|
this.telefono = telefono; |
||||
|
this.estado = estado; |
||||
|
this.contrasenia = contrasenia; |
||||
|
this.domicilio = domicilio; |
||||
|
} |
||||
|
|
||||
|
public Integer getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(Integer id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getNombre() { |
||||
|
return nombre; |
||||
|
} |
||||
|
|
||||
|
public void setNombre(String nombre) { |
||||
|
this.nombre = nombre; |
||||
|
} |
||||
|
|
||||
|
public String getApellidoPaterno() { |
||||
|
return apellidoPaterno; |
||||
|
} |
||||
|
|
||||
|
public void setApellidoPaterno(String apellidoPaterno) { |
||||
|
this.apellidoPaterno = apellidoPaterno; |
||||
|
} |
||||
|
|
||||
|
public String getEmail() { |
||||
|
return email; |
||||
|
} |
||||
|
|
||||
|
public void setEmail(String email) { |
||||
|
this.email = email; |
||||
|
} |
||||
|
|
||||
|
public String getTelefono() { |
||||
|
return telefono; |
||||
|
} |
||||
|
|
||||
|
public void setTelefono(String telefono) { |
||||
|
this.telefono = telefono; |
||||
|
} |
||||
|
|
||||
|
public int getEstado() { |
||||
|
return estado; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(int estado) { |
||||
|
this.estado = estado; |
||||
|
} |
||||
|
|
||||
|
public String getContrasenia() { |
||||
|
return contrasenia; |
||||
|
} |
||||
|
|
||||
|
public void setContrasenia(String contrasenia) { |
||||
|
this.contrasenia = contrasenia; |
||||
|
} |
||||
|
|
||||
|
public String getDomicilio() { |
||||
|
return domicilio; |
||||
|
} |
||||
|
|
||||
|
public void setDomicilio(String domicilio) { |
||||
|
this.domicilio = domicilio; |
||||
|
} |
||||
|
|
||||
|
public Estados getEstadosId() { |
||||
|
return estadosId; |
||||
|
} |
||||
|
|
||||
|
public void setEstadosId(Estados estadosId) { |
||||
|
this.estadosId = estadosId; |
||||
|
} |
||||
|
|
||||
|
public Roles getRolesId() { |
||||
|
return rolesId; |
||||
|
} |
||||
|
|
||||
|
public void setRolesId(Roles rolesId) { |
||||
|
this.rolesId = rolesId; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int hashCode() { |
||||
|
int hash = 0; |
||||
|
hash += (id != null ? id.hashCode() : 0); |
||||
|
return hash; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public boolean equals(Object object) { |
||||
|
// TODO: Warning - this method won't work in the case the id fields are not set
|
||||
|
if (!(object instanceof Usuarios)) { |
||||
|
return false; |
||||
|
} |
||||
|
Usuarios other = (Usuarios) object; |
||||
|
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String toString() { |
||||
|
return "xforce.modelo.Usuarios[ id=" + id + " ]"; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,34 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.msg; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Oscar |
||||
|
*/ |
||||
|
public enum Mensaje { |
||||
|
|
||||
|
SIN_ERROR, |
||||
|
CAMPOS_INCOMPLETOS, |
||||
|
DATOS_INCORRECTOS, |
||||
|
ELEMENTO_DUPLICADO, |
||||
|
NO_EXISTE, |
||||
|
MARCA_ERRONEA, |
||||
|
PROVEEDOR_ERRONEO, |
||||
|
UBICACION_ERRONEA, |
||||
|
ROL_ERRONEO, |
||||
|
ESTADO_ERRONEO, |
||||
|
TIPO_ERRONEO, |
||||
|
PAIS_ERRONEO, |
||||
|
ERROR_PRODUCTOS_ASOCIADOS, |
||||
|
ERROR_ROLES_ASOCIADOS, |
||||
|
ERROR_ESTADOS_ASOCIADOS, |
||||
|
ERROR_TIPOS_ASOCIADOS, |
||||
|
ERROR_PAISES_ASOCIADOS, |
||||
|
ERROR_PROVEEDORES_ASOCIADOS, |
||||
|
ERROR_USUARIOS_ASOCIADOS, |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,71 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- You may freely edit this file. See commented blocks below for --> |
||||
|
<!-- some examples of how to customize the build. --> |
||||
|
<!-- (If you delete it and reopen the project it will be recreated.) --> |
||||
|
<!-- By default, only the Clean and Build commands use this build script. --> |
||||
|
<!-- Commands such as Run, Debug, and Test only use this build script if --> |
||||
|
<!-- the Compile on Save feature is turned off for the project. --> |
||||
|
<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> |
||||
|
<!-- in the project's Project Properties dialog box.--> |
||||
|
<project name="ProyectoInventario-war" default="default" basedir="."> |
||||
|
<description>Builds, tests, and runs the project ProyectoInventario-war.</description> |
||||
|
<import file="nbproject/build-impl.xml"/> |
||||
|
<!-- |
||||
|
|
||||
|
There exist several targets which are by default empty and which can be |
||||
|
used for execution of your tasks. These targets are usually executed |
||||
|
before and after some main targets. They are: |
||||
|
|
||||
|
-pre-init: called before initialization of project properties |
||||
|
-post-init: called after initialization of project properties |
||||
|
-pre-compile: called before javac compilation |
||||
|
-post-compile: called after javac compilation |
||||
|
-pre-compile-single: called before javac compilation of single file |
||||
|
-post-compile-single: called after javac compilation of single file |
||||
|
-pre-compile-test: called before javac compilation of JUnit tests |
||||
|
-post-compile-test: called after javac compilation of JUnit tests |
||||
|
-pre-compile-test-single: called before javac compilation of single JUnit test |
||||
|
-post-compile-test-single: called after javac compilation of single JUunit test |
||||
|
-pre-dist: called before archive building |
||||
|
-post-dist: called after archive building |
||||
|
-post-clean: called after cleaning build products |
||||
|
-pre-run-deploy: called before deploying |
||||
|
-post-run-deploy: called after deploying |
||||
|
|
||||
|
Example of pluging an obfuscator after the compilation could look like |
||||
|
|
||||
|
<target name="-post-compile"> |
||||
|
<obfuscate> |
||||
|
<fileset dir="${build.classes.dir}"/> |
||||
|
</obfuscate> |
||||
|
</target> |
||||
|
|
||||
|
For list of available properties check the imported |
||||
|
nbproject/build-impl.xml file. |
||||
|
|
||||
|
|
||||
|
Other way how to customize the build is by overriding existing main targets. |
||||
|
The target of interest are: |
||||
|
|
||||
|
init-macrodef-javac: defines macro for javac compilation |
||||
|
init-macrodef-junit: defines macro for junit execution |
||||
|
init-macrodef-debug: defines macro for class debugging |
||||
|
do-dist: archive building |
||||
|
run: execution of project |
||||
|
javadoc-build: javadoc generation |
||||
|
|
||||
|
Example of overriding the target for project execution could look like |
||||
|
|
||||
|
<target name="run" depends="<PROJNAME>-impl.jar"> |
||||
|
<exec dir="bin" executable="launcher.exe"> |
||||
|
<arg file="${dist.jar}"/> |
||||
|
</exec> |
||||
|
</target> |
||||
|
|
||||
|
Notice that overridden target depends on jar target and not only on |
||||
|
compile target as regular run target does. Again, for list of available |
||||
|
properties which you can use check the target you are overriding in |
||||
|
nbproject/build-impl.xml file. |
||||
|
|
||||
|
--> |
||||
|
</project> |
Binary file not shown.
@ -0,0 +1,131 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- |
||||
|
|
||||
|
Licensed to the Apache Software Foundation (ASF) under one |
||||
|
or more contributor license agreements. See the NOTICE file |
||||
|
distributed with this work for additional information |
||||
|
regarding copyright ownership. The ASF licenses this file |
||||
|
to you under the Apache License, Version 2.0 (the |
||||
|
"License"); you may not use this file except in compliance |
||||
|
with the License. You may obtain a copy of the License at |
||||
|
|
||||
|
http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
|
||||
|
Unless required by applicable law or agreed to in writing, |
||||
|
software distributed under the License is distributed on an |
||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
||||
|
KIND, either express or implied. See the License for the |
||||
|
specific language governing permissions and limitations |
||||
|
under the License. |
||||
|
|
||||
|
--> |
||||
|
<project default="-deploy-ant" basedir="."> |
||||
|
<target name="-init-cl-deployment-env" if="deploy.ant.enabled"> |
||||
|
<property file="${deploy.ant.properties.file}" /> |
||||
|
<available file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" property="sun.web.present"/> |
||||
|
<available file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" property="glassfish.web.present"/> |
||||
|
<available file="${deploy.ant.resource.dir}" property="has.setup"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.password.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<echo message="AS_ADMIN_PASSWORD=${gfv3.password}" file="${gfv3.password.file}"/> |
||||
|
</target> |
||||
|
|
||||
|
<target name="-parse-sun-web" depends="-init-cl-deployment-env" if="sun.web.present"> |
||||
|
<tempfile prefix="gfv3" property="temp.sun.web" destdir="${java.io.tmpdir}"/> |
||||
|
<copy file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" tofile="${temp.sun.web}"/> |
||||
|
<!-- The doctype triggers resolution which can fail --> |
||||
|
<replace file="${temp.sun.web}"> |
||||
|
<replacetoken><![CDATA[<!DOCTYPE]]></replacetoken> |
||||
|
<replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue> |
||||
|
</replace> |
||||
|
<replace file="${temp.sun.web}"> |
||||
|
<replacetoken><![CDATA[<sun-web-app]]></replacetoken> |
||||
|
<replacevalue><![CDATA[--> <sun-web-app]]></replacevalue> |
||||
|
</replace> |
||||
|
<xmlproperty file="${temp.sun.web}" validate="false"> |
||||
|
</xmlproperty> |
||||
|
<delete file="${temp.sun.web}"/> |
||||
|
<condition property="deploy.ant.client.url" value="${gfv3.url}${sun-web-app.context-root}" else="${gfv3.url}/${ant.project.name}"> |
||||
|
<isset property="sun-web-app.context-root"/> |
||||
|
</condition> |
||||
|
<condition property="deploy.context.root.argument" value="&contextroot=${sun-web-app.context-root}" else="/${ant.project.name}"> |
||||
|
<isset property="sun-web-app.context-root"/> |
||||
|
</condition> |
||||
|
</target> |
||||
|
<target name="-parse-glassfish-web" depends="-init-cl-deployment-env" if="glassfish.web.present"> |
||||
|
<tempfile prefix="gfv3" property="temp.gf.web" destdir="${java.io.tmpdir}"/> |
||||
|
<copy file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" tofile="${temp.gf.web}"/> |
||||
|
<!-- The doctype triggers resolution which can fail --> |
||||
|
<replace file="${temp.gf.web}"> |
||||
|
<replacetoken><![CDATA[<!DOCTYPE]]></replacetoken> |
||||
|
<replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue> |
||||
|
</replace> |
||||
|
<replace file="${temp.gf.web}"> |
||||
|
<replacetoken><![CDATA[<glassfish-web-app]]></replacetoken> |
||||
|
<replacevalue><![CDATA[--> <glassfish-web-app]]></replacevalue> |
||||
|
</replace> |
||||
|
<xmlproperty file="${temp.gf.web}" validate="false"> |
||||
|
</xmlproperty> |
||||
|
<delete file="${temp.gf.web}"/> |
||||
|
<condition property="deploy.ant.client.url" value="${gfv3.url}${glassfish-web-app.context-root}" else="${gfv3.url}/${ant.project.name}"> |
||||
|
<isset property="glassfish-web-app.context-root"/> |
||||
|
</condition> |
||||
|
<condition property="deploy.context.root.argument" value="&contextroot=${glassfish-web-app.context-root}" else="/${ant.project.name}"> |
||||
|
<isset property="glassfish-web-app.context-root"/> |
||||
|
</condition> |
||||
|
</target> |
||||
|
<target name="-no-parse-sun-web" depends="-init-cl-deployment-env" unless="sun.web.present"> |
||||
|
<property name="deploy.context.root.argument" value=""/> |
||||
|
</target> |
||||
|
<target name="-add-resources" depends="-init-cl-deployment-env" if="has.setup"> |
||||
|
<tempfile prefix="gfv3" property="gfv3.resources.dir" destdir="${java.io.tmpdir}"/> |
||||
|
<mkdir dir="${gfv3.resources.dir}"/> |
||||
|
<mkdir dir="${gfv3.resources.dir}/META-INF"/> |
||||
|
<copy todir="${gfv3.resources.dir}/META-INF"> |
||||
|
<fileset dir="${deploy.ant.resource.dir}"/> |
||||
|
</copy> |
||||
|
<jar destfile="${deploy.ant.archive}" update="true"> |
||||
|
<fileset dir="${gfv3.resources.dir}"/> |
||||
|
</jar> |
||||
|
<delete dir="${gfv3.resources.dir}"/> |
||||
|
</target> |
||||
|
<target name="-deploy-ant" depends="-parse-glassfish-web, -parse-sun-web, -no-parse-sun-web,-add-resources" if="deploy.ant.enabled"> |
||||
|
<antcall target="-deploy-without-pw"/> |
||||
|
<antcall target="-deploy-with-pw"/> |
||||
|
</target> |
||||
|
|
||||
|
<target name="-deploy-without-pw" unless="gfv3.password"> |
||||
|
<echo message="Deploying ${deploy.ant.archive}"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/> |
||||
|
<get src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&force=true&name=${ant.project.name}" |
||||
|
dest="${gfv3.results.file}"/> |
||||
|
<delete file="${gfv3.results.file}"/> |
||||
|
</target> |
||||
|
<target name="-deploy-with-pw" if="gfv3.password"> |
||||
|
<echo message="Deploying ${deploy.ant.archive}"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/> |
||||
|
<get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&force=true&name=${ant.project.name}" |
||||
|
dest="${gfv3.results.file}"/> |
||||
|
<delete file="${gfv3.results.file}"/> |
||||
|
</target> |
||||
|
<target name="-undeploy-ant" depends="-init-cl-deployment-env" if="deploy.ant.enabled"> |
||||
|
<antcall target="-undeploy-without-pw"/> |
||||
|
<antcall target="-undeploy-with-pw"/> |
||||
|
</target> |
||||
|
|
||||
|
<target name="-undeploy-without-pw" unless="gfv3.password"> |
||||
|
<echo message="Undeploying ${deploy.ant.archive}"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<get src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}" |
||||
|
dest="${gfv3.results.file}"/> |
||||
|
<delete file="${gfv3.results.file}"/> |
||||
|
</target> |
||||
|
<target name="-undeploy-with-pw" if="gfv3.password"> |
||||
|
<echo message="Undeploying ${deploy.ant.archive}"/> |
||||
|
<tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> |
||||
|
<get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}" |
||||
|
dest="${gfv3.results.file}"/> |
||||
|
<delete file="${gfv3.results.file}"/> |
||||
|
</target> |
||||
|
</project> |
File diff suppressed because it is too large
@ -0,0 +1,6 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<Scene Scope="Project" version="2"> |
||||
|
<Scope Scope="Faces Configuration Only"/> |
||||
|
<Scope Scope="Project"/> |
||||
|
<Scope Scope="All Faces Configurations"/> |
||||
|
</Scene> |
@ -0,0 +1,8 @@ |
|||||
|
build.xml.data.CRC32=15a8da94 |
||||
|
build.xml.script.CRC32=d42f2f65 |
||||
|
build.xml.stylesheet.CRC32=1707db4f@1.96.0.1 |
||||
|
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. |
||||
|
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. |
||||
|
nbproject/build-impl.xml.data.CRC32=15a8da94 |
||||
|
nbproject/build-impl.xml.script.CRC32=34c0a0b2 |
||||
|
nbproject/build-impl.xml.stylesheet.CRC32=334708a0@1.96.0.1 |
@ -0,0 +1,40 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<project xmlns="http://www.netbeans.org/ns/project/1"> |
||||
|
<type>org.netbeans.modules.web.project</type> |
||||
|
<configuration> |
||||
|
<data xmlns="http://www.netbeans.org/ns/web-project/3"> |
||||
|
<name>ProyectoInventario-war</name> |
||||
|
<minimum-ant-version>1.6.5</minimum-ant-version> |
||||
|
<explicit-platform explicit-source-supported="true"/> |
||||
|
<web-module-libraries> |
||||
|
<library dirs="100"> |
||||
|
<file>${reference.ProyectoInventario-ejb.dist}</file> |
||||
|
</library> |
||||
|
<library dirs="200"> |
||||
|
<file>${file.reference.primefaces-12.0.0.jar}</file> |
||||
|
<path-in-war>WEB-INF/lib</path-in-war> |
||||
|
</library> |
||||
|
</web-module-libraries> |
||||
|
<web-module-additional-libraries/> |
||||
|
<source-roots> |
||||
|
<root id="src.dir"/> |
||||
|
</source-roots> |
||||
|
<test-roots> |
||||
|
<root id="test.src.dir"/> |
||||
|
</test-roots> |
||||
|
</data> |
||||
|
<libraries xmlns="http://www.netbeans.org/ns/ant-project-libraries/1"> |
||||
|
<definitions>..\.\lib\nblibraries.properties</definitions> |
||||
|
</libraries> |
||||
|
<references xmlns="http://www.netbeans.org/ns/ant-project-references/1"> |
||||
|
<reference> |
||||
|
<foreign-project>ProyectoInventario-ejb</foreign-project> |
||||
|
<artifact-type>jar</artifact-type> |
||||
|
<script>build.xml</script> |
||||
|
<target>dist</target> |
||||
|
<clean-target>clean</clean-target> |
||||
|
<id>dist</id> |
||||
|
</reference> |
||||
|
</references> |
||||
|
</configuration> |
||||
|
</project> |
@ -0,0 +1,2 @@ |
|||||
|
Manifest-Version: 1.0 |
||||
|
|
@ -0,0 +1,63 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.seguridad; |
||||
|
|
||||
|
import java.io.IOException; |
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import javax.faces.application.NavigationHandler; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import javax.faces.event.PhaseEvent; |
||||
|
import javax.faces.event.PhaseId; |
||||
|
import javax.faces.event.PhaseListener; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Named(value = "autorizacionListener") |
||||
|
@SessionScoped |
||||
|
public class AutorizacionListener implements PhaseListener { |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of AutorizacionListener |
||||
|
*/ |
||||
|
public AutorizacionListener() { |
||||
|
} |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
@Override |
||||
|
public void afterPhase(PhaseEvent event) { |
||||
|
try { |
||||
|
//Obtener la pagina actual para validar la sesion
|
||||
|
String paginaActual = event.getFacesContext().getViewRoot().getViewId(); |
||||
|
|
||||
|
//inicializar la sesion en caso de no haber sesion
|
||||
|
DemoBeanLogin.getSession(); |
||||
|
|
||||
|
//Revisar que no sea la pafina index y que no estes logueado
|
||||
|
//para redireccionar
|
||||
|
if (!paginaActual.contains("index.xhtml") && DemoBeanLogin.getEstatus() == false) { |
||||
|
FacesContext.getCurrentInstance().getExternalContext().redirect("faces/index.xhtml?faces-redirect=true"); |
||||
|
|
||||
|
NavigationHandler nh = event.getFacesContext().getApplication().getNavigationHandler(); |
||||
|
nh.handleNavigation(event.getFacesContext(), null, "index"); |
||||
|
} |
||||
|
} catch (IOException e) { |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void beforePhase(PhaseEvent event) { |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public PhaseId getPhaseId() { |
||||
|
return PhaseId.RESTORE_VIEW; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,165 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.seguridad; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import javax.ejb.EJB; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.application.NavigationHandler; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import javax.servlet.http.HttpSession; |
||||
|
import xforce.bl.LoginBL; |
||||
|
import xforce.bl.LoginBLLocal; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Named(value = "demoBeanLogin") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanLogin implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private LoginBLLocal loginBL; |
||||
|
|
||||
|
//variable para manejar la sesion
|
||||
|
public static HttpSession httpSession; |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of DemoBeanLogin |
||||
|
*/ |
||||
|
public DemoBeanLogin() { |
||||
|
} |
||||
|
|
||||
|
private Usuarios usuarios = new Usuarios(); |
||||
|
|
||||
|
private String rol; |
||||
|
private String user; |
||||
|
private static String http = "pinchilink"; |
||||
|
private boolean permisos = false; |
||||
|
|
||||
|
public Usuarios getUsuarios() { |
||||
|
return usuarios; |
||||
|
} |
||||
|
|
||||
|
public void setUsuarios(Usuarios usuarios) { |
||||
|
this.usuarios = usuarios; |
||||
|
} |
||||
|
|
||||
|
public String getRol() { |
||||
|
return rol; |
||||
|
} |
||||
|
|
||||
|
public void setRol(String rol) { |
||||
|
this.rol = rol; |
||||
|
} |
||||
|
|
||||
|
public String getUser() { |
||||
|
return user; |
||||
|
} |
||||
|
|
||||
|
public void setUser(String user) { |
||||
|
this.user = user; |
||||
|
} |
||||
|
|
||||
|
public boolean isPermisos() { |
||||
|
return permisos; |
||||
|
} |
||||
|
|
||||
|
public void setPermisos(boolean permisos) { |
||||
|
this.permisos = permisos; |
||||
|
} |
||||
|
|
||||
|
public static void getSession() { |
||||
|
httpSession = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false); |
||||
|
} |
||||
|
|
||||
|
public String logout() { |
||||
|
//quitar atributo
|
||||
|
//invalidar la session
|
||||
|
System.out.println(http); |
||||
|
httpSession.removeAttribute(http); |
||||
|
httpSession.invalidate(); |
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public String login() { |
||||
|
//BL de autenticacion de usuario
|
||||
|
//poner atributo
|
||||
|
|
||||
|
Mensaje mensaje = loginBL.login(usuarios); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
|
||||
|
rol = loginBL.rol(usuarios); |
||||
|
|
||||
|
user = usuarios.getNombre(); |
||||
|
|
||||
|
System.out.println(rol); |
||||
|
httpSession.setAttribute(http, "true"); |
||||
|
permiso(); |
||||
|
System.out.println(permisos); |
||||
|
usuarios = new Usuarios(); |
||||
|
return "productoLista.xhtml"; |
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null;//"productoLista?faces-redirect=true"; // Redirecciona a la lista de productos
|
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static boolean getEstatus() { |
||||
|
if (httpSession != null |
||||
|
&& httpSession.getId() != null |
||||
|
&& !httpSession.getId().isEmpty() |
||||
|
&& httpSession.getAttribute("pinchilink") != null) { |
||||
|
return true; |
||||
|
} else { |
||||
|
return false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void verificarAcceso(String rolesRequeridos) { |
||||
|
String[] roles = rolesRequeridos.split(","); |
||||
|
boolean accesoPermitido = false; |
||||
|
for (String rolRequerido : roles) { |
||||
|
if (rolRequerido.equals(rol)) { |
||||
|
accesoPermitido = true; |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
if (!accesoPermitido) { |
||||
|
FacesContext context = FacesContext.getCurrentInstance(); |
||||
|
NavigationHandler handler = context.getApplication().getNavigationHandler(); |
||||
|
handler.handleNavigation(context, null, "productoLista.xhtml?faces-redirect=true"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void permiso() { |
||||
|
switch (rol) { |
||||
|
case "admin": |
||||
|
permisos = true; |
||||
|
break; |
||||
|
case "vendedor": |
||||
|
permisos = false; |
||||
|
break; |
||||
|
case "gestor": |
||||
|
permisos = false; |
||||
|
break; |
||||
|
default: |
||||
|
throw new AssertionError(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,97 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.ejb.EJB; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import xforce.bl.EstadosBLLocal; |
||||
|
import xforce.modelo.Estados; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Named(value = "demoBeanEstados") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanEstados implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private EstadosBLLocal estadosBL; |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of DemoBeanEstados |
||||
|
*/ |
||||
|
public DemoBeanEstados() { |
||||
|
} |
||||
|
|
||||
|
private Estados estados = new Estados(); |
||||
|
|
||||
|
private String titulo; |
||||
|
|
||||
|
private boolean nuevo; |
||||
|
|
||||
|
public List<Estados> getEstados() { |
||||
|
return estadosBL.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
public Estados getEstado() { |
||||
|
return estados; |
||||
|
} |
||||
|
|
||||
|
public void setEstado(Estados estados) { |
||||
|
this.estados = estados; |
||||
|
} |
||||
|
|
||||
|
public String getTitulo() { |
||||
|
return titulo; |
||||
|
} |
||||
|
|
||||
|
public void setTitulo(String titulo) { |
||||
|
this.titulo = titulo; |
||||
|
} |
||||
|
|
||||
|
public String agregarEstados() { |
||||
|
|
||||
|
Mensaje mensaje = estadosBL.agregar(estados); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
estados = new Estados(); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("productoTable:messages"); |
||||
|
return null;//"productoLista?faces-redirect=true"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void eliminarEstados(Estados estados) { |
||||
|
nuevo = false; |
||||
|
this.estados = estados; |
||||
|
estadosBL.eliminar(estados); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("productoTable:messages"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void prepararNuevo() { |
||||
|
nuevo = true; |
||||
|
estados = new Estados(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,184 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import java.util.Locale; |
||||
|
import javax.ejb.EJB; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import org.primefaces.util.LangUtils; |
||||
|
import xforce.bl.MarcaBLLocal; |
||||
|
import xforce.modelo.Marca; |
||||
|
import xforce.msg.Mensaje; |
||||
|
import static xforce.msg.Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
import static xforce.msg.Mensaje.DATOS_INCORRECTOS; |
||||
|
import static xforce.msg.Mensaje.ELEMENTO_DUPLICADO; |
||||
|
import static xforce.msg.Mensaje.SIN_ERROR; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Named(value = "demoBeanMarca") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanMarca implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private MarcaBLLocal marcaBL; |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of DemoBeanMarca |
||||
|
*/ |
||||
|
|
||||
|
private Marca marca = new Marca(); |
||||
|
private String titulo; |
||||
|
private boolean nuevo; |
||||
|
private List<Marca> marcaFilter; |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
public DemoBeanMarca() { |
||||
|
} |
||||
|
|
||||
|
public String agregar() { |
||||
|
Mensaje mensaje = marcaBL.agregar(marca); |
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
marca = new Marca(); |
||||
|
PrimeFaces.current().executeScript("PF('mar').hide()"); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
return "marcaLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
public String editarMarca(){ |
||||
|
Mensaje mensaje = marcaBL.editar(marca); |
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
marca = new Marca(); |
||||
|
PrimeFaces.current().executeScript("PF('mar').hide()"); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
return "marcaLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
// public String buscar() {
|
||||
|
// Marca marca = new Marca();
|
||||
|
// marca.setId(1);
|
||||
|
// marcaBL.buscarId(marca);
|
||||
|
// return "index.xhtml";
|
||||
|
// }
|
||||
|
//
|
||||
|
// public String buscarNombre() {
|
||||
|
// Marca marca = new Marca();
|
||||
|
// marca.setNombre("patito");
|
||||
|
// marcaBL.buscarNombre(marca);
|
||||
|
// return "index.xhtml";
|
||||
|
// }
|
||||
|
|
||||
|
public String buscarValidos() { |
||||
|
System.out.println(marcaBL.buscarValidos(true)); |
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
public List<Marca> getMarcas(){ |
||||
|
return marcaBL.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public Marca getMarca() { |
||||
|
return marca; |
||||
|
} |
||||
|
|
||||
|
public void setMarca(Marca marca) { |
||||
|
this.marca = marca; |
||||
|
} |
||||
|
|
||||
|
public boolean isNuevo() { |
||||
|
return nuevo; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public void rellenarEditar(Marca marca){ |
||||
|
nuevo = false; |
||||
|
titulo="Editando marca"; |
||||
|
this.marca=marca; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public String getTitulo() { |
||||
|
return titulo; |
||||
|
} |
||||
|
public void prepararNuevo(){ |
||||
|
nuevo = true; |
||||
|
titulo="Nueva marca"; |
||||
|
marca = new Marca(); |
||||
|
|
||||
|
} |
||||
|
public void prepararEliminar(Marca marca){ |
||||
|
titulo = "Eliminar Marca"; |
||||
|
this.marca = marca; |
||||
|
} |
||||
|
public String eliminarMarca(){ |
||||
|
Mensaje mensaje = marcaBL.eliminar(marca); |
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
PrimeFaces.current().executeScript("PF('dialogD').hide()"); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
return "marcaLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ERROR_PRODUCTOS_ASOCIADOS: |
||||
|
return null; |
||||
|
|
||||
|
default: |
||||
|
return null; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Marca> getMarcaFilter() { |
||||
|
return marcaFilter; |
||||
|
} |
||||
|
|
||||
|
public void setMarcaFilter(List<Marca> marcaFilter) { |
||||
|
this.marcaFilter = marcaFilter; |
||||
|
} |
||||
|
|
||||
|
public boolean globalFilterFunction(Object value, Object filter, Locale locale) { |
||||
|
String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase(); |
||||
|
if (LangUtils.isBlank(filterText)) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
Marca m = (Marca) value; |
||||
|
|
||||
|
return m.getNombre().toLowerCase().contains(filterText); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,126 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.ejb.EJB; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import xforce.bl.PaisesBLLocal; |
||||
|
import xforce.modelo.Paises; |
||||
|
import xforce.modelo.Producto; |
||||
|
import xforce.modelo.Tipo; |
||||
|
import xforce.msg.Mensaje; |
||||
|
import static xforce.msg.Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
import static xforce.msg.Mensaje.DATOS_INCORRECTOS; |
||||
|
import static xforce.msg.Mensaje.ELEMENTO_DUPLICADO; |
||||
|
import static xforce.msg.Mensaje.SIN_ERROR; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Named(value = "demoBeanPaises") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanPaises implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private PaisesBLLocal paisesBL; |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of DemoBeaPaises |
||||
|
*/ |
||||
|
public DemoBeanPaises() { |
||||
|
} |
||||
|
|
||||
|
private Paises paises = new Paises(); |
||||
|
|
||||
|
private String titulo; |
||||
|
|
||||
|
private boolean nuevo; |
||||
|
|
||||
|
public List<Paises> getPaises() { |
||||
|
return paisesBL.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
public Paises getPais() { |
||||
|
return paises; |
||||
|
} |
||||
|
|
||||
|
public void setPais(Paises paises) { |
||||
|
this.paises = paises; |
||||
|
} |
||||
|
|
||||
|
public String getTitulo() { |
||||
|
return titulo; |
||||
|
} |
||||
|
|
||||
|
public void setTitulo(String titulo) { |
||||
|
this.titulo = titulo; |
||||
|
} |
||||
|
|
||||
|
public String agregarPais() { |
||||
|
|
||||
|
Mensaje mensaje = paisesBL.agregar(paises); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
paises = new Paises(); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("productoTable:messages"); |
||||
|
return null;//"productoLista?faces-redirect=true"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public String editarProducto() { |
||||
|
|
||||
|
Mensaje mensaje = paisesBL.editar(paises); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
paises = new Paises(); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("productoTable:messages"); |
||||
|
return "productoLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void eliminarPais(Paises paises) { |
||||
|
nuevo = false; |
||||
|
this.paises = paises; |
||||
|
paisesBL.eliminar(paises); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("productoTable:messages"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void prepararNuevo() { |
||||
|
nuevo = true; |
||||
|
paises = new Paises(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,178 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import java.time.Instant; |
||||
|
import java.util.Date; |
||||
|
import java.util.List; |
||||
|
import java.util.Locale; |
||||
|
import javax.ejb.EJB; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import org.primefaces.model.SortMeta; |
||||
|
import org.primefaces.util.LangUtils; |
||||
|
import xforce.bl.ProductoBLLocal; |
||||
|
import xforce.modelo.Producto; |
||||
|
import xforce.modelo.Tipo; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Named(value = "demoBeanProducto") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanProducto implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private ProductoBLLocal productoBL; |
||||
|
|
||||
|
private Producto producto = new Producto(); |
||||
|
|
||||
|
private String titulo; |
||||
|
|
||||
|
private boolean nuevo; |
||||
|
|
||||
|
/////////////////////////////////////////
|
||||
|
private List<Producto> productoFilter;///
|
||||
|
////////////////////////////////////////
|
||||
|
|
||||
|
private List<SortMeta> sortBy; |
||||
|
|
||||
|
public List<SortMeta> getSortBy() { |
||||
|
return sortBy; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of DemoBeanProducto |
||||
|
*/ |
||||
|
public DemoBeanProducto() { |
||||
|
} |
||||
|
|
||||
|
public String agregarProducto() { |
||||
|
|
||||
|
//producto.setFecha(Date.from(Instant.now()));
|
||||
|
|
||||
|
Mensaje mensaje = productoBL.agregar(producto); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
producto = new Producto(); |
||||
|
PrimeFaces.current().executeScript("PF('dialogProducto').hide()"); |
||||
|
PrimeFaces.current().ajax().update("productoTable:messages"); |
||||
|
return "productoLista.xhtml";//"productoLista?faces-redirect=true"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public String editarProducto() { |
||||
|
|
||||
|
Mensaje mensaje = productoBL.editar(producto); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
producto = new Producto(); |
||||
|
PrimeFaces.current().executeScript("PF('dialogProducto').hide()"); |
||||
|
PrimeFaces.current().ajax().update("productoTable:messages"); |
||||
|
return "productoLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void eliminarProducto() { |
||||
|
|
||||
|
productoBL.eliminar(producto); |
||||
|
|
||||
|
PrimeFaces.current().executeScript("PF('deleteProducto').hide()"); |
||||
|
PrimeFaces.current().ajax().update("productoTable:messages"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void prepararEditar(Producto producto) { |
||||
|
nuevo = false; |
||||
|
titulo = "Editando Producto"; |
||||
|
this.producto = producto; |
||||
|
} |
||||
|
|
||||
|
public void prepararNuevo() { |
||||
|
nuevo = true; |
||||
|
titulo = "Nuevo Producto"; |
||||
|
producto = new Producto(); |
||||
|
} |
||||
|
|
||||
|
public void prepararEliminar(Producto producto) { |
||||
|
this.producto = producto; |
||||
|
} |
||||
|
|
||||
|
public List<Producto> getProductos() { |
||||
|
return productoBL.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
//////////////////////////////////////////////////////////////////////
|
||||
|
public List<Producto> getProductoFilter() { //
|
||||
|
return productoFilter; //
|
||||
|
} //
|
||||
|
//
|
||||
|
|
||||
|
public void setProductoFilter(List<Producto> productoFilter) { //
|
||||
|
this.productoFilter = productoFilter; //
|
||||
|
} //
|
||||
|
//////////////////////////////////////////////////////////////////////
|
||||
|
|
||||
|
public Producto getProducto() { |
||||
|
return producto; |
||||
|
} |
||||
|
|
||||
|
public void setProducto(Producto producto) { |
||||
|
this.producto = producto; |
||||
|
} |
||||
|
|
||||
|
public String getTitulo() { |
||||
|
return titulo; |
||||
|
} |
||||
|
|
||||
|
public boolean isNuevo() { |
||||
|
return nuevo; |
||||
|
} |
||||
|
|
||||
|
public boolean globalFilterFunction(Object value, Object filter, Locale locale) { |
||||
|
String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase(); |
||||
|
if (LangUtils.isBlank(filterText)) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
Producto p = (Producto) value; |
||||
|
|
||||
|
return p.getNombre().toLowerCase().contains(filterText) |
||||
|
|| String.valueOf(p.getCodigo()).contains(filterText) |
||||
|
|| String.valueOf(p.getPrecio()).contains(filterText) |
||||
|
|| String.valueOf(p.getPiezas()).contains(filterText) |
||||
|
|| String.valueOf(p.getFecha()).contains(filterText) |
||||
|
|| p.getProveedorIdproveedor().getMarcaId().getNombre().toLowerCase().contains(filterText) |
||||
|
|| p.getProveedorIdproveedor().getNombre().toLowerCase().contains(filterText) |
||||
|
|| p.getTipoId().getTipo().toLowerCase().contains(filterText) |
||||
|
|| p.getUbicacionId().getLugar().toLowerCase().contains(filterText); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,212 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import java.util.Locale; |
||||
|
import javax.ejb.EJB; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import org.primefaces.util.LangUtils; |
||||
|
import xforce.bl.ProveedorBLLocal; |
||||
|
import xforce.modelo.Proveedor; |
||||
|
import xforce.modelo.Ubicacion; |
||||
|
import xforce.msg.Mensaje; |
||||
|
import static xforce.msg.Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
import static xforce.msg.Mensaje.DATOS_INCORRECTOS; |
||||
|
import static xforce.msg.Mensaje.ELEMENTO_DUPLICADO; |
||||
|
import static xforce.msg.Mensaje.SIN_ERROR; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
@Named(value = "demoBeanProveedor") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanProveedor implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private ProveedorBLLocal proveedorBL; |
||||
|
|
||||
|
private Proveedor proveedor = new Proveedor(); |
||||
|
private String titulo; |
||||
|
private boolean nuevo; |
||||
|
private List<Proveedor> proveedorFilter; |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of DemoBeanProveedor |
||||
|
*/ |
||||
|
public DemoBeanProveedor() { |
||||
|
} |
||||
|
|
||||
|
public String agregar() { |
||||
|
|
||||
|
Mensaje mensaje = proveedorBL.agregar(proveedor); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
proveedor = new Proveedor(); |
||||
|
PrimeFaces.current().executeScript("PF('dialogproveedor').hide()"); |
||||
|
PrimeFaces.current().ajax().update("proveedorTabla:messages"); |
||||
|
return "proveedorLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<Proveedor> getProveedorFilter() { |
||||
|
return proveedorFilter; |
||||
|
} |
||||
|
|
||||
|
public void setProveedorFilter(List<Proveedor> proveedorFilter) { |
||||
|
this.proveedorFilter = proveedorFilter; |
||||
|
} |
||||
|
|
||||
|
public boolean globalFilterFunction(Object value, Object filter, Locale locale) { |
||||
|
String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase(); |
||||
|
if (LangUtils.isBlank(filterText)) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
Proveedor p = (Proveedor) value; |
||||
|
|
||||
|
return p.getNombre().toLowerCase().contains(filterText) |
||||
|
|| p.getTelefono().contains(filterText) |
||||
|
|| p.getEmail().contains(filterText); |
||||
|
} |
||||
|
|
||||
|
public void agregarProveedor() { |
||||
|
proveedorBL.agregar(proveedor); |
||||
|
} |
||||
|
|
||||
|
public String eliminar() { |
||||
|
Proveedor p = new Proveedor(); |
||||
|
p.setId(1); |
||||
|
proveedorBL.eliminar(p); |
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public String buscar() { |
||||
|
Proveedor p = new Proveedor(); |
||||
|
p.setId(1); |
||||
|
proveedorBL.buscarId(p); |
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public String buscarNombre() { |
||||
|
Proveedor p = new Proveedor(); |
||||
|
p.setNombre("DHL"); |
||||
|
proveedorBL.buscarNombre(p); |
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public String editar() { |
||||
|
|
||||
|
Proveedor p = new Proveedor(); |
||||
|
p.setId(1); |
||||
|
p.setNombre("comex"); |
||||
|
p.setEmail("comex@gmail.com"); |
||||
|
p.setTelefono("3433445577"); |
||||
|
p.setEstado(2); |
||||
|
|
||||
|
proveedorBL.editar(p); |
||||
|
|
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public String buscarValidos() { |
||||
|
System.out.println(proveedorBL.buscarValidos(true)); |
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public List<Proveedor> getProveedores() { |
||||
|
return proveedorBL.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
public Proveedor getProveedor() { |
||||
|
return proveedor; |
||||
|
} |
||||
|
|
||||
|
public void setProveedor(Proveedor proveedor) { |
||||
|
this.proveedor = proveedor; |
||||
|
} |
||||
|
|
||||
|
public void prepararEditar(Proveedor proveedor) { |
||||
|
nuevo = false; |
||||
|
titulo = "Editando Proveedor"; |
||||
|
this.proveedor = proveedor; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public String getTitulo() { |
||||
|
return titulo; |
||||
|
} |
||||
|
|
||||
|
public boolean isNuevo() { |
||||
|
return nuevo; |
||||
|
} |
||||
|
|
||||
|
public void prepararnuevo() { |
||||
|
nuevo = true; |
||||
|
titulo = "Agregando proveedor"; |
||||
|
proveedor = new Proveedor(); |
||||
|
} |
||||
|
|
||||
|
public String editarP() { |
||||
|
|
||||
|
Mensaje mensaje = proveedorBL.editar(proveedor); |
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
proveedor = new Proveedor(); |
||||
|
PrimeFaces.current().executeScript("PF('dialogproveedor').hide()"); |
||||
|
PrimeFaces.current().ajax().update("proveedorTabla:messages"); |
||||
|
return "proveedorLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void prepararEliminar(Proveedor proveedor) { |
||||
|
titulo = "Eliminar proveedor"; |
||||
|
this.proveedor = proveedor; |
||||
|
} |
||||
|
|
||||
|
public String eliminarProveedor() { |
||||
|
Mensaje mensaje = proveedorBL.eliminar(proveedor); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
PrimeFaces.current().executeScript("PF('deleteProveedor').hide()"); |
||||
|
PrimeFaces.current().ajax().update("proveedorTabla:messages"); |
||||
|
return "proveedorLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
case ERROR_PRODUCTOS_ASOCIADOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,116 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.ejb.EJB; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import xforce.bl.RolesBLLocal; |
||||
|
import xforce.modelo.Roles; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
@Named(value = "demoBeanRoles") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanRoles implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private RolesBLLocal rolesBL; |
||||
|
/** |
||||
|
* Creates a new instance of DemoBeanRoles |
||||
|
*/ |
||||
|
|
||||
|
public DemoBeanRoles() { |
||||
|
} |
||||
|
|
||||
|
private Roles roles = new Roles(); |
||||
|
private boolean nuevo; |
||||
|
private String titulo; |
||||
|
|
||||
|
public String agregarRol(){ |
||||
|
Mensaje mensaje = rolesBL.agregar(roles); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
roles = new Roles(); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
return null; |
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void prepararNuevo() { |
||||
|
nuevo = true; |
||||
|
titulo = "Roles"; |
||||
|
roles = new Roles(); |
||||
|
} |
||||
|
|
||||
|
public boolean isNuevo() { |
||||
|
return nuevo; |
||||
|
} |
||||
|
|
||||
|
public void eliminarRol(Roles roles) { |
||||
|
nuevo=false; |
||||
|
this.roles = roles; |
||||
|
rolesBL.eliminar(roles); |
||||
|
PrimeFaces.current().ajax().update("marcaTable:messages"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
|
||||
|
} |
||||
|
public String getTitulo() { |
||||
|
return titulo; |
||||
|
} |
||||
|
public List<Roles> getRoles() { |
||||
|
return rolesBL.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
public Roles getRol() { |
||||
|
return roles; |
||||
|
} |
||||
|
|
||||
|
public void setRol(Roles rol) { |
||||
|
this.roles = rol; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,89 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import javax.ejb.EJB; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import xforce.bl.TipoBLLocal; |
||||
|
import xforce.modelo.Tipo; |
||||
|
import xforce.msg.Mensaje; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
@Named(value = "demoBeanTipo") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanTipo implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private TipoBLLocal tipoBl; |
||||
|
private Tipo tipo = new Tipo(); |
||||
|
private String titulo; |
||||
|
private boolean nuevo; |
||||
|
private List<Tipo> proveedorFilter; |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of DemoBeanTipo |
||||
|
*/ |
||||
|
public DemoBeanTipo() { |
||||
|
} |
||||
|
|
||||
|
public String agregar() { |
||||
|
|
||||
|
Mensaje mensaje = tipoBl.agregar(tipo); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
tipo = new Tipo(); |
||||
|
PrimeFaces.current().ajax().update("ubicacionTabla:messages"); |
||||
|
|
||||
|
return null; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
public void eliminarTipo(Tipo tipo) { |
||||
|
nuevo=false; |
||||
|
this.tipo = tipo; |
||||
|
tipoBl.eliminar(tipo); |
||||
|
PrimeFaces.current().ajax().update("tipT:messages"); |
||||
|
PrimeFaces.current().ajax().update("ubicacionTabla:messages"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
public void prepararNuevo() { |
||||
|
nuevo = true; |
||||
|
|
||||
|
tipo = new Tipo(); |
||||
|
} |
||||
|
|
||||
|
public boolean isNuevo() { |
||||
|
return nuevo; |
||||
|
} |
||||
|
public List<Tipo> getTipos() { |
||||
|
return tipoBl.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
public Tipo getTipo() { |
||||
|
return tipo; |
||||
|
} |
||||
|
|
||||
|
public void setTipo(Tipo tip) { |
||||
|
this.tipo = tip; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,213 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import java.util.Locale; |
||||
|
import javax.ejb.EJB; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import org.primefaces.util.LangUtils; |
||||
|
import xforce.bl.UbicacionBLLocal; |
||||
|
import xforce.modelo.Marca; |
||||
|
import xforce.modelo.Ubicacion; |
||||
|
import xforce.msg.Mensaje; |
||||
|
import static xforce.msg.Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
import static xforce.msg.Mensaje.DATOS_INCORRECTOS; |
||||
|
import static xforce.msg.Mensaje.ELEMENTO_DUPLICADO; |
||||
|
import static xforce.msg.Mensaje.SIN_ERROR; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author oscar |
||||
|
*/ |
||||
|
@Named(value = "demoBeanUbicacion") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanUbicacion implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private UbicacionBLLocal ubicacionBL; |
||||
|
private Ubicacion ubicacion = new Ubicacion(); |
||||
|
private String titulo; |
||||
|
private boolean nuevo; |
||||
|
private List<Ubicacion> ubicacionFilter; |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of DemoBeanUbicacion |
||||
|
*/ |
||||
|
public DemoBeanUbicacion() { |
||||
|
} |
||||
|
|
||||
|
public String agregar() { |
||||
|
|
||||
|
Mensaje mensaje = ubicacionBL.agregar(ubicacion); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
ubicacion = new Ubicacion(); |
||||
|
PrimeFaces.current().executeScript("PF('mar').hide()"); |
||||
|
PrimeFaces.current().ajax().update("ubicacionTabla:messages"); |
||||
|
return "ubicacionLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public String editarU() { |
||||
|
|
||||
|
Mensaje mensaje = ubicacionBL.editar(ubicacion); |
||||
|
switch (mensaje) { |
||||
|
|
||||
|
case SIN_ERROR: |
||||
|
PrimeFaces.current().executeScript("PF('mar').hide()"); |
||||
|
PrimeFaces.current().ajax().update("ubicacionTabla:messages"); |
||||
|
ubicacion = new Ubicacion(); |
||||
|
return "ubicacionLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public List<Ubicacion> getUbicacionFilter() { |
||||
|
return ubicacionFilter; |
||||
|
} |
||||
|
|
||||
|
public void setUbicacionFilter(List<Ubicacion> ubicacionFilter) { |
||||
|
this.ubicacionFilter = ubicacionFilter; |
||||
|
} |
||||
|
|
||||
|
public boolean globalFilterFunction(Object value, Object filter, Locale locale) { |
||||
|
String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase(); |
||||
|
if (LangUtils.isBlank(filterText)) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
Ubicacion p = (Ubicacion) value; |
||||
|
|
||||
|
return p.getBloque().toLowerCase().contains(filterText) |
||||
|
|| String.valueOf(p.getAnaquel()).contains(filterText); |
||||
|
} |
||||
|
|
||||
|
public void agregarUbicacion() { |
||||
|
ubicacionBL.agregar(ubicacion); |
||||
|
} |
||||
|
|
||||
|
public String eliminar() { |
||||
|
|
||||
|
Ubicacion ubi = new Ubicacion(); |
||||
|
ubi.setId(1); |
||||
|
ubicacionBL.eliminar(ubi); |
||||
|
|
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public String buscar() { |
||||
|
Ubicacion p = new Ubicacion(); |
||||
|
p.setId(2); |
||||
|
ubicacionBL.buscarId(p); |
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public String buscarNombre() { |
||||
|
Ubicacion p = new Ubicacion(); |
||||
|
p.setBloque(""); |
||||
|
ubicacionBL.buscaUbicacion(p); |
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public String editar() { |
||||
|
|
||||
|
Ubicacion p = new Ubicacion(); |
||||
|
p.setId(1); |
||||
|
p.setBloque(""); |
||||
|
p.setAnaquel(1); |
||||
|
p.setEstado(2); |
||||
|
|
||||
|
ubicacionBL.editar(p); |
||||
|
|
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public String buscarValidos() { |
||||
|
System.out.println(ubicacionBL.buscarValidos(true)); |
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public List<Ubicacion> getUbicacion() { |
||||
|
return ubicacionBL.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
public Ubicacion getUbi() { |
||||
|
return ubicacion; |
||||
|
} |
||||
|
|
||||
|
public void setUbicacion(Ubicacion ubicacion) { |
||||
|
this.ubicacion = ubicacion; |
||||
|
} |
||||
|
|
||||
|
public void prepararEditar(Ubicacion ubicacion) { |
||||
|
nuevo = false; |
||||
|
titulo = "Editando ubicacion"; |
||||
|
this.ubicacion = ubicacion; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public String getTitulo() { |
||||
|
return titulo; |
||||
|
} |
||||
|
|
||||
|
public boolean isNuevo() { |
||||
|
return nuevo; |
||||
|
} |
||||
|
|
||||
|
public void prepararnuevo() { |
||||
|
nuevo = true; |
||||
|
titulo = "Agregando ubicacion"; |
||||
|
ubicacion = new Ubicacion(); |
||||
|
} |
||||
|
|
||||
|
public void prepararEliminar(Ubicacion ubicacion) { |
||||
|
|
||||
|
titulo="Eliminar ubicacion"; |
||||
|
|
||||
|
this.ubicacion = ubicacion; |
||||
|
} |
||||
|
|
||||
|
public String eliminarUbicacion() { |
||||
|
Mensaje mensaje = ubicacionBL.eliminar(ubicacion); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
|
||||
|
case SIN_ERROR: |
||||
|
PrimeFaces.current().executeScript("PF('deleteUbicacion').hide()"); |
||||
|
PrimeFaces.current().ajax().update("ubicacionTabla:messages"); |
||||
|
return "ubicacionLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,182 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
import java.util.Locale; |
||||
|
import javax.ejb.EJB; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import org.primefaces.util.LangUtils; |
||||
|
import xforce.bl.UsuariosBLLocal; |
||||
|
import xforce.modelo.Estados; |
||||
|
import xforce.modelo.Usuarios; |
||||
|
import xforce.msg.Mensaje; |
||||
|
import static xforce.msg.Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
import static xforce.msg.Mensaje.DATOS_INCORRECTOS; |
||||
|
import static xforce.msg.Mensaje.ELEMENTO_DUPLICADO; |
||||
|
import static xforce.msg.Mensaje.SIN_ERROR; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author hugoa |
||||
|
*/ |
||||
|
@Named(value = "demoBeanUsuarios") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanUsuarios implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private UsuariosBLLocal usuariosBL; |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of DemoBeanUsuarios |
||||
|
*/ |
||||
|
private Usuarios usuario = new Usuarios(); |
||||
|
private String titulo; |
||||
|
private boolean nuevo; |
||||
|
private List<Usuarios> usuariosFilter; |
||||
|
|
||||
|
public DemoBeanUsuarios() { |
||||
|
} |
||||
|
|
||||
|
public String agregar() { |
||||
|
|
||||
|
Estados estao = new Estados(); |
||||
|
estao.setId(3); |
||||
|
|
||||
|
usuario.setEstadosId(estao); |
||||
|
|
||||
|
Mensaje mensaje = usuariosBL.agregar(usuario); |
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
|
||||
|
usuario = new Usuarios(); |
||||
|
PrimeFaces.current().executeScript("PF('user').hide()"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
return "usuariosLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void eliminarUsuario() { |
||||
|
usuariosBL.eliminar(usuario); |
||||
|
PrimeFaces.current().executeScript("PF('userD').hide()"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
} |
||||
|
|
||||
|
public void prepararEliminar(Usuarios usuario) { |
||||
|
titulo = "Eliminar usuario"; |
||||
|
this.usuario = usuario; |
||||
|
} |
||||
|
|
||||
|
public String buscarValidos() { |
||||
|
System.out.println(usuariosBL.buscarValidos(true)); |
||||
|
|
||||
|
return "index.xhtml"; |
||||
|
} |
||||
|
|
||||
|
public List<Usuarios> getUsuarios() { |
||||
|
return usuariosBL.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
public String editarUsuario() { |
||||
|
Mensaje mensaje = usuariosBL.editar(usuario); |
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
usuario = new Usuarios(); |
||||
|
PrimeFaces.current().executeScript("PF('user').hide()"); |
||||
|
PrimeFaces.current().ajax().update("userTable:messages"); |
||||
|
return "usuariosLista.xhtml"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void prepararNuevo() { |
||||
|
nuevo = true; |
||||
|
titulo = "Nuevo usuario"; |
||||
|
usuario = new Usuarios(); |
||||
|
} |
||||
|
|
||||
|
public boolean isNuevo() { |
||||
|
return nuevo; |
||||
|
} |
||||
|
|
||||
|
public void rellenarEditar(Usuarios usuario) { |
||||
|
nuevo = false; |
||||
|
titulo = "Editando usuario"; |
||||
|
this.usuario = usuario; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public String getTitulo() { |
||||
|
return titulo; |
||||
|
} |
||||
|
|
||||
|
public Usuarios getUsuario() { |
||||
|
return usuario; |
||||
|
} |
||||
|
|
||||
|
public void setUsuario(Usuarios usuario) { |
||||
|
this.usuario = usuario; |
||||
|
} |
||||
|
|
||||
|
public List<Usuarios> getUsuariosFilter() { |
||||
|
return usuariosFilter; |
||||
|
} |
||||
|
|
||||
|
public void setUsuariosFilter(List<Usuarios> usuariosFilter) { |
||||
|
this.usuariosFilter = usuariosFilter; |
||||
|
} |
||||
|
|
||||
|
public boolean globalFilterFunction(Object value, Object filter, Locale locale) { |
||||
|
String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase(); |
||||
|
if (LangUtils.isBlank(filterText)) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
Usuarios u = (Usuarios) value; |
||||
|
|
||||
|
return u.getNombre().toLowerCase().contains(filterText) |
||||
|
|| u.getApellidoPaterno().toLowerCase().contains(filterText) |
||||
|
|| u.getEmail().toLowerCase().contains(filterText) |
||||
|
|| u.getTelefono().toLowerCase().contains(filterText) |
||||
|
|| u.getRolesId().getRol().toLowerCase().contains(filterText) |
||||
|
|| u.getEstadosId().getNombre().toLowerCase().contains(filterText); |
||||
|
} |
||||
|
|
||||
|
// public String buscar() {
|
||||
|
// Usuarios usuarios = new Usuarios();
|
||||
|
//
|
||||
|
// usuarios.setId(4);
|
||||
|
//
|
||||
|
// usuariosBL.buscarId(usuarios);
|
||||
|
//
|
||||
|
// return "index.xhtml";
|
||||
|
// }
|
||||
|
//
|
||||
|
// public String buscarNombre(){
|
||||
|
// Usuarios usuario = new Usuarios();
|
||||
|
// usuario.setNombre("samuel");
|
||||
|
// usuariosBL.buscarNombre(usuario);
|
||||
|
// return "index.xhtml";
|
||||
|
// }
|
||||
|
} |
@ -0,0 +1,86 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import javax.faces.component.UIComponent; |
||||
|
import javax.faces.component.UISelectItem; |
||||
|
import javax.faces.component.UISelectItems; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
import javax.faces.convert.Converter; |
||||
|
import javax.faces.convert.FacesConverter; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@FacesConverter("selectOneMenuConverter") |
||||
|
public class SelectOneMenuConverter implements Converter{ |
||||
|
|
||||
|
@Override |
||||
|
public Object getAsObject(final FacesContext arg0, final UIComponent arg1, final String objectString) { |
||||
|
if (objectString == null) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
return fromSelect(arg1, objectString); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Serialize. |
||||
|
* |
||||
|
* @param object the object |
||||
|
* @return the string |
||||
|
*/ |
||||
|
private String serialize(final Object object) { |
||||
|
if (object == null) { |
||||
|
return null; |
||||
|
} |
||||
|
return object.getClass() + "@" + object.hashCode(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* From select. |
||||
|
* |
||||
|
* @param currentcomponent the currentcomponent |
||||
|
* @param objectString the object string |
||||
|
* @return the object |
||||
|
*/ |
||||
|
private Object fromSelect(final UIComponent currentcomponent, final String objectString) { |
||||
|
|
||||
|
if (currentcomponent.getClass() == UISelectItem.class) { |
||||
|
final UISelectItem item = (UISelectItem) currentcomponent; |
||||
|
final Object value = item.getValue(); |
||||
|
if (objectString.equals(serialize(value))) { |
||||
|
return value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (currentcomponent.getClass() == UISelectItems.class) { |
||||
|
final UISelectItems items = (UISelectItems) currentcomponent; |
||||
|
final List<Object> elements = (List<Object>) items.getValue(); |
||||
|
for (final Object element : elements) { |
||||
|
if (objectString.equals(serialize(element))) { |
||||
|
return element; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (!currentcomponent.getChildren().isEmpty()) { |
||||
|
for (final UIComponent component : currentcomponent.getChildren()) { |
||||
|
final Object result = fromSelect(component, objectString); |
||||
|
if (result != null) { |
||||
|
return result; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public String getAsString(final FacesContext arg0, final UIComponent arg1, final Object object) { |
||||
|
return serialize(object); |
||||
|
} |
||||
|
} |
@ -0,0 +1,46 @@ |
|||||
|
/* |
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
|
||||
|
*/ |
||||
|
package xforce.vista; |
||||
|
|
||||
|
import javax.inject.Named; |
||||
|
import javax.enterprise.context.SessionScoped; |
||||
|
import java.io.Serializable; |
||||
|
import org.primefaces.PrimeFaces; |
||||
|
import org.primefaces.model.DialogFrameworkOptions; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author Samuel Gamez |
||||
|
*/ |
||||
|
@Named(value = "ventanas") |
||||
|
@SessionScoped |
||||
|
public class ventanas implements Serializable { |
||||
|
|
||||
|
/** |
||||
|
* Creates a new instance of ventanas |
||||
|
*/ |
||||
|
public ventanas() { |
||||
|
} |
||||
|
|
||||
|
////////////////////////////////////////////////////////////////////////////
|
||||
|
public void viewProductsCustomized() { |
||||
|
DialogFrameworkOptions options = DialogFrameworkOptions.builder() |
||||
|
.modal(true) |
||||
|
.width("640") |
||||
|
.height("340") |
||||
|
.contentHeight("100%") |
||||
|
.contentWidth("100%") |
||||
|
.headerElement("customheader") |
||||
|
.build(); |
||||
|
|
||||
|
System.out.println("si"); |
||||
|
PrimeFaces.current().dialog().openDynamic("paises1", options, null); |
||||
|
} |
||||
|
|
||||
|
public void close() { |
||||
|
PrimeFaces.current().dialog().closeDynamic(this); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,42 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8'?> |
||||
|
<!-- |
||||
|
|
||||
|
Licensed to the Apache Software Foundation (ASF) under one |
||||
|
or more contributor license agreements. See the NOTICE file |
||||
|
distributed with this work for additional information |
||||
|
regarding copyright ownership. The ASF licenses this file |
||||
|
to you under the Apache License, Version 2.0 (the |
||||
|
"License"); you may not use this file except in compliance |
||||
|
with the License. You may obtain a copy of the License at |
||||
|
|
||||
|
http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
|
||||
|
Unless required by applicable law or agreed to in writing, |
||||
|
software distributed under the License is distributed on an |
||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
||||
|
KIND, either express or implied. See the License for the |
||||
|
specific language governing permissions and limitations |
||||
|
under the License. |
||||
|
|
||||
|
--> |
||||
|
<faces-config version="2.2" |
||||
|
xmlns="http://xmlns.jcp.org/xml/ns/javaee" |
||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
|
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"> |
||||
|
|
||||
|
<lifecycle> |
||||
|
<phase-listener> |
||||
|
xforce.seguridad.AutorizacionListener |
||||
|
</phase-listener> |
||||
|
</lifecycle> |
||||
|
|
||||
|
<navigation-rule> |
||||
|
<from-view-id>*</from-view-id> |
||||
|
<navigation-case> |
||||
|
<from-outcome>accesoDenegado</from-outcome> |
||||
|
<to-view-id>/productoLista.xhtml</to-view-id> |
||||
|
</navigation-case> |
||||
|
</navigation-rule> |
||||
|
|
||||
|
|
||||
|
</faces-config> |
@ -0,0 +1,25 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> |
||||
|
<!-- |
||||
|
Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. |
||||
|
|
||||
|
This program and the accompanying materials are made available under the |
||||
|
terms of the Eclipse Public License v. 2.0, which is available at |
||||
|
http://www.eclipse.org/legal/epl-2.0. |
||||
|
|
||||
|
This Source Code may also be made available under the following Secondary |
||||
|
Licenses when the conditions for such availability set forth in the |
||||
|
Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
||||
|
version 2 with the GNU Classpath Exception, which is available at |
||||
|
https://www.gnu.org/software/classpath/license.html. |
||||
|
|
||||
|
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
||||
|
--> |
||||
|
<glassfish-web-app error-url=""> |
||||
|
<class-loader delegate="true"/> |
||||
|
<jsp-config> |
||||
|
<property name="keepgenerated" value="true"> |
||||
|
<description>Keep a copy of the generated servlet class' java code.</description> |
||||
|
</property> |
||||
|
</jsp-config> |
||||
|
</glassfish-web-app> |
@ -0,0 +1,28 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> |
||||
|
<context-param> |
||||
|
<param-name>javax.faces.PROJECT_STAGE</param-name> |
||||
|
<param-value>Development</param-value> |
||||
|
</context-param> |
||||
|
<servlet> |
||||
|
<servlet-name>Faces Servlet</servlet-name> |
||||
|
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class> |
||||
|
<load-on-startup>1</load-on-startup> |
||||
|
</servlet> |
||||
|
<servlet-mapping> |
||||
|
<servlet-name>Faces Servlet</servlet-name> |
||||
|
<url-pattern>/faces/*</url-pattern> |
||||
|
</servlet-mapping> |
||||
|
<session-config> |
||||
|
<session-timeout> |
||||
|
30 |
||||
|
</session-timeout> |
||||
|
</session-config> |
||||
|
<welcome-file-list> |
||||
|
<welcome-file>faces/productoLista.xhtml</welcome-file> |
||||
|
</welcome-file-list> |
||||
|
<context-param> |
||||
|
<param-name>javax.faces.CONFIG_FILES</param-name> |
||||
|
<param-value>/WEB-INF/faces-config.xml</param-value> |
||||
|
</context-param> |
||||
|
</web-app> |
@ -0,0 +1,140 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/XHtml.xhtml to edit this template |
||||
|
--> |
||||
|
<!DOCTYPE html> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:p="http://primefaces.org/ui" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core"> |
||||
|
|
||||
|
<body> |
||||
|
<f:view> |
||||
|
|
||||
|
<header style="display: flex; justify-content: center; font-size: 30px;"><strong>Estados</strong></header> |
||||
|
<p:divider/> |
||||
|
<main style="display: flex; justify-content: space-between; gap: 10px;"> |
||||
|
|
||||
|
<h:form id="formEstados"> |
||||
|
|
||||
|
<p:growl id="growl" showDetail="true" for="mensajePaises"/> |
||||
|
|
||||
|
<p:dataTable id="tableEstados" |
||||
|
value="#{demoBeanEstados.estados}" |
||||
|
var="item" |
||||
|
style="width: 600px" |
||||
|
paginator="true" |
||||
|
rows="5" |
||||
|
rowSelectMode="add" |
||||
|
paginatorPosition="bottom" > |
||||
|
|
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Nombre"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.nombre}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Estado"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.estado == 2 ? 'Activo':'Inactivo'}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Pais"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.paisesId.nombre}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<center> |
||||
|
<h:outputText value="Opciones"/> |
||||
|
</center> |
||||
|
</f:facet> |
||||
|
<p:commandButton action="#{demoBeanEstados.eliminarEstados(item)}" |
||||
|
ajax="true" |
||||
|
icon="pi pi-trash" |
||||
|
styleClass="ui-button-warning" |
||||
|
style="margin-top: 5px; width: 50px;" |
||||
|
update="formPais" /> |
||||
|
|
||||
|
</p:column> |
||||
|
|
||||
|
</p:dataTable> |
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
<h:form style="margin-left: 20px; margin-top: 20px;"> |
||||
|
|
||||
|
<header style="display: flex; justify-content: center;">Nuevo Estado</header> |
||||
|
<p:divider/> |
||||
|
|
||||
|
<h:panelGrid columns="2"> |
||||
|
<p:outputLabel value="Nombre:" for="nombre" /> |
||||
|
<p:inputText id="nombre" value="#{demoBeanEstados.estado.nombre}" |
||||
|
title="Nombre" |
||||
|
required="true" |
||||
|
validatorMessage="Verifique el nombre" |
||||
|
requiredMessage="Este campo no puede estar vacio"> |
||||
|
|
||||
|
<f:validateRegex pattern="\b[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,}(?:\s+[A-Za-zÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,})*\b" |
||||
|
for="nombre" /> |
||||
|
|
||||
|
</p:inputText> |
||||
|
|
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="alertNombre" for="nombre"/> |
||||
|
|
||||
|
<p:outputLabel value="Pais:" for="paisesId" /> |
||||
|
<p:selectOneMenu id="paisesId" |
||||
|
value="#{demoBeanEstados.estado.paisesId}" |
||||
|
converter="selectOneMenuConverter" |
||||
|
required="true" |
||||
|
requiredMessage="Se necesita un pais" |
||||
|
|
||||
|
filter="true" |
||||
|
filterMatchMode="startsWith" > |
||||
|
<!-- Arriba esta lo del filtro, jsjsjsjs --> |
||||
|
|
||||
|
<!-- TODO: update below reference to list of available items--> |
||||
|
<f:selectItems value="#{demoBeanPaises.paises}" |
||||
|
var="item" |
||||
|
itemLabel="#{item.nombre}" |
||||
|
itemValue="#{item}"/> |
||||
|
</p:selectOneMenu> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="alertPais" for="paisesId"/> |
||||
|
|
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<footer style="display: flex; margin-top: 280px; justify-content: flex-end;"> |
||||
|
<p:commandButton action="#{demoBeanEstados.agregarEstados()}" |
||||
|
ajax="true" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
icon="pi pi-check" |
||||
|
update="formEstados:tableEstados, nombre, paisesId, |
||||
|
alertNombre, alertPais, formEstados:growl" /> |
||||
|
|
||||
|
<p:commandButton oncomplete="PF('estado').close()" |
||||
|
immediate="true" |
||||
|
ajax="false" |
||||
|
style="margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger"/> |
||||
|
</footer> |
||||
|
|
||||
|
</h:form> |
||||
|
</main> |
||||
|
|
||||
|
</f:view> |
||||
|
|
||||
|
|
||||
|
</body> |
||||
|
</html> |
||||
|
|
@ -0,0 +1,15 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<!-- |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Html.html to edit this template |
||||
|
--> |
||||
|
<html> |
||||
|
<head> |
||||
|
<title>TODO supply a title</title> |
||||
|
<meta charset="UTF-8"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
</head> |
||||
|
<body> |
||||
|
<div>TODO write content</div> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,64 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
<h:head> |
||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
||||
|
<h:outputStylesheet name="./css/default.css"/> |
||||
|
<h:outputStylesheet name="./css/cssLayout.css"/> |
||||
|
|
||||
|
<title>Facelets Template</title> |
||||
|
<style> |
||||
|
|
||||
|
</style> |
||||
|
</h:head> |
||||
|
<center> |
||||
|
|
||||
|
<h:body style="text-align: center"> |
||||
|
<h2> Inventario almacen </h2> |
||||
|
|
||||
|
<h:form id="formLogin"> |
||||
|
|
||||
|
<p:growl id="growl" showDetail="true" for="mensajeLogin"/> |
||||
|
|
||||
|
|
||||
|
<p:panel header="Login" style="width:300px"> |
||||
|
|
||||
|
<h:panelGrid columns="1" cellpadding="5"> |
||||
|
|
||||
|
<p:inputText id="usuario" |
||||
|
value="#{demoBeanLogin.usuarios.nombre}" |
||||
|
title='nombre' |
||||
|
required="true" |
||||
|
requiredMessage="Este campo no puede estar vacio" |
||||
|
placeholder="Ingrese el usuario"> |
||||
|
</p:inputText> |
||||
|
|
||||
|
|
||||
|
<p:password id="contrasenia" |
||||
|
value="#{demoBeanLogin.usuarios.contrasenia}" |
||||
|
title="contraseña" |
||||
|
redisplay="true" |
||||
|
required="true" |
||||
|
|
||||
|
requiredMessage="Este campo no puede estar vacio" |
||||
|
placeholder="Ingrse la contraseña" |
||||
|
style="width: 223px"> |
||||
|
|
||||
|
</p:password> |
||||
|
|
||||
|
<p:commandButton value="Login" |
||||
|
action="#{demoBeanLogin.login()}" |
||||
|
ajax="false" |
||||
|
update=":formLogin"/> |
||||
|
</h:panelGrid> |
||||
|
|
||||
|
|
||||
|
</p:panel> |
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
</h:body> |
||||
|
</center> |
||||
|
</html> |
@ -0,0 +1,64 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
|
||||
|
<p:messages id="messages" showDetail="true" closable="true"> |
||||
|
<p:autoUpdate/> |
||||
|
</p:messages> |
||||
|
|
||||
|
<h1><h:outputText value="#{demoBeanMarca.titulo}"/></h1> |
||||
|
<h:panelGrid columns="3" cellpadding="7"> |
||||
|
|
||||
|
<p:outputLabel value="Nombre:" for="nombre" /> |
||||
|
<p:inputText id="nombre" value="#{demoBeanMarca.marca.nombre}" title="Nombre" required="true"> |
||||
|
|
||||
|
</p:inputText> |
||||
|
<p:message for="nombre" display="tooltip"/> |
||||
|
|
||||
|
</h:panelGrid> |
||||
|
<p:commandButton action="#{demoBeanMarca.agregar()}" update="messages" rendered="#{demoBeanMarca.nuevo}" styleClass="ui-button-success" style="width: 50px;" icon="pi pi-save" ajax="false"/> |
||||
|
<p:commandButton action="#{demoBeanMarca.editarMarca()}" update="messages" rendered="#{!demoBeanMarca.nuevo}" icon="pi pi-save" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
ajax="false"/> |
||||
|
|
||||
|
<p:commandButton action="marcaLista.xhtml" immediate="true" style="margin-left: 5px; width: 50px; " icon="pi pi-times" styleClass="ui-button-danger" |
||||
|
ajax="false"/> |
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
</f:view> |
||||
|
|
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,60 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<p:growl id="messages" showDetail="true"/> |
||||
|
<h1><h:outputText value="Eliminar"/></h1> |
||||
|
<p:panelGrid columns="2"> |
||||
|
<h:outputText value="Id:"/> |
||||
|
<h:outputText value="#{demoBeanMarca.marca.id}" title="Id"/> |
||||
|
<h:outputText value="Nombre:"/> |
||||
|
<h:outputText value="#{demoBeanMarca.marca.nombre}" title="Nombre"/> |
||||
|
<h:outputText value="Estado:"/> |
||||
|
<h:outputText value="#{demoBeanMarca.marca.estado == 2 ? 'Activo':'Inactivo'}" title="Estado"/> |
||||
|
</p:panelGrid> |
||||
|
<p:commandButton action="#{demoBeanMarca.eliminarMarca()}" ajax="false" |
||||
|
icon="pi pi-trash" |
||||
|
styleClass="ui-button-warning" |
||||
|
style=" width: 50px; " |
||||
|
|
||||
|
/> |
||||
|
<p:commandButton action="marcaLista.xhtml" immediate="true" |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger" |
||||
|
ajax="false" |
||||
|
style="margin-left: 5px; width: 50px;" |
||||
|
/> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,231 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:p="http://primefaces.org/ui" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/listas.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
<div> |
||||
|
<h:form> |
||||
|
<p:menubar > |
||||
|
|
||||
|
<p:menuitem value="Productos" action="productoLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Marcas" action="marcaLista.xhtml" disabled="true" ajax="false"/> |
||||
|
<p:menuitem value="Proveedores" action="proveedorLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Ubicaciones" action="ubicacionLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Usuarios" action="usuariosLista.xhtml" ajax="false"/> |
||||
|
<p:submenu label="Opciones" icon="pi pi-fw pi-list"> |
||||
|
<p:menuitem value="Roles" |
||||
|
icon="pi pi-fw pi-users" |
||||
|
oncomplete="PF('rol').show()" |
||||
|
update=":rolD" |
||||
|
actionListener="#{demoBeanRoles.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Paises" |
||||
|
icon="pi pi-globe" |
||||
|
oncomplete="PF('pais').show()" |
||||
|
update="paisDialog" |
||||
|
actionListener="#{demoBeanPaises.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Estados" |
||||
|
icon="pi pi-map" |
||||
|
oncomplete="PF('estado').show()" |
||||
|
update="estadosDialog" |
||||
|
actionListener="#{demoBeanEstados.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Tipos" icon="pi pi-tags"/> |
||||
|
<!-- <p:divider />--> |
||||
|
</p:submenu> |
||||
|
</p:menubar> |
||||
|
</h:form> |
||||
|
|
||||
|
<p:dialog id="rolD" widgetVar="rol" responsive="true" showEffect="fade" modal="true" resizable="false"> |
||||
|
<ui:include src="roles.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="paisDialog" widgetVar="pais" responsive="true" showEffect="fade" modal="true" resizable="false"> |
||||
|
<ui:include src="paises.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="estadosDialog" widgetVar="estado" responsive="true" showEffect="fade" modal="true" resizable="false"> |
||||
|
<ui:include src="estados.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</div> |
||||
|
<!-- agregar id para el formulario --> |
||||
|
<h:form id="marcaTable"> |
||||
|
<p:growl id="messages" showDetail="true" /> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<!-- agregar accionador de dialogo("oncomplete") y actualizar el mismo dialogo ("update") --> |
||||
|
|
||||
|
<!-- agregar id a la tabla para actualizarla --> |
||||
|
<p:dataTable id="table" value="#{demoBeanMarca.marcas}" var="item" filteredValue="#{demoBeanMarca.marcaFilter}" |
||||
|
globalFilterFunction="#{demoBeanMarca.globalFilterFunction}" |
||||
|
widgetVar="filter" |
||||
|
paginator="true" rows="10" rowSelectMode="add" paginatorPosition="bottom" |
||||
|
resizableColumns="true" |
||||
|
showGridlines="true"> |
||||
|
|
||||
|
<f:facet name="header" > |
||||
|
|
||||
|
<div style="display: flex; align-items: center;"> |
||||
|
|
||||
|
<div style="flex: 1;"> |
||||
|
<p:commandButton style="margin-top: 5px;" actionListener="#{demoBeanMarca.prepararNuevo()}" oncomplete="PF('mar').show()" |
||||
|
value="Nuevo" update=":dialogForm" |
||||
|
icon="pi pi-plus" ajax="true"/> |
||||
|
</div> |
||||
|
|
||||
|
<div style="flex: 1; text-align: center;"> |
||||
|
<header style="display: flex; justify-content: center; font-size: 30px;"><strong>Marcas</strong></header> |
||||
|
</div> |
||||
|
|
||||
|
<div style="flex: 1; text-align: right;"> |
||||
|
<div class="ui-input-icon-left mr-2" > |
||||
|
<i class="pi pi-fw pi-search" /> |
||||
|
<p:inputText id="globalFilter" onkeyup="PF('filter').filter()" |
||||
|
placeholder="Buscar marca" |
||||
|
|
||||
|
/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</f:facet> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<p:column responsivePriority="1" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Nombre"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.nombre}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column responsivePriority="2" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Estado"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.estado == 2 ? 'Activo':'Inactivo'}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column responsivePriority="3" style="text-align: center;" > |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Opciones"/> |
||||
|
</f:facet> |
||||
|
|
||||
|
<div style="text-align: center;"> |
||||
|
<p:commandButton actionListener="#{demoBeanMarca.rellenarEditar(item)}" oncomplete="PF('mar').show()" update=":dialogForm" icon="pi pi-fw pi-pencil" styleClass="ui-button-secondary" ajax="true"/> |
||||
|
<p:commandButton actionListener="#{demoBeanMarca.prepararEliminar(item)}" icon="pi pi-trash" style="margin-left: 5px" styleClass="ui-button-danger" |
||||
|
oncomplete="PF('dialogD').show()" update=":dialogDel" |
||||
|
ajax="true"/> |
||||
|
</div> |
||||
|
</p:column> |
||||
|
|
||||
|
</p:dataTable> |
||||
|
</h:form> |
||||
|
|
||||
|
|
||||
|
<!-- agregar dialog modal --> |
||||
|
<p:dialog id="dialogForm" header="#{demoBeanMarca.titulo}" widgetVar="mar" responsive="true" showEffect="fade" modal="true" resizable="false"> |
||||
|
<p:growl id="growl" showDetail="true" for="mensajeMarca"/> |
||||
|
<h:form> |
||||
|
|
||||
|
|
||||
|
<h:panelGrid columns="2" cellpadding="7"> |
||||
|
<p:outputLabel value="Nombre:" for="nombre" /> |
||||
|
<p:inputText id="nombre" value="#{demoBeanMarca.marca.nombre}" title="Nombre" required="true" validatorMessage="nombre no valido" |
||||
|
requiredMessage="Este campo no puede estar vacio"> |
||||
|
|
||||
|
<f:validateRegex pattern="\b[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,}(?:\s+[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,})*\b" |
||||
|
for="nombre" /> |
||||
|
</p:inputText> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="name" for="nombre"/> |
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<!-- botones en ajax true (excepto el cancelar) y updates referenciando a ids del dialog |
||||
|
(sobretodo a los id de los inputTxt) y tabla para actualizarla. continua en el bean --> |
||||
|
<footer style="display: flex; margin-top: 20px; justify-content: flex-end;"> |
||||
|
<p:commandButton action="#{demoBeanMarca.agregar()}" update="growl,marcaTable:table, nombre, name" rendered="#{demoBeanMarca.nuevo}" |
||||
|
styleClass="ui-button-success" style="width: 50px;" |
||||
|
icon="pi pi-save" ajax="true" |
||||
|
/> |
||||
|
|
||||
|
<p:commandButton action="#{demoBeanMarca.editarMarca()}" update="growl,marcaTable:table, nombre, name" rendered="#{!demoBeanMarca.nuevo}" |
||||
|
icon="pi pi-save" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
ajax="true"/> |
||||
|
|
||||
|
<p:commandButton action="marcaLista.xhtml" immediate="true" style="margin-left: 5px; width: 50px; " icon="pi pi-times" styleClass="ui-button-danger" |
||||
|
ajax="false"/> |
||||
|
</footer> |
||||
|
</h:form> |
||||
|
</p:dialog> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<p:dialog id="dialogDel" widgetVar="dialogD" header="#{demoBeanMarca.titulo}" responsive="true" showEffect="fade" modal="true" resizable="false"> |
||||
|
|
||||
|
<h:form> |
||||
|
<p:growl id="messages" showDetail="true" for="mensajeMarca"/> |
||||
|
|
||||
|
<h:panelGrid columns="2" cellpadding="7"> |
||||
|
|
||||
|
<h:outputText value="Nombre:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanMarca.marca.nombre}" title="Nombre"/> |
||||
|
<h:outputText value="Estatus:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanMarca.marca.estado == 2 ? 'Activo':'Inactivo'}" title="Estatus"/> |
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<footer style="display: flex; margin-top: 20px; justify-content: flex-end;"> |
||||
|
<p:commandButton action="#{demoBeanMarca.eliminarMarca()}" ajax="true" |
||||
|
update="marcaTable:table, messages" |
||||
|
icon="pi pi-trash" |
||||
|
styleClass="ui-button-warning" |
||||
|
style=" width: 50px; " |
||||
|
|
||||
|
/> |
||||
|
<p:commandButton action="marcaLista.xhtml" immediate="true" |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger" |
||||
|
ajax="false" |
||||
|
style="margin-left: 5px; width: 50px;" |
||||
|
/> |
||||
|
</footer> |
||||
|
</h:form> |
||||
|
|
||||
|
</p:dialog> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,106 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/XHtml.xhtml to edit this template |
||||
|
--> |
||||
|
<!DOCTYPE html> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:p="http://primefaces.org/ui" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core"> |
||||
|
|
||||
|
<body> |
||||
|
<f:view> |
||||
|
|
||||
|
<header style="display: flex; justify-content: center; font-size: 30px;"><strong>Paises</strong></header> |
||||
|
<p:divider/> |
||||
|
<main style="display: flex; justify-content: space-between; gap: 10px;"> |
||||
|
|
||||
|
<h:form id="formPais"> |
||||
|
|
||||
|
<p:growl id="growl" showDetail="true" for="mensajePaises"/> |
||||
|
|
||||
|
<p:dataTable id="tablePais" |
||||
|
value="#{demoBeanPaises.paises}" |
||||
|
var="item" |
||||
|
style="width: 600px" |
||||
|
paginator="true" |
||||
|
rows="4" |
||||
|
rowSelectMode="add" |
||||
|
paginatorPosition="bottom" > |
||||
|
|
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Nombre"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.nombre}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Estado"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.estado == 2 ? 'Activo':'Inactivo'}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<center> |
||||
|
<h:outputText value="Opciones"/> |
||||
|
</center> |
||||
|
</f:facet> |
||||
|
<p:commandButton action="#{demoBeanPaises.eliminarPais(item)}" |
||||
|
ajax="true" |
||||
|
icon="pi pi-trash" |
||||
|
styleClass="ui-button-warning" |
||||
|
style="margin-top: 5px; width: 50px;" |
||||
|
update="formPais" /> |
||||
|
|
||||
|
</p:column> |
||||
|
|
||||
|
</p:dataTable> |
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
<h:form style="margin-left: 20px; margin-top: 20px;"> |
||||
|
|
||||
|
<header style="display: flex; justify-content: center;">Nuevo Pais</header> |
||||
|
<p:divider/> |
||||
|
|
||||
|
<h:panelGrid columns="2"> |
||||
|
<p:outputLabel value="Nombre:" for="nombre" /> |
||||
|
<p:inputText id="nombre" |
||||
|
value="#{demoBeanPaises.pais.nombre}" |
||||
|
title="Nombre" |
||||
|
required="true" |
||||
|
requiredMessage="The Nombre field is required."/> |
||||
|
|
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="alertNombre" for="nombre"/> |
||||
|
|
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<footer style="display: flex; margin-top: 280px; justify-content: flex-end;"> |
||||
|
<p:commandButton action="#{demoBeanPaises.agregarPais()}" |
||||
|
ajax="true" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
icon="pi pi-check" |
||||
|
update="formPais:tablePais, nombre, alertNombre, formPais:growl" /> |
||||
|
|
||||
|
<p:commandButton oncomplete="PF('pais').close()" |
||||
|
immediate="true" |
||||
|
ajax="false" |
||||
|
style="margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger"/> |
||||
|
</footer> |
||||
|
|
||||
|
</h:form> |
||||
|
</main> |
||||
|
|
||||
|
</f:view> |
||||
|
|
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,150 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
top |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
left |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
right |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
<h:form> |
||||
|
|
||||
|
<h1><h:outputText value="#{demoBeanProducto.titulo}"/></h1> |
||||
|
<h:panelGrid columns="3" cellpadding="7"> |
||||
|
|
||||
|
<p:outputLabel value="Nombre:" for="nombre" /> |
||||
|
<p:inputText id="nombre" |
||||
|
value="#{demoBeanProducto.producto.nombre}" |
||||
|
title="Nombre" |
||||
|
required="true" |
||||
|
validatorMessage="El nombre no es valido" |
||||
|
requiredMessage="Este campo no puede estar vacio"> |
||||
|
|
||||
|
<f:validateRegex pattern="\b[A-Za-zÁáÉéÍíÓóÚúÜüÑñ]{3,}(?:\s+[A-Za-zÁáÉéÍíÓóÚúÜüÑñ]{3,})*\b" |
||||
|
for="nombre" /> |
||||
|
|
||||
|
</p:inputText> |
||||
|
<p:message for="nombre" /> |
||||
|
|
||||
|
<p:outputLabel value="Codigo:" for="codigo" /> |
||||
|
<p:inputText id="codigo" |
||||
|
value="#{demoBeanProducto.producto.codigo}" |
||||
|
title="Codigo" |
||||
|
required="true" |
||||
|
converterMessage="Solo se aceptan digitos" |
||||
|
requiredMessage="Este campo no puede estar vacio"/> |
||||
|
<p:message for="codigo" /> |
||||
|
|
||||
|
<p:outputLabel value="Precio:" for="precio" /> |
||||
|
<p:inputText id="precio" |
||||
|
value="#{demoBeanProducto.producto.precio}" |
||||
|
title="Precio" |
||||
|
required="true" |
||||
|
converterMessage="Solo se aceptan digitos" |
||||
|
requiredMessage="Este campo no puede estar vacio"/> |
||||
|
<p:message for="precio" /> |
||||
|
|
||||
|
<p:outputLabel value="Piezas:" for="piezas" /> |
||||
|
<p:inputText id="piezas" |
||||
|
value="#{demoBeanProducto.producto.piezas}" |
||||
|
title="Piezas" |
||||
|
required="true" |
||||
|
converterMessage="Solo se aceptan digitos" |
||||
|
requiredMessage="Este campo no puede estar vacio"/> |
||||
|
<p:message for="piezas" /> |
||||
|
|
||||
|
<p:outputLabel value="Marca:" |
||||
|
for="marcaId"/> |
||||
|
|
||||
|
<p:selectOneMenu id="marcaId" |
||||
|
value="#{demoBeanProducto.producto.marcaIdmarca}" |
||||
|
converter="selectOneMenuConverter" |
||||
|
required="true" |
||||
|
requiredMessage="Se necesita una marca" > |
||||
|
<!-- TODO: update below reference to list of available items--> |
||||
|
<f:selectItems value="#{demoBeanMarca.marcas}" |
||||
|
var="item" |
||||
|
itemLabel="#{item.nombre}" |
||||
|
itemValue="#{item}"/> |
||||
|
</p:selectOneMenu> |
||||
|
<p:message for="marcaId" /> |
||||
|
|
||||
|
<p:outputLabel value="Proveedor:" |
||||
|
for="proveedorIdproveedor" /> |
||||
|
|
||||
|
<p:selectOneMenu id="proveedorIdproveedor" |
||||
|
value="#{demoBeanProducto.producto.proveedorIdproveedor}" |
||||
|
converter="selectOneMenuConverter" |
||||
|
required="true" |
||||
|
requiredMessage="Se necesita un proveedor" > |
||||
|
<!-- TODO: update below reference to list of available items--> |
||||
|
<f:selectItems value="#{demoBeanProveedor.proveedores}" |
||||
|
var="item" |
||||
|
itemLabel="#{item.nombre}" |
||||
|
itemValue="#{item}"/> |
||||
|
</p:selectOneMenu> |
||||
|
<p:message for="proveedorIdproveedor" /> |
||||
|
|
||||
|
<p:outputLabel value="Ubicacion" |
||||
|
for="ubicacionId" /> |
||||
|
|
||||
|
<p:selectOneMenu id="ubicacionId" |
||||
|
value="#{demoBeanProducto.producto.ubicacionId}" |
||||
|
converter="selectOneMenuConverter" |
||||
|
required="true" |
||||
|
requiredMessage="Se necesita una ubicacion"> |
||||
|
<!-- TODO: update below reference to list of available items--> |
||||
|
<f:selectItems value="#{demoBeanUbicacion.ubicacion}" |
||||
|
var="item" |
||||
|
itemLabel="#{item.bloque}#{item.anaquel}" |
||||
|
itemValue="#{item}"/> |
||||
|
</p:selectOneMenu> |
||||
|
<p:message for="ubicacionId" /> |
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<p:commandButton action="#{demoBeanProducto.agregarProducto()}" |
||||
|
update="messages" |
||||
|
rendered="#{demoBeanProducto.nuevo}" |
||||
|
ajax="false" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
icon="pi pi-check"/> |
||||
|
|
||||
|
<p:commandButton action="#{demoBeanProducto.editarProducto()}" |
||||
|
update="messages" |
||||
|
rendered="#{!demoBeanProducto.nuevo}" |
||||
|
ajax="false" |
||||
|
icon="pi pi-save" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;"/> |
||||
|
|
||||
|
<p:commandButton action="productoLista.xhtml" |
||||
|
immediate="true" |
||||
|
ajax="false" |
||||
|
style="margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger"/> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
</ui:define> |
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,72 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
top |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
left |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
right |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<h1><h:outputText value="Eliminar producto"/></h1> |
||||
|
<p:panelGrid columns="2"> |
||||
|
<h:outputText value="Nombre:"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.nombre}" title="Nombre"/> |
||||
|
<h:outputText value="Codigo:"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.codigo}" title="Codigo"/> |
||||
|
<h:outputText value="Precio:"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.precio}" title="Precio"/> |
||||
|
<h:outputText value="Piezas:"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.piezas}" title="Piezas"/> |
||||
|
<h:outputText value="Estado:"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.estado == 2 ? 'Activo':'Inactivo'}" title="Estado"/> |
||||
|
<h:outputText value="Marca:"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.marcaIdmarca.nombre}" title="MarcaIdmarca"/> |
||||
|
<h:outputText value="Proveedor:"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.proveedorIdproveedor.nombre}" title="ProveedorIdproveedor"/> |
||||
|
<h:outputText value="Ubicacion:"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.ubicacionId.bloque}#{demoBeanProducto.producto.ubicacionId.anaquel}" title="UbicacionId"/> |
||||
|
</p:panelGrid> |
||||
|
|
||||
|
<p:commandButton action="productoLista.xhtml" |
||||
|
actionListener="#{demoBeanProducto.eliminarProducto()}" |
||||
|
ajax="false" |
||||
|
icon="pi pi-trash" |
||||
|
styleClass="ui-button-warning" |
||||
|
style="margin-top: 5px; width: 50px;"/> |
||||
|
|
||||
|
<p:commandButton action="productoLista.xhtml" |
||||
|
immediate="true" |
||||
|
ajax="false" |
||||
|
style="margin-top: 5px; margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger"/> |
||||
|
|
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,452 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
|
||||
|
<h:head> |
||||
|
</h:head> |
||||
|
|
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/listas.xhtml"> |
||||
|
|
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
<div> |
||||
|
<h:form> |
||||
|
<p:menubar > |
||||
|
|
||||
|
<p:menuitem value="Productos" action="productoLista.xhtml" disabled="true" ajax="false"/> |
||||
|
<p:menuitem value="Marcas" action="marcaLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Proveedores" action="proveedorLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Ubicaciones" action="ubicacionLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Usuarios" action="usuariosLista.xhtml" ajax="false"/> |
||||
|
|
||||
|
<p:submenu label="Opciones" icon="pi pi-fw pi-list"> |
||||
|
<p:menuitem value="Roles" |
||||
|
icon="pi pi-fw pi-users" |
||||
|
oncomplete="PF('rol').show()" |
||||
|
update=":rolD" |
||||
|
actionListener="#{demoBeanRoles.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Paises" |
||||
|
icon="pi pi-globe" |
||||
|
oncomplete="PF('pais').show()" |
||||
|
update="paisDialog" |
||||
|
actionListener="#{demoBeanPaises.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Estados" |
||||
|
icon="pi pi-map" |
||||
|
oncomplete="PF('estado').show()" |
||||
|
update="estadosDialog" |
||||
|
actionListener="#{demoBeanEstados.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Tipos" |
||||
|
icon="pi pi-tags" |
||||
|
oncomplete="PF('tipo').show()" |
||||
|
update="tip" |
||||
|
actionListener="#{demoBeanTipo.prepararNuevo()}"/> |
||||
|
<!-- <p:divider />--> |
||||
|
</p:submenu> |
||||
|
|
||||
|
</p:menubar> |
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
<p:dialog id="rolD" widgetVar="rol" responsive="true" |
||||
|
showEffect="fade" modal="true" resizable="false" style="height: auto"> |
||||
|
<ui:include src="roles.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="paisDialog" widgetVar="pais" responsive="true" |
||||
|
showEffect="fade" modal="true" resizable="false" style="height: auto"> |
||||
|
<ui:include src="paises.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="estadosDialog" widgetVar="estado" responsive="true" |
||||
|
showEffect="fade" modal="true" resizable="false" style="height: auto"> |
||||
|
<ui:include src="estados.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="tip" widgetVar="tipo" responsive="true" |
||||
|
showEffect="fade" modal="true" resizable="false" style="height: auto"> |
||||
|
<ui:include src="tipos.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<h:form id="productoTable"> |
||||
|
|
||||
|
<p:commandButton value="PDF" styleClass="mr-2 mb-2"> |
||||
|
<p:dataExporter type="pdf" target="table" fileName="products"/> |
||||
|
</p:commandButton> |
||||
|
|
||||
|
<p:growl id="messages" showDetail="true"/> |
||||
|
|
||||
|
<!-- Por aqui checa en el datatable y el facet --> |
||||
|
<!-- Es lo del buscador ese pedo, y se vincula al demo bean --> |
||||
|
|
||||
|
<div class="card"> |
||||
|
|
||||
|
<p:dataTable id="table" |
||||
|
value="#{demoBeanProducto.productos}" |
||||
|
var="item" |
||||
|
filteredValue="#{demoBeanProducto.productoFilter}" |
||||
|
globalFilterFunction="#{demoBeanProducto.globalFilterFunction}" |
||||
|
widgetVar="filtro" |
||||
|
|
||||
|
paginator="true" |
||||
|
rows="10" |
||||
|
rowSelectMode="add" |
||||
|
paginatorPosition="bottom" |
||||
|
resizableColumns="true" |
||||
|
showGridlines="true" > |
||||
|
|
||||
|
<f:facet name="header"> |
||||
|
<div style="display: flex; align-items: center;"> |
||||
|
<div style="flex: 1;"> <!-- Div para el botón a la izquierda --> |
||||
|
<p:commandButton actionListener="#{demoBeanProducto.prepararNuevo()}" |
||||
|
style="margin-top: 5px;" |
||||
|
value="Nuevo" |
||||
|
icon="pi pi-plus" |
||||
|
ajax="true" |
||||
|
oncomplete="PF('dialogProducto').show()" |
||||
|
update=":dialogForm"/> |
||||
|
</div> |
||||
|
|
||||
|
<div style="flex: 1; text-align: center;"> <!-- Div para el texto centrado --> |
||||
|
<header style="display: flex; justify-content: center; font-size: 30px;"><strong>Productos</strong></header> |
||||
|
</div> |
||||
|
|
||||
|
<div style="flex: 1; text-align: right;"> <!-- Div para el div a la derecha --> |
||||
|
<div class="ui-input-icon-left mr-2"> |
||||
|
<i class="pi pi-fw pi-search" /> |
||||
|
<p:inputText id="globalFilter" |
||||
|
onkeyup="PF('filtro').filter()" |
||||
|
placeholder="Buscador de productos" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</f:facet> |
||||
|
|
||||
|
<p:column responsivePriority="1" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Nombre"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.nombre}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="2" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Codigo"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.codigo}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="3" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Precio"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.precio}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="3" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Piezas"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.piezas}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="4" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Estado"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.estado == 2 ? 'Activo':'Inactivo'}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="4" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Fecha"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.fecha}"> |
||||
|
<f:convertDateTime pattern="dd/MM/yyyy" /> |
||||
|
</h:outputText> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="5" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Marca"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.proveedorIdproveedor.marcaId.nombre}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="5" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Proveedor"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.proveedorIdproveedor.nombre}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="6" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Tipo"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.tipoId.tipo}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="6" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Ubicacion"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.ubicacionId.lugar}"/> |
||||
|
</p:column> |
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Opciones"/> |
||||
|
</f:facet> |
||||
|
<div style="text-align: center;"> |
||||
|
|
||||
|
<p:commandButton styleClass="ui-button-secondary" |
||||
|
actionListener="#{demoBeanProducto.prepararEditar(item)}" |
||||
|
icon="pi pi-fw pi-pencil" |
||||
|
ajax="true" |
||||
|
oncomplete="PF('dialogProducto').show()" |
||||
|
update=":dialogForm" |
||||
|
disabled="#{!demoBeanLogin.permisos}"/> |
||||
|
|
||||
|
<p:commandButton styleClass="ui-button-danger" |
||||
|
actionListener="#{demoBeanProducto.prepararEliminar(item)}" |
||||
|
icon="pi pi-trash" |
||||
|
ajax="true" |
||||
|
oncomplete="PF('deleteProducto').show()" |
||||
|
update=":dialogDel" |
||||
|
style="margin-left: 1px" |
||||
|
/> |
||||
|
</div> |
||||
|
</p:column> |
||||
|
</p:dataTable> |
||||
|
</div> |
||||
|
</h:form> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<!-- agregar dialog modal --> |
||||
|
<p:dialog id="dialogForm" |
||||
|
header="#{demoBeanProducto.titulo}" |
||||
|
widgetVar="dialogProducto" |
||||
|
responsive="true" |
||||
|
showEffect="fade" |
||||
|
modal="true" |
||||
|
resizable="false" |
||||
|
width="auto" |
||||
|
height="auto"> |
||||
|
|
||||
|
<h:form> |
||||
|
|
||||
|
<p:growl id="growl" showDetail="true" for="mensajeProducto"/> |
||||
|
|
||||
|
<h:panelGrid columns="6" cellpadding="7"> |
||||
|
|
||||
|
<p:outputLabel value="Nombre:" for="nombre" /> |
||||
|
<p:inputText id="nombre" |
||||
|
value="#{demoBeanProducto.producto.nombre}" |
||||
|
title="Nombre" |
||||
|
required="true" |
||||
|
validatorMessage="Verifique el nombre" |
||||
|
requiredMessage="Este campo no puede estar vacio" > |
||||
|
|
||||
|
<f:validateRegex pattern="\b[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,}(?:\s+[A-Za-zÁÉÍÓÚÜÑ][a-záéíóúüñ]{0,})*\b" |
||||
|
for="nombre" /> |
||||
|
|
||||
|
</p:inputText> |
||||
|
|
||||
|
<p:outputLabel value="Codigo:" for="codigo" /> |
||||
|
<p:inputText id="codigo" |
||||
|
value="#{demoBeanProducto.producto.codigo}" |
||||
|
title="Codigo" |
||||
|
required="true" |
||||
|
converterMessage="Solo se aceptan numeros" |
||||
|
requiredMessage="Este campo no puede estar vacio"/> |
||||
|
|
||||
|
|
||||
|
<p:outputLabel value="Precio:" for="precio" /> |
||||
|
<p:inputText id="precio" |
||||
|
value="#{demoBeanProducto.producto.precio}" |
||||
|
title="Precio" |
||||
|
required="true" |
||||
|
converterMessage="Solo se aceptan numeros" |
||||
|
requiredMessage="Este campo no puede estar vacio"/> |
||||
|
|
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="alertNombre" for="nombre" /> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="alertCodigo" for="codigo" /> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="alertPrecio" for="precio" /> |
||||
|
|
||||
|
<p:outputLabel value="Piezas:" for="piezas" /> |
||||
|
<p:inputText id="piezas" |
||||
|
value="#{demoBeanProducto.producto.piezas}" |
||||
|
title="Piezas" |
||||
|
required="true" |
||||
|
converterMessage="Solo se aceptan numeros" |
||||
|
requiredMessage="Este campo no puede estar vacio"/> |
||||
|
|
||||
|
|
||||
|
<p:outputLabel value="Proveedor:" |
||||
|
for="proveedorId" /> |
||||
|
|
||||
|
<p:selectOneMenu id="proveedorId" |
||||
|
value="#{demoBeanProducto.producto.proveedorIdproveedor}" |
||||
|
converter="selectOneMenuConverter" |
||||
|
required="true" |
||||
|
requiredMessage="Se necesita un proveedor" > |
||||
|
<!-- TODO: update below reference to list of available items--> |
||||
|
<f:selectItems value="#{demoBeanProveedor.proveedores}" |
||||
|
var="item" |
||||
|
itemLabel="#{item.nombre}" |
||||
|
itemValue="#{item}"/> |
||||
|
</p:selectOneMenu> |
||||
|
|
||||
|
<p:outputLabel value="Ubicacion" |
||||
|
for="ubicacionId" /> |
||||
|
|
||||
|
<p:selectOneMenu id="ubicacionId" |
||||
|
value="#{demoBeanProducto.producto.ubicacionId}" |
||||
|
converter="selectOneMenuConverter" |
||||
|
required="true" |
||||
|
requiredMessage="Se necesita una ubicacion"> |
||||
|
<!-- TODO: update below reference to list of available items--> |
||||
|
<f:selectItems value="#{demoBeanUbicacion.ubicacion}" |
||||
|
var="item" |
||||
|
itemLabel="#{item.bloque}#{item.anaquel}" |
||||
|
itemValue="#{item}"/> |
||||
|
</p:selectOneMenu> |
||||
|
|
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="alertPiezas" for="piezas" /> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="alertProveedorId" for="proveedorId" /> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="alertUbicacionId" for="ubicacionId" /> |
||||
|
|
||||
|
<p:outputLabel value="Tipo:" |
||||
|
for="tipoId" /> |
||||
|
|
||||
|
<p:selectOneMenu id="tipoId" |
||||
|
value="#{demoBeanProducto.producto.tipoId}" |
||||
|
converter="selectOneMenuConverter" |
||||
|
required="true" |
||||
|
requiredMessage="Se necesita un tipo"> |
||||
|
TODO: update below reference to list of available items |
||||
|
<f:selectItems value="#{demoBeanTipo.tipos}" |
||||
|
var="item" |
||||
|
itemLabel="#{item.tipo}" |
||||
|
itemValue="#{item}"/> |
||||
|
</p:selectOneMenu> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
|
||||
|
<p:message id="alertTipo" for="tipoId" /> |
||||
|
|
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<p:commandButton action="#{demoBeanProducto.agregarProducto()}" |
||||
|
update="growl, productoTable:table, |
||||
|
nombre, codigo, precio, piezas, proveedorId, ubicacionId, |
||||
|
alertNombre, alertCodigo, alertPrecio, alertPiezas, alertProveedorId, alertUbicacionId, alertTipo" |
||||
|
rendered="#{demoBeanProducto.nuevo}" |
||||
|
ajax="true" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
icon="pi pi-save"/> |
||||
|
|
||||
|
<p:commandButton action="#{demoBeanProducto.editarProducto()}" |
||||
|
update="growl, productoTable:table, |
||||
|
nombre, codigo, precio, piezas, proveedorId, ubicacionId, |
||||
|
alertNombre, alertCodigo, alertPrecio, alertPiezas, alertProveedorId, alertUbicacionId, alertTipo" |
||||
|
rendered="#{!demoBeanProducto.nuevo}" |
||||
|
ajax="true" |
||||
|
icon="pi pi-save" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;"/> |
||||
|
|
||||
|
<p:commandButton action="productoLista.xhtml" |
||||
|
immediate="true" |
||||
|
ajax="false" |
||||
|
style="margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger"/> |
||||
|
</h:form> |
||||
|
|
||||
|
|
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="dialogDel" |
||||
|
header="Eliminar producto" |
||||
|
widgetVar="deleteProducto" |
||||
|
responsive="true" |
||||
|
showEffect="fade" |
||||
|
modal="true" |
||||
|
resizable="false" > |
||||
|
|
||||
|
<h:form> |
||||
|
|
||||
|
<h:panelGrid columns="6" cellpadding="7"> |
||||
|
<h:outputText value="Nombre:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.nombre}" title="Nombre"/> |
||||
|
<h:outputText value="Codigo:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.codigo}" title="Codigo"/> |
||||
|
<h:outputText value="Precio:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.precio}" title="Precio"/> |
||||
|
<h:outputText value="Piezas:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.piezas}" title="Piezas"/> |
||||
|
<h:outputText value="Estado:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.estado == 2 ? 'Activo':'Inactivo'}" title="Estado"/> |
||||
|
<h:outputText value="Fecha:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.fecha}" title="Fecha"> |
||||
|
<f:convertDateTime pattern="MM/dd/yyyy" /> |
||||
|
</h:outputText> |
||||
|
<h:outputText value="Proveedor:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.proveedorIdproveedor.nombre}" title="ProveedorIdproveedor"/> |
||||
|
<h:outputText value="Marca:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.proveedorIdproveedor.marcaId.nombre}" title="ProveedorIdproveedor"/> |
||||
|
<h:outputText value="Tipo:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.tipoId.tipo}" title="TipoId"/> |
||||
|
<h:outputText value="Ubicacion:" style="font-weight: bold;"/> |
||||
|
<h:outputText value="#{demoBeanProducto.producto.ubicacionId.bloque}#{demoBeanProducto.producto.ubicacionId.anaquel}" title="UbicacionId"/> |
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<footer style="display: flex; margin-top: 20px; justify-content: flex-end;"> |
||||
|
<p:commandButton action="#{demoBeanProducto.eliminarProducto()}" |
||||
|
ajax="true" |
||||
|
icon="pi pi-trash" |
||||
|
styleClass="ui-button-warning" |
||||
|
style="margin-top: 5px; width: 50px;" |
||||
|
update="productoTable:table"/> |
||||
|
|
||||
|
<p:commandButton action="productoLista.xhtml" |
||||
|
immediate="true" |
||||
|
ajax="false" |
||||
|
style="margin-top: 5px; margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger"/> |
||||
|
</footer> |
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
</p:dialog> |
||||
|
|
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,94 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
top |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
left |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
right |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<h1><h:outputText value="#{demoBeanProveedor.titulo}"/></h1> |
||||
|
<h:panelGrid columns="2" cellpadding="7"> |
||||
|
<p:outputLabel value="Nombre:" for="nombre" /> |
||||
|
|
||||
|
<p:inputText id="nombre" |
||||
|
value="#{demoBeanProveedor.proveedor.nombre}" |
||||
|
title="Nombre" |
||||
|
required="true" |
||||
|
validatorMessage="El nombre no es valido" |
||||
|
requiredMessage="Este campo no puede estar vacio"> |
||||
|
|
||||
|
<f:validateRegex pattern="\b[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,}(?:\s+[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,})*\b" |
||||
|
for="nombre"/> |
||||
|
|
||||
|
</p:inputText> |
||||
|
|
||||
|
|
||||
|
<p:outputLabel value="Telefono:" for="telefono" /> |
||||
|
<p:inputText id="telefono" |
||||
|
value="#{demoBeanProveedor.proveedor.telefono}" |
||||
|
title="Telefono" |
||||
|
required="true" validatorMessage="El numero de telefono no es valido" |
||||
|
requiredMessage="Este campo no puede estar vacio"> |
||||
|
|
||||
|
<f:validateRegex pattern="^\d{10}$" |
||||
|
for="telefono"/> |
||||
|
|
||||
|
</p:inputText> |
||||
|
|
||||
|
<p:outputLabel value="Email:" for="email" /> |
||||
|
<p:inputText id="email" |
||||
|
value="#{demoBeanProveedor.proveedor.email}" |
||||
|
title="Email"required="true" validatorMessage="El email no es valido" |
||||
|
requiredMessage="Este campo no puede estar vacio"> |
||||
|
|
||||
|
<f:validateRegex pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" |
||||
|
|
||||
|
for="email"/> |
||||
|
|
||||
|
</p:inputText> |
||||
|
|
||||
|
|
||||
|
<p:commandButton action="#{demoBeanProveedor.agregar()}" |
||||
|
rendered="#{demoBeanProveedor.nuevo}" |
||||
|
styleClass="ui-button-success" style="width: 50px;" icon="pi pi-check" |
||||
|
update="messages" ajax="false"/> |
||||
|
|
||||
|
<p:commandButton action="proveedorLista.xhtml" |
||||
|
actionListener="#{demoBeanProveedor.editarP()}" |
||||
|
rendered="#{!demoBeanProveedor.nuevo}" |
||||
|
styleClass="ui-button-secondary" |
||||
|
icon="pi pi-pencil" |
||||
|
value="Editar" ajax="false"/> |
||||
|
|
||||
|
<p:commandButton action="proveedorLista.xhtml" style="margin-left: 5px; width: 50px; " icon="pi pi-times" styleClass="ui-button-danger" ajax="false" immediate="true"/> |
||||
|
|
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,61 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
top |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
left |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
right |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<h1><h:outputText value="Eliminar"/></h1> |
||||
|
<p:panelGrid columns="2"> |
||||
|
<h:outputText value="Id:"/> |
||||
|
<h:outputText value="#{demoBeanProveedor.proveedor.id}" title="Id"/> |
||||
|
<h:outputText value="Nombre:"/> |
||||
|
<h:outputText value="#{demoBeanProveedor.proveedor.nombre}" title="Nombre"/> |
||||
|
<h:outputText value="Telefono:"/> |
||||
|
<h:outputText value="#{demoBeanProveedor.proveedor.telefono}" title="Telefono"/> |
||||
|
<h:outputText value="Email:"/> |
||||
|
<h:outputText value="#{demoBeanProveedor.proveedor.email}" title="Email"/> |
||||
|
<h:outputText value="Estado:"/> |
||||
|
<h:outputText value="#{demoBeanProveedor.proveedor.estado}" title="Estado"/> |
||||
|
</p:panelGrid> |
||||
|
|
||||
|
<p:commandButton action="proveedorLista.xhtml" actionListener="#{demoBeanProveedor.eliminarProveedor()}" |
||||
|
icon="pi pi-trash" |
||||
|
styleClass="ui-button-warning" |
||||
|
style=" width: 50px; " ajax="false"/> |
||||
|
|
||||
|
<p:commandButton action="proveedorLista.xhtml" icon="pi pi-times" |
||||
|
styleClass="ui-button-danger" |
||||
|
ajax="false" |
||||
|
style="margin-left: 5px; width: 50px;" immediate="true"/> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,427 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:p="http://primefaces.org/ui" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core"> |
||||
|
|
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/listas.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
|
||||
|
<f:view> |
||||
|
<div> |
||||
|
<h:form> |
||||
|
|
||||
|
<p:menubar> |
||||
|
<p:menuitem value="Productos" action="productoLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Marcas" action="marcaLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Proveedores" action="proveedorLista.xhtml" disabled="true" ajax="false"/> |
||||
|
<p:menuitem value="Ubicaciones" action="ubicacionLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Usuarios" action="usuariosLista.xhtml" ajax="false"/> |
||||
|
|
||||
|
<p:submenu label="Opciones" icon="pi pi-fw pi-list"> |
||||
|
<p:menuitem value="Roles" |
||||
|
icon="pi pi-fw pi-users" |
||||
|
oncomplete="PF('rol').show()" |
||||
|
update=":rolD" |
||||
|
actionListener="#{demoBeanRoles.prepararNuevo()}"/> |
||||
|
|
||||
|
|
||||
|
<p:menuitem value="Paises" |
||||
|
icon="pi pi-globe" |
||||
|
oncomplete="PF('pais').show()" |
||||
|
update="paisDialog" |
||||
|
actionListener="#{demoBeanPaises.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Estados" |
||||
|
icon="pi pi-map" |
||||
|
oncomplete="PF('estado').show()" |
||||
|
update="estadosDialog" |
||||
|
actionListener="#{demoBeanEstados.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Tipos" |
||||
|
icon="pi pi-tags" |
||||
|
oncomplete="PF('tipo').show()" |
||||
|
update=":tip" |
||||
|
actionListener="#{demoBeanTipo.prepararNuevo()}"/> |
||||
|
<!-- <p:divider />--> |
||||
|
</p:submenu> |
||||
|
|
||||
|
|
||||
|
</p:menubar> |
||||
|
</h:form> |
||||
|
|
||||
|
<p:dialog id="rolD" widgetVar="rol" |
||||
|
header="#{demoBeanRoles.titulo}" |
||||
|
responsive="true" |
||||
|
showEffect="fade" modal="true" resizable="false"> |
||||
|
<ui:include src="roles.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
|
||||
|
<p:dialog id="tip" widgetVar="tipo" responsive="true" showEffect="fade" modal="true" resizable="false"> |
||||
|
<ui:include src="tipos.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="paisDialog" widgetVar="pais" responsive="true" |
||||
|
showEffect="fade" modal="true" resizable="false" style="height: auto"> |
||||
|
<ui:include src="paises.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="estadosDialog" widgetVar="estado" responsive="true" |
||||
|
showEffect="fade" modal="true" resizable="false" style="height: auto"> |
||||
|
<ui:include src="estados.xhtml"/> |
||||
|
</p:dialog> |
||||
|
</div> |
||||
|
|
||||
|
<h:form id="proveedorTabla"> |
||||
|
<p:growl id="messages" showDetail="true" for="mensajeProveedor"/> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<div class="card"> |
||||
|
|
||||
|
<p:dataTable id="table" |
||||
|
value="#{demoBeanProveedor.proveedores}" |
||||
|
var="item" |
||||
|
filteredValue="#{demoBeanProveedor.proveedorFilter}" |
||||
|
globalFilterFunction="#{demoBeanProveedor.globalFilterFunction}" |
||||
|
widgetVar="filtro" |
||||
|
resizableColumns="true" |
||||
|
showGridlines="true" |
||||
|
paginator="true" |
||||
|
paginatorPosition="bottom" |
||||
|
rows="10" |
||||
|
rowSelectMode="add"> |
||||
|
|
||||
|
<f:facet name="header"> |
||||
|
<div style="display: flex; justify-content: space-between; align-items: center;"> |
||||
|
<div style="flex: 1;"> |
||||
|
<p:commandButton actionListener="#{demoBeanProveedor.prepararnuevo()}" |
||||
|
icon="pi pi-plus" |
||||
|
oncomplete="PF('dialogproveedor').show()" |
||||
|
update=":dialogForm" |
||||
|
style="margin-top: 5px" |
||||
|
value="Nuevo" |
||||
|
ajax="true"/> |
||||
|
</div> |
||||
|
|
||||
|
<div style="flex: 1; text-align: center;"> <!-- Div para el texto centrado --> |
||||
|
<header style="display: flex; justify-content: center; font-size: 30px;"><strong>Proveedores</strong></header> |
||||
|
</div> |
||||
|
<div style="flex: 1; text-align: right;"> |
||||
|
<div class="ui-input-icon-left mr-2" > |
||||
|
<i class="pi pi-fw pi-search" /> |
||||
|
<p:inputText id="globalFilter" onkeyup="PF('filtro').filter()" |
||||
|
style="width:300px" |
||||
|
placeholder="Buscador de proveedores" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</f:facet> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<h1><h:outputText value=""/></h1> |
||||
|
|
||||
|
|
||||
|
<p:column responsivePriority="1" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Nombre"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.nombre}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="1" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Telefono"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.telefono}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="1" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Email"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.email}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="1" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Estado"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.estado}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="1" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Domicilio"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.domicilio}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="1" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="EstadosId"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.estadosId}"/> |
||||
|
</p:column> |
||||
|
<p:column responsivePriority="1" style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="MarcaId"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.marcaId}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Opciones"/> |
||||
|
</f:facet> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<div style="text-align: center"> |
||||
|
<p:commandButton action="#{demoBeanProveedor.prepararEditar(item)}" |
||||
|
styleClass="ui-button-secondary" |
||||
|
oncomplete="PF('dialogproveedor').show()" |
||||
|
update=":dialogForm" |
||||
|
icon="pi pi-pencil" |
||||
|
ajax="true"/> |
||||
|
|
||||
|
<p:commandButton actionListener="#{demoBeanProveedor.prepararEliminar(item)}" |
||||
|
icon="pi pi-trash" |
||||
|
oncomplete="PF('deleteProveedor').show()" |
||||
|
update=":dialogForm1" |
||||
|
style="margin-left: 5px" |
||||
|
styleClass="ui-button-danger" |
||||
|
ajax="true"/> |
||||
|
</div> |
||||
|
</p:column> |
||||
|
</p:dataTable> |
||||
|
</div> |
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
<!-- agregar dialog modal --> |
||||
|
<p:dialog id="dialogForm" |
||||
|
header="#{demoBeanProveedor.titulo}" |
||||
|
widgetVar="dialogproveedor" |
||||
|
responsive="true" |
||||
|
showEffect="fade" |
||||
|
modal="true" |
||||
|
resizable="false"> |
||||
|
|
||||
|
<h:form> |
||||
|
|
||||
|
<p:growl id="messages" showDetail="true" for="mensajeProveedor"/> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<h:panelGrid columns="3" cellpadding="7"> |
||||
|
|
||||
|
<p:outputLabel value="Nombre" for="nombre" /> |
||||
|
<p:inputText id="nombre" |
||||
|
value="#{demoBeanProveedor.proveedor.nombre}" |
||||
|
title="Nombre" |
||||
|
required="true" |
||||
|
validatorMessage="Nombre no valido" |
||||
|
requiredMessage="Este campo no puede estar vacio" > |
||||
|
|
||||
|
<f:validateRegex pattern="\b[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,}(?:\s+[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,})*\b" |
||||
|
for="nombre" /> |
||||
|
</p:inputText> |
||||
|
|
||||
|
|
||||
|
<p:message id="n" for="nombre"/> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<p:outputLabel value="Telefono" for="telefono" /> |
||||
|
<p:inputText id="telefono" |
||||
|
value="#{demoBeanProveedor.proveedor.telefono}" |
||||
|
title="Telefono" |
||||
|
required="true" |
||||
|
validatorMessage="Numero de telefono no valido" |
||||
|
requiredMessage="Este campo no puede estar vacio" > |
||||
|
|
||||
|
<f:validateRegex pattern="^\d{10}$" |
||||
|
for="telefono" /> |
||||
|
</p:inputText> |
||||
|
<p:message id="t" for="telefono"/> |
||||
|
|
||||
|
|
||||
|
<p:outputLabel value="Email" for="email" /> |
||||
|
<p:inputText id="email" |
||||
|
value="#{demoBeanProveedor.proveedor.email}" |
||||
|
title="Email" |
||||
|
required="true" |
||||
|
validatorMessage="Email no valido" |
||||
|
requiredMessage="Este campo no puede estar vacio" > |
||||
|
|
||||
|
<f:validateRegex pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" |
||||
|
for="email" /> |
||||
|
</p:inputText> |
||||
|
|
||||
|
<p:message id="e" for="email"/> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<p:outputLabel value="Domicilio:" for="domicilio" /> |
||||
|
|
||||
|
<p:inputText id="domicilio" |
||||
|
value="#{demoBeanProveedor.proveedor.domicilio}" |
||||
|
title="Domicilio" |
||||
|
required="true" |
||||
|
requiredMessage="The Domicilio field is required."/> |
||||
|
<p:message id="d" for="domicilio"/> |
||||
|
|
||||
|
<p:outputLabel value="EstadosId:" for="estadosId" /> |
||||
|
<p:selectOneMenu id="estadosId" |
||||
|
value="#{demoBeanProveedor.proveedor.estadosId}" |
||||
|
required="true" |
||||
|
requiredMessage="The EstadosId field is required." filter="true" |
||||
|
filterMatchMode="startsWith" > |
||||
|
<!-- Arriba esta lo del filtro, jsjsjsjs --> |
||||
|
|
||||
|
<!-- TODO: update below reference to list of available items--> |
||||
|
<f:selectItems value="#{demoBeanEstados.estados}" |
||||
|
var="item" |
||||
|
itemLabel="#{item.nombre}" |
||||
|
itemValue="#{item}"/> |
||||
|
</p:selectOneMenu> |
||||
|
|
||||
|
<p:message id="eid" for="estadosId"/> |
||||
|
<p:outputLabel value="Marca:" for="marcaId" /> |
||||
|
<p:selectOneMenu id="marcaId" |
||||
|
value="#{demoBeanProveedor.proveedor.marcaId}" |
||||
|
required="true" |
||||
|
requiredMessage="The MarcaId field is required." |
||||
|
filter="true" |
||||
|
filterMatchMode="startsWith" > |
||||
|
<!-- Arriba esta lo del filtro, jsjsjsjs --> |
||||
|
|
||||
|
<!-- TODO: update below reference to list of available items--> |
||||
|
<f:selectItems value="#{demoBeanMarca.marcas}" |
||||
|
var="item" |
||||
|
itemLabel="#{item.nombre}" |
||||
|
itemValue="#{item}"/> |
||||
|
</p:selectOneMenu> |
||||
|
<p:message id="m" for="marcaId"/> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<!-- botones en ajax true (excepto el cancelar) y updates referenciando a ids del dialog |
||||
|
(sobretodo a los id de los inputTxt) y tabla para actualizarla. continua en el bean --> |
||||
|
<p:commandButton action="#{demoBeanProveedor.agregar()}" |
||||
|
update="messages, proveedorTabla:table,email,e, nombre,n, telefono, t, " |
||||
|
rendered="#{demoBeanProveedor.nuevo}" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
icon="pi pi-save" ajax="true" |
||||
|
/> |
||||
|
|
||||
|
<p:commandButton action="#{demoBeanProveedor.editarP()}" |
||||
|
update="messages, proveedorTabla:table,email,e, nombre,n, telefono, t, " |
||||
|
rendered="#{!demoBeanProveedor.nuevo}" |
||||
|
icon="pi pi-save" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
ajax="true"/> |
||||
|
|
||||
|
<p:commandButton action="proveedorLista.xhtml" immediate="true" |
||||
|
style="margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" styleClass="ui-button-danger" |
||||
|
ajax="false"/> |
||||
|
|
||||
|
|
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
|
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="dialogForm1" |
||||
|
header="#{demoBeanProveedor.titulo} " |
||||
|
widgetVar="deleteProveedor" |
||||
|
responsive="true" |
||||
|
showEffect="fade" |
||||
|
modal="true" |
||||
|
resizable="true" |
||||
|
width="auto" |
||||
|
height="200"> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<p:growl id="messages" showDetail="true" for="mensajeProveedor"/> |
||||
|
<h1><h:outputText value=""/></h1> |
||||
|
<p:panelGrid columns="2"> |
||||
|
|
||||
|
<h:outputText value="Nombre:"/> |
||||
|
<h:outputText value="#{demoBeanProveedor.proveedor.nombre}" title="Nombre"/> |
||||
|
<h:outputText value="Telefono:"/> |
||||
|
<h:outputText value="#{demoBeanProveedor.proveedor.telefono}" title="Telefono"/> |
||||
|
<h:outputText value="Email:"/> |
||||
|
<h:outputText value="#{demoBeanProveedor.proveedor.email}" title="Email"/> |
||||
|
<h:outputText value="Estado:"/> |
||||
|
<h:outputText value="#{demoBeanProveedor.proveedor.estado}" title="Estado"/> |
||||
|
</p:panelGrid> |
||||
|
|
||||
|
<p:commandButton action="#{demoBeanProveedor.eliminarProveedor()}" |
||||
|
update="proveedorTabla:table, messages" |
||||
|
icon="pi pi-trash" |
||||
|
styleClass="ui-button-warning" |
||||
|
style=" width: 50px; " ajax="true"/> |
||||
|
|
||||
|
<p:commandButton action="proveedorLista.xhtml" icon="pi pi-times" |
||||
|
styleClass="ui-button-danger" |
||||
|
ajax="false" |
||||
|
style="margin-left: 5px; width: 50px;" immediate="true"/> |
||||
|
</h:form> |
||||
|
|
||||
|
</p:dialog> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</f:view> |
||||
|
|
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,82 @@ |
|||||
|
|
||||
|
#top { |
||||
|
position: relative; |
||||
|
background-color: #036fab; |
||||
|
color: white; |
||||
|
padding: 5px; |
||||
|
margin: 0px 0px 10px 0px; |
||||
|
} |
||||
|
|
||||
|
#bottom { |
||||
|
position: relative; |
||||
|
background-color: #c2dfef; |
||||
|
padding: 5px; |
||||
|
margin: 10px 0px 0px 0px; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
#left { |
||||
|
float: left; |
||||
|
background-color: #000000; |
||||
|
padding: 5px; |
||||
|
width: 150px; |
||||
|
} |
||||
|
|
||||
|
#right { |
||||
|
float: right; |
||||
|
background-color: #000000; |
||||
|
padding: 5px; |
||||
|
width: 150px; |
||||
|
} |
||||
|
.abajo{ |
||||
|
position: absolute; |
||||
|
bottom: 0; |
||||
|
} |
||||
|
.center_content { |
||||
|
position: relative; |
||||
|
background-color: #dddddd; |
||||
|
padding: 5px; |
||||
|
} |
||||
|
.titulo { |
||||
|
|
||||
|
font-family: Arial Black; |
||||
|
font-weight: bold; |
||||
|
|
||||
|
font-size: 30px; |
||||
|
color: #fff; |
||||
|
|
||||
|
} |
||||
|
.negrita{ |
||||
|
font-family: Arial Black; |
||||
|
} |
||||
|
.centro{ |
||||
|
text-aling: center; |
||||
|
} |
||||
|
.izq{ |
||||
|
text-align: left; |
||||
|
} |
||||
|
.left_content { |
||||
|
background-color: #dddddd; |
||||
|
padding: 5px; |
||||
|
margin-left: 170px; |
||||
|
} |
||||
|
|
||||
|
.right_content { |
||||
|
background-color: #dddddd; |
||||
|
padding: 5px; |
||||
|
margin: 0px 170px 0px 170px; |
||||
|
} |
||||
|
|
||||
|
#top a:link, #top a:visited { |
||||
|
color: white; |
||||
|
font-weight : bold; |
||||
|
text-decoration: none; |
||||
|
} |
||||
|
|
||||
|
#top a:link:hover, #top a:visited:hover { |
||||
|
color: black; |
||||
|
font-weight : bold; |
||||
|
text-decoration : underline; |
||||
|
} |
||||
|
|
||||
|
|
@ -0,0 +1,31 @@ |
|||||
|
body { |
||||
|
background-color: #ffffff; |
||||
|
font-size: 12px; |
||||
|
font-family: Verdana, "Verdana CE", Arial, "Arial CE", "Lucida Grande CE", lucida, "Helvetica CE", sans-serif; |
||||
|
color: #000000; |
||||
|
margin: 10px; |
||||
|
} |
||||
|
|
||||
|
h1 { |
||||
|
font-family: Arial, "Arial CE", "Lucida Grande CE", lucida, "Helvetica CE", sans-serif; |
||||
|
border-bottom: 1px solid #AFAFAF; |
||||
|
font-size: 25px; |
||||
|
font-weight: bold; |
||||
|
margin: 0px; |
||||
|
padding: 0px; |
||||
|
color: #000000; |
||||
|
text-aling: center; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
a:link, a:visited { |
||||
|
color: #045491; |
||||
|
font-weight : bold; |
||||
|
text-decoration: none; |
||||
|
} |
||||
|
|
||||
|
a:link:hover, a:visited:hover { |
||||
|
color: #000000; |
||||
|
font-weight : bold; |
||||
|
text-decoration : underline; |
||||
|
} |
@ -0,0 +1,93 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/XHtml.xhtml to edit this template |
||||
|
--> |
||||
|
<!DOCTYPE html> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:p="http://primefaces.org/ui" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core"> |
||||
|
|
||||
|
<body> |
||||
|
<f:view> |
||||
|
|
||||
|
<header style="display: flex; justify-content: center; font-size: 30px;"><strong>Roles</strong></header> |
||||
|
<p:divider/> |
||||
|
<main style="display: flex; justify-content: space-between; gap: 10px;"> |
||||
|
|
||||
|
<h:form id="rolForm"> |
||||
|
<p:growl id="messages" showDetail="true" for="mensajeRoles"/> |
||||
|
|
||||
|
<p:dataTable id="table" value="#{demoBeanRoles.roles}" var="item" style="width: 600px" |
||||
|
paginator="true" rows="5" rowSelectMode="add" paginatorPosition="bottom"> |
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Id"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.id}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Rol"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.rol}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Estado"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.estado == 2 ? 'Activo':'Inactivo'}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column style="text-align: center;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Opciones"/> |
||||
|
</f:facet> |
||||
|
<p:commandButton action="#{demoBeanRoles.eliminarRol(item)}" icon="pi pi-trash" style="margin-left: 5px" styleClass="ui-button-warning" |
||||
|
update="table" |
||||
|
ajax="true"/> |
||||
|
</p:column> |
||||
|
</p:dataTable> |
||||
|
</h:form> |
||||
|
|
||||
|
<h:form style="margin-top: 20px;"> |
||||
|
<header style="display: flex; justify-content: center;">Nuevo Rol</header> |
||||
|
<p:divider/> |
||||
|
<h:panelGrid columns="2" cellpadding="7"> |
||||
|
<p:outputLabel value="Rol:" for="rol" /> |
||||
|
<p:inputText id="rol" value="#{demoBeanRoles.rol.rol}" title="Rol" required="true" |
||||
|
requiredMessage="Este campo no puede estar vacio" |
||||
|
validatorMessage="entrada no valida" |
||||
|
> |
||||
|
<f:validateRegex pattern="^\b[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,}\b$" |
||||
|
for="apellidoPaterno" /> |
||||
|
</p:inputText> |
||||
|
<p:outputLabel></p:outputLabel> |
||||
|
<p:message id="rols" for="rol"/> |
||||
|
|
||||
|
|
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<footer style="display: flex; margin-top: 280px; justify-content: flex-end;"> <!-- alinear a derecha --> |
||||
|
<p:commandButton action="#{demoBeanRoles.agregarRol()}" update="rolForm:table,rol,rols,rolForm:messages" rendered="#{demoBeanRoles.nuevo}" |
||||
|
styleClass="ui-button-success" style="width: 50px;" |
||||
|
icon="pi pi-save" ajax="true" |
||||
|
/> |
||||
|
|
||||
|
<p:commandButton oncomplete="PF('rol').close()" immediate="true" style="margin-left: 5px; width: 50px; " icon="pi pi-times" styleClass="ui-button-danger" |
||||
|
ajax="false"/> |
||||
|
</footer> |
||||
|
|
||||
|
</h:form> |
||||
|
</main> |
||||
|
|
||||
|
|
||||
|
|
||||
|
</f:view> |
||||
|
|
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,48 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<h:head> |
||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
||||
|
<h:outputStylesheet name="./css/default.css"/> |
||||
|
<h:outputStylesheet name="./css/cssLayout.css"/> |
||||
|
|
||||
|
<title>Gestor de inventario</title> |
||||
|
|
||||
|
</h:head> |
||||
|
|
||||
|
<h:body> |
||||
|
|
||||
|
<div class="titulo" id="top"> |
||||
|
<center> |
||||
|
<h class="centro">Almacen, Bienvenido #{demoBeanLogin.user}</h> |
||||
|
<h:form> |
||||
|
<p:commandButton action="#{demoBeanLogin.logout()}" |
||||
|
immediate="true" |
||||
|
ajax="false" |
||||
|
style="margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger"/> |
||||
|
</h:form> |
||||
|
</center> |
||||
|
</div> |
||||
|
|
||||
|
<div id="content" class="center_content"> |
||||
|
<ui:insert name="content">Content</ui:insert> |
||||
|
</div> |
||||
|
|
||||
|
<div id="bottom"> |
||||
|
<center> |
||||
|
<h5>Derechos reservados XFORCE</h5> |
||||
|
|
||||
|
<!-- <ui:insert name="bottom">Bottom</ui:insert>--> |
||||
|
<h5>2024</h5> |
||||
|
</center> |
||||
|
</div> |
||||
|
|
||||
|
</h:body> |
||||
|
|
||||
|
</html> |
@ -0,0 +1,57 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html"> |
||||
|
|
||||
|
<h:head> |
||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
||||
|
<h:outputStylesheet name="./css/default.css"/> |
||||
|
<h:outputStylesheet name="./css/cssLayout.css"/> |
||||
|
|
||||
|
<!-- <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> |
||||
|
<link href="https://cdn.datatables.net/v/dt/dt-2.0.2/datatables.min.css" rel="stylesheet"/> |
||||
|
<script src="https://cdn.datatables.net/v/dt/dt-2.0.2/datatables.min.js"></script>--> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<title>Gestor de inventario</title> |
||||
|
<style> |
||||
|
|
||||
|
</style> |
||||
|
</h:head> |
||||
|
|
||||
|
<h:body> |
||||
|
|
||||
|
<div class="titulo" id="top"> |
||||
|
<center> |
||||
|
<h class="centro">Almacen</h> |
||||
|
</center> |
||||
|
</div> |
||||
|
|
||||
|
<div> |
||||
|
<div id="left"> |
||||
|
<ui:insert name="left">Left</ui:insert> |
||||
|
</div> |
||||
|
<div> |
||||
|
<div id="right"> |
||||
|
<ui:insert name="right">Right</ui:insert> |
||||
|
</div> |
||||
|
<div id="content" class="right_content"> |
||||
|
<ui:insert name="content">Content</ui:insert> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div id="bottom"> |
||||
|
|
||||
|
<h5>Derechos reservados XFORCE</h5> |
||||
|
|
||||
|
<!-- <ui:insert name="bottom">Bottom</ui:insert>--> |
||||
|
<h5>2024</h5> |
||||
|
</div> |
||||
|
|
||||
|
</h:body> |
||||
|
|
||||
|
</html> |
@ -0,0 +1,167 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
||||
|
Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/XHtml.xhtml to edit this template |
||||
|
--> |
||||
|
<!DOCTYPE html> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:p="http://primefaces.org/ui" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core"> |
||||
|
|
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<f:view> |
||||
|
|
||||
|
<main style="display: flex; justify-content: space-between;"> |
||||
|
|
||||
|
|
||||
|
<h:form id="tipT"> |
||||
|
<p:growl id="messages" showDetail="true" for="tipoM"/> |
||||
|
|
||||
|
<p:dataTable id="table" value="#{demoBeanTipo.tipos}" var="item" style="width: 600px" |
||||
|
paginator="true" rows="5" rowSelectMode="add" paginatorPosition="bottom"> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<h1><h:outputText value="List"/></h1> |
||||
|
|
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Id"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.id}"/> |
||||
|
</p:column> |
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Tipo"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.tipo}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Opciones"/> |
||||
|
</f:facet> |
||||
|
<p:commandButton action="#{demoBeanTipo.eliminarTipo(item)}" |
||||
|
icon="pi pi-trash" |
||||
|
style="margin-left: 5px" |
||||
|
styleClass="ui-button-danger" |
||||
|
oncomplete="PF('tipo').show()" |
||||
|
update="table" |
||||
|
ajax="true"/> |
||||
|
</p:column> |
||||
|
</p:dataTable> |
||||
|
</h:form> |
||||
|
|
||||
|
|
||||
|
<h:form style="margin-left: 20px; margin-top: 20px;"> |
||||
|
<header style="display: flex; justify-content: center;">Nuevo tipo</header> |
||||
|
<p:divider/> |
||||
|
|
||||
|
<h:panelGrid columns="3" cellpadding="7"> |
||||
|
<p:outputLabel value="Tipo" for="tipo" /> |
||||
|
<p:inputText id="tipo" |
||||
|
value="#{demoBeanTipo.tipo.tipo}" |
||||
|
title="Tipo" |
||||
|
required="true" |
||||
|
requiredMessage="este campo no puede estar vacio" |
||||
|
validatorMessage="entrada no valida" |
||||
|
> |
||||
|
<f:validateRegex pattern="^\b[A-ZÁÉÍÓÚÜÑ][a-záéíóúüñ]{1,}\b$" |
||||
|
for="apellidoPaterno" /> |
||||
|
</p:inputText> |
||||
|
<p:message id="tipos" for="tipo"/> |
||||
|
|
||||
|
|
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<footer style="display: flex; margin-top: 340px; justify-content: flex-end;"> <!-- alinear a derecha --> |
||||
|
<p:commandButton action="#{demoBeanTipo.agregar()}" |
||||
|
update="tipT:table,tipo,tipos,tipT:messages" |
||||
|
rendered="#{demoBeanTipo.nuevo}" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
icon="pi pi-save" ajax="true" |
||||
|
/> |
||||
|
|
||||
|
<p:commandButton oncomplete="pf('tipo').close()" |
||||
|
immediate="true" |
||||
|
style="margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger" |
||||
|
ajax="false"/> |
||||
|
</footer> |
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</main> |
||||
|
|
||||
|
</f:view> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,84 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
top |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
left |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
right |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<p:messages id="messages" showDetail="true" closable="true"> |
||||
|
|
||||
|
</p:messages> |
||||
|
|
||||
|
<h1><h:outputText value="#{demoBeanUbicacion.titulo}"/></h1> |
||||
|
<h:panelGrid columns="2" cellpadding="7"> |
||||
|
|
||||
|
<p:outputLabel value="Bloque:" for="bloque" /> |
||||
|
<p:inputText converter="" id="bloque" |
||||
|
value="#{demoBeanUbicacion.ubi.bloque}" |
||||
|
title="Bloque" |
||||
|
required="true" |
||||
|
|
||||
|
validatorMessage="Asignación no valida" |
||||
|
requiredMessage="Asignación no valida"> |
||||
|
|
||||
|
|
||||
|
|
||||
|
</p:inputText> |
||||
|
|
||||
|
|
||||
|
<p:outputLabel value="Anaquel:" for="anaquel" /> |
||||
|
<p:inputText id="anaquel" value="#{demoBeanUbicacion.ubi.anaquel}" title="Anaquel" /> |
||||
|
|
||||
|
</h:panelGrid> |
||||
|
<p:commandButton action="#{demoBeanUbicacion.agregar()}" |
||||
|
|
||||
|
update="messages" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" icon="pi pi-check" |
||||
|
rendered="#{demoBeanUbicacion.nuevo}" |
||||
|
ajax="false"/> |
||||
|
|
||||
|
<p:commandButton |
||||
|
action="#{demoBeanUbicacion.editarU()}" |
||||
|
rendered="#{!demoBeanUbicacion.nuevo}" |
||||
|
update="messages" |
||||
|
icon="pi pi-save" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" ajax="false"/> |
||||
|
|
||||
|
<p:commandButton action="ubicacionLista.xhtml" style="margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger" |
||||
|
ajax="false" immediate="true"/> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,58 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
top |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
left |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
right |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<h1><h:outputText value="Eliminar"/></h1> |
||||
|
<p:panelGrid columns="2"> |
||||
|
<h:outputText value="Id:"/> |
||||
|
<h:outputText value="#{demoBeanUbicacion.ubi.id}" title="Id"/> |
||||
|
<h:outputText value="Bloque:"/> |
||||
|
<h:outputText value="#{demoBeanUbicacion.ubi.bloque}" title="Bloque"/> |
||||
|
<h:outputText value="Anaquel:"/> |
||||
|
<h:outputText value="#{demoBeanUbicacion.ubi.anaquel}" title="Anaquel"/> |
||||
|
<h:outputText value="Estado:"/> |
||||
|
<h:outputText value="#{demoBeanUbicacion.ubi.estado}" title="Estado"/> |
||||
|
</p:panelGrid> |
||||
|
<p:commandButton action="ubicacionLista.xhtml" actionListener="#{demoBeanUbicacion.eliminarUbicacion()}" |
||||
|
icon="pi pi-trash" |
||||
|
style=" width: 50px; " |
||||
|
styleClass="ui-button-warning" ajax="false"/> |
||||
|
|
||||
|
<p:commandButton action="ubicacionLista.xhtml" icon="pi pi-times" |
||||
|
styleClass="ui-button-danger" |
||||
|
style="margin-left: 5px; width: 50px;" |
||||
|
immediate="true" ajax="false"/> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,306 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/listas.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
<div> |
||||
|
<h:form> |
||||
|
<p:menubar> |
||||
|
|
||||
|
<p:menuitem value="Productos" action="productoLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Marcas" action="marcaLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Proveedores" action="proveedorLista.xhtml" ajax="false"/> |
||||
|
<p:menuitem value="Ubicaciones" action="ubicacionLista.xhtml" disabled="true" ajax="false"/> |
||||
|
<p:menuitem value="Usuarios" action="usuariosLista.xhtml" ajax="false"/> |
||||
|
|
||||
|
<p:submenu label="Opciones" icon="pi pi-fw pi-list"> |
||||
|
|
||||
|
<p:menuitem value="Roles" |
||||
|
icon="pi pi-fw pi-users" |
||||
|
oncomplete="PF('rol').show()" |
||||
|
update=":rolD" |
||||
|
actionListener="#{demoBeanRoles.prepararNuevo()}"/> |
||||
|
|
||||
|
|
||||
|
<p:menuitem value="Paises" |
||||
|
icon="pi pi-globe" |
||||
|
oncomplete="PF('pais').show()" |
||||
|
update="paisDialog" |
||||
|
actionListener="#{demoBeanPaises.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Estados" |
||||
|
icon="pi pi-map" |
||||
|
oncomplete="PF('estado').show()" |
||||
|
update="estadosDialog" |
||||
|
actionListener="#{demoBeanEstados.prepararNuevo()}"/> |
||||
|
|
||||
|
<p:menuitem value="Tipos" |
||||
|
icon="pi pi-tags" |
||||
|
oncomplete="PF('tipo').show()" |
||||
|
update=":tip" |
||||
|
actionListener="#{demoBeanTipo.prepararNuevo()}"/> |
||||
|
<!-- <p:divider />--> |
||||
|
</p:submenu> |
||||
|
|
||||
|
|
||||
|
</p:menubar> |
||||
|
</h:form> |
||||
|
|
||||
|
<p:dialog id="rolD" widgetVar="rol" header="#{demoBeanRoles.titulo}" responsive="true" showEffect="fade" modal="true" resizable="false"> |
||||
|
<ui:include src="roles.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
|
||||
|
<p:dialog id="tip" widgetVar="tipo" responsive="true" showEffect="fade" modal="true" resizable="false"> |
||||
|
<ui:include src="tipos.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="paisDialog" widgetVar="pais" responsive="true" |
||||
|
showEffect="fade" modal="true" resizable="false" style="height: auto"> |
||||
|
<ui:include src="paises.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="estadosDialog" widgetVar="estado" responsive="true" |
||||
|
showEffect="fade" modal="true" resizable="false" style="height: auto"> |
||||
|
<ui:include src="estados.xhtml"/> |
||||
|
</p:dialog> |
||||
|
|
||||
|
|
||||
|
</div> |
||||
|
<!--id para el formulario --> |
||||
|
<h:form id="ubicacionTabla" > |
||||
|
|
||||
|
<p:growl id="messages" showDetail="true" /> |
||||
|
|
||||
|
<!-- agregar accionador de dialogo("oncomplete") y actualizar el mismo dialogo ("update") --> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<p:dataTable id="table" value="#{demoBeanUbicacion.ubicacion}" |
||||
|
var="item" |
||||
|
filteredValue="#{demoBeanUbicacion.ubicacionFilter}" |
||||
|
globalFilterFunction="#{demoBeanUbicacion.globalFilterFunction}" |
||||
|
widgetVar="filter" |
||||
|
paginator="true" |
||||
|
resizableColumns="true" |
||||
|
showGridlines="true" |
||||
|
|
||||
|
paginatorPosition="bottom" |
||||
|
|
||||
|
rows="10" |
||||
|
rowSelectMode="add" > |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<f:facet name="header"> |
||||
|
|
||||
|
<div style="display: flex; justify-content: space-between; align-items: center;"> |
||||
|
<div style="flex: 1;"> |
||||
|
<p:commandButton style="margin-top: 5px;" |
||||
|
actionListener="#{demoBeanUbicacion.prepararnuevo()}" |
||||
|
oncomplete="PF('mar').show()" |
||||
|
value="Nuevo" |
||||
|
update=":dialogForm" |
||||
|
icon="pi pi-plus" |
||||
|
ajax="true"/> |
||||
|
</div> |
||||
|
<div style="flex: 1; text-align: center;"> <!-- Div para el texto centrado --> |
||||
|
<header style="display: flex; justify-content: center; font-size: 30px;"><strong>Ubicacion</strong></header> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<div style="flex: 1; text-align: right;"> |
||||
|
|
||||
|
<div class="flex justify-content-end"> |
||||
|
<p:inputText id="globalFilter" |
||||
|
onkeyup="PF('filter').filter()" |
||||
|
style="width:300px" |
||||
|
placeholder="Buscador general" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</f:facet> |
||||
|
|
||||
|
<p:column responsivePriority="3"> |
||||
|
|
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Bloque"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.bloque}"/> |
||||
|
</p:column> |
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Anaquel"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.anaquel}"/> |
||||
|
</p:column> |
||||
|
|
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Opciones"/> |
||||
|
|
||||
|
</f:facet> |
||||
|
<p:column> |
||||
|
<div style="text-align: center"> |
||||
|
<p:commandButton actionListener="#{demoBeanUbicacion.prepararEditar(item)}" |
||||
|
oncomplete="PF('mar').show()" |
||||
|
update=":dialogForm" |
||||
|
icon="pi pi-fw pi-pencil" |
||||
|
styleClass="ui-button-secondary" ajax="true" |
||||
|
/> |
||||
|
<p:commandButton actionListener="#{demoBeanUbicacion.prepararEliminar(item)}" |
||||
|
ajax="true" |
||||
|
oncomplete="PF('deleteUbicacion').show()" |
||||
|
update=":dialogForm1" |
||||
|
icon="pi pi-trash" |
||||
|
style="margin-left: 5px" |
||||
|
styleClass="ui-button-danger"/> |
||||
|
</div> |
||||
|
</p:column> |
||||
|
</p:column> |
||||
|
</p:dataTable> |
||||
|
</h:form> |
||||
|
|
||||
|
<!-- agregar dialog modal --> |
||||
|
<p:dialog id="dialogForm" |
||||
|
header="#{demoBeanUbicacion.titulo}" |
||||
|
widgetVar="mar" |
||||
|
responsive="true" |
||||
|
showEffect="fade" |
||||
|
modal="true" |
||||
|
resizable="true" |
||||
|
width="auto" |
||||
|
height="120"> |
||||
|
<h:form> |
||||
|
|
||||
|
<p:growl id="messages" showDetail="true" for="mensajeUbicacion"/> |
||||
|
|
||||
|
<h:panelGrid columns="3" cellpadding="7"> |
||||
|
<p:outputLabel value="Bloque" for="bloque" /> |
||||
|
<p:inputText id="bloque" |
||||
|
value="#{demoBeanUbicacion.ubi.bloque}" |
||||
|
title="Bloque" |
||||
|
required="true" |
||||
|
requiredMessage="El campo no debe estar vacio" |
||||
|
validatorMessage="Asignación no valida" > |
||||
|
|
||||
|
|
||||
|
<f:validateRegex pattern="^[A-Z]$" |
||||
|
for="bloque"/> |
||||
|
|
||||
|
|
||||
|
</p:inputText> |
||||
|
|
||||
|
<p:message id="block" for="bloque"/> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<p:outputLabel value="Anaquel:" for="anaquel" /> |
||||
|
<p:inputText id="anaquel" |
||||
|
value="#{demoBeanUbicacion.ubi.anaquel}" |
||||
|
title="Anaquel" |
||||
|
required="true" |
||||
|
requiredMessage="Asignación no valida" |
||||
|
> |
||||
|
|
||||
|
</p:inputText> |
||||
|
|
||||
|
<p:message id="y" for="bloque"/> |
||||
|
|
||||
|
|
||||
|
</h:panelGrid> |
||||
|
|
||||
|
<!-- botones en ajax true (excepto el cancelar) y updates referenciando a ids del dialog |
||||
|
(sobretodo a los id de los inputTxt) y tabla para actualizarla. continua en el bean --> |
||||
|
<p:commandButton action="#{demoBeanUbicacion.agregar()}" |
||||
|
update="messages, ubicacionTabla:table, bloque,block" |
||||
|
rendered="#{demoBeanUbicacion.nuevo}" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
icon="pi pi-save" |
||||
|
ajax="true" |
||||
|
/> |
||||
|
|
||||
|
<p:commandButton action="#{demoBeanUbicacion.editarU()}" |
||||
|
update="messages, ubicacionTabla:table, bloque,block" |
||||
|
rendered="#{!demoBeanUbicacion.nuevo}" |
||||
|
icon="pi pi-save" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" |
||||
|
ajax="true"/> |
||||
|
|
||||
|
<p:commandButton action="ubicacionLista.xhtml" immediate="true" |
||||
|
style="margin-left: 5px; width: 50px; " |
||||
|
icon="pi pi-times" styleClass="ui-button-danger" |
||||
|
ajax="false"/> |
||||
|
|
||||
|
|
||||
|
|
||||
|
</h:form> |
||||
|
|
||||
|
|
||||
|
</p:dialog> |
||||
|
|
||||
|
<p:dialog id="dialogForm1" |
||||
|
header="#{demoBeanUbicacion.titulo}" |
||||
|
widgetVar="deleteUbicacion" |
||||
|
responsive="true" |
||||
|
showEffect="fade" |
||||
|
modal="true" |
||||
|
resizable="true" |
||||
|
width="auto" |
||||
|
height="200"> |
||||
|
|
||||
|
<h:form> |
||||
|
<p:growl id="messages" showDetail="true" for="mensajeUbicacion"/> |
||||
|
|
||||
|
<p:panelGrid columns="2"> |
||||
|
|
||||
|
<h:outputText value="Bloque:"/> |
||||
|
<h:outputText value="#{demoBeanUbicacion.ubi.bloque}" title="Bloque"/> |
||||
|
<h:outputText value="Anaquel:"/> |
||||
|
<h:outputText value="#{demoBeanUbicacion.ubi.anaquel}" title="Anaquel"/> |
||||
|
<h:outputText value="Estado:"/> |
||||
|
<h:outputText value="#{demoBeanUbicacion.ubi.estado}" title="Estado"/> |
||||
|
</p:panelGrid> |
||||
|
<p:commandButton action="#{demoBeanUbicacion.eliminarUbicacion()}" |
||||
|
update="ubicacionTabla:table,messages" |
||||
|
icon="pi pi-trash" |
||||
|
style=" width: 50px; " |
||||
|
styleClass="ui-button-warning" ajax="true"/> |
||||
|
|
||||
|
<p:commandButton action="ubicacionLista.xhtml" icon="pi pi-times" |
||||
|
styleClass="ui-button-danger" |
||||
|
style="margin-left: 5px; width: 50px;" |
||||
|
immediate="true" ajax="false"/> |
||||
|
</h:form> |
||||
|
|
||||
|
|
||||
|
|
||||
|
</p:dialog> |
||||
|
|
||||
|
|
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
<script> |
||||
|
|
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,68 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<p:messages id="messages" showDetail="true" closable="true"> |
||||
|
<p:autoUpdate/> |
||||
|
</p:messages> |
||||
|
|
||||
|
<h1><h:outputText value="#{demoBeanUsuarios.titulo}"/></h1> |
||||
|
<h:panelGrid columns="3" cellpadding="7"> |
||||
|
|
||||
|
<p:outputLabel value="Nombre:" for="nombre" /> |
||||
|
<p:inputText id="nombre" value="#{demoBeanUsuarios.usuario.nombre}" title="Nombre" required="true" /> |
||||
|
<p:message for="nombre" display="tooltip"/> |
||||
|
|
||||
|
<p:outputLabel value="Apellido P:" for="apellidoPaterno" /> |
||||
|
<p:inputText id="apellidoPaterno" value="#{demoBeanUsuarios.usuario.apellidoPaterno}" title="ApellidoPaterno" required="true"/> |
||||
|
<p:message for="apellidoPaterno" display="tooltip"/> |
||||
|
|
||||
|
<p:outputLabel value="Email:" for="email" /> |
||||
|
<p:inputText id="email" value="#{demoBeanUsuarios.usuario.email}" title="Email" required="true"/> |
||||
|
<p:message for="email" display="tooltip"/> |
||||
|
|
||||
|
<p:outputLabel value="Telefono:" for="telefono" /> |
||||
|
<p:inputText id="telefono" value="#{demoBeanUsuarios.usuario.telefono}" title="Telefono" required="true"/> |
||||
|
<p:message for="telefono" display="tooltip"/> |
||||
|
|
||||
|
</h:panelGrid> |
||||
|
<p:commandButton action="#{demoBeanUsuarios.agregar()}" rendered="#{demoBeanUsuarios.nuevo}" styleClass="ui-button-success" style="width: 50px;" icon="pi pi-save" ajax="false"/> |
||||
|
<p:commandButton action="#{demoBeanUsuarios.editarUsuario()}" icon="pi pi-save" |
||||
|
styleClass="ui-button-success" |
||||
|
style="width: 50px;" rendered="#{!demoBeanUsuarios.nuevo}" ajax="false"/> |
||||
|
|
||||
|
<p:commandButton action="usuariosLista.xhtml" style="margin-left: 5px; width: 50px; " immediate="true" icon="pi pi-times" ajax="false" styleClass="ui-button-danger"/> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,63 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<h1><h:outputText value="Eliminar"/></h1> |
||||
|
<p:panelGrid columns="2"> |
||||
|
<h:outputText value="Id:"/> |
||||
|
<h:outputText value="#{demoBeanUsuarios.usuario.id}" title="Id"/> |
||||
|
<h:outputText value="Nombre:"/> |
||||
|
<h:outputText value="#{demoBeanUsuarios.usuario.nombre}" title="Nombre"/> |
||||
|
<h:outputText value="ApellidoPaterno:"/> |
||||
|
<h:outputText value="#{demoBeanUsuarios.usuario.apellidoPaterno}" title="ApellidoPaterno"/> |
||||
|
<h:outputText value="Email:"/> |
||||
|
<h:outputText value="#{demoBeanUsuarios.usuario.email}" title="Email"/> |
||||
|
<h:outputText value="Telefono:"/> |
||||
|
<h:outputText value="#{demoBeanUsuarios.usuario.telefono}" title="Telefono"/> |
||||
|
<h:outputText value="Estado:"/> |
||||
|
<h:outputText value="#{demoBeanUsuarios.usuario.estado == 2 ? 'Activo':'Inactivo'}" title="Estado"/> |
||||
|
</p:panelGrid> |
||||
|
<p:commandButton action="usuariosLista.xhtml" actionListener="#{demoBeanUsuarios.eliminarUsuario()}" ajax="false" |
||||
|
icon="pi pi-trash" |
||||
|
styleClass="ui-button-warning" |
||||
|
style=" width: 50px; " |
||||
|
/> |
||||
|
<p:commandButton action="usuariosLista.xhtml" immediate="true" ajax="false" |
||||
|
icon="pi pi-times" |
||||
|
styleClass="ui-button-danger" |
||||
|
style="margin-left: 5px; width: 50px;" |
||||
|
/> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue