企业管理变更

This commit is contained in:
梁琦涛
2021-09-15 18:01:08 +08:00
parent b9e9191b0e
commit 452ad38797
8 changed files with 167 additions and 137 deletions
@@ -2,19 +2,23 @@ package com.jero.company.common;
public class PayCompanyManagementCommon {
/**
* (1:管理端,2:报名)
* 数据来源(1:财务人员,2:其他人)
*/
public final static Integer DATA_SOURCE1 = 1;
/**
* (1:管理端,2:报名)
* 数据来源(1:财务人员,2:其他人)
*/
public final static Integer DATA_SOURCE2 = 2;
/**
* 报名新增(1:是,0:否)
* 审核状态(1:通过,2:待审核)财务人员添加企业不需要审核默认是通过状态
*/
public final static Integer SIGNING_UP1 = 1;
public final static Integer STATUS1 = 1;
/**
* 报名新增(1:是,0:否)
* 审核状态(1:通过,2:待审核)财务人员添加企业不需要审核默认是通过状态
*/
public final static Integer SIGNING_UP0 = 0;
public final static Integer STATUS2 = 1;
/**
* 财务角色
*/
public final static String ROLE_CODE = "";
}
@@ -1,22 +1,6 @@
package com.jero.company.common;
public class PayContactsManagementCommon {
/**
* (1:管理端,2:报名)
*/
public final static Integer DATA_SOURCE1 = 1;
/**
* (1:管理端,2:报名)
*/
public final static Integer DATA_SOURCE2 = 2;
/**
* 报名新增(1:是,0:否)
*/
public final static Integer SIGNING_UP1 = 1;
/**
* 报名新增(1:是,0:否)
*/
public final static Integer SIGNING_UP0 = 0;
/**
* 性别(1:男,2:女)
*/
@@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
@@ -18,6 +19,7 @@ import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.common.PayCompanyManagementCommon;
import com.jero.company.common.PayContactsManagementCommon;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.service.IPayCompanyManagementService;
import org.apache.commons.collections.CollectionUtils;
@@ -105,28 +107,41 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
PayCompanyManagement payCompanyManagementNew = null;
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 查看角色是否为财务人员
int dataSource = PayCompanyManagementCommon.DATA_SOURCE2;
int status = PayCompanyManagementCommon.STATUS2;
if(Objects.equals(sysUser.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE)){
dataSource = PayCompanyManagementCommon.DATA_SOURCE1;
status = PayCompanyManagementCommon.STATUS1;
}
payCompanyManagement.setDataSource(dataSource);
payCompanyManagement.setStatus(status);
try {
// 新增企业前在次校验企业名称是否存在
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName());
payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper);
PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper);
// 存在数据
if(!Objects.isNull(payCompanyManagementNew)){
return Result.error("该企业名称已存在!");
}
}catch (Exception e){
log.info("企业管理-添加异常",e);
return Result.error("该企业名称已存在!");
}
// 存在数据
if(!Objects.isNull(payCompanyManagementNew)){
// 如果是管理新增 && 已存在数据来源是报名,更新数据,变更来源为管理端
if(Objects.equals(payCompanyManagement.getDataSource(),PayCompanyManagementCommon.DATA_SOURCE1)
&& Objects.equals(payCompanyManagementNew.getDataSource(),PayCompanyManagementCommon.DATA_SOURCE2)){
payCompanyManagement.setId(payCompanyManagementNew.getId());
payCompanyManagement.setDataSource(PayCompanyManagementCommon.DATA_SOURCE1);
payCompanyManagement.setSigningUp(payCompanyManagementNew.getSigningUp());
payCompanyManagementService.updateById(payCompanyManagement);
return Result.OK("添加成功!");
try {
// 新增企业前在次校验信用代码是否存在
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayCompanyManagement::getDutyCode,payCompanyManagement.getDutyCode());
PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper);
// 存在数据
if(!Objects.isNull(payCompanyManagementNew)){
return Result.error("该信用代码已存在!");
}
return Result.error("该企业名称已存在!");
}catch (Exception e){
log.info("企业管理-添加异常",e);
return Result.error("该信用代码已存在!");
}
if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){
try {
@@ -152,6 +167,16 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 查看角色是否为财务人员
int dataSource = PayCompanyManagementCommon.DATA_SOURCE2;
int status = PayCompanyManagementCommon.STATUS2;
if(Objects.equals(sysUser.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE)){
dataSource = PayCompanyManagementCommon.DATA_SOURCE1;
status = PayCompanyManagementCommon.STATUS1;
}
payCompanyManagement.setDataSource(dataSource);
payCompanyManagement.setStatus(status);
try {
// 编辑保存企业前再次校验企业名称是否存在
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
@@ -175,7 +200,27 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
payCompanyManagementService.updateById(payCompanyManagement);
return Result.OK("编辑成功!");
}
/**
* 审核
*
* @param id 企业管理id
* @return
*/
@ApiOperation(value="企业管理-审核", notes="企业管理-审核")
@GetMapping(value = "/audit")
public Result<?> audit(@RequestParam(name="id") String id) {
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaUpdateWrapper<PayCompanyManagement> updatePayCompanyManagement = new LambdaUpdateWrapper<>();
updatePayCompanyManagement.eq(PayCompanyManagement::getId,id);
updatePayCompanyManagement.set(PayCompanyManagement::getStatus,PayCompanyManagementCommon.STATUS1);
updatePayCompanyManagement.set(PayCompanyManagement::getUpdateBy,sysUser.getUsername());
updatePayCompanyManagement.set(PayCompanyManagement::getUpdateTime,new Date());
payCompanyManagementService.update(updatePayCompanyManagement);
return Result.OK("审核成功!");
}
/**
* 通过id删除
*
@@ -214,6 +259,36 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
return Result.OK("批量删除成功!");
}
/**
* 通过信用代码查询
*
* @param dutyCode 信用代码
* @return
*/
@ApiOperation(value="企业管理-通过信用代码查询", notes="企业管理-通过信用代码查询")
@GetMapping(value = "/queryByDutyCode")
public Result<?> queryByDutyCode(@RequestParam(name="dutyCode") String dutyCode) {
if(StringUtils.isBlank(dutyCode)){
return Result.error("信用代码不能为空!");
}else{
if(dutyCode.length() > 50){
return Result.error("信用代码长度应小于50字符!");
}
}
try {
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayCompanyManagement::getDutyCode,dutyCode);
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getOne(queryWrapper);
if(Objects.isNull(payCompanyManagement)) {
return Result.OK("没有该信用代码!");
}
}catch (Exception e){
log.info("企业管理-通过信用代码查询",e);
return Result.error("该信用代码已存在!");
}
return Result.error("该信用代码已存在!");
}
/**
* 通过企业名称查询
*
@@ -233,7 +308,6 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
try {
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayCompanyManagement::getCompanyName,companyName);
queryWrapper.eq(PayCompanyManagement::getDataSource,PayCompanyManagementCommon.DATA_SOURCE1);
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getOne(queryWrapper);
if(Objects.isNull(payCompanyManagement)) {
return Result.OK("没有该企业名称!");
@@ -272,7 +346,6 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
public ModelAndView exportXls(HttpServletRequest request, PayCompanyManagement payCompanyManagement) {
// Step.1 组装查询条件
QueryWrapper<PayCompanyManagement> queryWrapper = QueryGenerator.initQueryWrapper(payCompanyManagement, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// Step.2 获取导出数据
List<PayCompanyManagement> pageList = payCompanyManagementService.list(queryWrapper);
@@ -326,6 +399,14 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
@ApiOperation(value="企业管理-excel导入数据", notes="企业管理-excel导入数据")
@PostMapping(value = "/importExcel")
public Result<?> importExcel(HttpServletRequest request) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 查看角色是否为财务人员
int dataSource = PayCompanyManagementCommon.DATA_SOURCE2;
int status = PayCompanyManagementCommon.STATUS2;
if(Objects.equals(sysUser.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE)){
dataSource = PayCompanyManagementCommon.DATA_SOURCE1;
status = PayCompanyManagementCommon.STATUS1;
}
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
@@ -347,6 +428,8 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
List<PayCompanyManagement> listAll = payCompanyManagementService.listPayCompanyManagement(companyList);
List<String> listCompany = new ArrayList<>();
StringBuilder msg = new StringBuilder();
int finalDataSource = dataSource;
int finalStatus = status;
list.forEach(p->{
int count = list.indexOf(p);
// 校验excel表中是否存在重复企业名称
@@ -354,8 +437,8 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
msg.append("第 ").append(count + 3).append(" 行:企业名称在excel中重复,请修改。<br/>");
}
listCompany.add(p.getCompanyName());
p.setDataSource(PayCompanyManagementCommon.DATA_SOURCE1);
p.setSigningUp(PayCompanyManagementCommon.SIGNING_UP0);
p.setDataSource(finalDataSource);
p.setStatus(finalStatus);
// 校验字段值
StringBuilder s = ValidUtil.validateExcel(p,(count+3));
if(!StringUtils.isBlank(s)){
@@ -365,16 +448,6 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(!CollectionUtils.isEmpty(listAll)){
List<PayCompanyManagement> listCompanyEquals = listAll.stream().filter(p1->Objects.equals(p1.getCompanyName(),p.getCompanyName())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listCompanyEquals)){
// 已存在数据来源是报名,变更来源为管理端,替换掉数据
if(Objects.equals(listCompanyEquals.get(0).getDataSource(),PayCompanyManagementCommon.DATA_SOURCE2)){
String str = JSON.toJSONString(p);
PayCompanyManagement payCompanyManagement = JSON.parseObject(str,PayCompanyManagement.class);
payCompanyManagement.setId(listCompanyEquals.get(0).getId());
payCompanyManagement.setSigningUp(listCompanyEquals.get(0).getSigningUp());
listSigning.add(payCompanyManagement);
listRemove.add(p);
return;
}
msg.append("第").append(count + 3).append("行:企业名称已经存在,请修改。<br/>");
}
}
@@ -286,7 +286,6 @@ public class PayContactsManagementController extends JeroController<PayContactsM
String phoneNew = PasswordUtil.encrypt(phone);
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getPhone,phoneNew);
queryWrapper.eq(PayContactsManagement::getDataSource,PayContactsManagementCommon.DATA_SOURCE1);
PayContactsManagement payContactsManagement = payContactsManagementService.getOne(queryWrapper);
if(Objects.isNull(payContactsManagement)) {
return Result.OK("没有该手机号!");
@@ -319,7 +318,6 @@ public class PayContactsManagementController extends JeroController<PayContactsM
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getName,name);
queryWrapper.eq(PayContactsManagement::getCompanyId,companyId);
queryWrapper.eq(PayContactsManagement::getDataSource,PayContactsManagementCommon.DATA_SOURCE1);
PayContactsManagement payContactsManagement = payContactsManagementService.getOne(queryWrapper);
if(Objects.isNull(payContactsManagement)) {
return Result.OK("没有该联系人姓名!");
@@ -474,8 +472,6 @@ public class PayContactsManagementController extends JeroController<PayContactsM
msg.append("第 ").append(count + 3).append(" 行:联系人姓名在excel中重复,请修改。<br/>");
}
listContacts.add(p);
p.setDataSource(PayContactsManagementCommon.DATA_SOURCE1);
p.setSigningUp(PayContactsManagementCommon.SIGNING_UP0);
// 校验字段值
StringBuilder s = ValidUtil.validateExcel(p,(count+3));
if(!StringUtils.isBlank(s)){
@@ -495,16 +491,6 @@ public class PayContactsManagementController extends JeroController<PayContactsM
// 校验 表中是否存手机号
List<PayContactsManagement> listCompanyEquals = listContactsAll.stream().filter(p1->Objects.equals(p1.getPhone(),p.getPhone())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listCompanyEquals)){
// 已存在数据来源是报名,变更来源为管理端,替换掉数据
if(Objects.equals(listCompanyEquals.get(0).getDataSource(),PayContactsManagementCommon.DATA_SOURCE2)){
String str = JSON.toJSONString(p);
PayContactsManagement payContactsManagement = JSON.parseObject(str,PayContactsManagement.class);
payContactsManagement.setId(listCompanyEquals.get(0).getId());
payContactsManagement.setSigningUp(listCompanyEquals.get(0).getSigningUp());
listSigning.add(payContactsManagement);
listRemove.add(p);
return;
}
msg.append("第").append(count + 3).append("行:手机号已经存在,请修改。<br/>");
}
List<PayContactsManagement> listContactsEquals = listContactsAll.stream().filter(p1->Objects.equals(p1.getCompanyId(),p.getCompanyId())
@@ -5,6 +5,7 @@ import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.common.aspect.annotation.Dict;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
@@ -79,23 +80,24 @@ public class PayCompanyManagement implements Serializable {
@Size(max = 50, message = "银行账号长度不能大于50个字符")
@Pattern(regexp = "^[0-9]*$",message = "银行账号格式错误")
private String bankAccount;
/**税号*/
@Excel(name = "税号", width = 15)
@ApiModelProperty(value = "税号")
@NotEmpty(message = "税号不能为空!")
@Size(max = 50, message = "税号长度不能大于50个字符")
@Pattern(regexp = "^[A-Z0-9]{15}$|^[A-Z0-9]{17}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$",message = "税号格式错误")
/**信用代码*/
@Excel(name = "信用代码", width = 15)
@ApiModelProperty(value = "信用代码")
@NotEmpty(message = "信用代码不能为空!")
@Size(max = 50, message = "信用代码长度不能大于50个字符")
@Pattern(regexp = "^[A-Z0-9]{15}$|^[A-Z0-9]{17}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$",message = "信用代码格式错误")
private String dutyCode;
/**数据来源(1:管理端,2:报名)*/
@ApiModelProperty(value = "数据来源(1:管理端,2:报名)")
/**审核状态(1:通过,2:待审核)财务人员添加企业不需要审核默认是通过状态*/
@ApiModelProperty(value = "审核状态(1:通过,2:待审核)财务人员添加企业不需要审核默认是通过状态")
@Max(2)
@Min(1)
@Dict(dicCode = "company_aduit_status")
private Integer status;
/**数据来源(1:财务人员,2:其他人)*/
@ApiModelProperty(value = "数据来源(1:财务人员,2:其他人)")
@Max(2)
@Min(1)
private Integer dataSource;
/**报名新增(1:是,0:否)*/
@ApiModelProperty(value = "报名新增(1:是,0:否)")
@Max(1)
@Min(0)
private Integer signingUp;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
@@ -85,16 +85,6 @@ public class PayContactsManagement implements Serializable {
@Pattern(regexp = "^[0-9]\\d{5}$",message = "邮编格式错误")
@NotEmpty(message = "邮政编码不能为空!")
private String postalCode;
/**数据来源(1:管理端,2:报名)*/
@ApiModelProperty(value = "数据来源(1:管理端,2:报名)")
@Max(2)
@Min(1)
private Integer dataSource;
/**报名新增(1:是,0:否)*/
@ApiModelProperty(value = "报名新增(1:是,0:否)")
@Max(1)
@Min(0)
private Integer signingUp;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
@@ -14,8 +14,6 @@
pcm.email,
pcm.contact_address AS contactAddress,
pcm.postal_code AS postalCode,
pcm.data_source AS dataSource,
pcm.signing_up AS signingUp,
pcm.remarks,
pcm.create_by AS createBy,
pcm.create_time AS createTime,
@@ -24,12 +22,6 @@
FROM pay_contacts_management pcm
LEFT JOIN pay_company_management pcm1 ON pcm.company_id = pcm1.id
<where>
<if test="payContactsManagement.dataSource != null and payContactsManagement.dataSource != ''">
AND pcm.data_source = #{payContactsManagement.dataSource}
</if>
<if test="payContactsManagement.signingUp != null and payContactsManagement.signingUp != ''">
AND pcm.signing_up = #{payContactsManagement.signingUp}
</if>
<if test="payContactsManagement.name != null and payContactsManagement.name != ''">
AND pcm.name LIKE concat('%',concat(#{payContactsManagement.name},'%'))
</if>