通用项目详情完善

This commit is contained in:
梁琦涛
2021-09-14 18:10:28 +08:00
parent 3a30d4ea19
commit fdbe831751
7 changed files with 66 additions and 17 deletions
@@ -4,7 +4,7 @@
<select id="queryProject" resultType="com.jero.project.entity.PayCommonProject">
<!-- 普通项目-->
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email,c.remarks,c.contract_num,c.charge_company_temporary_id
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email,c.remarks,c.contract_num,c.charge_company_temporary_id,c.charge_way
from pay_common_project c
<where>
<if test="projectId != null and projectId != ''">
@@ -13,7 +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
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.charge_company_id
<where>
@@ -23,7 +23,7 @@
</where>
<!-- 会议项目-->
UNION ALL
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'','',sit.remark,'',sit.company_temporary_id
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'','',sit.remark,'',sit.company_temporary_id,sit.pay_mode
from pay_meeting meeting
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
<where>
@@ -33,7 +33,7 @@
</where>
<!-- 会员项目-->
UNION ALL
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'','',msub.remark,msub.contract_no,msub.company_temporary_id
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'','',msub.remark,msub.contract_no,msub.company_temporary_id,msub.payment_method
from pay_member_project pmp
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
<where>
@@ -43,7 +43,7 @@
</where>
<!-- 标协会员项目-->
UNION ALL
select tmsub.id,tmember.project_name,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,tmsub.mobile,tmsub.email,'','',tmsub.company_id
select tmsub.id,tmember.project_name,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,tmsub.mobile,tmsub.email,'','',tmsub.company_id,tmsub.payment_method
from tb_member_project tmember
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
<where>
@@ -12,6 +12,10 @@ import com.jero.company.entity.PayCompanyManagement;
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.mail.entity.PayMailBill;
import com.jero.mail.service.IPayMailBillService;
import com.jero.payment.entity.PayPaymentRecord;
@@ -49,6 +53,10 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
private ProjectDetailMapper projectDetailMapper;
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
private IPayIncomeContractService payIncomeContractService;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Override
public ProjectDetailVO getProjectDetail(String projectId) {
@@ -64,11 +72,42 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
projectDetailVO.setPrincipalName(payCommonProject.getPrincipalName());
projectDetailVO.setReceivableAmount(payCommonProject.getReceivableAmount());
projectDetailVO.setRemarks(payCommonProject.getRemarks());
projectDetailVO.setProjectType(payCommonProject.getProjectType());
projectDetailVO.setChargeWay(payCommonProject.getChargeWay());
if(!Objects.isNull(payCommonProject.getChargeWay())){
projectDetailVO.setChargeWay_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(payCommonProject.getChargeWay())));
// 普通项目,工作组,会员
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE1)
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE2)
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE4)){
projectDetailVO.setChargeWay_dictText(sysBaseAPI.translateDict("payment_type",String.valueOf(payCommonProject.getChargeWay())));
}
// 会议
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE3)){
projectDetailVO.setChargeWay_dictText(sysBaseAPI.translateDict("meeting_pay_type",String.valueOf(payCommonProject.getChargeWay())));
}
// 标协会员
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE5)){
projectDetailVO.setChargeWay_dictText(sysBaseAPI.translateDict("standards_payment_method",String.valueOf(payCommonProject.getChargeWay())));
}
}
projectDetailVO.setContractNum(payCommonProject.getContractNum());
// 合同编号查找合同id
if(!StringUtils.isBlank(payCommonProject.getContractNum())){
LambdaQueryWrapper<PayIncomeContract> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContract::getContractName,payCommonProject.getContractNum());
List<PayIncomeContract> list = payIncomeContractService.list(query);
if(!CollectionUtils.isEmpty(list)){
// 查看是否有关联
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,list.get(0).getId());
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectId,projectId);
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
projectDetailVO.setContractId(list.get(0).getId());
}
}
}
projectDetailVO.setNeedInvoice(payCommonProject.getNeedInvoice());
if(!Objects.isNull(payCommonProject.getNeedInvoice())){
projectDetailVO.setNeedInvoice_dictText(sysBaseAPI.translateDict("invoice_type",String.valueOf(payCommonProject.getNeedInvoice())));
@@ -16,6 +16,11 @@ public class ProjectDetailVO implements Serializable {
*/
@ApiModelProperty(value = "项目负责人")
private String principalName;
/**
* 项目类型
*/
@ApiModelProperty(value = "项目类型")
private Integer projectType;
/**
* 应收金额
*/
@@ -42,6 +47,11 @@ public class ProjectDetailVO implements Serializable {
*/
@ApiModelProperty(value = "合同编号")
private String contractNum;
/**
* 合同id
*/
@ApiModelProperty(value = "合同id")
private String contractId;
/**
* 是否需要发票
*/
@@ -63,7 +63,6 @@ public class PaySpendingContractInstallment implements Serializable {
/**实收金额*/
@Excel(name = "实收金额", width = 15)
@ApiModelProperty(value = "实收金额")
@NotNull(message = "实收金额不能为空")
@DecimalMax(value = "9999999999.99",message = "应收金额格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal paidAmount;
@@ -93,6 +93,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
@Override
@Transactional
public PaySpendingContract addPaySpendingContractInput(PaySpendingContractInput input) {
if(Objects.isNull(input)){
throw new JeroBootException("支出合同信息不能为空!");
@@ -149,6 +150,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
@Override
@Transactional
public void editPayIncomeContractInput(PaySpendingContractInput input) {
if(Objects.isNull(input)){
throw new JeroBootException("支出合同信息不能为空!");
@@ -221,6 +223,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
@Override
@Transactional
public void deletePaySpendingContractInputById(String id) {
PaySpendingContract paySpendingContractStatus = paySpendingContractService.getById(id);
if(Objects.isNull(paySpendingContractStatus)){
@@ -233,6 +236,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
@Override
@Transactional
public void deleteSpendingContractInputByIds(List<String> ids) {
LambdaQueryWrapper<PaySpendingContract> query = new LambdaQueryWrapper<>();
query.in(PaySpendingContract::getId,ids);
@@ -152,10 +152,10 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
if(Objects.isNull(payIncomeContract) && Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
}
if(!Objects.isNull(payIncomeContract)){
if(!Objects.isNull(payIncomeContractAdd)){
payCommonProject.setPack(PayProjectCommon.PACKAGING1);
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
payIncomeContractAssociated.setContractId(payIncomeContractAdd.getId());
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
payIncomeContractAssociated.setProjectId(payCommonProject.getId());
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
@@ -164,7 +164,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
}
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPack());
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContractAdd.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContractAdd.getPack());
}
}
setPayCommonProject(payCommonProject);
@@ -130,8 +130,6 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
throw new JeroBootException("工作组成员单位已存在!");
}
PayIncomeContract payIncomeContract = null;
// 来款方式为合同,校验合同编号
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
@@ -216,10 +214,10 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
}
if(!Objects.isNull(payIncomeContract)){
if(!Objects.isNull(payIncomeContractAdd)){
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING1);
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
payIncomeContractAssociated.setContractId(payIncomeContractAdd.getId());
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
payIncomeContractAssociated.setProjectId(payWorkingGroupSubItem.getId());
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
@@ -228,14 +226,13 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
}
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContract.getPackYear(),payWorkingGroupSubItem.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContractAdd.getPackYear(),payWorkingGroupSubItem.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContractAdd.getPack());
}
}
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getChargeCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payWorkingGroupSubItemOld.getContactsTemporaryIdOne(),payWorkingGroupSubItemOld.getContactsTemporaryIdTwo(),payWorkingGroupSubItemOld.getContactsTemporaryIdThree()));
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}