SpringBoot+vue plataforma de mantenimiento comunitario separada de front-end y back-end

Obtenga el código fuente al final del artículo

Lenguaje de desarrollo: Java

Herramientas de desarrollo: IDEA/Eclipse

Base de datos: MYSQL5.7

Servicio de aplicaciones: Tomcat7/Tomcat8

Marco de uso: springboot + vue

Versión JDK: jdk1.8

prefacio

La gestión del sistema también llevará a cabo una operación inteligente general a través de la computadora. Hay una gran cantidad de gestión y almacenamiento de datos involucrados en la plataforma de mantenimiento de la comunidad, como la gestión del hogar, la gestión de anuncios de la comunidad, la gestión de trabajadores de mantenimiento, la gestión de órdenes de mantenimiento y la gestión de información de pedidos. , gestión de información de pedidos, gestión de comunicación en línea, gestión de información de informes, gestión de tableros de mensajes, gestión de sistemas, etc., lo que plantea grandes desafíos para el trabajo del gerente. Ante una gran cantidad de información, el sistema de gestión tradicional está completo. Notas. Este método es más tradicional, y es más problemático contar la información de datos, y también se ve afectado por el tiempo y el espacio. Este sistema está desarrollado; proporciona a los usuarios una plataforma de plataforma de mantenimiento comunitario, que es conveniente para que los administradores vean y mantener, y permite a los residentes solicitar reparaciones y ver anuncios, información de pedidos e información del personal de mantenimiento en línea. El personal de mantenimiento puede ver información de pedidos en línea. , pedidos en línea, comunicación en línea, etc., los administradores pueden obtener información de datos del sistema sin salir de casa y puede ahorrar mucho tiempo a los usuarios, por lo que el desarrollo de la plataforma de mantenimiento de la comunidad brinda grandes beneficios a los administradores. Es conveniente y conveniente para los administradores procesar la información del usuario.

Análisis de flujo del sistema

Procedimientos de operación

Si el administrador desea ingresar al sistema, primero ingresa a la interfaz de inicio de sesión del sistema. Después de ingresar el nombre de usuario y la contraseña correctos, el sistema verificará la información de inicio de sesión y la información es correcta, y luego ingresará a la interfaz de función correspondiente, indicando que la información es incorrecta y el inicio de sesión falla. El proceso de operación del sistema se muestra en la figura.

 Agregar flujo de información

Para agregar información, el sistema de numeración utiliza el modo de numeración automática, ningún usuario completa, el administrador agrega información e ingresa la información, el sistema confirmará automáticamente la información y los datos, y la verificación exitosa es válida. base de datos, la información no es válida y se vuelve a introducir. El proceso de agregar información se muestra en la figura.

 Eliminar flujo de información

El administrador selecciona la información que se va a eliminar y hace clic en el botón Eliminar, y el sistema le pregunta si desea eliminar la información. Si el usuario desea eliminar la información, el sistema eliminará la información. Información de eliminación de la base de datos del sistema. El diagrama de flujo de la eliminación de información se muestra en la figura.

 arquitectura del sistema

Diagrama de estructura del sistema de desarrollo de plataforma de mantenimiento comunitario

 

El módulo incluye la interfaz principal, administración del hogar, administración de anuncios comunitarios, administración de trabajadores de mantenimiento, administración de pedidos de mantenimiento, administración de información de pedidos, administración de información de pedidos, administración de comunicaciones en línea, administración de información de informes, administración de tableros de mensajes, administración de sistemas, etc. operaciones.

Diagrama de estructura del sistema de inicio de sesión, como se muestra en la figura

 Diagrama de estructura del sistema, como se muestra en la figura.

Implementación del sistema

Módulo de función de recepción para residentes

A través de la página de inicio de sesión en segundo plano, el personal de mantenimiento puede completar el nombre de usuario y la contraseña, y otra información, e iniciar sesión después de que la entrada sea correcta, como se muestra en la figura

página delantera 

 Anuncio de la comunidad

 

trabajador de mantenimiento

Al hacer clic en el trabajador de mantenimiento, puede ver la cuenta, el género, el avatar, el grado, la tarjeta de identificación, el número de teléfono, el perfil y otra información del trabajador de mantenimiento, y verificarlo o informarlo, como se muestra en la Figura 5-14. Al hacer clic en el informe para ingresar a la página del informe, puede ingresar el título, el número de cuenta, el nombre, el contenido del informe, la fecha del informe, el nombre de usuario, el nombre del residente y otra información para enviar el informe, como se muestra en la figura. 

 

 

