From a9b4b4a995da762e0d325d85a480c82a5ea0e5f0 Mon Sep 17 00:00:00 2001 From: liwen Date: Tue, 23 Jan 2024 14:45:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=96=87=E4=BB=B6=E5=AF=BC=E5=87=BA=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E6=98=BE=E7=A4=BA=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzims/safeproduct/dto/ConferenceExportDTO.java | 10 +++- .../safeproduct/vo/ConferenceRecordDetailVO.java | 11 ++++ .../controller/ConferenceController.java | 8 +-- .../service/IConferenceRecordService.java | 11 ++++ .../service/impl/ConferencePlanServiceImpl.java | 6 ++- .../service/impl/ConferenceRecordServiceImpl.java | 60 ++++++++++++++++++--- .../main/resources/template/会议记录表.docx | Bin 11789 -> 11834 bytes 7 files changed, 92 insertions(+), 14 deletions(-) diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/ConferenceExportDTO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/ConferenceExportDTO.java index e72d988..b232cc4 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/ConferenceExportDTO.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/ConferenceExportDTO.java @@ -22,11 +22,9 @@ public class ConferenceExportDTO { private String unit; @ApiModelProperty("会议计划开始时间") - @ExcelProperty(value = "会议计划开始时间", index = 1) private Date scheduledStartTime; @ApiModelProperty("会议计划结束时间") - @ExcelProperty(value = "会议计划结束时间", index = 2) private Date scheduledEndTime; @ApiModelProperty("会议主题") @@ -48,4 +46,12 @@ public class ConferenceExportDTO { @ApiModelProperty("会议状态") @ExcelProperty(value = "会议状态", index = 7) private String conferenceStatus; + + @ApiModelProperty("计划开始时间") + @ExcelProperty(value = "计划开始时间", index = 1) + private String startTime; + + @ApiModelProperty("计划结束时间") + @ExcelProperty(value = "计划结束时间", index = 2) + private String endTime; } diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/ConferenceRecordDetailVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/ConferenceRecordDetailVO.java index 515a252..c876c9a 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/ConferenceRecordDetailVO.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/ConferenceRecordDetailVO.java @@ -1,10 +1,12 @@ package com.hnac.hzims.safeproduct.vo; +import cn.afterturn.easypoi.entity.ImageEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; +import java.util.List; /** * @author liwen @@ -52,4 +54,13 @@ public class ConferenceRecordDetailVO { @ApiModelProperty("会议附件") private String filePath; + + @ApiModelProperty("图片列表") + private List images; + + @ApiModelProperty("年份") + private String year; + + @ApiModelProperty("月份") + private String month; } diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/controller/ConferenceController.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/controller/ConferenceController.java index 8b1f328..9856bec 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/controller/ConferenceController.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/controller/ConferenceController.java @@ -2,7 +2,6 @@ package com.hnac.hzims.safeproduct.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import com.hnac.hzims.common.utils.Condition; import com.hnac.hzims.safeproduct.entity.ConferencePlanEntity; import com.hnac.hzims.safeproduct.entity.ConferenceRecordEntity; import com.hnac.hzims.safeproduct.service.IConferencePlanService; @@ -110,13 +109,14 @@ public class ConferenceController extends BladeController { @GetMapping("/recordPage") @ApiImplicitParams({ - @ApiImplicitParam(name = "conferencePlanId", value = "会议计划id", dataType = "query", paramType = "string") + @ApiImplicitParam(name = "conferencePlanId", value = "会议计划id", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "actualStartTime", value = "计划开始时间", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "actualEndTime", value = "计划结束时间", dataType = "query", paramType = "string") }) @ApiOperation(value = "会议记录分页") @ApiOperationSupport(order = 10) public R> recordPage(@ApiIgnore @RequestParam Map param, Query query) { - IPage page = conferenceRecordService.page(Condition.getPage(query), Condition.getQueryWrapper( - param, ConferenceRecordEntity.class).lambda().orderByDesc(ConferenceRecordEntity::getCreateTime)); + IPage page = conferenceRecordService.recordPage(param, query); return R.data(page); } diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/IConferenceRecordService.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/IConferenceRecordService.java index a792243..569623e 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/IConferenceRecordService.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/IConferenceRecordService.java @@ -1,10 +1,13 @@ package com.hnac.hzims.safeproduct.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.hnac.hzims.safeproduct.entity.ConferenceRecordEntity; import com.hnac.hzims.safeproduct.vo.ConferenceRecordDetailVO; +import org.springblade.core.mp.support.Query; import javax.servlet.http.HttpServletResponse; +import java.util.Map; /** * 会议记录服务类 @@ -41,4 +44,12 @@ public interface IConferenceRecordService extends IService recordPage(Map param, Query query); } diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/ConferencePlanServiceImpl.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/ConferencePlanServiceImpl.java index 6a2dcf8..dbfb3cb 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/ConferencePlanServiceImpl.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/ConferencePlanServiceImpl.java @@ -18,6 +18,7 @@ import com.hnac.hzims.safeproduct.service.IConferencePlanService; import com.hnac.hzims.safeproduct.service.IConferenceRecordService; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.utils.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -89,7 +90,7 @@ public class ConferencePlanServiceImpl extends ServiceImpl conferenceList = getConferenceByUnitAndDate(unit, startTime, endTime); - // 处理会议数据信息 + // 数据处理 conferenceList.forEach(conference -> { // 会议方式 String method; @@ -111,6 +112,9 @@ public class ConferencePlanServiceImpl extends ServiceImpl list = new ArrayList<>(); + for (String img : imgArr) { + ImageEntity imageEntity = new ImageEntity(BaseUtil.imgToByte(savePath + + BaseUtil.downloadFileByUrl(img, savePath)), 180, 150); + list.add(imageEntity); + } + conferenceRecordDetailVO.setImages(list); + } Map params = BaseUtil.obj2Map(conferenceRecordDetailVO); String templateFile = "template/会议记录表" + SafeProductConstant.DOCX_SUFFIX; String wordPath = savePath + "/会议记录表" + SafeProductConstant.DOCX_SUFFIX; @@ -110,13 +135,34 @@ public class ConferenceRecordServiceImpl extends ServiceImpl recordPage(Map param, Query query) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + String conferencePlanId = String.valueOf(param.get("conferencePlanId")); + String startTime = String.valueOf(param.get("actualStartTime")); + String endTime = String.valueOf((param.get("actualEndTime"))); + if (!conferencePlanId.equals("null") && !conferencePlanId.equals("")) { + queryWrapper.lambda().eq(ConferenceRecordEntity::getConferencePlanId, conferencePlanId); + } + if (!startTime.equals("null") && !startTime.equals("")) { + queryWrapper.lambda().ge(ConferenceRecordEntity::getActualStartTime, startTime); + } + if (!endTime.equals("null") && !endTime.equals("")) { + queryWrapper.lambda().le(ConferenceRecordEntity::getActualEndTime, endTime); + } + queryWrapper.lambda().orderByDesc(ConferenceRecordEntity::getCreateTime); + return this.page(Condition.getPage(query), queryWrapper); + } + + /** * 查询是否存在同月编号 * @param currentMonth 当月 * @return 存在则返回上一编号,否则返回null */ private String getLastCode(String currentMonth) { - String month = currentMonth.substring(currentMonth.length() - 2); - List list = getConferenceByMonth(month); + List list = getConferenceByMonth(currentMonth); if (CollectionUtils.isEmpty(list)) { return null; } diff --git a/hzims-service/safeproduct/src/main/resources/template/会议记录表.docx b/hzims-service/safeproduct/src/main/resources/template/会议记录表.docx index fd5f3736036aac08b537891967922366f87645b8..e4af627340ce2aa44b920eac3292cf968a53fce5 100644 GIT binary patch delta 4397 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