From 35710a7742537fda9cc6dc17343c8b9786d613f2 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Mon, 7 Apr 2025 09:11:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SynthesisQueryController.java | 7 ++ .../backstage/dao/SynthesisQueryDao.java | 25 ++++-- .../entity/ProClassifyStatisticDetailVo.java | 87 +++++++++++++++++++ .../service/SynthesisQueryService.java | 9 ++ .../impl/SynthesisQueryServiceImpl.java | 56 ++++++++++++ .../backstage/SynthesisQueryMapper.xml | 61 ++++++++++++- .../proClassifyStatisticsDetail.js | 70 +++++++-------- 7 files changed, 274 insertions(+), 41 deletions(-) create mode 100644 src/main/java/com/bonus/imgTool/backstage/entity/ProClassifyStatisticDetailVo.java diff --git a/src/main/java/com/bonus/imgTool/backstage/controller/SynthesisQueryController.java b/src/main/java/com/bonus/imgTool/backstage/controller/SynthesisQueryController.java index 4fc889d..48e099d 100644 --- a/src/main/java/com/bonus/imgTool/backstage/controller/SynthesisQueryController.java +++ b/src/main/java/com/bonus/imgTool/backstage/controller/SynthesisQueryController.java @@ -98,4 +98,11 @@ public class SynthesisQueryController { return synthesisQueryService.getProImgList(data.getData()); } + @PostMapping(value = "getListData") + @ApiOperation("项目分类统计-查看列表数据") + @DecryptAndVerify(decryptedClass = QueryParamDto.class) + public ServerResponse getListData(EncryptedReq data) { + return synthesisQueryService.getListData(data.getData()); + } + } diff --git a/src/main/java/com/bonus/imgTool/backstage/dao/SynthesisQueryDao.java b/src/main/java/com/bonus/imgTool/backstage/dao/SynthesisQueryDao.java index 3e67d59..09ceb3d 100644 --- a/src/main/java/com/bonus/imgTool/backstage/dao/SynthesisQueryDao.java +++ b/src/main/java/com/bonus/imgTool/backstage/dao/SynthesisQueryDao.java @@ -1,10 +1,7 @@ package com.bonus.imgTool.backstage.dao; -import com.bonus.imgTool.backstage.entity.ComprehensiveQueryVo; -import com.bonus.imgTool.backstage.entity.QueryParamDto; -import com.bonus.imgTool.backstage.entity.SynthesisNumVo; -import com.bonus.imgTool.backstage.entity.SynthesisQueryVo; -import com.bonus.imgTool.backstage.entity.ProClassifyStatisticsVo; +import com.bonus.imgTool.backstage.entity.*; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -87,4 +84,22 @@ public interface SynthesisQueryDao { * @date 2025/4/3 16:28 */ List getProImgList(QueryParamDto dto); + + /** + * 项目分类统计-查看列表 + * @param dto + * @return List + * @author cwchen + * @date 2025/4/6 18:08 + */ + List getListData(QueryParamDto dto); + + /** + * 获取图片 + * @param detailVo + * @return List + * @author cwchen + * @date 2025/4/6 18:35 + */ + List getImgs(@Param("params") ProClassifyStatisticDetailVo detailVo, @Param("type") int type); } diff --git a/src/main/java/com/bonus/imgTool/backstage/entity/ProClassifyStatisticDetailVo.java b/src/main/java/com/bonus/imgTool/backstage/entity/ProClassifyStatisticDetailVo.java new file mode 100644 index 0000000..9254acd --- /dev/null +++ b/src/main/java/com/bonus/imgTool/backstage/entity/ProClassifyStatisticDetailVo.java @@ -0,0 +1,87 @@ +package com.bonus.imgTool.backstage.entity; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @className:ProClassifyStatisticDetailVo + * @author:cwchen + * @date:2025-04-03-15:31 + * @version:1.0 + * @description:项目分类统计-vo + */ +@Data +public class ProClassifyStatisticDetailVo { + + private Long id; + + /** + * 违章时间/检查时间/时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date vioDate; + + /** + * 违章地点/检查地点/建设地点 + */ + private String vioPlace; + + /** + * 违章描述/检查描述 + */ + private String vioDesc; + /** + * 整改说明 + */ + private String rectDesc; + + /** + * 上传类型:1.安全违章、2.质量检查、3.安全措施落实、4.协调照片、5.重要事项及宣传 + */ + private String uploadType; + + /** + * 上传类型名称 + */ + private String uploadTypeName; + + /** + * 标题 + */ + private String title; + + /** + * 内容 + */ + private String content; + /** + * 建设前描述 + */ + private String buildBeforeDesc; + /** + * 建设中描述 + */ + private String buildUnderDesc; + /** + * 恢复后描述 + */ + private String buildAfterDesc; + + /** + * 整改状态:0.未整改、1.已整改 + */ + private String rectStatus; + + private List photoList; + + private List photoList2; + + private List photoList3; + + private Long userId; + +} diff --git a/src/main/java/com/bonus/imgTool/backstage/service/SynthesisQueryService.java b/src/main/java/com/bonus/imgTool/backstage/service/SynthesisQueryService.java index 59e869a..7b198c3 100644 --- a/src/main/java/com/bonus/imgTool/backstage/service/SynthesisQueryService.java +++ b/src/main/java/com/bonus/imgTool/backstage/service/SynthesisQueryService.java @@ -91,4 +91,13 @@ public interface SynthesisQueryService { * @date 2025/4/3 16:27 */ ServerResponse getProImgList(QueryParamDto data); + + /** + * 项目分类统计-查看列表 + * @param data + * @return ServerResponse + * @author cwchen + * @date 2025/4/3 16:27 + */ + ServerResponse getListData(QueryParamDto data); } diff --git a/src/main/java/com/bonus/imgTool/backstage/service/impl/SynthesisQueryServiceImpl.java b/src/main/java/com/bonus/imgTool/backstage/service/impl/SynthesisQueryServiceImpl.java index f5e26a9..c17a11f 100644 --- a/src/main/java/com/bonus/imgTool/backstage/service/impl/SynthesisQueryServiceImpl.java +++ b/src/main/java/com/bonus/imgTool/backstage/service/impl/SynthesisQueryServiceImpl.java @@ -211,4 +211,60 @@ public class SynthesisQueryServiceImpl implements SynthesisQueryService { return ServerResponse.createErroe("查询失败"); } } + + @Override + public ServerResponse getListData(QueryParamDto dto) { + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + try { + Long userId = Optional.ofNullable(UserUtil.getLoginUser()).map(LoginUser::getId).orElse(0L); + dto.setUserId(userId); + List list = Optional.ofNullable(synthesisQueryDao.getListData(dto)).orElseGet(ArrayList::new); + PageHelper.clearPage(); + list.forEach(item->{ + item.setUserId(userId); + ProClassifyStatisticDetailVo detailVo = setDataList(item); + item.setPhotoList(detailVo.getPhotoList()); + item.setPhotoList2(detailVo.getPhotoList2()); + item.setPhotoList3(detailVo.getPhotoList3()); + }); + PageInfo pageInfo = new PageInfo<>(list); + return ServerResponse.createSuccess(pageInfo); + } catch (Exception e) { + log.error(e.toString(), e); + return ServerResponse.createErroe("查询失败"); + } + + } + + /** + * 查询图片上传类型:1.安全违章、2.质量检查、3.安全措施落实、4.协调照片、5.重要事项及宣传 + * @param detailVo + * @return ProClassifyStatisticDetailVo + * @author cwchen + * @date 2025/4/6 18:44 + */ + public ProClassifyStatisticDetailVo setDataList(ProClassifyStatisticDetailVo detailVo){ + try { + switch (detailVo.getUploadType()){ + case "1": + detailVo.setPhotoList(Optional.ofNullable(synthesisQueryDao.getImgs(detailVo,1)).orElseGet(ArrayList::new)); + detailVo.setPhotoList2(Optional.ofNullable(synthesisQueryDao.getImgs(detailVo,2)).orElseGet(ArrayList::new)); + break; + case "2": + detailVo.setPhotoList(Optional.ofNullable(synthesisQueryDao.getImgs(detailVo,3)).orElseGet(ArrayList::new)); + detailVo.setPhotoList2(Optional.ofNullable(synthesisQueryDao.getImgs(detailVo,4)).orElseGet(ArrayList::new)); + case "3": + detailVo.setPhotoList(Optional.ofNullable(synthesisQueryDao.getImgs(detailVo,5)).orElseGet(ArrayList::new)); + case "4": + detailVo.setPhotoList(Optional.ofNullable(synthesisQueryDao.getImgs(detailVo,6)).orElseGet(ArrayList::new)); + detailVo.setPhotoList(Optional.ofNullable(synthesisQueryDao.getImgs(detailVo,7)).orElseGet(ArrayList::new)); + detailVo.setPhotoList(Optional.ofNullable(synthesisQueryDao.getImgs(detailVo,8)).orElseGet(ArrayList::new)); + case "5": + detailVo.setPhotoList(Optional.ofNullable(synthesisQueryDao.getImgs(detailVo,9)).orElseGet(ArrayList::new)); + } + } catch (Exception e) { + log.error(e.toString(),e); + } + return detailVo; + } } diff --git a/src/main/resources/mappers/backstage/SynthesisQueryMapper.xml b/src/main/resources/mappers/backstage/SynthesisQueryMapper.xml index ad1f98c..0d2b3d4 100644 --- a/src/main/resources/mappers/backstage/SynthesisQueryMapper.xml +++ b/src/main/resources/mappers/backstage/SynthesisQueryMapper.xml @@ -134,7 +134,7 @@ - + AND tcq.upload_type = #{uploadType} @@ -281,13 +281,70 @@ AND tcq.pro_id = #{id} - + AND tcq.upload_type = #{uploadType} AND tcq.is_active = '1' ORDER BY sfr.create_time DESC + + + + diff --git a/src/main/resources/static/js/synthesisQuery/proClassifyStatisticsDetail.js b/src/main/resources/static/js/synthesisQuery/proClassifyStatisticsDetail.js index db641c1..e5cf53a 100644 --- a/src/main/resources/static/js/synthesisQuery/proClassifyStatisticsDetail.js +++ b/src/main/resources/static/js/synthesisQuery/proClassifyStatisticsDetail.js @@ -67,13 +67,11 @@ function dataFlow(queryParams) { function loadData(queryParams) { let returnData = null; let url = null; - let obj = {} + let obj = queryParams; if (queryType === 2) { // 图片 url = dataUrl + "/backstage/synthesisQuery/getImgList"; - obj = queryParams; } else { // 列表 - url = dataUrl + "/backstage/synthesisQuery/getImgList"; - obj = queryParams; + url = dataUrl + "/backstage/synthesisQuery/getListData"; } let params = { encryptedData: encryptCBC(JSON.stringify(obj)) @@ -154,21 +152,24 @@ function initImgData(list) { /**1.图片 2.列表*/ function changeType(that, type) { + let queryParams = { + pageNum: pageNum, + pageSize: pageSize, + queryType: queryType, + id:objParams.proId + } if (type === 2) { $(that).attr('src', '../../img/synthesisQuery/photo_check.png'); $(that).next().attr('src', '../../img/synthesisQuery/list.png'); } else { $(that).attr('src', '../../img/synthesisQuery/list_check.png'); $(that).prev().attr('src', '../../img/synthesisQuery/photo.png'); + queryParams.pageNum = pageNum2; + queryParams.pageSize = pageSize2; } queryType = type; resetData(); - searchData({ - pageNum: pageNum, - pageSize: pageSize, - queryType: queryType, - id:objParams.proId - }); + searchData(queryParams); } /**渲染列表图片*/ function initListData(list) { @@ -177,7 +178,7 @@ function initListData(list) { $.each(list, function (index, item) { let html = "
" + "
" + - "

