企业管理变更

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
@@ -27,7 +27,6 @@ import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.pack.service.IPayPackCompanyService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
@@ -143,25 +142,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
setPayIncomeContract(payIncomeContract);
payIncomeContract.setStatus(PayIncomeContractCommon.STATUS1);
payIncomeContractService.save(payIncomeContract);
StringBuilder msgPayIncomeContractInstallment = new StringBuilder();
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
List<PayIncomeContractInstallment> finalListPayIncomeContractInstallment = listPayIncomeContractInstallment;
listPayIncomeContractInstallment.forEach(p->{
p.setContractId(payIncomeContract.getId());
StringBuilder sb = ValidUtil.validateAll(p);
if(!StringUtils.isBlank(sb)){
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
}
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) == -1){
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
}
});
payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment);
}
if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){
throw new JeroBootException(msgPayIncomeContractInstallment.toString());
}
// 校验金额
checkPayIncomeContractInstallment(listPayIncomeContractInstallment,payIncomeContract);
// 选择了打包,创建打包企业
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
LambdaQueryWrapper<PayPackCompany> queryPayPackCompany = new LambdaQueryWrapper<>();
@@ -187,6 +171,28 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
return payIncomeContractMapper.getAssociated(contractId);
}
private void checkPayIncomeContractInstallment(List<PayIncomeContractInstallment> listPayIncomeContractInstallment,PayIncomeContract payIncomeContract){
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
StringBuilder msgPayIncomeContractInstallment = new StringBuilder();
List<PayIncomeContractInstallment> finalListPayIncomeContractInstallment = listPayIncomeContractInstallment;
listPayIncomeContractInstallment.forEach(p->{
p.setContractId(payIncomeContract.getId());
StringBuilder sb = ValidUtil.validateAll(p);
if(!StringUtils.isBlank(sb)){
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
}
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) == -1){
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
}
});
if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){
throw new JeroBootException(msgPayIncomeContractInstallment.toString());
}
payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment);
}
}
@Override
@Transactional
public void editPayIncomeContractInput(PayIncomeContractInput input) {
@@ -212,6 +218,15 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(Objects.isNull(payIncomeContractStatus)){
throw new JeroBootException("收入合同不存在!");
}
// 项目已打包
if(payIncomeContractStatus.getPack() == PayIncomeContractCommon.PACK1){
if(payIncomeContract.getPack() != PayIncomeContractCommon.PACK1){
throw new JeroBootException("打包状态不可更改!");
}
if(payIncomeContract.getPackYear() != payIncomeContractStatus.getPackYear()){
throw new JeroBootException("打包年份不可更改!");
}
}
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS1)
&& !Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS4)){
throw new JeroBootException("收入合同不可编辑!");
@@ -242,7 +257,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
log.info("收入合同-添加异常",e);
throw new JeroBootException("合同名称已存在!");
}
StringBuilder msgPayIncomeContractInstallment = new StringBuilder();
// 删除历史
LambdaQueryWrapper<PayIncomeContractInstallment> queryPayIncomeContractInstallment = new LambdaQueryWrapper<>();
queryPayIncomeContractInstallment.eq(PayIncomeContractInstallment::getContractId,payIncomeContract.getId());
@@ -251,25 +265,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
List<String> list = listPayIncomeContractInstallmentOld.stream().map(PayIncomeContractInstallment::getId).collect(Collectors.toList());
payIncomeContractInstallmentService.removeByIds(list);
}
// 新增
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
List<PayIncomeContractInstallment> finalListPayIncomeContractInstallment = listPayIncomeContractInstallment;
listPayIncomeContractInstallment.forEach(p->{
p.setContractId(payIncomeContract.getId());
StringBuilder sb = ValidUtil.validateAll(p);
if(!StringUtils.isBlank(sb)){
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
}
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) == -1){
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
}
});
payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment);
}
if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){
throw new JeroBootException(msgPayIncomeContractInstallment.toString());
}
// 校验金额
checkPayIncomeContractInstallment(listPayIncomeContractInstallment,payIncomeContract);
setPayIncomeContract(payIncomeContract);
payIncomeContractService.updateById(payIncomeContract);
}
@@ -383,8 +380,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
projectOutput.setReceivableAmount(listPayWorkingGroupSubItem.get(0).getReceivableAmount());
break;
case PayIncomeContractCommon.PROJECT_TYPE3:
// 打包合同不可选择会议项目
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
throw new JeroBootException("打包合同不可关联会议项目!");
}
// todo 会议项目
break;