diff --git a/db/24年1月中旬需求变更新增.sql b/db/24年1月中旬需求变更新增.sql new file mode 100644 index 00000000..3f41ba03 --- /dev/null +++ b/db/24年1月中旬需求变更新增.sql @@ -0,0 +1,119 @@ +-- 新增 pay_drafting_group表(起草组表) +CREATE TABLE `pay_drafting_group` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `drafting_group_project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '起草组项目', + `working_group_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作组id', + `year` int NULL DEFAULT NULL COMMENT '运行年份', + `principal_id_a` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人Aid', + `principal_name_a` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人名称A', + `principal_id_b` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人Bid', + `principal_name_b` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人名称B', + `convoke_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '每年召开次数', + `operation_cycle` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '运行周期', + `mission_and_objectives` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务及目标', + `remarks` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', +PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '起草组表' ROW_FORMAT = Dynamic; + +-- 新增 pay_drafting_group_subitem表 (起草组成员表) +CREATE TABLE `pay_drafting_group_subitem` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `drafting_group_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '起草组id', + `charge_company_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '成员单位id', + `charge_company_temporary_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时成员单位id', + `charge_company_temporary_name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时成员单临时成员单位(未审核状态下会多出5位,因此修改成55长度)', + `contacts_id_one` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业联系人一id', + `contacts_temporary_id_one` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时企业联系人一id', + `contacts_temporary_name_one` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时企业联系人一名称', + `remarks_one` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系人备注1', + `contacts_id_two` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业联系人二id', + `contacts_temporary_id_two` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时企业联系人二id', + `contacts_temporary_name_two` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时企业联系人二名称', + `remarks_two` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系人备注2', + `contacts_id_three` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业联系人三id', + `contacts_temporary_id_three` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时企业联系人三id', + `contacts_temporary_name_three` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时企业联系人三名称', + `remarks_three` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系人备注3', + `remarks` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `working_drafting_id_and_company_id_index`(`drafting_group_id`, `charge_company_id`) USING BTREE COMMENT '工作组与企业唯一', + INDEX `working_drafting_company_index`(`charge_company_temporary_name`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '起草组成员表' ROW_FORMAT = Dynamic; + +-- 新增 pay_drafting_group_subitem_contacts表(起草组成员-企业联系人表) +CREATE TABLE `pay_drafting_group_subitem_contacts` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `drafting_group_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '起草组id', + `drafting_group_sub_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '起草组成员id', + `contacts_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业联系人id', + `contacts_temporary_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时企业联系人id', + `contacts_temporary_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '临时企业联系人名称', + `remarks` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系人备注', + `order_num` int NULL DEFAULT NULL COMMENT '序号', + `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_wg_working_group_id`(`drafting_group_id`) USING BTREE, + INDEX `idx_wg_working_group_sub_id`(`drafting_group_sub_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '起草组成员-企业联系人表' ROW_FORMAT = Dynamic; + +-- 新增 pay_drafting_group_research_project表(起草组-在研项目表) +CREATE TABLE `pay_drafting_group_research_project` ( + `id` varchar(32) CHARACTER SET utf16 COLLATE utf16_general_ci NOT NULL COMMENT '主键', + `drafting_group_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '起草组id', + `project_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目名称', + `draft_company` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主要起草单位', + `files` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '过程文件', + `project_schedule` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目进度', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `committee_name_index`(`project_name`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '起草组-在研项目表' ROW_FORMAT = Dynamic; + +-- 新增 pay_drafting_group_research_project_file表(起草组-在研项目-资料文件表) +CREATE TABLE `pay_drafting_group_research_project_file` ( + `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `project_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目id', + `file_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件id', + `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '起草组-在研项目-资料文件表' ROW_FORMAT = Dynamic; + +-- 新增 pay_drafting_group_distribution_record表(起草组-分发记录表) +CREATE TABLE `pay_drafting_group_distribution_record` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `data_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '资料id', + `project_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '起草组id或者分标委id', + `sub_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作组成员id或者分标委成员id', + `project_type` tinyint(1) NULL DEFAULT NULL COMMENT '类型1:起草组,2:分标委', + `file_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件id', + `contacts_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系人id', + `contacts_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系人名称', + `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '起草组-分发记录表' ROW_FORMAT = Dynamic; + +-- pay_meeting表 新增 drafting_group_id(起草组id),drafting_group_name(起草组名称)字段 +ALTER TABLE `pay_meeting` ADD COLUMN `drafting_group_id` varchar(50) COMMENT '起草组id'; +ALTER TABLE `pay_meeting` ADD COLUMN `drafting_group_name` varchar(50) COMMENT '起草组名称'; + + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupController.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupController.java index efe2859e..0ac6e1bf 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupController.java @@ -2,6 +2,7 @@ package com.jero.drafting.controller; 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; @@ -187,7 +188,7 @@ public class PayDraftingGroupController extends JeroController copy(@RequestBody PayDraftingGroup payDraftingGroup) { if(StringUtils.isBlank(payDraftingGroup.getId())){ @@ -243,4 +244,51 @@ public class PayDraftingGroupController extends JeroController edit(@RequestBody PayDraftingGroup payDraftingGroup) { + StringBuilder msg = ValidUtil.validateAll(payDraftingGroup); + if(!StringUtils.isBlank(msg)){ + return Result.error(msg.toString()); + } + if(StringUtils.isEmpty(payDraftingGroup.getId())){ + return Result.error("起草组id不能为空!"); + } + PayDraftingGroup payDraftingGroupOld = payDraftingGroupService.getById(payDraftingGroup.getId()); + if(Objects.isNull(payDraftingGroupOld)){ + return Result.error("起草组不存在!"); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(!rolePermissionService.getRolePermission("draftingGroupProject:edit") && !Objects.equals(payDraftingGroupOld.getPrincipalIdA(),sysUser.getId())){ + return Result.error(payDraftingGroupOld.getDraftingGroupProject() + "数据权限不足!"); + } + try { + // 编辑保存前再次校验来款项目是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayDraftingGroup::getDraftingGroupProject,payDraftingGroup.getDraftingGroupProject()); + PayDraftingGroup payDraftingGroupNew = payDraftingGroupService.getOne(queryWrapper); + // 来款项目存在,并且编辑id与查询不同,则校验不通过 + if(!Objects.isNull(payDraftingGroupNew) && !Objects.equals(payDraftingGroupNew.getId(),payDraftingGroup.getId())) { + return Result.error("起草组项目已存在!"); + } + }catch (Exception e){ + log.info("工作组项目-编辑异常",e); + return Result.error("起草组项目已存在!"); + } + payDraftingGroupService.setPayDraftingGroup(payDraftingGroup); +// LambdaUpdateWrapper updatePayDraftingGroup = new LambdaUpdateWrapper<>(); +// updatePayDraftingGroup.eq(PayDraftingGroup::getId,payDraftingGroup.getId()); + payDraftingGroupService.updateById(payDraftingGroup); + return Result.OK("编辑成功!"); + + } } \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupDistributionRecordController.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupDistributionRecordController.java index c4bbde4d..048acf54 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupDistributionRecordController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupDistributionRecordController.java @@ -28,15 +28,10 @@ import javax.annotation.Resource; * @author sz * @since 2024-01-02 */ -@Api(tags = "起草组-分发记录") +//@Api(tags = "起草组-分发记录") @RestController @RequestMapping("/drafting/payDraftingGroupDistributionRecord") @Slf4j public class PayDraftingGroupDistributionRecordController extends JeroController { - @Resource - private IOSSFileService iossFileService; - @Value("${jero.path.upload}") - private String upLoadPath; - } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupSubItemContactsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupSubItemContactsController.java index 40c10a14..15ea5fec 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupSubItemContactsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupSubItemContactsController.java @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RestController; * @author sz * @since 2024-01-02 */ -@Api(tags="起草组成员") +@Api(tags="起草组成员 联系人信息") @RestController @RequestMapping("/drafting/payDraftingGroupSubitemContacts") @Slf4j diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroup.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroup.java index cd76a916..85a4c923 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroup.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroup.java @@ -71,14 +71,14 @@ public class PayDraftingGroup implements Serializable { @ApiModelProperty(value = "负责人名称A") private String principalNameA; - /**负责人Aid*/ + /**负责人Bid*/ @Excel(name = "负责人Bid", width = 15) @ApiModelProperty(value = "负责人Bid") - @NotEmpty(message = "负责人Bid不能为空") +// @NotEmpty(message = "负责人Bid不能为空") @Size(max = 32,message = "负责人Bid长度不能大于32个字符") private String principalIdB; - /**负责人名称A*/ + /**负责人名称B*/ @Excel(name = "负责人名称N", width = 15) @ApiModelProperty(value = "负责人名称B") private String principalNameB; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroupSubItem.java index d3c07945..c8829e25 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroupSubItem.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -405,4 +406,15 @@ public class PayDraftingGroupSubItem implements Serializable { @Size(max = 50,message = "联系人10备注长度不能大于50个字符") @TableField(exist = false) private String remarksTen; + + + /**已提醒*/ + @TableField(exist = false) + @Dict(dicCode = "yn") + private Integer remind; + + /**邮件提醒*/ + @TableField(exist = false) + @Dict(dicCode = "yn") + private Integer mailRemind; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupSubItemMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupSubItemMapper.java index ee243d49..81283d1a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupSubItemMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupSubItemMapper.java @@ -23,4 +23,14 @@ public interface PayDraftingGroupSubItemMapper extends BaseMapper queryPageList(Page page, PayDraftingGroupSubItem payDraftingGroupSubItem, String paymentDate); + + /** + * 起草组成员-发布提醒列表查询 + * + * @param page + * @param payDraftingGroupSubItem + * @return + */ + IPage publishReminderList(Page page, PayDraftingGroupSubItem payDraftingGroupSubItem); + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupSubItemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupSubItemMapper.xml index e25b491c..499826f5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupSubItemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupSubItemMapper.xml @@ -37,4 +37,32 @@ GROUP BY pdgs.id ORDER BY pdgs.create_time desc + + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemService.java index 6aa5d1cd..3034f3c8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemService.java @@ -56,4 +56,12 @@ public interface IPayDraftingGroupSubItemService extends IService publishReminderList(Page page, PayDraftingGroupSubItem payDraftingGroupSubItem); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemServiceImpl.java index 7040d13a..dcb992f8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemServiceImpl.java @@ -642,4 +642,16 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl publishReminderList(Page page, PayDraftingGroupSubItem payDraftingGroupSubItem) { + return payDraftingGroupSubItemMapper.publishReminderList(page,payDraftingGroupSubItem); + } } \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingController.java index e06b576d..29d39a46 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingController.java @@ -4,6 +4,7 @@ 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.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; @@ -17,11 +18,14 @@ import com.jero.meeting.entity.PayMeetingHotelContacts; import com.jero.meeting.service.IPayMeetingHotelContactsService; 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.modules.system.volid.group.UpdateGroup; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -167,6 +171,41 @@ public class DraftGroupMeetingController { PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(draftingGroupId); payMeetingVO.setDirectorName(payDraftingGroup.getDraftingGroupProject()); return Result.OK(payMeetingVO); + } + /** + * 上传文件 + */ + @AutoLog(value = "上传文件") +// @RequiresPermissions("draftGroupMeeting:upload") + @ApiOperation(value = "上传资料", notes = "上传文件") + @PostMapping(value = "/uploadFile") + public Result uploadFile(@RequestBody UploadFileVO uploadFileVO) { + List strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.DRAFTING_GROUP_MEETING_INT, false); + return Result.OK("上传资料成功!",strings); + } + + /** + * 上传会议纪要 + */ + @AutoLog(value = "上传会议纪要") +// @RequiresPermissions("draftGroupMeeting:uploadCouncil") + @ApiOperation(value = "上传会议纪要", notes = "上传会议纪要") + @PostMapping(value = "/uploadCouncilFile") + public Result uploadCouncilFile(@RequestBody UploadFileVO uploadFileVO) { + payMeetingService.uploadFile(uploadFileVO, MeetingCommon.DRAFTING_GROUP_MEETING_INT); + return Result.OK("上传会议纪要成功!"); + } + + /** + * 发布提醒 + */ + @AutoLog("发布提醒") + @RequiresPermissions("workGroupMeeting:publish") + @ApiOperation(value = "发布提醒", notes = "发布提醒") + @PostMapping(value = "/publishReminder") + public Result publishReminder(@RequestBody PublishReminderVO publishReminderVO) { + List strings = payMeetingService.publishReminder(publishReminderVO, CompanyMessageEnums.MSG1, "C_OPEN_TYPE1"); + return Result.OK("发布成功",strings); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingSituationController.java index 95ef1ac2..3a72764f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingSituationController.java @@ -8,9 +8,16 @@ 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.exception.JeroBootException; +import com.jero.common.service.RolePermissionService; 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.ValidUtil; +import com.jero.common.util.oConvertUtils; +import com.jero.drafting.entity.PayDraftingGroup; +import com.jero.drafting.entity.PayDraftingGroupSubItem; +import com.jero.drafting.service.IPayDraftingGroupService; +import com.jero.drafting.service.IPayDraftingGroupSubItemService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingSituation; @@ -19,10 +26,13 @@ import com.jero.meeting.vo.CheckVO; import com.jero.meeting.vo.PayMeetingSituationVO; import com.jero.meeting.vo.SetGuestsUploadFileVO; import com.jero.project.common.PayProjectCommon; +import com.jero.project.entity.PayWorkingGroup; +import com.jero.project.entity.PayWorkingGroupSubItem; import io.swagger.annotations.Api; 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.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -44,6 +54,12 @@ import java.util.Objects; public class DraftGroupMeetingSituationController extends JeroController { @Resource private IPayMeetingSituationService payMeetingSituationService; + @Resource + private IPayDraftingGroupService payDraftingGroupService; + @Resource + private IPayDraftingGroupSubItemService payDraftingGroupSubItemService; + @Resource + private RolePermissionService rolePermissionService; private final Integer MEETING_TYPE = MeetingCommon.DRAFTING_GROUP_MEETING_INT; @@ -201,4 +217,44 @@ public class DraftGroupMeetingSituationController extends JeroController aClass = payMeetingSituationService.getaClass(MEETING_TYPE); return super.exportListXls(objects, aClass, "参会人员信息"); } + + /** + * 分页列表查询 + * + * @param payDraftingGroupSubItem 起草组成员 + * @param pageNo 页数 + * @param pageSize 条数 + * @param paymentDate 日期 + * @return + */ +// @RequiresPermissions("draftingGroupMember:search") + @ApiOperation(value = "起草组成员-发布提醒列表查询") + @GetMapping(value = "/publishReminderList") + public Result publishReminderList(PayDraftingGroupSubItem payDraftingGroupSubItem, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "paymentDate", required = false) String paymentDate) { + if (!StringUtils.isBlank(payDraftingGroupSubItem.getChargeCompanyTemporaryName()) && payDraftingGroupSubItem.getChargeCompanyTemporaryName().length() > 50) { + return Result.error("成员单位长度不能大于50个字符"); + } + if (StringUtils.isBlank(payDraftingGroupSubItem.getDraftingGroupId())) { + return Result.error("起草组id不能为空!"); + } + if(!StringUtils.isBlank(payDraftingGroupSubItem.getChargeCompanyTemporaryName())){ + payDraftingGroupSubItem.setChargeCompanyTemporaryName(oConvertUtils.replaceAllPercent(payDraftingGroupSubItem.getChargeCompanyTemporaryName())); + } + PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(payDraftingGroupSubItem.getDraftingGroupId()); + if(Objects.isNull(payDraftingGroup)){ + return Result.error("起草组不存在!"); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(!rolePermissionService.getRolePermission("draftingGroupMember:search") + && !Objects.equals(payDraftingGroup.getPrincipalIdA(),sysUser.getId()) + && !Objects.equals(payDraftingGroup.getPrincipalIdB(),sysUser.getId())){ + return Result.error("数据权限不足!"); + } + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payDraftingGroupSubItemService.publishReminderList(page, payDraftingGroupSubItem); + return Result.OK(pageList); + } } \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PublishReminderVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PublishReminderVO.java index 9dc9200d..101b1858 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PublishReminderVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PublishReminderVO.java @@ -19,8 +19,10 @@ public class PublishReminderVO { private List meetingIds; @ApiModelProperty(value = "成员id列表") private List subitemIds; - @ApiModelProperty(value = "项目类型1:工作组,2:分标委") + @ApiModelProperty(value = "项目类型1:工作组, 2:分标委, 3:起草组") private Integer projectType; @ApiModelProperty(value = "是否发送邮件") private Integer sendEmailFlag; + @ApiModelProperty(value = "起草组id") + private java.lang.String draftingGroupId; }