" + item.uploadTime + "

" + + "

" + item.vioDate + "

" + "

" + item.uploadTypeName + "

" + "
" + setBasicInfo(item) + @@ -194,85 +195,86 @@ function initListData(list) { if (item.uploadType === '1') { // 安全违章 html += "
" + "

违章地点:

" + - "

" + item.id + "

" + + "

" + item.vioPlace + "

" + "
" + "
" + "

违章描述:

" + - "

施工人员未正确佩戴安全帽,存在安全隐患

" + + "

"+item.vioDesc+"

" + "
" + "
" + - setImgData() + + setImgData(item,item.photoList) + "
" + setRectData(item); } else if (item.uploadType === '2') { // 质量检测 html += "
" + "

检查地点

" + - "

工地 A 区施工现场 3 号楼

" + + "

"+item.vioPlace+"

" + "
" + "
" + "

检查描述:

" + - "

施工人员未正确佩戴安全帽,存在安全隐患

" + + "

"+item.vioDesc+"

" + "
" + "
" + - setImgData() + + setImgData(item,item.photoList) + "
" + setRectData(item); } else if (item.uploadType === '3') { // 安全措施落实 html += "
" + "

检查地点

" + - "

工地 A 区施工现场 3 号楼

" + + "

"+item.vioPlace+"