Orden de reparación

Al hacer clic en la orden de mantenimiento, puede ver el nombre del artículo, el tipo de mantenimiento, la fecha de lanzamiento, el nombre de usuario, el nombre del residente, el número de teléfono móvil, la dirección y otra información de la orden de mantenimiento, verificar, aceptar la orden y comunicarse en línea, como se muestra en la figura 

 

El personal de mantenimiento puede ver el nombre del artículo, el tipo de mantenimiento, el nombre de usuario, el nombre del residente, el contenido del pedido, la fecha del pedido, el número de cuenta, el nombre, el número de teléfono y otra información haciendo clic en el pedido para ingresar a la página del pedido y enviar o restablecer el operación, como se muestra en la figura

 

 Al hacer clic en la comunicación, el personal de mantenimiento puede ver el título, el nombre de usuario, el nombre del hogar, el contenido del chat de entrada, la fecha y otra información en línea, y realizar operaciones de comunicación en línea, como se muestra en la figura.

noticias

Al hacer clic en la información de la noticia, puede ver el contenido de la noticia, la hora de publicación, el título de la noticia y otra información para ver, como se muestra en la figura 

 

 

realimentación

Puede realizar mensajes en línea a través de la página, ingresar el contenido del mensaje y enviarlo de inmediato. Como se muestra 

centro personal

El personal de mantenimiento puede ingresar el número de cuenta, la contraseña, el nombre, el género, la contraseña, el grado, cargar una imagen, la tarjeta de identificación, el número de teléfono y otra información a través de la página del centro personal, actualizar la información o cerrar la sesión. Como se muestra 

Módulo de funciones de administrador 

A través de la página de inicio de sesión en segundo plano, el administrador puede completar el nombre de usuario y la contraseña, y otra información, e iniciar sesión después de que la entrada sea correcta, como se muestra en la figura

Después de iniciar sesión con éxito, el administrador ingresa a la interfaz de operación del sistema y puede administrar el centro personal, la administración del hogar, la administración de anuncios comunitarios, la administración de trabajadores de mantenimiento, la administración de pedidos de mantenimiento, la administración de información de pedidos, la administración de información de pedidos, la administración de comunicación en línea, la administración de información de informes, Tablero de mensajes Gestión, gestión del sistema y otros módulos funcionales realizan las operaciones correspondientes.

El administrador puede obtener los dos submódulos de modificación de la contraseña y la información personal a través del centro personal, y puede ver la información personal del administrador y modificarla a través de la lista de información personal, como se muestra en la figura.

 

Gestión de residentes

El administrador puede ver el nombre de usuario, la contraseña, el nombre del hogar, el género, el avatar, el número de teléfono móvil y otra información a través de la lista. El administrador puede modificar o ver la operación de eliminación, o hacer clic e ingresar el nombre de usuario para buscar anuncios, como se muestra en la figura 

Gestión de anuncios de la comunidad

El administrador puede obtener el título del anuncio, la imagen, el contenido del anuncio, la hora de lanzamiento y otra información a través de la lista, y realizar detalles del anuncio de la comunidad del complemento, modificar o eliminar operaciones, y el administrador puede consultar o agregar operaciones de anuncio ingresando el título del anuncio. , como se muestra en la figura 

Gestión de trabajadores de mantenimiento

El administrador puede ver la cuenta, la contraseña, el nombre, el género, el grado, el avatar, la tarjeta de identificación, el número de teléfono, el perfil y otra información haciendo clic en la página del trabajador de mantenimiento, ver detalles o modificar o eliminar operaciones y consultar operaciones a través del número de cuenta. , como se muestra en la figura 

Gestión de información de pedidos

Los residentes pueden ver el número de pedido, el nombre del artículo, el tipo de mantenimiento, el nombre de usuario, el nombre del residente, el contenido del pedido, la fecha del pedido, el número de cuenta, el nombre, el número de teléfono y otra información a través de la lista de información del pedido, y ver detalles, modificar o eliminar operaciones. Ingrese el número de pedido para la operación de consulta, como se muestra en la figura 

Gestión de información de pedidos

