普通项目通过合同编号反向关联
This commit is contained in:
+5
-5
@@ -2,23 +2,23 @@ package com.jero.contract.common;
|
||||
|
||||
public class PayIncomeContractCommon {
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档)
|
||||
*/
|
||||
public final static Integer STATUS1 = 1;
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档)
|
||||
*/
|
||||
public final static Integer STATUS2 = 2;
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档)
|
||||
*/
|
||||
public final static Integer STATUS3 = 3;
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档)
|
||||
*/
|
||||
public final static Integer STATUS4 = 4;
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档)
|
||||
*/
|
||||
public final static Integer STATUS5 = 5;
|
||||
/**
|
||||
|
||||
+2
-2
@@ -174,8 +174,8 @@ public class PayIncomeContract implements Serializable {
|
||||
@ApiModelProperty(value = "打包年份")
|
||||
private java.lang.String packYear;
|
||||
/**合同状态(1:草稿,2:已通过,3:未通过,4:已归档)*/
|
||||
@Excel(name = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)", width = 15)
|
||||
@ApiModelProperty(value = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)")
|
||||
@Excel(name = "合同状态(1:草稿,2:已通过,3:未通过,4:已存档)", width = 15)
|
||||
@ApiModelProperty(value = "合同状态(1:草稿,2:已通过,3:未通过,4:已存档)")
|
||||
@Dict(dicCode = "revenue_contract_status")
|
||||
private java.lang.Integer status;
|
||||
/**创建人*/
|
||||
|
||||
+20
@@ -131,4 +131,24 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
|
||||
* @Exception
|
||||
*/
|
||||
PayIncomeContract checkContractNum(String contractNum);
|
||||
/**
|
||||
* @Description 校验项目是否已关联合同
|
||||
* @Author lqt
|
||||
* @Date 2021/9/9
|
||||
* @Param projectId 项目id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
PayIncomeContract checkPayIncomeContractAssociated(String projectId);
|
||||
/**
|
||||
* @Description 校验合同编号是否存在,存在即关联合同
|
||||
* @Author lqt
|
||||
* @Date 2021/9/9
|
||||
* @Param contractNum 合同编号
|
||||
* @Param companyId 企业id
|
||||
* @Param projectId 项目id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
PayIncomeContract setPayIncomeContractAssociated(String contractNum,String companyId,String projectId);
|
||||
}
|
||||
|
||||
+52
@@ -23,6 +23,7 @@ import com.jero.contract.vo.PayIncomeContractOutput;
|
||||
import com.jero.contract.vo.ProjectOutput;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
@@ -621,4 +622,55 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PayIncomeContract checkPayIncomeContractAssociated(String projectId) {
|
||||
// 检查项目是否关联了合同
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectId,projectId);
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.getById(listPayIncomeContractAssociated.get(0).getContractId());
|
||||
// 关联合同不存在,去掉关联
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
payIncomeContractAssociatedService.removeById(listPayIncomeContractAssociated.get(0).getId());
|
||||
return null;
|
||||
}else{
|
||||
return payIncomeContract;
|
||||
}
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public PayIncomeContract setPayIncomeContractAssociated(String contractNum, String companyId, String projectId) {
|
||||
if(StringUtils.isAllBlank(contractNum,companyId,projectId)){
|
||||
throw new JeroBootException("合同编号、企业di、项目id不能为空!");
|
||||
}
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.checkContractNum(contractNum);
|
||||
// 能关联上合同
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
if(Objects.equals(payIncomeContract.getStatus(),PayIncomeContractCommon.STATUS2)){
|
||||
throw new JeroBootException("关联合同状态为待审核不可以进行关联!");
|
||||
}
|
||||
if(Objects.equals(payIncomeContract.getStatus(),PayIncomeContractCommon.STATUS3)){
|
||||
throw new JeroBootException("关联合同状态为已通过不可以进行关联!");
|
||||
}
|
||||
if(Objects.equals(payIncomeContract.getStatus(),PayIncomeContractCommon.STATUS5)){
|
||||
throw new JeroBootException("关联合同状态为已存档不可以进行关联!");
|
||||
}
|
||||
|
||||
if(!Objects.equals(payIncomeContract.getSignedCompanyId(),companyId)){
|
||||
throw new JeroBootException("关联合同中签订单位与项目中来款企业不匹配!");
|
||||
}
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||
payIncomeContractAssociated.setProjectId(projectId);
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
return payIncomeContract;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user