合同管理-去掉审核流程,添加作废功能

This commit is contained in:
liangqitao
2021-12-14 18:30:55 +08:00
parent 7ae82d71ea
commit eb7049b953
4 changed files with 139 additions and 60 deletions
@@ -162,7 +162,7 @@ public class PaySpendingContractController extends JeroController<PaySpendingCon
}
/**
* 审核
* 审核(已弃用)
*
* @param paySpendingContractAudit 审核记录
*/
@@ -178,6 +178,23 @@ public class PaySpendingContractController extends JeroController<PaySpendingCon
return Result.OK("审核成功!");
}
/**
* 已作废
*
* @param paySpendingContractAudit 审核记录
*/
@AutoLog(value = "支出合同-已作废",operateType = 7)
// @RequiresPermissions("revenueContract:aduit")
@ApiOperation(value="支出合同-已作废", notes="支出合同-已作废")
@PostMapping(value = "/cancellation")
public Result<?> cancellation(@RequestBody PaySpendingContractAudit paySpendingContractAudit) {
if(StringUtils.isBlank(paySpendingContractAudit.getContractId())){
return Result.error("id不能为空!");
}
paySpendingContractService.cancellation(paySpendingContractAudit);
return Result.OK("操作成功!");
}
/**
* 归档
*
@@ -92,6 +92,15 @@ public interface IPaySpendingContractService extends IService<PaySpendingContrac
* @Exception
*/
void updateAudit(PaySpendingContractAudit paySpendingContractAudit);
/**
* @Description 已作废
* @Author lqt
* @Date 2021/9/5
* @Param payIncomeContractAudit 审核记录
* @Return
* @Exception
*/
void cancellation(PaySpendingContractAudit paySpendingContractAudit);
/**
* @Description 归档
* @Author lqt
@@ -252,6 +252,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(Objects.isNull(payIncomeContractStatus)){
throw new JeroBootException("收入合同不存在!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!sysUser.getRoleCode().contains(RoleCommon.CWRY) && !Objects.equals(sysUser.getId(),payIncomeContractStatus.getPrincipalId())){
throw new JeroBootException("数据权限不足!");
@@ -265,10 +266,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
throw new JeroBootException("打包年份不可更改!");
}
}
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS1)
&& !Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS4)){
throw new JeroBootException("收入合同不可编辑!");
}
List<PayIncomeContractInstallment> listPayIncomeContractInstallment = new ArrayList<>();
if(!CollectionUtils.isEmpty(input.getInstallment())){
listPayIncomeContractInstallment = input.getInstallment();
@@ -305,15 +302,18 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
}
// 校验金额
checkPayIncomeContractInstallment(listPayIncomeContractInstallment,payIncomeContract);
setPayIncomeContractEdit(payIncomeContract,payIncomeContractStatus);
payIncomeContractService.updateById(payIncomeContract);
LambdaUpdateWrapper<PayIncomeContract> updatePayIncomeContract = new LambdaUpdateWrapper<>();
updatePayIncomeContract.eq(PayIncomeContract::getId,payIncomeContract.getId());
updatePayIncomeContract.set(PayIncomeContract::getOpening,payIncomeContract.getOpening());
updatePayIncomeContract.set(PayIncomeContract::getContractDate,payIncomeContract.getContractDate());
updatePayIncomeContract.set(PayIncomeContract::getTerminationDate,payIncomeContract.getTerminationDate());
updatePayIncomeContract.set(PayIncomeContract::getContractTimePoints,payIncomeContract.getContractTimePoints());
payIncomeContractService.update(updatePayIncomeContract);
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS5)
&& !Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS6)){
setPayIncomeContractEdit(payIncomeContract,payIncomeContractStatus);
payIncomeContractService.updateById(payIncomeContract);
LambdaUpdateWrapper<PayIncomeContract> updatePayIncomeContract = new LambdaUpdateWrapper<>();
updatePayIncomeContract.eq(PayIncomeContract::getId,payIncomeContract.getId());
updatePayIncomeContract.set(PayIncomeContract::getOpening,payIncomeContract.getOpening());
updatePayIncomeContract.set(PayIncomeContract::getContractDate,payIncomeContract.getContractDate());
updatePayIncomeContract.set(PayIncomeContract::getTerminationDate,payIncomeContract.getTerminationDate());
updatePayIncomeContract.set(PayIncomeContract::getContractTimePoints,payIncomeContract.getContractTimePoints());
payIncomeContractService.update(updatePayIncomeContract);
}
}
@Override
@@ -1033,6 +1033,9 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
});
payIncomeContractAssociatedCancellationService.saveBatch(list);
}
LambdaUpdateWrapper<PayIncomeContractAssociated> updatePayIncomeContractAssociated = new LambdaUpdateWrapper<>();
updatePayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,payIncomeContractStatus.getId());
payIncomeContractAssociatedService.remove(updatePayIncomeContractAssociated);
// 发生送消息给 合同负责人;合同企业联系人
// 合同负责人
@@ -1095,7 +1098,9 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS3)){
throw new JeroBootException("收入合同不可归档!");
}
if(Objects.isNull(payIncomeContractAudit.getContractStatus()) || !Objects.equals(payIncomeContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS5)){
if(Objects.isNull(payIncomeContractAudit.getContractStatus())
|| !Objects.equals(payIncomeContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS5)
|| !Objects.equals(payIncomeContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS6)){
throw new JeroBootException("收入合同状态不正确!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -1122,7 +1127,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
throw new JeroBootException(payIncomeContractStatus.getContractName() + "数据权限不足!");
}
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS1)
&& !Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS4)){
&& !Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS6)){
throw new JeroBootException(payIncomeContractStatus.getContractName() + "收入合同不可删除!");
}
payIncomeContractService.removeById(id);
@@ -129,7 +129,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
if(Objects.isNull(principalName)){
throw new JeroBootException("负责人名称为空!");
}
paySpendingContract.setStatus(PayIncomeContractCommon.STATUS2);
paySpendingContract.setStatus(PayIncomeContractCommon.STATUS3);
paySpendingContract.setPrincipalId(principalName.getId());
paySpendingContract.setPrincipalName(principalName.getRealname());
paySpendingContractService.save(paySpendingContract);
@@ -153,7 +153,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
throw new JeroBootException(msgPaySpendingContractInstallment.toString());
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 获取项目负责人,发送消息
// 发送消息财务负责人
List<SysUser> list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.CWRY));
if(!CollectionUtils.isEmpty(list)){
list.forEach(p->{
@@ -162,7 +162,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
if(!StringUtils.isBlank(p.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
if(!StringUtils.isEmpty(p.getPhone())){
if(!StringUtils.isBlank(p.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone()));
}
HashMap<String,String> map = new HashMap<>();
@@ -170,17 +170,41 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
map.put("contractName",paySpendingContract.getContractName());
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(p.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG2.getCode());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG3.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE2");
sendMessageDTO.setBusType("M_OPEN_TYPE3");
JSONObject json = new JSONObject();
json.put("revenueId",paySpendingContract.getId());
json.put("contractNum",paySpendingContract.getContractNum());
json.put("contractType",PayIncomeContractCommon.CONTRACT_TYPE);
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
});
}
// 合同负责人
SysUser sysUserData = sysUserService.getById(paySpendingContract.getPrincipalId());
if(!Objects.isNull(sysUserData)){
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(sysUserData.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserData.getEmail()));
}
if(!StringUtils.isEmpty(sysUserData.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserData.getPhone()));
}
HashMap<String,String> map = new HashMap<>();
map.put("contractNum",paySpendingContract.getContractNum());
map.put("contractName",paySpendingContract.getContractName());
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserData.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG16.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE16");
JSONObject json = new JSONObject();
json.put("revenueId",paySpendingContract.getId());
json.put("contractNum",paySpendingContract.getContractNum());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
return paySpendingContract;
}
@@ -254,47 +278,22 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
});
paySpendingContractInstallmentService.saveBatch(listPaySpendingContractInstallment);
}
if(!StringUtils.isBlank(msgPaySpendingContractInstallment)){
if (!StringUtils.isBlank(msgPaySpendingContractInstallment)) {
throw new JeroBootException(msgPaySpendingContractInstallment.toString());
}
// 负责人名称
SysUser principalName = sysUserService.getById(paySpendingContract.getPrincipalId());
if(Objects.isNull(principalName)){
throw new JeroBootException("负责人名称为空!");
if(!Objects.equals(paySpendingContractStatus.getStatus(),PayIncomeContractCommon.STATUS5)
&& !Objects.equals(paySpendingContractStatus.getStatus(),PayIncomeContractCommon.STATUS6)) {
// 负责人名称
SysUser principalName = sysUserService.getById(paySpendingContract.getPrincipalId());
if (Objects.isNull(principalName)) {
throw new JeroBootException("负责人名称为空!");
}
paySpendingContract.setStatus(PayIncomeContractCommon.STATUS2);
paySpendingContract.setPrincipalId(principalName.getId());
paySpendingContract.setPrincipalName(principalName.getRealname());
paySpendingContractService.updateById(paySpendingContract);
}
paySpendingContract.setStatus(PayIncomeContractCommon.STATUS2);
paySpendingContract.setPrincipalId(principalName.getId());
paySpendingContract.setPrincipalName(principalName.getRealname());
paySpendingContractService.updateById(paySpendingContract);
// 获取项目负责人,发送消息
List<SysUser> list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.CWRY));
if(!CollectionUtils.isEmpty(list)){
list.forEach(p->{
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(p.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
if(!StringUtils.isEmpty(p.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone()));
}
HashMap<String,String> map = new HashMap<>();
map.put("contractNum",paySpendingContract.getContractNum());
map.put("contractName",paySpendingContract.getContractName());
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(p.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG2.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE2");
JSONObject json = new JSONObject();
json.put("revenueId",paySpendingContract.getId());
json.put("contractNum",paySpendingContract.getContractNum());
json.put("contractType",PayIncomeContractCommon.CONTRACT_TYPE);
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
});
}
}
@Override
@@ -695,6 +694,53 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
}
@Override
public void cancellation(PaySpendingContractAudit paySpendingContractAudit) {
PaySpendingContract paySpendingContractStatus = paySpendingContractService.getById(paySpendingContractAudit.getContractId());
if(Objects.isNull(paySpendingContractStatus)){
throw new JeroBootException("支出合同不存在!");
}
if(Objects.equals(paySpendingContractStatus.getStatus(),PayIncomeContractCommon.STATUS6)){
throw new JeroBootException("收入合同已作废!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaUpdateWrapper<PaySpendingContract> update = new LambdaUpdateWrapper<>();
update.set(PaySpendingContract::getUpdateBy,sysUser.getUsername());
update.set(PaySpendingContract::getUpdateTime,new Date());
update.eq(PaySpendingContract::getId,paySpendingContractAudit.getContractId());
update.set(PaySpendingContract::getStatus, PayIncomeContractCommon.STATUS6);
paySpendingContractService.update(update);
// 发生送消息给 合同负责人
// 合同负责人
SysUser sysUserData = sysUserService.getById(paySpendingContractStatus.getPrincipalId());
if(!Objects.isNull(sysUserData)){
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(sysUserData.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserData.getEmail()));
}
if(!StringUtils.isEmpty(sysUserData.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserData.getPhone()));
}
HashMap<String,String> map = new HashMap<>();
map.put("contractNum",paySpendingContractStatus.getContractNum());
map.put("contractName",paySpendingContractStatus.getContractName());
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserData.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG16.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE16");
JSONObject json = new JSONObject();
json.put("revenueId",paySpendingContractStatus.getId());
json.put("contractNum",paySpendingContractStatus.getContractNum());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
}
@Override
@Transactional
public void updateArchive(PaySpendingContractAudit paySpendingContractAudit) {
@@ -706,7 +752,9 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
if(!Objects.equals(paySpendingContractStatus.getStatus(),PayIncomeContractCommon.STATUS3)){
throw new JeroBootException("支出合同不可归档!");
}
if(Objects.isNull(paySpendingContractAudit.getContractStatus()) || !Objects.equals(paySpendingContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS5)){
if(Objects.isNull(paySpendingContractAudit.getContractStatus())
|| !Objects.equals(paySpendingContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS5)
|| !Objects.equals(paySpendingContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS6)){
throw new JeroBootException("支出合同状态不正确!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();