Merge branch '2023年7月变更'
# Conflicts: # jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
ALTER TABLE pay_working_group_subitem
|
||||
ADD COLUMN label varchar(50) NULL COMMENT '标签';
|
||||
|
||||
ALTER TABLE pay_meeting_situation
|
||||
ADD COLUMN guests_upload_file_flag tinyint NULL COMMENT '嘉宾上传文件标识';
|
||||
|
||||
create table pay_meeting_guests_file
|
||||
(
|
||||
id varchar(36) not null comment 'id',
|
||||
meeting_id varchar(50) null comment '会议id',
|
||||
contacts_id varchar(50) null comment '联系人id',
|
||||
file_id varchar(50) null comment '文件id',
|
||||
constraint Index_1
|
||||
unique (id)
|
||||
)
|
||||
comment '会议嘉宾文件表';
|
||||
|
||||
alter table pay_meeting_guests_file
|
||||
add primary key (id);
|
||||
|
||||
ALTER TABLE sys_announcement ADD deadline datetime COMMENT '截止时间';
|
||||
|
||||
CREATE TABLE sys_notice (
|
||||
id VARCHAR(50) PRIMARY KEY COMMENT 'id',
|
||||
notice_name VARCHAR(100) NULL COMMENT '公告名称',
|
||||
notice_content VARCHAR(300) NULL COMMENT '公告内容',
|
||||
notice_file VARCHAR(1000) NULL COMMENT '附件',
|
||||
notice_status INT(1) NULL COMMENT '状态(1-启用,0-禁用)',
|
||||
create_by VARCHAR(50) NULL COMMENT '创建人',
|
||||
create_time datetime(0) NULL COMMENT '创建日期',
|
||||
update_by VARCHAR(50) NULL COMMENT '更新人',
|
||||
update_time datetime(0) NULL COMMENT '更新日期'
|
||||
) COMMENT '公告管理表';
|
||||
|
||||
ALTER TABLE pay_meeting_situation
|
||||
ADD COLUMN company_address varchar(100) NULL COMMENT '公司地址',
|
||||
ADD COLUMN company_phone varchar(200) NULL COMMENT '公司电话',
|
||||
ADD COLUMN opening_bank varchar(50) NULL COMMENT '开户行',
|
||||
ADD COLUMN bank_account varchar(50) NULL COMMENT '银行账号',
|
||||
ADD COLUMN duty_code varchar(50) NULL COMMENT '信用代码',
|
||||
ADD COLUMN link_bank_number varchar(50) NULL COMMENT '联行号';
|
||||
ALTER TABLE pay_meeting_situation
|
||||
ADD COLUMN invoice_project tinyint(4) NULL COMMENT '发票项目';
|
||||
|
||||
|
||||
-- 会议增加按钮 菜单管理模块功能的增加
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1683388669166919681', '1443470901166039042', '资料状态(嘉宾是否可以在企业端上传)', NULL, NULL, NULL, NULL, 2, 'standardsMeetingSituation:guestsUploadFileFlag', '1', 10.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-24 16:08:29', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1683387405624451074', '1470954992463327234', '资料状态(嘉宾是否可以在企业端上传)', NULL, NULL, NULL, NULL, 2, 'councilMeetingSituation:guestsUploadFileFlag', '1', 10.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-24 16:03:28', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1683387007220097026', '1433322232030777345', '资料状态(嘉宾是否可以在企业端上传)', NULL, NULL, NULL, NULL, 2, 'internalMeetingSituation:guestsUploadFileFlag', '1', 10.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-24 16:01:53', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1683386847723298817', '1430828460107730946', '资料状态(嘉宾是否可以在企业端上传)', NULL, NULL, NULL, NULL, 2, 'workGroupMeetingSituation:guestsUploadFileFlag', '1', 10.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-24 16:01:15', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1683386691921682434', '1443461591480487938', '资料状态(嘉宾是否可以在企业端上传)', NULL, NULL, NULL, NULL, 2, 'committeeMeetingSituation:guestsUploadFileFlag', '1', 9.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-24 16:00:38', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1683386401755537409', '1443460205023940610', '资料状态(嘉宾是否可以在企业端上传)', NULL, NULL, NULL, NULL, 2, 'otherMeetingSituation:guestsUploadFileFlag', '1', 9.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-24 15:59:29', NULL, NULL, 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1683385996128591874', '1431167539278086146', '设置标签', '', NULL, NULL, NULL, 2, 'workingGroupMember:setLabel', '1', 11.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-24 15:57:52', NULL, NULL, 0, 0, '1', 0);
|
||||
|
||||
-- 公告管理 增加菜单
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1679782926731005953', '1679684027710234625', '删除', NULL, NULL, NULL, NULL, 2, 'sysNotice:deleteById', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-14 17:20:33', 'LKGLZ', '2023-07-14 17:25:35', 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1679782858711977986', '1679684027710234625', '编辑', NULL, NULL, NULL, NULL, 2, 'sysNotice:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-14 17:20:17', 'LKGLZ', '2023-07-14 17:25:29', 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1679782784619597825', '1679684027710234625', '新增', NULL, NULL, NULL, NULL, 2, 'sysNotice:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-14 17:19:59', 'LKGLZ', '2023-07-14 17:25:23', 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1679782718844522497', '1679684027710234625', '查询', '', NULL, NULL, NULL, 2, 'sysNotice:pageList', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-07-14 17:19:44', 'LKGLZ', '2023-07-14 17:25:16', 0, 0, '1', 0);
|
||||
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1679684027710234625', '5c8042bd6c601270b2bbd9b20bccc68b', '公告管理', '/isystem/noticeList', 'modules/notice/SysNoticeList', NULL, NULL, 1, NULL, '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'LKGLZ', '2023-07-14 10:47:34', NULL, NULL, 0, 0, '1', 0);
|
||||
|
||||
ALTER TABLE pay_meeting ADD file_ids varchar(1000) COMMENT '会议文件';
|
||||
|
||||
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`) VALUES ('1683411632557694977', '缴费类别', 'invoice_project', '', 0, 'LKGLZ', '2023-07-24 17:39:44', NULL, NULL, 0);
|
||||
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES ('1683411695635832833', '1683411632557694977', '会议费', '1', '', 1.00, 1, 'LKGLZ', '2023-07-24 17:39:59', NULL, NULL);
|
||||
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES ('1683411736203141122', '1683411632557694977', '培训费', '2', '', 2.00, 1, 'LKGLZ', '2023-07-24 17:40:09', NULL, NULL);
|
||||
+3
-1
@@ -57,7 +57,9 @@ public class AutoPoiDictConfig implements AutoPoiDictServiceI {
|
||||
}
|
||||
}
|
||||
if (dictReplaces != null && dictReplaces.size() != 0) {
|
||||
log.info("---AutoPoi--Get_DB_Dict------"+ dictReplaces.toString());
|
||||
if (oConvertUtils.isEmpty(dicTable)) {
|
||||
log.info("---AutoPoi--Get_DB_Dict------"+ dictReplaces.toString());
|
||||
}
|
||||
return dictReplaces.toArray(new String[dictReplaces.size()]);
|
||||
}
|
||||
return null;
|
||||
|
||||
+3
@@ -189,6 +189,9 @@ public class ShiroConfig {
|
||||
filterChainDefinitionMap.put("/company/payContactsManagement/addMeeting","anon");
|
||||
filterChainDefinitionMap.put("/company/payContactsManagement/queryByIdMeeting","anon");
|
||||
filterChainDefinitionMap.put("/company/payContactsManagement/queryWXByCompany","anon");
|
||||
//无权限直接编辑企业发票信息
|
||||
filterChainDefinitionMap.put("/company/payCompanyManagement/updateInvoice","anon");
|
||||
|
||||
//企业端注册个人
|
||||
filterChainDefinitionMap.put("/home/registerSelf", "anon");
|
||||
// 判断当前企业是否是内部企业
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jero.common.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -53,4 +54,9 @@ public class SendMessageDTO implements Serializable {
|
||||
* 文件名集合(邮箱发送附件)
|
||||
*/
|
||||
private List<String> listFile;
|
||||
/**
|
||||
* 是否发送邮件
|
||||
*/
|
||||
@ApiModelProperty(value = "是否发送邮件")
|
||||
private Integer sendEmailFlag;
|
||||
}
|
||||
|
||||
+6
-6
@@ -5,7 +5,7 @@
|
||||
<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.tax_rate,c.tax,c.no_tax_amount,c.affirm_income
|
||||
from pay_common_project c
|
||||
left join sys_user su on c.principal_id = su.id
|
||||
<where>
|
||||
@@ -16,7 +16,7 @@
|
||||
<!--工作组项目-->
|
||||
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
|
||||
,gsub.tax_rate,gsub.tax,gsub.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
|
||||
@@ -28,7 +28,7 @@
|
||||
<!-- 会议项目-->
|
||||
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
|
||||
,sit.tax_rate,sit.tax,sit.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
|
||||
@@ -40,7 +40,7 @@
|
||||
<!-- 会员项目-->
|
||||
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
|
||||
,msub.tax_rate,msub.tax,msub.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
|
||||
@@ -52,7 +52,7 @@
|
||||
<!-- 标协会员项目-->
|
||||
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,'',pic.contract_num,tmsub.company_id,tmsub.payment_method,'','','',tmember.year,'',''
|
||||
,tmsub.tax_rate,tmsub.tax,tmsub.no_tax_amount
|
||||
,tmsub.tax_rate,tmsub.tax,tmsub.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
|
||||
@@ -66,7 +66,7 @@
|
||||
<!-- 标协会员证书项目-->
|
||||
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
|
||||
,tmps.tax_rate,tmps.tax,tmps.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
|
||||
|
||||
+2
-1
@@ -104,8 +104,9 @@ public class SendMessageServiceImpl implements SendMessageService {
|
||||
// 1短信 2邮件 3系统
|
||||
// 发送邮件 true
|
||||
String fromUser = sendMessageDTO.getFromUser();
|
||||
Integer sendEmailFlag = sendMessageDTO.getSendEmailFlag();
|
||||
LoginUser loginUser = sysBaseAPI.getUserByName(fromUser);
|
||||
if(templateType.contains(ProjectCommon.MESSAGE_TYPE2)){
|
||||
if(templateType.contains(ProjectCommon.MESSAGE_TYPE2) && !CommonConstant.DEL_FLAG_0.equals(sendEmailFlag)){
|
||||
if(StringUtils.isEmpty(sendMessageDTO.getEmail())){
|
||||
throw new JeroBootException("邮件发送,邮箱地址不能为空!");
|
||||
}
|
||||
|
||||
+16
@@ -25,6 +25,7 @@ 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.company.vo.UpdateInvoicePram;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
@@ -763,6 +764,9 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
|
||||
if(payCompanyManagement==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
if (!StringUtils.isBlank(payCompanyManagement.getCompanyPhone())){
|
||||
payCompanyManagement.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagement.getCompanyPhone()));
|
||||
}
|
||||
return Result.OK(payCompanyManagement);
|
||||
}
|
||||
|
||||
@@ -1004,4 +1008,16 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
|
||||
return Result.OK("同步成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 无权限直接编辑企业发票信息
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="无权限直接编辑企业发票信息")
|
||||
@PostMapping(value = "/updateInvoice")
|
||||
public Result<?> updateInvoice(@RequestBody UpdateInvoicePram updateInvoicePram) {
|
||||
payCompanyManagementService.updateInvoice(updateInvoicePram);
|
||||
return Result.OK("确认成功!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+5
@@ -167,4 +167,9 @@ public class PayContactsManagement implements Serializable {
|
||||
@ApiModelProperty(value = "删除状态")
|
||||
private String delFlag;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "是否已提醒")
|
||||
@Dict(dicCode = "yn")
|
||||
private Integer remind;
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -4,6 +4,7 @@ package com.jero.company.service;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.company.entity.PayCompanyAndContactsManagement;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.company.vo.UpdateInvoicePram;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -94,6 +95,8 @@ public interface IPayCompanyManagementService extends IService<PayCompanyManagem
|
||||
*/
|
||||
void edit(PayCompanyManagement payCompanyManagement);
|
||||
|
||||
void updateInvoice(UpdateInvoicePram updateInvoicePram);
|
||||
|
||||
/**
|
||||
* @Description 确认
|
||||
* @Author lqt
|
||||
|
||||
+80
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.common.ProjectCommon;
|
||||
import com.jero.common.common.RoleCommon;
|
||||
import com.jero.common.dto.SendMessageDTO;
|
||||
import com.jero.common.enums.ManagementMessageEnums;
|
||||
@@ -27,6 +28,7 @@ import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.company.service.ProjectCountService;
|
||||
import com.jero.company.vo.CompanyOrContactsCount;
|
||||
import com.jero.company.vo.UpdateInvoicePram;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
@@ -437,6 +439,84 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateInvoice(UpdateInvoicePram updateInvoicePram) {
|
||||
String id = updateInvoicePram.getId();
|
||||
Integer needInvoice = updateInvoicePram.getNeedInvoice();
|
||||
String companyName = updateInvoicePram.getCompanyName();
|
||||
String dutyCode = updateInvoicePram.getDutyCode();
|
||||
String companyAddress = updateInvoicePram.getCompanyAddress();
|
||||
String companyPhone = updateInvoicePram.getCompanyPhone();
|
||||
String openingBank = updateInvoicePram.getOpeningBank();
|
||||
String bankAccount = updateInvoicePram.getBankAccount();
|
||||
String linkBankNumber = updateInvoicePram.getLinkBankNumber();
|
||||
|
||||
|
||||
ValidUtil.validate(updateInvoicePram);
|
||||
|
||||
//普通发票
|
||||
if (Objects.equals(needInvoice, ProjectCommon.NEED_INVOICE1)) {
|
||||
ValidUtil.validate(updateInvoicePram, UpdateInvoicePram.needInvoice_1.class);
|
||||
} else if (Objects.equals(needInvoice, ProjectCommon.NEED_INVOICE2)) {
|
||||
ValidUtil.validate(updateInvoicePram, UpdateInvoicePram.needInvoice_2.class);
|
||||
} else {
|
||||
throw new JeroBootException("需要发票才可变更");
|
||||
}
|
||||
PayCompanyManagement payCompanyManagementOld = payCompanyManagementService.getById(id);
|
||||
if (Objects.isNull(payCompanyManagementOld)) {
|
||||
throw new JeroBootException("企业不存在!");
|
||||
}
|
||||
try {
|
||||
// 编辑保存企业前再次校验企业名称是否存在
|
||||
LambdaQueryWrapper<PayCompanyManagement> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PayCompanyManagement::getCompanyName,companyName);
|
||||
PayCompanyManagement payCompanyManagementNew = payCompanyManagementService.getOne(queryWrapper);
|
||||
// 企业名称存在,并且编辑id与查询不同,则校验不通过
|
||||
if(!Objects.isNull(payCompanyManagementNew) && !Objects.equals(payCompanyManagementNew.getId(),id)) {
|
||||
throw new JeroBootException("企业名称已存在!");
|
||||
}
|
||||
}catch (Exception e){
|
||||
throw new JeroBootException("企业名称已存在!");
|
||||
}
|
||||
if(!StringUtils.isBlank(companyPhone)){
|
||||
try {
|
||||
companyPhone = PasswordUtil.encrypt(companyPhone);
|
||||
}catch (Exception e){
|
||||
throw new JeroBootException("公司电话加密异常!");
|
||||
}
|
||||
}
|
||||
// 会员企业编辑同步会员系统
|
||||
if(Objects.equals(payCompanyManagementOld.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE2)){
|
||||
if(!Objects.equals(payCompanyManagementOld.getCompanyName(),companyName)){
|
||||
throw new JeroBootException("会员企业名称不可修改!");
|
||||
}
|
||||
// 调用会员项目接口
|
||||
MemberInfo memberInfo = new MemberInfo();
|
||||
memberInfo.setCompanyName(companyName);
|
||||
memberInfo.setId(payCompanyManagementOld.getMemberId());
|
||||
memberInfo.setTaxNo(dutyCode);
|
||||
memberInfo.setDepositBank(openingBank);
|
||||
memberInfo.setBankAccount(bankAccount);
|
||||
memberInfo.setInvoiceAddress(companyAddress);
|
||||
memberInfo.setInvoicePhone(companyPhone);
|
||||
memberInfo.setLinkBankNumber(linkBankNumber);
|
||||
AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
|
||||
}
|
||||
LambdaUpdateWrapper<PayCompanyManagement> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(PayCompanyManagement::getId,id);
|
||||
updateWrapper.set(PayCompanyManagement::getCompanyName,companyName);
|
||||
updateWrapper.set(PayCompanyManagement::getDutyCode,dutyCode);
|
||||
//普通发票不set下面的
|
||||
if (!Objects.equals(needInvoice, 1)) {
|
||||
updateWrapper.set( PayCompanyManagement::getCompanyAddress,companyAddress);
|
||||
updateWrapper.set(PayCompanyManagement::getCompanyPhone,companyPhone);
|
||||
updateWrapper.set(PayCompanyManagement::getOpeningBank,openingBank);
|
||||
updateWrapper.set(PayCompanyManagement::getBankAccount,bankAccount);
|
||||
updateWrapper.set(PayCompanyManagement::getLinkBankNumber,linkBankNumber);
|
||||
}
|
||||
payCompanyManagementService.update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public void audit(String id) {
|
||||
|
||||
+18
-12
@@ -126,7 +126,8 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
|
||||
if(Objects.isNull(payContactsManagementOld)){
|
||||
throw new JeroBootException("联系人不存在!");
|
||||
}
|
||||
if(!Objects.equals(payContactsManagementOld.getName(),payContactsManagement.getName())){
|
||||
// 2023年7月需求变更(企业姓名手机号可以修改)
|
||||
/*if(!Objects.equals(payContactsManagementOld.getName(),payContactsManagement.getName())){
|
||||
throw new JeroBootException("姓名不可修改!");
|
||||
}
|
||||
if(!Objects.equals(PasswordUtil.decrypt(payContactsManagementOld.getPhone()),payContactsManagement.getPhone())){
|
||||
@@ -134,7 +135,7 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
|
||||
}
|
||||
if(!Objects.equals(payContactsManagementOld.getCompanyId(),payContactsManagement.getCompanyId())){
|
||||
throw new JeroBootException("企业不可修改!");
|
||||
}
|
||||
}*/
|
||||
|
||||
try {
|
||||
String phone = PasswordUtil.encrypt(payContactsManagement.getPhone());
|
||||
@@ -167,16 +168,21 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
|
||||
|
||||
// 企业管理员变更,并且变更了企业,需要同步会员项目
|
||||
if(Objects.equals(payContactsManagementOld.getRoleCode(),PayContactsManagementCommon.ROLE_CODE2)){
|
||||
// 调用会员项目接口
|
||||
MemberInfo memberInfo = new MemberInfo();
|
||||
memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
|
||||
memberInfo.setId(payCompanyManagement.getMemberId());
|
||||
memberInfo.setLiaisonMan(payContactsManagement.getName());
|
||||
memberInfo.setEmail(payContactsManagement.getEmail());
|
||||
memberInfo.setMobile(payContactsManagement.getPhone());
|
||||
memberInfo.setAddress(payContactsManagement.getContactAddress());
|
||||
memberInfo.setPostcode(payContactsManagement.getPostalCode());
|
||||
AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
|
||||
// 变更了企业,企业管理员不允许变更企业
|
||||
if(!Objects.equals(payContactsManagementOld.getCompanyId(),payContactsManagement.getCompanyId())){
|
||||
throw new JeroBootException("企业管理员不允许变更企业");
|
||||
}else {
|
||||
// 调用会员项目接口
|
||||
MemberInfo memberInfo = new MemberInfo();
|
||||
memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
|
||||
memberInfo.setId(payCompanyManagement.getMemberId());
|
||||
memberInfo.setLiaisonMan(payContactsManagement.getName());
|
||||
memberInfo.setEmail(payContactsManagement.getEmail());
|
||||
memberInfo.setMobile(payContactsManagement.getPhone());
|
||||
memberInfo.setAddress(payContactsManagement.getContactAddress());
|
||||
memberInfo.setPostcode(payContactsManagement.getPostalCode());
|
||||
AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit", "", memberInfo);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.jero.company.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-07-18 16:28
|
||||
*/
|
||||
@Data
|
||||
public class UpdateInvoicePram {
|
||||
/**主键*/
|
||||
@ApiModelProperty(value = "公司id")
|
||||
private String id;
|
||||
/**需要发票*/
|
||||
@ApiModelProperty(value = "需要发票")
|
||||
@Min(0)
|
||||
@Max(2)
|
||||
@Dict(dicCode = "invoice_type")
|
||||
private Integer needInvoice;
|
||||
/**企业名称*/
|
||||
@Excel(name = "企业名称", width = 15)
|
||||
@ApiModelProperty(value = "企业名称")
|
||||
@NotEmpty(message = "企业名称不能为空",groups = {needInvoice_1.class,needInvoice_2.class})
|
||||
@Size(max = 50, message = "企业名称长度不能大于50个字符",groups = {needInvoice_1.class,needInvoice_2.class})
|
||||
private String companyName;
|
||||
/**信用代码*/
|
||||
@ApiModelProperty(value = "信用代码")
|
||||
@NotEmpty(message = "信用代码不能为空",groups = {needInvoice_1.class,needInvoice_2.class})
|
||||
@Size(max = 18, message = "信用代码长度不能大于18个字符",groups = {needInvoice_1.class,needInvoice_2.class})
|
||||
@Pattern(regexp = "^([0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\\d{14})$",message = "信用代码格式错误",groups = {needInvoice_1.class,needInvoice_2.class})
|
||||
private String dutyCode;
|
||||
/**公司地址*/
|
||||
@ApiModelProperty(value = "公司地址")
|
||||
@NotEmpty(message = "公司地址不能为空",groups = needInvoice_2.class)
|
||||
@Size(max = 50, message = "公司地址长度不能大于50个字符",groups = needInvoice_2.class)
|
||||
private String companyAddress;
|
||||
/**公司电话*/
|
||||
@ApiModelProperty(value = "公司电话")
|
||||
@Size(max = 15, message = "公司电话长度不能大于15个字符",groups = needInvoice_2.class)
|
||||
@Pattern(regexp = "^([0-9-]+)$",message = "公司电话格式错误",groups = needInvoice_2.class)
|
||||
private String companyPhone;
|
||||
/**开户行*/
|
||||
@ApiModelProperty(value = "开户行")
|
||||
@NotEmpty(message = "开户行不能为空",groups = needInvoice_2.class)
|
||||
@Size(max = 50, message = "开户行长度不能大于50个字符",groups = needInvoice_2.class)
|
||||
private String openingBank;
|
||||
/**银行账号*/
|
||||
@ApiModelProperty(value = "银行账号")
|
||||
@NotEmpty(message = "银行账号不能为空",groups = needInvoice_2.class)
|
||||
@Size(max = 50, message = "银行账号长度不能大于50个字符",groups = needInvoice_2.class)
|
||||
private String bankAccount;
|
||||
/**联行号*/
|
||||
@ApiModelProperty(value = "联行号")
|
||||
@NotEmpty(message = "联行号不能为空",groups = needInvoice_2.class)
|
||||
private String linkBankNumber;
|
||||
|
||||
public @interface needInvoice_1 {
|
||||
}
|
||||
public @interface needInvoice_2 {
|
||||
}
|
||||
}
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
package com.jero.data.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2023-07-12 10:52
|
||||
*/
|
||||
/**
|
||||
* 文件邮件提醒记录表
|
||||
*/
|
||||
@ApiModel(description="文件邮件提醒记录表")
|
||||
@Data
|
||||
@TableName(value = "pay_file_email_remind_record")
|
||||
public class PayFileEmailRemindRecord {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value="id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(value = "create_by")
|
||||
@ApiModelProperty(value="创建人")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建日期
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value="创建日期")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(value = "update_by")
|
||||
@ApiModelProperty(value="更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新日期
|
||||
*/
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value="更新日期")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 会议id
|
||||
*/
|
||||
@TableField(value = "file_id")
|
||||
@ApiModelProperty(value="会议id")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 联系人id
|
||||
*/
|
||||
@TableField(value = "contact_id")
|
||||
@ApiModelProperty(value="联系人id")
|
||||
private String contactId;
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.jero.data.mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.core.injector.methods.SelectMaps;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.data.entity.PayFileEmailRemindRecord;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2023-07-12 10:52
|
||||
*/
|
||||
public interface PayFileEmailRemindRecordMapper extends BaseMapper<PayFileEmailRemindRecord> {
|
||||
List<String> selectContactIdByFileId(@Param("fileId")String fileId);
|
||||
|
||||
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.data.mapper.PayFileEmailRemindRecordMapper">
|
||||
<resultMap id="BaseResultMap" type="com.jero.data.entity.PayFileEmailRemindRecord">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table pay_file_email_remind_record-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="file_id" jdbcType="VARCHAR" property="fileId" />
|
||||
<result column="contact_id" jdbcType="VARCHAR" property="contactId" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, create_by, create_time, update_by, update_time, file_id, contact_id
|
||||
</sql>
|
||||
|
||||
<!--auto generated by MybatisCodeHelper on 2023-07-12-->
|
||||
<select id="selectContactIdByFileId" resultType="java.lang.String">
|
||||
select contact_id
|
||||
from pay_file_email_remind_record
|
||||
where file_id=#{fileId,jdbcType=VARCHAR}
|
||||
</select>
|
||||
</mapper>
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package com.jero.data.service.impl;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.data.entity.PayFileEmailRemindRecord;
|
||||
import com.jero.data.mapper.PayFileEmailRemindRecordMapper;
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2023-07-12 10:52
|
||||
*/
|
||||
@Service
|
||||
public class PayFileEmailRemindRecordService extends ServiceImpl<PayFileEmailRemindRecordMapper, PayFileEmailRemindRecord> {
|
||||
|
||||
public void insertByFileList(String fileIds, String contactId) {
|
||||
String[] fileIdList = fileIds.split(",");
|
||||
for (String fileId : fileIdList) {
|
||||
PayFileEmailRemindRecord payFileEmailRemindRecord = new PayFileEmailRemindRecord();
|
||||
payFileEmailRemindRecord.setFileId(fileId);
|
||||
payFileEmailRemindRecord.setContactId(contactId);
|
||||
this.save(payFileEmailRemindRecord);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+43
@@ -164,6 +164,49 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param payMailBillSearch
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="邮寄票据-企业人员查询")
|
||||
@GetMapping(value = "/contactsSearch")
|
||||
public Result<?> contactsSearch(PayMailBillSearch payMailBillSearch,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
QueryWrapper<PayMailBill> queryWrapper = new QueryWrapper<>();
|
||||
Page<PayMailBill> page = new Page<>(pageNo, pageSize);
|
||||
if (ObjectUtil.isNotEmpty(payMailBillSearch.getStartTime()) && ObjectUtil.isNotEmpty(payMailBillSearch.getEndTime())) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(payMailBillSearch.getEndTime());
|
||||
calendar.add(Calendar.HOUR, 23);//时
|
||||
calendar.add(Calendar.MINUTE, 59);//时
|
||||
calendar.add(Calendar.SECOND, 59);//秒
|
||||
queryWrapper.ge("sendDate", payMailBillSearch.getStartTime());
|
||||
queryWrapper.le("sendDate", calendar.getTime());
|
||||
} else if (ObjectUtil.isNotEmpty(payMailBillSearch.getStartTime())) {
|
||||
queryWrapper.ge("sendDate", payMailBillSearch.getStartTime());
|
||||
} else if (ObjectUtil.isNotEmpty(payMailBillSearch.getEndTime())) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(payMailBillSearch.getEndTime());
|
||||
calendar.add(Calendar.HOUR, 23);//时
|
||||
calendar.add(Calendar.MINUTE, 59);//时
|
||||
calendar.add(Calendar.SECOND, 59);//秒
|
||||
queryWrapper.le("sendDate", calendar.getTime());
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(payMailBillSearch.getProjectName())) {
|
||||
queryWrapper.like("project_name", oConvertUtils.replaceAllPercent(payMailBillSearch.getProjectName()));
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
IPage<PayMailBill> pageList = payMailBillService.contactsSearchPageList(page, sysUser.getId(), queryWrapper);
|
||||
getMobile(pageList.getRecords());
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 邮寄票据-修改
|
||||
*
|
||||
|
||||
+3
-2
@@ -7,12 +7,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.mail.PayMailBillVO;
|
||||
import com.jero.mail.vo.PayMailBillVO;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillSearch;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -78,4 +77,6 @@ public interface PayMailBillMapper extends BaseMapper<PayMailBill> {
|
||||
Integer updateTax(@Param("id") String id);
|
||||
|
||||
Integer updateNoTaxAmount(@Param("id") String id);
|
||||
|
||||
IPage<PayMailBill> contactsSearchPageList(Page<PayMailBill> page, @Param("userId") String userId, @Param(Constants.WRAPPER) QueryWrapper<PayMailBill> queryWrapper);
|
||||
}
|
||||
|
||||
+180
-1
@@ -39,6 +39,8 @@
|
||||
<result property="sendDate" column="send_date"></result>
|
||||
<result property="remark" column="remark"></result>
|
||||
<result property="projectName" column="project_name"></result>
|
||||
<result property="projectId" column="projectId"></result>
|
||||
<result property="projectType" column="project_type"></result>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectCommonProjectMailBillVO" resultMap="MailBillVO">
|
||||
@@ -63,7 +65,7 @@
|
||||
WHERE pmb.id IN (SELECT bill_id FROM pay_mail_bill_project WHERE project_id=#{projectId})
|
||||
</select>
|
||||
|
||||
<select id="selectInvoicingStage" resultType="com.jero.mail.PayMailBillVO">
|
||||
<select id="selectInvoicingStage" resultType="com.jero.mail.vo.PayMailBillVO">
|
||||
select pmb.id as id,pmbp.id as bmpId,pmb.project_name,pmbp.invoice_amount,pmb.bill_no,pmb.bill_date,pmbp.remark,pmbp.no_tax_amount,pmbp.tax,pmbp.tax_rate
|
||||
from pay_mail_bill pmb
|
||||
inner JOIN pay_mail_bill_project pmbp on pmb.id = pmbp.bill_id
|
||||
@@ -248,4 +250,181 @@
|
||||
set pmb.no_tax_amount = (select sum(pmbp.no_tax_amount) from pay_mail_bill_project pmbp where bill_id = #{id})
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="contactsSearchPageList" resultType="com.jero.mail.vo.MailBillProjectVO">
|
||||
select *
|
||||
from (
|
||||
SELECT pmb.id,
|
||||
project_name,
|
||||
bill_no,
|
||||
pmb.invoice_amount,
|
||||
principal_id,
|
||||
su.phone,
|
||||
principal_name,
|
||||
charge_company_name,
|
||||
contact_name,
|
||||
contact_mobile,
|
||||
post_status,
|
||||
send_method,
|
||||
pmbp.project_id,
|
||||
pmbp.project_type,
|
||||
pmb.create_time,
|
||||
postal_code,
|
||||
mailer,
|
||||
post_no,
|
||||
send_date,
|
||||
contact_address,
|
||||
pmb.remark
|
||||
from pay_mail_bill pmb
|
||||
left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id)
|
||||
left join pay_working_group_subitem_contacts pwgsc
|
||||
on pwgsc.working_group_sub_id = pmbp.project_id
|
||||
left join sys_user su on pmb.principal_id = su.id
|
||||
where pwgsc.contacts_id = #{userId}
|
||||
group by pmb.id
|
||||
union all
|
||||
SELECT pmb.id,
|
||||
project_name,
|
||||
bill_no,
|
||||
pmb.invoice_amount,
|
||||
pmb.principal_id,
|
||||
su.phone,
|
||||
pmb.principal_name,
|
||||
charge_company_name,
|
||||
contact_name,
|
||||
contact_mobile,
|
||||
post_status,
|
||||
send_method,
|
||||
pmbp.project_id,
|
||||
pmbp.project_type,
|
||||
pmb.create_time,
|
||||
postal_code,
|
||||
mailer,
|
||||
post_no,
|
||||
send_date,
|
||||
contact_address,
|
||||
pmb.remark
|
||||
from pay_mail_bill pmb
|
||||
left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id)
|
||||
left join pay_common_project pcp on pcp.id = pmbp.project_id
|
||||
left join sys_user su on pmb.principal_id = su.id
|
||||
where pcp.contacts_id = #{userId}
|
||||
group by pmb.id
|
||||
union all
|
||||
SELECT pmb.id,
|
||||
project_name,
|
||||
bill_no,
|
||||
pmb.invoice_amount,
|
||||
pmb.principal_id,
|
||||
su.phone,
|
||||
pmb.principal_name,
|
||||
charge_company_name,
|
||||
contact_name,
|
||||
contact_mobile,
|
||||
post_status,
|
||||
send_method,
|
||||
pmbp.project_id,
|
||||
pmbp.project_type,
|
||||
pmb.create_time,
|
||||
postal_code,
|
||||
mailer,
|
||||
post_no,
|
||||
send_date,
|
||||
contact_address,
|
||||
pmb.remark
|
||||
from pay_mail_bill pmb
|
||||
left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id)
|
||||
left join pay_meeting_situation pms on pms.id = pmbp.project_id
|
||||
left join sys_user su on pmb.principal_id = su.id
|
||||
where pms.company_contact_id = #{userId}
|
||||
group by pmb.id
|
||||
union all
|
||||
SELECT pmb.id,
|
||||
project_name,
|
||||
bill_no,
|
||||
pmb.invoice_amount,
|
||||
pmb.principal_id,
|
||||
su.phone,
|
||||
pmb.principal_name,
|
||||
charge_company_name,
|
||||
contact_name,
|
||||
contact_mobile,
|
||||
post_status,
|
||||
send_method,
|
||||
pmbp.project_id,
|
||||
pmbp.project_type,
|
||||
pmb.create_time,
|
||||
postal_code,
|
||||
mailer,
|
||||
post_no,
|
||||
send_date,
|
||||
contact_address,
|
||||
pmb.remark
|
||||
from pay_mail_bill pmb
|
||||
left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id)
|
||||
left join pay_member_project_subitem pmps on pmps.id = pmbp.project_id
|
||||
left join sys_user su on pmb.principal_id = su.id
|
||||
where pmps.company_contact_id = #{userId}
|
||||
group by pmb.id
|
||||
union all
|
||||
SELECT pmb.id,
|
||||
project_name,
|
||||
bill_no,
|
||||
pmb.invoice_amount,
|
||||
pmb.principal_id,
|
||||
su.phone,
|
||||
pmb.principal_name,
|
||||
charge_company_name,
|
||||
contact_name,
|
||||
contact_mobile,
|
||||
post_status,
|
||||
send_method,
|
||||
pmbp.project_id,
|
||||
pmbp.project_type,
|
||||
pmb.create_time,
|
||||
postal_code,
|
||||
mailer,
|
||||
post_no,
|
||||
send_date,
|
||||
contact_address,
|
||||
pmb.remark
|
||||
from pay_mail_bill pmb
|
||||
left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id)
|
||||
left join tb_member_project_subitem tmps on tmps.id = pmbp.project_id
|
||||
left join sys_user su on pmb.principal_id = su.id
|
||||
where tmps.liaison_man_id = #{userId}
|
||||
group by pmb.id
|
||||
union all
|
||||
SELECT pmb.id,
|
||||
project_name,
|
||||
bill_no,
|
||||
pmb.invoice_amount,
|
||||
pmb.principal_id,
|
||||
su.phone,
|
||||
pmb.principal_name,
|
||||
charge_company_name,
|
||||
contact_name,
|
||||
contact_mobile,
|
||||
post_status,
|
||||
send_method,
|
||||
pmbp.project_id,
|
||||
pmbp.project_type,
|
||||
pmb.create_time,
|
||||
postal_code,
|
||||
mailer,
|
||||
post_no,
|
||||
send_date,
|
||||
contact_address,
|
||||
pmb.remark
|
||||
from pay_mail_bill pmb
|
||||
left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id)
|
||||
left join tb_certificate_payment tcp on tcp.id = pmbp.project_id
|
||||
left join sys_user su on pmb.principal_id = su.id
|
||||
where tcp.liaison_man_id = #{userId}
|
||||
group by pmb.id
|
||||
) t
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY create_time
|
||||
desc
|
||||
</select>
|
||||
</mapper>
|
||||
+3
-1
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.mail.PayMailBillVO;
|
||||
import com.jero.mail.vo.PayMailBillVO;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.member.enums.StandardsTypeEnum;
|
||||
|
||||
@@ -95,4 +95,6 @@ public interface IPayMailBillService extends IService<PayMailBill> {
|
||||
*/
|
||||
void updateContactByProjectId(String ContactId,String projectId);
|
||||
|
||||
IPage<PayMailBill> contactsSearchPageList(Page<PayMailBill> page, String userId, QueryWrapper<PayMailBill> queryWrapper);
|
||||
|
||||
}
|
||||
|
||||
+6
-1
@@ -25,7 +25,7 @@ import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.mail.PayMailBillVO;
|
||||
import com.jero.mail.vo.PayMailBillVO;
|
||||
import com.jero.mail.entity.BillingInfo;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
@@ -585,6 +585,11 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
payMailBillMapper.updateByProjectId(payMailBill,projectId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<PayMailBill> contactsSearchPageList(Page<PayMailBill> page, String userId, QueryWrapper<PayMailBill> queryWrapper) {
|
||||
return payMailBillMapper.contactsSearchPageList(page,userId,queryWrapper);
|
||||
}
|
||||
|
||||
|
||||
//校验不同项目是否属于同一个公司,开票金额是否大于当前未开票金额,企业名称是否审核
|
||||
private String checkCompanyProject(List<PayMailBillProject> bmpList) {
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.jero.mail.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import javax.validation.constraints.DecimalMax;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
public class MailBillProjectVO extends PayMailBill {
|
||||
/**
|
||||
* 邮寄票据关联项目表
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
List<PayMailBillProject> bmpList;
|
||||
|
||||
/**邮寄票据关联项目表id*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "bmpId")
|
||||
private String bmpId;
|
||||
|
||||
/**税率*/
|
||||
@ApiModelProperty(value = "税率")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
@Dict(dicCode = "rate")
|
||||
private BigDecimal taxRate;
|
||||
|
||||
/**税额*/
|
||||
@Excel(name = "税额", width = 15)
|
||||
@ApiModelProperty(value = "税额")
|
||||
@DecimalMax(value = "9999999999.99",message = "税额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal tax;
|
||||
|
||||
/**未税金额*/
|
||||
@Excel(name = "未税金额", width = 15)
|
||||
@ApiModelProperty(value = "未税金额")
|
||||
@DecimalMax(value = "9999999999.99",message = "未税金额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal noTaxAmount;
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.jero.mail;
|
||||
package com.jero.mail.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
+1
-3
@@ -11,7 +11,6 @@ import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.data.service.IPayCaseCommitteeService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
@@ -36,7 +35,6 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -205,7 +203,7 @@ public class CommitteeMeetingController extends JeroController<PayMeeting, IPayM
|
||||
@ApiOperation(value = "上传资料", notes = "上传资料")
|
||||
@PostMapping(value = "/uploadFile")
|
||||
public Result<?> uploadFile(@RequestBody UploadFileVO uploadFileVO) {
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.COMMITTEE_MEETING_INT);
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.COMMITTEE_MEETING_INT, false);
|
||||
return Result.OK("上传资料成功!",strings);
|
||||
}
|
||||
|
||||
|
||||
+15
@@ -233,4 +233,19 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
payMeetingSituationService.mergePayBill(mergePayBillVO);
|
||||
return Result.OK("合并开票成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置嘉宾上传文件
|
||||
*/
|
||||
@RequiresPermissions("committeeMeetingSituation:guestsUploadFileFlag")
|
||||
@AutoLog(value = "设置嘉宾上传文件")
|
||||
@ApiOperation(value = "设置嘉宾上传文件", notes = "设置嘉宾上传文件")
|
||||
@PostMapping(value = "/setGuestsUploadFile")
|
||||
public Result<?> setGuestsUploadFile(@RequestBody SetGuestsUploadFileVO setGuestsUploadFileVO) {
|
||||
ValidUtil.validate(setGuestsUploadFileVO);
|
||||
payMeetingSituationService.setGuestsUploadFile(setGuestsUploadFileVO,MEETING_TYPE);
|
||||
return Result.OK("设置嘉宾上传文件成功!");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -190,7 +190,7 @@ public class CouncilMeetingController extends JeroController<PayMeeting, IPayMee
|
||||
@ApiOperation(value = "上传资料", notes = "上传资料")
|
||||
@PostMapping(value = "/uploadFile")
|
||||
public Result<?> uploadFile(@RequestBody UploadFileVO uploadFileVO) {
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.COUNCIL_MEETING_INT);
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.COUNCIL_MEETING_INT, false);
|
||||
return Result.OK("上传资料成功!",strings);
|
||||
}
|
||||
|
||||
|
||||
+13
@@ -17,6 +17,7 @@ import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.meeting.vo.CheckVO;
|
||||
import com.jero.meeting.vo.MergePayBillVO;
|
||||
import com.jero.meeting.vo.PayMeetingSituationVO;
|
||||
import com.jero.meeting.vo.SetGuestsUploadFileVO;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -211,4 +212,16 @@ public class CouncilMeetingSituationController extends JeroController<PayMeeting
|
||||
payMeetingSituationService.mergePayBill(mergePayBillVO);
|
||||
return Result.OK("合并开票成功!");
|
||||
}
|
||||
/**
|
||||
* 设置嘉宾上传文件
|
||||
*/
|
||||
@RequiresPermissions("councilMeetingSituation:guestsUploadFileFlag")
|
||||
@AutoLog(value = "设置嘉宾上传文件")
|
||||
@ApiOperation(value = "设置嘉宾上传文件", notes = "设置嘉宾上传文件")
|
||||
@PostMapping(value = "/setGuestsUploadFile")
|
||||
public Result<?> setGuestsUploadFile(@RequestBody SetGuestsUploadFileVO setGuestsUploadFileVO) {
|
||||
ValidUtil.validate(setGuestsUploadFileVO);
|
||||
payMeetingSituationService.setGuestsUploadFile(setGuestsUploadFileVO,MEETING_TYPE);
|
||||
return Result.OK("设置嘉宾上传文件成功!");
|
||||
}
|
||||
}
|
||||
|
||||
+1
-3
@@ -10,7 +10,6 @@ import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.data.service.IPayCaseCommitteeService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
@@ -35,7 +34,6 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -203,7 +201,7 @@ public class InternalMeetingController extends JeroController<PayMeeting, IPayMe
|
||||
@ApiOperation(value = "上传资料", notes = "上传资料")
|
||||
@PostMapping(value = "/uploadFile")
|
||||
public Result<?> uploadFile(@RequestBody UploadFileVO uploadFileVO) {
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.INTERNATIONAL_MEETING_INT);
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.INTERNATIONAL_MEETING_INT, false);
|
||||
|
||||
return Result.OK("上传资料成功!",strings);
|
||||
}
|
||||
|
||||
+13
@@ -237,4 +237,17 @@ public class InternalMeetingSituationController extends JeroController<PayMeetin
|
||||
public Result<Boolean> checkMember(String companyName) {
|
||||
return Result.OK(payMeetingSituationService.checkMemberCompany(companyName));
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置嘉宾上传文件
|
||||
*/
|
||||
@RequiresPermissions("internalMeetingSituation:guestsUploadFileFlag")
|
||||
@AutoLog(value = "设置嘉宾上传文件")
|
||||
@ApiOperation(value = "设置嘉宾上传文件", notes = "设置嘉宾上传文件")
|
||||
@PostMapping(value = "/setGuestsUploadFile")
|
||||
public Result<?> setGuestsUploadFile(@RequestBody SetGuestsUploadFileVO setGuestsUploadFileVO) {
|
||||
ValidUtil.validate(setGuestsUploadFileVO);
|
||||
payMeetingSituationService.setGuestsUploadFile(setGuestsUploadFileVO,MEETING_TYPE);
|
||||
return Result.OK("设置嘉宾上传文件成功!");
|
||||
}
|
||||
}
|
||||
|
||||
+1
-3
@@ -10,7 +10,6 @@ import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.data.service.IPayCaseCommitteeService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
@@ -35,7 +34,6 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -203,7 +201,7 @@ public class OtherMeetingController extends JeroController<PayMeeting, IPayMeeti
|
||||
@ApiOperation(value = "上传资料", notes = "上传资料")
|
||||
@PostMapping(value = "/uploadFile")
|
||||
public Result<?> uploadFile(@RequestBody UploadFileVO uploadFileVO) {
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.OTHER_MEETING_INT);
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.OTHER_MEETING_INT, false);
|
||||
return Result.OK("上传资料成功!",strings);
|
||||
}
|
||||
|
||||
|
||||
+12
-1
@@ -214,6 +214,17 @@ public class OtherMeetingSituationController extends JeroController<PayMeetingSi
|
||||
payMeetingSituationService.mergePayBill(mergePayBillVO);
|
||||
return Result.OK("合并开票成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置嘉宾上传文件
|
||||
*/
|
||||
@RequiresPermissions("otherMeetingSituation:guestsUploadFileFlag")
|
||||
@AutoLog(value = "设置嘉宾上传文件")
|
||||
@ApiOperation(value = "设置嘉宾上传文件", notes = "设置嘉宾上传文件")
|
||||
@PostMapping(value = "/setGuestsUploadFile")
|
||||
public Result<?> setGuestsUploadFile(@RequestBody SetGuestsUploadFileVO setGuestsUploadFileVO) {
|
||||
ValidUtil.validate(setGuestsUploadFileVO);
|
||||
payMeetingSituationService.setGuestsUploadFile(setGuestsUploadFileVO,MEETING_TYPE);
|
||||
return Result.OK("设置嘉宾上传文件成功!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+75
-11
@@ -9,7 +9,6 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
@@ -26,8 +25,8 @@ import com.jero.data.service.IPayCaseCommitteeService;
|
||||
import com.jero.data.service.IPayCaseCommitteeSubitemService;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.common.MeetingSubitemCommon;
|
||||
import com.jero.meeting.entity.*;
|
||||
import com.jero.meeting.mapper.PayMeetingGuestsFileMapper;
|
||||
import com.jero.meeting.service.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -39,7 +38,6 @@ import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.volid.group.UpdateGroup;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.util.QrcodeUtil;
|
||||
@@ -51,7 +49,6 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -104,6 +101,8 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
private IPayMeetingContactsService meetingContactsService;
|
||||
@Resource
|
||||
private IPayMeetingStandardService payMeetingStandardService;
|
||||
@Resource
|
||||
private PayMeetingGuestsFileMapper meetingGuestsFileMapper;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -467,7 +466,7 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
@PostMapping(value = "/uploadFile")
|
||||
@Transactional
|
||||
public Result<?> uploadFile(@RequestBody UploadFileVO uploadFileVO) {
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.INTERNATIONAL_MEETING_INT);
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.INTERNATIONAL_MEETING_INT, false);
|
||||
return Result.OK("上传资料成功!",strings);
|
||||
}
|
||||
|
||||
@@ -562,12 +561,6 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
if (ObjectUtils.isEmpty(meetingSituation)) {
|
||||
throw new JeroBootException("未报名会议。");
|
||||
}
|
||||
Integer checkResult = meetingSituation.getCheckResult();
|
||||
Integer registerCheckResult = meetingSituation.getRegisterCheckResult();
|
||||
if (!Objects.equals(checkResult, MeetingSubitemCommon.SIGNUP_STATUS_1)
|
||||
|| !Objects.equals(registerCheckResult, MeetingSubitemCommon.SIGNUP_STATUS_1)) {
|
||||
throw new JeroBootException("会议报名并审核通过后才可查看文件");
|
||||
}
|
||||
}
|
||||
}
|
||||
// 查询数据表数据是否存在
|
||||
@@ -672,5 +665,76 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 预览图片&下载文件
|
||||
*
|
||||
* @param id 传入文件id
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "小程序企业端会议下载资料", notes = "企业端会议下载资料")
|
||||
@GetMapping(value = "/userDownloadByApplet/{id}/{meetingId}")
|
||||
public Result<Object> userDownloadByApplet(@PathVariable String id, @PathVariable String meetingId, HttpServletResponse response, String type) {
|
||||
LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String sysUserId = sysUser.getId();
|
||||
PayMeeting payMeeting = payMeetingService.getById(meetingId);
|
||||
if(ObjectUtils.isEmpty(payMeeting)){
|
||||
throw new JeroBootException("会议不存在..");
|
||||
}
|
||||
Integer meetingType = payMeeting.getMeetingType();
|
||||
//如果是分标委会议或理事会会议,判断是否为成员
|
||||
boolean isSubItem = false;
|
||||
if (meetingType.equals(MeetingCommon.COMMITTEE_MEETING_INT)) {
|
||||
LambdaQueryWrapper<PayCaseCommitteeSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayCaseCommitteeSubitem::getCommitteeId, payMeeting.getCaseCommitteeId());
|
||||
wrapper.eq(PayCaseCommitteeSubitem::getContactsId, sysUserId);
|
||||
|
||||
int count = payCaseCommitteeSubitemService.count(wrapper);
|
||||
if (count > 0) {
|
||||
isSubItem = true;
|
||||
}
|
||||
} else if (meetingType.equals(MeetingCommon.COUNCIL_MEETING_INT)) {
|
||||
LambdaQueryWrapper<PayCaseCouncilSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayCaseCouncilSubitem::getCouncilId, payMeeting.getCouncilId());
|
||||
wrapper.eq(PayCaseCouncilSubitem::getContactsId, sysUserId);
|
||||
int count = payCaseCouncilSubitemService.count(wrapper);
|
||||
if (count > 0) {
|
||||
isSubItem = true;
|
||||
}
|
||||
}
|
||||
String meetingMinute = payMeeting.getMeetingMinute();
|
||||
String meetingData = payMeeting.getMeetingData();
|
||||
List<String> fileList = new ArrayList<>();
|
||||
if(StringUtils.isNotBlank(meetingMinute)) {
|
||||
fileList.addAll(Arrays.asList(meetingMinute.split(",")));
|
||||
}
|
||||
if(StringUtils.isNotBlank(meetingData)) {
|
||||
fileList.addAll(Arrays.asList(meetingData.split(",")));
|
||||
}
|
||||
if(!fileList.contains(id)){
|
||||
throw new JeroBootException("会议无此文件..");
|
||||
}
|
||||
BigDecimal meetingCosts = payMeeting.getMeetingCosts();
|
||||
//先判断非成员
|
||||
if (!isSubItem){
|
||||
//会议金额等于0并且是工作组会议(工作组会议金额为0时可以下载)
|
||||
if (meetingCosts.compareTo(BigDecimal.ZERO) == 0 && meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){
|
||||
|
||||
}else
|
||||
|
||||
//在判断会议金额是否大于0
|
||||
if (meetingCosts.compareTo(BigDecimal.ZERO) > 0){
|
||||
QueryWrapper<PayMeetingSituation> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("meeting_id", meetingId);
|
||||
queryWrapper1.eq("company_contact_id", sysUserId);
|
||||
PayMeetingSituation meetingSituation = payMeetingSituationService.getOne(queryWrapper1);
|
||||
if (ObjectUtils.isEmpty(meetingSituation)) {
|
||||
throw new JeroBootException("未报名会议。");
|
||||
}
|
||||
}
|
||||
}
|
||||
return Result.OK();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+58
@@ -23,6 +23,7 @@ import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingGuestsFile;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
@@ -150,6 +151,17 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@AutoLog(value = "企业人员-通过id删除参会信息")
|
||||
@ApiOperation(value = "企业人员-通过id删除参会信息")
|
||||
@GetMapping(value = "/contactsDelete")
|
||||
public Result<?> contactsDelete(@RequestParam(name = "id") String id) {
|
||||
payMeetingSituationService.deleteById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
@@ -162,6 +174,17 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@AutoLog(value = "企业人员-编辑参会信息")
|
||||
@ApiOperation(value = "企业人员-编辑参会信息", notes = "企业人员-编辑参会信息")
|
||||
@PostMapping(value = "/contactsEdit")
|
||||
public Result<?> contactsEdit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
|
||||
payMeetingSituationService.editById(payMeetingSituationVO,MEETING_TYPE);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
@@ -376,4 +399,39 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
|
||||
Integer integer = payMeetingSituationService.validInvitationCode(payMeeting, randomCode, false);
|
||||
return Result.OK("校验成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 嘉宾上传文件
|
||||
*/
|
||||
@AutoLog(value = "嘉宾上传文件")
|
||||
@ApiOperation(value = "嘉宾上传文件", notes = "嘉宾上传文件")
|
||||
@PostMapping(value = "/guestsUploadFile")
|
||||
public Result<?> guestsUploadFile(@RequestBody GuestsUploadFileVO guestsUploadFileVO) {
|
||||
ValidUtil.validate(guestsUploadFileVO);
|
||||
payMeetingSituationService.guestsUploadFile(guestsUploadFileVO);
|
||||
return Result.OK("上传文件成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 嘉宾上传文件列表
|
||||
*/
|
||||
@AutoLog(value = "嘉宾上传文件列表")
|
||||
@ApiOperation(value = "嘉宾上传文件", notes = "嘉宾上传文件")
|
||||
@PostMapping(value = "/guestsUploadFileList")
|
||||
public Result<List<PayMeetingGuestsFile>> guestsUploadFileList(@RequestBody GuestsUploadFileVO guestsUploadFileVO) {
|
||||
List<PayMeetingGuestsFile> payMeetingGuestsFiles = payMeetingSituationService.guestsUploadFileList(guestsUploadFileVO);
|
||||
return Result.OK(payMeetingGuestsFiles);
|
||||
}
|
||||
|
||||
/**
|
||||
* 嘉宾删除文件
|
||||
*/
|
||||
@AutoLog(value = "嘉宾删除文件")
|
||||
@ApiOperation(value = "嘉宾删除文件", notes = "嘉宾删除文件")
|
||||
@PostMapping(value = "/guestsDeleteFile")
|
||||
public Result<?> guestsDeleteFile(@RequestBody GuestsUploadFileVO guestsUploadFileVO) {
|
||||
ValidUtil.validate(guestsUploadFileVO);
|
||||
payMeetingSituationService.guestsDeleteFile(guestsUploadFileVO);
|
||||
return Result.OK("删除文件成功!");
|
||||
}
|
||||
}
|
||||
|
||||
+1
-5
@@ -1,25 +1,21 @@
|
||||
package com.jero.meeting.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.enums.CompanyMessageEnums;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.data.service.IPayCaseCommitteeService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingHotelContacts;
|
||||
import com.jero.meeting.entity.PayMeetingStandard;
|
||||
import com.jero.meeting.entity.Question;
|
||||
import com.jero.meeting.service.IPayMeetingHotelContactsService;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.meeting.service.IPayMeetingStandardService;
|
||||
@@ -274,7 +270,7 @@ public class StandardsMeetingController extends JeroController<PayMeeting, IPayM
|
||||
@ApiOperation(value = "上传资料", notes = "上传资料")
|
||||
@PostMapping(value = "/uploadFile")
|
||||
public Result<?> uploadFile(@RequestBody UploadFileVO uploadFileVO) {
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.STANDARD_MEETING_INT);
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.STANDARD_MEETING_INT, false);
|
||||
return Result.OK("上传资料成功!",strings);
|
||||
}
|
||||
|
||||
|
||||
+12
-1
@@ -214,5 +214,16 @@ public class StandardsMeetingSituationController extends JeroController<PayMeeti
|
||||
payMeetingSituationService.mergePayBill(mergePayBillVO);
|
||||
return Result.OK("合并开票成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置嘉宾上传文件
|
||||
*/
|
||||
@RequiresPermissions("standardsMeetingSituation:guestsUploadFileFlag")
|
||||
@AutoLog(value = "设置嘉宾上传文件")
|
||||
@ApiOperation(value = "设置嘉宾上传文件", notes = "设置嘉宾上传文件")
|
||||
@PostMapping(value = "/setGuestsUploadFile")
|
||||
public Result<?> setGuestsUploadFile(@RequestBody SetGuestsUploadFileVO setGuestsUploadFileVO) {
|
||||
ValidUtil.validate(setGuestsUploadFileVO);
|
||||
payMeetingSituationService.setGuestsUploadFile(setGuestsUploadFileVO,MEETING_TYPE);
|
||||
return Result.OK("设置嘉宾上传文件成功!");
|
||||
}
|
||||
}
|
||||
|
||||
+1
-18
@@ -1,26 +1,17 @@
|
||||
package com.jero.meeting.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.enums.CompanyMessageEnums;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.data.entity.PayCaseCommittee;
|
||||
import com.jero.data.service.IPayCaseCommitteeService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
@@ -30,20 +21,13 @@ import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.meeting.vo.PayMeetingVO;
|
||||
import com.jero.meeting.vo.PublishReminderVO;
|
||||
import com.jero.meeting.vo.UploadFileVO;
|
||||
import com.jero.meeting.vo.excel.*;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.volid.group.UpdateGroup;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.standards.xuanguan.stablecrosstraining.entity.StableCrossTraining;
|
||||
import com.jero.util.QrcodeUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -52,7 +36,6 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -225,7 +208,7 @@ public class WorkGroupMeetingController extends JeroController<PayMeeting, IPayM
|
||||
@ApiOperation(value = "上传资料", notes = "上传资料")
|
||||
@PostMapping(value = "/uploadFile")
|
||||
public Result<?> uploadFile(@RequestBody UploadFileVO uploadFileVO) {
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.WORKING_GROUP_MEETING_INT);
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.WORKING_GROUP_MEETING_INT, false);
|
||||
return Result.OK("上传资料成功!",strings);
|
||||
}
|
||||
|
||||
|
||||
+12
-1
@@ -215,5 +215,16 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
|
||||
return Result.OK("合并开票成功!");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 设置嘉宾上传文件
|
||||
*/
|
||||
@RequiresPermissions("workGroupMeetingSituation:guestsUploadFileFlag")
|
||||
@AutoLog(value = "设置嘉宾上传文件")
|
||||
@ApiOperation(value = "设置嘉宾上传文件", notes = "设置嘉宾上传文件")
|
||||
@PostMapping(value = "/setGuestsUploadFile")
|
||||
public Result<?> setGuestsUploadFile(@RequestBody SetGuestsUploadFileVO setGuestsUploadFileVO) {
|
||||
ValidUtil.validate(setGuestsUploadFileVO);
|
||||
payMeetingSituationService.setGuestsUploadFile(setGuestsUploadFileVO,MEETING_TYPE);
|
||||
return Result.OK("设置嘉宾上传文件成功!");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -255,6 +255,10 @@ public class PayMeeting implements Serializable {
|
||||
@ApiModelProperty(value = "会议通知文件")
|
||||
private String meetingFiles;
|
||||
|
||||
/**会议通知文件*/
|
||||
@ApiModelProperty(value = "会议文件")
|
||||
private String fileIds;
|
||||
|
||||
/**会议资料*/
|
||||
@ApiModelProperty(value = "会议资料")
|
||||
private String meetingData;
|
||||
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
package com.jero.meeting.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2023-07-13 10:35
|
||||
*/
|
||||
|
||||
/**
|
||||
* 会议嘉宾文件表
|
||||
*/
|
||||
@ApiModel(description = "会议嘉宾文件表")
|
||||
@Data
|
||||
@TableName(value = "pay_meeting_guests_file")
|
||||
public class PayMeetingGuestsFile {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 会议id
|
||||
*/
|
||||
@TableField(value = "meeting_id")
|
||||
@ApiModelProperty(value = "会议id")
|
||||
private String meetingId;
|
||||
|
||||
/**
|
||||
* 联系人id
|
||||
*/
|
||||
@TableField(value = "contacts_id")
|
||||
@ApiModelProperty(value = "联系人id")
|
||||
private String contactsId;
|
||||
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
@TableField(value = "file_id")
|
||||
@ApiModelProperty(value = "文件id")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(value = "create_by")
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建日期
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value = "创建日期")
|
||||
private Date createTime;
|
||||
}
|
||||
+49
@@ -4,6 +4,7 @@ import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.jero.company.vo.UpdateInvoicePram;
|
||||
import com.jero.meeting.valid.group.CommonPeople;
|
||||
import com.jero.meeting.valid.group.Guest;
|
||||
import lombok.Data;
|
||||
@@ -280,6 +281,7 @@ public class PayMeetingSituation implements Serializable {
|
||||
|
||||
/**缴费方式*/
|
||||
@Excel(name = "缴费方式", width = 15,dicCode = "meeting_pay_type")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
@ApiModelProperty(value = "缴费方式")
|
||||
@NotNull(message = "缴费方式不能为空",groups = CommonPeople.class)
|
||||
@Dict(dicCode = "meeting_pay_type")
|
||||
@@ -514,4 +516,51 @@ public class PayMeetingSituation implements Serializable {
|
||||
@ApiModelProperty(value = "未税金额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal noTaxAmount;
|
||||
|
||||
@ApiModelProperty(value = "嘉宾上传文件标识")
|
||||
private Integer guestsUploadFileFlag;
|
||||
|
||||
/**信用代码*/
|
||||
@ApiModelProperty(value = "信用代码")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
@NotEmpty(message = "信用代码不能为空",groups = {UpdateInvoicePram.needInvoice_1.class, UpdateInvoicePram.needInvoice_2.class})
|
||||
@Size(max = 18, message = "信用代码长度不能大于18个字符",groups = {UpdateInvoicePram.needInvoice_1.class,UpdateInvoicePram.needInvoice_2.class})
|
||||
@Pattern(regexp = "^([0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\\d{14})$",message = "信用代码格式错误",groups = {UpdateInvoicePram.needInvoice_1.class,UpdateInvoicePram.needInvoice_2.class})
|
||||
private String dutyCode;
|
||||
/**公司地址*/
|
||||
@ApiModelProperty(value = "公司地址")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
@NotEmpty(message = "公司地址不能为空",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
@Size(max = 50, message = "公司地址长度不能大于50个字符",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String companyAddress;
|
||||
/**公司电话*/
|
||||
@ApiModelProperty(value = "公司电话")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
@Size(max = 15, message = "公司电话长度不能大于15个字符",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
@Pattern(regexp = "^([0-9-]+)$",message = "公司电话格式错误",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String companyPhone;
|
||||
/**开户行*/
|
||||
@ApiModelProperty(value = "开户行")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
@NotEmpty(message = "开户行不能为空",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
@Size(max = 50, message = "开户行长度不能大于50个字符",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String openingBank;
|
||||
/**银行账号*/
|
||||
@ApiModelProperty(value = "银行账号")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
@NotEmpty(message = "银行账号不能为空",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
@Size(max = 50, message = "银行账号长度不能大于50个字符",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String bankAccount;
|
||||
/**联行号*/
|
||||
@ApiModelProperty(value = "联行号")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
@NotEmpty(message = "联行号不能为空",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String linkBankNumber;
|
||||
|
||||
/**发票项目*/
|
||||
@Dict(dicCode = "invoice_project")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
@ApiModelProperty(value = "发票项目")
|
||||
private Integer invoiceProject;
|
||||
|
||||
}
|
||||
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.jero.meeting.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.meeting.entity.PayMeetingGuestsFile;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-07-13 10:35
|
||||
*/
|
||||
public interface PayMeetingGuestsFileMapper extends BaseMapper<PayMeetingGuestsFile> {
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.meeting.mapper.PayMeetingGuestsFileMapper">
|
||||
<resultMap id="BaseResultMap" type="com.jero.meeting.entity.PayMeetingGuestsFile">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table pay_meeting_guests_file-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="meeting_id" jdbcType="VARCHAR" property="meetingId" />
|
||||
<result column="contacts_id" jdbcType="VARCHAR" property="contactsId" />
|
||||
<result column="file_id" jdbcType="VARCHAR" property="fileId" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, meeting_id, contacts_id, file_id, create_by, create_time
|
||||
</sql>
|
||||
</mapper>
|
||||
+1
-1
@@ -73,7 +73,7 @@ public interface IPayMeetingService extends IService<PayMeeting> {
|
||||
|
||||
IPage<PayMeeting> queryMeetingSummary(MeetingSummary meetingSummary, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
|
||||
List<String> uploadFileSendMsg(UploadFileVO uploadFileVO, Integer meetingCommon);
|
||||
List<String> uploadFileSendMsg(UploadFileVO uploadFileVO, Integer meetingCommon, Boolean isGuestsUpload);
|
||||
|
||||
/**
|
||||
* 上传会议纪要
|
||||
|
||||
+9
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingGuestsFile;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.meeting.vo.*;
|
||||
@@ -93,4 +94,12 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
|
||||
Boolean checkMember(String meetingId, Integer meetingType);
|
||||
|
||||
void editGuestInfo(PayMeetingSituation payMeetingSituation);
|
||||
|
||||
void setGuestsUploadFile(SetGuestsUploadFileVO setGuestsUploadFileVO, Integer meetingType1);
|
||||
|
||||
void guestsUploadFile(GuestsUploadFileVO guestsUploadFileVO);
|
||||
|
||||
List<PayMeetingGuestsFile> guestsUploadFileList(GuestsUploadFileVO guestsUploadFileVO);
|
||||
|
||||
void guestsDeleteFile(GuestsUploadFileVO guestsUploadFileVO);
|
||||
}
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.jero.meeting.service;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.meeting.entity.PayMeetingGuestsFile;
|
||||
import com.jero.meeting.mapper.PayMeetingGuestsFileMapper;
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2023-07-13 10:33
|
||||
*/
|
||||
@Service
|
||||
public class PayMeetingGuestsFileService extends ServiceImpl<PayMeetingGuestsFileMapper, PayMeetingGuestsFile> {
|
||||
|
||||
}
|
||||
+74
-20
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.dto.SendMessageDTO;
|
||||
import com.jero.common.enums.CompanyMessageEnums;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
@@ -36,6 +37,7 @@ import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.common.MeetingSubitemCommon;
|
||||
import com.jero.meeting.entity.*;
|
||||
import com.jero.meeting.mapper.PayMeetingContactsMapper;
|
||||
import com.jero.meeting.mapper.PayMeetingGuestsFileMapper;
|
||||
import com.jero.meeting.mapper.PayMeetingMapper;
|
||||
import com.jero.meeting.service.*;
|
||||
import com.jero.meeting.valid.group.CaseCommitteeMeeting;
|
||||
@@ -131,6 +133,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
private IPayWorkingGroupSubItemContactsService workingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private IPayMeetingStandardService payMeetingStandardService;
|
||||
@Resource
|
||||
private PayMeetingGuestsFileMapper meetingGuestsFileMapper;
|
||||
|
||||
/**
|
||||
* 新增会议
|
||||
@@ -154,11 +158,12 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
);
|
||||
meetingHotelContactsService.saveBatch(hotelContactsList);
|
||||
}
|
||||
Integer meetingType = payMeeting.getMeetingType();
|
||||
//会议联系人
|
||||
List<PayMeetingContacts> meetingContactsList = payMeetingVO.getMeetingContactsList();
|
||||
addMeetingContactsList(meetingContactsList, payMeeting.getId());
|
||||
addMeetingContactsList(meetingContactsList, payMeeting.getId(),meetingType.equals(MeetingCommon.STANDARD_MEETING_INT));
|
||||
//新增会员系统标协会议
|
||||
if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
|
||||
if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)) {
|
||||
String directorId = payMeeting.getDirectorId();
|
||||
LoginUser loginUser = sysBaseAPI.getUserById(directorId);
|
||||
payMeeting.setDirectorName(loginUser.getRealname());
|
||||
@@ -174,6 +179,12 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
if (StrUtil.isNotBlank(paymentQrCode)){
|
||||
fileIdList.add(paymentQrCode);
|
||||
}
|
||||
String fileIds = payMeeting.getFileIds();
|
||||
if (StrUtil.isNotBlank(fileIds)){
|
||||
List<String> strings = Arrays.asList(fileIds.split(","));
|
||||
List<String> arrayList = new ArrayList<>(strings);
|
||||
fileIdList.addAll(arrayList);
|
||||
}
|
||||
pushStandardsFiles(fileIdList);
|
||||
}
|
||||
}
|
||||
@@ -255,9 +266,10 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
);
|
||||
meetingHotelContactsService.saveBatch(hotelContactsList);
|
||||
}
|
||||
Integer meetingType = payMeeting.getMeetingType();
|
||||
//会议联系人
|
||||
List<PayMeetingContacts> meetingContactsList = payMeeting.getMeetingContactsList();
|
||||
addMeetingContactsList(meetingContactsList, payMeeting.getId());
|
||||
addMeetingContactsList(meetingContactsList, payMeeting.getId(), MeetingCommon.STANDARD_MEETING_INT.equals(meetingType));
|
||||
}
|
||||
|
||||
public void delWithStandardForUpdate(PayMeeting payMeeting){
|
||||
@@ -313,11 +325,12 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
);
|
||||
meetingHotelContactsService.saveBatch(hotelContactsList);
|
||||
}
|
||||
Integer meetingType = payMeeting.getMeetingType();
|
||||
//会议联系人
|
||||
List<PayMeetingContacts> meetingContactsList = payMeetingVO.getMeetingContactsList();
|
||||
addMeetingContactsList(meetingContactsList, payMeeting.getId());
|
||||
addMeetingContactsList(meetingContactsList, payMeeting.getId(), meetingType.equals(MeetingCommon.STANDARD_MEETING_INT));
|
||||
//编辑标协会议
|
||||
if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
|
||||
if (meetingType.equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
|
||||
String directorId = payMeeting.getDirectorId();
|
||||
LoginUser loginUser = sysBaseAPI.getUserById(directorId);
|
||||
payMeeting.setDirectorName(loginUser.getRealname());
|
||||
@@ -333,6 +346,12 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
if (StrUtil.isNotBlank(paymentQrCode)){
|
||||
fileIdList.add(paymentQrCode);
|
||||
}
|
||||
String fileIds = payMeeting.getFileIds();
|
||||
if (StrUtil.isNotBlank(fileIds)){
|
||||
List<String> strings = Arrays.asList(fileIds.split(","));
|
||||
List<String> arrayList = new ArrayList<>(strings);
|
||||
fileIdList.addAll(arrayList);
|
||||
}
|
||||
pushStandardsFiles(fileIdList);
|
||||
}
|
||||
}
|
||||
@@ -340,7 +359,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
/**
|
||||
* 增加会议联系人
|
||||
*/
|
||||
private void addMeetingContactsList(List<PayMeetingContacts> meetingContactsList, String meetingId) {
|
||||
private void addMeetingContactsList(List<PayMeetingContacts> meetingContactsList, String meetingId, boolean needPushStandard) {
|
||||
|
||||
if (meetingContactsList == null) {
|
||||
return;
|
||||
@@ -369,7 +388,9 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
meetingContacts.setMeetingId(meetingId)
|
||||
);
|
||||
meetingContactsService.saveBatch(addMeetingContactsList);
|
||||
AuthenticationUtils.post("/stablecrosstraining/stableCrossTraining/addMeetingContactsList",null,addMeetingContactsList);
|
||||
if (needPushStandard){
|
||||
AuthenticationUtils.post("/stablecrosstraining/stableCrossTraining/addMeetingContactsList",null,addMeetingContactsList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -724,6 +745,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
map.put("meetingType", meetingType);
|
||||
map.put("meetingName", payMeeting.getMeetingName());
|
||||
map.put("busId", meetingId);
|
||||
Integer sendEmailFlag = publishReminderVO.getSendEmailFlag();
|
||||
sendMessageDTO.setSendEmailFlag(sendEmailFlag);
|
||||
sendMessageDTO.setEmail(PasswordUtil.decrypt(email));
|
||||
sendMessageDTO.setToUser(PasswordUtil.decrypt(phone));
|
||||
sendMessageDTO.setPhone(PasswordUtil.decrypt(phone));
|
||||
@@ -737,11 +760,13 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
sendMessageDTO.setBusId(jsonObject.toJSONString());
|
||||
try {
|
||||
sendMessageService.SendMessageService(sendMessageDTO);
|
||||
PayMeetingRemindRecord meetingRemindRecord1 = new PayMeetingRemindRecord();
|
||||
meetingRemindRecord1.setSubitemId(meetingRemindRecord.getSubitemId());
|
||||
meetingRemindRecord1.setContactId(meetingRemindRecord.getContactId());
|
||||
meetingRemindRecord1.setMeetingId(meetingId);
|
||||
payMeetingRemindRecordService.save(meetingRemindRecord1);
|
||||
if (!CommonConstant.DEL_FLAG_0.equals(sendEmailFlag)){
|
||||
PayMeetingRemindRecord meetingRemindRecord1 = new PayMeetingRemindRecord();
|
||||
meetingRemindRecord1.setSubitemId(meetingRemindRecord.getSubitemId());
|
||||
meetingRemindRecord1.setContactId(meetingRemindRecord.getContactId());
|
||||
meetingRemindRecord1.setMeetingId(meetingId);
|
||||
payMeetingRemindRecordService.save(meetingRemindRecord1);
|
||||
}
|
||||
}catch (Exception e){
|
||||
String name = payContactsManagement.getName();
|
||||
if(e.getMessage().contains("邮件发送") && !listMsg.contains(name + "邮件发送失败")){
|
||||
@@ -1000,6 +1025,18 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
}
|
||||
}
|
||||
});
|
||||
//会议资料
|
||||
List<String> meetingDataList = new ArrayList<>();
|
||||
String meetingData = meeting.getMeetingData();
|
||||
if (StringUtils.isNotBlank(meetingData)) {
|
||||
meetingDataList.addAll(Arrays.asList(meetingData.split(",")));
|
||||
}
|
||||
//LambdaQueryWrapper<PayMeetingGuestsFile> wrapper1 = new LambdaQueryWrapper<>();
|
||||
//wrapper1.eq(PayMeetingGuestsFile::getMeetingId,meetingId);
|
||||
//List<PayMeetingGuestsFile> payMeetingGuestsFiles = meetingGuestsFileMapper.selectList(wrapper1);
|
||||
//List<String> collect = payMeetingGuestsFiles.stream().map(PayMeetingGuestsFile::getFileId).collect(Collectors.toList());
|
||||
//meetingDataList.addAll(collect);
|
||||
//meeting.setMeetingData(String.join(",",meetingDataList));
|
||||
}
|
||||
return pageList;
|
||||
}
|
||||
@@ -1089,23 +1126,40 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<String> uploadFileSendMsg(UploadFileVO uploadFileVO, Integer meetingCommon) {
|
||||
public List<String> uploadFileSendMsg(UploadFileVO uploadFileVO, Integer meetingCommon, Boolean isGuestsUpload) {
|
||||
List<String> listMsg = new ArrayList<>();
|
||||
String id = uploadFileVO.getId();
|
||||
PayMeeting payMeeting = getOne(
|
||||
new LambdaQueryWrapper<PayMeeting>()
|
||||
.eq(PayMeeting::getId, id)
|
||||
.eq(PayMeeting::getMeetingType, meetingCommon)
|
||||
);
|
||||
LambdaQueryWrapper<PayMeeting> payMeetingLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
payMeetingLambdaQueryWrapper.eq(PayMeeting::getId, id);
|
||||
if (meetingCommon != null){
|
||||
payMeetingLambdaQueryWrapper.eq(PayMeeting::getMeetingType, meetingCommon);
|
||||
}
|
||||
PayMeeting payMeeting = getOne(payMeetingLambdaQueryWrapper);
|
||||
if (Objects.isNull(payMeeting)) {
|
||||
throw new JeroBootException("会议不存在");
|
||||
}
|
||||
meetingCommon = payMeeting.getMeetingType();
|
||||
String fileIds = uploadFileVO.getFileIds();
|
||||
List<String> meetingFileIdList = new ArrayList<>(Arrays.asList(fileIds.split(",")));
|
||||
if (isGuestsUpload){
|
||||
String meetingData = payMeeting.getMeetingData();
|
||||
if (StringUtils.isNotBlank(meetingData)) {
|
||||
List<String> oldMeetingDataList = new ArrayList<>(Arrays.asList(meetingData.split(",")));
|
||||
oldMeetingDataList.addAll(meetingFileIdList);
|
||||
meetingFileIdList = oldMeetingDataList;
|
||||
fileIds = String.join(",", meetingFileIdList);
|
||||
}
|
||||
}
|
||||
//删除嘉宾文件
|
||||
LambdaQueryWrapper<PayMeetingGuestsFile> deleteWrapper = new LambdaQueryWrapper<>();
|
||||
deleteWrapper.eq(PayMeetingGuestsFile::getMeetingId,id);
|
||||
deleteWrapper.notIn(PayMeetingGuestsFile::getFileId,meetingFileIdList);
|
||||
meetingGuestsFileMapper.delete(deleteWrapper);
|
||||
|
||||
LambdaUpdateWrapper<PayMeeting> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(PayMeeting::getId, id);
|
||||
wrapper.set(PayMeeting::getMeetingData, fileIds);
|
||||
update(wrapper);
|
||||
List<String> meetingFileIdList = Arrays.asList(fileIds.split(","));
|
||||
//如果过滤后为空则不发邮件
|
||||
if (meetingFileIdList.isEmpty()) {
|
||||
return listMsg;
|
||||
@@ -1132,7 +1186,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
new LambdaQueryWrapper<PayMeetingSituation>()
|
||||
.select(PayMeetingSituation::getCompanyContactId)
|
||||
.eq(PayMeetingSituation::getMeetingId, id)
|
||||
.eq(PayMeetingSituation::getCheckResult, MeetingSubitemCommon.SIGNUP_STATUS_1)
|
||||
.eq(PayMeetingSituation::getRegisterCheckResult, MeetingSubitemCommon.SIGNUP_STATUS_1)
|
||||
);
|
||||
if (payMeetingSituations.isEmpty()) {
|
||||
return listMsg;
|
||||
|
||||
+149
-3
@@ -1,4 +1,6 @@
|
||||
package com.jero.meeting.service.impl;
|
||||
import java.io.File;
|
||||
import java.util.Date;
|
||||
|
||||
import cn.hutool.core.date.DateField;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
@@ -8,10 +10,12 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.common.ProjectCommon;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.dto.SendMessageDTO;
|
||||
import com.jero.common.enums.CompanyMessageEnums;
|
||||
import com.jero.common.enums.ManagementMessageEnums;
|
||||
@@ -23,6 +27,7 @@ import com.jero.common.service.ContractCreateProjectSendMessageService;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
@@ -30,6 +35,7 @@ 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.company.vo.UpdateInvoicePram;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
@@ -47,7 +53,9 @@ import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.common.MeetingSubitemCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingContacts;
|
||||
import com.jero.meeting.entity.PayMeetingGuestsFile;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingGuestsFileMapper;
|
||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
import com.jero.meeting.service.IPayMeetingContactsService;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
@@ -67,11 +75,13 @@ import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.standards.memberinfo.service.IMemberInfoService;
|
||||
import com.jero.standards.xuanguan.stablecrosstraining.entity.StableCrossTraining;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import com.jero.util.ObjRecordUtil;
|
||||
import com.jero.util.module.ObjRecordUtilModule;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.util.Strings;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -146,6 +156,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
private IPayWorkingGroupSubItemContactsService workingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private PayRandomCodeService randomCodeService;
|
||||
@Resource
|
||||
private PayMeetingGuestsFileMapper meetingGuestsFileMapper;
|
||||
|
||||
|
||||
private static final String[] CAN_MODIFY_LIST =
|
||||
@@ -1076,6 +1088,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
//校验企业
|
||||
String companyId = meetingEntity.getCompanyId();
|
||||
PayCompanyManagement companyManagement = companyManagementService.getById(companyId);
|
||||
payMeetingSituation.setCompanyName(companyManagement.getCompanyName());
|
||||
//处理企业
|
||||
canHuiRenCompany(payMeetingSituation1, companyManagement);
|
||||
//校验企业联系人
|
||||
@@ -1169,6 +1182,18 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
if (ProjectCommon.NEED_INVOICE1.equals(needInvoice)
|
||||
||ProjectCommon.NEED_INVOICE2.equals(needInvoice)) {
|
||||
ValidUtil.validate(commonPeopleVO, NotPack.class);
|
||||
Integer invoiceProject = commonPeopleVO.getInvoiceProject();
|
||||
payMeetingSituation1.setInvoiceProject(invoiceProject);
|
||||
// 校验发票信息
|
||||
UpdateInvoicePram updateInvoicePram = new UpdateInvoicePram();
|
||||
BeanUtils.copyProperties(payMeetingSituation, updateInvoicePram);
|
||||
if (Objects.equals(needInvoice, ProjectCommon.NEED_INVOICE1)) {
|
||||
ValidUtil.validate(updateInvoicePram, UpdateInvoicePram.needInvoice_1.class);
|
||||
} else {
|
||||
ValidUtil.validate(updateInvoicePram, UpdateInvoicePram.needInvoice_2.class);
|
||||
}
|
||||
|
||||
BeanUtils.copyProperties(updateInvoicePram, payMeetingSituation1);
|
||||
}
|
||||
String paymentRecord = payMeetingSituation.getPaymentRecord();
|
||||
String orderCode = payMeetingSituation.getOrderCode();
|
||||
@@ -1322,7 +1347,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
payMeetingSituation1.setPaidTax(BigDecimal.ZERO);
|
||||
payMeetingSituation1.setPaidNoTaxAmount(BigDecimal.ZERO);
|
||||
|
||||
payMeetingSituation1.setPayMode(0);
|
||||
payMeetingSituation1.setPayMode(null);
|
||||
payMeetingSituation1.setTaxRate(StaticConfig.TAX_RATE);
|
||||
payMeetingSituation1.setTax(BigDecimal.ZERO);
|
||||
payMeetingSituation1.setNoTaxAmount(BigDecimal.ZERO);
|
||||
@@ -1405,8 +1430,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId);
|
||||
queryWrapper1.eq(PayMeetingContacts::getMeetingContactsId,sysUserId);
|
||||
boolean b = meetingContactsService.count(queryWrapper1) > 0;
|
||||
if (!b && !payMeeting.getDirectorId().equals(sysUserId)) {
|
||||
throw new JeroBootException("只有会议负责人,会议联系人可以删除");
|
||||
if (!b && !payMeeting.getDirectorId().equals(sysUserId)&& !payMeetingSituation.getCompanyContactId().equals(sysUserId)) {
|
||||
throw new JeroBootException("只有会议负责人,会议联系人,参会人可以删除");
|
||||
}
|
||||
Integer inAccount = payMeetingSituation.getInAccount();
|
||||
if (!inAccount.equals(PayProjectCommon.IN_ACCOUNT0)) {
|
||||
@@ -1415,6 +1440,9 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
if (!payMeetingSituation.getMakeInvoice().equals(PayProjectCommon.MAKE_INVOICE0)) {
|
||||
throw new JeroBootException(payMeetingSituation.getCompanyContactName() + " 该参会人已经有开票,无法删除");
|
||||
}
|
||||
if (!payMeetingSituation.getAffirmIncome().equals(PayProjectCommon.AFFIRM_INCOME0)) {
|
||||
throw new JeroBootException(payMeetingSituation.getCompanyContactName() + " 该参会人已经有确认收入,无法删除");
|
||||
}
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(PayIncomeContractAssociated::getProjectId, id);
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(wrapper1);
|
||||
@@ -1732,4 +1760,122 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
BeanUtils.copyProperties(internationalGuestVO, update);
|
||||
updateById(update);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGuestsUploadFile(SetGuestsUploadFileVO setGuestsUploadFileVO, Integer meetingType1) {
|
||||
String meetingId = setGuestsUploadFileVO.getMeetingId();
|
||||
PayMeeting payMeeting = meetingService.getById(meetingId);
|
||||
String meetingType = payMeeting.getMeetingType().toString();
|
||||
|
||||
|
||||
if (meetingType1 != null && !Objects.equals(payMeeting.getMeetingType(),meetingType1)) {
|
||||
throw new JeroBootException("数据权限不足");
|
||||
}
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String sysUserId = sysUser.getId();
|
||||
String directorId = payMeeting.getDirectorId();
|
||||
|
||||
//只有会议负责人可以修改
|
||||
if (!directorId.equals(sysUserId)) {
|
||||
throw new JeroBootException("只有会议负责人可以修改");
|
||||
}
|
||||
String meetingSituationIds = setGuestsUploadFileVO.getMeetingSituationIds();
|
||||
List<String> meetingSituationIdList = Arrays.asList(meetingSituationIds.split(","));
|
||||
List<PayMeetingSituation> payMeetingSituations = this.listByIds(meetingSituationIdList);
|
||||
for (PayMeetingSituation meetingSituation : payMeetingSituations) {
|
||||
String meetingId1 = meetingSituation.getMeetingId();
|
||||
if (!meetingId.equals(meetingId1)){
|
||||
throw new JeroBootException("参会人选择错误");
|
||||
}
|
||||
//只有嘉宾可以设置
|
||||
Integer identity = meetingSituation.getIdentity();
|
||||
Integer registerCheckResult = meetingSituation.getRegisterCheckResult();
|
||||
if (!MeetingSubitemCommon.SIGNUP_STATUS_1.equals(registerCheckResult)
|
||||
|| !identity.equals(MeetingSubitemCommon.JIA_BIN)){
|
||||
throw new JeroBootException("只有审核通过的嘉宾才可以设置");
|
||||
}
|
||||
}
|
||||
Integer guestsUploadFileFlag = setGuestsUploadFileVO.getGuestsUploadFileFlag();
|
||||
LambdaUpdateWrapper<PayMeetingSituation> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(PayMeetingSituation::getGuestsUploadFileFlag, guestsUploadFileFlag);
|
||||
updateWrapper.in(PayMeetingSituation::getId,meetingSituationIdList);
|
||||
this.update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void guestsUploadFile(GuestsUploadFileVO guestsUploadFileVO) {
|
||||
String meetingId = guestsUploadFileVO.getMeetingId();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String sysUserId = sysUser.getId();
|
||||
|
||||
LambdaQueryWrapper<PayMeetingSituation> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMeetingSituation::getMeetingId,meetingId);
|
||||
wrapper.eq(PayMeetingSituation::getCompanyContactId,sysUserId);
|
||||
PayMeetingSituation meetingSituation = this.getOne(wrapper);
|
||||
Integer identity = meetingSituation.getIdentity();
|
||||
if (!identity.equals(MeetingSubitemCommon.JIA_BIN)){
|
||||
throw new JeroBootException("只有嘉宾可以设置");
|
||||
}
|
||||
Integer guestsUploadFileFlag = meetingSituation.getGuestsUploadFileFlag();
|
||||
if (!CommonConstant.DEL_FLAG_1.equals(guestsUploadFileFlag)){
|
||||
throw new JeroBootException("没有权限");
|
||||
}
|
||||
String fileIds = guestsUploadFileVO.getFileIds();
|
||||
String[] fileIdList = fileIds.split(",");
|
||||
for (String fileId : fileIdList) {
|
||||
PayMeetingGuestsFile payMeetingGuestsFile = new PayMeetingGuestsFile();
|
||||
payMeetingGuestsFile.setMeetingId(meetingId);
|
||||
payMeetingGuestsFile.setContactsId(sysUserId);
|
||||
payMeetingGuestsFile.setFileId(fileId);
|
||||
meetingGuestsFileMapper.insert(payMeetingGuestsFile);
|
||||
}
|
||||
UploadFileVO uploadFileVO = new UploadFileVO();
|
||||
uploadFileVO.setId(meetingId);
|
||||
uploadFileVO.setFileIds(fileIds);
|
||||
|
||||
|
||||
meetingService.uploadFileSendMsg(uploadFileVO, null,true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PayMeetingGuestsFile> guestsUploadFileList(GuestsUploadFileVO guestsUploadFileVO) {
|
||||
String meetingId = guestsUploadFileVO.getMeetingId();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String sysUserId = sysUser.getId();
|
||||
|
||||
LambdaQueryWrapper<PayMeetingGuestsFile> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMeetingGuestsFile::getMeetingId,meetingId);
|
||||
wrapper.eq(PayMeetingGuestsFile::getContactsId,sysUserId);
|
||||
wrapper.orderByDesc(PayMeetingGuestsFile::getCreateTime);
|
||||
return meetingGuestsFileMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void guestsDeleteFile(GuestsUploadFileVO guestsUploadFileVO) {
|
||||
String meetingId = guestsUploadFileVO.getMeetingId();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String sysUserId = sysUser.getId();
|
||||
String fileIds = guestsUploadFileVO.getFileIds();
|
||||
List<String> fileIdList = Arrays.asList(fileIds.split(","));
|
||||
|
||||
LambdaQueryWrapper<PayMeetingGuestsFile> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMeetingGuestsFile::getMeetingId,meetingId);
|
||||
wrapper.eq(PayMeetingGuestsFile::getContactsId,sysUserId);
|
||||
wrapper.in(PayMeetingGuestsFile::getFileId,fileIdList);
|
||||
meetingGuestsFileMapper.delete(wrapper);
|
||||
|
||||
PayMeeting meeting = meetingService.getById(meetingId);
|
||||
String meetingData = meeting.getMeetingData();
|
||||
List<String> meetingDataList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(meetingData)){
|
||||
meetingDataList = Arrays.asList(meetingData.split(","));
|
||||
meetingDataList.removeAll(fileIdList);
|
||||
}
|
||||
LambdaUpdateWrapper<PayMeeting> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(PayMeeting::getId, meetingId);
|
||||
updateWrapper.set(PayMeeting::getMeetingData, String.join(",",meetingDataList));
|
||||
meetingService.update(updateWrapper);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jero.meeting.vo;
|
||||
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.meeting.valid.group.NotPack;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -55,4 +56,9 @@ public class CommonPeopleVO{
|
||||
@ApiModelProperty(value = "缴费凭证")
|
||||
private String paymentRecord;
|
||||
|
||||
/**发票项目*/
|
||||
@Dict(dicCode = "invoice_project")
|
||||
@ApiModelProperty(value = "发票项目")
|
||||
private Integer invoiceProject;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.jero.meeting.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-07-13 9:37
|
||||
*/
|
||||
@Data
|
||||
public class GuestsUploadFileVO {
|
||||
/**会议id*/
|
||||
@ApiModelProperty(value = "会议id")
|
||||
@NotBlank(message = "会议项目不能为空")
|
||||
private String meetingId;
|
||||
|
||||
@ApiModelProperty(value = "文件ids")
|
||||
@NotBlank(message = "文件不能为空")
|
||||
private String fileIds;
|
||||
|
||||
|
||||
}
|
||||
+1
-5
@@ -156,9 +156,5 @@ public class InternationalGuestVO {
|
||||
@Size(max = 50,message = "同行人最大为50字符")
|
||||
private String peer;
|
||||
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
@Size(max = 200,message = "备注最大为200字符")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
|
||||
@@ -96,4 +96,10 @@ public class MeetingEntity implements Serializable {
|
||||
@ApiModelProperty(value = "实收金额")
|
||||
private BigDecimal paidAmount;
|
||||
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
@Size(max = 200,message = "备注最大为200字符")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
|
||||
+37
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.company.vo.UpdateInvoicePram;
|
||||
import com.jero.meeting.valid.group.CommonPeople;
|
||||
import com.jero.meeting.valid.group.Guest;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -308,4 +309,40 @@ public class PayMeetingSituationVO {
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal noTaxAmount;
|
||||
|
||||
/**信用代码*/
|
||||
@ApiModelProperty(value = "信用代码")
|
||||
@NotEmpty(message = "信用代码不能为空",groups = {UpdateInvoicePram.needInvoice_1.class, UpdateInvoicePram.needInvoice_2.class})
|
||||
@Size(max = 18, message = "信用代码长度不能大于18个字符",groups = {UpdateInvoicePram.needInvoice_1.class,UpdateInvoicePram.needInvoice_2.class})
|
||||
@Pattern(regexp = "^([0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\\d{14})$",message = "信用代码格式错误",groups = {UpdateInvoicePram.needInvoice_1.class,UpdateInvoicePram.needInvoice_2.class})
|
||||
private String dutyCode;
|
||||
/**公司地址*/
|
||||
@ApiModelProperty(value = "公司地址")
|
||||
@NotEmpty(message = "公司地址不能为空",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
@Size(max = 50, message = "公司地址长度不能大于50个字符",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String companyAddress;
|
||||
/**公司电话*/
|
||||
@ApiModelProperty(value = "公司电话")
|
||||
@Size(max = 15, message = "公司电话长度不能大于15个字符",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
@Pattern(regexp = "^([0-9-]+)$",message = "公司电话格式错误",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String companyPhone;
|
||||
/**开户行*/
|
||||
@ApiModelProperty(value = "开户行")
|
||||
@NotEmpty(message = "开户行不能为空",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
@Size(max = 50, message = "开户行长度不能大于50个字符",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String openingBank;
|
||||
/**银行账号*/
|
||||
@ApiModelProperty(value = "银行账号")
|
||||
@NotEmpty(message = "银行账号不能为空",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
@Size(max = 50, message = "银行账号长度不能大于50个字符",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String bankAccount;
|
||||
/**联行号*/
|
||||
@ApiModelProperty(value = "联行号")
|
||||
@NotEmpty(message = "联行号不能为空",groups = UpdateInvoicePram.needInvoice_2.class)
|
||||
private String linkBankNumber;
|
||||
|
||||
/**发票项目*/
|
||||
@Dict(dicCode = "invoice_project")
|
||||
@ApiModelProperty(value = "发票项目")
|
||||
private Integer invoiceProject;
|
||||
|
||||
}
|
||||
|
||||
@@ -267,6 +267,11 @@ public class PayMeetingVO implements Serializable {
|
||||
@Size(max = 1000, message = "会议通知文件数量超出最大限制")
|
||||
private String meetingFiles;
|
||||
|
||||
/**会议通知文件*/
|
||||
@ApiModelProperty(value = "会议文件")
|
||||
@Size(max = 1000, message = "会议文件数量超出最大限制")
|
||||
private String fileIds;
|
||||
|
||||
/**会议资料*/
|
||||
@ApiModelProperty(value = "会议资料")
|
||||
@Size(max = 1000, message = "会议资料数量超出最大限制")
|
||||
|
||||
@@ -21,4 +21,6 @@ public class PublishReminderVO {
|
||||
private List<String> subitemIds;
|
||||
@ApiModelProperty(value = "项目类型1:工作组,2:分标委")
|
||||
private Integer projectType;
|
||||
@ApiModelProperty(value = "是否发送邮件")
|
||||
private Integer sendEmailFlag;
|
||||
}
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.jero.meeting.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-07-13 9:37
|
||||
*/
|
||||
@Data
|
||||
public class SetGuestsUploadFileVO {
|
||||
/**会议id*/
|
||||
@ApiModelProperty(value = "会议id")
|
||||
@NotBlank(message = "会议项目不能为空")
|
||||
private String meetingId;
|
||||
|
||||
@ApiModelProperty(value = "参会人ids")
|
||||
@NotBlank(message = "参会人不能为空")
|
||||
private String meetingSituationIds;
|
||||
|
||||
@ApiModelProperty(value = "嘉宾上传文件标识")
|
||||
@NotNull(message = "嘉宾上传文件标识不能为空")
|
||||
private Integer guestsUploadFileFlag;
|
||||
}
|
||||
-4
@@ -112,10 +112,6 @@ public class InternationalSituationExcel extends SituationBaseExcel {
|
||||
@Excel(name = "同行人", width = 15)
|
||||
private String peer;
|
||||
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
private String remark;
|
||||
|
||||
/**邮寄联系人*/
|
||||
@Excel(name = "邮寄联系人", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
|
||||
private String postContactId;
|
||||
|
||||
+26
@@ -12,4 +12,30 @@ public class SituationBaseExcel {
|
||||
/**签到文件*/
|
||||
@Excel(name = "手动签到", type = 2 ,width = 40 , height = 20,imageType = 3)
|
||||
private String checkFile;
|
||||
|
||||
/**发票项目*/
|
||||
@Excel(name = "发票项目", dicCode = "invoice_project", width = 15)
|
||||
private Integer invoiceProject;
|
||||
/**信用代码*/
|
||||
@Excel(name = "信用代码", width = 15)
|
||||
private String dutyCode;
|
||||
/**公司地址*/
|
||||
@Excel(name = "公司地址", width = 15)
|
||||
private String companyAddress;
|
||||
/**公司电话*/
|
||||
@Excel(name = "公司电话", width = 15)
|
||||
private String companyPhone;
|
||||
/**开户行*/
|
||||
@Excel(name = "开户行", width = 15)
|
||||
private String openingBank;
|
||||
/**银行账号*/
|
||||
@Excel(name = "银行账号", width = 15)
|
||||
private String bankAccount;
|
||||
/**联行号*/
|
||||
@Excel(name = "联行号", width = 15)
|
||||
private String linkBankNumber;
|
||||
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
private String remark;
|
||||
}
|
||||
|
||||
+23
-4
@@ -25,6 +25,7 @@ import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.pack.vo.PayProjectExcel;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -164,18 +165,36 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
@Override
|
||||
@Transactional
|
||||
public void removePayPackCompanyProject(PayPackCompanyProject payPackCompanyProject) {
|
||||
String projectId = payPackCompanyProject.getId();
|
||||
LambdaQueryWrapper<PayPackCompanyProject> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayPackCompanyProject::getProjectId,payPackCompanyProject.getId());
|
||||
query.eq(PayPackCompanyProject::getProjectId, projectId);
|
||||
List<PayPackCompanyProject> listPayPackCompanyProject = payPackCompanyProjectService.list(query);
|
||||
if(CollectionUtils.isEmpty(listPayPackCompanyProject)){
|
||||
throw new JeroBootException("不存在打包项目!");
|
||||
}
|
||||
if(Objects.equals(listPayPackCompanyProject.get(0).getCome(),PackCommon.COME1)){
|
||||
PayPackCompanyProject packCompanyProject = listPayPackCompanyProject.get(0);
|
||||
Integer projectType = packCompanyProject.getProjectType();
|
||||
if (Objects.equals(projectType, Integer.parseInt(PayProjectCommon.PROJECT_TYPE5))||
|
||||
Objects.equals(projectType, Integer.parseInt(PayProjectCommon.PROJECT_TYPE6))){
|
||||
PayCommonProject payCommonProject = projectDetailMapper.queryProject(projectId);
|
||||
Integer chargeWay = payCommonProject.getChargeWay();
|
||||
Integer affirmIncome = payCommonProject.getAffirmIncome();
|
||||
Integer inAccount = payCommonProject.getInAccount();
|
||||
if(Objects.equals(chargeWay,PayProjectCommon.CHARGE_WAY2)){
|
||||
if (1 == affirmIncome || 2 == affirmIncome){
|
||||
throw new JeroBootException("已经确认收入的打包标协会员项目不允许取消打包");
|
||||
}
|
||||
if (1 == inAccount || 2 == inAccount){
|
||||
throw new JeroBootException("已经来款的打包标协会员项目不允许取消打包");
|
||||
}
|
||||
}
|
||||
}
|
||||
if(Objects.equals(packCompanyProject.getCome(),PackCommon.COME1)){
|
||||
throw new JeroBootException("此项目已在合同处创建关联,请先从合同处取消关联!");
|
||||
}
|
||||
// 更新项目状态
|
||||
projectPackService.updateProjectStatus(listPayPackCompanyProject.get(0).getProjectId(),String.valueOf(listPayPackCompanyProject.get(0).getProjectType()),String.valueOf(PackCommon.PACKAGING0),payPackCompanyProject.getPackId());
|
||||
payPackCompanyProjectService.removeById(listPayPackCompanyProject.get(0).getId());
|
||||
projectPackService.updateProjectStatus(packCompanyProject.getProjectId(),String.valueOf(projectType),String.valueOf(PackCommon.PACKAGING0),payPackCompanyProject.getPackId());
|
||||
payPackCompanyProjectService.removeById(packCompanyProject.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-3
@@ -58,7 +58,7 @@ public class PayConfirmPaymentRecordController extends JeroController<PayConfir
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
@RequiresPermissions("incomePaymentAndInvoiving:confirmPayment")
|
||||
@RequiresPermissions({"incomePaymentAndInvoiving:confirmPayment","packProject:confirmPayment"})
|
||||
@ApiOperation(value="确认来款-列表查询", notes="确认来款-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<PayConfirmPaymentRecord>> queryList(PayConfirmPaymentRecord payConfirmPaymentRecord,
|
||||
@@ -71,7 +71,7 @@ public class PayConfirmPaymentRecordController extends JeroController<PayConfir
|
||||
/**
|
||||
* 添加
|
||||
*/
|
||||
@RequiresPermissions("incomePaymentAndInvoiving:confirmPayment")
|
||||
@RequiresPermissions({"incomePaymentAndInvoiving:confirmPayment","packProject:confirmPayment"})
|
||||
@AutoLog(value = "确认来款-添加")
|
||||
@ApiOperation(value="确认来款-添加", notes="确认来款-添加")
|
||||
@PostMapping(value = "/add")
|
||||
@@ -83,7 +83,7 @@ public class PayConfirmPaymentRecordController extends JeroController<PayConfir
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@RequiresPermissions("incomePaymentAndInvoiving:confirmPayment")
|
||||
@RequiresPermissions({"incomePaymentAndInvoiving:confirmPayment","packProject:confirmPayment"})
|
||||
@AutoLog(value = "确认来款-编辑")
|
||||
@ApiOperation(value="确认来款-编辑", notes="确认来款-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import com.jero.common.enums.PaymentStatusEnum;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.mail.PayMailBillVO;
|
||||
import com.jero.mail.vo.PayMailBillVO;
|
||||
import com.jero.mail.service.IPayMailBillService;
|
||||
import com.jero.member.entity.TbCertificatePayment;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
|
||||
+88
-37
@@ -190,7 +190,9 @@
|
||||
</if>
|
||||
<!-- 标协会员项目-->
|
||||
UNION ALL
|
||||
select tmsub.id,tmember.project_name,tmsub.charge_use,tmember.director_id,su.realname,tmsub.company_id,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,tmember.director_id,su.realname,tmsub.company_id,
|
||||
if(tmsub.company_name = tmsub.header_name or tmsub.header_name is null, tmsub.company_name , concat(tmsub.company_name,'(代付)')) as 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.invoice_amount,tmsub.post_contact_id,'' as register_check_result,tmsub.liaison_man,tmsub.payment_status,tmsub.company_id,tmsub.confirm_amount,tmsub.affirm_income
|
||||
from tb_member_project tmember
|
||||
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
|
||||
@@ -202,10 +204,14 @@
|
||||
AND 1=2
|
||||
</if>
|
||||
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
|
||||
AND tmember.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
|
||||
AND tmember.project_name like concat('%',#{payCommonProject.chargeProject},'%')
|
||||
</if>
|
||||
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
|
||||
AND tmsub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
|
||||
AND (
|
||||
tmsub.company_name like concat('%',#{payCommonProject.chargeCompanyTemporaryName},'%')
|
||||
or
|
||||
tmsub.header_name like concat('%',#{payCommonProject.chargeCompanyTemporaryName},'%')
|
||||
)
|
||||
</if>
|
||||
<if test="payCommonProject.paymentStatus != null and payCommonProject.paymentStatus != ''">
|
||||
AND tmsub.payment_status = #{payCommonProject.paymentStatus}
|
||||
@@ -225,7 +231,9 @@
|
||||
</if>
|
||||
<!-- 标协证书项目-->
|
||||
UNION ALL
|
||||
select tcp.id,tmember.project_name,tcp.charge_use,tmember.director_id,su.realname,tcp.company_id,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,
|
||||
select tcp.id,tmember.project_name,tcp.charge_use,tmember.director_id,su.realname,tcp.company_id,
|
||||
if(tcp.company_name = tcp.header_name or tcp.header_name is null, tcp.company_name , concat(tcp.company_name,'(代付)')) as 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,
|
||||
tcp.invoice_amount,tcp.post_contact_id,'' as register_check_result,tcp.liaison_man,tcp.payment_status,tcp.company_id,tcp.confirm_amount,tcp.affirm_income
|
||||
from tb_member_project tmember
|
||||
inner join tb_certificate_payment tcp on tmember.id=tcp.project_id
|
||||
@@ -237,10 +245,14 @@
|
||||
AND 1=2
|
||||
</if>
|
||||
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
|
||||
AND tmember.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
|
||||
AND tmember.project_name like concat('%',#{payCommonProject.chargeProject},'%')
|
||||
</if>
|
||||
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
|
||||
AND tcp.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
|
||||
AND (
|
||||
tcp.company_name like concat('%',#{payCommonProject.chargeCompanyTemporaryName},'%')
|
||||
or
|
||||
tcp.header_name like concat('%',#{payCommonProject.chargeCompanyTemporaryName},'%')
|
||||
)
|
||||
</if>
|
||||
<if test="payCommonProject.paymentStatus != null and payCommonProject.paymentStatus != ''">
|
||||
AND tcp.payment_status = #{payCommonProject.paymentStatus}
|
||||
@@ -262,14 +274,14 @@
|
||||
LEFT JOIN pay_payment_record ppr ON ppr.project_id = p.id
|
||||
where
|
||||
1=1
|
||||
<if test="param2.startAmount != null and param2.startAmount != '' and param2.endAmount != null and param2.endAmount != ''">
|
||||
AND p.receivable_amount between #{param2.startAmount} and #{param2.endAmount}
|
||||
<if test="payCommonProject.startAmount != null and payCommonProject.startAmount != '' and payCommonProject.endAmount != null and payCommonProject.endAmount != ''">
|
||||
AND p.receivable_amount between #{payCommonProject.startAmount} and #{payCommonProject.endAmount}
|
||||
</if>
|
||||
<if test="param2.startAmount == null and param2.endAmount != null">
|
||||
AND p.receivable_amount <![CDATA[<=]]> #{param2.endAmount}
|
||||
<if test="payCommonProject.startAmount == null and payCommonProject.endAmount != null">
|
||||
AND p.receivable_amount <![CDATA[<=]]> #{payCommonProject.endAmount}
|
||||
</if>
|
||||
<if test="param2.startAmount != null and param2.endAmount == null">
|
||||
AND p.receivable_amount <![CDATA[>=]]> #{param2.startAmount}
|
||||
<if test="payCommonProject.startAmount != null and payCommonProject.endAmount == null">
|
||||
AND p.receivable_amount <![CDATA[>=]]> #{payCommonProject.startAmount}
|
||||
</if>
|
||||
<if test="projectType != null and projectType != ''">
|
||||
AND p.projectType = #{projectType}
|
||||
@@ -282,12 +294,12 @@
|
||||
|
||||
<!-- 到账开票导出-->
|
||||
<select id="mainListExportXls" resultType="com.jero.project.vo.PayCommonProjectOutput">
|
||||
select p.id,p.charge_project, p.charge_use, p.principal_id,p.principal_name,p.charge_company_temporary_name,p.receivable_amount,p.paid_amount,p.need_invoice,p.pack,p.in_account,p.make_invoice,p.mail,p.create_time,p.projectType,p.charge_company_temporary_id,
|
||||
p.confirm_amount,p.contacts_temporary_name
|
||||
select p.id,p.charge_project, p.charge_use, p.principal_id,p.principal_name,p.charge_company_id,p.charge_company_temporary_name,p.receivable_amount,p.paid_amount,p.need_invoice,p.pack,p.in_account,p.make_invoice,p.mail,p.create_time,p.projectType,
|
||||
p.invoice_amount,p.mail_contacts_id,p.register_check_result,p.contacts_temporary_name,p.payment_status,p.charge_company_temporary_id,p.confirm_amount,p.affirm_income
|
||||
from
|
||||
(<!-- 普通项目-->
|
||||
select c.id,c.charge_project, c.charge_use, c.principal_id,su.realname as 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,c.charge_company_temporary_id
|
||||
,c.confirm_amount,c.contacts_temporary_name
|
||||
select c.id,c.charge_project, c.charge_use, c.principal_id,su.realname as principal_name,c.charge_company_id,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,
|
||||
c.invoice_amount,c.mail_contacts_id,'' as register_check_result,c.contacts_temporary_name,c.payment_status,c.charge_company_temporary_id,c.confirm_amount,c.affirm_income
|
||||
from pay_common_project c
|
||||
left join sys_user su on c.principal_id = su.id
|
||||
where
|
||||
@@ -315,10 +327,13 @@
|
||||
AND (c.paid_amount <![CDATA[<]]> c.invoice_amount or
|
||||
(c.paid_amount is null and c.invoice_amount is not null and c.invoice_amount !=0))
|
||||
</if>
|
||||
<if test="payCommonProject.affirmIncome != null">
|
||||
AND c.affirm_income = #{payCommonProject.affirmIncome}
|
||||
</if>
|
||||
<!--工作组项目-->
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,su.realname,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.charge_company_temporary_id,
|
||||
gsub.confirm_amount,gsubc.contacts_temporary_name
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,su.realname,gsub.charge_company_id,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.invoice_amount,gsub.mail_contacts_id,'' as register_check_result,gsubc.contacts_temporary_name as contacts_temporary_name_one,gsub.payment_status,gsub.charge_company_temporary_id,gsub.confirm_amount,gsub.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
|
||||
@@ -348,13 +363,16 @@
|
||||
AND (gsub.paid_amount <![CDATA[<]]> gsub.invoice_amount or
|
||||
(gsub.paid_amount is null and gsub.invoice_amount is not null and gsub.invoice_amount !=0))
|
||||
</if>
|
||||
<if test="payCommonProject.affirmIncome != null">
|
||||
AND gsub.affirm_income = #{payCommonProject.affirmIncome}
|
||||
</if>
|
||||
<!-- 会议项目-->
|
||||
UNION ALL
|
||||
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, su.realname,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.company_id,
|
||||
sit.confirm_amount,sit.company_contact_name
|
||||
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, su.realname,sit.company_id,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.invoice_amount,sit.post_contact_id,sit.register_check_result,sit.company_contact_name,sit.payment_status,sit.company_id,sit.confirm_amount,sit.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
|
||||
left join sys_user su on su.id = meeting.director_id
|
||||
where
|
||||
sit.amount_receivable <![CDATA[<>]]> 0
|
||||
and sit.amount_receivable is not null
|
||||
@@ -380,21 +398,24 @@
|
||||
AND (sit.paid_amount <![CDATA[<]]> sit.invoice_amount or
|
||||
(sit.paid_amount is null and sit.invoice_amount is not null and sit.invoice_amount !=0))
|
||||
</if>
|
||||
<if test="payCommonProject.affirmIncome != null">
|
||||
AND sit.affirm_income = #{payCommonProject.affirmIncome}
|
||||
</if>
|
||||
<!-- 会员项目-->
|
||||
UNION ALL
|
||||
select msub.id,member.project_name,msub.charge_use,member.director_id,su.realname,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.company_temporary_id,
|
||||
msub.confirm_amount,msub.company_contact_name
|
||||
from pay_member_project member
|
||||
left join sys_user su on member.director_id = su.id
|
||||
inner join pay_member_project_subitem msub on member.id=msub.project_id
|
||||
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,su.realname,msub.company_id,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.invoice_amount,msub.post_contact_id,'' as register_check_result,msub.company_contact_name,msub.payment_status,msub.company_temporary_id,msub.confirm_amount,msub.affirm_income
|
||||
from pay_member_project pmp
|
||||
inner join pay_member_project_subitem msub on pmp.id=msub.project_id
|
||||
left join sys_user su on su.id = pmp.director_id
|
||||
where
|
||||
msub.amount_receivable <![CDATA[<>]]> 0
|
||||
and msub.amount_receivable is not null
|
||||
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
|
||||
AND member.director_id = #{payCommonProject.principalId}
|
||||
AND pmp.director_id = #{payCommonProject.principalId}
|
||||
</if>
|
||||
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
|
||||
AND member.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
|
||||
AND pmp.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
|
||||
</if>
|
||||
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
|
||||
AND msub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
|
||||
@@ -412,13 +433,18 @@
|
||||
AND (msub.paid_amount <![CDATA[<]]> msub.invoice_amount or
|
||||
(msub.paid_amount is null and msub.invoice_amount is not null and msub.invoice_amount !=0))
|
||||
</if>
|
||||
<if test="payCommonProject.affirmIncome != null">
|
||||
AND msub.affirm_income = #{payCommonProject.affirmIncome}
|
||||
</if>
|
||||
<!-- 标协会员项目-->
|
||||
UNION ALL
|
||||
select tmsub.id,tmember.project_name,tmsub.charge_use,tmember.director_id,su.realname,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.company_id,
|
||||
tmsub.confirm_amount,tmsub.liaison_man
|
||||
select tmsub.id,tmember.project_name,tmsub.charge_use,tmember.director_id,su.realname,tmsub.company_id,
|
||||
if(tmsub.company_name = tmsub.header_name or tmsub.header_name is null, tmsub.company_name , concat(tmsub.company_name,'(代付)')) as 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.invoice_amount,tmsub.post_contact_id,'' as register_check_result,tmsub.liaison_man,tmsub.payment_status,tmsub.company_id,tmsub.confirm_amount,tmsub.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 sys_user su on su.id = tmember.director_id
|
||||
where
|
||||
tmsub.amount_receivable <![CDATA[<>]]> 0
|
||||
and tmsub.amount_receivable is not null
|
||||
@@ -426,10 +452,14 @@
|
||||
AND 1=2
|
||||
</if>
|
||||
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
|
||||
AND tmember.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
|
||||
AND tmember.project_name like concat('%',#{payCommonProject.chargeProject},'%')
|
||||
</if>
|
||||
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
|
||||
AND tmsub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
|
||||
AND (
|
||||
tmsub.company_name like concat('%',#{payCommonProject.chargeCompanyTemporaryName},'%')
|
||||
or
|
||||
tmsub.header_name like concat('%',#{payCommonProject.chargeCompanyTemporaryName},'%')
|
||||
)
|
||||
</if>
|
||||
<if test="payCommonProject.paymentStatus != null and payCommonProject.paymentStatus != ''">
|
||||
AND tmsub.payment_status = #{payCommonProject.paymentStatus}
|
||||
@@ -444,10 +474,15 @@
|
||||
AND (tmsub.paid_amount <![CDATA[<]]> tmsub.invoice_amount or
|
||||
(tmsub.paid_amount is null and tmsub.invoice_amount is not null and tmsub.invoice_amount !=0))
|
||||
</if>
|
||||
<if test="payCommonProject.affirmIncome != null">
|
||||
AND tmsub.affirm_income = #{payCommonProject.affirmIncome}
|
||||
</if>
|
||||
<!-- 标协证书项目-->
|
||||
UNION ALL
|
||||
select tcp.id,tmember.project_name,tcp.charge_use,tmember.director_id,su.realname,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,tcp.company_id,
|
||||
tcp.confirm_amount,tcp.liaison_man
|
||||
select tcp.id,tmember.project_name,tcp.charge_use,tmember.director_id,su.realname,tcp.company_id,
|
||||
if(tcp.company_name = tcp.header_name or tcp.header_name is null, tcp.company_name , concat(tcp.company_name,'(代付)')) as 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,
|
||||
tcp.invoice_amount,tcp.post_contact_id,'' as register_check_result,tcp.liaison_man,tcp.payment_status,tcp.company_id,tcp.confirm_amount,tcp.affirm_income
|
||||
from tb_member_project tmember
|
||||
inner join tb_certificate_payment tcp on tmember.id=tcp.project_id
|
||||
left join sys_user su on su.id = tmember.director_id
|
||||
@@ -458,10 +493,14 @@
|
||||
AND 1=2
|
||||
</if>
|
||||
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
|
||||
AND tmember.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
|
||||
AND tmember.project_name like concat('%',#{payCommonProject.chargeProject},'%')
|
||||
</if>
|
||||
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
|
||||
AND tcp.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
|
||||
AND (
|
||||
tcp.company_name like concat('%',#{payCommonProject.chargeCompanyTemporaryName},'%')
|
||||
or
|
||||
tcp.header_name like concat('%',#{payCommonProject.chargeCompanyTemporaryName},'%')
|
||||
)
|
||||
</if>
|
||||
<if test="payCommonProject.paymentStatus != null and payCommonProject.paymentStatus != ''">
|
||||
AND tcp.payment_status = #{payCommonProject.paymentStatus}
|
||||
@@ -476,10 +515,22 @@
|
||||
AND (tcp.paid_amount <![CDATA[<]]> tcp.invoice_amount or
|
||||
(tcp.paid_amount is null and tcp.invoice_amount is not null and tcp.invoice_amount !=0))
|
||||
</if>
|
||||
<if test="payCommonProject.affirmIncome != null">
|
||||
AND tcp.affirm_income = #{payCommonProject.affirmIncome}
|
||||
</if>
|
||||
)p
|
||||
LEFT JOIN pay_payment_record ppr ON ppr.project_id = p.id
|
||||
where
|
||||
1=1
|
||||
<if test="payCommonProject.startAmount != null and payCommonProject.startAmount != '' and payCommonProject.endAmount != null and payCommonProject.endAmount != ''">
|
||||
AND p.receivable_amount between #{payCommonProject.startAmount} and #{payCommonProject.endAmount}
|
||||
</if>
|
||||
<if test="payCommonProject.startAmount == null and payCommonProject.endAmount != null">
|
||||
AND p.receivable_amount <![CDATA[<=]]> #{payCommonProject.endAmount}
|
||||
</if>
|
||||
<if test="payCommonProject.startAmount != null and payCommonProject.endAmount == null">
|
||||
AND p.receivable_amount <![CDATA[>=]]> #{payCommonProject.startAmount}
|
||||
</if>
|
||||
<if test="projectType != null and projectType != ''">
|
||||
AND p.projectType = #{projectType}
|
||||
</if>
|
||||
|
||||
@@ -79,6 +79,10 @@ public class PayProjectCommon {
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)
|
||||
*/
|
||||
public final static String PROJECT_TYPE5 = "5";
|
||||
/**
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目,6:标协证书项目)
|
||||
*/
|
||||
public final static String PROJECT_TYPE6 = "6";
|
||||
/**
|
||||
* 来款用途 :1工作组是标准制定工作组经费
|
||||
*/
|
||||
|
||||
+23
-1
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
@@ -12,6 +14,7 @@ import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.data.entity.PayCaseCommitteeSubitem;
|
||||
import com.jero.data.entity.PayCaseCouncilSubitem;
|
||||
import com.jero.data.mapper.PayFileEmailRemindRecordMapper;
|
||||
import com.jero.data.service.IPayCaseCommitteeSubitemService;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
@@ -71,6 +74,8 @@ public class PayWorkingGroupDistributionRecordController extends JeroController<
|
||||
private IOSSFileService iossFileService;
|
||||
@Value("${jero.path.upload}")
|
||||
private String upLoadPath;
|
||||
@Resource
|
||||
private PayFileEmailRemindRecordMapper fileEmailRemindRecordMapper;
|
||||
|
||||
|
||||
/**
|
||||
@@ -194,9 +199,12 @@ public class PayWorkingGroupDistributionRecordController extends JeroController<
|
||||
* @param projectType 项目类型
|
||||
* @return
|
||||
*/
|
||||
@DictPoint
|
||||
@ApiOperation(value="资料分发-分发成员列表", notes="资料分发-分发成员列表")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<?> list(@RequestParam("projectId") String projectId,@RequestParam("projectType") Integer projectType) {
|
||||
public Result<?> list(@RequestParam("projectId") String projectId,
|
||||
@RequestParam("projectType") Integer projectType,
|
||||
@RequestParam(value = "fileId",required = false) String fileId) {
|
||||
if(StringUtils.isBlank(projectId)){
|
||||
throw new JeroBootException("项目id不能为空!");
|
||||
}
|
||||
@@ -229,6 +237,7 @@ public class PayWorkingGroupDistributionRecordController extends JeroController<
|
||||
PayContactsManagement payContactsManagement = new PayContactsManagement();
|
||||
payContactsManagement.setId(p.getContactsId());
|
||||
payContactsManagement.setName(p.getContactsName());
|
||||
payContactsManagement.setCompanyName(p.getCompanyName());
|
||||
listData.add(payContactsManagement);
|
||||
});
|
||||
}
|
||||
@@ -241,6 +250,7 @@ public class PayWorkingGroupDistributionRecordController extends JeroController<
|
||||
PayContactsManagement payContactsManagement = new PayContactsManagement();
|
||||
payContactsManagement.setId(p.getContactsId());
|
||||
payContactsManagement.setName(p.getContactsName());
|
||||
payContactsManagement.setCompanyName(p.getCompanyName());
|
||||
listData.add(payContactsManagement);
|
||||
});
|
||||
}
|
||||
@@ -248,6 +258,18 @@ public class PayWorkingGroupDistributionRecordController extends JeroController<
|
||||
}else {
|
||||
throw new JeroBootException("项目状态不正确!");
|
||||
}
|
||||
if (StringUtils.isNotBlank(fileId)) {
|
||||
List<String> contactIdByFileId = fileEmailRemindRecordMapper.selectContactIdByFileId(fileId);
|
||||
for (PayContactsManagement payContactsManagement : listData) {
|
||||
String id = payContactsManagement.getId();
|
||||
if (contactIdByFileId.contains(id)) {
|
||||
payContactsManagement.setRemind(CommonConstant.DEL_FLAG_1);
|
||||
}else {
|
||||
payContactsManagement.setRemind(CommonConstant.DEL_FLAG_0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Result.OK(listData);
|
||||
}
|
||||
|
||||
|
||||
+27
@@ -43,6 +43,7 @@ import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.project.vo.SetChargeInput;
|
||||
import com.jero.project.vo.SetLabelVO;
|
||||
import com.jero.project.vo.excel.PayWorkingGroupSubItemExcel;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
@@ -731,5 +732,31 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
return Result.OK("文件导入成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置标签
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "设置标签",operateType = 2)
|
||||
@RequiresPermissions("workingGroupMember:setLabel")
|
||||
@PostMapping(value = "/setLabel")
|
||||
@ApiOperation(value = "工作组成员-设置标签")
|
||||
public Result<?> setLabel(@RequestBody SetLabelVO setLabelVO) {
|
||||
payWorkingGroupSubItemService.setLabel(setLabelVO);
|
||||
return Result.OK("设置标签成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除标签
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "删除标签",operateType = 2)
|
||||
@RequiresPermissions("workingGroupMember:setLabel")
|
||||
@PostMapping(value = "/deleteLabel")
|
||||
@ApiOperation(value = "工作组成员-删除标签")
|
||||
public Result<?> deleteLabel(@RequestBody SetLabelVO setLabelVO) {
|
||||
payWorkingGroupSubItemService.deleteLabel(setLabelVO);
|
||||
return Result.OK("设置标签成功!");
|
||||
}
|
||||
}
|
||||
|
||||
+7
@@ -95,4 +95,11 @@ public class PayWorkingGroupDistributionRecord implements Serializable {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "联系人临时id")
|
||||
private String temporaryContactsId;
|
||||
|
||||
/**
|
||||
* 是否发送邮件
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "是否发送邮件")
|
||||
private Integer sendEmailFlag;
|
||||
}
|
||||
|
||||
+5
@@ -575,4 +575,9 @@ public class PayWorkingGroupSubItem implements Serializable {
|
||||
@ApiModelProperty(value = "未税金额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal noTaxAmount;
|
||||
|
||||
@Excel(name = "标签名称", width = 15)
|
||||
@ApiModelProperty(value = "标签")
|
||||
@Size(max = 32,message = "标签名称长度不能大于50个字符")
|
||||
private String label;
|
||||
}
|
||||
|
||||
+5
-1
@@ -43,7 +43,8 @@
|
||||
pwgs.update_by AS updateBy,
|
||||
pwgs.tax,
|
||||
pwgs.tax_rate,
|
||||
pwgs.no_tax_amount
|
||||
pwgs.no_tax_amount,
|
||||
pwgs.label
|
||||
FROM pay_working_group_subitem pwgs
|
||||
LEFT JOIN pay_payment_record ppr ON ppr.project_id = pwgs.id
|
||||
<where>
|
||||
@@ -64,6 +65,9 @@
|
||||
<if test="payWorkingGroupSubItem.pack != null">
|
||||
and pack = #{payWorkingGroupSubItem.pack}
|
||||
</if>
|
||||
<if test="payWorkingGroupSubItem.label != null and payWorkingGroupSubItem.label != ''">
|
||||
and label LIKE concat('%',#{payWorkingGroupSubItem.label},'%')
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY pwgs.id
|
||||
ORDER BY pwgs.create_time desc
|
||||
|
||||
+5
@@ -8,6 +8,7 @@ import com.jero.project.entity.PayWorkGroupSubletStatistics;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.entity.PayWorkingGroupSubletSearch;
|
||||
import com.jero.project.vo.SetChargeInput;
|
||||
import com.jero.project.vo.SetLabelVO;
|
||||
import com.jero.statistics.entity.AllMoney;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -118,4 +119,8 @@ public interface IPayWorkingGroupSubItemService extends IService<PayWorkingGroup
|
||||
|
||||
|
||||
IPage<PayWorkingGroupSubItem> publishReminderList(Page<PayWorkingGroupSubItem> page, PayWorkingGroupSubItem payWorkingGroupSubItem);
|
||||
|
||||
void setLabel(SetLabelVO setLabelVO);
|
||||
|
||||
void deleteLabel(SetLabelVO setLabelVO);
|
||||
}
|
||||
|
||||
+23
-16
@@ -76,19 +76,24 @@ public class PayWorkingGroupDataFileServiceImpl extends ServiceImpl<PayWorkingGr
|
||||
throw new JeroBootException("用户不存在!");
|
||||
}
|
||||
// 验证文件是否为会议
|
||||
EmailSendMsgHandle emailHandle = null;
|
||||
LambdaQueryWrapper<PayMeeting> queryPayMeeting = new LambdaQueryWrapper<>();
|
||||
queryPayMeeting.like(PayMeeting::getMeetingData,fileId);
|
||||
List<PayMeeting> listPayMeeting = payMeetingService.list(queryPayMeeting);
|
||||
// 验证会议文件下载次数是否达到上线
|
||||
if(!CollectionUtils.isEmpty(listPayMeeting)){
|
||||
LambdaQueryWrapper<PayFileDownloadRecord> queryPayFileDownloadRecord = new LambdaQueryWrapper<>();
|
||||
queryPayFileDownloadRecord.eq(PayFileDownloadRecord::getUserId,userId);
|
||||
queryPayFileDownloadRecord.eq(PayFileDownloadRecord::getFileId,fileId);
|
||||
int count = payFileDownloadRecordService.count(queryPayFileDownloadRecord);
|
||||
if(count >= PayProjectCommon.DOWNLOAD_COUNT){
|
||||
throw new JeroBootException("文件下载次数已达上线!");
|
||||
String content = "";
|
||||
for (PayMeeting meeting : listPayMeeting) {
|
||||
String directorId = meeting.getDirectorId();
|
||||
LoginUser loginUser = sysBaseAPI.getUserById(directorId);
|
||||
String fromEmail = loginUser.getEmail();
|
||||
String fromEmailPassword = loginUser.getEmailPassword();
|
||||
if (StringUtils.isNotBlank(fromEmail) && StringUtils.isNotBlank(fromEmailPassword)){
|
||||
String fromEmailNew = PasswordUtil.decrypt(fromEmail);
|
||||
String fromEmailPasswordNew = PasswordUtil.decrypt(fromEmailPassword);
|
||||
emailHandle = new EmailSendMsgHandle(fromEmailNew,fromEmailPasswordNew);
|
||||
}
|
||||
content = meeting.getMeetingName();
|
||||
}
|
||||
|
||||
OSSFile byId = iossFileService.getById(fileId);
|
||||
if(Objects.isNull(byId)){
|
||||
throw new JeroBootException("没有找到文件!");
|
||||
@@ -102,15 +107,17 @@ public class PayWorkingGroupDataFileServiceImpl extends ServiceImpl<PayWorkingGr
|
||||
throw new JeroBootException("用户邮箱不能为空!");
|
||||
}
|
||||
try {
|
||||
// 发送人为管理员
|
||||
LoginUser loginUser = sysBaseAPI.getUserByName(env.getProperty("message.systemEmailUser"));
|
||||
String fromEmail = loginUser.getEmail();
|
||||
String fromEmailPassword = loginUser.getEmailPassword();
|
||||
String fromEmailNew = PasswordUtil.decrypt(fromEmail);
|
||||
String fromEmailPasswordNew = PasswordUtil.decrypt(fromEmailPassword);
|
||||
EmailSendMsgHandle emailHandle = new EmailSendMsgHandle(fromEmailNew,fromEmailPasswordNew);
|
||||
if (emailHandle == null){
|
||||
// 发送人为管理员
|
||||
LoginUser loginUser = sysBaseAPI.getUserByName(env.getProperty("message.systemEmailUser"));
|
||||
String fromEmail = loginUser.getEmail();
|
||||
String fromEmailPassword = loginUser.getEmailPassword();
|
||||
String fromEmailNew = PasswordUtil.decrypt(fromEmail);
|
||||
String fromEmailPasswordNew = PasswordUtil.decrypt(fromEmailPassword);
|
||||
emailHandle = new EmailSendMsgHandle(fromEmailNew,fromEmailPasswordNew);
|
||||
}
|
||||
String email = PasswordUtil.decrypt(payContactsManagement.getEmail());
|
||||
emailHandle.SendMsgAndFile(email,"资料","文件",listFile);
|
||||
emailHandle.SendMsgAndFile(email,"会议资料",content+"文件",listFile);
|
||||
}catch (Exception e){
|
||||
log.error("邮件发送异常",e);
|
||||
throw new JeroBootException("邮件发送失败!");
|
||||
|
||||
+44
-24
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.dto.SendMessageDTO;
|
||||
import com.jero.common.enums.CompanyMessageEnums;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
@@ -16,14 +17,9 @@ import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.data.entity.PayCaseCommittee;
|
||||
import com.jero.data.entity.PayCaseCommitteeSubitem;
|
||||
import com.jero.data.entity.PayCaseCouncil;
|
||||
import com.jero.data.entity.PayCaseCouncilSubitem;
|
||||
import com.jero.data.service.IPayCaseCommitteeService;
|
||||
import com.jero.data.service.IPayCaseCommitteeSubitemService;
|
||||
import com.jero.data.service.IPayCaseCouncilService;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.data.entity.*;
|
||||
import com.jero.data.service.*;
|
||||
import com.jero.data.service.impl.PayFileEmailRemindRecordService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
@@ -84,14 +80,17 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
private IPayCaseCouncilService payCaseCouncilService;
|
||||
@Resource
|
||||
private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private PayFileEmailRemindRecordService fileEmailRemindRecordService;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<String> add(PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecord) {
|
||||
if(StringUtils.isBlank(payWorkingGroupDistributionRecord.getContactsIds())){
|
||||
String contactsIds = payWorkingGroupDistributionRecord.getContactsIds();
|
||||
if(StringUtils.isBlank(contactsIds)){
|
||||
throw new JeroBootException("成员id不能为空!");
|
||||
}
|
||||
String[] s = payWorkingGroupDistributionRecord.getContactsIds().split(",");
|
||||
String[] s = contactsIds.split(",");
|
||||
for (String s1 : s) {
|
||||
if(StringUtils.isBlank(s1)){
|
||||
throw new JeroBootException("成员id不能为空!");
|
||||
@@ -137,7 +136,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
msg = payWorkingGroup.getWorkingGroupProject();
|
||||
}else if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE2){
|
||||
LambdaQueryWrapper<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
|
||||
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(payWorkingGroupDistributionRecord.getContactsIds().split(",")));
|
||||
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(contactsIds.split(",")));
|
||||
List<PayContactsManagement> listContacts = payContactsManagementService.list(queryPayContactsManagement);
|
||||
if(!CollectionUtils.isEmpty(listContacts)){
|
||||
String str = JSON.toJSONString(listContacts);
|
||||
@@ -169,7 +168,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
msg = payCaseCommittee.getName();
|
||||
}else if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE3){
|
||||
LambdaQueryWrapper<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
|
||||
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(payWorkingGroupDistributionRecord.getContactsIds().split(",")));
|
||||
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(contactsIds.split(",")));
|
||||
List<PayContactsManagement> listContacts = payContactsManagementService.list(queryPayContactsManagement);
|
||||
if(!CollectionUtils.isEmpty(listContacts)){
|
||||
String str = JSON.toJSONString(listContacts);
|
||||
@@ -206,21 +205,25 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
throw new JeroBootException("分发失败!");
|
||||
}
|
||||
// 发送消息
|
||||
int success = list.size();
|
||||
int failed = 0;
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String finalMsg = msg;
|
||||
List<String> listMsg = new ArrayList<>();
|
||||
list.forEach(p->{
|
||||
for (PayContactsManagementTemporary p : list) {
|
||||
try {
|
||||
List<PayWorkingGroupDistributionRecord> listStr = listPayWorkingGroupDistributionRecord.stream().filter(item->
|
||||
(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1) ?
|
||||
Objects.equals(item.getTemporaryContactsId(),p.getId()) :
|
||||
Objects.equals(item.getContactsId(),p.getId())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listStr)){
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
|
||||
// 发送消息
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
Integer sendEmailFlag = payWorkingGroupDistributionRecord.getSendEmailFlag();
|
||||
sendMessageDTO.setSendEmailFlag(sendEmailFlag);
|
||||
if(!StringUtils.isBlank(p.getEmail())){
|
||||
sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail()));
|
||||
}
|
||||
@@ -243,36 +246,44 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
}
|
||||
sendMessageDTO.setBusId(json.toJSONString());
|
||||
sendMessageService.SendMessageService(sendMessageDTO);
|
||||
if (!CommonConstant.DEL_FLAG_0.equals(sendEmailFlag)) {
|
||||
fileEmailRemindRecordService.insertByFileList(byId.getId(),p.getId());
|
||||
}
|
||||
}catch (Exception e){
|
||||
if(e.getMessage().contains("邮件发送") && !listMsg.contains(p.getName() + "邮件发送失败")){
|
||||
success--;
|
||||
failed++;
|
||||
listMsg.add(p.getCompanyName()+"-"+p.getName() + "邮件发送失败");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
listMsg.add(0,"成功"+success+"条数据,失败"+failed+"条数据");
|
||||
return listMsg;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> addBatch(PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecord) {
|
||||
if(StringUtils.isBlank(payWorkingGroupDistributionRecord.getContactsIds())){
|
||||
String contactsIds = payWorkingGroupDistributionRecord.getContactsIds();
|
||||
if(StringUtils.isBlank(contactsIds)){
|
||||
throw new JeroBootException("成员id不能为空!");
|
||||
}
|
||||
String[] s = payWorkingGroupDistributionRecord.getContactsIds().split(",");
|
||||
String[] s = contactsIds.split(",");
|
||||
for (String s1 : s) {
|
||||
if(StringUtils.isBlank(s1)){
|
||||
throw new JeroBootException("成员id不能为空!");
|
||||
}
|
||||
}
|
||||
if(StringUtils.isBlank(payWorkingGroupDistributionRecord.getDataIds())){
|
||||
String dataIds = payWorkingGroupDistributionRecord.getDataIds();
|
||||
if(StringUtils.isBlank(dataIds)){
|
||||
throw new JeroBootException("资料id不能为空!");
|
||||
}
|
||||
String[] n = payWorkingGroupDistributionRecord.getDataIds().split(",");
|
||||
String[] n = dataIds.split(",");
|
||||
for (String s1 : n) {
|
||||
if(StringUtils.isBlank(s1)){
|
||||
throw new JeroBootException("资料id不能为空!");
|
||||
}
|
||||
}
|
||||
List<PayWorkingGroupDataFile> listPayWorkingGroupDataFile = payWorkingGroupDataFileService.listByIds(Arrays.asList(payWorkingGroupDistributionRecord.getDataIds().split(",")));
|
||||
List<PayWorkingGroupDataFile> listPayWorkingGroupDataFile = payWorkingGroupDataFileService.listByIds(Arrays.asList(dataIds.split(",")));
|
||||
if(CollectionUtils.isEmpty(listPayWorkingGroupDataFile)){
|
||||
throw new JeroBootException("没有找到文件!");
|
||||
}
|
||||
@@ -400,20 +411,24 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
throw new JeroBootException("分发失败!");
|
||||
}
|
||||
// 发送消息
|
||||
int success = list.size();
|
||||
int failed = 0;
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String finalMsg = msg;
|
||||
List<String> listMsg = new ArrayList<>();
|
||||
list.forEach(p->{
|
||||
for (PayContactsManagementTemporary p : list) {
|
||||
try {
|
||||
List<PayWorkingGroupDistributionRecord> listStr = listPayWorkingGroupDistributionRecord.stream().filter(item->
|
||||
(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1) ?
|
||||
Objects.equals(item.getTemporaryContactsId(),p.getId()) :
|
||||
Objects.equals(item.getContactsId(),p.getId())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listStr)){
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
// 发送消息
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
Integer sendEmailFlag = payWorkingGroupDistributionRecord.getSendEmailFlag();
|
||||
sendMessageDTO.setSendEmailFlag(sendEmailFlag);
|
||||
if(!StringUtils.isBlank(p.getEmail())){
|
||||
sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail()));
|
||||
}
|
||||
@@ -436,13 +451,18 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
}
|
||||
sendMessageDTO.setBusId(json.toJSONString());
|
||||
sendMessageService.SendMessageService(sendMessageDTO);
|
||||
if (!CommonConstant.DEL_FLAG_0.equals(sendEmailFlag)) {
|
||||
fileEmailRemindRecordService.insertByFileList(dataIds,p.getId());
|
||||
}
|
||||
}catch (Exception e){
|
||||
if(e.getMessage().contains("邮件发送") && !listMsg.contains(p.getName() + "邮件发送失败")){
|
||||
success--;
|
||||
failed++;
|
||||
listMsg.add(p.getName() + "邮件发送失败");
|
||||
}
|
||||
}
|
||||
});
|
||||
listMsg.add(0,"成功");
|
||||
}
|
||||
listMsg.add(0,"成功"+success+"条数据,失败"+failed+"条数据");
|
||||
return listMsg;
|
||||
}
|
||||
|
||||
|
||||
+20
@@ -46,6 +46,7 @@ import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.project.vo.SetChargeInput;
|
||||
import com.jero.project.vo.SetLabelVO;
|
||||
import com.jero.statistics.entity.AllMoney;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
@@ -1009,6 +1010,25 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
return payWorkingGroupSubItemIPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLabel(SetLabelVO setLabelVO) {
|
||||
String subIds = setLabelVO.getSubIds();
|
||||
String label = setLabelVO.getLabel();
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.in(PayWorkingGroupSubItem::getId,Arrays.asList(subIds.split(",")));
|
||||
updateWrapper.set(PayWorkingGroupSubItem::getLabel,label);
|
||||
payWorkingGroupSubItemMapper.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteLabel(SetLabelVO setLabelVO) {
|
||||
String subIds = setLabelVO.getSubIds();
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.in(PayWorkingGroupSubItem::getId,Arrays.asList(subIds.split(",")));
|
||||
updateWrapper.set(PayWorkingGroupSubItem::getLabel,null);
|
||||
payWorkingGroupSubItemMapper.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description 删除项目打包关联,临时企业、联系信息
|
||||
* @Author lqt
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.jero.project.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-07-12 15:16
|
||||
*/
|
||||
@Data
|
||||
public class SetLabelVO {
|
||||
@NotBlank(message = "至少选择一个成员")
|
||||
@ApiModelProperty(value = "成员ids")
|
||||
private String subIds;
|
||||
|
||||
@ApiModelProperty(value = "标签")
|
||||
@Size(max = 32,message = "标签长度不能大于50个字符")
|
||||
private String label;
|
||||
}
|
||||
+4
@@ -291,4 +291,8 @@ public class PayWorkingGroupSubItemExcel implements Serializable {
|
||||
@Excel(name = "联系人10备注", width = 15)
|
||||
@ApiModelProperty(value = "联系人10备注")
|
||||
private String remarksTen;
|
||||
|
||||
@Excel(name = "标签名称", width = 15)
|
||||
@ApiModelProperty(value = "标签")
|
||||
private String label;
|
||||
}
|
||||
|
||||
+4
@@ -94,6 +94,10 @@ public class MeetingNews extends JeroEntity {
|
||||
@TableField("announcement")
|
||||
private String announcement;
|
||||
|
||||
/**会议通知文件*/
|
||||
@ApiModelProperty(value = "会议文件")
|
||||
private String fileIds;
|
||||
|
||||
@Excel(name = "新闻报道", width = 15)
|
||||
@ApiModelProperty(value = "新闻报道")
|
||||
@TableField("news_report")
|
||||
|
||||
+15
-13
@@ -51,19 +51,21 @@ public class MemberInfoServiceImpl extends ServiceImpl<MemberInfoMapper, MemberI
|
||||
LambdaQueryWrapper<MemberInfo> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(MemberInfo::getId,company.getMemberId());
|
||||
MemberInfo memberInfo = memberInfoMapper.selectOne(wrapper);
|
||||
//解密
|
||||
String memberMobile = PasswordUtil.decrypt(memberInfo.getMobile());
|
||||
memberInfo.setMobile(memberMobile);
|
||||
String memberEmail = PasswordUtil.decrypt(memberInfo.getEmail());
|
||||
memberInfo.setEmail(memberEmail);
|
||||
String memberInfoPhone = PasswordUtil.decrypt(memberInfo.getPhone());
|
||||
memberInfo.setPhone(memberInfoPhone);
|
||||
String standardMobile = PasswordUtil.decrypt(memberInfo.getStandardMobile());
|
||||
memberInfo.setStandardMobile(standardMobile);
|
||||
String standardPhone = PasswordUtil.decrypt(memberInfo.getStandardPhone());
|
||||
memberInfo.setStandardPhone(standardPhone);
|
||||
String standardEmail = PasswordUtil.decrypt(memberInfo.getStandardEmail());
|
||||
memberInfo.setStandardEmail(standardEmail);
|
||||
if (memberInfo != null){
|
||||
//解密
|
||||
String memberMobile = PasswordUtil.decrypt(memberInfo.getMobile());
|
||||
memberInfo.setMobile(memberMobile);
|
||||
String memberEmail = PasswordUtil.decrypt(memberInfo.getEmail());
|
||||
memberInfo.setEmail(memberEmail);
|
||||
String memberInfoPhone = PasswordUtil.decrypt(memberInfo.getPhone());
|
||||
memberInfo.setPhone(memberInfoPhone);
|
||||
String standardMobile = PasswordUtil.decrypt(memberInfo.getStandardMobile());
|
||||
memberInfo.setStandardMobile(standardMobile);
|
||||
String standardPhone = PasswordUtil.decrypt(memberInfo.getStandardPhone());
|
||||
memberInfo.setStandardPhone(standardPhone);
|
||||
String standardEmail = PasswordUtil.decrypt(memberInfo.getStandardEmail());
|
||||
memberInfo.setStandardEmail(standardEmail);
|
||||
}
|
||||
|
||||
//左侧秘书处信息
|
||||
SysUser secretariat = memberInfoMapper.getBXGLZ();
|
||||
|
||||
+2
@@ -148,6 +148,7 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl<StableCrossTrain
|
||||
meetingNews.setPlaceName(payMeeting.getVenue());
|
||||
meetingNews.setIntroduction(payMeeting.getMeetingContent());
|
||||
meetingNews.setAnnouncement(payMeeting.getMeetingFiles());
|
||||
meetingNews.setFileIds(payMeeting.getFileIds());
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
meetingNews.setAdministrator(sysUser.getRealname());
|
||||
meetingNews.setHotelName(payMeeting.getHotelName());
|
||||
@@ -354,6 +355,7 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl<StableCrossTrain
|
||||
.set(StringUtils.isNotBlank(meetingNews.getDetails()), MeetingNews::getDetails, meetingNews.getDetails())//详情资讯
|
||||
.set(StringUtils.isNotBlank(meetingNews.getSchedule()), MeetingNews::getSchedule, meetingNews.getSchedule())//会议日程
|
||||
.set(StringUtils.isNotBlank(meetingNews.getAnnouncement()), MeetingNews::getAnnouncement, meetingNews.getAnnouncement())//会议通知
|
||||
.set(StringUtils.isNotBlank(meetingNews.getFileIds()), MeetingNews::getFileIds, meetingNews.getFileIds())//会议文件
|
||||
.set(StringUtils.isNotBlank(meetingNews.getNewsReport()), MeetingNews::getNewsReport, meetingNews.getNewsReport())//新闻报道
|
||||
.set(StringUtils.isNotBlank(meetingNews.getConferenceRegistration()), MeetingNews::getConferenceRegistration, meetingNews.getConferenceRegistration())//报名链接
|
||||
.set(StringUtils.isNotBlank(meetingNews.getConferenceRegistrationImg()), MeetingNews::getConferenceRegistrationImg, meetingNews.getConferenceRegistrationImg())//报名二维码
|
||||
|
||||
+8
-2
@@ -28,9 +28,11 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.sf.saxon.om.Item;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -80,19 +82,23 @@ public class SystemSendMessageController {
|
||||
@GetMapping(value = "/sendAllUserMessage")
|
||||
@RequiresPermissions("template:add:systemNotifications")
|
||||
@Transactional
|
||||
public Result<?> sendAllUserMessage(@RequestParam("content") String content) {
|
||||
public Result<?> sendAllUserMessage(@RequestParam("content") String content,
|
||||
@RequestParam("deadline") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date deadline) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<PayContactsManagement> listPayContactsManagement = payContactsManagementService.list();
|
||||
if(!CollectionUtils.isEmpty(listPayContactsManagement)){
|
||||
SysAnnouncement announcement = new SysAnnouncement();
|
||||
announcement.setTitile(ProjectCommon.ALERT12);
|
||||
announcement.setMsgContent(content);
|
||||
announcement.setSender(env.getProperty("message.systemEmailUser"));
|
||||
//announcement.setSender(env.getProperty("message.systemEmailUser"));
|
||||
announcement.setSender(loginUser.getRealname());
|
||||
announcement.setPriority(CommonConstant.PRIORITY_M);
|
||||
announcement.setMsgType(CommonConstant.MSG_TYPE_UESR);
|
||||
announcement.setSendStatus(CommonConstant.HAS_SEND);
|
||||
announcement.setSendTime(new Date());
|
||||
announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2);
|
||||
announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
|
||||
announcement.setDeadline(deadline); // 截止时间
|
||||
sysAnnouncementService.save(announcement);
|
||||
listPayContactsManagement.parallelStream().forEach(p->{
|
||||
try {
|
||||
|
||||
+11
@@ -144,6 +144,17 @@ public class SysMessageTemplateController extends JeroController<SysMessageTempl
|
||||
return Result.OK(sysMessageTemplate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过Code查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/queryByCode")
|
||||
public Result<?> queryByCode(@RequestParam(name = "code", required = true) String code) {
|
||||
SysMessageTemplate sysMessageTemplate = sysMessageTemplateService.queryByCode(code);
|
||||
return Result.OK(sysMessageTemplate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@ public class EmailSendMsgHandle implements ISendMsgHandle {
|
||||
|
||||
Properties javaMailProperties = mailSender.getJavaMailProperties();
|
||||
javaMailProperties.setProperty("mail.smtp.auth", "true");
|
||||
javaMailProperties.setProperty("mail.debug", "true");//启用调试
|
||||
//javaMailProperties.setProperty("mail.debug", "true");//启用调试
|
||||
javaMailProperties.setProperty("mail.smtp.timeout", "3000"); //设置超时时间3秒
|
||||
javaMailProperties.setProperty("mail.smtp.starttls.enable", "true");
|
||||
javaMailProperties.setProperty("mail.smtp.starttls.required", "true");
|
||||
|
||||
+5
@@ -1,4 +1,5 @@
|
||||
package com.jero.modules.message.mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
@@ -15,4 +16,8 @@ import java.util.List;
|
||||
public interface SysMessageTemplateMapper extends BaseMapper<SysMessageTemplate> {
|
||||
@Select("SELECT * FROM SYS_SMS_TEMPLATE WHERE TEMPLATE_CODE = #{code}")
|
||||
List<SysMessageTemplate> selectByCode(String code);
|
||||
|
||||
SysMessageTemplate selectOneByTemplateCode(@Param("templateCode")String templateCode);
|
||||
|
||||
|
||||
}
|
||||
|
||||
+33
@@ -1,5 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.message.mapper.SysMessageTemplateMapper">
|
||||
<sql id="Base_Column_List">
|
||||
template_code,
|
||||
template_name,
|
||||
template_content,
|
||||
template_test_json,
|
||||
template_type,
|
||||
recipient,
|
||||
id,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
update_time
|
||||
</sql>
|
||||
<resultMap id="BaseResultMap" type="com.jero.modules.message.entity.SysMessageTemplate">
|
||||
<result column="template_code" property="templateCode"/>
|
||||
<result column="template_name" property="templateName"/>
|
||||
<result column="template_content" property="templateContent"/>
|
||||
<result column="template_test_json" property="templateTestJson"/>
|
||||
<result column="template_type" property="templateType"/>
|
||||
<result column="recipient" property="recipient"/>
|
||||
<result column="id" property="id"/>
|
||||
<result column="create_by" property="createBy"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="update_by" property="updateBy"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
</resultMap>
|
||||
|
||||
<!--auto generated by MybatisCodeHelper on 2023-07-13-->
|
||||
<select id="selectOneByTemplateCode" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from sys_sms_template
|
||||
where template_code=#{templateCode}
|
||||
</select>
|
||||
</mapper>
|
||||
+2
@@ -13,4 +13,6 @@ import com.jero.modules.message.entity.SysMessageTemplate;
|
||||
*/
|
||||
public interface ISysMessageTemplateService extends JeroService<SysMessageTemplate> {
|
||||
List<SysMessageTemplate> selectByCode(String code);
|
||||
|
||||
SysMessageTemplate queryByCode(String code);
|
||||
}
|
||||
|
||||
+5
@@ -25,4 +25,9 @@ public class SysMessageTemplateServiceImpl extends JeroServiceImpl<SysMessageTem
|
||||
public List<SysMessageTemplate> selectByCode(String code) {
|
||||
return sysMessageTemplateMapper.selectByCode(code);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysMessageTemplate queryByCode(String code) {
|
||||
return sysMessageTemplateMapper.selectOneByTemplateCode(code);
|
||||
}
|
||||
}
|
||||
|
||||
+16
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authz.annotation.RequiresRoles;
|
||||
import com.jero.common.api.vo.Result;
|
||||
@@ -27,6 +29,8 @@ public class OSSFileController {
|
||||
|
||||
@Autowired
|
||||
private IOSSFileService ossFileService;
|
||||
@Autowired
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
|
||||
@ResponseBody
|
||||
@GetMapping("/page")
|
||||
@@ -87,6 +91,11 @@ public class OSSFileController {
|
||||
result.error500("未找到对应实体");
|
||||
}
|
||||
else {
|
||||
String createBy = file.getCreateBy();
|
||||
LoginUser loginUser = sysBaseAPI.getUserByName(createBy);
|
||||
if (loginUser != null){
|
||||
file.setCreateBy(loginUser.getRealname());
|
||||
}
|
||||
result.setResult(file);
|
||||
result.setSuccess(true);
|
||||
}
|
||||
@@ -103,6 +112,13 @@ public class OSSFileController {
|
||||
LambdaQueryWrapper<OSSFile> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(OSSFile::getId ,Arrays.asList(ids.split(",")));
|
||||
List<OSSFile> list = ossFileService.list(wrapper);
|
||||
for (OSSFile file : list) {
|
||||
String createBy = file.getCreateBy();
|
||||
LoginUser loginUser = sysBaseAPI.getUserByName(createBy);
|
||||
if (loginUser != null){
|
||||
file.setCreateBy(loginUser.getRealname());
|
||||
}
|
||||
}
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
|
||||
+56
-6
@@ -125,6 +125,56 @@ public class CommonController {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件上传统一方法
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/uploadByToken")
|
||||
public Result<OSSFile> uploadByToken(HttpServletRequest request, HttpServletResponse response) {
|
||||
Result<OSSFile> result = new Result<>();
|
||||
String savePath = "";
|
||||
String bizPath = request.getParameter("biz");
|
||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||
// 获取上传文件对象
|
||||
MultipartFile file = multipartRequest.getFile("file");
|
||||
// 文件类型是否处于黑名单
|
||||
if(CommonUtils.limitFileSuffix(file.getOriginalFilename(),fileSuffixLimits)){
|
||||
result.setMessage("该文件类型不允许上传");
|
||||
result.setSuccess(false);
|
||||
result.setCode(0);
|
||||
return result;
|
||||
}
|
||||
if(oConvertUtils.isEmpty(bizPath)){
|
||||
bizPath = "";
|
||||
}
|
||||
if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)){
|
||||
// 本地上传
|
||||
savePath = CommonUtils.uploadLocal(file,bizPath,uploadpath);
|
||||
}else{
|
||||
// minio上传
|
||||
savePath = CommonUtils.upload(file, bizPath, uploadType);
|
||||
}
|
||||
if(oConvertUtils.isNotEmpty(savePath)){
|
||||
//上传成功 进行数据库存储
|
||||
OSSFile ossFile = new OSSFile();
|
||||
// 文件名
|
||||
String fileName = file.getOriginalFilename();
|
||||
fileName = CommonUtils.getFileName(fileName);
|
||||
ossFile.setFileName(fileName);
|
||||
ossFile.setUrl(savePath);
|
||||
ossFileService.save(ossFile);
|
||||
result.setMessage(savePath);
|
||||
result.setResult(ossFile);
|
||||
result.setSuccess(true);
|
||||
}else {
|
||||
result.setMessage("上传失败!");
|
||||
result.setSuccess(false);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 预览图片&下载文件
|
||||
*
|
||||
@@ -273,12 +323,12 @@ public class CommonController {
|
||||
|
||||
ossFileService.updateById(ossFile);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (loginUser.getIsCompanyUser()) {
|
||||
Integer integer = ossFileService.searchDownloadTimes(ossFile.getId(), loginUser.getId());
|
||||
if (integer >= 5) {
|
||||
throw new JeroBootException("超出下载次数限制");
|
||||
}
|
||||
}
|
||||
//if (loginUser.getIsCompanyUser()) {
|
||||
// Integer integer = ossFileService.searchDownloadTimes(ossFile.getId(), loginUser.getId());
|
||||
// if (integer >= 5) {
|
||||
// throw new JeroBootException("超出下载次数限制");
|
||||
// }
|
||||
//}
|
||||
ossFileService.saveDownloadTimes(ossFile.getId(), loginUser.getId());
|
||||
|
||||
response.addHeader("Content-Disposition", "attachment;fileName=" + new String(fileName.getBytes("UTF-8"),"iso-8859-1"));
|
||||
|
||||
+35
@@ -2,10 +2,12 @@ package com.jero.modules.system.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
@@ -265,6 +267,39 @@ public class SysAnnouncementSendController {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @功能:企业端获取我的消息(截止时间未读消息)
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/getDeadlineUnreadSend")
|
||||
@ApiOperation(value="企业端获取我的消息(截止时间未读消息)", notes="企业端获取我的消息(截止时间未读消息)")
|
||||
public Result<List<AnnouncementSendModel>> getDeadlineUnreadSend(AnnouncementSendModel announcementSendModel) {
|
||||
LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = sysUser.getId();
|
||||
announcementSendModel.setUserId(userId);
|
||||
announcementSendModel.setDeadline(new Date());
|
||||
announcementSendModel.setReadFlag(CommonConstant.NO_READ_FLAG);
|
||||
List<AnnouncementSendModel> pageList = sysAnnouncementSendService.getDeadlineUnreadSend(announcementSendModel);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Remarks: 一键已读(截止时间未读消息)
|
||||
**/
|
||||
@GetMapping(value = "/allReadDeadlineUnreadSend")
|
||||
@ApiOperation(value="一键已读(截止时间未读消息)", notes="一键已读(截止时间未读消息)")
|
||||
public Result<String> allReadDeadlineUnreadSend(@RequestParam("anntIds") String anntIds) {
|
||||
LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = sysUser.getId();
|
||||
LambdaUpdateWrapper<SysAnnouncementSend> updateWrapper = new UpdateWrapper().lambda();
|
||||
updateWrapper.set(SysAnnouncementSend::getReadFlag, CommonConstant.HAS_READ_FLAG);
|
||||
updateWrapper.set(SysAnnouncementSend::getReadTime, new Date());
|
||||
updateWrapper.in(SysAnnouncementSend::getAnntId, Arrays.asList(anntIds.split(",")));
|
||||
updateWrapper.eq(SysAnnouncementSend::getUserId, userId);
|
||||
sysAnnouncementSendService.update(updateWrapper);
|
||||
return Result.OK("操作成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* @功能:一键已读
|
||||
* @return
|
||||
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
package com.jero.modules.system.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.system.entity.SysNotice;
|
||||
import com.jero.modules.system.service.ISysNoticeService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/7/14 15:42
|
||||
* @remarks: 公告管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/sysNotice")
|
||||
@Api(tags = "公告管理")
|
||||
public class SysNoticeController {
|
||||
|
||||
@Autowired
|
||||
private ISysNoticeService sysNoticeService;
|
||||
|
||||
@ApiOperation(value = "公告管理-添加", notes = "公告管理-添加")
|
||||
@PostMapping(value = "/add")
|
||||
@RequiresPermissions("sysNotice:add")
|
||||
public Result<String> add(@Validated @RequestBody SysNotice sysNotice) {
|
||||
sysNoticeService.add(sysNotice);
|
||||
return Result.OK(Result.OPERATING_SUCCESS);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "公告管理-根据id删除", notes = "公告管理-根据id删除")
|
||||
@GetMapping(value = "/deleteById")
|
||||
@RequiresPermissions("sysNotice:deleteById")
|
||||
public Result<String> deleteById(@RequestParam(name = "id") String id) {
|
||||
sysNoticeService.deleteById(id);
|
||||
return Result.OK(Result.OPERATING_SUCCESS);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "公告管理-根据ids批量删除", notes = "公告管理-根据ids批量删除")
|
||||
@GetMapping(value = "/deleteBatch")
|
||||
@RequiresPermissions("sysNotice:deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name = "ids") String ids) {
|
||||
sysNoticeService.deleteBatch(ids);
|
||||
return Result.OK(Result.OPERATING_SUCCESS);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "公告管理-编辑", notes = "公告管理-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
@RequiresPermissions("sysNotice:edit")
|
||||
public Result<String> edit(@Validated @RequestBody SysNotice sysNotice) {
|
||||
sysNoticeService.edit(sysNotice);
|
||||
return Result.OK(Result.OPERATING_SUCCESS);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "公告管理-分页查询", notes = "公告管理-分页查询")
|
||||
@GetMapping(value = "/pageList")
|
||||
@RequiresPermissions("sysNotice:pageList")
|
||||
public Result<IPage<SysNotice>> pageList(SysNotice sysNotice,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
IPage<SysNotice> pageList = sysNoticeService.pageList(sysNotice, pageNo, pageSize, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "公告管理-企业端查询", notes = "公告管理-企业端查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<SysNotice>> page(SysNotice sysNotice,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
IPage<SysNotice> pageList = sysNoticeService.pageList(sysNotice, pageNo, pageSize, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
}
|
||||
+6
@@ -11,6 +11,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 系统通告表
|
||||
@@ -158,4 +159,9 @@ public class SysAnnouncement implements Serializable {
|
||||
* 跳转参数
|
||||
*/
|
||||
private String jumpParameter;
|
||||
|
||||
/**截止时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date deadline;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.jero.modules.system.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/7/14 14:31
|
||||
* @remarks: 公告管理表
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
public class SysNotice implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**id*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
/**创建人*/
|
||||
private String createBy;
|
||||
/**创建日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
/**更新人*/
|
||||
private String updateBy;
|
||||
/**更新日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty("公告名称")
|
||||
private String noticeName;
|
||||
@ApiModelProperty("公告内容")
|
||||
private String noticeContent;
|
||||
@ApiModelProperty("附件")
|
||||
@Size(max = 300, message = "附件数量超出最大限制")
|
||||
private String noticeFile;
|
||||
@ApiModelProperty("状态(1-启用,0-禁用)")
|
||||
@NotNull(message = "状态不能为空")
|
||||
private Integer noticeStatus;
|
||||
|
||||
/**创建日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@TableField(exist = false)
|
||||
private Date startTime;
|
||||
/**创建日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@TableField(exist = false)
|
||||
private Date endTime;
|
||||
}
|
||||
+5
@@ -28,4 +28,9 @@ public interface SysAnnouncementSendMapper extends BaseMapper<SysAnnouncementSen
|
||||
*/
|
||||
public List<AnnouncementSendModel> getMyAnnouncementSendList(Page<AnnouncementSendModel> page,@Param("announcementSendModel") AnnouncementSendModel announcementSendModel);
|
||||
|
||||
/**
|
||||
* @Remarks: 获取截止时间后未读的消息
|
||||
**/
|
||||
List<AnnouncementSendModel> getMyAnnouncementSendList(@Param("announcementSendModel") AnnouncementSendModel announcementSendModel);
|
||||
|
||||
}
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.modules.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.system.entity.SysNotice;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/7/14 14:49
|
||||
* @remarks: 公告管理
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysNoticeMapper extends BaseMapper<SysNotice> {
|
||||
}
|
||||
+42
-39
@@ -24,53 +24,56 @@
|
||||
</select>
|
||||
|
||||
<select id="getMyAnnouncementSendList" parameterType="Object" resultMap="AnnouncementSendModel">
|
||||
select
|
||||
sas.id,
|
||||
sas.annt_id,
|
||||
sas.user_id,
|
||||
sas.read_flag,
|
||||
sa.titile as titile,
|
||||
sa.msg_content as msg_content,
|
||||
sa.sender as sender,
|
||||
sa.priority as priority,
|
||||
sa.msg_category,
|
||||
sa.send_time as send_time,
|
||||
sa.bus_id as bus_id,
|
||||
sa.open_type as open_type,
|
||||
sa.open_page as open_page,
|
||||
sa.msg_abstract,
|
||||
sa.template_code,
|
||||
sa.jump_parameter
|
||||
from sys_announcement_send sas
|
||||
left join sys_announcement sa ON sas.annt_id = sa.id
|
||||
where sa.send_status = '1'
|
||||
and sa.del_flag = '0'
|
||||
and sas.user_id = #{announcementSendModel.userId}
|
||||
<if test="announcementSendModel.titile !=null and announcementSendModel.titile != ''">
|
||||
and sa.titile = #{announcementSendModel.titile}
|
||||
</if>
|
||||
<if test="announcementSendModel.sender !=null and announcementSendModel.sender != ''">
|
||||
and sa.sender LIKE concat(concat('%',#{announcementSendModel.sender}),'%')
|
||||
</if>
|
||||
<if test="announcementSendModel.readFlag !=null and announcementSendModel.readFlag != ''">
|
||||
and sas.read_flag = #{announcementSendModel.readFlag}
|
||||
</if>
|
||||
<if test="announcementSendModel.busType !=null and announcementSendModel.busType != ''">
|
||||
and sa.bus_type = #{announcementSendModel.busType}
|
||||
</if>
|
||||
select
|
||||
sas.id,
|
||||
sas.annt_id,
|
||||
sas.user_id,
|
||||
sas.read_flag,
|
||||
sa.titile as titile,
|
||||
sa.msg_content as msg_content,
|
||||
sa.sender as sender,
|
||||
sa.priority as priority,
|
||||
sa.msg_category,
|
||||
sa.send_time as send_time,
|
||||
sa.bus_id as bus_id,
|
||||
sa.open_type as open_type,
|
||||
sa.open_page as open_page,
|
||||
sa.msg_abstract,
|
||||
sa.template_code,
|
||||
sa.jump_parameter
|
||||
from sys_announcement_send sas
|
||||
left join sys_announcement sa ON sas.annt_id = sa.id
|
||||
where sa.send_status = '1'
|
||||
and sa.del_flag = '0'
|
||||
and sas.user_id = #{announcementSendModel.userId}
|
||||
<if test="announcementSendModel.deadline != null">
|
||||
and sa.deadline >= #{announcementSendModel.deadline}
|
||||
</if>
|
||||
<if test="announcementSendModel.titile !=null and announcementSendModel.titile != ''">
|
||||
and sa.titile = #{announcementSendModel.titile}
|
||||
</if>
|
||||
<if test="announcementSendModel.sender !=null and announcementSendModel.sender != ''">
|
||||
and sa.sender LIKE concat(concat('%',#{announcementSendModel.sender}),'%')
|
||||
</if>
|
||||
<if test="announcementSendModel.readFlag !=null and announcementSendModel.readFlag != ''">
|
||||
and sas.read_flag = #{announcementSendModel.readFlag}
|
||||
</if>
|
||||
<if test="announcementSendModel.busType !=null and announcementSendModel.busType != ''">
|
||||
and sa.bus_type = #{announcementSendModel.busType}
|
||||
</if>
|
||||
<if test="announcementSendModel.bizSource !=null and announcementSendModel.bizSource =='isNoBpm'">
|
||||
and (sa.bus_type != 'bpm' or sa.bus_type is null)
|
||||
</if>
|
||||
<if test="announcementSendModel.msgCategory !=null and announcementSendModel.msgCategory != ''">
|
||||
and sa.msg_category = #{announcementSendModel.msgCategory}
|
||||
</if>
|
||||
<if test="announcementSendModel.startTime != null and announcementSendModel.startTime != ''">
|
||||
<if test="announcementSendModel.msgCategory !=null and announcementSendModel.msgCategory != ''">
|
||||
and sa.msg_category = #{announcementSendModel.msgCategory}
|
||||
</if>
|
||||
<if test="announcementSendModel.startTime != null and announcementSendModel.startTime != ''">
|
||||
and DATE_FORMAT(sa.create_time,'%Y-%m-%d') >= #{announcementSendModel.startTime}
|
||||
</if>
|
||||
<if test="announcementSendModel.endTime != null and announcementSendModel.endTime != ''">
|
||||
and DATE_FORMAT(sa.create_time,'%Y-%m-%d') <= #{announcementSendModel.endTime}
|
||||
</if>
|
||||
order by sas.read_flag,sa.send_time desc
|
||||
order by sas.read_flag,sa.send_time desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
+6
@@ -8,6 +8,7 @@ import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 用户通告阅读标记表
|
||||
@@ -92,4 +93,9 @@ public class AnnouncementSendModel implements Serializable {
|
||||
* 跳转参数
|
||||
*/
|
||||
private String jumpParameter;
|
||||
|
||||
/**
|
||||
* @Remarks: 截止时间
|
||||
**/
|
||||
private Date deadline;
|
||||
}
|
||||
|
||||
+4
@@ -25,4 +25,8 @@ public interface ISysAnnouncementSendService extends IService<SysAnnouncementSen
|
||||
*/
|
||||
public Page<AnnouncementSendModel> getMyAnnouncementSendPage(Page<AnnouncementSendModel> page,AnnouncementSendModel announcementSendModel);
|
||||
|
||||
/**
|
||||
* @Remarks: 企业端获取我的消息(截止时间未读消息)
|
||||
**/
|
||||
List<AnnouncementSendModel> getDeadlineUnreadSend(AnnouncementSendModel announcementSendModel);
|
||||
}
|
||||
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.jero.modules.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.system.entity.SysNotice;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/7/14 15:25
|
||||
* @remarks: 公告管理
|
||||
*/
|
||||
public interface ISysNoticeService extends IService<SysNotice> {
|
||||
void add(SysNotice sysNotice);
|
||||
|
||||
void deleteById(String id);
|
||||
|
||||
void deleteBatch(String ids);
|
||||
|
||||
void edit(SysNotice sysNotice);
|
||||
|
||||
IPage<SysNotice> pageList(SysNotice sysNotice, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
}
|
||||
+8
@@ -36,4 +36,12 @@ public class SysAnnouncementSendServiceImpl extends ServiceImpl<SysAnnouncementS
|
||||
return page.setRecords(sysAnnouncementSendMapper.getMyAnnouncementSendList(page, announcementSendModel));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Remarks: 企业端获取我的消息(截止时间未读消息)
|
||||
**/
|
||||
@Override
|
||||
public List<AnnouncementSendModel> getDeadlineUnreadSend(AnnouncementSendModel announcementSendModel) {
|
||||
return sysAnnouncementSendMapper.getMyAnnouncementSendList(announcementSendModel);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.system.entity.SysNotice;
|
||||
import com.jero.modules.system.mapper.SysNoticeMapper;
|
||||
import com.jero.modules.system.service.ISysNoticeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/7/14 15:41
|
||||
* @remarks: 公告管理
|
||||
*/
|
||||
@Service
|
||||
public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice> implements ISysNoticeService {
|
||||
@Override
|
||||
public void add(SysNotice sysNotice) {
|
||||
save(sysNotice);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteBatch(String ids) {
|
||||
removeByIds(Arrays.asList(ids.split(",")));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(SysNotice sysNotice) {
|
||||
updateById(sysNotice);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<SysNotice> pageList(SysNotice sysNotice, Integer pageNo, Integer pageSize, HttpServletRequest req) {
|
||||
Page<SysNotice> page = new Page<>(pageNo, pageSize);
|
||||
QueryWrapper<SysNotice> queryWrapper = QueryGenerator.initQueryWrapper(sysNotice, req.getParameterMap());
|
||||
if (!Objects.isNull(sysNotice.getStartTime())) {
|
||||
queryWrapper.ge("create_time", sysNotice.getStartTime());
|
||||
}
|
||||
if (!Objects.isNull(sysNotice.getEndTime())) {
|
||||
// 将Date类型转换为LocalDateTime类型
|
||||
LocalDateTime endDateTime = sysNotice.getEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||
// 获取当天最晚时间
|
||||
LocalDateTime endOfDay = endDateTime.with(LocalTime.MAX);
|
||||
queryWrapper.le("create_time", endOfDay);
|
||||
}
|
||||
queryWrapper.lambda().orderByDesc(SysNotice::getCreateTime);
|
||||
return page(page, queryWrapper);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user