企业管理添加未通过

This commit is contained in:
梁琦涛
2021-10-12 14:34:48 +08:00
parent 43418501ae
commit 3390af3b82
17 changed files with 411 additions and 144 deletions
@@ -28,6 +28,7 @@ import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.company.service.ProjectCountService;
import com.jero.company.vo.CompanyOrContactsCount;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.collections.CollectionUtils;
@@ -142,9 +143,9 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if (!StringUtils.isBlank(p.getCompanyPhone())){
p.setCompanyPhone(PasswordUtil.decrypt(p.getCompanyPhone()));
}
// if(!Objects.equals(p.getStatus(),PayCompanyManagementCommon.STATUS1)){
// p.setCompanyName(p.getCompanyName() + PayCompanyManagementCommon.COMPANY_STATUS);
// }
if(!Objects.equals(p.getStatus(),PayCompanyManagementCommon.STATUS1)){
p.setCompanyName(p.getCompanyName() + PayCompanyManagementCommon.COMPANY_STATUS);
}
});
pageList.setRecords(listPayCompanyManagement);
}catch (Exception e){
@@ -205,6 +206,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
payCompanyManagement.setEditTime(new Date());
try {
// 新增企业前在次校验企业名称是否存在
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
@@ -290,6 +292,8 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(sysUser.getRoleCode().contains(RoleCommon.CWRY)){
dataSource = PayCompanyManagementCommon.DATA_SOURCE1;
status = PayCompanyManagementCommon.STATUS1;
}else{
payCompanyManagement.setEditTime(new Date());
}
payCompanyManagement.setDataSource(dataSource);
payCompanyManagement.setStatus(status);
@@ -363,47 +367,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
@ApiOperation(value="企业管理-企业端-编辑", notes="企业管理-企业端-编辑")
@PostMapping(value = "/companyEdit")
public Result<?> companyEdit(@RequestBody PayCompanyManagement payCompanyManagement) {
StringBuilder msg = ValidUtil.validateAll(payCompanyManagement);
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
int status = PayCompanyManagementCommon.STATUS2;
// 只有财务人员操作不需要重新审核,其他人都需要审核
if(sysUser.getRoleCode().contains(RoleCommon.CWRY)){
status = PayCompanyManagementCommon.STATUS1;
}
payCompanyManagement.setStatus(status);
PayCompanyManagement payCompanyManagementOld = payCompanyManagementService.getById(payCompanyManagement.getId());
if(Objects.isNull(payCompanyManagementOld)){
return Result.error("企业不存在!");
}
if(!Objects.equals(payCompanyManagementOld.getCompanyName(),payCompanyManagement.getCompanyName())){
return Result.error("企业名称不可修改!");
}
payCompanyManagement.setStatus(payCompanyManagementOld.getStatus());
payCompanyManagement.setDataSource(payCompanyManagementOld.getDataSource());
try {
// 编辑保存企业前再次校验企业名称是否存在
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("企业名称已存在!");
}
}catch (Exception e){
log.info("企业管理-编辑异常",e);
return Result.error("企业名称已存在!");
}
if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){
try {
payCompanyManagement.setCompanyPhone(PasswordUtil.encrypt(payCompanyManagement.getCompanyPhone()));
}catch (Exception e){
log.error("公司电话加密异常!",e);
}
}
payCompanyManagementService.updateById(payCompanyManagement);
payCompanyManagementService.companyEdit(payCompanyManagement);
return Result.OK("编辑成功!");
}
@@ -418,39 +382,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
@ApiOperation(value="企业管理-编辑", notes="企业管理-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayCompanyManagement payCompanyManagement) {
StringBuilder msg = ValidUtil.validateAll(payCompanyManagement);
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
int status = PayCompanyManagementCommon.STATUS2;
// 只有财务人员操作不需要重新审核,其他人都需要审核
if(sysUser.getRoleCode().contains(RoleCommon.CWRY)){
status = PayCompanyManagementCommon.STATUS1;
}
payCompanyManagement.setStatus(status);
try {
// 编辑保存企业前再次校验企业名称是否存在
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("企业名称已存在!");
}
}catch (Exception e){
log.info("企业管理-编辑异常",e);
return Result.error("企业名称已存在!");
}
if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){
try {
payCompanyManagement.setCompanyPhone(PasswordUtil.encrypt(payCompanyManagement.getCompanyPhone()));
}catch (Exception e){
log.error("公司电话加密异常!",e);
}
}
payCompanyManagementService.updateById(payCompanyManagement);
payCompanyManagementService.edit(payCompanyManagement);
return Result.OK("编辑成功!");
}
/**
@@ -467,15 +399,10 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
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);
payCompanyManagementService.audit(id);
return Result.OK("确认成功!");
}
/**
* 通过id删除
*
@@ -490,7 +417,9 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
projectCountService.getProjectCount(id,null);
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setCompanyId(Arrays.asList(id.split(",")));
projectCountService.getProjectCount(companyOrContactsCount);
payCompanyManagementService.removePayCompanyManagementById(id);
return Result.OK("删除成功!");
}
@@ -518,8 +447,10 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(StringUtils.isBlank(s1)){
return Result.error("id不能为空!");
}
projectCountService.getProjectCount(s1,null);
}
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setCompanyId(Arrays.asList(s));
projectCountService.getProjectCount(companyOrContactsCount);
this.payCompanyManagementService.removePayCompanyManagementByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
@@ -19,11 +19,13 @@ import com.jero.common.system.query.QueryGenerator;
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.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.company.service.ProjectCountService;
import com.jero.company.vo.CompanyOrContactsCount;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -109,6 +111,9 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if (!StringUtils.isBlank(p.getEmail())){
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
if(!Objects.equals(p.getStatus(), PayCompanyManagementCommon.STATUS1)){
p.setCompanyName(p.getCompanyName() + PayCompanyManagementCommon.COMPANY_STATUS);
}
});
pageList.setRecords(listPayContactsManagement);
}catch (Exception e){
@@ -397,7 +402,9 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
projectCountService.getProjectCount(null,id);
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setContactsId(Arrays.asList(id.split(",")));
projectCountService.getProjectCount(companyOrContactsCount);
payContactsManagementService.removeById(id);
return Result.OK("删除成功!");
}
@@ -421,8 +428,10 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(StringUtils.isBlank(s1)){
return Result.error("id不能为空!");
}
projectCountService.getProjectCount(null,s1);
}
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setContactsId(Arrays.asList(s));
projectCountService.getProjectCount(companyOrContactsCount);
this.payContactsManagementService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
@@ -58,7 +58,7 @@ public class PayCompanyManagement implements Serializable {
@Excel(name = "公司电话", width = 15)
@ApiModelProperty(value = "公司电话")
@Size(max = 15, message = "公司电话长度不能大于15个字符")
@Pattern(regexp = "^(([0-9]{3,4}-)?[0-9]{7,8})|(((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(17[0135678])|(18[0-9])|(19[8|9])|(16[6]))\\d{8})$",message = "公司电话格式错误")
@Pattern(regexp = "^([0-9-]+)$",message = "公司电话格式错误")
private String companyPhone;
/**邮政编码*/
@Excel(name = "邮政编码", width = 15)
@@ -101,6 +101,11 @@ public class PayCompanyManagement implements Serializable {
@ApiModelProperty(value = "备注")
@Size(max = 200, message = "备注长度不能大于200个字符")
private String remarks;
/**记录第一次编辑时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "记录第一次编辑时间")
private Date editTime;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
@@ -3,6 +3,7 @@ package com.jero.company.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -120,4 +121,10 @@ public class PayContactsManagement implements Serializable {
*/
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String salt;
/**
* 审核状态(1:通过,2:待审核)财务人员添加企业不需要审核默认是通过状态
*/
@ApiModelProperty(value = "审核状态(1:通过,2:待审核)")
@TableField(exist = false)
private Integer status;
}
@@ -1,15 +1,18 @@
package com.jero.company.mapper;
import com.jero.company.vo.CompanyOrContactsCount;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface ProjectCountMapper {
/**
* @Description 获取关联企业或者联系人的项目个数
* @Author lqt
* @Date 2021/9/15
* @Param
* @Param companyOrContactsCount
* @Return
* @Exception
*/
Integer getProjectCount(@Param("companyId") String companyId,@Param("contactsId") String contactsId);
Integer getProjectCount(CompanyOrContactsCount companyOrContactsCount);
}
@@ -18,7 +18,8 @@
pcm.create_by AS createBy,
pcm.create_time AS createTime,
pcm.update_by AS updateBy,
pcm.update_time AS updateTime
pcm.update_time AS updateTime,
pcm1.status
FROM pay_contacts_management pcm
LEFT JOIN pay_company_management pcm1 ON pcm.company_id = pcm1.id
<where>
@@ -8,55 +8,85 @@
<!-- 普通项目-->
select id from pay_common_project
<where>
<if test="companyId != null and companyId != ''">
AND charge_company_id = #{companyId}
<if test="companyId != null and companyId.size() > 0">
AND charge_company_id in
<foreach collection="companyId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="contactsId != null and contactsId != ''">
AND contacts_id = #{contactsId}
<if test="contactsId != null and contactsId.size() > 0">
AND contacts_id in
<foreach collection="contactsId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
<!--工作组项目-->
UNION ALL
select id from pay_working_group_subitem
<where>
<if test="companyId != null and companyId != ''">
AND charge_company_id = #{companyId}
<if test="companyId != null and companyId.size() > 0">
AND charge_company_id in
<foreach collection="companyId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="contactsId != null and contactsId != ''">
AND contacts_id_one = #{contactsId}
<if test="contactsId != null and contactsId.size() > 0">
AND contacts_id_one in
<foreach collection="contactsId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
<!-- 会议项目-->
UNION ALL
select id from pay_meeting_situation
<where>
<if test="companyId != null and companyId != ''">
AND company_id = #{companyId}
<if test="companyId != null and companyId.size() > 0">
AND company_id in
<foreach collection="companyId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="contactsId != null and contactsId != ''">
AND company_contact_id = #{contactsId}
<if test="contactsId != null and contactsId.size() > 0">
AND company_contact_id in
<foreach collection="contactsId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
<!-- 会员项目-->
UNION ALL
select id from pay_member_project_subitem
<where>
<if test="companyId != null and companyId != ''">
AND company_id = #{companyId}
<if test="companyId != null and companyId.size() > 0">
AND company_id in
<foreach collection="companyId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="contactsId != null and contactsId != ''">
AND company_contact_id = #{contactsId}
<if test="contactsId != null and contactsId.size() > 0">
AND company_contact_id in
<foreach collection="contactsId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
<!-- 标协会员项目-->
UNION ALL
select id from tb_member_project_subitem
<where>
<if test="companyId != null and companyId != ''">
AND company_id = #{companyId}
<if test="companyId != null and companyId.size() > 0">
AND company_id in
<foreach collection="companyId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="contactsId != null and contactsId != ''">
AND liaison_man_id = #{contactsId}
<if test="contactsId != null and contactsId.size() > 0">
AND liaison_man_id in
<foreach collection="contactsId" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
) project
@@ -53,4 +53,34 @@ public interface IPayCompanyManagementService extends IService<PayCompanyManagem
*/
void removePayCompanyManagementByIds(List<String> ids);
/**
* @Description 企业端-编辑
* @Author lqt
* @Date 2021/10/12
* @Param
* @Return
* @Exception
*/
void companyEdit(PayCompanyManagement payCompanyManagement);
/**
* @Description 管理端-编辑
* @Author lqt
* @Date 2021/10/12
* @Param
* @Return
* @Exception
*/
void edit(PayCompanyManagement payCompanyManagement);
/**
* @Description 确认
* @Author lqt
* @Date 2021/10/12
* @Param
* @Return
* @Exception
*/
void audit(String id);
}
@@ -1,14 +1,16 @@
package com.jero.company.service;
import com.jero.company.vo.CompanyOrContactsCount;
public interface ProjectCountService {
/**
* @Description 获取关联企业或者联系人的项目个数
* @Author lqt
* @Date 2021/9/15
* @Param companyId 企业id
* @Param contactsId 联系人id
* @Param companyOrContactsCount
* @Return
* @Exception
*/
void getProjectCount(String companyId,String contactsId);
void getProjectCount(CompanyOrContactsCount companyOrContactsCount);
}
@@ -1,19 +1,43 @@
package com.jero.company.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.common.RoleCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.company.common.PayCompanyManagementCommon;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.mapper.PayCompanyManagementMapper;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.company.service.ProjectCountService;
import com.jero.company.vo.CompanyOrContactsCount;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.service.IPayPackCompanyService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Description: pay_company_management
@@ -24,14 +48,26 @@ import java.util.List;
@Service
public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManagementMapper, PayCompanyManagement> implements IPayCompanyManagementService {
@Autowired
IPayCompanyManagementService payCompanyManagementService;
@Autowired
private IPayContactsManagementService payContactsManagementService;
@Resource
PayCompanyManagementMapper payCompanyManagementMapper;
private IPayCompanyManagementService payCompanyManagementService;
@Resource
private IPayContactsManagementService payContactsManagementService;
@Resource
private PayCompanyManagementMapper payCompanyManagementMapper;
@Resource
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Resource
private IPayCommonProjectService payCommonProjectService;
@Resource
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Resource
private IPayMemberProjectSubitemService memberProjectSubitemService;
@Resource
private IPayIncomeContractService payIncomeContractService;
@Resource
private IPayPackCompanyService payPackCompanyService;
@Resource
private ProjectCountService projectCountService;
@Override
@Transactional
@@ -57,7 +93,14 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
payCompanyManagementService.removeById(id);
LambdaQueryWrapper<PayContactsManagement> query = new LambdaQueryWrapper<>();
query.eq(PayContactsManagement::getCompanyId,id);
payContactsManagementService.remove(query);
List<PayContactsManagement> listPayContactsManagement = payContactsManagementService.list(query);
if(!CollectionUtils.isEmpty(listPayContactsManagement)){
List<String> listIds = listPayContactsManagement.stream().map(PayContactsManagement::getId).collect(Collectors.toList());
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setContactsId(listIds);
projectCountService.getProjectCount(companyOrContactsCount);
payContactsManagementService.removeByIds(listIds);
}
}
@Override
@@ -66,6 +109,179 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
payCompanyManagementService.removeByIds(ids);
LambdaQueryWrapper<PayContactsManagement> query = new LambdaQueryWrapper<>();
query.in(PayContactsManagement::getCompanyId,ids);
payContactsManagementService.remove(query);
List<PayContactsManagement> listPayContactsManagement = payContactsManagementService.list(query);
if(!CollectionUtils.isEmpty(listPayContactsManagement)){
List<String> listIds = listPayContactsManagement.stream().map(PayContactsManagement::getId).collect(Collectors.toList());
CompanyOrContactsCount companyOrContactsCount = new CompanyOrContactsCount();
companyOrContactsCount.setContactsId(listIds);
projectCountService.getProjectCount(companyOrContactsCount);
payContactsManagementService.removeByIds(listIds);
}
}
@Override
@Transactional
public void companyEdit(PayCompanyManagement payCompanyManagement) {
StringBuilder msg = ValidUtil.validateAll(payCompanyManagement);
if(!StringUtils.isBlank(msg)){
throw new JeroBootException(msg.toString());
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
int status = PayCompanyManagementCommon.STATUS2;
// 只有财务人员操作不需要重新审核,其他人都需要审核
if(sysUser.getRoleCode().contains(RoleCommon.CWRY)){
status = PayCompanyManagementCommon.STATUS1;
}
payCompanyManagement.setStatus(status);
PayCompanyManagement payCompanyManagementOld = payCompanyManagementService.getById(payCompanyManagement.getId());
if(Objects.isNull(payCompanyManagementOld)){
throw new JeroBootException("企业不存在!");
}
if(!Objects.equals(payCompanyManagementOld.getCompanyName(),payCompanyManagement.getCompanyName())){
throw new JeroBootException("企业名称不可修改!");
}
payCompanyManagement.setStatus(payCompanyManagementOld.getStatus());
payCompanyManagement.setDataSource(payCompanyManagementOld.getDataSource());
try {
// 编辑保存企业前再次校验企业名称是否存在
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())) {
throw new JeroBootException("企业名称已存在!");
}
}catch (Exception e){
// log.info("企业管理-编辑异常",e);
throw new JeroBootException("企业名称已存在!");
}
if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){
try {
payCompanyManagement.setCompanyPhone(PasswordUtil.encrypt(payCompanyManagement.getCompanyPhone()));
}catch (Exception e){
log.error("公司电话加密异常!",e);
throw new JeroBootException("公司电话加密异常!");
}
}
// 如果该企业状态为通过,更新时间戳
if(Objects.equals(payCompanyManagementOld.getStatus(),PayCompanyManagementCommon.STATUS1)){
payCompanyManagement.setEditTime(new Date());
}
payCompanyManagementService.updateById(payCompanyManagement);
}
@Override
@Transactional
public void edit(PayCompanyManagement payCompanyManagement) {
StringBuilder msg = ValidUtil.validateAll(payCompanyManagement);
if(!StringUtils.isBlank(msg)){
throw new JeroBootException(msg.toString());
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
int status = PayCompanyManagementCommon.STATUS2;
// 只有财务人员操作不需要重新审核,其他人都需要审核
if(sysUser.getRoleCode().contains(RoleCommon.CWRY)){
status = PayCompanyManagementCommon.STATUS1;
}
payCompanyManagement.setStatus(status);
PayCompanyManagement payCompanyManagementOld = payCompanyManagementService.getById(payCompanyManagement.getId());
try {
// 编辑保存企业前再次校验企业名称是否存在
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())) {
throw new JeroBootException("企业名称已存在!");
}
}catch (Exception e){
// log.info("企业管理-编辑异常",e);
throw new JeroBootException("企业名称已存在!");
}
if(!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){
try {
payCompanyManagement.setCompanyPhone(PasswordUtil.encrypt(payCompanyManagement.getCompanyPhone()));
}catch (Exception e){
// log.error("公司电话加密异常!",e);
throw new JeroBootException("公司电话加密异常!");
}
}
// 财务人员,直接批量变更状态
if(sysUser.getRoleCode().contains(RoleCommon.CWRY)){
payCompanyManagementOld.setCompanyName(payCompanyManagement.getCompanyName());
// 批量变更企业名称
updateBatchData(payCompanyManagementOld);
}else{
// 如果该企业状态为通过,更新时间戳
if(Objects.equals(payCompanyManagementOld.getStatus(),PayCompanyManagementCommon.STATUS1)){
payCompanyManagement.setEditTime(new Date());
}
}
payCompanyManagementService.updateById(payCompanyManagement);
}
@Override
@Transactional
public void audit(String id) {
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(id);
if(Objects.isNull(payCompanyManagement)){
throw new JeroBootException("企业不存在!");
}
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);
// 批量变更企业名称
updateBatchData(payCompanyManagement);
}
/**
* @Description 批量更新数据
* @Author lqt
* @Date 2021/10/12
* @Param
* @Return
* @Exception
*/
private void updateBatchData(PayCompanyManagement payCompanyManagement){
// 更新临时数据
LambdaUpdateWrapper<PayCompanyManagementTemporary> updatePayCompanyManagementTemporary = new LambdaUpdateWrapper<>();
updatePayCompanyManagementTemporary.eq(PayCompanyManagementTemporary::getCompanyId,payCompanyManagement.getId());
updatePayCompanyManagementTemporary.ge(PayCompanyManagementTemporary::getEditTime,payCompanyManagement.getEditTime());
updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyName,payCompanyManagement.getCompanyName());
payCompanyManagementTemporaryService.update(updatePayCompanyManagementTemporary);
// 更新普通项目
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
updatePayCommonProject.eq(PayCommonProject::getChargeCompanyId,payCompanyManagement.getId());
updatePayCommonProject.ge(PayCommonProject::getCreateTime,payCompanyManagement.getEditTime());
updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
payCommonProjectService.update(updatePayCommonProject);
// 更新工作组
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,payCompanyManagement.getId());
updatePayWorkingGroupSubItem.ge(PayWorkingGroupSubItem::getCreateTime,payCompanyManagement.getEditTime());
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
// 更新会员
LambdaUpdateWrapper<PayMemberProjectSubitem> updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>();
updatePayMemberProjectSubitem.eq(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId());
updatePayMemberProjectSubitem.ge(PayMemberProjectSubitem::getCreateTime,payCompanyManagement.getEditTime());
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName());
memberProjectSubitemService.update(updatePayMemberProjectSubitem);
// 更新合同
LambdaUpdateWrapper<PayIncomeContract> updatePayIncomeContract = new LambdaUpdateWrapper<>();
updatePayIncomeContract.eq(PayIncomeContract::getSignedCompanyId,payCompanyManagement.getId());
updatePayIncomeContract.ge(PayIncomeContract::getCreateTime,payCompanyManagement.getEditTime());
updatePayIncomeContract.set(PayIncomeContract::getSignedCompanyTemporaryName,payCompanyManagement.getCompanyName());
payIncomeContractService.update(updatePayIncomeContract);
// 更新打包
LambdaUpdateWrapper<PayPackCompany> updatePayPackCompany = new LambdaUpdateWrapper<>();
updatePayPackCompany.eq(PayPackCompany::getCompanyId,payCompanyManagement.getId());
updatePayPackCompany.ge(PayPackCompany::getCreateTime,payCompanyManagement.getEditTime());
updatePayPackCompany.set(PayPackCompany::getCompanyTemporaryName,payCompanyManagement.getCompanyName());
payPackCompanyService.update(updatePayPackCompany);
}
}
@@ -3,6 +3,7 @@ package com.jero.company.service.impl;
import com.jero.common.exception.JeroBootException;
import com.jero.company.mapper.ProjectCountMapper;
import com.jero.company.service.ProjectCountService;
import com.jero.company.vo.CompanyOrContactsCount;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -14,8 +15,8 @@ public class ProjectCountServiceImpl implements ProjectCountService {
private ProjectCountMapper projectCountMapper;
@Override
public void getProjectCount(String companyId, String contactsId) {
int count = projectCountMapper.getProjectCount(companyId, contactsId);
public void getProjectCount(CompanyOrContactsCount companyOrContactsCount) {
int count = projectCountMapper.getProjectCount(companyOrContactsCount);
if(count > 0){
throw new JeroBootException("已关联项目,不可删除!");
}
@@ -0,0 +1,19 @@
package com.jero.company.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class CompanyOrContactsCount implements Serializable {
/**
* 企业id
*/
private List<String> companyId;
/**
* 联系人id
*/
private List<String> contactsId;
}
@@ -18,8 +18,6 @@ import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.service.IPayMailBillProjectService;
import com.jero.pack.entity.PayPackCompany;
@@ -34,7 +32,6 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
@@ -1,6 +1,8 @@
package com.jero.temporary.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;
@@ -31,6 +33,9 @@ public class PayCompanyManagementTemporary implements Serializable {
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**企业id*/
@ApiModelProperty(value = "主键")
private java.lang.String companyId;
/**企业名称*/
@Excel(name = "企业名称", width = 15)
@ApiModelProperty(value = "企业名称")
@@ -71,20 +76,25 @@ public class PayCompanyManagementTemporary implements Serializable {
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private java.lang.String remarks;
/**记录第一次编辑时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "记录第一次编辑时间")
private Date editTime;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private java.util.Date updateTime;
}
@@ -31,6 +31,9 @@ public class PayContactsManagementTemporary implements Serializable {
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**联系人id*/
@ApiModelProperty(value = "联系人id")
private java.lang.String contactId;
/**企业id*/
@Excel(name = "企业id", width = 15)
@ApiModelProperty(value = "企业id")
@@ -75,16 +78,16 @@ public class PayContactsManagementTemporary implements Serializable {
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private java.util.Date updateTime;
}
@@ -46,12 +46,13 @@ public class PayCompanyManagementTemporaryServiceImpl extends ServiceImpl<PayCom
}
str = JSONObject.toJSONString(temporary);
}else{
// if(Objects.equals(payCompanyManagement.getStatus(), PayCompanyManagementTemporaryCommon.STATUS2)){
// payCompanyManagement.setCompanyName(payCompanyManagement.getCompanyName() + PayCompanyManagementTemporaryCommon.CHECK);
// }
if(Objects.equals(payCompanyManagement.getStatus(), PayCompanyManagementTemporaryCommon.STATUS2)){
payCompanyManagement.setCompanyName(payCompanyManagement.getCompanyName() + PayCompanyManagementTemporaryCommon.CHECK);
}
str = JSONObject.toJSONString(payCompanyManagement);
}
PayCompanyManagementTemporary payCompanyManagementTemporary = JSON.parseObject(str,PayCompanyManagementTemporary.class);
payCompanyManagementTemporary.setCompanyId(payCompanyManagementTemporary.getId());
payCompanyManagementTemporary.setCreateBy(null);
payCompanyManagementTemporary.setCreateTime(null);
payCompanyManagementTemporary.setUpdateBy(null);
@@ -13,6 +13,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
/**
@@ -24,10 +25,10 @@ import java.util.Objects;
@Service
public class PayContactsManagementTemporaryServiceImpl extends ServiceImpl<PayContactsManagementTemporaryMapper, PayContactsManagementTemporary> implements IPayContactsManagementTemporaryService {
@Autowired
@Resource
private IPayContactsManagementService payContactsManagementService;
@Autowired
@Resource
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Override
@@ -47,6 +48,7 @@ public class PayContactsManagementTemporaryServiceImpl extends ServiceImpl<PayCo
str = JSONObject.toJSONString(payContactsManagement);
}
PayContactsManagementTemporary payContactsManagementTemporary = JSON.parseObject(str,PayContactsManagementTemporary.class);
payContactsManagementTemporary.setContactId(payContactsManagementTemporary.getId());
payContactsManagementTemporary.setId(null);
payContactsManagementTemporary.setCreateBy(null);
payContactsManagementTemporary.setCreateTime(null);