diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/TodayTaskDto.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/TodayTaskDto.java index ea89fbd..423977f 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/TodayTaskDto.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/TodayTaskDto.java @@ -14,7 +14,8 @@ import java.util.List; @Data public class TodayTaskDto { - + @ApiModelProperty("站班会ID") + private String classId; @ApiModelProperty("角色编码") private String roleCode; diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/DeviceUpDownVo.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/DeviceUpDownVo.java new file mode 100644 index 0000000..c275fa1 --- /dev/null +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/DeviceUpDownVo.java @@ -0,0 +1,26 @@ +package com.securitycontrol.entity.background.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author:cwchen + * @date:2024-03-20-14:12 + * @version:1.0 + * @description:球机上下线时长 + */ +@Data +public class DeviceUpDownVo { + + @ApiModelProperty("PUID") + private String puId; + + @ApiModelProperty("上线时间") + private String upTime; + + @ApiModelProperty("结束时间") + private String downTime; + + @ApiModelProperty("在线时长") + private double hours; +} diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/ExportFileController.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/ExportFileController.java index 7feaf88..319f311 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/ExportFileController.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/ExportFileController.java @@ -3,13 +3,11 @@ package com.securitycontrol.background.controller; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; -import com.securitycontrol.background.export.entity.DutyPlanExportVo; -import com.securitycontrol.background.export.entity.TeamExportVo; -import com.securitycontrol.background.export.entity.TeamUserExportVo; -import com.securitycontrol.background.export.entity.UserAccessExportVo; +import com.securitycontrol.background.export.entity.*; import com.securitycontrol.background.export.util.ExcelStyleUtil; import com.securitycontrol.background.service.DutyPlanService; import com.securitycontrol.background.service.HumanService; +import com.securitycontrol.background.service.ITodayTaskService; import com.securitycontrol.background.service.TeamService; import com.securitycontrol.common.core.utils.StringUtils; import com.securitycontrol.common.core.utils.aes.DateTimeHelper; @@ -17,10 +15,8 @@ import com.securitycontrol.common.core.utils.aes.StringHelper; import com.securitycontrol.common.log.annotation.Log; import com.securitycontrol.common.log.enums.OperationType; import com.securitycontrol.entity.background.dto.ParamDto; -import com.securitycontrol.entity.background.vo.DutyPlanVo; -import com.securitycontrol.entity.background.vo.HumanManageVo; -import com.securitycontrol.entity.background.vo.TeamManageVo; -import com.securitycontrol.entity.background.vo.UserAccessVo; +import com.securitycontrol.entity.background.dto.TodayTaskDto; +import com.securitycontrol.entity.background.vo.*; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; @@ -57,6 +53,9 @@ public class ExportFileController { @Resource(name = "DutyPlanService") private DutyPlanService dutyPlanService; + @Resource(name = "ITodayTaskService") + private ITodayTaskService iTodayTaskService; + @GetMapping("exportDutyPlanData") @Log(title = "值班计划管理", menu = "风险值班管理->值班计划管理", grade = OperationType.EXPORT_BUSINESS, details = "导出值班计划", type = "业务日志") public void exportDutyPlanData(HttpServletRequest request, HttpServletResponse response, DutyPlanVo dto) { @@ -177,4 +176,30 @@ public class ExportFileController { log.error("导出人员进出场记录", e); } } + + @GetMapping("exportTodayTaskData") + @Log(title = "风险值班管理", menu = "风险值班管理->当日任务", grade = OperationType.EXPORT_BUSINESS, details = "导出当日任务", type = "业务日志") + public void exportTodayTaskData(HttpServletRequest request, HttpServletResponse response, TodayTaskDto dto) { + try { + List todayTaskExportVoList = new ArrayList<>(); + List todayTaskVoList = iTodayTaskService.getToDayTaskLists(dto); + for (int i = 0; i < todayTaskVoList.size(); i++) { + todayTaskVoList.get(i).setClassId((i + 1) + ""); + TodayTaskExportVo todayTaskExportVo = new TodayTaskExportVo(); + BeanUtils.copyProperties(todayTaskVoList.get(i), todayTaskExportVo); + todayTaskExportVoList.add(todayTaskExportVo); + } + ExportParams exportParams = new ExportParams("当日任务", "当日任务", ExcelType.XSSF); + exportParams.setStyle(ExcelStyleUtil.class); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, TodayTaskExportVo.class, todayTaskExportVoList); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("content-disposition", "attachment;fileName=" + URLEncoder.encode("当日任务" + ".xlsx", "UTF-8")); + ServletOutputStream outputStream = response.getOutputStream(); + workbook.write(outputStream); + outputStream.close(); + workbook.close(); + } catch (Exception e) { + log.error("导出当日任务", e); + } + } } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TodayTaskController.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TodayTaskController.java index 20fd578..b6be9a2 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TodayTaskController.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TodayTaskController.java @@ -2,6 +2,7 @@ package com.securitycontrol.background.controller; import com.securitycontrol.background.service.ITodayTaskService; import com.securitycontrol.common.core.web.controller.BaseController; +import com.securitycontrol.common.core.web.domain.AjaxResult; import com.securitycontrol.common.core.web.page.TableDataInfo; import com.securitycontrol.common.log.annotation.Log; import com.securitycontrol.common.log.enums.OperationType; @@ -36,4 +37,17 @@ public class TodayTaskController extends BaseController { List list = service.getToDayTaskLists(dto); return getDataTable(list); } + + @ApiOperation(value = "远程巡视详情") + @GetMapping("getToDayTaskDetail") + public AjaxResult getToDayTaskDetail(TodayTaskDto dto) { + return service.getToDayTaskDetail(dto); + } + + @ApiOperation(value = "球机上下线时长") + @GetMapping("getBallTimeList") + public AjaxResult getBallTimeList(TodayTaskDto dto){ + return service.getBallTimeList(dto); + } + } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/export/entity/TodayTaskExportVo.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/export/entity/TodayTaskExportVo.java new file mode 100644 index 0000000..7875481 --- /dev/null +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/export/entity/TodayTaskExportVo.java @@ -0,0 +1,72 @@ +package com.securitycontrol.background.export.entity; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author:cwchen + * @date:2024-03-23-12:45 + * @version:1.0 + * @description:今日任务-VO + */ +@Data +public class TodayTaskExportVo { + + @ApiModelProperty("站班会id") + @Excel(name = "序号", width = 10.0, orderNum = "0") + private String classId; + + @ApiModelProperty("建管单位") + @Excel(name = "建管单位", width = 20.0, orderNum = "1") + private String org; + + @ApiModelProperty("标段工程名称") + @Excel(name = "标段工程名称", width = 20.0, orderNum = "2") + private String bidName; + + @ApiModelProperty("作业票编号") + @Excel(name = "作业票号", width = 20.0, orderNum = "3") + private String ticketNo; + + @ApiModelProperty("施工状态") + @Excel(name = "施工状态", width = 20.0, orderNum = "4") + private String sgStatus; + + @ApiModelProperty("风险等级") + @Excel(name = "风险等级", width = 20.0, orderNum = "5") + private String riskLevel; + + @ApiModelProperty("工作负责人") + @Excel(name = "班组长", width = 20.0, orderNum = "6") + private String workManager; + + @ApiModelProperty("工作内容") + @Excel(name = "工作内容", width = 20.0, orderNum = "7") + private String workContent; + + @ApiModelProperty("单项工程编码") + @Excel(name = "工作内容", width = 20.0, orderNum = "8") + private String signCode; + + @ApiModelProperty("标段工程编码") + @Excel(name = "工作内容", width = 20.0, orderNum = "9") + private String bidCode; + + @ApiModelProperty("工程编码") + @Excel(name = "工作内容", width = 20.0, orderNum = "10") + private String proCode; + + @ApiModelProperty("监理单位") + @Excel(name = "监理单位", width = 20.0, orderNum = "11") + private String jldw; + + @ApiModelProperty("施工单位") + @Excel(name = "施工单位", width = 20.0, orderNum = "12") + private String sgdw; + + @ApiModelProperty("督查人") + @Excel(name = "督查人", width = 20.0, orderNum = "13") + private String checkUserName; + +} diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/ITodayTaskMapper.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/ITodayTaskMapper.java index 7d649f6..a7b59e1 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/ITodayTaskMapper.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/ITodayTaskMapper.java @@ -1,10 +1,13 @@ package com.securitycontrol.background.mapper; import com.securitycontrol.entity.background.dto.TodayTaskDto; +import com.securitycontrol.entity.background.vo.DeviceUpDownVo; import com.securitycontrol.entity.background.vo.TodayTaskVo; +import org.apache.ibatis.annotations.MapKey; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; /** * @author:cwchen @@ -36,4 +39,37 @@ public interface ITodayTaskMapper { */ String getCheckUser(String checkUserId); + /** + * 站班会详情 + * + * @param dto + * @return Map + * @description + * @author cwchen + * @date 2024/3/23 15:41 + */ + @MapKey("classId") + Map> getClassDetail(TodayTaskDto dto); + + /** + * 施工人员 + * + * @param dto + * @return List> + * @description + * @author cwchen + * @date 2024/3/23 15:42 + */ + @MapKey("id") + List> getWorkPeopleLists(TodayTaskDto dto); + + /** + * 球机在线时长 + * @param dto + * @return List + * @description + * @author cwchen + * @date 2024/3/23 16:47 + */ + List getBallTimeList(TodayTaskDto dto); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/ITodayTaskService.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/ITodayTaskService.java index 755bcd1..85ad996 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/ITodayTaskService.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/ITodayTaskService.java @@ -1,5 +1,6 @@ package com.securitycontrol.background.service; +import com.securitycontrol.common.core.web.domain.AjaxResult; import com.securitycontrol.entity.background.dto.TodayTaskDto; import com.securitycontrol.entity.background.vo.TodayTaskVo; @@ -14,6 +15,7 @@ import java.util.List; public interface ITodayTaskService { /** * 获取当日任务列表 + * * @param dto * @return List * @description @@ -21,4 +23,25 @@ public interface ITodayTaskService { * @date 2024/3/23 13:21 */ List getToDayTaskLists(TodayTaskDto dto); + + /** + * 远程巡视详情 + * + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/3/23 15:19 + */ + AjaxResult getToDayTaskDetail(TodayTaskDto dto); + + /** + * 球机上下线时长 + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/3/23 16:40 + */ + AjaxResult getBallTimeList(TodayTaskDto dto); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TodayTaskServiceImpl.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TodayTaskServiceImpl.java index 95da796..a91071e 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TodayTaskServiceImpl.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TodayTaskServiceImpl.java @@ -3,7 +3,10 @@ package com.securitycontrol.background.service.impl; import com.securitycontrol.background.mapper.ITodayTaskMapper; import com.securitycontrol.background.service.ITodayTaskService; import com.securitycontrol.common.core.utils.aes.DateTimeHelper; +import com.securitycontrol.common.core.utils.aes.StringHelper; +import com.securitycontrol.common.core.web.domain.AjaxResult; import com.securitycontrol.entity.background.dto.TodayTaskDto; +import com.securitycontrol.entity.background.vo.DeviceUpDownVo; import com.securitycontrol.entity.background.vo.TodayTaskVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -11,9 +14,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.Future; @@ -92,4 +93,55 @@ public class TodayTaskServiceImpl implements ITodayTaskService { } return dto; } + + @Override + public AjaxResult getToDayTaskDetail(TodayTaskDto dto) { + Map map = new HashMap<>(16); + Map mapResult = new HashMap<>(6); + List> resultList = new ArrayList<>(100); + try { + Future>> future = testTaskExecutor.submit(() -> { + log.info("站班会详情-执行线程{}", Thread.currentThread().getName()); + Map> dataMap = new HashMap<>(16); + dataMap = mapper.getClassDetail(dto); + return dataMap; + }); + Future>> future2 = testTaskExecutor.submit(() -> { + log.info("施工人员-执行线程{}", Thread.currentThread().getName()); + List> list = new ArrayList<>(100); + list = mapper.getWorkPeopleLists(dto); + return list; + }); + mapResult = future.get().get(dto.getClassId()); + resultList = future2.get(); + } catch (Exception e) { + log.error("远程巡视详情",e); + } + map.put("classDetails",mapResult); + map.put("workPeopleLists",resultList); + return AjaxResult.success(map); + } + + @Override + public AjaxResult getBallTimeList(TodayTaskDto dto) { + List list = new ArrayList<>(100); + try { + if (StringHelper.isEmpty(dto.getWorkDay())) { + dto.setWorkDay(DateTimeHelper.getNowDay()); + } + list = mapper.getBallTimeList(dto); + for (DeviceUpDownVo vo : list) { + if (StringHelper.isEmpty(vo.getDownTime())) { + Double hours = DateTimeHelper.getTimeHours(DateTimeHelper.getNowTime(), vo.getUpTime()); + vo.setHours(hours); + } else { + Double hours = DateTimeHelper.getTimeHours(vo.getDownTime(), vo.getUpTime()); + vo.setHours(hours); + } + } + } catch (Exception e) { + log.error("球机上下线时长",e); + } + return AjaxResult.success(list); + } } diff --git a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TodayTaskMapper.xml b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TodayTaskMapper.xml index 1a93a0f..4db22e9 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TodayTaskMapper.xml +++ b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TodayTaskMapper.xml @@ -53,5 +53,49 @@ + + + + + + \ No newline at end of file