From 2c783432245859f3ee745e4e9d8cc98dfa7c0865 Mon Sep 17 00:00:00 2001 From: 邱宇豪 <qyh123230312> Date: 星期二, 21 十一月 2023 11:28:46 +0800 Subject: [PATCH] 20231121_qiuyh_调整巡检打卡、防患举报导出 --- hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml | 58 ++++++++++++++++-- hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java | 11 +++ hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionRecordService.java | 4 + hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java | 52 +++++++++++++++-- hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java | 7 + hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java | 10 ++ hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java | 2 7 files changed, 125 insertions(+), 19 deletions(-) diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java index 4792e49..cc10f59 100644 --- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java +++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java @@ -89,7 +89,10 @@ map.put("companyId",sysUserInfo.getCompanyId()); int pageNum = (int) map.get("pageNum"); int pageSize = (int) map.get("pageSize"); - int type = (int) map.get("type");//type =1 小程序来的 + int type = 0; + if( map.get("type")!= null){ + type = (int) map.get("type");//type =1 小程序来的 + } PageHelper.startPage(pageNum,pageSize); List<HiddenDangerEntity> hiddenDangerEntities = new ArrayList<>(); if(type == 1){ @@ -119,7 +122,7 @@ obj.setAuditStatusName("未审核"); break; case 1: - obj.setAuditStatusName("审核通过"); + obj.setAuditStatusName("已审核"); break; case 2: obj.setAuditStatusName("审核失败"); diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java index 5e9f923..9c48252 100644 --- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java +++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java @@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -98,4 +99,14 @@ return regionInspectionRecordService.selectAppList(map); } + /** + * web导出 + * @param map + * @return + */ + @PostMapping("export") + void export(@RequestBody Map map, HttpServletResponse response){ + regionInspectionRecordService.export(map,response); + } + } diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java index c604fda..aa3a6b5 100644 --- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java +++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java @@ -1,5 +1,6 @@ package com.thhy.secure.modules.biz.regionInspection.entity; +import com.thhy.general.annotations.Excel; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -24,12 +25,15 @@ private String userId;//用户id private Integer status;//0未完成 1完成 - private String statusName;//状态名称 0未完成 1完成 + @Excel(sort = 5,title = "巡检状态") + private String statusName;//状态名称 0已完成 1待巡检 private String regionHazardInformId;//区域id + @Excel(sort = 3,title = "巡检路线") private String region;//区域 private String location;//当前位置 + @Excel(sort = 1,title = "巡检时间") private Date inspectionTime;//巡检时间 private String createUser; private Date createTime; @@ -37,13 +41,15 @@ private Date updateTime; private String result;//巡检结果 //下面这些不是本表字段 + @Excel(sort = 4,title = "巡检人") private String realName; + @Excel(sort = 2,title = "任务") private String task;//任务 private String standard;//巡检标准 private String regions; private String regionIds; - private String[] imgPaths; + private String imgPaths; List<RegionInspectionRecordImgEntity> imgList; } diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java index 681d6b9..b9be0e3 100644 --- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java +++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java @@ -26,7 +26,7 @@ void deleteByRegionInspectionId(String regionInspectionId); //任务打卡web端查询列表 或者 判断主任务完成未完成的标准 List<RegionInspectionRecordEntity> selectPageList(Map map); - + Integer selectCount(Map map); //通过任务id查询打卡详情#{regionInspectionId} and b.user_id = #{userId} RegionInspectionEntity selectInfo( @Param("regionInspectionId") String regionInspectionId, diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionRecordService.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionRecordService.java index 0fe4abe..001abb0 100644 --- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionRecordService.java +++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/RegionInspectionRecordService.java @@ -4,6 +4,7 @@ import com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordEntity; import org.apache.ibatis.annotations.Param; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -35,4 +36,7 @@ //小程序打卡列表 BasicResult selectAppList(Map map); + + //web导出 + void export(Map map, HttpServletResponse response); } diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java index dec4ea5..b12d1b6 100644 --- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java +++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java @@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo; import com.thhy.general.common.BasicResult; import com.thhy.general.config.SysUserInfo; +import com.thhy.general.utils.ExcelUtils; import com.thhy.general.utils.UUIDUtils; import com.thhy.general.utils.UserInfoUtils; import com.thhy.secure.modules.biz.regionInspection.entity.*; @@ -15,6 +16,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; @@ -77,7 +79,7 @@ if (!recordEntities.isEmpty()){ recordEntities.forEach(obj->{ String statusName = obj.getStatusName(); - if("完成".equals(statusName)){ + if("已完成".equals(statusName)){ atomicInteger.incrementAndGet(); } }); @@ -109,11 +111,28 @@ String companyId = sysUserInfo.getCompanyId(); int pageNum = (int) map.get("pageNum"); int pageSize = (int) map.get("pageSize"); - PageHelper.startPage(pageNum,pageSize); + String startHour = " 00:00:00"; + String endHour = " 23:59:59"; + String startTime = map.get("startTime").toString(); + String endTime = map.get("endTime").toString(); + if(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)){ + startTime = startTime+startHour; + endTime = endTime +endHour; + map.put("startTime",startTime); + map.put("endTime",endTime); + } + if (StringUtils.isNotBlank(map.get("status").toString())){ + int intStatus = Integer.valueOf(map.get("status").toString()); + map.put("intStatus",intStatus); + } map.put("companyId",companyId); - return BasicResult.success(new PageInfo<>( - regionInspectionRecordMapper.selectPageList(map) - )); + map.put("page",(pageNum-1)*10); + map.put("limit",pageSize); + List<RegionInspectionRecordEntity> recordEntities = regionInspectionRecordMapper.selectPageList(map); + Integer integer = regionInspectionRecordMapper.selectCount(map); + map.put("list",recordEntities); + map.put("total",integer); + return BasicResult.success(map); } @Override @@ -185,5 +204,26 @@ return BasicResult.success(new PageInfo<>(regionInspectionRecordMapper.selectAppList(map))); } - + @Override + public void export(Map map, HttpServletResponse response) { + SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); + String companyId = sysUserInfo.getCompanyId(); + String startHour = " 00:00:00"; + String endHour = " 23:59:59"; + String startTime = map.get("startTime").toString(); + String endTime = map.get("endTime").toString(); + if(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)){ + startTime = startTime+startHour; + endTime = endTime +endHour; + map.put("startTime",startTime); + map.put("endTime",endTime); + } + if (StringUtils.isNotBlank(map.get("status").toString())){ + int intStatus = Integer.valueOf(map.get("status").toString()); + map.put("intStatus",intStatus); + } + map.put("companyId",companyId); + List<RegionInspectionRecordEntity> recordEntities = regionInspectionRecordMapper.selectPageList(map); + ExcelUtils.downExcel(recordEntities,RegionInspectionRecordEntity.class,response,"打卡导出"); + } } diff --git a/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml index 988783d..0bae3bf 100644 --- a/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml +++ b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml @@ -165,7 +165,7 @@ a.task, a.region, a.realName, - IF(a.completeRegionNum = a.needRegionNum,"完成","未完成") statusName, + IF(a.completeRegionNum = a.needRegionNum,"已完成","待巡检") statusName, IF(a.completeRegionNum = a.needRegionNum,1,0) status FROM ( SELECT @@ -193,21 +193,63 @@ <if test="regionInspectionId !=null and regionInspectionId !=''"> and t.regionInspectionId = #{regionInspectionId} </if> + <if test="startTime != null and endTime != null and startTime !='' and endTime != ''"> + and t.inspectionTime BETWEEN str_to_date(#{startTime}, "%Y-%m-%d %H:%i:%s") and str_to_date(#{endTime}, "%Y-%m-%d %H:%i:%s") + </if> GROUP BY t.regionInspectionId,t.userId )a - WHERE 1=1 - <if test="status !=null and status !='' and status ==0"> + <if test="intStatus!=null and intStatus ==0"> and a.completeRegionNum != a.needRegionNum </if> - <if test="status !=null and status !='' and status ==1"> + <if test="intStatus!=null and intStatus ==1"> and a.completeRegionNum = a.needRegionNum </if> - <if test="startTime != null and endTime != null and startTime !='' and endTime != ''"> - and a.inspectionTime BETWEEN #{startTime} and #{endTime} + <if test="page != null and limit != null"> + limit #{page},#{limit} </if> </select> - + <select id="selectCount" resultType="java.lang.Integer"> + SELECT count(0) + FROM ( + SELECT + t.userId , + t.regionInspectionId, + MIN(t.inspectionTime) inspectionTime, + tri.task task, + GROUP_CONCAT(DISTINCT trhi.region) region, + spu.real_name realName, + SUM(t.`status`)/(SELECT count(regionInspectionId) FROM t_region_inspection_hazard_inform WHERE regionInspectionId = t.regionInspectionId) completeRegionNum, + (SELECT count(regionInspectionId) FROM t_region_inspection_hazard_inform WHERE regionInspectionId = t.regionInspectionId) needRegionNum + from + t_region_inspection_record t + LEFT JOIN t_region_inspection tri on tri.id = t.regionInspectionId + LEFT JOIN t_region_inspection_hazard_inform trihi on trihi.regionInspectionId = t.regionInspectionId + LEFT JOIN t_region_hazard_inform trhi on trhi.id = trihi.regionHazardInformId + LEFT JOIN sys_plat_user spu on spu.user_id = t.userId + WHERE 1=1 + <if test="realName !=null and realName !=''"> + and spu.real_name REGEXP #{realName} + </if> + <if test="companyId !=null and companyId !=''"> + and tri.companyId = #{companyId} + </if> + <if test="regionInspectionId !=null and regionInspectionId !=''"> + and t.regionInspectionId = #{regionInspectionId} + </if> + <if test="startTime != null and endTime != null and startTime !='' and endTime != ''"> + and t.inspectionTime BETWEEN str_to_date(#{startTime}, "%Y-%m-%d %H:%i:%s") and str_to_date(#{endTime}, "%Y-%m-%d %H:%i:%s") + </if> + GROUP BY t.regionInspectionId,t.userId + )a + WHERE 1=1 + <if test="intStatus!=null and intStatus ==0"> + and a.completeRegionNum != a.needRegionNum + </if> + <if test="intStatus!=null and intStatus ==1"> + and a.completeRegionNum = a.needRegionNum + </if> + </select> <select id="selectInfo" resultType="com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionEntity"> SELECT t.id regionInspectionId, @@ -263,7 +305,7 @@ and a.status = #{status} </if> <if test="startTime != null and endTime != null and startTime !='' and endTime != ''"> - and b.inspectionTime BETWEEN #{startTime} and #{endTime} + and t.inspectionTime BETWEEN str_to_date(#{startTime}, "%Y-%m-%d %H:%i:%s") and str_to_date(#{endTime}, "%Y-%m-%d %H:%i:%s") </if> GROUP BY a.id -- Gitblit v1.9.3