收入合同关联会员项目
This commit is contained in:
+2
-2
@@ -238,8 +238,8 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
|||||||
@ApiOperation(value="收入合同-关联", notes="收入合同-关联")
|
@ApiOperation(value="收入合同-关联", notes="收入合同-关联")
|
||||||
@PostMapping(value = "/associated")
|
@PostMapping(value = "/associated")
|
||||||
public Result<?> associated(@RequestBody List<PayIncomeContractAssociated> listPayIncomeContractAssociated) {
|
public Result<?> associated(@RequestBody List<PayIncomeContractAssociated> listPayIncomeContractAssociated) {
|
||||||
List<ProjectOutput> list = payIncomeContractService.associated(listPayIncomeContractAssociated);
|
payIncomeContractService.associated(listPayIncomeContractAssociated);
|
||||||
return Result.OK("关联成功!",list);
|
return Result.OK("关联成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+1
-1
@@ -65,7 +65,7 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
|
|||||||
* @Return
|
* @Return
|
||||||
* @Exception
|
* @Exception
|
||||||
*/
|
*/
|
||||||
List<ProjectOutput> associated(List<PayIncomeContractAssociated> listPayIncomeContractAssociated);
|
void associated(List<PayIncomeContractAssociated> listPayIncomeContractAssociated);
|
||||||
/**
|
/**
|
||||||
* @Description 取消关联
|
* @Description 取消关联
|
||||||
* @Author lqt
|
* @Author lqt
|
||||||
|
|||||||
+142
-51
@@ -21,9 +21,14 @@ import com.jero.contract.service.IPayIncomeContractService;
|
|||||||
import com.jero.contract.vo.PayIncomeContractInput;
|
import com.jero.contract.vo.PayIncomeContractInput;
|
||||||
import com.jero.contract.vo.ProjectOutput;
|
import com.jero.contract.vo.ProjectOutput;
|
||||||
import com.jero.meeting.service.IPayMeetingService;
|
import com.jero.meeting.service.IPayMeetingService;
|
||||||
|
import com.jero.member.entity.PayMemberProject;
|
||||||
|
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||||
|
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||||
|
import com.jero.member.service.IPayMemberProjectService;
|
||||||
|
import com.jero.member.service.IPayMemberProjectSubitemService;
|
||||||
|
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
import com.jero.pack.entity.PayPackCompany;
|
|
||||||
import com.jero.pack.entity.PayPackCompanyProject;
|
import com.jero.pack.entity.PayPackCompanyProject;
|
||||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||||
import com.jero.pack.service.IPayPackCompanyService;
|
import com.jero.pack.service.IPayPackCompanyService;
|
||||||
@@ -89,6 +94,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||||
@Resource
|
@Resource
|
||||||
private IPayMeetingService payMeetingService;
|
private IPayMeetingService payMeetingService;
|
||||||
|
@Resource
|
||||||
|
private IPayMemberProjectService memberProjectService;
|
||||||
|
@Resource
|
||||||
|
private IPayMemberProjectSubitemService memberProjectSubitemService;
|
||||||
|
@Resource
|
||||||
|
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) {
|
public IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) {
|
||||||
@@ -106,7 +117,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
throw new JeroBootException("收入合同信息不能为空!");
|
throw new JeroBootException("收入合同信息不能为空!");
|
||||||
}
|
}
|
||||||
if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
||||||
&& payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) == -1){
|
&& payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
||||||
throw new JeroBootException("应收金额大于已收金额!");
|
throw new JeroBootException("应收金额大于已收金额!");
|
||||||
}
|
}
|
||||||
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
||||||
@@ -174,16 +185,15 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
private void checkPayIncomeContractInstallment(List<PayIncomeContractInstallment> listPayIncomeContractInstallment,PayIncomeContract payIncomeContract){
|
private void checkPayIncomeContractInstallment(List<PayIncomeContractInstallment> listPayIncomeContractInstallment,PayIncomeContract payIncomeContract){
|
||||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
|
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
|
||||||
StringBuilder msgPayIncomeContractInstallment = new StringBuilder();
|
StringBuilder msgPayIncomeContractInstallment = new StringBuilder();
|
||||||
List<PayIncomeContractInstallment> finalListPayIncomeContractInstallment = listPayIncomeContractInstallment;
|
|
||||||
listPayIncomeContractInstallment.forEach(p->{
|
listPayIncomeContractInstallment.forEach(p->{
|
||||||
p.setContractId(payIncomeContract.getId());
|
p.setContractId(payIncomeContract.getId());
|
||||||
StringBuilder sb = ValidUtil.validateAll(p);
|
StringBuilder sb = ValidUtil.validateAll(p);
|
||||||
if(!StringUtils.isBlank(sb)){
|
if(!StringUtils.isBlank(sb)){
|
||||||
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
|
msgPayIncomeContractInstallment.append("第").append(listPayIncomeContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
|
||||||
}
|
}
|
||||||
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
|
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
|
||||||
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) == -1){
|
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) < 0){
|
||||||
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
|
msgPayIncomeContractInstallment.append("第").append(listPayIncomeContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){
|
if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){
|
||||||
@@ -204,7 +214,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
throw new JeroBootException("收入合同信息不能为空!");
|
throw new JeroBootException("收入合同信息不能为空!");
|
||||||
}
|
}
|
||||||
if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
||||||
&& payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) == -1){
|
&& payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
||||||
throw new JeroBootException("应收金额大于已收金额!");
|
throw new JeroBootException("应收金额大于已收金额!");
|
||||||
}
|
}
|
||||||
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
||||||
@@ -219,11 +229,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
throw new JeroBootException("收入合同不存在!");
|
throw new JeroBootException("收入合同不存在!");
|
||||||
}
|
}
|
||||||
// 项目已打包
|
// 项目已打包
|
||||||
if(payIncomeContractStatus.getPack() == PayIncomeContractCommon.PACK1){
|
if(Objects.equals(payIncomeContractStatus.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
if(payIncomeContract.getPack() != PayIncomeContractCommon.PACK1){
|
if(!Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
throw new JeroBootException("打包状态不可更改!");
|
throw new JeroBootException("打包状态不可更改!");
|
||||||
}
|
}
|
||||||
if(payIncomeContract.getPackYear() != payIncomeContractStatus.getPackYear()){
|
if(!Objects.equals(payIncomeContract.getPackYear(),payIncomeContractStatus.getPackYear())){
|
||||||
throw new JeroBootException("打包年份不可更改!");
|
throw new JeroBootException("打包年份不可更改!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -273,12 +283,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public List<ProjectOutput> associated(List<PayIncomeContractAssociated> listPayIncomeContractAssociated) {
|
public void associated(List<PayIncomeContractAssociated> listPayIncomeContractAssociated) {
|
||||||
if(CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
if(CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||||
throw new JeroBootException("关联项目不能为空!");
|
throw new JeroBootException("关联项目不能为空!");
|
||||||
}
|
}
|
||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
List<ProjectOutput> listProjectOutput = new ArrayList<>();
|
|
||||||
listPayIncomeContractAssociated.forEach(p->{
|
listPayIncomeContractAssociated.forEach(p->{
|
||||||
ProjectOutput projectOutput = new ProjectOutput();
|
ProjectOutput projectOutput = new ProjectOutput();
|
||||||
StringBuilder msgPayIncomeContractAssociated = ValidUtil.validateAll(p);
|
StringBuilder msgPayIncomeContractAssociated = ValidUtil.validateAll(p);
|
||||||
@@ -322,14 +331,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayIncomeContractCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayIncomeContractCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
projectOutput.setProjectId(payCommonProject.getId());
|
// 更新项目id
|
||||||
projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE1);
|
p.setProjectId(payCommonProject.getId());
|
||||||
projectOutput.setChargeProject(payCommonProject.getChargeProject());
|
|
||||||
projectOutput.setChargeUse(payCommonProject.getChargeUse());
|
|
||||||
projectOutput.setChargeCompanyName(payCommonProject.getChargeCompanyTemporaryName());
|
|
||||||
projectOutput.setContactsName(payCommonProject.getChargeCompanyTemporaryName());
|
|
||||||
projectOutput.setPaidAmount(payCommonProject.getPaidAmount());
|
|
||||||
projectOutput.setReceivableAmount(payCommonProject.getReceivableAmount());
|
|
||||||
break;
|
break;
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||||
// 工作组项目
|
// 工作组项目
|
||||||
@@ -339,7 +342,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
}
|
}
|
||||||
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
|
||||||
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroup.getId());
|
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroup.getId());
|
||||||
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,payIncomeContract.getSignedCompanyId());
|
|
||||||
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
|
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
|
||||||
if(CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
|
if(CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
|
||||||
throw new JeroBootException("工作组成员单位不存在!");
|
throw new JeroBootException("工作组成员单位不存在!");
|
||||||
@@ -370,14 +372,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
}
|
}
|
||||||
// 更新项目id
|
// 更新项目id
|
||||||
p.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
p.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
||||||
projectOutput.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
|
||||||
projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE2);
|
|
||||||
projectOutput.setChargeProject(payWorkingGroup.getWorkingGroupProject());
|
|
||||||
projectOutput.setChargeProject(listPayWorkingGroupSubItem.get(0).getChargeProject());
|
|
||||||
projectOutput.setChargeCompanyName(listPayWorkingGroupSubItem.get(0).getChargeCompanyTemporaryName());
|
|
||||||
projectOutput.setContactsName(listPayWorkingGroupSubItem.get(0).getChargeCompanyTemporaryName());
|
|
||||||
projectOutput.setPaidAmount(listPayWorkingGroupSubItem.get(0).getPaidAmount());
|
|
||||||
projectOutput.setReceivableAmount(listPayWorkingGroupSubItem.get(0).getReceivableAmount());
|
|
||||||
break;
|
break;
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||||
// 打包合同不可选择会议项目
|
// 打包合同不可选择会议项目
|
||||||
@@ -385,34 +379,83 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
throw new JeroBootException("打包合同不可关联会议项目!");
|
throw new JeroBootException("打包合同不可关联会议项目!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 更新项目id
|
// 更新项目id
|
||||||
// p.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
// p.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
||||||
// projectOutput.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
|
||||||
// projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE2);
|
|
||||||
// projectOutput.setChargeProject(payWorkingGroup.getWorkingGroupProject());
|
|
||||||
// projectOutput.setChargeProject(listPayWorkingGroupSubItem.get(0).getChargeProject());
|
|
||||||
// projectOutput.setChargeCompanyName(listPayWorkingGroupSubItem.get(0).getChargeCompanyTemporaryName());
|
|
||||||
// projectOutput.setContactsName(listPayWorkingGroupSubItem.get(0).getChargeCompanyTemporaryName());
|
|
||||||
// projectOutput.setPaidAmount(listPayWorkingGroupSubItem.get(0).getPaidAmount());
|
|
||||||
// projectOutput.setReceivableAmount(listPayWorkingGroupSubItem.get(0).getReceivableAmount());
|
|
||||||
// todo 会议项目
|
// todo 会议项目
|
||||||
break;
|
break;
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||||
// todo 会员项目
|
// 会员项目
|
||||||
|
PayMemberProject payMemberProject = memberProjectService.getById(p.getProjectId());
|
||||||
|
if(Objects.isNull(payMemberProject)){
|
||||||
|
throw new JeroBootException("会员项目不存在!");
|
||||||
|
}
|
||||||
|
LambdaQueryWrapper<PayMemberProjectSubitem> queryPayMemberProjectSubitem = new LambdaQueryWrapper<>();
|
||||||
|
queryPayMemberProjectSubitem.eq(PayMemberProjectSubitem::getProjectId,payMemberProject.getId());
|
||||||
|
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(queryPayMemberProjectSubitem);
|
||||||
|
if(CollectionUtils.isEmpty(listPayMemberProjectSubitem)){
|
||||||
|
throw new JeroBootException("会员项目成员单位不存在!");
|
||||||
|
}
|
||||||
|
// 验证企业是否正确
|
||||||
|
if(!Objects.equals(listPayMemberProjectSubitem.get(0).getCompanyId(),payIncomeContract.getSignedCompanyId())){
|
||||||
|
throw new JeroBootException("企业不匹配!");
|
||||||
|
}
|
||||||
|
// 验证项目是否已被关联
|
||||||
|
getIncomeContractAssociated(p.getContractId(),listPayMemberProjectSubitem.get(0).getId());
|
||||||
|
// 合同选择打包,运行年份不是打包企业,添加打包企业
|
||||||
|
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
|
// 打包,将关联项目设置成打包
|
||||||
|
LambdaUpdateWrapper<PayMemberProjectSubitem> updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>();
|
||||||
|
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getUpdateBy,sysUser.getUsername());
|
||||||
|
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getUpdateTime,new Date());
|
||||||
|
if(!StringUtils.isBlank(listPayMemberProjectSubitem.get(0).getContractNo())){
|
||||||
|
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getContractNo,payIncomeContract.getContractNum());
|
||||||
|
}
|
||||||
|
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getPack,PayIncomeContractCommon.PACK1);
|
||||||
|
updatePayMemberProjectSubitem.eq(PayMemberProjectSubitem::getId,listPayMemberProjectSubitem.get(0).getId());
|
||||||
|
memberProjectSubitemService.update(updatePayMemberProjectSubitem);
|
||||||
|
// 添加打包企业
|
||||||
|
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
||||||
|
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
|
payPackCompanyProjectService.setPack(listPayMemberProjectSubitem.get(0).getCompanyId(),listPayMemberProjectSubitem.get(0).getCompanyContactId(),payIncomeContract.getPackYear(),listPayMemberProjectSubitem.get(0).getId(),PayIncomeContractCommon.PROJECT_TYPE4,payIncomeContract.getPack());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
p.setProjectId(listPayMemberProjectSubitem.get(0).getId());
|
||||||
break;
|
break;
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||||
// todo 标协会员
|
// 标协会员
|
||||||
|
TbMemberProjectSubitem tbMemberProjectSubitem = tbMemberProjectSubitemService.getById(p.getProjectId());
|
||||||
|
if(Objects.isNull(tbMemberProjectSubitem)){
|
||||||
|
throw new JeroBootException("标协会员项目不存在!");
|
||||||
|
}
|
||||||
|
// 验证企业是否正确
|
||||||
|
if(!Objects.equals(tbMemberProjectSubitem.getCompanyId(),payIncomeContract.getSignedCompanyId())){
|
||||||
|
throw new JeroBootException("企业不匹配!");
|
||||||
|
}
|
||||||
|
// 验证项目是否已被关联
|
||||||
|
getIncomeContractAssociated(p.getContractId(),tbMemberProjectSubitem.getId());
|
||||||
|
// 合同选择打包,运行年份不是打包企业,添加打包企业
|
||||||
|
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
|
// 打包,将关联项目设置成打包
|
||||||
|
LambdaUpdateWrapper<TbMemberProjectSubitem> updateTbMemberProjectSubitem = new LambdaUpdateWrapper<>();
|
||||||
|
updateTbMemberProjectSubitem.set(TbMemberProjectSubitem::getUpdateBy,sysUser.getUsername());
|
||||||
|
updateTbMemberProjectSubitem.set(TbMemberProjectSubitem::getUpdateTime,new Date());
|
||||||
|
updateTbMemberProjectSubitem.set(TbMemberProjectSubitem::getPack,PayIncomeContractCommon.PACK1);
|
||||||
|
updateTbMemberProjectSubitem.eq(TbMemberProjectSubitem::getId,tbMemberProjectSubitem.getId());
|
||||||
|
tbMemberProjectSubitemService.update(updateTbMemberProjectSubitem);
|
||||||
|
// 添加打包企业
|
||||||
|
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
||||||
|
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
|
payPackCompanyProjectService.setPack(tbMemberProjectSubitem.getCompanyId(),tbMemberProjectSubitem.getLiaisonManId(),payIncomeContract.getPackYear(),tbMemberProjectSubitem.getId(),PayIncomeContractCommon.PROJECT_TYPE5,payIncomeContract.getPack());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
p.setProjectId(tbMemberProjectSubitem.getId());
|
||||||
break;
|
break;
|
||||||
default:break;
|
default:break;
|
||||||
}
|
}
|
||||||
|
|
||||||
payIncomeContractAssociatedService.save(p);
|
payIncomeContractAssociatedService.save(p);
|
||||||
projectOutput.setContractId(p.getContractId());
|
projectOutput.setContractId(p.getContractId());
|
||||||
projectOutput.setId(p.getId());
|
projectOutput.setId(p.getId());
|
||||||
listProjectOutput.add(projectOutput);
|
|
||||||
});
|
});
|
||||||
return listProjectOutput;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @Description 验证项目是否被合同关联
|
* @Description 验证项目是否被合同关联
|
||||||
@@ -443,12 +486,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
throw new JeroBootException("关联id不能为空!");
|
throw new JeroBootException("关联id不能为空!");
|
||||||
}
|
}
|
||||||
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getById(input.getId());
|
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getById(input.getId());
|
||||||
if(!Objects.equals(input.getContractId(),payIncomeContractAssociated.getContractId())){
|
|
||||||
throw new JeroBootException("关联id不能为空!");
|
|
||||||
}
|
|
||||||
if(Objects.isNull(payIncomeContractAssociated)){
|
if(Objects.isNull(payIncomeContractAssociated)){
|
||||||
throw new JeroBootException("关联记录不存在!");
|
throw new JeroBootException("关联记录不存在!");
|
||||||
}
|
}
|
||||||
|
if(!Objects.equals(input.getContractId(),payIncomeContractAssociated.getContractId())){
|
||||||
|
throw new JeroBootException("关联id不能为空!");
|
||||||
|
}
|
||||||
PayIncomeContract payIncomeContract = payIncomeContractService.getById(payIncomeContractAssociated.getContractId());
|
PayIncomeContract payIncomeContract = payIncomeContractService.getById(payIncomeContractAssociated.getContractId());
|
||||||
if(Objects.isNull(payIncomeContract)){
|
if(Objects.isNull(payIncomeContract)){
|
||||||
throw new JeroBootException("合同不存在!");
|
throw new JeroBootException("合同不存在!");
|
||||||
@@ -514,10 +557,58 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
// todo 会议项目
|
// todo 会议项目
|
||||||
break;
|
break;
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||||
// todo 会员项目
|
// 会员项目
|
||||||
|
PayMemberProjectSubitem payMemberProjectSubitem = memberProjectSubitemService.getById(payIncomeContractAssociated.getProjectId());
|
||||||
|
if(Objects.isNull(payMemberProjectSubitem)){
|
||||||
|
throw new JeroBootException("会员项目不存在!");
|
||||||
|
}
|
||||||
|
// 更新项目id
|
||||||
|
payIncomeContractAssociated.setProjectId(payMemberProjectSubitem.getId());
|
||||||
|
// 合同为打包
|
||||||
|
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
|
// 查询打包项目来源是否为收入合同
|
||||||
|
LambdaQueryWrapper<PayPackCompanyProject> queryPayPackCompanyProject = new LambdaQueryWrapper<>();
|
||||||
|
queryPayPackCompanyProject.eq(PayPackCompanyProject::getProjectId,payMemberProjectSubitem.getId());
|
||||||
|
queryPayPackCompanyProject.eq(PayPackCompanyProject::getCome,PayIncomeContractCommon.COME1);
|
||||||
|
List<PayPackCompanyProject> listPayPackCompanyProject = payPackCompanyProjectService.list(queryPayPackCompanyProject);
|
||||||
|
// 存在数据,取消打包,变更项目打包状态, 否则不进行操作
|
||||||
|
if(!CollectionUtils.isEmpty(listPayPackCompanyProject)){
|
||||||
|
payPackCompanyProjectService.removeById(listPayPackCompanyProject.get(0).getId());
|
||||||
|
LambdaUpdateWrapper<PayMemberProjectSubitem> updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>();
|
||||||
|
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getUpdateBy,sysUser.getUsername());
|
||||||
|
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getUpdateTime,new Date());
|
||||||
|
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getPack,PayIncomeContractCommon.PACK0);
|
||||||
|
updatePayMemberProjectSubitem.eq(PayMemberProjectSubitem::getId,payMemberProjectSubitem.getId());
|
||||||
|
memberProjectSubitemService.update(updatePayMemberProjectSubitem);
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||||
// todo 标协会员
|
// 标协会员
|
||||||
|
TbMemberProjectSubitem tbMemberProjectSubitem = tbMemberProjectSubitemService.getById(payIncomeContractAssociated.getProjectId());
|
||||||
|
if(Objects.isNull(tbMemberProjectSubitem)){
|
||||||
|
throw new JeroBootException("标协会员项目不存在!");
|
||||||
|
}
|
||||||
|
// 更新项目id
|
||||||
|
payIncomeContractAssociated.setProjectId(tbMemberProjectSubitem.getId());
|
||||||
|
// 合同为打包
|
||||||
|
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
|
// 查询打包项目来源是否为收入合同
|
||||||
|
LambdaQueryWrapper<PayPackCompanyProject> queryPayPackCompanyProject = new LambdaQueryWrapper<>();
|
||||||
|
queryPayPackCompanyProject.eq(PayPackCompanyProject::getProjectId,tbMemberProjectSubitem.getId());
|
||||||
|
queryPayPackCompanyProject.eq(PayPackCompanyProject::getCome,PayIncomeContractCommon.COME1);
|
||||||
|
List<PayPackCompanyProject> listPayPackCompanyProject = payPackCompanyProjectService.list(queryPayPackCompanyProject);
|
||||||
|
// 存在数据,取消打包,变更项目打包状态, 否则不进行操作
|
||||||
|
if(!CollectionUtils.isEmpty(listPayPackCompanyProject)){
|
||||||
|
payPackCompanyProjectService.removeById(listPayPackCompanyProject.get(0).getId());
|
||||||
|
LambdaUpdateWrapper<TbMemberProjectSubitem> updateTbMemberProjectSubitem = new LambdaUpdateWrapper<>();
|
||||||
|
updateTbMemberProjectSubitem.set(TbMemberProjectSubitem::getUpdateBy,sysUser.getUsername());
|
||||||
|
updateTbMemberProjectSubitem.set(TbMemberProjectSubitem::getUpdateTime,new Date());
|
||||||
|
updateTbMemberProjectSubitem.set(TbMemberProjectSubitem::getPack,PayIncomeContractCommon.PACK0);
|
||||||
|
updateTbMemberProjectSubitem.eq(TbMemberProjectSubitem::getId,tbMemberProjectSubitem.getId());
|
||||||
|
tbMemberProjectSubitemService.update(updateTbMemberProjectSubitem);
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:break;
|
default:break;
|
||||||
}
|
}
|
||||||
@@ -603,7 +694,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
}
|
}
|
||||||
|
|
||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
LambdaUpdateWrapper<PayIncomeContract> update = new LambdaUpdateWrapper();
|
LambdaUpdateWrapper<PayIncomeContract> update = new LambdaUpdateWrapper<>();
|
||||||
update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername());
|
update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername());
|
||||||
update.set(PayIncomeContract::getUpdateTime,new Date());
|
update.set(PayIncomeContract::getUpdateTime,new Date());
|
||||||
update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId());
|
update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId());
|
||||||
@@ -628,7 +719,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
throw new JeroBootException("收入合同状态不正确!");
|
throw new JeroBootException("收入合同状态不正确!");
|
||||||
}
|
}
|
||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
LambdaUpdateWrapper<PayIncomeContract> update = new LambdaUpdateWrapper();
|
LambdaUpdateWrapper<PayIncomeContract> update = new LambdaUpdateWrapper<>();
|
||||||
update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername());
|
update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername());
|
||||||
update.set(PayIncomeContract::getUpdateTime,new Date());
|
update.set(PayIncomeContract::getUpdateTime,new Date());
|
||||||
update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId());
|
update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId());
|
||||||
@@ -745,7 +836,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
public void insertPayIncomeContract(PayIncomeContract payIncomeContract,String projectId,Integer projectType) {
|
public void insertPayIncomeContract(PayIncomeContract payIncomeContract,String projectId,Integer projectType) {
|
||||||
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
||||||
if(!Objects.isNull(payIncomeContract)){
|
if(!Objects.isNull(payIncomeContract)){
|
||||||
if(payIncomeContract.getStatus() == PayIncomeContractCommon.STATUS1){
|
if(Objects.equals(payIncomeContract.getStatus(),PayIncomeContractCommon.STATUS1)){
|
||||||
throw new JeroBootException("合同状态为草稿状态不可关联!");
|
throw new JeroBootException("合同状态为草稿状态不可关联!");
|
||||||
}
|
}
|
||||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||||
|
|||||||
+58
-2
@@ -2,18 +2,26 @@ package com.jero.member.controller;
|
|||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
|
import com.jero.contract.entity.PayIncomeContract;
|
||||||
|
import com.jero.contract.service.IPayIncomeContractService;
|
||||||
import com.jero.member.entity.PayMemberProject;
|
import com.jero.member.entity.PayMemberProject;
|
||||||
|
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||||
import com.jero.member.service.IPayMemberProjectService;
|
import com.jero.member.service.IPayMemberProjectService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||||
|
import com.jero.project.common.PayProjectCommon;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import com.jero.common.system.base.controller.JeroController;
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
@@ -35,13 +43,17 @@ import com.jero.common.aspect.annotation.AutoLog;
|
|||||||
public class PayMemberProjectController extends JeroController<PayMemberProject, IPayMemberProjectService> {
|
public class PayMemberProjectController extends JeroController<PayMemberProject, IPayMemberProjectService> {
|
||||||
@Resource
|
@Resource
|
||||||
private IPayMemberProjectService memberProjectService;
|
private IPayMemberProjectService memberProjectService;
|
||||||
|
@Autowired
|
||||||
|
private IPayIncomeContractService payIncomeContractService;
|
||||||
|
@Resource
|
||||||
|
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
*/
|
*/
|
||||||
@AutoLog(value = "会员项目表-分页列表查询")
|
@AutoLog(value = "会员项目表-根据成员单位列表查询")
|
||||||
@ApiOperation(value="会员项目表-分页列表查询", notes="会员项目表-分页列表查询")
|
@ApiOperation(value="会员项目表-根据成员单位列表查询", notes="会员项目表-根据成员单位列表查询")
|
||||||
@GetMapping(value = "/page")
|
@GetMapping(value = "/page")
|
||||||
public Result<?> queryPageList(PayMemberProject payMemberProject,
|
public Result<?> queryPageList(PayMemberProject payMemberProject,
|
||||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
@@ -53,6 +65,50 @@ public class PayMemberProjectController extends JeroController<PayMemberProject,
|
|||||||
return Result.OK(memberProjectPage);
|
return Result.OK(memberProjectPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 收入合同列表分页查询
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/17
|
||||||
|
* @Param companyId 企业id
|
||||||
|
* @Param contractId 合同id
|
||||||
|
* @Param projectType 会员类型 4:会员项目,5:标协会员项目
|
||||||
|
* @Param memberName 会员名称
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "会员项目表-收入合同列表分页查询")
|
||||||
|
@ApiOperation(value="会员项目表-收入合同列表分页查询", notes="会员项目表-收入合同列表分页查询")
|
||||||
|
@GetMapping(value = "/queryListByCompany")
|
||||||
|
public Result<?> queryListByCompany(
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||||
|
@RequestParam(name = "companyId") String companyId,
|
||||||
|
@RequestParam(name = "contractId") String contractId,
|
||||||
|
@RequestParam(name = "projectType") String projectType,
|
||||||
|
@RequestParam(name = "memberName",required = false) String memberName) {
|
||||||
|
|
||||||
|
if(StringUtils.isBlank(companyId)){
|
||||||
|
return Result.error("企业id不能为空!");
|
||||||
|
}
|
||||||
|
PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId);
|
||||||
|
if(Objects.isNull(payIncomeContract)){
|
||||||
|
return Result.error("合同不存在!");
|
||||||
|
}
|
||||||
|
// 会员
|
||||||
|
if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE4)){
|
||||||
|
Page<PayMemberProject> page = new Page<>(pageNo, pageSize);
|
||||||
|
IPage<PayMemberProject> list = memberProjectService.queryListByCompany(page,companyId,memberName,PayProjectCommon.PROJECT_TYPE4,payIncomeContract.getPack(),payIncomeContract.getPackYear());
|
||||||
|
return Result.OK(list);
|
||||||
|
}
|
||||||
|
// 标协会员
|
||||||
|
if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE5)){
|
||||||
|
Page<TbMemberProjectSubitem> page = new Page<>(pageNo, pageSize);
|
||||||
|
IPage<TbMemberProjectSubitem> list = tbMemberProjectSubitemService.queryListByCompany(page,companyId,PayProjectCommon.PROJECT_TYPE4,payIncomeContract.getPack(),payIncomeContract.getPackYear());
|
||||||
|
return Result.OK(list);
|
||||||
|
}
|
||||||
|
return Result.OK(null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 列表查询
|
* 列表查询
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.math.BigDecimal;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.jero.modules.system.volid.group.*;
|
import com.jero.modules.system.volid.group.*;
|
||||||
@@ -133,4 +134,11 @@ public class PayMemberProject implements Serializable {
|
|||||||
@Size(max = 200, message = "备注最大为200个字符")
|
@Size(max = 200, message = "备注最大为200个字符")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目类型
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "项目类型")
|
||||||
|
private Integer projectType;
|
||||||
}
|
}
|
||||||
|
|||||||
+14
@@ -4,6 +4,7 @@ import java.io.Serializable;
|
|||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.jero.common.util.PasswordUtil;
|
import com.jero.common.util.PasswordUtil;
|
||||||
@@ -198,4 +199,17 @@ public class TbMemberProjectSubitem implements Serializable {
|
|||||||
return PasswordUtil.decrypt(mobile);
|
return PasswordUtil.decrypt(mobile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**项目名称*/
|
||||||
|
@ApiModelProperty(value = "项目名称")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目类型
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "项目类型")
|
||||||
|
private Integer projectType;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+14
@@ -1,7 +1,10 @@
|
|||||||
package com.jero.member.mapper;
|
package com.jero.member.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jero.member.entity.PayMemberProject;
|
import com.jero.member.entity.PayMemberProject;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员项目表
|
* @Description: 会员项目表
|
||||||
@@ -11,4 +14,15 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
*/
|
*/
|
||||||
public interface PayMemberProjectMapper extends BaseMapper<PayMemberProject> {
|
public interface PayMemberProjectMapper extends BaseMapper<PayMemberProject> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 查询与收入合同企业一致的数据
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/17
|
||||||
|
* @Param companyId 企业id
|
||||||
|
* @Param memberName 会员名称
|
||||||
|
* @Param projectType 项目类型
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
IPage<PayMemberProject> queryListByCompany(Page<PayMemberProject> page,@Param("companyId") String companyId,@Param("memberName") String memberName,@Param("projectType") String projectType,@Param("pack") Integer pack,@Param("packYear") String packYear);
|
||||||
}
|
}
|
||||||
|
|||||||
+15
@@ -2,6 +2,8 @@ package com.jero.member.mapper;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
@@ -14,4 +16,17 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
*/
|
*/
|
||||||
public interface TbMemberProjectSubitemMapper extends BaseMapper<TbMemberProjectSubitem> {
|
public interface TbMemberProjectSubitemMapper extends BaseMapper<TbMemberProjectSubitem> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 查询与收入合同企业一致的数据
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/17
|
||||||
|
* @Param companyId 企业id
|
||||||
|
* @Param memberName 会员名称
|
||||||
|
* @Param projectType 项目类型
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
IPage<TbMemberProjectSubitem> queryListByCompany(Page<TbMemberProjectSubitem> page,@Param("companyId") String companyId,@Param("projectType") String projectType,@Param("pack") Integer pack,@Param("packYear") String packYear);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+19
@@ -16,4 +16,23 @@
|
|||||||
<result column="charge_notice_file_id" property="chargeNoticeFileId" />
|
<result column="charge_notice_file_id" property="chargeNoticeFileId" />
|
||||||
<result column="remark" property="remark" />
|
<result column="remark" property="remark" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
<select id="queryListByCompany" resultType="com.jero.member.entity.PayMemberProject">
|
||||||
|
SELECT pmp.*,#{projectType} AS projectType FROM pay_member_project_subitem pmps
|
||||||
|
LEFT JOIN pay_member_project pmp ON pmp.id = pmps.project_id
|
||||||
|
LEFT JOIN pay_pack_company_project ppcp ON ppcp.project_id = pmps.id
|
||||||
|
LEFT JOIN pay_pack_company ppc ON ppc.id = ppcp.pack_id
|
||||||
|
<if test="pack == 1 and packYear != '' and packYear != null">
|
||||||
|
AND ppc.pack_year=#{packYear}
|
||||||
|
</if>
|
||||||
|
LEFT JOIN pay_income_contract_associated pica ON pica.project_id = pmps.id
|
||||||
|
WHERE pmps.company_id =#{companyId} AND pmp.id IS NOT NULL AND pmp.id != ''
|
||||||
|
AND (pica.id is null OR pica.id = '')
|
||||||
|
<if test="memberName != '' and memberName != null">
|
||||||
|
AND pmp.project_name like concat('%',concat(#{memberName},'%'))
|
||||||
|
</if>
|
||||||
|
<if test="pack == 1 and packYear != '' and packYear != null">
|
||||||
|
AND (ppc.id is null OR ppc.id ='')
|
||||||
|
</if>
|
||||||
|
GROUP BY pmp.id ORDER BY pmp.create_time DESC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
+16
@@ -23,4 +23,20 @@
|
|||||||
<result column="make_invoice" property="makeInvoice" />
|
<result column="make_invoice" property="makeInvoice" />
|
||||||
<result column="mail" property="mail" />
|
<result column="mail" property="mail" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
<select id="queryListByCompany" resultType="com.jero.member.entity.TbMemberProjectSubitem">
|
||||||
|
SELECT tmps.*,tmp.project_name,#{projectType} AS projectType FROM tb_member_project_subitem tmps
|
||||||
|
LEFT JOIN tb_member_project tmp ON tmps.project_id = tmp.id
|
||||||
|
LEFT JOIN pay_pack_company_project ppcp ON ppcp.project_id = tmps.id
|
||||||
|
LEFT JOIN pay_pack_company ppc ON ppc.id = ppcp.pack_id
|
||||||
|
<if test="pack == 1 and packYear != '' and packYear != null">
|
||||||
|
AND ppc.pack_year=#{packYear}
|
||||||
|
</if>
|
||||||
|
LEFT JOIN pay_income_contract_associated pica ON pica.project_id = tmps.id
|
||||||
|
WHERE tmps.company_id =#{companyId} AND tmp.id IS NOT NULL AND tmp.id != ''
|
||||||
|
AND (pica.id is null OR pica.id = '')
|
||||||
|
<if test="pack == 1 and packYear != '' and packYear != null">
|
||||||
|
AND (ppc.id is null OR ppc.id ='')
|
||||||
|
</if>
|
||||||
|
GROUP BY tmps.id ORDER BY tmps.create_time DESC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
+14
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jero.member.entity.PayMemberProject;
|
import com.jero.member.entity.PayMemberProject;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.jero.project.common.PayProjectCommon;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -69,4 +71,16 @@ public interface IPayMemberProjectService extends IService<PayMemberProject> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
IPage<PayMemberProject> getPage(Page<PayMemberProject> page, QueryWrapper<PayMemberProject> queryWrapper);
|
IPage<PayMemberProject> getPage(Page<PayMemberProject> page, QueryWrapper<PayMemberProject> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 查询与收入合同企业一致的数据
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/17
|
||||||
|
* @Param companyId 企业id
|
||||||
|
* @Param memberName 会员名称
|
||||||
|
* @Param projectType 项目类型
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
IPage<PayMemberProject> queryListByCompany(Page<PayMemberProject> page,String companyId,String memberName,String projectType,Integer pack,String packYear);
|
||||||
}
|
}
|
||||||
|
|||||||
+13
@@ -1,5 +1,7 @@
|
|||||||
package com.jero.member.service;
|
package com.jero.member.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -58,4 +60,15 @@ public interface ITbMemberProjectSubitemService extends IService<TbMemberProject
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<TbMemberProjectSubitem> queryList();
|
List<TbMemberProjectSubitem> queryList();
|
||||||
|
/**
|
||||||
|
* @Description 查询与收入合同企业一致的数据
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/17
|
||||||
|
* @Param companyId 企业id
|
||||||
|
* @Param memberName 会员名称
|
||||||
|
* @Param projectType 项目类型
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
IPage<TbMemberProjectSubitem> queryListByCompany(Page<TbMemberProjectSubitem> page, String companyId, String projectType,Integer pack,String packYear);
|
||||||
}
|
}
|
||||||
|
|||||||
+50
-4
@@ -5,15 +5,24 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||||
|
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||||
import com.jero.member.entity.PayMemberProject;
|
import com.jero.member.entity.PayMemberProject;
|
||||||
|
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||||
import com.jero.member.mapper.PayMemberProjectMapper;
|
import com.jero.member.mapper.PayMemberProjectMapper;
|
||||||
import com.jero.member.service.IPayMemberProjectService;
|
import com.jero.member.service.IPayMemberProjectService;
|
||||||
|
import com.jero.member.service.IPayMemberProjectSubitemService;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
import com.jero.modules.system.mapper.SysUserMapper;
|
import com.jero.modules.system.mapper.SysUserMapper;
|
||||||
|
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@@ -25,8 +34,14 @@ import javax.annotation.Resource;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProjectMapper, PayMemberProject> implements IPayMemberProjectService {
|
public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProjectMapper, PayMemberProject> implements IPayMemberProjectService {
|
||||||
|
@Resource
|
||||||
|
private PayMemberProjectMapper payMemberProjectMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private SysUserMapper userMapper;
|
private SysUserMapper userMapper;
|
||||||
|
@Autowired
|
||||||
|
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||||
|
@Resource
|
||||||
|
private IPayMemberProjectSubitemService memberProjectSubitemService;
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*
|
*
|
||||||
@@ -34,6 +49,7 @@ public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProject
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void add(PayMemberProject payMemberProject) {
|
public void add(PayMemberProject payMemberProject) {
|
||||||
//判断项目名称
|
//判断项目名称
|
||||||
LambdaQueryWrapper<PayMemberProject> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PayMemberProject> wrapper = new LambdaQueryWrapper<>();
|
||||||
@@ -49,9 +65,6 @@ public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProject
|
|||||||
throw new JeroBootException("联系人不存在");
|
throw new JeroBootException("联系人不存在");
|
||||||
}
|
}
|
||||||
payMemberProject.setDirectorName(sysUser.getUsername());
|
payMemberProject.setDirectorName(sysUser.getUsername());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
save(payMemberProject);
|
save(payMemberProject);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,9 +87,33 @@ public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProject
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteById(String id) {
|
public void deleteById(String id) {
|
||||||
|
LambdaQueryWrapper<PayMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||||
|
query.eq(PayMemberProjectSubitem::getProjectId, id);
|
||||||
|
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query);
|
||||||
|
getPayIncomeContractAssociated(listPayMemberProjectSubitem);
|
||||||
removeById(id);
|
removeById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 校验是存在关联合同的项目
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/8
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
private void getPayIncomeContractAssociated(List<PayMemberProjectSubitem> listPayMemberProjectSubitem){
|
||||||
|
if(!CollectionUtils.isEmpty(listPayMemberProjectSubitem)){
|
||||||
|
List<String> list = listPayMemberProjectSubitem.stream().map(PayMemberProjectSubitem::getId).collect(Collectors.toList());
|
||||||
|
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||||
|
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId,list);
|
||||||
|
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||||
|
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除
|
* 批量删除
|
||||||
*
|
*
|
||||||
@@ -85,7 +122,11 @@ public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProject
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteByIds(List<String> ids) {
|
public void deleteByIds(List<String> ids) {
|
||||||
removeByIds(ids);
|
LambdaQueryWrapper<PayMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||||
|
query.in(PayMemberProjectSubitem::getProjectId, ids);
|
||||||
|
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query);
|
||||||
|
getPayIncomeContractAssociated(listPayMemberProjectSubitem);
|
||||||
|
removeByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -121,4 +162,9 @@ public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProject
|
|||||||
memberProjectPage.setRecords(records);
|
memberProjectPage.setRecords(records);
|
||||||
return memberProjectPage;
|
return memberProjectPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<PayMemberProject> queryListByCompany(Page<PayMemberProject> page,String companyId, String memberName, String projectType,Integer pack,String packYear) {
|
||||||
|
return payMemberProjectMapper.queryListByCompany(page,companyId,memberName,projectType, pack, packYear);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+108
-5
@@ -1,11 +1,19 @@
|
|||||||
package com.jero.member.service.impl;
|
package com.jero.member.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.common.service.ProjectDetailService;
|
||||||
import com.jero.common.util.ValidUtil;
|
import com.jero.common.util.ValidUtil;
|
||||||
|
import com.jero.common.vo.ProjectStatusVO;
|
||||||
import com.jero.company.entity.PayContactsManagement;
|
import com.jero.company.entity.PayContactsManagement;
|
||||||
import com.jero.company.service.IPayCompanyManagementService;
|
import com.jero.company.service.IPayCompanyManagementService;
|
||||||
import com.jero.company.service.IPayContactsManagementService;
|
import com.jero.company.service.IPayContactsManagementService;
|
||||||
|
import com.jero.contract.entity.PayIncomeContract;
|
||||||
|
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||||
|
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||||
|
import com.jero.contract.service.IPayIncomeContractService;
|
||||||
|
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||||
import com.jero.project.common.PayProjectCommon;
|
import com.jero.project.common.PayProjectCommon;
|
||||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||||
@@ -18,11 +26,15 @@ import com.jero.member.service.IPayMemberProjectService;
|
|||||||
import com.jero.member.service.IPayMemberProjectSubitemService;
|
import com.jero.member.service.IPayMemberProjectSubitemService;
|
||||||
import com.jero.valid.group.ChargeNotice;
|
import com.jero.valid.group.ChargeNotice;
|
||||||
import com.jero.valid.group.Contract;
|
import com.jero.valid.group.Contract;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@@ -34,20 +46,23 @@ import javax.annotation.Resource;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMemberProjectSubitemMapper, PayMemberProjectSubitem> implements IPayMemberProjectSubitemService {
|
public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMemberProjectSubitemMapper, PayMemberProjectSubitem> implements IPayMemberProjectSubitemService {
|
||||||
@Resource
|
|
||||||
private IPayCompanyManagementService companyManagementService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IPayContactsManagementService contactsManagementService;
|
private IPayContactsManagementService contactsManagementService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IPayCompanyManagementTemporaryService companyManagementTemporaryService;
|
private IPayCompanyManagementTemporaryService companyManagementTemporaryService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IPayContactsManagementTemporaryService contactsManagementTemporaryService;
|
private IPayContactsManagementTemporaryService contactsManagementTemporaryService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IPayMemberProjectService memberProjectService;
|
private IPayMemberProjectService memberProjectService;
|
||||||
|
@Autowired
|
||||||
|
private IPayIncomeContractService payIncomeContractService;
|
||||||
|
@Autowired
|
||||||
|
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||||
|
@Autowired
|
||||||
|
private ProjectDetailService projectDetailService;
|
||||||
|
@Autowired
|
||||||
|
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*/
|
*/
|
||||||
@@ -78,6 +93,22 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
|||||||
//邮寄
|
//邮寄
|
||||||
payMemberProjectSubitem.setMail(PayProjectCommon.MAIL0);
|
payMemberProjectSubitem.setMail(PayProjectCommon.MAIL0);
|
||||||
save(payMemberProjectSubitem);
|
save(payMemberProjectSubitem);
|
||||||
|
// 来款方式为合同,校验合同编号
|
||||||
|
if(Objects.equals(payMemberProjectSubitem.getPaymentMethod(),PayProjectCommon.CHARGE_WAY2)){
|
||||||
|
PayIncomeContract payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payMemberProjectSubitem.getContractNo(),payMemberProjectSubitem.getCompanyId(),payMemberProjectSubitem.getId());
|
||||||
|
if(!Objects.isNull(payIncomeContract)){
|
||||||
|
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
||||||
|
payIncomeContractService.insertPayIncomeContract(payIncomeContract,payMemberProjectSubitem.getId(),Integer.parseInt(PayProjectCommon.PROJECT_TYPE4));
|
||||||
|
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||||
|
if(Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
||||||
|
payPackCompanyProjectService.setPack(payMemberProjectSubitem.getCompanyId(),payMemberProjectSubitem.getCompanyContactId(),payIncomeContract.getPackYear(),payIncomeContract.getId(),PayProjectCommon.PROJECT_TYPE4,payIncomeContract.getPack());
|
||||||
|
LambdaUpdateWrapper<PayMemberProjectSubitem> update = new LambdaUpdateWrapper<>();
|
||||||
|
update.eq(PayMemberProjectSubitem::getId,payMemberProjectSubitem.getId());
|
||||||
|
update.set(PayMemberProjectSubitem::getPack,PayProjectCommon.PACKAGING1);
|
||||||
|
update(update);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -90,6 +121,40 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
|||||||
if (payMemberProjectSubitem1 == null){
|
if (payMemberProjectSubitem1 == null){
|
||||||
throw new JeroBootException("会员项目不存在");
|
throw new JeroBootException("会员项目不存在");
|
||||||
}
|
}
|
||||||
|
// 项目为打包状态 || 到账!=0 || 开票!=0 || 邮寄!=0
|
||||||
|
if(!Objects.equals(payMemberProjectSubitem.getCompanyId(),payMemberProjectSubitem1.getCompanyId())
|
||||||
|
&& (Objects.equals(payMemberProjectSubitem.getPack(),PayProjectCommon.PACKAGING1)
|
||||||
|
|| !Objects.equals(payMemberProjectSubitem.getInAccount(),PayProjectCommon.IN_ACCOUNT0)
|
||||||
|
|| !Objects.equals(payMemberProjectSubitem.getMakeInvoice(),PayProjectCommon.MAKE_INVOICE0)
|
||||||
|
|| !Objects.equals(payMemberProjectSubitem.getMail(),PayProjectCommon.MAIL0))){
|
||||||
|
throw new JeroBootException("来款企业不可更改!");
|
||||||
|
}
|
||||||
|
// 校验项目是否已关联合同
|
||||||
|
PayIncomeContract payIncomeContract = payIncomeContractService.checkPayIncomeContractAssociated(payMemberProjectSubitem.getId());
|
||||||
|
if(!Objects.isNull(payIncomeContract)){
|
||||||
|
if(!Objects.equals(payMemberProjectSubitem.getPaymentMethod(),PayProjectCommon.CHARGE_WAY2)){
|
||||||
|
throw new JeroBootException("项目已关联合同,来款方式不可修改!");
|
||||||
|
}
|
||||||
|
if(!Objects.equals(payIncomeContract.getContractNum(),payMemberProjectSubitem.getContractNo())){
|
||||||
|
throw new JeroBootException("项目已关联合同,合同编号不可修改!");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
PayIncomeContract payIncomeContractAdd = null;
|
||||||
|
// 来款方式为合同,校验合同编号
|
||||||
|
if(Objects.equals(payMemberProjectSubitem.getPaymentMethod(),PayProjectCommon.CHARGE_WAY2)){
|
||||||
|
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payMemberProjectSubitem.getContractNo(),payMemberProjectSubitem.getCompanyId(),payMemberProjectSubitem.getId());
|
||||||
|
}
|
||||||
|
if(!Objects.isNull(payIncomeContractAdd)){
|
||||||
|
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
||||||
|
payIncomeContractService.insertPayIncomeContract(payIncomeContractAdd,payMemberProjectSubitem.getId(),Integer.parseInt(PayProjectCommon.PROJECT_TYPE4));
|
||||||
|
}else{
|
||||||
|
payMemberProjectSubitem.setPack(PayProjectCommon.PACKAGING0);
|
||||||
|
}
|
||||||
|
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||||
|
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
|
||||||
|
payPackCompanyProjectService.setPack(payMemberProjectSubitem.getCompanyId(),payMemberProjectSubitem.getCompanyContactId(),payIncomeContractAdd.getPackYear(),payMemberProjectSubitem.getId(),PayProjectCommon.PROJECT_TYPE4,payIncomeContractAdd.getPack());
|
||||||
|
}
|
||||||
|
}
|
||||||
//无法更改状态
|
//无法更改状态
|
||||||
payMemberProjectSubitem.setPack(payMemberProjectSubitem1.getPack());
|
payMemberProjectSubitem.setPack(payMemberProjectSubitem1.getPack());
|
||||||
//payMemberProjectSubitem.setNeedInvoice(payMemberProjectSubitem1.getNeedInvoice());
|
//payMemberProjectSubitem.setNeedInvoice(payMemberProjectSubitem1.getNeedInvoice());
|
||||||
@@ -112,6 +177,19 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
|||||||
if (!payMemberProjectSubitem1.getPostContactTemporaryId().equals(postContactId)) {
|
if (!payMemberProjectSubitem1.getPostContactTemporaryId().equals(postContactId)) {
|
||||||
contactsManagementTemporaryService.removeById(postContactId);
|
contactsManagementTemporaryService.removeById(postContactId);
|
||||||
}
|
}
|
||||||
|
// 变更应收金额,重新校验状态
|
||||||
|
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payMemberProjectSubitem.getId(),payMemberProjectSubitem.getAmountReceivable(),payMemberProjectSubitem.getNeedInvoice());
|
||||||
|
if(!Objects.isNull(projectStatusVO)){
|
||||||
|
if(!Objects.isNull(projectStatusVO.getInAccount())){
|
||||||
|
payMemberProjectSubitem.setInAccount(projectStatusVO.getInAccount());
|
||||||
|
}
|
||||||
|
if(!Objects.isNull(projectStatusVO.getMakeInvoice())){
|
||||||
|
payMemberProjectSubitem.setMakeInvoice(projectStatusVO.getMakeInvoice());
|
||||||
|
}
|
||||||
|
if(!Objects.isNull(projectStatusVO.getMail())){
|
||||||
|
payMemberProjectSubitem.setMail(projectStatusVO.getMail());
|
||||||
|
}
|
||||||
|
}
|
||||||
validMemberProjectSubitem(payMemberProjectSubitem);
|
validMemberProjectSubitem(payMemberProjectSubitem);
|
||||||
saveOrUpdate(payMemberProjectSubitem);
|
saveOrUpdate(payMemberProjectSubitem);
|
||||||
}
|
}
|
||||||
@@ -168,7 +246,19 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
|||||||
* 通过id删除
|
* 通过id删除
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void deleteById(String id) {
|
public void deleteById(String id) {
|
||||||
|
try {
|
||||||
|
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
|
||||||
|
query.eq(PayIncomeContractAssociated::getProjectId, id);
|
||||||
|
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
|
||||||
|
if (!Objects.isNull(payIncomeContractAssociated)) {
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("会员项目-批量删除异常", e);
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
delectTemporaryById(id);
|
delectTemporaryById(id);
|
||||||
removeById(id);
|
removeById(id);
|
||||||
}
|
}
|
||||||
@@ -190,10 +280,23 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
|||||||
* 批量删除
|
* 批量删除
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void deleteByIds(List<String> ids) {
|
public void deleteByIds(List<String> ids) {
|
||||||
for (String id : ids) {
|
for (String id : ids) {
|
||||||
|
try {
|
||||||
|
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
|
||||||
|
query.eq(PayIncomeContractAssociated::getProjectId, id);
|
||||||
|
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
|
||||||
|
if (!Objects.isNull(payIncomeContractAssociated)) {
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("普通项目管理-批量删除异常", e);
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
delectTemporaryById(id);
|
delectTemporaryById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
removeByIds(ids);
|
removeByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+45
-1
@@ -1,12 +1,25 @@
|
|||||||
package com.jero.member.service.impl;
|
package com.jero.member.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||||
|
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||||
|
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||||
import com.jero.member.entity.TbMemberProject;
|
import com.jero.member.entity.TbMemberProject;
|
||||||
|
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||||
import com.jero.member.mapper.TbMemberProjectMapper;
|
import com.jero.member.mapper.TbMemberProjectMapper;
|
||||||
import com.jero.member.service.ITbMemberProjectService;
|
import com.jero.member.service.ITbMemberProjectService;
|
||||||
|
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 标协会员项目表
|
* @Description: 标协会员项目表
|
||||||
* @Author: jero-boot
|
* @Author: jero-boot
|
||||||
@@ -16,6 +29,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
@Service
|
@Service
|
||||||
public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMapper, TbMemberProject> implements ITbMemberProjectService {
|
public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMapper, TbMemberProject> implements ITbMemberProjectService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||||
|
@Resource
|
||||||
|
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*/
|
*/
|
||||||
@@ -37,15 +54,42 @@ public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMappe
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteById(String id) {
|
public void deleteById(String id) {
|
||||||
|
LambdaQueryWrapper<TbMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||||
|
query.eq(TbMemberProjectSubitem::getProjectId, id);
|
||||||
|
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query);
|
||||||
|
getPayIncomeContractAssociated(listTbMemberProjectSubitem);
|
||||||
removeById(id);
|
removeById(id);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @Description 校验是存在关联合同的项目
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/8
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
private void getPayIncomeContractAssociated(List<TbMemberProjectSubitem> listTbMemberProjectSubitem){
|
||||||
|
if(!CollectionUtils.isEmpty(listTbMemberProjectSubitem)){
|
||||||
|
List<String> list = listTbMemberProjectSubitem.stream().map(TbMemberProjectSubitem::getId).collect(Collectors.toList());
|
||||||
|
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||||
|
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId,list);
|
||||||
|
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||||
|
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除
|
* 批量删除
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteByIds(List<String> ids) {
|
public void deleteByIds(List<String> ids) {
|
||||||
removeByIds(ids);
|
LambdaQueryWrapper<TbMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||||
|
query.in(TbMemberProjectSubitem::getProjectId, ids);
|
||||||
|
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query);
|
||||||
|
getPayIncomeContractAssociated(listTbMemberProjectSubitem);
|
||||||
|
removeByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+45
-1
@@ -1,12 +1,23 @@
|
|||||||
package com.jero.member.service.impl;
|
package com.jero.member.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||||
|
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 标协会员项目成员表
|
* @Description: 标协会员项目成员表
|
||||||
* @Author: jero-boot
|
* @Author: jero-boot
|
||||||
@@ -16,6 +27,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
@Service
|
@Service
|
||||||
public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProjectSubitemMapper, TbMemberProjectSubitem> implements ITbMemberProjectSubitemService {
|
public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProjectSubitemMapper, TbMemberProjectSubitem> implements ITbMemberProjectSubitemService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||||
|
@Autowired
|
||||||
|
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*/
|
*/
|
||||||
@@ -37,6 +52,17 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteById(String id) {
|
public void deleteById(String id) {
|
||||||
|
try {
|
||||||
|
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
|
||||||
|
query.eq(PayIncomeContractAssociated::getProjectId, id);
|
||||||
|
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
|
||||||
|
if (!Objects.isNull(payIncomeContractAssociated)) {
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("标协会员-批量删除异常", e);
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
removeById(id);
|
removeById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,7 +71,20 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteByIds(List<String> ids) {
|
public void deleteByIds(List<String> ids) {
|
||||||
removeByIds(ids);
|
ids.forEach(p->{
|
||||||
|
try {
|
||||||
|
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
|
||||||
|
query.eq(PayIncomeContractAssociated::getProjectId, p);
|
||||||
|
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
|
||||||
|
if (!Objects.isNull(payIncomeContractAssociated)) {
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("标协会员-批量删除异常", e);
|
||||||
|
throw new JeroBootException("已关联合同不可删除!");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
removeByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -63,4 +102,9 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
|
|||||||
public List<TbMemberProjectSubitem> queryList() {
|
public List<TbMemberProjectSubitem> queryList() {
|
||||||
return list();
|
return list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<TbMemberProjectSubitem> queryListByCompany(Page<TbMemberProjectSubitem> page, String companyId, String projectType,Integer pack,String packYear) {
|
||||||
|
return tbMemberProjectSubitemMapper.queryListByCompany(page, companyId, projectType,pack,packYear);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user