El administrador puede ver el número de pedido, el nombre del artículo, el tipo de mantenimiento, el nombre de usuario, el nombre del residente, el costo de mantenimiento, el número de cuenta, el nombre, si pagar y otra información a través de la lista de información del pedido, ver detalles, modificar o eliminar operaciones e ingresar el pedido ingresando el número de pedido, el nombre del artículo, el nombre del hogar para la operación de consulta, como se muestra en la figura 

Gestión de la comunicación en línea

A través de la lista de comunicaciones en línea, puede ver información como el título, el nombre de usuario, el nombre del hogar, el contenido del chat, la respuesta del chat, el número de cuenta, el nombre, etc., para ver detalles o modificar o eliminar operaciones y consultar operaciones ingresando el título. y el nombre del hogar, como se muestra en la figura. 

Gestión de la información de informes

A través de la lista, puede obtener el título, el número de cuenta, el nombre, el contenido del informe, la fecha del informe, el nombre de usuario, el nombre del residente, la respuesta a la revisión, el estado de la revisión, la revisión y otra información, para ver detalles o modificar y eliminar operaciones, y buscar por introduciendo el título y el nombre. Como se muestra 

Módulo de función de fondo residencial 

A través de la página de inicio de sesión del usuario, el usuario puede completar el nombre de usuario y la contraseña, y otra información para iniciar sesión. Después de que el usuario inicie sesión correctamente, ingrese a la página del sistema de fondo del usuario para ver el centro personal, la gestión de órdenes de mantenimiento, la gestión de información de pedidos , gestión de información de pedidos, gestión de comunicación en línea e informes Módulo de gestión de información y otros módulos funcionales para realizar las operaciones correspondientes. Como se muestra

Los usuarios pueden ver y modificar los dos submódulos de contraseña e información personal haciendo clic en el centro personal Información personal: a través de la página, puede ingresar el nombre de usuario, nombre del residente, género, avatar, número de teléfono móvil y otra información para modificar la operación. Como se muestra

 

Gestión de órdenes de mantenimiento

Los usuarios pueden ver información como el nombre, el nombre del elemento, el tipo de mantenimiento, la imagen, la fecha de lanzamiento, el nombre de usuario, el nombre del hogar, el teléfono móvil, la dirección y otra información a través de la lista, y realizar operaciones de visualización, adición o eliminación. Como se muestra en la Figura 1. Los residentes pueden ingresar a la página haciendo clic en Agregar

 

 

 

Gestión de información de pedidos

Los residentes pueden ver el número de pedido, el nombre del artículo, el tipo de mantenimiento, el nombre de usuario, el nombre del residente, el contenido del pedido, la fecha del pedido, el número de cuenta, el nombre, el número de teléfono y otra información a través de la lista de información del pedido, y verificar los detalles o consultas ingresando el número de orden operación, como se muestra en la figura 

Gestión de información de pedidos

Los residentes pueden ver el número de pedido, el nombre del artículo, el tipo de mantenimiento, el nombre de usuario, el nombre del residente, el costo de mantenimiento, el número de cuenta, el nombre, si pagar y otra información a través de la lista de información del pedido, y ver los detalles o ingresar el número de pedido, el artículo nombre, nombre del residente Operación de consulta, como se muestra en la figura 

Gestión de la comunicación en línea

A través de la lista de comunicaciones en línea, puede ver información como el título, el nombre de usuario, el nombre del hogar, el contenido del chat, la respuesta del chat, el número de cuenta, el nombre, etc., para ver detalles o modificar o eliminar operaciones y consultar operaciones ingresando el título. y el nombre del hogar, como se muestra en la figura. 

Gestión de la información de informes

A través de la lista de información del informe, puede ver el título, el número de cuenta, el nombre, el contenido del informe, la fecha del informe, el nombre del residente, la respuesta a la revisión, el estado de la revisión y otra información, ver detalles, modificar, eliminar operaciones y consultar ingresando el título y nombre, como se muestra en la figura. 

Módulo de función de fondo del personal de mantenimiento 

