add 【修改合同编号】

This commit is contained in:
lijiarao
2023-05-18 09:16:48 +08:00
parent da6f1f4380
commit b50bb0251f
3 changed files with 64 additions and 0 deletions
@@ -261,6 +261,16 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
return Result.OK("编辑成功!");
}
@AutoLog(value = "收入合同-编辑合同编号",operateType = 3)
@RequiresPermissions("revenueContract:editContractNum")
@ApiOperation(value="收入合同-编辑合同编号", notes="收入合同-编辑合同编号")
@PostMapping(value = "/editContractNum")
public Result<?> editContractNum(@RequestBody PayIncomeContract contract) {
payIncomeContractService.editContractNum(contract);
return Result.OK("编辑成功!");
}
/**
* 关联项目列表
*
@@ -69,6 +69,13 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
* @Exception
*/
void editPayIncomeContractInput(PayIncomeContractInput input);
/**
* 编辑合同编号
* @param contract
*/
void editContractNum(PayIncomeContract contract);
/**
* @Description 收入合同-关联
* @Author lqt
@@ -366,6 +366,53 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
}
}
@Override
public void editContractNum(PayIncomeContract payIncomeContract) {
String id = payIncomeContract.getId();
String newContractNum = payIncomeContract.getContractNum();
if(StringUtils.isBlank(id)){
throw new JeroBootException("收入合同id不能为空!");
}
PayIncomeContract payIncomeContractStatus = payIncomeContractService.getById(id);
if(Objects.isNull(payIncomeContractStatus)){
throw new JeroBootException("收入合同不存在!");
}
String oldContractNum = payIncomeContractStatus.getContractNum();
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!sysUser.getRoleCode().contains(RoleCommon.CWRY) && !Objects.equals(sysUser.getId(),payIncomeContractStatus.getPrincipalId())){
throw new JeroBootException("数据权限不足!");
}
LambdaQueryWrapper<PayIncomeContract> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContract::getContractNum, newContractNum);
query.ne(PayIncomeContract::getId,id);
int count = payIncomeContractService.count(query);
if (count > 0){
throw new JeroBootException("合同编号已存在!");
}
//更新合同编号
LambdaUpdateWrapper<PayIncomeContract> update = new LambdaUpdateWrapper<>();
update.set(PayIncomeContract::getContractNum, newContractNum);
update.eq(PayIncomeContract::getId,id);
payIncomeContractService.update(update);
//关联项目更新合同编号
// 普通项目
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
updatePayCommonProject.set(PayCommonProject::getContractNum,newContractNum);
updatePayCommonProject.eq(PayCommonProject::getContractNum,oldContractNum);
payCommonProjectService.update(updatePayCommonProject);
// 工作组项目
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getContractNum,newContractNum);
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getContractNum,oldContractNum);
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
//会员项目
LambdaUpdateWrapper<PayMemberProjectSubitem> updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>();
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getContractNo,newContractNum);
updatePayMemberProjectSubitem.eq(PayMemberProjectSubitem::getContractNo,oldContractNum);
memberProjectSubitemService.update(updatePayMemberProjectSubitem);
}
@Override
@Transactional
public void associated(List<PayIncomeContractAssociated> listPayIncomeContractAssociated) {