diff --git a/src/main/java/com/ydool/staff/controller/ExchangeController.java b/src/main/java/com/ydool/staff/controller/ExchangeController.java index 8247e98..aae4f12 100644 --- a/src/main/java/com/ydool/staff/controller/ExchangeController.java +++ b/src/main/java/com/ydool/staff/controller/ExchangeController.java @@ -7,6 +7,7 @@ import com.ydool.common.data.dto.AjaxResult; import com.ydool.staff.dto.ExchangePageDto; import com.ydool.staff.dto.PersonnelByExchangeDto; import com.ydool.staff.request.ExchangeRequest; +import com.ydool.staff.request.GiveAuditRequest; import com.ydool.staff.request.PersonnelDeleteRequest; import com.ydool.staff.service.IExchangeService; import com.ydool.staff.service.IPersonnelService; @@ -79,4 +80,5 @@ public class ExchangeController extends BaseController { } + } diff --git a/src/main/java/com/ydool/staff/dto/ExchangePageDto.java b/src/main/java/com/ydool/staff/dto/ExchangePageDto.java index 5a5aabc..e82a98c 100644 --- a/src/main/java/com/ydool/staff/dto/ExchangePageDto.java +++ b/src/main/java/com/ydool/staff/dto/ExchangePageDto.java @@ -52,4 +52,7 @@ public class ExchangePageDto { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @ApiModelProperty(value = "填报时间") private LocalDateTime createdAt; + + @ApiModelProperty(value = "审批状态 0 未送审 1 待人事审批,2 待领导审批,3已通过,4已拒绝 ") + private String auditState; } diff --git a/src/main/java/com/ydool/staff/dto/PersonnelDto.java b/src/main/java/com/ydool/staff/dto/PersonnelDto.java index 1b7a86c..4328a88 100644 --- a/src/main/java/com/ydool/staff/dto/PersonnelDto.java +++ b/src/main/java/com/ydool/staff/dto/PersonnelDto.java @@ -42,6 +42,15 @@ public class PersonnelDto { @ApiModelProperty(value = "审批状态 0 未审批 1 待审批,2已通过,3已拒绝") private Integer auditState; + @ApiModelProperty(value = "变更表变更标志: 0:未变更 1:变更中 2:变更完成") + private String changeAlterationSign; + + @ApiModelProperty(value = "变更表审批状态 0 未送审 1 待人事审批,2 待领导审批,3已通过,4已拒绝") + private Integer changeAuditState; + + @ApiModelProperty(value = "工作状态") + private String workState; + } diff --git a/src/main/java/com/ydool/staff/entity/Exchange.java b/src/main/java/com/ydool/staff/entity/Exchange.java index b530aaa..d542c8a 100644 --- a/src/main/java/com/ydool/staff/entity/Exchange.java +++ b/src/main/java/com/ydool/staff/entity/Exchange.java @@ -51,7 +51,10 @@ public class Exchange extends BaseEntity{ @ApiModelProperty(value = "选调相关附件") private String excFile; - @ApiModelProperty(value = "审批状态") + @ApiModelProperty(value = "审批状态 0 未送审 1 待人事审批,2 待领导审批,3已通过,4已拒绝 ") private String auditState; + @ApiModelProperty(value = "数据状态:0历史数据 1当前数据") + private String state; + } diff --git a/src/main/java/com/ydool/staff/request/AuditRequest.java b/src/main/java/com/ydool/staff/request/AuditRequest.java index 34b608e..5ae5676 100644 --- a/src/main/java/com/ydool/staff/request/AuditRequest.java +++ b/src/main/java/com/ydool/staff/request/AuditRequest.java @@ -26,7 +26,7 @@ public class AuditRequest { @ApiModelProperty(value = "审批意见") private String auditOpinion; - @ApiModelProperty(value = "人员类型:personnel:人员 change:变更") + @ApiModelProperty(value = "人员类型:personnel:人员 change:变更 exchange:选调") private String type; diff --git a/src/main/java/com/ydool/staff/request/GiveAuditRequest.java b/src/main/java/com/ydool/staff/request/GiveAuditRequest.java index 52782fe..c793ee2 100644 --- a/src/main/java/com/ydool/staff/request/GiveAuditRequest.java +++ b/src/main/java/com/ydool/staff/request/GiveAuditRequest.java @@ -17,6 +17,7 @@ public class GiveAuditRequest { @ApiModelProperty(value = "人员类型:personnel 变更:change") private String type; + @ApiModelProperty(value = "修改数据") private PersonnelUpdateRequest request; } diff --git a/src/main/java/com/ydool/staff/service/IAuditService.java b/src/main/java/com/ydool/staff/service/IAuditService.java index 6e7250c..4b7dfd4 100644 --- a/src/main/java/com/ydool/staff/service/IAuditService.java +++ b/src/main/java/com/ydool/staff/service/IAuditService.java @@ -18,7 +18,7 @@ public interface IAuditService { AjaxResult audit(AuditRequest auditRequest); - Integer saveAuditLog(String personnelId,String approverId,String type,String auditSate); + Integer saveAuditLog(String personnelId,String approverId,String type,String auditSate,String opinion); AjaxResult submitDirectorsSupervisorsAudit(AuditRequest auditRequest); diff --git a/src/main/java/com/ydool/staff/service/IExchangeService.java b/src/main/java/com/ydool/staff/service/IExchangeService.java index 157f135..ccafdee 100644 --- a/src/main/java/com/ydool/staff/service/IExchangeService.java +++ b/src/main/java/com/ydool/staff/service/IExchangeService.java @@ -3,6 +3,7 @@ package com.ydool.staff.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ydool.common.data.dto.AjaxResult; import com.ydool.staff.request.ExchangeRequest; +import com.ydool.staff.request.GiveAuditRequest; import com.ydool.staff.request.PersonnelDeleteRequest; import com.ydool.staff.request.PersonnelUpdateRequest; @@ -23,5 +24,6 @@ public interface IExchangeService { AjaxResult deleteExchangeById(PersonnelDeleteRequest request); AjaxResult selectById(String id); + } diff --git a/src/main/java/com/ydool/staff/service/impl/AuditLogServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/AuditLogServiceImpl.java index 9c91368..7f62d6d 100644 --- a/src/main/java/com/ydool/staff/service/impl/AuditLogServiceImpl.java +++ b/src/main/java/com/ydool/staff/service/impl/AuditLogServiceImpl.java @@ -30,7 +30,7 @@ public class AuditLogServiceImpl extends BaseService i @Override public AjaxResult auditLog(String id) { - List list = list(new LambdaQueryWrapper().eq(AuditLog::getPersonnelId, id)); + List list = list(new LambdaQueryWrapper().eq(AuditLog::getPersonnelId, id).orderByDesc(AuditLog::getCreatedAt)); List auditLogDtos = BeanUtil.copyToList(list, AuditLogDto.class); for (AuditLogDto auditLogDto : auditLogDtos) { User user = userMapper.selectById(auditLogDto.getApprover()); diff --git a/src/main/java/com/ydool/staff/service/impl/AuditServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/AuditServiceImpl.java index 210ea73..143d3d5 100644 --- a/src/main/java/com/ydool/staff/service/impl/AuditServiceImpl.java +++ b/src/main/java/com/ydool/staff/service/impl/AuditServiceImpl.java @@ -50,6 +50,9 @@ public class AuditServiceImpl extends BaseService implements @Resource private AuditMapper auditMapper; + @Resource + private ExchangeMapper exchangeMapper; + @Resource private PersonnelMapper personnelMapper; @Resource @@ -71,21 +74,18 @@ public class AuditServiceImpl extends BaseService implements .eq(Audit::getPerType,auditRequest.getType()) .eq(Audit::getAuditOrder, ArgsConst.WAITING) .eq(Audit::getApprover, loginId)); - System.out.println("one = " + one); - one.setOpinion(auditRequest.getAuditOpinion()); - one.setApproverTime(new Date()); if(ObjectUtil.isEmpty(one)){ return AjaxResult.fail().msg("该用户不能审批!"); } if(ArgsConst.PASS.equals(one.getAuditState())){ return AjaxResult.fail().msg("用户已审批,请勿重复操作!"); } + one.setOpinion(auditRequest.getAuditOpinion()); + one.setApproverTime(new Date()); //同意 if ("2".equals(auditRequest.getStatus())){ Config director = configMapper.selectOne(new LambdaQueryWrapper().eq(Config::getParamKey, ConfigCache.SYS_USER_PERSONNEL_DIRECTOR)); - System.out.println("director = " + director); if (loginUser.getLoginName().equals(director.getParamValue())){ - System.out.println("111111111111111"); one.setAuditOrder(ArgsConst.FIRST); one.setAuditState(ArgsConst.PASS); boolean update = updateById(one); @@ -96,46 +96,64 @@ public class AuditServiceImpl extends BaseService implements Audit auditOne = getOne(new LambdaQueryWrapper().eq(Audit::getApprover, user.getId()).eq(Audit::getPersonnelId, auditRequest.getPersonnelId())); auditOne.setAuditOrder(ArgsConst.WAITING); updateById(auditOne); - Personnel personnel = personnelMapper.selectById(auditOne.getPersonnelId()); - if (ArgsConst.PERSONNEL.equals(auditRequest.getType())){ - personnel.setAuditState(2); - }else if (ArgsConst.CHANGE.equals(auditRequest.getType())){ - personnel.setChangeAuditState(2); + if (ArgsConst.PERSONNEL.equals(auditRequest.getType())||ArgsConst.CHANGE.equals(auditRequest.getType())){ + Personnel personnel = personnelMapper.selectById(auditOne.getPersonnelId()); + if (ArgsConst.PERSONNEL.equals(auditRequest.getType())){ + personnel.setAuditState(2); + }else if (ArgsConst.CHANGE.equals(auditRequest.getType())){ + personnel.setChangeAuditState(2); + } + personnelMapper.updateById(personnel); + }else if(ArgsConst.EXCHANGE.equals(auditRequest.getType())){ + Exchange exchange = exchangeMapper.selectById(auditOne.getPersonnelId()); + exchange.setAuditState("2"); + exchangeMapper.updateById(exchange); } - personnelMapper.updateById(personnel); - saveAuditLog(auditRequest.getPersonnelId(),loginId,auditRequest.getType(),"一般初审通过"); + saveAuditLog(auditRequest.getPersonnelId(),loginId,auditRequest.getType(),"一般初审通过",auditRequest.getAuditOpinion()); } return update ? AjaxResult.ok().msg("审批成功!"):AjaxResult.fail().msg("审批成功!"); } Config leadership = configMapper.selectOne(new LambdaQueryWrapper().eq(Config::getParamKey, ConfigCache.SYS_USER_LEADERSHIP)); - System.out.println("leadership = " + leadership); if (leadership.getParamValue().equals(loginUser.getLoginName())){ - System.out.println("22222222222222"); one.setAuditOrder(ArgsConst.LAST); one.setAuditState(ArgsConst.PASS); boolean update = updateById(one); if (update){ - saveAuditLog(auditRequest.getPersonnelId(),loginId,auditRequest.getType(),"一般终审通过"); - Personnel personnel = personnelMapper.selectById(auditRequest.getPersonnelId()); - PersonnelMiddle middle = personnelMiddleMapper.selectOne(new LambdaQueryWrapper().eq(PersonnelMiddle::getBeforeId, personnel.getId()).eq(PersonnelMiddle::getState, "1")); - Personnel personnelOne = personnelMapper.selectById(middle.getAfterId()); - String id = personnelOne.getId(); - personnelOne.setState("2"); - if (ArgsConst.PERSONNEL.equals(auditRequest.getType())){ - personnelOne.setAlterationSign("2"); - personnelOne.setAuditState(3); + saveAuditLog(auditRequest.getPersonnelId(),loginId,auditRequest.getType(),"一般终审通过",auditRequest.getAuditOpinion()); + + + if (ArgsConst.PERSONNEL.equals(auditRequest.getType())||ArgsConst.CHANGE.equals(auditRequest.getType())){ + Personnel personnel = personnelMapper.selectById(auditRequest.getPersonnelId()); + PersonnelMiddle middle = personnelMiddleMapper.selectOne(new LambdaQueryWrapper().eq(PersonnelMiddle::getBeforeId, personnel.getId()).eq(PersonnelMiddle::getState, "1")); + Personnel personnelOne = personnelMapper.selectById(middle.getAfterId()); + String id = personnelOne.getId(); + personnelOne.setState("2"); + if (ArgsConst.PERSONNEL.equals(auditRequest.getType())){ + personnelOne.setAlterationSign("2"); + personnelOne.setAuditState(3); + } + if (ArgsConst.CHANGE.equals(auditRequest.getType())){ + personnelOne.setChangeAlterationSign("2"); + personnelOne.setChangeAuditState(3); + } + personnelOne.setId(personnel.getId()); + personnel.setId(id); + personnel.setState("0"); + middle.setState("0"); + personnelMapper.updateById(personnelOne); + personnelMapper.updateById(personnel); + personnelMiddleMapper.updateById(middle); + }else if (ArgsConst.EXCHANGE.equals(auditRequest.getType())){ + Exchange exchange = exchangeMapper.selectOne(new LambdaQueryWrapper().eq(Exchange::getState,"1").eq(Exchange::getId,auditRequest.getPersonnelId())); + exchange.setAuditState("3"); + exchange.setState("0"); + Personnel personnel = personnelMapper.selectById(exchange.getPersonnelId()); + personnel.setCompanyName(exchange.getWillCompanyId()); + personnel.setPresentDept(exchange.getWillDept()); + personnel.setPosition(exchange.getWillPosition()); + exchangeMapper.updateById(exchange); + personnelMapper.updateById(personnel); } - if (ArgsConst.CHANGE.equals(auditRequest.getType())){ - personnelOne.setChangeAlterationSign("2"); - personnelOne.setChangeAuditState(3); - } - personnelOne.setId(personnel.getId()); - personnel.setId(id); - personnel.setState("0"); - middle.setState("0"); - personnelMapper.updateById(personnelOne); - personnelMapper.updateById(personnel); - personnelMiddleMapper.updateById(middle); } return update ? AjaxResult.ok().msg("审批成功!"):AjaxResult.fail().msg("审批成功!"); } @@ -147,14 +165,22 @@ public class AuditServiceImpl extends BaseService implements PersonnelMiddle middle = personnelMiddleMapper.selectOne(new LambdaQueryWrapper().eq(PersonnelMiddle::getBeforeId, auditRequest.getPersonnelId()).eq(PersonnelMiddle::getState, "1")); Personnel afterPersonnel = personnelMapper.selectById(middle.getAfterId()); Personnel personnel = personnelMapper.selectById(auditRequest.getPersonnelId()); + Exchange exchange = exchangeMapper.selectById(auditRequest.getPersonnelId()); if (loginUser.getLoginName().equals(director.getParamValue())){ one.setAuditOrder(ArgsConst.REJECT); one.setOpinion(auditRequest.getAuditOpinion()); boolean update = updateById(one); if (update){ - saveAuditLog(auditRequest.getPersonnelId(),loginId,auditRequest.getType(),"一般初审拒绝"); - updateByPer(afterPersonnel.getId(),personnel,auditRequest.getType()); + saveAuditLog(auditRequest.getPersonnelId(),loginId,auditRequest.getType(),"一般初审拒绝",auditRequest.getAuditOpinion()); + if (ArgsConst.PERSONNEL.equals(auditRequest.getType())||ArgsConst.CHANGE.equals(auditRequest.getType())){ + updateByPer(afterPersonnel.getId(),personnel,auditRequest.getType()); + } + if(ArgsConst.EXCHANGE.equals(auditRequest.getType())){ + exchange.setAuditState("4"); + exchange.setState("0"); + exchangeMapper.updateById(exchange); + } for (Audit auditOne : auditList) { delete(auditOne.getId()); } @@ -167,8 +193,14 @@ public class AuditServiceImpl extends BaseService implements one.setOpinion(auditRequest.getAuditOpinion()); boolean update = updateById(one); if (update){ - saveAuditLog(auditRequest.getPersonnelId(),loginId,auditRequest.getType(),"一般终审拒绝"); - updateByPer(afterPersonnel.getId(),personnel,auditRequest.getType()); + saveAuditLog(auditRequest.getPersonnelId(),loginId,auditRequest.getType(),"一般终审拒绝",auditRequest.getAuditOpinion()); + if (ArgsConst.PERSONNEL.equals(auditRequest.getType())||ArgsConst.CHANGE.equals(auditRequest.getType())){ + updateByPer(afterPersonnel.getId(),personnel,auditRequest.getType()); + }else if(ArgsConst.EXCHANGE.equals(auditRequest.getType())){ + exchange.setAuditState("4"); + exchange.setState("0"); + exchangeMapper.updateById(exchange); + } for (Audit auditOne : auditList) { delete(auditOne.getId()); } @@ -178,10 +210,11 @@ public class AuditServiceImpl extends BaseService implements return null; } - public Integer saveAuditLog(String personnelId,String approverId,String type,String auditSate){ + public Integer saveAuditLog(String personnelId,String approverId,String type,String auditSate,String opinion){ AuditLog auditLog = new AuditLog(); auditLog.setPersonnelId(personnelId); auditLog.setType(type); + auditLog.setOpinion(opinion); auditLog.setApprover(approverId); auditLog.setAuditState(auditSate); return auditLogMapper.insert(auditLog); diff --git a/src/main/java/com/ydool/staff/service/impl/DirectorsSupervisorsServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/DirectorsSupervisorsServiceImpl.java index 6887e3c..e919823 100644 --- a/src/main/java/com/ydool/staff/service/impl/DirectorsSupervisorsServiceImpl.java +++ b/src/main/java/com/ydool/staff/service/impl/DirectorsSupervisorsServiceImpl.java @@ -179,7 +179,7 @@ public class DirectorsSupervisorsServiceImpl extends BaseService 0 ? AjaxResult.ok().msg("送审成功!") : AjaxResult.fail().msg("送审失败!"); } } diff --git a/src/main/java/com/ydool/staff/service/impl/ExchangeServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/ExchangeServiceImpl.java index bfeaeda..5a070aa 100644 --- a/src/main/java/com/ydool/staff/service/impl/ExchangeServiceImpl.java +++ b/src/main/java/com/ydool/staff/service/impl/ExchangeServiceImpl.java @@ -9,12 +9,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ydool.common.base.BaseService; +import com.ydool.common.cache.ConfigCache; import com.ydool.common.constant.ArgsConst; import com.ydool.common.data.dto.AjaxResult; import com.ydool.staff.dto.AttachmentDto; import com.ydool.staff.dto.ExchangeOneDto; import com.ydool.staff.dto.ExchangePageDto; import com.ydool.staff.entity.Attachment; +import com.ydool.staff.entity.Audit; import com.ydool.staff.entity.CompanyName; import com.ydool.staff.entity.Exchange; import com.ydool.staff.entity.Personnel; @@ -23,10 +25,13 @@ import com.ydool.staff.mapper.CompanyNameMapper; import com.ydool.staff.mapper.ExchangeMapper; import com.ydool.staff.mapper.PersonnelMapper; import com.ydool.staff.request.ExchangeRequest; +import com.ydool.staff.request.GiveAuditRequest; import com.ydool.staff.request.PersonnelDeleteRequest; import com.ydool.staff.service.IExchangeService; +import com.ydool.system.entity.Config; import com.ydool.system.entity.Dept; import com.ydool.system.entity.User; +import com.ydool.system.mapper.ConfigMapper; import com.ydool.system.mapper.DeptMapper; import com.ydool.system.mapper.UserMapper; import org.springframework.stereotype.Service; @@ -36,6 +41,7 @@ import org.thymeleaf.util.StringUtils; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -64,10 +70,13 @@ public class ExchangeServiceImpl extends BaseService i private CompanyNameMapper companyNameMapper; @Resource private UserMapper userMapper; + + @Resource + private ConfigMapper configMapper; @Override public AjaxResult exchangePage(Page page,String userName,String numberId,String willCompanyName,String companyName,String receipts) { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.lambda().eq(StrUtil.isNotBlank(willCompanyName),Exchange::getWillCompanyId,willCompanyName) + wrapper.lambda().eq(StrUtil.isNotBlank(willCompanyName),Exchange::getWillCompanyId,willCompanyName).eq(Exchange::getState,"1") .exists(StrUtil.isNotBlank(companyName), "select p.id from t_lc_personnel p where t_lc_exchange.personnel_id = p.id and p.company_name = " +"'"+ companyName+"'") .exists(StrUtil.isNotBlank(receipts), @@ -185,5 +194,6 @@ public class ExchangeServiceImpl extends BaseService i return AjaxResult.ok().data(exchangeOneDto); } + } diff --git a/src/main/java/com/ydool/staff/service/impl/OrganizationServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/OrganizationServiceImpl.java index 4135d6c..76e4f0b 100644 --- a/src/main/java/com/ydool/staff/service/impl/OrganizationServiceImpl.java +++ b/src/main/java/com/ydool/staff/service/impl/OrganizationServiceImpl.java @@ -105,7 +105,7 @@ public class OrganizationServiceImpl extends BaseService 0 ? AjaxResult.ok().msg("送审成功!") : AjaxResult.ok().msg("送审失败!"); } @@ -153,7 +153,7 @@ public class OrganizationServiceImpl extends BaseService 0 ? AjaxResult.ok().msg("送审成功!") : AjaxResult.ok().msg("送审失败!"); } } diff --git a/src/main/java/com/ydool/staff/service/impl/PersonnelServiceImpl.java b/src/main/java/com/ydool/staff/service/impl/PersonnelServiceImpl.java index a630f0e..341927d 100644 --- a/src/main/java/com/ydool/staff/service/impl/PersonnelServiceImpl.java +++ b/src/main/java/com/ydool/staff/service/impl/PersonnelServiceImpl.java @@ -24,6 +24,7 @@ import com.ydool.staff.entity.Alteration; import com.ydool.staff.entity.Attachment; import com.ydool.staff.entity.Audit; import com.ydool.staff.entity.CompanyName; +import com.ydool.staff.entity.Exchange; import com.ydool.staff.entity.Personnel; import com.ydool.staff.entity.PersonnelMiddle; import com.ydool.staff.entity.SelectRequest; @@ -34,6 +35,7 @@ import com.ydool.staff.mapper.AlterationMapper; import com.ydool.staff.mapper.AuditLogMapper; import com.ydool.staff.mapper.AuditMapper; import com.ydool.staff.mapper.CompanyNameMapper; +import com.ydool.staff.mapper.ExchangeMapper; import com.ydool.staff.mapper.PersonnelMapper; import com.ydool.staff.mapper.PersonnelMiddleMapper; import com.ydool.staff.request.AttachmentRequest; @@ -109,6 +111,8 @@ public class PersonnelServiceImpl extends BaseService