diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/PoliceCameraItemController.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/PoliceCameraItemController.java index 055bb491d..59de20cab 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/PoliceCameraItemController.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/PoliceCameraItemController.java @@ -17,6 +17,7 @@ import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraGroup; import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItem; import com.zhgd.xmgl.modules.policecamera.entity.ProjectPoliceCameraConfig; +import com.zhgd.xmgl.modules.policecamera.entity.vo.CountWorkingHoursVo; import com.zhgd.xmgl.modules.policecamera.entity.vo.GroupTreeWithDevVo; import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraItemVo; import com.zhgd.xmgl.modules.policecamera.entity.vo.VideoItemInfoVo; @@ -416,4 +417,15 @@ public class PoliceCameraItemController { } } + @ApiOperation(value = "统计执法记录仪每日工作时长", notes = "统计执法记录仪每日工作时长", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "itemId", value = "执法记录仪id", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "startDate", value = "开始日期(yyyy-MM-dd)", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "endDate", value = "结束日期(yyyy-MM-dd)", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping("/countWorkingHours") + public Result> countWorkingHours(@RequestBody Map map) { + return Result.success(policeCameraItemService.countWorkingHours(map)); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/CountWorkingHoursVo.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/CountWorkingHoursVo.java new file mode 100644 index 000000000..9ba265455 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/CountWorkingHoursVo.java @@ -0,0 +1,21 @@ +package com.zhgd.xmgl.modules.policecamera.entity.vo; + +import com.zhgd.xmgl.util.DateUtils; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class CountWorkingHoursVo implements DateUtils.DateAware { + @ApiModelProperty(value = "工作时长中文显示") + private String workingTimeName; + /** + *日期 + */ + @ApiModelProperty("日期") + private String date; + /** + * 文件时长 + */ + @ApiModelProperty(value = "文件时长") + private java.lang.Integer duration; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/PoliceCameraItemMapper.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/PoliceCameraItemMapper.java index 0b3b3625d..25f85a37d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/PoliceCameraItemMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/PoliceCameraItemMapper.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.annotation.DataScope; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItem; +import com.zhgd.xmgl.modules.policecamera.entity.vo.CountWorkingHoursVo; import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraItemVo; import com.zhgd.xmgl.modules.xz.entity.vo.CountStatusVo; import org.apache.ibatis.annotations.Mapper; @@ -85,4 +86,6 @@ public interface PoliceCameraItemMapper extends BaseMapper { * @return */ List getCameraItemIdListByTicketId(String ticketId); + + List countWorkingHours(Map map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/PoliceCameraItemMapper.xml b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/PoliceCameraItemMapper.xml index 18151ffb2..81029b51a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/PoliceCameraItemMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/PoliceCameraItemMapper.xml @@ -88,4 +88,26 @@ join work_ticket_camera_rel wtcr on wt.id = wtcr.work_ticket_id where wt.id = #{ticketId} + + diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/IPoliceCameraItemService.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/IPoliceCameraItemService.java index 12e82928d..82ef2906c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/IPoliceCameraItemService.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/IPoliceCameraItemService.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.policecamera.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItem; +import com.zhgd.xmgl.modules.policecamera.entity.vo.CountWorkingHoursVo; import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraItemVo; import com.zhgd.xmgl.modules.policecamera.entity.vo.VideoItemInfoVo; import com.zhgd.xmgl.modules.xz.entity.vo.CountStatusVo; @@ -102,4 +103,6 @@ public interface IPoliceCameraItemService extends IService { VideoItemInfoVo getVideoItemInfo(Map map); List getListByProjectSn(String projectSn); + + List countWorkingHours(Map map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/PoliceCameraItemServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/PoliceCameraItemServiceImpl.java index 4789eb789..66a7e640e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/PoliceCameraItemServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/PoliceCameraItemServiceImpl.java @@ -22,6 +22,7 @@ import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItem; import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraVideoConfig; import com.zhgd.xmgl.modules.policecamera.entity.ProjectPoliceCameraConfig; import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel; +import com.zhgd.xmgl.modules.policecamera.entity.vo.CountWorkingHoursVo; import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraItemVo; import com.zhgd.xmgl.modules.policecamera.entity.vo.VideoItemInfoVo; import com.zhgd.xmgl.modules.policecamera.entity.vo.VideoItemInfoVo.VideoInfo; @@ -350,4 +351,15 @@ public class PoliceCameraItemServiceImpl extends ServiceImpl countWorkingHours(Map map) { + List hoursVos = baseMapper.countWorkingHours(map); + for (CountWorkingHoursVo hoursVo : hoursVos) { + hoursVo.setWorkingTimeName(TimeUtil.toHourMinSecond(hoursVo.getDuration())); + } + Map hoursVoMap = hoursVos.stream().collect(Collectors.toMap(CountWorkingHoursVo::getDate, Function.identity(), (o1, o2) -> o1)); + hoursVos = DateUtils.fillDateByStartEndDate(map, hoursVoMap, CountWorkingHoursVo::new); + return hoursVos; + } + } diff --git a/src/main/java/com/zhgd/xmgl/util/DateUtils.java b/src/main/java/com/zhgd/xmgl/util/DateUtils.java index d3d5ff872..c89170cf5 100644 --- a/src/main/java/com/zhgd/xmgl/util/DateUtils.java +++ b/src/main/java/com/zhgd/xmgl/util/DateUtils.java @@ -791,7 +791,7 @@ public class DateUtils { * @param paramMap * @param dateMap * @param instanceSupplier - * @param + * @param 类要实现DateAware * @return */ public static List fillDateByStartEndDate(