diff --git a/db/24年6月变更.sql b/db/24年6月变更.sql
index d185ef55..54896d6f 100644
--- a/db/24年6月变更.sql
+++ b/db/24年6月变更.sql
@@ -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:否)';
\ No newline at end of file
+ add column confirm_voucher tinyint(1) comment '是否确认凭证(1:是,0:否)';
+
+-- 20240708 工作组表新增自定义排序字段
+ALTER TABLE `pay_working_group`
+ add column sort_no int comment '自定义排序顺序'
\ No newline at end of file
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml
index dcac6bce..ca99ebe3 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml
@@ -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 @@
AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate}
- 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