El trabajador de mantenimiento puede completar el nombre de usuario y la contraseña a través de la página de inicio de sesión e iniciar sesión con otra información.Después de que el trabajador de mantenimiento inicie sesión correctamente, puede ingresar a la página del sistema de fondo del usuario para ver el centro personal, la gestión de información de pedidos, el pedido gestión de la información, módulo de gestión de la comunicación en línea y otros módulos funcionales.Realizar las operaciones correspondientes. Información del pedido: a través de la lista, puede ver el número de pedido, el nombre del artículo, el tipo de mantenimiento, el nombre de usuario, el nombre del hogar, el contenido del pedido, la fecha del pedido, el número de cuenta, el nombre, el número de teléfono, etc., para ver los detalles o las órdenes de reparación. eliminar operaciones, como se muestra en la Figura 1. Al hacer clic en la orden de mantenimiento, puede ingresar el número de orden, el nombre del artículo, el tipo de mantenimiento, el nombre de usuario, el nombre del hogar, la tarifa de mantenimiento, el número de cuenta, el nombre y otra información, y enviar la operación, como se muestra en la Figura 2

 

Gestión de información de pedidos

A través de la lista de información del pedido, puede ver el número de pedido, el nombre del artículo, el tipo de mantenimiento, el nombre de usuario, el nombre del residente, la tarifa de mantenimiento, el número de cuenta, el nombre, si pagar, etc., para ver detalles o eliminar operaciones, ingresando el número de pedido, nombre del artículo, residente Nombre para la operación de consulta, como se muestra en la figura 

Gestión de la comunicación en línea

A través de la lista de comunicación en línea, puede ver el título de la suscripción, el nombre de usuario, el nombre del hogar, el contenido del chat, la respuesta del chat, el número de cuenta, el nombre y otra información, ver detalles o eliminar operaciones y realizar consultas ingresando el título y el nombre del hogar, como se muestra en la figura. 

Parte del código:  

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.WeixiudingdanEntity;
import com.entity.view.WeixiudingdanView;

import com.service.WeixiudingdanService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 维修订单
 * 后端接口
 * @author 
 * @email 
 * @date 2021-02-25 16:01:10
 */
@RestController
@RequestMapping("/weixiudingdan")
public class WeixiudingdanController {
    @Autowired
    private WeixiudingdanService weixiudingdanService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,WeixiudingdanEntity weixiudingdan, HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("zhuhu")) {
			weixiudingdan.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<WeixiudingdanEntity> ew = new EntityWrapper<WeixiudingdanEntity>();
		PageUtils page = weixiudingdanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, weixiudingdan), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,WeixiudingdanEntity weixiudingdan, HttpServletRequest request){
        EntityWrapper<WeixiudingdanEntity> ew = new EntityWrapper<WeixiudingdanEntity>();
		PageUtils page = weixiudingdanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, weixiudingdan), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( WeixiudingdanEntity weixiudingdan){
       	EntityWrapper<WeixiudingdanEntity> ew = new EntityWrapper<WeixiudingdanEntity>();
      	ew.allEq(MPUtil.allEQMapPre( weixiudingdan, "weixiudingdan")); 
        return R.ok().put("data", weixiudingdanService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(WeixiudingdanEntity weixiudingdan){
        EntityWrapper< WeixiudingdanEntity> ew = new EntityWrapper< WeixiudingdanEntity>();
 		ew.allEq(MPUtil.allEQMapPre( weixiudingdan, "weixiudingdan")); 
		WeixiudingdanView weixiudingdanView =  weixiudingdanService.selectView(ew);
		return R.ok("查询维修订单成功").put("data", weixiudingdanView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        WeixiudingdanEntity weixiudingdan = weixiudingdanService.selectById(id);
        return R.ok().put("data", weixiudingdan);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        WeixiudingdanEntity weixiudingdan = weixiudingdanService.selectById(id);
        return R.ok().put("data", weixiudingdan);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody WeixiudingdanEntity weixiudingdan, HttpServletRequest request){
    	weixiudingdan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(weixiudingdan);
        weixiudingdanService.insert(weixiudingdan);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody WeixiudingdanEntity weixiudingdan, HttpServletRequest request){
    	weixiudingdan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(weixiudingdan);
        weixiudingdanService.insert(weixiudingdan);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody WeixiudingdanEntity weixiudingdan, HttpServletRequest request){
        //ValidatorUtils.validateEntity(weixiudingdan);
        weixiudingdanService.updateById(weixiudingdan);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        weixiudingdanService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<WeixiudingdanEntity> wrapper = new EntityWrapper<WeixiudingdanEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("zhuhu")) {
			wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
		}

		int count = weixiudingdanService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

 

 

Supongo que te gusta

Origin blog.csdn.net/m0_49113107/article/details/123961256
Recomendado
Clasificación