update 会议项目 年度数据锁定 查询项目详情

This commit is contained in:
lijiarao
2024-07-25 15:43:10 +08:00
parent d455af9bd0
commit 013441c6dc
12 changed files with 627 additions and 282 deletions
+7
View File
@@ -212,3 +212,10 @@ create table pay_annual_data_locking
)
comment '年度数据锁定表';
alter table pay_company_management_temporary comment '企业管理临时表';
alter table pay_contacts_management_temporary comment '联系人管理临时表';
alter table pay_company_management_temporary
add year varchar(4) null comment '数据锁定年份';
alter table pay_contacts_management_temporary
add year varchar(4) null comment '数据锁定年份';
@@ -1,18 +1,19 @@
package com.jero.common.mapper;
import com.jero.project.entity.PayCommonProject;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface ProjectDetailMapper {
/**
* @Description 查询项目信息
* @Author lqt
* @Date 2021/9/14
* @Param projectId 项目id
* @Return
* @Exception
*/
PayCommonProject queryProject(String projectId);
* @Description 查询项目信息
* @Author lqt
* @Date 2021/9/14
* @Param projectId 项目id
* @Return
* @Exception
*/
PayCommonProject queryProject(@Param("projectId") String projectId);
/**
* @Description 查询项目列表信息
@@ -4,8 +4,41 @@
<select id="queryProject" resultType="com.jero.project.entity.PayCommonProject">
<!-- 普通项目-->
select c.id,c.charge_project, c.charge_use, c.principal_id,su.realname as 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,c.files,c.charge_notice_no,c.charge_notice_id,c.year,c.mail_contacts_temporary_name,'' as mission_and_objectives
,c.tax_rate,c.tax,c.no_tax_amount,c.affirm_income
select c.id as id,
c.charge_project as charge_project,
c.charge_use as charge_use,
c.principal_id as principal_id,
su.realname as principal_name,
c.contacts_id as contacts_id,
c.contacts_temporary_id as contacts_temporary_id,
c.contacts_temporary_name as contacts_temporary_name,
c.charge_company_id as charge_company_id,
c.charge_company_temporary_id as charge_company_temporary_id,
c.charge_company_temporary_name as charge_company_temporary_name,
c.receivable_amount as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
1 as projectType,
'' as phone,
'' as email,
c.remarks as remarks,
c.contract_num as contract_num,
c.charge_way as charge_way,
c.files as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_id as charge_notice_id,
c.year as year,
c.mail_contacts_temporary_name as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
c.affirm_income as affirm_income
from pay_common_project c
left join sys_user su on c.principal_id = su.id
<where>
@@ -15,164 +48,365 @@
</where>
<!--工作组项目-->
UNION ALL
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,su.realname,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,'',gsub.charge_notice_no,gsub.charge_notice_id,g.year,gsub.mail_contacts_temporary_name,g.mission_and_objectives
,gsub.tax_rate,gsub.tax,gsub.no_tax_amount,affirm_income
select c.id as id,
g.working_group_project as charge_project,
c.charge_use as charge_use,
g.principal_id_a as principal_id,
su.realname as principal_name,
c.contacts_id_one as contacts_id,
c.contacts_temporary_id_one as contacts_temporary_id,
c.contacts_temporary_name_one as contacts_temporary_name,
c.charge_company_id as charge_company_id,
c.charge_company_temporary_id as charge_company_temporary_id,
c.charge_company_temporary_name as charge_company_temporary_name,
c.receivable_amount as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
2 as projectType,
'' as phone,
'' as email,
c.remarks as remarks,
c.contract_num as contract_num,
c.charge_way as charge_way,
'' as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_id as charge_notice_id,
g.year as year,
c.mail_contacts_temporary_name as mail_contacts_temporary_name,
g.mission_and_objectives as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
affirm_income
from pay_working_group g
left join sys_user su on g.principal_id_a = su.id
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
inner join pay_working_group_subitem c on g.id = c.working_group_id
<where>
<if test="projectId != null and projectId != ''">
AND gsub.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 会议项目-->
UNION ALL
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, su.realname,sit.company_contact_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_id,sit.pay_mode,'','','','','',''
,sit.tax_rate,sit.tax,sit.no_tax_amount,affirm_income
select c.id as id,
meeting.meeting_name as charge_project,
c.charge_use as charge_use,
meeting.director_id as principal_id,
su.realname as principal_name,
c.company_contact_id as contacts_id,
c.company_contact_temporary_id as contacts_temporary_id,
c.company_contact_name as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_id as charge_company_temporary_id,
c.company_name as charge_company_temporary_name,
c.amount_receivable as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
3 as projectType,
'' as phone,
'' as email,
c.remark as remarks,
'' as contract_num,
c.pay_mode as charge_way,
'' as files,
'' as charge_notice_no,
'' as charge_notice_id,
'' as year,
'' as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
affirm_income
from pay_meeting meeting
left join sys_user su on meeting.director_id = su.id
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
inner join pay_meeting_situation c on meeting.id = c.meeting_id
<where>
<if test="projectId != null and projectId != ''">
AND sit.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 会员项目-->
UNION ALL
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,su.realname,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 as contract_num,msub.company_temporary_id,msub.payment_method,'',msub.charge_notice_no,msub.charge_notice_file_id,pmp.particular_year,msub.post_contact_name,''
,msub.tax_rate,msub.tax,msub.no_tax_amount,affirm_income
select c.id as id,
pmp.project_name as charge_project,
c.charge_use as charge_use,
pmp.director_id as principal_id,
su.realname as principal_name,
c.company_contact_id as contacts_id,
c.company_contact_temporary_id as contacts_temporary_id,
c.company_contact_name as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_temporary_id as charge_company_temporary_id,
c.company_name as charge_company_temporary_name,
c.amount_receivable as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
4 as projectType,
'' as phone,
'' as email,
c.remark as remarks,
c.contract_no as contract_num,
c.payment_method as charge_way,
'' as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_file_id as charge_notice_id,
pmp.particular_year as year,
c.post_contact_name as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
affirm_income
from pay_member_project pmp
left join sys_user su on pmp.director_id = su.id
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
inner join pay_member_project_subitem c on pmp.id = c.project_id
<where>
<if test="projectId != null and projectId != ''">
AND msub.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 标协会员项目-->
UNION ALL
select tmsub.id,tmember.project_name,tmsub.charge_use,tmember.director_id,su.realname,tmsub.liaison_man_id,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.remark,pic.contract_num,tmsub.company_id,tmsub.payment_method,'',tmsub.charge_notice_no,tmsub.charge_notice_id,tmember.year,'',''
,tmsub.tax_rate,tmsub.tax,tmsub.no_tax_amount,affirm_income
select c.id as id,
tmember.project_name as charge_project,
c.charge_use as charge_use,
tmember.director_id as principal_id,
su.realname as principal_name,
c.liaison_man_id as contacts_id,
c.liaison_man_id as contacts_temporary_id,
c.liaison_man as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_id as charge_company_temporary_id,
c.company_name as charge_company_temporary_name,
c.amount_receivable as receivable_amount,
c.paid_amount as paid_amount,
c.invoice_requirements as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
5 as projectType,
c.mobile as phone,
c.email as email,
c.remark as remarks,
pic.contract_num as contract_num,
c.payment_method as charge_way,
'' as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_id as charge_notice_id,
tmember.year as year,
'' as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
affirm_income
from tb_member_project tmember
left join sys_user su on tmember.director_id = su.id
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
left join pay_income_contract_associated pica on pica.project_id=tmsub.id
inner join tb_member_project_subitem c on tmember.id=c.project_id
left join pay_income_contract_associated pica on pica.project_id=c.id
left join pay_income_contract pic on pica.contract_id = pic.id
<where>
<if test="projectId != null and projectId != ''">
AND tmsub.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 标协会员证书项目-->
UNION ALL
select tmps.id,tmember.project_name,tmps.charge_use,tmember.director_id,su.realname,tmps.liaison_man_id,tmps.liaison_man,tmps.company_name,tmps.amount_receivable,tmps.paid_amount,tmps.invoice_requirements,tmps.pack,tmps.in_account,tmps.make_invoice,tmps.mail,tmps.create_time,5,tmps.mobile,tmps.email,'','',tmps.company_id,tmps.payment_method,'','','',tmember.year,'',''
,tmps.tax_rate,tmps.tax,tmps.no_tax_amount,affirm_income
select c.id as id,
tmember.project_name as charge_project,
c.charge_use as charge_use,
tmember.director_id as principal_id,
su.realname as principal_name,
c.liaison_man_id as contacts_id,
c.liaison_man_id as contacts_temporary_id,
c.liaison_man as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_id as charge_company_temporary_id,
c.company_name as charge_company_temporary_name,
c.amount_receivable as receivable_amount,
c.paid_amount as paid_amount,
c.invoice_requirements as need_invoice,
c.pack as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
c.mail as mail,
c.create_time as create_time,
5 as projectType,
c.mobile as phone,
c.email as email,
'' as remarks,
'' as contract_num,
c.payment_method as charge_way,
'' as files,
'' as charge_notice_no,
'' as charge_notice_id,
tmember.year as year,
'' as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
affirm_income
from tb_member_project tmember
left join sys_user su on tmember.director_id = su.id
inner join tb_certificate_payment tmps on tmember.id=tmps.project_id
inner join tb_certificate_payment c on tmember.id=c.project_id
<where>
<if test="projectId != null and projectId != ''">
AND tmps.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
UNION ALL
SELECT
gsub.id,
g.drafting_group_project,
'',
g.principal_id_a,
su.realname,
gsub.contacts_temporary_id_one,
gsub.contacts_temporary_name_one,
gsub.charge_company_temporary_name,
'',
'',
'',
'',
'',
'',
'',
gsub.create_time,
7,
'',
'',
gsub.remarks,
'',
gsub.charge_company_temporary_id,
'',
'',
'',
'',
g.year,
'',
g.mission_and_objectives,
'',
'',
'',
c.id as id,
g.drafting_group_project as charge_project,
'' as charge_use,
g.principal_id_a as principal_id,
su.realname as principal_name,
c.contacts_id_one as contacts_id,
c.contacts_temporary_id_one as contacts_temporary_id,
c.contacts_temporary_name_one as contacts_temporary_name,
c.charge_company_id as charge_company_id,
c.charge_company_temporary_id as charge_company_temporary_id,
c.charge_company_temporary_name as charge_company_temporary_name,
'' as receivable_amount,
'' as paid_amount,
'' as need_invoice,
'' as pack,
'' as in_account,
'' as make_invoice,
'' as mail,
c.create_time as create_time,
7 as projectType,
'' as phone,
'' as email,
c.remarks as remarks,
'' as contract_num,
'' as charge_way,
'' as files,
'' as charge_notice_no,
'' as charge_notice_id,
g.year as year,
'' as mail_contacts_temporary_name,
g.mission_and_objectives as mission_and_objectives,
'' as tax_rate,
'' as tax,
'' as no_tax_amount,
''
FROM
pay_drafting_group g
LEFT JOIN
sys_user su ON g.principal_id_a = su.id
INNER JOIN
pay_drafting_group_subitem gsub ON g.id = gsub.drafting_group_id
pay_drafting_group_subitem c ON g.id = c.drafting_group_id
<where>
<if test="projectId != null and projectId != ''">
AND gsub.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 打包项目-->
UNION ALL
select ppc.id,ppc.company_temporary_name AS charge_project, 22 AS charge_use, ppc.pack_principal_id as principal_id,su.realname as principal_name,ppc.pack_contact_temporary_id as contacts_temporary_id,
ppc.pack_contact_temporary_name,ppc.company_temporary_name as charge_company_temporary_name,ppc.receivable_amount,ppc.paid_amount,ppc.need_invoice,1 as pack,ppc.in_account,ppc.make_invoice,null as mail,ppc.create_time,8 as projectType,'' as phone,'' as email,'' as remarks,ppc.contract_num,ppc.company_temporary_id as charge_company_temporary_id,ppc.charge_way,null as files,ppc.charge_notice_no,ppc.charge_notice_id,null as year, null as mail_contacts_temporary_name,'' as mission_and_objectives
,ppc.tax_rate,ppc.tax,ppc.no_tax_amount,ppc.income_affirm AS affirm_income
from pay_pack_company ppc
left join sys_user su on ppc.pack_principal_id = su.id
select c.id as id,
c.company_temporary_name AS charge_project,
22 AS charge_use,
c.pack_principal_id as principal_id,
su.realname as principal_name,
c.pack_contact_id as contacts_id,
c.pack_contact_temporary_id as contacts_temporary_id,
c.pack_contact_temporary_name as contacts_temporary_name,
c.company_id as charge_company_id,
c.company_temporary_id as charge_company_temporary_id,
c.company_temporary_name as charge_company_temporary_name,
c.receivable_amount as receivable_amount,
c.paid_amount as paid_amount,
c.need_invoice as need_invoice,
1 as pack,
c.in_account as in_account,
c.make_invoice as make_invoice,
null as mail,
c.create_time as create_time,
8 as projectType,
'' as phone,
'' as email,
'' as remarks,
c.contract_num as contract_num,
c.charge_way as charge_way,
null as files,
c.charge_notice_no as charge_notice_no,
c.charge_notice_id as charge_notice_id,
null as year,
null as mail_contacts_temporary_name,
'' as mission_and_objectives,
c.tax_rate as tax_rate,
c.tax as tax,
c.no_tax_amount as no_tax_amount,
c.income_affirm AS affirm_income
from pay_pack_company c
left join sys_user su on c.pack_principal_id = su.id
<where>
<if test="projectId != null and projectId != ''">
AND ppc.id = #{projectId}
AND c.id = #{projectId}
</if>
</where>
<!-- 功能安全中心项目-->
UNION ALL
SELECT
pfsc.id,
g.project_name,
'',
g.principal_id,
su.realname,
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
g.create_time,
9,
'',
'',
g.remarks,
'',
pfsc.company_id,
'',
'',
'',
'',
'',
'',
g.mission_and_objectives,
'',
'',
'',
pfsc.id as id,
c.project_name as charge_project,
'' as charge_use,
c.principal_id as principal_id,
su.realname as principal_name,
'' as contacts_id,
'' as contacts_temporary_id,
'' as contacts_temporary_name,
pfsc.company_id as charge_company_id,
pfsc.company_id as charge_company_temporary_id,
'' as charge_company_temporary_name,
'' as receivable_amount,
'' as paid_amount,
'' as need_invoice,
'' as pack,
'' as in_account,
'' as make_invoice,
'' as mail,
c.create_time as create_time,
9 as projectType,
'' as phone,
'' as email,
c.remarks as remarks,
'' as contract_num,
'' as charge_way,
'' as files,
'' as charge_notice_no,
'' as charge_notice_id,
'' as year,
'' as mail_contacts_temporary_name,
c.mission_and_objectives as mission_and_objectives,
'' as tax_rate,
'' as tax,
'' as no_tax_amount,
''
FROM
pay_functional_safety_center g
LEFT JOIN sys_user su ON g.principal_id = su.id
LEFT JOIN pay_functional_safety_center_subitem pfsc ON g.id = pfsc.project_id
pay_functional_safety_center c
LEFT JOIN sys_user su ON c.principal_id = su.id
LEFT JOIN pay_functional_safety_center_subitem pfsc ON c.id = pfsc.project_id
<where>
<if test="projectId != null and projectId != ''">
AND pfsc.id = #{projectId}
@@ -221,183 +221,149 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
if(!Objects.isNull(payCommonProject.getPack())){
projectDetailVO.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payCommonProject.getPack())));
}
// 标协会员和会议,直接查询企业,联系人 加功能安全中心
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE3)
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payCommonProject.getChargeCompanyTemporaryId());
if(Objects.isNull(payCompanyManagement)){
throw new JeroBootException("企业不存在!");
}
if(Objects.equals(payCompanyManagement.getStatus(), PayCompanyManagementTemporaryCommon.STATUS2)){
projectDetailVO.setCompanyName(payCompanyManagement.getCompanyName() + PayCompanyManagementTemporaryCommon.CHECK);
}else{
projectDetailVO.setCompanyName(payCompanyManagement.getCompanyName());
}
projectDetailVO.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagement.getCompanyPhone()));
projectDetailVO.setDutyCode(payCompanyManagement.getDutyCode());
projectDetailVO.setBankAccountName(payCompanyManagement.getBankAccountName());
projectDetailVO.setBankAccount(payCompanyManagement.getBankAccount());
projectDetailVO.setOpeningBank(payCompanyManagement.getOpeningBank());
projectDetailVO.setPostalCodeCompany(payCompanyManagement.getPostalCode());
projectDetailVO.setCompanyAddress(payCompanyManagement.getCompanyAddress());
projectDetailVO.setLinkBankNumber(payCompanyManagement.getLinkBankNumber());
//功能安全中心添加企业联系人
if (Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
List<SafetyCenterSubitemContacts> subitemContacts = safetyCenterSubitemContactsService.listBySubitemId(projectId);
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = new ArrayList<>();
for (SafetyCenterSubitemContacts subitemContact : subitemContacts) {
PayContactsManagement contactsManagement = payContactsManagementService.getById(subitemContact.getContactsId());
PayWorkingGroupSubItemContacts p = new PayWorkingGroupSubItemContacts();
p.setContactsTemporaryName(contactsManagement.getName());
p.setGender(contactsManagement.getGender());
if(!Objects.isNull(contactsManagement.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(contactsManagement.getGender())));
}
p.setPost(contactsManagement.getPost());
if(!StringUtils.isBlank(contactsManagement.getPhone())){
p.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone()));
}
if(!StringUtils.isBlank(contactsManagement.getEmail())){
p.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail()));
}
p.setPostalCodeContacts(contactsManagement.getPostalCode());
p.setContactAddress(contactsManagement.getContactAddress());
listPayWorkingGroupSubItemContacts.add(p);
}
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
}else {
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payCommonProject.getContactsTemporaryId());
if(Objects.isNull(payContactsManagement)){
throw new JeroBootException("联系人不存在!");
}
projectDetailVO.setName(payContactsManagement.getName());
projectDetailVO.setGender(payContactsManagement.getGender());
if(!Objects.isNull(payContactsManagement.getGender())){
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagement.getGender())));
}
projectDetailVO.setPost(payContactsManagement.getPost());
if(!StringUtils.isBlank(payContactsManagement.getPhone())){
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagement.getEmail())){
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail()));
}
projectDetailVO.setPostalCodeContacts(payContactsManagement.getPostalCode());
projectDetailVO.setContactAddress(payContactsManagement.getContactAddress());
}
}else{
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId());
if(Objects.isNull(payCompanyManagementTemporary)){
throw new JeroBootException("企业不存在!");
}
String contactsTemporaryId = payCommonProject.getContactsTemporaryId();
String contactsId = payCommonProject.getContactsId();
String chargeCompanyTemporaryId = payCommonProject.getChargeCompanyTemporaryId();
String chargeCompanyId = payCommonProject.getChargeCompanyId();
projectDetailVO.setCompanyName(payCompanyManagementTemporary.getCompanyName());
projectDetailVO.setPostalCodeCompany(payCompanyManagementTemporary.getPostalCode());
projectDetailVO.setCompanyAddress(payCompanyManagementTemporary.getCompanyAddress());
projectDetailVO.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagementTemporary.getCompanyPhone()));
projectDetailVO.setDutyCode(payCompanyManagementTemporary.getDutyCode());
projectDetailVO.setBankAccountName(payCompanyManagementTemporary.getBankAccountName());
projectDetailVO.setOpeningBank(payCompanyManagementTemporary.getOpeningBank());
// 如果企业临时id和企业id相同,就查询企业表否则查询企业临时表
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getByAllTable(chargeCompanyId,chargeCompanyTemporaryId);
projectDetailVO.setCompanyName(payCompanyManagementTemporary.getCompanyName());
projectDetailVO.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagementTemporary.getCompanyPhone()));
projectDetailVO.setPostalCodeCompany(payCompanyManagementTemporary.getPostalCode());
projectDetailVO.setCompanyAddress(payCompanyManagementTemporary.getCompanyAddress());
projectDetailVO.setDutyCode(payCompanyManagementTemporary.getDutyCode());
projectDetailVO.setBankAccountName(payCompanyManagementTemporary.getBankAccountName());
projectDetailVO.setBankAccount(payCompanyManagementTemporary.getBankAccount());
projectDetailVO.setOpeningBank(payCompanyManagementTemporary.getOpeningBank());
projectDetailVO.setLinkBankNumber(payCompanyManagementTemporary.getLinkBankNumber());
// 工作组 添加企业联系人
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE2)){
PayWorkingGroupSubItem payWorkingGroupSubItem = payWorkingGroupSubItemService.getById(projectId);
if(Objects.isNull(payWorkingGroupSubItem)){
throw new JeroBootException("项目不存在!");
//功能安全中心添加企业联系人
if (Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
List<SafetyCenterSubitemContacts> subitemContacts = safetyCenterSubitemContactsService.listBySubitemId(projectId);
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = new ArrayList<>();
for (SafetyCenterSubitemContacts subitemContact : subitemContacts) {
PayContactsManagement contactsManagement = payContactsManagementService.getById(subitemContact.getContactsId());
PayWorkingGroupSubItemContacts p = new PayWorkingGroupSubItemContacts();
p.setContactsTemporaryName(contactsManagement.getName());
p.setGender(contactsManagement.getGender());
if(!Objects.isNull(contactsManagement.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(contactsManagement.getGender())));
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItemContacts.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId,projectId);
queryPayWorkingGroupSubItemContacts.orderByAsc(PayWorkingGroupSubItemContacts::getOrderNum);
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
List<String> listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
listPayWorkingGroupSubItemContacts.forEach(p->{
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listNew)){
return;
}
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
p.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
p.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
});
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
}
p.setPost(contactsManagement.getPost());
if(!StringUtils.isBlank(contactsManagement.getPhone())){
p.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone()));
}
}else if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE7)) {
PayDraftingGroupSubItem payDraftingGroupSubItem = payDraftingGroupSubItemService.getById(projectId);
if(Objects.isNull(payDraftingGroupSubItem)){
throw new JeroBootException("项目不存在!");
if(!StringUtils.isBlank(contactsManagement.getEmail())){
p.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail()));
}
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryPayDraftingGroupSubItemContacts = new LambdaQueryWrapper<>();
queryPayDraftingGroupSubItemContacts.in(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,projectId);
queryPayDraftingGroupSubItemContacts.orderByAsc(PayDraftingGroupSubItemContacts::getOrderNum);
List<PayDraftingGroupSubItemContacts> listPayDraftingGroupSubItemContacts = payDraftingGroupSubItemContactsService.list(queryPayDraftingGroupSubItemContacts);
if(!CollectionUtils.isEmpty(listPayDraftingGroupSubItemContacts)){
List<String> listIds = listPayDraftingGroupSubItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
listPayDraftingGroupSubItemContacts.forEach(p->{
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listNew)){
return;
}
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
p.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
p.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
});
List<PayWorkingGroupSubItemContacts> payWorkingGroupSubItemContactsList = JSON.parseArray(JSONArray.toJSONString(listPayDraftingGroupSubItemContacts), PayWorkingGroupSubItemContacts.class);
projectDetailVO.setPayWorkingGroupSubItemContactsList(payWorkingGroupSubItemContactsList);
}
p.setPostalCodeContacts(contactsManagement.getPostalCode());
p.setContactAddress(contactsManagement.getContactAddress());
listPayWorkingGroupSubItemContacts.add(p);
}
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
}
// 工作组 添加企业联系人
else if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE2)){
PayWorkingGroupSubItem payWorkingGroupSubItem = payWorkingGroupSubItemService.getById(projectId);
if(Objects.isNull(payWorkingGroupSubItem)){
throw new JeroBootException("项目不存在!");
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItemContacts.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId,projectId);
queryPayWorkingGroupSubItemContacts.orderByAsc(PayWorkingGroupSubItemContacts::getOrderNum);
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
List<String> listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
listPayWorkingGroupSubItemContacts.forEach(p->{
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listNew)){
return;
}
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
p.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
p.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
});
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
}
}else {
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
if(Objects.isNull(payContactsManagementTemporary)){
throw new JeroBootException("联系人不存在!");
}
projectDetailVO.setName(payContactsManagementTemporary.getName());
projectDetailVO.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
projectDetailVO.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
projectDetailVO.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress());
}
}
// 起草组项目
else if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE7)) {
PayDraftingGroupSubItem payDraftingGroupSubItem = payDraftingGroupSubItemService.getById(projectId);
if(Objects.isNull(payDraftingGroupSubItem)){
throw new JeroBootException("项目不存在!");
}
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryPayDraftingGroupSubItemContacts = new LambdaQueryWrapper<>();
queryPayDraftingGroupSubItemContacts.in(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,projectId);
queryPayDraftingGroupSubItemContacts.orderByAsc(PayDraftingGroupSubItemContacts::getOrderNum);
List<PayDraftingGroupSubItemContacts> listPayDraftingGroupSubItemContacts = payDraftingGroupSubItemContactsService.list(queryPayDraftingGroupSubItemContacts);
if(!CollectionUtils.isEmpty(listPayDraftingGroupSubItemContacts)){
List<String> listIds = listPayDraftingGroupSubItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
listPayDraftingGroupSubItemContacts.forEach(p->{
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listNew)){
return;
}
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
p.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
p.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
});
List<PayWorkingGroupSubItemContacts> payWorkingGroupSubItemContactsList = JSON.parseArray(JSONArray.toJSONString(listPayDraftingGroupSubItemContacts), PayWorkingGroupSubItemContacts.class);
projectDetailVO.setPayWorkingGroupSubItemContactsList(payWorkingGroupSubItemContactsList);
}
}
}else {
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getByAllTable(contactsId,contactsTemporaryId);
if(Objects.isNull(payContactsManagementTemporary)){
throw new JeroBootException("联系人不存在!");
}
projectDetailVO.setName(payContactsManagementTemporary.getName());
projectDetailVO.setGender(payContactsManagementTemporary.getGender());
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
projectDetailVO.setPost(payContactsManagementTemporary.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
}
projectDetailVO.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress());
}
//会员权益
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)){
TbMemberProjectSubitem takeEffectInfo = tbMemberProjectSubitemService.getTakeEffectInfo(payCommonProject.getChargeCompanyTemporaryId());
TbMemberProjectSubitem takeEffectInfo = tbMemberProjectSubitemService.getTakeEffectInfo(chargeCompanyId);
if (takeEffectInfo != null){
projectDetailVO.setMemberNo(takeEffectInfo.getMemberNo());
projectDetailVO.setEffectiveDate(takeEffectInfo.getEffectiveDate());
@@ -33,7 +33,7 @@ import java.util.List;
@Slf4j
@Api(tags = "年度数据锁定表")
@RestController
@RequestMapping("annualDataLocking")
@RequestMapping("sys/annualDataLocking")
public class AnnualDataLockingController extends JeroController<AnnualDataLocking, AnnualDataLockingService> {
/**
* 服务对象
@@ -1,5 +1,7 @@
package com.jero.project.service;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.jero.common.common.RoleCommon;
import com.jero.common.constant.CacheConstant;
import com.jero.common.service.ProjectDetailService;
@@ -22,6 +24,7 @@ import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
@@ -30,9 +33,13 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.project.mapper.AnnualDataLockingMapper;
import com.jero.project.entity.AnnualDataLocking;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@@ -42,6 +49,7 @@ import javax.annotation.Resource;
*@date 2024-07-24 13:51
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMapper, AnnualDataLocking> {
@Resource
private ISysUserService sysUserService;
@@ -79,24 +87,49 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
public void add(AnnualDataLocking annualDataLocking) {
this.save(annualDataLocking);
String year = annualDataLocking.getYear();
//会议项目
//第一步先获取所有企业和联系人
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYear(year);
List<String> meetingSituationsCompanyIdList = meetingSituations.stream().map(PayMeetingSituation::getCompanyId).distinct().collect(Collectors.toList());
List<String> meetingSituationsContactIdList = meetingSituations.stream().map(PayMeetingSituation::getCompanyContactId).distinct().collect(Collectors.toList());
List<String> meetingSituationsPostContactIdList = meetingSituations.stream().map(PayMeetingSituation::getPostContactId).distinct().collect(Collectors.toList());
meetingSituationsContactIdList.addAll(meetingSituationsPostContactIdList);
ArrayList<String> distinctContactIdList = CollectionUtil.distinct(meetingSituationsContactIdList);
//生成企业和联系人临时数据
List<PayCompanyManagementTemporary> companyTemporaryList = companyTemporaryService.insertList(meetingSituationsCompanyIdList,year);
Map<String, PayCompanyManagementTemporary> companyTemporaryMap = CollStreamUtil.toIdentityMap(companyTemporaryList, PayCompanyManagementTemporary::getCompanyId);
List<PayContactsManagementTemporary> contactsTemporaryList = contactsTemporaryService.insertList(distinctContactIdList,year);
Map<String, PayContactsManagementTemporary> contactsTemporaryMap = CollStreamUtil.toIdentityMap(contactsTemporaryList, PayContactsManagementTemporary::getContactId);
//会议项目
List<PayMeetingSituation> updateMeetingSituationList = new ArrayList<>();
for (PayMeetingSituation meetingSituation : meetingSituations) {
String companyId = meetingSituation.getCompanyId();
String companyContactId = meetingSituation.getCompanyContactId();
String postContactId = meetingSituation.getPostContactId();
//获得临时表id
PayCompanyManagementTemporary companyTemporary = companyTemporaryService.insertCompanyManagementTemporary(companyId);
PayContactsManagementTemporary contactsTemporary = contactsTemporaryService.insertContactsManagementTemporary(companyContactId);
PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryService.insertContactsManagementTemporary(postContactId);
companyTemporaryMap.get(companyId);
PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId);
if (companyTemporary == null){
continue;
}
PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId);
if (contactsTemporary == null){
continue;
}
//更新临时表id
PayMeetingSituation update = new PayMeetingSituation();
update.setId(meetingSituation.getId());
if (StringUtils.isNotBlank(postContactId)){
PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId);
if (contactsTemporary1 != null){
update.setPostContactTemporaryId(contactsTemporary1.getId());
}
}
update.setCompanyTemporaryId(companyTemporary.getId());
update.setCompanyContactTemporaryId(contactsTemporary.getId());
update.setPostContactTemporaryId(contactsTemporary1.getId());
meetingSituationMapper.updateById(update);
updateMeetingSituationList.add(update);
}
meetingSituationService.updateBatchById(updateMeetingSituationList);
}
/**
@@ -64,6 +64,10 @@ public class PayCompanyManagementTemporary implements Serializable {
@Excel(name = "银行账号", width = 15)
@ApiModelProperty(value = "银行账号")
private java.lang.String bankAccount;
/**联行号*/
@Excel(name = "联行号", width = 15)
@ApiModelProperty(value = "联行号")
private String linkBankNumber;
/**税号*/
@Excel(name = "税号", width = 15)
@ApiModelProperty(value = "税号")
@@ -101,4 +105,7 @@ public class PayCompanyManagementTemporary implements Serializable {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private java.util.Date updateTime;
/**年份*/
@ApiModelProperty(value = "数据锁定年份")
private String year;
}
@@ -90,4 +90,7 @@ public class PayContactsManagementTemporary implements Serializable {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private java.util.Date updateTime;
/**年份*/
@ApiModelProperty(value = "数据锁定年份")
private String year;
}
@@ -4,6 +4,8 @@ package com.jero.temporary.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import java.util.List;
/**
* @Description: pay_company_management_temporary
* @Author: jeecg-boot
@@ -21,4 +23,8 @@ public interface IPayCompanyManagementTemporaryService extends IService<PayCompa
* @Exception
*/
PayCompanyManagementTemporary insertCompanyManagementTemporary(String companyId);
List<PayCompanyManagementTemporary> insertList(List<String> companyIdList, String year);
PayCompanyManagementTemporary getByAllTable(String companyId, String companyTemporaryId);
}
@@ -4,6 +4,8 @@ package com.jero.temporary.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import java.util.List;
/**
* @Description: pay_contacts_management_temporary
* @Author: jeecg-boot
@@ -22,4 +24,8 @@ public interface IPayContactsManagementTemporaryService extends IService<PayCont
*/
PayContactsManagementTemporary insertContactsManagementTemporary(String contactsId);
List<PayContactsManagementTemporary> insertList(List<String> contactsIdList, String year);
PayContactsManagementTemporary getByAllTable(String contactsId, String contactsTemporaryId);
}
@@ -12,8 +12,11 @@ import com.jero.temporary.mapper.PayCompanyManagementTemporaryMapper;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
@@ -61,4 +64,45 @@ public class PayCompanyManagementTemporaryServiceImpl extends ServiceImpl<PayCom
payCompanyManagementTemporaryService.save(payCompanyManagementTemporary);
return payCompanyManagementTemporary;
}
@Override
public List<PayCompanyManagementTemporary> insertList(List<String> companyIdList, String year) {
List<PayCompanyManagementTemporary> temporaryList = new ArrayList<>();
List<PayCompanyManagement> payCompanyManagements = payCompanyManagementService.listByIds(companyIdList);
for (PayCompanyManagement payCompanyManagement : payCompanyManagements) {
// 企业管理表
if (Objects.equals(payCompanyManagement.getStatus(), PayCompanyManagementTemporaryCommon.STATUS2)) {
payCompanyManagement.setCompanyName(payCompanyManagement.getCompanyName() + PayCompanyManagementTemporaryCommon.CHECK);
}
String str = JSONObject.toJSONString(payCompanyManagement);
PayCompanyManagementTemporary temporary = JSON.parseObject(str, PayCompanyManagementTemporary.class);
temporary.setCompanyId(temporary.getId());
temporary.setCreateBy(null);
temporary.setCreateTime(null);
temporary.setUpdateBy(null);
temporary.setUpdateTime(null);
temporary.setId(null);
temporary.setYear(year);
temporaryList.add(temporary);
}
this.saveBatch(temporaryList);
return temporaryList;
}
@Override
public PayCompanyManagementTemporary getByAllTable(String companyId, String companyTemporaryId) {
PayCompanyManagementTemporary temporary = new PayCompanyManagementTemporary();
// 如果企业临时id和企业id相同,就查询企业表否则查询企业临时表
if (StringUtils.isNotBlank(companyTemporaryId) && Objects.equals(companyId,companyTemporaryId)){
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(companyId);
if(Objects.equals(payCompanyManagement.getStatus(), PayCompanyManagementTemporaryCommon.STATUS2)){
payCompanyManagement.setCompanyName(payCompanyManagement.getCompanyName() + PayCompanyManagementTemporaryCommon.CHECK);
}
String str = JSONObject.toJSONString(payCompanyManagement);
temporary = JSON.parseObject(str, PayCompanyManagementTemporary.class);
}else {
temporary = this.getById(companyTemporaryId);
}
return temporary;
}
}
@@ -4,16 +4,20 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.temporary.common.PayCompanyManagementTemporaryCommon;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.mapper.PayContactsManagementTemporaryMapper;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
@@ -57,4 +61,38 @@ public class PayContactsManagementTemporaryServiceImpl extends ServiceImpl<PayCo
payContactsManagementTemporaryService.save(payContactsManagementTemporary);
return payContactsManagementTemporary;
}
@Override
public List<PayContactsManagementTemporary> insertList(List<String> contactsIdList, String year) {
List<PayContactsManagementTemporary> temporaryList = new ArrayList<>();
List<PayContactsManagement> payContactsManagements = payContactsManagementService.listByIds(contactsIdList);
for (PayContactsManagement payContactsManagement : payContactsManagements) {
String str = JSONObject.toJSONString(payContactsManagement);
PayContactsManagementTemporary temporary = JSON.parseObject(str,PayContactsManagementTemporary.class);
temporary.setContactId(temporary.getId());
temporary.setId(null);
temporary.setCreateBy(null);
temporary.setCreateTime(null);
temporary.setUpdateBy(null);
temporary.setUpdateTime(null);
temporary.setYear(year);
temporaryList.add(temporary);
}
this.saveBatch(temporaryList);
return temporaryList;
}
@Override
public PayContactsManagementTemporary getByAllTable(String contactsId, String contactsTemporaryId) {
PayContactsManagementTemporary temporary = new PayContactsManagementTemporary();
// 如果企业临时id和企业id相同,就查询企业表否则查询企业临时表
if (StringUtils.isNotBlank(contactsTemporaryId) && Objects.equals(contactsId,contactsTemporaryId)){
PayContactsManagement contactsManagement = payContactsManagementService.getById(contactsId);
String str = JSONObject.toJSONString(contactsManagement);
temporary = JSON.parseObject(str, PayContactsManagementTemporary.class);
}else {
temporary = this.getById(contactsId);
}
return temporary;
}
}