收入合同完善
This commit is contained in:
+1
-2
@@ -13,8 +13,7 @@
|
||||
</where>
|
||||
<!--工作组项目-->
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id,gsub.charge_way,
|
||||
(select GROUP_CONCAT(file_id) from pay_distribution_record where project_id=gsub.id) as files
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id,gsub.charge_way,''
|
||||
from pay_working_group g
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
|
||||
<where>
|
||||
|
||||
+18
-12
@@ -125,7 +125,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
projectDetailVO.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payCommonProject.getPack())));
|
||||
}
|
||||
// 标协会员,直接查询企业,联系人
|
||||
if(Objects.equals(payCommonProject.getProjectType(), ProjectCommon.PROJECT_TYPE5)){
|
||||
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)){
|
||||
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagement)){
|
||||
throw new JeroBootException("企业不存在!");
|
||||
@@ -207,13 +207,19 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
if(Objects.isNull(payCommonProject)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
if(Objects.isNull(payCommonProject.getReceivableAmount())){
|
||||
payCommonProject.setReceivableAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
if(Objects.isNull(payCommonProject.getPaidAmount())){
|
||||
payCommonProject.setPaidAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
|
||||
// 应收金额没有变更 && 验证来款方式没有变更
|
||||
if(receivableAmount.compareTo(payCommonProject.getReceivableAmount()) == 0 && needInvoice == payCommonProject.getNeedInvoice()){
|
||||
if(receivableAmount.compareTo(payCommonProject.getReceivableAmount()) == 0 && needInvoice.equals(payCommonProject.getNeedInvoice())){
|
||||
return null;
|
||||
}
|
||||
// 验证来款方式,有变更,按照变更处理
|
||||
if(needInvoice != payCommonProject.getNeedInvoice()){
|
||||
if(!needInvoice.equals(payCommonProject.getNeedInvoice())){
|
||||
payCommonProject.setNeedInvoice(needInvoice);
|
||||
}
|
||||
ProjectStatusVO projectStatusVO = new ProjectStatusVO();
|
||||
@@ -229,8 +235,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
if(!CollectionUtils.isEmpty(listPayMailBillProject)){
|
||||
BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||
invoice = invoice.add(b);
|
||||
if(receivableAmount.compareTo(invoice) == -1){
|
||||
throw new JeroBootException("应收金额不能小于开票金额!");
|
||||
if(receivableAmount.compareTo(invoice) < 0){
|
||||
throw new JeroBootException("应收金额不可小于实收金额,请先修改实际来款后再来修改!");
|
||||
}
|
||||
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
|
||||
@@ -249,8 +255,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT0);
|
||||
}
|
||||
// 0 < 实收金额 && 实收金额 < 应收金额 = 2
|
||||
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) == 1
|
||||
&& payCommonProject.getPaidAmount().compareTo(receivableAmount) ==-1){
|
||||
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) > 0
|
||||
&& payCommonProject.getPaidAmount().compareTo(receivableAmount) < 0){
|
||||
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT2);
|
||||
}
|
||||
// 开票
|
||||
@@ -258,16 +264,16 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
if(Objects.equals(payCommonProject.getNeedInvoice(),ProjectCommon.NEED_INVOICE0)){
|
||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
|
||||
}else{
|
||||
// 开票金额 = 0 || 开票金额 = 到账金额 = 1
|
||||
if(invoice.compareTo(new BigDecimal("0.00")) == 0 || invoice.compareTo(payCommonProject.getPaidAmount()) == 0){
|
||||
// 开票金额 = 应收金额 || 开票金额 = 到账金额 = 1
|
||||
if(invoice.compareTo(receivableAmount) == 0 || invoice.compareTo(payCommonProject.getPaidAmount()) == 0){
|
||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE1);
|
||||
}
|
||||
// 开票金额 = 应收金额 = 0
|
||||
if(invoice.compareTo(receivableAmount) == 0){
|
||||
// 开票金额 = 0 = 0
|
||||
if(invoice.compareTo(new BigDecimal("0.00")) == 0){
|
||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
|
||||
}
|
||||
// 开票金额 > 0 && 开票金额 < 实收金额 = 2
|
||||
if(invoice.compareTo(new BigDecimal("0.00")) == 1 && invoice.compareTo(payCommonProject.getPaidAmount()) == -1){
|
||||
if(invoice.compareTo(new BigDecimal("0.00")) > 0 && invoice.compareTo(payCommonProject.getPaidAmount()) < 0){
|
||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE2);
|
||||
}
|
||||
}
|
||||
|
||||
+28
-27
@@ -147,21 +147,21 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
checkPayIncomeContractInstallment(listPayIncomeContractInstallment,payIncomeContract);
|
||||
|
||||
// 选择了打包,创建打包企业
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
LambdaQueryWrapper<PayPackCompany> queryPayPackCompany = new LambdaQueryWrapper<>();
|
||||
queryPayPackCompany.eq(PayPackCompany::getCompanyId,payIncomeContract.getSignedCompanyId());
|
||||
queryPayPackCompany.eq(PayPackCompany::getPackYear,payIncomeContract.getPackYear());
|
||||
List<PayPackCompany> listPayPackCompany = payPackCompanyService.list(queryPayPackCompany);
|
||||
//不存在打包企业 添加打包企业
|
||||
if(CollectionUtils.isEmpty(listPayPackCompany)){
|
||||
PayPackCompany payPackCompanyData = new PayPackCompany();
|
||||
payPackCompanyData.setCompanyId(payIncomeContract.getSignedCompanyId());
|
||||
payPackCompanyData.setCompanyContactId(payIncomeContract.getSignedContactsId());
|
||||
payPackCompanyData.setPackYear(payIncomeContract.getPackYear());
|
||||
payPackCompanyData.setPackContactId(payIncomeContract.getSignedContactsId());
|
||||
payPackCompanyService.addPayPackCompany(payPackCompanyData);
|
||||
}
|
||||
}
|
||||
// if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
// LambdaQueryWrapper<PayPackCompany> queryPayPackCompany = new LambdaQueryWrapper<>();
|
||||
// queryPayPackCompany.eq(PayPackCompany::getCompanyId,payIncomeContract.getSignedCompanyId());
|
||||
// queryPayPackCompany.eq(PayPackCompany::getPackYear,payIncomeContract.getPackYear());
|
||||
// List<PayPackCompany> listPayPackCompany = payPackCompanyService.list(queryPayPackCompany);
|
||||
// //不存在打包企业 添加打包企业
|
||||
// if(CollectionUtils.isEmpty(listPayPackCompany)){
|
||||
// PayPackCompany payPackCompanyData = new PayPackCompany();
|
||||
// payPackCompanyData.setCompanyId(payIncomeContract.getSignedCompanyId());
|
||||
// payPackCompanyData.setCompanyContactId(payIncomeContract.getSignedContactsId());
|
||||
// payPackCompanyData.setPackYear(payIncomeContract.getPackYear());
|
||||
// payPackCompanyData.setPackContactId(payIncomeContract.getSignedContactsId());
|
||||
// payPackCompanyService.addPayPackCompany(payPackCompanyData);
|
||||
// }
|
||||
// }
|
||||
|
||||
return payIncomeContract;
|
||||
}
|
||||
@@ -385,6 +385,17 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
throw new JeroBootException("打包合同不可关联会议项目!");
|
||||
}
|
||||
|
||||
|
||||
// 更新项目id
|
||||
// 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 会议项目
|
||||
break;
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
@@ -722,16 +733,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
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("关联合同中签订单位与项目中来款企业不匹配!");
|
||||
}
|
||||
@@ -744,8 +745,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
public void insertPayIncomeContract(PayIncomeContract payIncomeContract,String projectId,Integer projectType) {
|
||||
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
if(payIncomeContract.getStatus() == PayIncomeContractCommon.STATUS1 && payIncomeContract.getStatus() == PayIncomeContractCommon.STATUS4){
|
||||
throw new JeroBootException("合同状态为草稿状态,不能进行关联!");
|
||||
if(payIncomeContract.getStatus() == PayIncomeContractCommon.STATUS1){
|
||||
throw new JeroBootException("合同状态为草稿状态不可关联!");
|
||||
}
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||
|
||||
+23
-20
@@ -15,7 +15,9 @@ import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
@@ -67,6 +69,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
@Autowired
|
||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||
@Autowired
|
||||
private IPayPackCompanyService payPackCompanyService;
|
||||
@Autowired
|
||||
private ProjectDetailService projectDetailService;
|
||||
|
||||
|
||||
@@ -91,27 +95,28 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
log.info("普通项目管理-添加异常",e);
|
||||
throw new JeroBootException("来款项目已存在!");
|
||||
}
|
||||
|
||||
PayIncomeContract payIncomeContract = null;
|
||||
// 来款方式为合同,校验合同编号
|
||||
if(Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
||||
}
|
||||
setPayCommonProject(payCommonProject);
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
payCommonProject.setPack(PayProjectCommon.PACKAGING1);
|
||||
}else{
|
||||
payCommonProject.setPack(PayProjectCommon.PACKAGING0);
|
||||
}
|
||||
payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
payCommonProject.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
payCommonProject.setMail(PayProjectCommon.MAIL0);
|
||||
payCommonProject.setPack(PayProjectCommon.PACKAGING0);
|
||||
payCommonProjectService.save(payCommonProject);
|
||||
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
||||
payIncomeContractService.insertPayIncomeContract(payIncomeContract,payCommonProject.getId(),Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(!Objects.isNull(payIncomeContract) && Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
||||
|
||||
// 来款方式为合同,校验合同编号
|
||||
if(Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
||||
payIncomeContractService.insertPayIncomeContract(payIncomeContract,payCommonProject.getId(),Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
||||
LambdaUpdateWrapper<PayCommonProject> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(PayCommonProject::getId,payCommonProject.getId());
|
||||
update.set(PayCommonProject::getPack,PayProjectCommon.PACKAGING1);
|
||||
payCommonProjectService.update(update);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,12 +158,10 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
if(!Objects.equals(payIncomeContract.getContractNum(),payCommonProject.getContractNum())){
|
||||
throw new JeroBootException("项目已关联合同,合同编号不可修改!");
|
||||
}
|
||||
}
|
||||
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
}else{
|
||||
PayIncomeContract payIncomeContractAdd = null;
|
||||
// 没有关联合同 && 来款方式为合同,校验合同编号
|
||||
if(Objects.isNull(payIncomeContract) && Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
if(Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
||||
}
|
||||
if(!Objects.isNull(payIncomeContractAdd)){
|
||||
|
||||
+25
-30
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.ProjectDetailService;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
@@ -14,7 +13,6 @@ import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
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;
|
||||
@@ -94,7 +92,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
@Override
|
||||
@Transactional
|
||||
public void addPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem) {
|
||||
if(payWorkingGroupSubItem.getChargeWay() == PayProjectCommon.CHARGE_WAY2){
|
||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
|
||||
throw new JeroBootException("应收金额不能为空");
|
||||
}
|
||||
@@ -121,7 +119,6 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupSubItem.getWorkingGroupId());
|
||||
queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId());
|
||||
// queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne());
|
||||
PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper);
|
||||
// 企业和联系人同时存在,则校验不通过
|
||||
if(!Objects.isNull(payWorkingGroupSubItemNew)) {
|
||||
@@ -132,29 +129,31 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
throw new JeroBootException("工作组成员单位已存在!");
|
||||
}
|
||||
|
||||
PayIncomeContract payIncomeContract = null;
|
||||
// 来款方式为合同,校验合同编号
|
||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
|
||||
}
|
||||
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING1);
|
||||
}else{
|
||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
|
||||
}
|
||||
setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
|
||||
payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0);
|
||||
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
||||
payWorkingGroupSubItemService.save(payWorkingGroupSubItem);
|
||||
|
||||
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
||||
payIncomeContractService.insertPayIncomeContract(payIncomeContract,payWorkingGroupSubItem.getId(),Integer.parseInt(PayProjectCommon.PROJECT_TYPE2));
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(!Objects.isNull(payIncomeContract) && Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContract.getPackYear(),payIncomeContract.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
|
||||
// 来款方式为合同,校验合同编号
|
||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
||||
payIncomeContractService.insertPayIncomeContract(payIncomeContract,payWorkingGroupSubItem.getId(),Integer.parseInt(PayProjectCommon.PROJECT_TYPE2));
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContract.getPackYear(),payIncomeContract.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(PayWorkingGroupSubItem::getId,payWorkingGroupSubItem.getId());
|
||||
update.set(PayWorkingGroupSubItem::getPack,PayProjectCommon.PACKAGING1);
|
||||
payWorkingGroupSubItemService.update(update);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -172,7 +171,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
|| !Objects.equals(payWorkingGroupSubItem.getMail(),PayProjectCommon.MAIL0))){
|
||||
throw new JeroBootException("来款企业不可更改!");
|
||||
}
|
||||
if(payWorkingGroupSubItem.getChargeWay() == PayProjectCommon.CHARGE_WAY2){
|
||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
|
||||
throw new JeroBootException("应收金额不能为空");
|
||||
}
|
||||
@@ -180,7 +179,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
throw new JeroBootException("合同号不能为空");
|
||||
}
|
||||
}
|
||||
if(payWorkingGroupSubItem.getChargeWay() == PayProjectCommon.CHARGE_WAY3){
|
||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY3)){
|
||||
if(Objects.isNull(payWorkingGroupSubItem.getChargeNoticeNo())){
|
||||
throw new JeroBootException("收费通知号不能为空");
|
||||
}
|
||||
@@ -217,8 +216,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
if(!Objects.equals(payIncomeContract.getContractNum(),payWorkingGroupSubItem.getContractNum())){
|
||||
throw new JeroBootException("项目已关联合同,合同编号不可修改!");
|
||||
}
|
||||
}
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
}else{
|
||||
PayIncomeContract payIncomeContractAdd = null;
|
||||
// 来款方式为合同,校验合同编号
|
||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
@@ -235,7 +233,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContractAdd.getPackYear(),payWorkingGroupSubItem.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContractAdd.getPack());
|
||||
}
|
||||
}
|
||||
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
||||
setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
||||
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
|
||||
payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getChargeCompanyTemporaryId());
|
||||
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payWorkingGroupSubItemOld.getContactsTemporaryIdOne(),payWorkingGroupSubItemOld.getContactsTemporaryIdTwo(),payWorkingGroupSubItemOld.getContactsTemporaryIdThree()));
|
||||
@@ -470,9 +468,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
});
|
||||
if (StringUtils.isBlank(msg)) {
|
||||
// 拷贝企业,联系人
|
||||
list.forEach(p -> {
|
||||
setPayWorkingGroupSubItem(p);
|
||||
});
|
||||
list.forEach(this::setPayWorkingGroupSubItem);
|
||||
// 更新数据
|
||||
payWorkingGroupSubItemService.saveBatch(list);
|
||||
}
|
||||
@@ -512,7 +508,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private PayWorkingGroupSubItem setPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem){
|
||||
private void setPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem){
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payWorkingGroupSubItem.getChargeCompanyId());
|
||||
if(Objects.isNull(chargeCompanyName)){
|
||||
@@ -552,7 +548,6 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
}
|
||||
payWorkingGroupSubItem.setMailContactsTemporaryId(mailContactsName.getId());
|
||||
payWorkingGroupSubItem.setMailContactsTemporaryName(mailContactsName.getName());
|
||||
return payWorkingGroupSubItem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user