打包管理

This commit is contained in:
梁琦涛
2021-09-13 16:21:02 +08:00
parent d952cb3cc0
commit 51cd7a194a
4 changed files with 66 additions and 12 deletions
@@ -14,6 +14,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.pack.common.PackCommon;
import com.jero.pack.entity.PayPackCompany;
@@ -89,6 +90,16 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
input.setCompanyId(payPackCompany.getCompanyId());
input.setPackYear(payPackCompany.getPackYear());
List<PayCommonProject> list = payPackCompanyProjectService.queryListAll(input);
if(!CollectionUtils.isEmpty(list)){
list.forEach(p->{
if(!StringUtils.isBlank(p.getPhone())){
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
}
if(!StringUtils.isBlank(p.getEmail())){
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
});
}
return Result.OK(list);
}
@@ -3,11 +3,34 @@
<mapper namespace="com.jero.pack.mapper.PayPackCompanyProjectMapper">
<select id="queryListAll" resultType="com.jero.project.entity.PayCommonProject">
select project.*,ppcp.come from pay_pack_company_project ppcp
select
project.id,
project.charge_project,
project.charge_use,
project.principal_id,
project.principal_name,
project.contacts_temporary_id,
project.contacts_temporary_name,
project.charge_company_temporary_name,
project.receivable_amount,
project.paid_amount,
project.need_invoice,
project.pack,
project.in_account,
project.make_invoice,
project.mail,
project.create_time,
project.projectType,
ppcp.come,
IF
( project.phone = '' or project.phone IS NULL, pcmt.phone, project.phone ) AS phone,
IF
( project.email = '' or project.email IS NULL, pcmt.email, project.email ) AS email
from pay_pack_company_project ppcp
LEFT JOIN
(
<!-- 普通项目-->
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_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
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
from pay_common_project c
<where>
<if test="companyId != null and companyId != ''">
@@ -22,7 +45,7 @@
</where>
<!--工作组项目-->
UNION ALL
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,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
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,'',''
from pay_working_group g
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
<where>
@@ -38,7 +61,7 @@
</where>
<!-- 会议项目-->
UNION ALL
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_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
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,'',''
from pay_meeting meeting
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
<where>
@@ -54,7 +77,7 @@
</where>
<!-- 会员项目-->
UNION ALL
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_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
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,'',''
from pay_member_project pmp
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
<where>
@@ -70,7 +93,7 @@
</where>
<!-- 标协会员项目-->
UNION ALL
select tmsub.id,tmember.project_name,tmsub.charge_use,'','',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
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,mobile,email
from tb_member_project tmember
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
<where>
@@ -85,6 +108,7 @@
</if>
</where>
) project ON project.id = ppcp.project_id
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = project.contacts_temporary_id
LEFT JOIN pay_payment_record ppr ON ppr.project_id = project.id
<if test="paymentDate != null and paymentDate != ''">
AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate}
@@ -78,10 +78,18 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
if(CollectionUtils.isEmpty(list)){
throw new JeroBootException("项目下企业不匹配!");
}
payPackCompanyProject.setProjectType(list.get(0).getProjectType());
payPackCompanyProject.setProjectId(s1);
payPackCompanyProject.setCome(PackCommon.COME2);
listPayPackCompanyProject.add(payPackCompanyProject);
LambdaQueryWrapper<PayPackCompanyProject> query = new LambdaQueryWrapper<>();
query.eq(PayPackCompanyProject::getProjectId,s1);
List<PayPackCompanyProject> listQuery = payPackCompanyProjectService.list(query);
if(!CollectionUtils.isEmpty(listQuery)){
throw new JeroBootException("项目已打包!");
}
PayPackCompanyProject payPackCompanyProjectNew = new PayPackCompanyProject();
payPackCompanyProjectNew.setProjectType(list.get(0).getProjectType());
payPackCompanyProjectNew.setProjectId(s1);
payPackCompanyProjectNew.setPackId(payPackCompanyProject.getPackId());
payPackCompanyProjectNew.setCome(PackCommon.COME2);
listPayPackCompanyProject.add(payPackCompanyProjectNew);
}
LambdaQueryWrapper<PayPackCompanyProject> query = new LambdaQueryWrapper<>();
query.in(PayPackCompanyProject::getProjectId, Arrays.asList(payPackCompanyProject.getProjectIds()));
@@ -94,7 +102,7 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
listPayPackCompanyProject.forEach(p->{
projectPackService.updateProjectStatus(p.getProjectId(),String.valueOf(p.getProjectType()),String.valueOf(PackCommon.PACKAGING1),payPackCompanyProject.getPackId());
});
payPackCompanyProjectService.save(payPackCompanyProject);
payPackCompanyProjectService.saveBatch(listPayPackCompanyProject);
}
}
@@ -203,5 +203,16 @@ public class PayCommonProject implements Serializable {
@TableField(exist = false)
@ApiModelProperty(value = "来源(1:收入合同,2:打包管理)")
private Integer come;
/**
* 联系人电话
*/
@TableField(exist = false)
@ApiModelProperty(value = "联系人电话")
private String phone;
/**
* 联系人邮箱
*/
@TableField(exist = false)
@ApiModelProperty(value = "联系人邮箱")
private String email;
}