update:工作组按照sortNo字段排序,打包关联项目的排序

This commit is contained in:
sunzheng
2024-07-09 10:35:04 +08:00
parent 9e0ecc0ab0
commit 8423a1b0e8
6 changed files with 45 additions and 31 deletions
+11 -21
View File
@@ -148,28 +148,18 @@ INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `com
-- 20240705 标协会员的视图创建
CREATE VIEW v_member_project_subitem AS
SELECT
`t1`.`id` AS `id`,
`t1`.`member_no` AS `member_no`,
`t1`.`company_name` AS `company_name`,
`t1`.`liaison_man_id` AS `liaison_man_id`,
`t1`.`member_status` AS `member_status`,
`t1`.`effective_date` AS `effective_date`,
`t1`.`invalidation_date` AS `invalidation_date`,
`t1`.`create_time` AS `create_time`,
`t1`.`project_id` AS `project_id`
FROM
(
`tb_member_project_subitem` `t1`
JOIN ( SELECT `tb_member_project_subitem`.`company_id` AS `company_id`, max( `tb_member_project_subitem`.`create_time` ) AS `max_create_time` FROM `tb_member_project_subitem` GROUP BY `tb_member_project_subitem`.`company_id` ) `t2` ON (((
`t1`.`company_id` = `t2`.`company_id`
)
AND ( `t1`.`create_time` = `t2`.`max_create_time` ))))
WHERE
(
`t1`.`member_status` IS NOT NULL);
select `t1`.`id` AS `id`,`t1`.`member_no` AS `member_no`,`t1`.`company_name` AS `company_name`,`t1`.`liaison_man_id` AS `liaison_man_id`,
`t1`.`member_status` AS `member_status`,`t1`.`effective_date` AS `effective_date`,`t1`.`invalidation_date` AS `invalidation_date`,
`t1`.`create_time` AS `create_time`,`t1`.`project_id` AS `project_id` from (`tb_member_project_subitem` `t1` join
(select `tb_member_project_subitem`.`company_id` AS `company_id`,max(`tb_member_project_subitem`.`create_time`) AS `max_create_time`
from `tb_member_project_subitem` group by `tb_member_project_subitem`.`company_id`) `t2` on(((`t1`.`company_id` = `t2`.`company_id`)
and (`t1`.`create_time` = `t2`.`max_create_time`)))) where (`t1`.`member_status` is not null);
-- 20240708 工作组成员新增是否审核,是否确认凭证字段
ALTER TABLE `tb_member_project_subitem`
add column check_payment_status tinyint(1) comment '是否审核(1:是,0:否)',
add column confirm_voucher tinyint(1) comment '是否确认凭证(1:是,0:否)';
add column confirm_voucher tinyint(1) comment '是否确认凭证(1:是,0:否)';
-- 20240708 工作组表新增自定义排序字段
ALTER TABLE `pay_working_group`
add column sort_no int comment '自定义排序顺序'
@@ -30,13 +30,14 @@
( 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,
affirm_income
affirm_income,
project.sort_no
from
(
<!-- 普通项目-->
select c.id,c.charge_project,c.invoice_amount, 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,pcm.phone,pcm.email,affirm_income
,c.mail_contacts_id,c.mail_contacts_temporary_id,c.mail_contacts_temporary_name
,c.mail_contacts_id,c.mail_contacts_temporary_id,c.mail_contacts_temporary_name, NULL as sort_no
from pay_common_project c
left join sys_user su on c.principal_id = su.id
LEFT JOIN pay_contacts_management pcm ON c.contacts_temporary_id = pcm.id
@@ -56,7 +57,7 @@
UNION ALL
select gsub.id,g.working_group_project,gsub.invoice_amount, gsub.charge_use, g.principal_id_a,su.realname,gsubc.contacts_temporary_id as contacts_temporary_id,gsubc.contacts_temporary_name as 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,pcm.phone,pcm.email,affirm_income
,gsub.mail_contacts_id,gsub.mail_contacts_temporary_id,gsub.mail_contacts_temporary_name
,gsub.mail_contacts_id,gsub.mail_contacts_temporary_id,gsub.mail_contacts_temporary_name,g.sort_no
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
@@ -77,7 +78,7 @@
UNION ALL
select sit.id,meeting.meeting_name,sit.invoice_amount,sit.charge_use, meeting.director_id, su.realname,sit.company_contact_temporary_id AS contacts_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,pcm.phone,pcm.email,affirm_income
,sit.post_contact_id as mail_contacts_id,sit.post_contact_temporary_id as mail_contacts_temporary_id,sit.post_contact_name as mail_contacts_temporary_name
,sit.post_contact_id as mail_contacts_id,sit.post_contact_temporary_id as mail_contacts_temporary_id,sit.post_contact_name as mail_contacts_temporary_name, NULL as sort_no
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
@@ -98,7 +99,7 @@
UNION ALL
select msub.id,pmp.project_name,msub.invoice_amount,msub.charge_use,pmp.director_id, su.realname,msub.company_contact_temporary_id AS contacts_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,pcm.phone,pcm.email,affirm_income
,msub.post_contact_id as mail_contacts_id,msub.post_contact_temporary_id as mail_contacts_temporary_id,msub.post_contact_name as mail_contacts_temporary_name
,msub.post_contact_id as mail_contacts_id,msub.post_contact_temporary_id as mail_contacts_temporary_id,msub.post_contact_name as mail_contacts_temporary_name, NULL as sort_no
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
@@ -118,7 +119,7 @@
UNION ALL
select tmsub.id,tmember.project_name,tmsub.invoice_amount,tmsub.charge_use,tmember.director_id, su.realname,'',pcm.name as contacts_temporary_name,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,pcm.phone,pcm.email,affirm_income
,null as mail_contacts_id,null as mail_contacts_temporary_id,null as mail_contacts_temporary_name
,null as mail_contacts_id,null as mail_contacts_temporary_id,null as mail_contacts_temporary_name, NULL as sort_no
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
@@ -138,7 +139,7 @@
UNION ALL
select tcp.id,tmember.project_name,tcp.invoice_amount,tcp.charge_use,tmember.director_id, su.realname,'',pcm.name as contacts_temporary_name,tcp.company_name,tcp.amount_receivable,
tcp.paid_amount,tcp.invoice_requirements,tcp.pack,tcp.in_account,tcp.make_invoice,tcp.mail,tcp.create_time,6,pcm.phone,pcm.email,affirm_income
,null as mail_contacts_id,null as mail_contacts_temporary_id,null as mail_contacts_temporary_name
,null as mail_contacts_id,null as mail_contacts_temporary_id,null as mail_contacts_temporary_name, NULL as sort_no
from tb_member_project tmember
left join sys_user su on tmember.director_id = su.id
inner join tb_certificate_payment tcp on tmember.id = tcp.project_id
@@ -166,7 +167,19 @@
<if test="paymentDate != null and paymentDate != ''">
AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate}
</if>
GROUP BY ppcp.project_id ORDER BY project.paid_amount asc,project.create_time desc
GROUP BY ppcp.project_id
ORDER BY
CASE
WHEN project.projectType = 2 THEN 0
ELSE 1
END,
CASE
WHEN project.projectType = 2 AND project.sort_no IS NULL THEN 1
WHEN project.projectType = 2 THEN 0
END,
project.sort_no ASC,
project.paid_amount ASC,
project.create_time DESC
</select>
<select id="queryPackListAll" resultType="com.jero.project.entity.PayCommonProject">
SELECT * FROM (
@@ -379,6 +379,7 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
updatePayWorkingGroup.set(PayWorkingGroup::getMissionAndObjectives,payWorkingGroup.getMissionAndObjectives());
updatePayWorkingGroup.set(PayWorkingGroup::getRemarks,payWorkingGroup.getRemarks());
updatePayWorkingGroup.set(PayWorkingGroup::getPayFlag,payWorkingGroup.getPayFlag());
updatePayWorkingGroup.set(PayWorkingGroup::getSortNo,payWorkingGroup.getSortNo());
payWorkingGroupService.update(updatePayWorkingGroup);
return Result.OK("编辑成功!");
}
@@ -378,4 +378,7 @@ public class PayCommonProject implements Serializable {
@ApiModelProperty(value = "权益状态")
@TableField(exist = false)
private String equityStatus;
@ApiModelProperty(value = "自定义排序顺序")
private Integer sortNo;
}
@@ -160,4 +160,7 @@ public class PayWorkingGroup implements Serializable {
@TableField(exist = false)
@ApiModelProperty(value = "企业名称")
private String companyName;
@ApiModelProperty(value = "自定义排序顺序")
private Integer sortNo;
}
@@ -24,7 +24,8 @@
pwg.create_time AS createTime,
pwg.update_by AS updateBy,
pwg.update_time AS updateTime,
pwg.pay_flag AS payFlag
pwg.pay_flag AS payFlag,
pwg.sort_no AS sortNo
FROM pay_working_group pwg
left join sys_user su on pwg.principal_id_a = su.id
left join sys_user su1 on pwg.principal_id_b = su.id
@@ -61,7 +62,10 @@
and pwgs.charge_company_temporary_name like concat('%', #{payWorkingGroup.companyName}, '%')
</if>
</where>
ORDER BY pwg.create_time DESC
ORDER BY
CASE WHEN pwg.sort_no IS NULL THEN 1 ELSE 0 END ASC,
pwg.sort_no ASC,
pwg.create_time DESC
</select>
<select id="queryListByCompany" resultType="com.jero.project.vo.PayWorkingGroupVO">
SELECT