" + "
" + "
" + "

检查描述:

" + - "

施工人员未正确佩戴安全帽,存在安全隐患

" + + "

"+item.vioDesc+"

" + "
" + "
" + - setImgData() + + setImgData(item,item.photoList) + "
"; } else if (item.uploadType === '4') { // 协调照片 html += "
" + "

建设前描述

" + - "

工地 A 区施工现场 3 号楼

" + + "

"+item.buildBeforeDesc+"

" + "
" + "
" + - setImgData() + + setImgData(item,item.photoList) + "
" + "
" + "

建设中描述:

" + - "

施工人员未正确佩戴安全帽,存在安全隐患

" + + "

"+item.buildUnderDesc+"

" + "
" + "
" + - setImgData() + + setImgData(item,item.photoList2) + "
" + "
" + "

恢复后描述:

" + - "

施工人员未正确佩戴安全帽,存在安全隐患

" + + "

"+item.buildAfterDesc+"

" + "
" + "
" + - setImgData() + + setImgData(item,item.photoList3) + "
"; } else if (item.uploadType === '5') { // 重要事项及宣传类 html += "
" + "

标题

" + - "

工地 A 区施工现场 3 号楼

" + + "

"+item.title+"

" + "
" + "
" + "

内容:

" + - "

施工人员未正确佩戴安全帽,存在安全隐患

" + + "

"+item.content+"

" + "
" + "
" + - setImgData() + + setImgData(item,item.photoList) + "
"; } return html; - function setImgData() { - let list = [{compressFilePath: '../../img/synthesisQuery/7.jpg'}, {compressFilePath: '../../img/synthesisQuery/7.jpg'}, {compressFilePath: '../../img/synthesisQuery/7.jpg'}, {compressFilePath: '../../img/synthesisQuery/7.jpg'}, {compressFilePath: '../../img/synthesisQuery/7.jpg'}, {compressFilePath: '../../img/synthesisQuery/7.jpg'}]; + function setImgData(obj,list) { let cent = ''; $.each(list, function (index, item) { + item.proName = obj.proName; + let filePath = imgUrl + item.compressFilePath + "?token=" + tokens cent += "
" + - "" + + "" + "
" + "
" + "
" + @@ -290,10 +292,10 @@ function initListData(list) { if (item.rectStatus === '1') { // 已整改 cent2 += "
" + "

整改说明:

" + - "

施工人员已进行安全教育

" + + "

"+item.rectDesc+"

" + "
" + "
" + - setImgData() + + setImgData(item,item.photoList2) + "
"; } return cent2;