企业管理功能模块开发

This commit is contained in:
梁琦涛
2021-08-26 09:12:00 +08:00
parent b80d46c69a
commit 1b22655d80
12 changed files with 680 additions and 0 deletions
@@ -0,0 +1,224 @@
package com.jero.modules.company.controller;
import java.util.Arrays;
import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil;
import com.jero.modules.company.entity.PayCompanyManagement;
import com.jero.modules.company.service.IPayCompanyManagementService;
import org.apache.commons.lang3.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* @Description: 企业管理
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
@Api(tags="企业管理")
@RestController
@RequestMapping("/company/payCompanyManagement")
@Slf4j
public class PayCompanyManagementController extends JeroController<PayCompanyManagement, IPayCompanyManagementService> {
@Autowired
private IPayCompanyManagementService payCompanyManagementService;
/**
* 分页列表查询
*
* @param payCompanyManagement
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@ApiOperation(value="企业管理-分页列表查询", notes="企业管理-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(PayCompanyManagement payCompanyManagement,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
if(!StringUtils.isBlank(payCompanyManagement.getCompanyName()) && payCompanyManagement.getCompanyName().length() > 50){
return Result.error("企业名称长度应小于50个字符!");
}
QueryWrapper<PayCompanyManagement> queryWrapper = QueryGenerator.initQueryWrapper(payCompanyManagement, req.getParameterMap());
Page<PayCompanyManagement> page = new Page<PayCompanyManagement>(pageNo, pageSize);
IPage<PayCompanyManagement> pageList = payCompanyManagementService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param payCompanyManagement
* @return
*/
@ApiOperation(value="企业管理-添加", notes="企业管理-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayCompanyManagement payCompanyManagement) {
ValidUtil.validate(payCompanyManagement);
// 新增企业前在次校验企业名称是否存在
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName());
PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper);
if(!Objects.isNull(payCompanyManagementNew)){
return Result.error("该企业名称已存在!");
}
payCompanyManagementService.save(payCompanyManagement);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param payCompanyManagement
* @return
*/
@ApiOperation(value="企业管理-编辑", notes="企业管理-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayCompanyManagement payCompanyManagement) {
ValidUtil.validate(payCompanyManagement);
// 编辑保存企业前再次校验企业名称是否存在
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName());
PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper);
// 企业名称存在,并且编辑id与查询不同,则校验不通过
if(!Objects.isNull(payCompanyManagementNew) && !Objects.equals(payCompanyManagementNew.getId(),payCompanyManagement.getId())) {
return Result.error("企业名称已存在!");
}
payCompanyManagementService.updateById(payCompanyManagement);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@ApiOperation(value="企业管理-通过id删除", notes="企业管理-通过id删除")
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
payCompanyManagementService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@ApiOperation(value="企业管理-批量删除", notes="企业管理-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
if(StringUtils.isBlank(ids)){
return Result.error("id不能为空!");
}
String[] s = ids.split(",");
for (String s1 : s) {
if(StringUtils.isBlank(s1)){
return Result.error("id不能为空!");
}
}
this.payCompanyManagementService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过企业名称查询
*
* @param companyName 企业名称
* @return
*/
@ApiOperation(value="企业管理-通过企业名称查询", notes="企业管理-通过企业名称查询")
@GetMapping(value = "/queryByCompanyName")
public Result<?> queryByCompanyName(@RequestParam(name="companyName",required=true) String companyName) {
if(StringUtils.isBlank(companyName)){
return Result.error("企业名称不能为空!");
}else{
if(companyName.length() > 50){
return Result.error("企业名称长度应小于50");
}
}
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayCompanyManagement::getCompanyName,companyName);
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getOne(queryWrapper);
if(Objects.isNull(payCompanyManagement)) {
return Result.OK("没有该企业名称!");
}
return Result.error("该企业名称已存在!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@ApiOperation(value="企业管理-通过id查询", notes="企业管理-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(id);
if(payCompanyManagement==null) {
return Result.error("未找到对应数据");
}
return Result.OK(payCompanyManagement);
}
/**
* 导出excel
*
* @param request
* @param payCompanyManagement
*/
@ApiOperation(value="企业管理-导出excel", notes="企业管理-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCompanyManagement payCompanyManagement) {
return super.exportXls(request, payCompanyManagement, PayCompanyManagement.class, "企业管理");
}
/**
* 模板下载
*
* @return
*/
@ApiOperation(value="企业管理-模板下载", notes="企业管理-模板下载")
@GetMapping(value = "/downloadExcelModel")
public ModelAndView downloadExcelModel() {
return super.exportTemplate(PayCompanyManagement.class,"企业管理导入模板");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@ApiOperation(value="企业管理-excel导入数据", notes="企业管理-excel导入数据")
@PostMapping(value = "/importExcel")
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, PayCompanyManagement.class);
}
}
@@ -0,0 +1,151 @@
package com.jero.modules.company.controller;
import java.util.Arrays;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.company.entity.PayContactsManagement;
import com.jero.modules.company.service.IPayContactsManagementService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* @Description: 联系人管理
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
@Api(tags="联系人管理")
@RestController
@RequestMapping("/company/payContactsManagement")
@Slf4j
public class PayContactsManagementController extends JeroController<PayContactsManagement, IPayContactsManagementService> {
@Autowired
private IPayContactsManagementService payContactsManagementService;
/**
* 分页列表查询
*
* @param payContactsManagement
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@ApiOperation(value="联系人管理-分页列表查询", notes="联系人管理-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(PayContactsManagement payContactsManagement,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayContactsManagement> queryWrapper = QueryGenerator.initQueryWrapper(payContactsManagement, req.getParameterMap());
Page<PayContactsManagement> page = new Page<PayContactsManagement>(pageNo, pageSize);
IPage<PayContactsManagement> pageList = payContactsManagementService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param payContactsManagement
* @return
*/
@ApiOperation(value="联系人管理-添加", notes="联系人管理-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayContactsManagement payContactsManagement) {
payContactsManagementService.save(payContactsManagement);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param payContactsManagement
* @return
*/
@ApiOperation(value="联系人管理-编辑", notes="联系人管理-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@RequestBody PayContactsManagement payContactsManagement) {
payContactsManagementService.updateById(payContactsManagement);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@ApiOperation(value="联系人管理-通过id删除", notes="联系人管理-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
payContactsManagementService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@ApiOperation(value="联系人管理-批量删除", notes="联系人管理-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.payContactsManagementService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@ApiOperation(value="联系人管理-通过id查询", notes="联系人管理-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
PayContactsManagement payContactsManagement = payContactsManagementService.getById(id);
if(payContactsManagement==null) {
return Result.error("未找到对应数据");
}
return Result.OK(payContactsManagement);
}
/**
* 导出excel
*
* @param request
* @param payContactsManagement
*/
@ApiOperation(value="联系人管理-导出excel", notes="联系人管理-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayContactsManagement payContactsManagement) {
return super.exportXls(request, payContactsManagement, PayContactsManagement.class, "pay_contacts_management");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@ApiOperation(value="联系人管理-excel导入数据", notes="联系人管理-excel导入数据")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, PayContactsManagement.class);
}
}
@@ -0,0 +1,108 @@
package com.jero.modules.company.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
/**
* @Description: pay_company_management
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
@Data
@TableName("pay_company_management")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="pay_company_management对象", description="pay_company_management")
public class PayCompanyManagement implements Serializable {
private static final long serialVersionUID = 1L;
// todo 缺少正则
/**主键*/
@TableId(type = IdType.ASSIGN_UUID)
@ApiModelProperty(value = "主键")
private String id;
/**企业名称*/
@Excel(name = "企业名称", width = 15)
@ApiModelProperty(value = "企业名称")
@NotEmpty(message = "企业名称不能为空!")
@Size(max = 50,message = "企业名称长度应小于50个字符")
private String companyName;
/**公司地址*/
@Excel(name = "公司地址", width = 15)
@ApiModelProperty(value = "公司地址")
@Size(max = 200, message = "公司地址长度应小于200个字符")
private String companyAddress;
/**公司电话*/
@Excel(name = "公司电话", width = 15)
@ApiModelProperty(value = "公司电话")
@Size(max = 15, message = "公司电话长度应小于15个字符")
private String companyPhone;
/**邮编*/
@Excel(name = "邮编", width = 15)
@ApiModelProperty(value = "邮编")
@Size(min=6,max = 6,message = "邮编长度必须为6个字符")
private String postalCode;
/**银行户名*/
@Excel(name = "银行户名", width = 15)
@ApiModelProperty(value = "银行户名")
@Size(max = 50,message = "银行户名长度应小于50个字符")
private String bankAccountName;
/**开户行*/
@Excel(name = "开户行", width = 15)
@ApiModelProperty(value = "开户行")
@Size(max = 50, message = "开户行长度应小于50个字符")
private String openingBank;
/**银行账号*/
@Excel(name = "银行账号", width = 15)
@ApiModelProperty(value = "银行账号")
@Size(max = 50, message = "银行账号长度应小于50个字符")
private String bankAccount;
/**税号*/
@Excel(name = "税号", width = 15)
@ApiModelProperty(value = "税号")
@Size(max = 50, message = "税号长度应小于50个字符")
private String dutyCode;
/**数据来源(1:管理端,2:报名)*/
@ApiModelProperty(value = "数据来源(1:管理端,2:报名)")
private Integer dataSource;
/**报名新增(1:是,2为否)*/
@ApiModelProperty(value = "报名新增(1:是,2为否)")
private Integer signingUp;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
@Size(max = 200, message = "备注长度应小于200个字符")
private String remarks;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
@@ -0,0 +1,91 @@
package com.jero.modules.company.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: pay_contacts_management
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
@Data
@TableName("pay_contacts_management")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="pay_contacts_management对象", description="pay_contacts_management")
public class PayContactsManagement implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_UUID)
@ApiModelProperty(value = "主键")
private String id;
/**企业id*/
@Excel(name = "企业id", width = 15)
@ApiModelProperty(value = "企业id")
private String companyId;
/**企业名称*/
@Excel(name = "企业名称", width = 15)
@ApiModelProperty(value = "企业名称")
private String companyName;
/**姓名*/
@Excel(name = "姓名", width = 15)
@ApiModelProperty(value = "姓名")
private String name;
/**性别(1为男,2为女)*/
@Excel(name = "性别(1为男,2为女)", width = 15)
@ApiModelProperty(value = "性别(1为男,2为女)")
private Integer gender;
/**职务*/
@Excel(name = "职务", width = 15)
@ApiModelProperty(value = "职务")
private String post;
/**手机号*/
@Excel(name = "手机号", width = 15)
@ApiModelProperty(value = "手机号")
private String phone;
/**邮箱*/
@Excel(name = "邮箱", width = 15)
@ApiModelProperty(value = "邮箱")
private String email;
/**通讯地址*/
@Excel(name = "通讯地址", width = 15)
@ApiModelProperty(value = "通讯地址")
private String contactAddress;
/**邮政编码*/
@Excel(name = "邮政编码", width = 15)
@ApiModelProperty(value = "邮政编码")
private String postalCode;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private String remarks;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
@@ -0,0 +1,15 @@
package com.jero.modules.company.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.company.entity.PayCompanyManagement;
/**
* @Description: pay_company_management
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
public interface PayCompanyManagementMapper extends BaseMapper<PayCompanyManagement> {
}
@@ -0,0 +1,15 @@
package com.jero.modules.company.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.company.entity.PayContactsManagement;
/**
* @Description: pay_contacts_management
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
public interface PayContactsManagementMapper extends BaseMapper<PayContactsManagement> {
}
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.demo.company.mapper.PayCompanyManagementMapper">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.demo.company.mapper.PayContactsManagementMapper">
</mapper>
@@ -0,0 +1,14 @@
package com.jero.modules.company.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.company.entity.PayCompanyManagement;
/**
* @Description: pay_company_management
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
public interface IPayCompanyManagementService extends IService<PayCompanyManagement> {
}
@@ -0,0 +1,15 @@
package com.jero.modules.company.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.company.entity.PayContactsManagement;
/**
* @Description: pay_contacts_management
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
public interface IPayContactsManagementService extends IService<PayContactsManagement> {
}
@@ -0,0 +1,18 @@
package com.jero.modules.company.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.company.entity.PayCompanyManagement;
import com.jero.modules.company.mapper.PayCompanyManagementMapper;
import com.jero.modules.company.service.IPayCompanyManagementService;
import org.springframework.stereotype.Service;
/**
* @Description: pay_company_management
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
@Service
public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManagementMapper, PayCompanyManagement> implements IPayCompanyManagementService {
}
@@ -0,0 +1,19 @@
package com.jero.modules.company.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.company.entity.PayContactsManagement;
import com.jero.modules.company.mapper.PayContactsManagementMapper;
import com.jero.modules.company.service.IPayContactsManagementService;
import org.springframework.stereotype.Service;
/**
* @Description: pay_contacts_management
* @Author: jeecg-boot
* @Date: 2021-08-25
* @Version: V1.0
*/
@Service
public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsManagementMapper, PayContactsManagement> implements IPayContactsManagementService {
}