diff --git a/rwk-admin/src/main/java/com/rwk/web/controller/ability/RwkMeetingController.java b/rwk-admin/src/main/java/com/rwk/web/controller/ability/RwkMeetingController.java index 75e2d44..0fbbbb5 100644 --- a/rwk-admin/src/main/java/com/rwk/web/controller/ability/RwkMeetingController.java +++ b/rwk-admin/src/main/java/com/rwk/web/controller/ability/RwkMeetingController.java @@ -2,6 +2,7 @@ package com.rwk.web.controller.ability; import java.util.List; import com.rwk.common.utils.DateUtils; +import com.rwk.system.domain.RwkMeetingStaff; import com.rwk.system.domain.RwkStaffInformation; import com.rwk.system.service.IRwkStaffInformationService; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -57,6 +58,16 @@ public class RwkMeetingController extends BaseController { startPage(); List list = rwkMeetingService.selectRwkMeetingList(rwkMeeting); + for (RwkMeeting mt : list){ + int totalCount = mt.getRwkMeetingStaffList().size(); + Integer isSignCount = 0; + for (RwkMeetingStaff mtStaff : mt.getRwkMeetingStaffList()){ + if (mtStaff.getIsSign() == 1){ + isSignCount++; + } + } + mt.setSignCount(isSignCount+"/"+totalCount); + } return getDataTable(list); } @@ -81,6 +92,16 @@ public class RwkMeetingController extends BaseController return prefix + "/userSelect"; } + /** + *新增附件 + */ + @GetMapping("/addMeetingFile") + public String addMeetingFile(ModelMap mmap) + { + getJoinPeople(mmap); + return prefix + "/addMeetingFile"; + } + /** * 新增教育培训 */ diff --git a/rwk-admin/src/main/java/com/rwk/web/controller/ability/RwkMeetingFileController.java b/rwk-admin/src/main/java/com/rwk/web/controller/ability/RwkMeetingFileController.java new file mode 100644 index 0000000..dc3b9b0 --- /dev/null +++ b/rwk-admin/src/main/java/com/rwk/web/controller/ability/RwkMeetingFileController.java @@ -0,0 +1,127 @@ +package com.rwk.web.controller.ability; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.rwk.common.annotation.Log; +import com.rwk.common.enums.BusinessType; +import com.rwk.system.domain.RwkMeetingFile; +import com.rwk.system.service.IRwkMeetingFileService; +import com.rwk.common.core.controller.BaseController; +import com.rwk.common.core.domain.AjaxResult; +import com.rwk.common.utils.poi.ExcelUtil; +import com.rwk.common.core.page.TableDataInfo; + +/** + * 【教育培训附件】Controller + * + * @author ruoyi + * @date 2024-12-21 + */ +@Controller +@RequestMapping("/system/file") +public class RwkMeetingFileController extends BaseController +{ + private String prefix = "system/file"; + + @Autowired + private IRwkMeetingFileService rwkMeetingFileService; + + @RequiresPermissions("system:file:view") + @GetMapping() + public String file() + { + return prefix + "/file"; + } + + /** + * 查询【教育培训附件】列表 + */ + @RequiresPermissions("system:file:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(RwkMeetingFile rwkMeetingFile) + { + startPage(); + List list = rwkMeetingFileService.selectRwkMeetingFileList(rwkMeetingFile); + return getDataTable(list); + } + + /** + * 导出【教育培训附件】列表 + */ + @RequiresPermissions("system:file:export") + @Log(title = "【教育培训附件】", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(RwkMeetingFile rwkMeetingFile) + { + List list = rwkMeetingFileService.selectRwkMeetingFileList(rwkMeetingFile); + ExcelUtil util = new ExcelUtil(RwkMeetingFile.class); + return util.exportExcel(list, "【教育培训附件】数据"); + } + + /** + * 新增【教育培训附件】 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存【教育培训附件】 + */ + @RequiresPermissions("system:file:add") + @Log(title = "【教育培训附件】", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(RwkMeetingFile rwkMeetingFile) + { + return toAjax(rwkMeetingFileService.insertRwkMeetingFile(rwkMeetingFile)); + } + + /** + * 修改【教育培训附件】 + */ + @RequiresPermissions("system:file:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + RwkMeetingFile rwkMeetingFile = rwkMeetingFileService.selectRwkMeetingFileById(id); + mmap.put("rwkMeetingFile", rwkMeetingFile); + return prefix + "/edit"; + } + + /** + * 修改保存【教育培训附件】 + */ + @RequiresPermissions("system:file:edit") + @Log(title = "【教育培训附件】", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(RwkMeetingFile rwkMeetingFile) + { + return toAjax(rwkMeetingFileService.updateRwkMeetingFile(rwkMeetingFile)); + } + + /** + * 删除【教育培训附件】 + */ + @RequiresPermissions("system:file:remove") + @Log(title = "【教育培训附件】", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(rwkMeetingFileService.deleteRwkMeetingFileByIds(ids)); + } +} diff --git a/rwk-admin/src/main/java/com/rwk/web/controller/common/CommonController.java b/rwk-admin/src/main/java/com/rwk/web/controller/common/CommonController.java index d566311..b49588b 100644 --- a/rwk-admin/src/main/java/com/rwk/web/controller/common/CommonController.java +++ b/rwk-admin/src/main/java/com/rwk/web/controller/common/CommonController.java @@ -46,7 +46,7 @@ public class CommonController throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName)); } String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1); - String filePath = RuoYiConfig.getDownloadPath() + fileName; + String filePath = RuoYiConfig.getUploadPath() + fileName; response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); FileUtils.setAttachmentResponseHeader(response, realFileName); diff --git a/rwk-admin/src/main/resources/static/ruoyi/css/meeting.css b/rwk-admin/src/main/resources/static/ruoyi/css/meeting.css index d215024..c284dfa 100644 --- a/rwk-admin/src/main/resources/static/ruoyi/css/meeting.css +++ b/rwk-admin/src/main/resources/static/ruoyi/css/meeting.css @@ -53,4 +53,10 @@ } .signFail{ color: #a94442; +} +.table-container { + height: 200px; /* 设置固定高度 */ + overflow-y: auto; /* 启用垂直滚动条 */ + border: 1px solid #ccc; /* 可选:添加边框以便于查看 */ + margin-bottom: 20px; /* 可选:添加底部间距 */ } \ No newline at end of file diff --git a/rwk-admin/src/main/resources/templates/system/information/informationView.html b/rwk-admin/src/main/resources/templates/system/information/informationView.html index b85fd03..be193f8 100644 --- a/rwk-admin/src/main/resources/templates/system/information/informationView.html +++ b/rwk-admin/src/main/resources/templates/system/information/informationView.html @@ -329,7 +329,11 @@ init(); //数据进行初始化加载 function init(){ - + // 初始化时设置第一个标题为激活状态 + $('.sidebar .title').first().addClass('active'); + // 初始化箭头位置 + var arrow = $("#arrow"); + arrow.css('top', $('.sidebar .title').first().position().top + 11); } function rollingLinkage(){ @@ -353,7 +357,42 @@ scrollTop: scrollPosition }, 300); // 动画效果 }); + + // 滚动事件 + $('#content').scroll(function() { + var scrollTop = $(this).scrollTop(); + var titles = $('.sidebar .title'); + var contentHeight = $('#content').height(); + var contentScrollHeight = $('#content')[0].scrollHeight; + var lastTitle = titles.last(); + + titles.each(function() { + var target = $(this).data('target'); + var targetElement = $(target); + var targetTop = targetElement.position().top; + var targetHeight = targetElement.outerHeight(); + + if (scrollTop >= targetTop && scrollTop < targetTop + targetHeight) { + titles.removeClass('active'); + $(this).addClass('active'); + // 移动箭头 + var newArrowPosition = $(this).position().top + 11; + arrow.css('top', newArrowPosition); + return false; // 停止遍历 + } + }); + + // 如果滚动到底部且最后一个标题未被激活,则激活最后一个标题 + if (scrollTop + contentHeight >= contentScrollHeight - 10) { + titles.removeClass('active'); + lastTitle.addClass('active'); + // 移动箭头 + var newArrowPosition = lastTitle.position().top + 11; + arrow.css('top', newArrowPosition); + } + }); } + \ No newline at end of file diff --git a/rwk-admin/src/main/resources/templates/system/meeting/add.html b/rwk-admin/src/main/resources/templates/system/meeting/add.html index cb8ba1f..f0c048c 100644 --- a/rwk-admin/src/main/resources/templates/system/meeting/add.html +++ b/rwk-admin/src/main/resources/templates/system/meeting/add.html @@ -42,8 +42,8 @@
- - + +
@@ -52,28 +52,30 @@
+
- - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
厨房零配件维修清单及报价(三月至五月).docx非密 - - -
厨房零配件维修清单及报价(二月).docx机密保密期限:2025-01-14 - - -
+
@@ -96,6 +98,7 @@ var editFlag = [[${@permission.hasPermi('system:meeting:edit')}]]; var removeFlag = [[${@permission.hasPermi('system:meeting:remove')}]]; var userList = []; + var fileList = []; $("#form-meeting-add").validate({ focusCleanup: true }); @@ -116,6 +119,11 @@ obj["rwkMeetingStaffList["+index+"]."+key] = item[key]; } }) + fileList.forEach(function (item,index){ + for (const key in item){ + obj["rwkMeetingFileList["+index+"]."+key] = item[key]; + } + }) $.operate.save(prefix + "/add", $.param(obj)); } } @@ -148,6 +156,69 @@ } $("#invite").html(html); } + + function uploadModal(){ + const options = { + title: '培训附件上传', + url: prefix + "/addMeetingFile", + skin: 'layui-layer-blue', + btn: ['保存', '取消'], + width: 750, + height: 520, + maxmin: false, + full: false, + yes: function (index, layero) { + var iframeWin = layero.find('iframe')[0]; + var data = iframeWin.contentWindow.selectFiles(); + fileList.push(data); + $.modal.close(index); + showByFile(); + } + }; + $.modal.openOptions(options); + } + function download(url){ + window.location.href = ctx + "common/download/resource?resource=" + encodeURI(url); + } + function delrow(index){ + fileList.splice(index,1); + showByFile(); + } + //根据文件数据集合进行回显 + function showByFile(){ + var html = ""; + //根据id为filetb的table进行回显 + if (fileList && fileList.length>0){ + fileList.forEach(function (item,index){ + html += ` + + ${item.fileName.substring(item.fileName.lastIndexOf("/") + 1)} + + + + + + + + + + `; + }) + } + $("#filetb").html(html); + } + // 绑定下载事件 + // 使用事件委托绑定下载和删除事件 + document.getElementById('filetb').addEventListener('click', function(event) { + if (event.target.closest('.download-link')) { + const url = event.target.closest('.download-link').getAttribute('data-url'); + download(url); + } else if (event.target.closest('[onclick*="delrow"]')) { + const index = parseInt(event.target.closest('[onclick*="delrow"]').getAttribute('onclick').match(/\d+/)[0]); + delrow(index); + } + }); + \ No newline at end of file diff --git a/rwk-admin/src/main/resources/templates/system/meeting/addMeetingFile.html b/rwk-admin/src/main/resources/templates/system/meeting/addMeetingFile.html new file mode 100644 index 0000000..2f94860 --- /dev/null +++ b/rwk-admin/src/main/resources/templates/system/meeting/addMeetingFile.html @@ -0,0 +1,98 @@ + + + + + + + + + +
+
+
+
+
+ *附件: +
+
+ + +
+
+
+
+ 密级: +
+
+ +
+
+
+
+ 保密期限: +
+
+ +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/rwk-admin/src/main/resources/templates/system/meeting/edit.html b/rwk-admin/src/main/resources/templates/system/meeting/edit.html index 29af0a2..9c69ba3 100644 --- a/rwk-admin/src/main/resources/templates/system/meeting/edit.html +++ b/rwk-admin/src/main/resources/templates/system/meeting/edit.html @@ -43,8 +43,8 @@
- - + +
@@ -53,28 +53,30 @@
- - - - - - - - - - - - - - +
+
厨房零配件维修清单及报价(三月至五月).docx非密 - - -
厨房零配件维修清单及报价(二月).docx机密保密期限:2025-01-14 - - -
+ + + + + + + + + + + + + + + + + + +
+
@@ -95,7 +97,9 @@ \ No newline at end of file diff --git a/rwk-admin/src/main/resources/templates/system/meeting/meeting.html b/rwk-admin/src/main/resources/templates/system/meeting/meeting.html index 11c72e5..e2de9d1 100644 --- a/rwk-admin/src/main/resources/templates/system/meeting/meeting.html +++ b/rwk-admin/src/main/resources/templates/system/meeting/meeting.html @@ -77,18 +77,28 @@ title: '培训标题' }, { - field: 'rwkMeetingStaffList', + field: 'signCount', title: '参与人数/受邀人数', - formatter: function(value, row, index) { - var str = "0/0"; - if (value && value.length > 0){ - var totalInvited = value.length; // 受邀人员总数 - //提取已签到数量的数 不使用filter方法 - // var signedInCount = value.filter(person => person.isSign === 1).length; // 签到人数 - // str = signedInCount+"/"+totalInvited; - } - return str; - } + // formatter: function(value, row, index) { + // console.log("rwkMeetingStaffList:", value); // 添加调试信息 + // console.log("Type of rwkMeetingStaffList:", typeof value); // 添加调试信息 + // let str = "0/0"; + // if (value && Array.isArray(value)) { // 确保 value 是一个数组 + // const totalInvited = value.length; // 受邀人员总数 + // // 提取已签到数量的数 不使用filter方法 + // let totalAttend = 0; + // for (let i = 0; i < totalInvited; i++) { + // console.log(i + ":", value[i]); + // if (value[i].isSign === 1) { + // totalAttend++; + // } + // } + // str = totalAttend + "/" + totalInvited; + // } else { + // console.error("rwkMeetingStaffList is not an array:", value); // 添加错误信息 + // } + // return str; + // } }, { field: 'meetingDate', diff --git a/rwk-admin/src/main/resources/templates/system/meeting/meetingView.html b/rwk-admin/src/main/resources/templates/system/meeting/meetingView.html index ef56f3d..8245c2f 100644 --- a/rwk-admin/src/main/resources/templates/system/meeting/meetingView.html +++ b/rwk-admin/src/main/resources/templates/system/meeting/meetingView.html @@ -42,6 +42,7 @@
+
@@ -54,24 +55,15 @@
姓名手机号测试
+
- - - - - - - - - - +
+
厨房零配件维修清单及报价(三月至五月).docx - -
厨房零配件维修清单及报价(二月).docx - -
+
+
@@ -84,12 +76,14 @@ \ No newline at end of file diff --git a/rwk-system/src/main/java/com/rwk/system/domain/RwkMeeting.java b/rwk-system/src/main/java/com/rwk/system/domain/RwkMeeting.java index 05ab6c4..54169ad 100644 --- a/rwk-system/src/main/java/com/rwk/system/domain/RwkMeeting.java +++ b/rwk-system/src/main/java/com/rwk/system/domain/RwkMeeting.java @@ -38,10 +38,16 @@ public class RwkMeeting extends BaseEntity /** 培训人员签到信息 */ private List rwkMeetingStaffList; + /** 培训相关附件 */ + private List rwkMeetingFileList; + private String startDate; private String endDate; + /** 培训人员已签到人数及全部应签到人数*/ + private String signCount; + public void setId(Long id) { this.id = id; @@ -118,6 +124,22 @@ public class RwkMeeting extends BaseEntity this.endDate = endDate; } + public List getRwkMeetingFileList() { + return rwkMeetingFileList; + } + + public void setRwkMeetingFileList(List rwkMeetingFileList) { + this.rwkMeetingFileList = rwkMeetingFileList; + } + + public String getSignCount() { + return signCount; + } + + public void setSignCount(String signCount) { + this.signCount = signCount; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -129,6 +151,7 @@ public class RwkMeeting extends BaseEntity .append("createTime", getCreateTime()) .append("createBy", getCreateBy()) .append("rwkMeetingStaffList", getRwkMeetingStaffList()) + .append("rwkMeetingFileList", getRwkMeetingFileList()) .append("startDate", getStartDate()) .append("endDate", getEndDate()) .toString(); diff --git a/rwk-system/src/main/java/com/rwk/system/domain/RwkMeetingFile.java b/rwk-system/src/main/java/com/rwk/system/domain/RwkMeetingFile.java new file mode 100644 index 0000000..d4e9a4e --- /dev/null +++ b/rwk-system/src/main/java/com/rwk/system/domain/RwkMeetingFile.java @@ -0,0 +1,97 @@ +package com.rwk.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.rwk.common.annotation.Excel; +import com.rwk.common.core.domain.BaseEntity; + +/** + * 【请填写功能名称】对象 rwk_meeting_file + * + * @author ruoyi + * @date 2024-12-21 + */ +public class RwkMeetingFile extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 附件名称 */ + @Excel(name = "附件名称") + private String fileName; + + /** 密级 */ + @Excel(name = "密级") + private String secret; + + /** 保密期限 */ + @Excel(name = "保密期限") + private String secretDate; + + /** 教育培训ID */ + @Excel(name = "教育培训ID") + private Long meetingId; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setFileName(String fileName) + { + this.fileName = fileName; + } + + public String getFileName() + { + return fileName; + } + + public void setSecret(String secret) + { + this.secret = secret; + } + + public String getSecret() + { + return secret; + } + + public void setSecretDate(String secretDate) + { + this.secretDate = secretDate; + } + + public String getSecretDate() + { + return secretDate; + } + + public void setMeetingId(Long meetingId) + { + this.meetingId = meetingId; + } + + public Long getMeetingId() + { + return meetingId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("fileName", getFileName()) + .append("secret", getSecret()) + .append("secretDate", getSecretDate()) + .append("meetingId", getMeetingId()) + .toString(); + } +} diff --git a/rwk-system/src/main/java/com/rwk/system/mapper/RwkMeetingFileMapper.java b/rwk-system/src/main/java/com/rwk/system/mapper/RwkMeetingFileMapper.java new file mode 100644 index 0000000..88618a6 --- /dev/null +++ b/rwk-system/src/main/java/com/rwk/system/mapper/RwkMeetingFileMapper.java @@ -0,0 +1,64 @@ +package com.rwk.system.mapper; + +import java.util.List; +import com.rwk.system.domain.RwkMeetingFile; +import com.rwk.system.domain.RwkMeetingStaff; + +/** + * 【教育培训附件】Mapper接口 + * + * @author ruoyi + * @date 2024-12-21 + */ +public interface RwkMeetingFileMapper +{ + /** + * 查询【教育培训附件】 + * + * @param id 【教育培训附件】主键 + * @return 【教育培训附件】 + */ + public RwkMeetingFile selectRwkMeetingFileById(Long id); + + /** + * 查询【教育培训附件】列表 + * + * @param rwkMeetingFile 【教育培训附件】 + * @return 【教育培训附件】集合 + */ + public List selectRwkMeetingFileList(RwkMeetingFile rwkMeetingFile); + + /** + * 新增【教育培训附件】 + * + * @param rwkMeetingFile 【教育培训附件】 + * @return 结果 + */ + public int insertRwkMeetingFile(RwkMeetingFile rwkMeetingFile); + + /** + * 修改【教育培训附件】 + * + * @param rwkMeetingFile 【教育培训附件】 + * @return 结果 + */ + public int updateRwkMeetingFile(RwkMeetingFile rwkMeetingFile); + + /** + * 删除【教育培训附件】 + * + * @param id 【教育培训附件】主键 + * @return 结果 + */ + public int deleteRwkMeetingFileById(Long id); + + /** + * 批量删除【教育培训附件】 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteRwkMeetingFileByIds(String[] ids); + + +} diff --git a/rwk-system/src/main/java/com/rwk/system/mapper/RwkMeetingMapper.java b/rwk-system/src/main/java/com/rwk/system/mapper/RwkMeetingMapper.java index b018e6f..09a4300 100644 --- a/rwk-system/src/main/java/com/rwk/system/mapper/RwkMeetingMapper.java +++ b/rwk-system/src/main/java/com/rwk/system/mapper/RwkMeetingMapper.java @@ -2,6 +2,7 @@ package com.rwk.system.mapper; import java.util.List; import com.rwk.system.domain.RwkMeeting; +import com.rwk.system.domain.RwkMeetingFile; import com.rwk.system.domain.RwkMeetingStaff; /** @@ -67,6 +68,14 @@ public interface RwkMeetingMapper * @return 结果 */ public int deleteRwkMeetingStaffByMeetingIds(String[] ids); + + /** + * 批量删除培训附件 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteRwkMeetingFileByMeetingIds(String[] ids); /** * 批量新增培训人员签到 @@ -75,6 +84,14 @@ public interface RwkMeetingMapper * @return 结果 */ public int batchRwkMeetingStaff(List rwkMeetingStaffList); + + /** + * 批量新增培训附件 + * + * @param rwkMeetingFileList 培训附件列表 + * @return 结果 + */ + public int batchRwkMeetingFile(List rwkMeetingFileList); /** @@ -84,4 +101,12 @@ public interface RwkMeetingMapper * @return 结果 */ public int deleteRwkMeetingStaffByMeetingId(Long id); + + /** + * 通过教育培训主键删除培训附件信息 + * + * @param id 教育培训ID + * @return 结果 + */ + public int deleteRwkMeetingFileByMeetingId(Long id); } diff --git a/rwk-system/src/main/java/com/rwk/system/service/IRwkMeetingFileService.java b/rwk-system/src/main/java/com/rwk/system/service/IRwkMeetingFileService.java new file mode 100644 index 0000000..0a472f5 --- /dev/null +++ b/rwk-system/src/main/java/com/rwk/system/service/IRwkMeetingFileService.java @@ -0,0 +1,61 @@ +package com.rwk.system.service; + +import java.util.List; +import com.rwk.system.domain.RwkMeetingFile; + +/** + * 【教育培训附件】Service接口 + * + * @author ruoyi + * @date 2024-12-21 + */ +public interface IRwkMeetingFileService +{ + /** + * 查询【教育培训附件】 + * + * @param id 【教育培训附件】主键 + * @return 【教育培训附件】 + */ + public RwkMeetingFile selectRwkMeetingFileById(Long id); + + /** + * 查询【教育培训附件】列表 + * + * @param rwkMeetingFile 【教育培训附件】 + * @return 【教育培训附件】集合 + */ + public List selectRwkMeetingFileList(RwkMeetingFile rwkMeetingFile); + + /** + * 新增【教育培训附件】 + * + * @param rwkMeetingFile 【教育培训附件】 + * @return 结果 + */ + public int insertRwkMeetingFile(RwkMeetingFile rwkMeetingFile); + + /** + * 修改【教育培训附件】 + * + * @param rwkMeetingFile 【教育培训附件】 + * @return 结果 + */ + public int updateRwkMeetingFile(RwkMeetingFile rwkMeetingFile); + + /** + * 批量删除【教育培训附件】 + * + * @param ids 需要删除的【教育培训附件】主键集合 + * @return 结果 + */ + public int deleteRwkMeetingFileByIds(String ids); + + /** + * 删除【教育培训附件】信息 + * + * @param id 【教育培训附件】主键 + * @return 结果 + */ + public int deleteRwkMeetingFileById(Long id); +} diff --git a/rwk-system/src/main/java/com/rwk/system/service/impl/RwkMeetingFileServiceImpl.java b/rwk-system/src/main/java/com/rwk/system/service/impl/RwkMeetingFileServiceImpl.java new file mode 100644 index 0000000..16f0a53 --- /dev/null +++ b/rwk-system/src/main/java/com/rwk/system/service/impl/RwkMeetingFileServiceImpl.java @@ -0,0 +1,94 @@ +package com.rwk.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.rwk.system.mapper.RwkMeetingFileMapper; +import com.rwk.system.domain.RwkMeetingFile; +import com.rwk.system.service.IRwkMeetingFileService; +import com.rwk.common.core.text.Convert; + +/** + * 【教育培训附件】Service业务层处理 + * + * @author ruoyi + * @date 2024-12-21 + */ +@Service +public class RwkMeetingFileServiceImpl implements IRwkMeetingFileService +{ + @Autowired + private RwkMeetingFileMapper rwkMeetingFileMapper; + + /** + * 查询【教育培训附件】 + * + * @param id 【教育培训附件】主键 + * @return 【教育培训附件】 + */ + @Override + public RwkMeetingFile selectRwkMeetingFileById(Long id) + { + return rwkMeetingFileMapper.selectRwkMeetingFileById(id); + } + + /** + * 查询【教育培训附件】列表 + * + * @param rwkMeetingFile 【教育培训附件】 + * @return 【教育培训附件】 + */ + @Override + public List selectRwkMeetingFileList(RwkMeetingFile rwkMeetingFile) + { + return rwkMeetingFileMapper.selectRwkMeetingFileList(rwkMeetingFile); + } + + /** + * 新增【教育培训附件】 + * + * @param rwkMeetingFile 【教育培训附件】 + * @return 结果 + */ + @Override + public int insertRwkMeetingFile(RwkMeetingFile rwkMeetingFile) + { + return rwkMeetingFileMapper.insertRwkMeetingFile(rwkMeetingFile); + } + + /** + * 修改【教育培训附件】 + * + * @param rwkMeetingFile 【教育培训附件】 + * @return 结果 + */ + @Override + public int updateRwkMeetingFile(RwkMeetingFile rwkMeetingFile) + { + return rwkMeetingFileMapper.updateRwkMeetingFile(rwkMeetingFile); + } + + /** + * 批量删除【教育培训附件】 + * + * @param ids 需要删除的【教育培训附件】主键 + * @return 结果 + */ + @Override + public int deleteRwkMeetingFileByIds(String ids) + { + return rwkMeetingFileMapper.deleteRwkMeetingFileByIds(Convert.toStrArray(ids)); + } + + /** + * 删除【教育培训附件】信息 + * + * @param id 【教育培训附件】主键 + * @return 结果 + */ + @Override + public int deleteRwkMeetingFileById(Long id) + { + return rwkMeetingFileMapper.deleteRwkMeetingFileById(id); + } +} diff --git a/rwk-system/src/main/java/com/rwk/system/service/impl/RwkMeetingServiceImpl.java b/rwk-system/src/main/java/com/rwk/system/service/impl/RwkMeetingServiceImpl.java index 4c8b4de..f511076 100644 --- a/rwk-system/src/main/java/com/rwk/system/service/impl/RwkMeetingServiceImpl.java +++ b/rwk-system/src/main/java/com/rwk/system/service/impl/RwkMeetingServiceImpl.java @@ -1,6 +1,8 @@ package com.rwk.system.service.impl; import java.util.List; + +import com.rwk.system.domain.RwkMeetingFile; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -60,6 +62,7 @@ public class RwkMeetingServiceImpl implements IRwkMeetingService { int rows = rwkMeetingMapper.insertRwkMeeting(rwkMeeting); insertRwkMeetingStaff(rwkMeeting); + insertRwkMeetingFile(rwkMeeting); return rows; } @@ -74,7 +77,9 @@ public class RwkMeetingServiceImpl implements IRwkMeetingService public int updateRwkMeeting(RwkMeeting rwkMeeting) { rwkMeetingMapper.deleteRwkMeetingStaffByMeetingId(rwkMeeting.getId()); + rwkMeetingMapper.deleteRwkMeetingFileByMeetingId(rwkMeeting.getId()); insertRwkMeetingStaff(rwkMeeting); + insertRwkMeetingFile(rwkMeeting); return rwkMeetingMapper.updateRwkMeeting(rwkMeeting); } @@ -89,6 +94,7 @@ public class RwkMeetingServiceImpl implements IRwkMeetingService public int deleteRwkMeetingByIds(String ids) { rwkMeetingMapper.deleteRwkMeetingStaffByMeetingIds(Convert.toStrArray(ids)); + rwkMeetingMapper.deleteRwkMeetingFileByMeetingIds(Convert.toStrArray(ids)); return rwkMeetingMapper.deleteRwkMeetingByIds(Convert.toStrArray(ids)); } @@ -103,6 +109,7 @@ public class RwkMeetingServiceImpl implements IRwkMeetingService public int deleteRwkMeetingById(Long id) { rwkMeetingMapper.deleteRwkMeetingStaffByMeetingId(id); + rwkMeetingMapper.deleteRwkMeetingFileByMeetingId(id); return rwkMeetingMapper.deleteRwkMeetingById(id); } @@ -126,4 +133,18 @@ public class RwkMeetingServiceImpl implements IRwkMeetingService } } } + public void insertRwkMeetingFile(RwkMeeting rwkMeeting){ + List rwkMeetingFileList = rwkMeeting.getRwkMeetingFileList(); + Long id = rwkMeeting.getId(); + if (StringUtils.isNotNull(rwkMeetingFileList)) { + List list = new ArrayList<>(); + for (RwkMeetingFile rwkMeetingFile : rwkMeetingFileList) { + rwkMeetingFile.setMeetingId(id); + list.add(rwkMeetingFile); + } + if (!list.isEmpty()) { + rwkMeetingMapper.batchRwkMeetingFile(list); + } + } + } } diff --git a/rwk-system/src/main/resources/mapper/system/RwkMeetingFileMapper.xml b/rwk-system/src/main/resources/mapper/system/RwkMeetingFileMapper.xml new file mode 100644 index 0000000..0919eb0 --- /dev/null +++ b/rwk-system/src/main/resources/mapper/system/RwkMeetingFileMapper.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + select id, file_name, secret, secret_date, meeting_id from rwk_meeting_file + + + + + + + + insert into rwk_meeting_file + + id, + file_name, + secret, + secret_date, + meeting_id, + + + #{id}, + #{fileName}, + #{secret}, + #{secretDate}, + #{meetingId}, + + + + + update rwk_meeting_file + + file_name = #{fileName}, + secret = #{secret}, + secret_date = #{secretDate}, + meeting_id = #{meetingId}, + + where id = #{id} + + + + delete from rwk_meeting_file where id = #{id} + + + + delete from rwk_meeting_file where id in + + #{id} + + + + \ No newline at end of file diff --git a/rwk-system/src/main/resources/mapper/system/RwkMeetingMapper.xml b/rwk-system/src/main/resources/mapper/system/RwkMeetingMapper.xml index cd205f5..ab65ad4 100644 --- a/rwk-system/src/main/resources/mapper/system/RwkMeetingMapper.xml +++ b/rwk-system/src/main/resources/mapper/system/RwkMeetingMapper.xml @@ -13,12 +13,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + @@ -28,6 +34,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + select id, meeting_name, meeting_content, meeting_date, meeting_by_company, create_time, create_by from rwk_meeting @@ -56,6 +70,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where meeting_id = #{meeting_id} + + insert into rwk_meeting @@ -108,11 +128,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{meetingId} + + delete from rwk_meeting_file where meeting_id in + + #{meetingId} + + delete from rwk_meeting_staff where meeting_id = #{meetingId} + + delete from rwk_meeting_file where meeting_id = #{meetingId} + + insert into rwk_meeting_staff( meeting_id, personnel_name, is_sign, personnel_id, mobile_phone) values @@ -120,4 +150,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + insert into rwk_meeting_file( file_name, secret, secret_date,meeting_id) values + + ( #{item.fileName}, #{item.secret}, #{item.secretDate},#{item.meetingId}) + + + \ No newline at end of file