diff --git a/gather-app/src/main/java/com/ruoyi/database/controller/BoatUserInfoController.java b/gather-app/src/main/java/com/ruoyi/database/controller/BoatUserInfoController.java new file mode 100644 index 0000000..8415094 --- /dev/null +++ b/gather-app/src/main/java/com/ruoyi/database/controller/BoatUserInfoController.java @@ -0,0 +1,34 @@ +package com.ruoyi.database.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.database.domain.BoatUserInfo; +import com.ruoyi.database.domain.MetaAlarmInfo; +import com.ruoyi.database.service.BoatUserInfoService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.List; + +@Api(tags = "船员信息表") +@RestController +@RequiredArgsConstructor +@RequestMapping("/base/BoatUserInfo") +public class BoatUserInfoController extends BaseController { + + private final BoatUserInfoService boatUserInfoService; + + @GetMapping + @ApiOperation("查询船员信息表") + public TableDataInfo list(BoatUserInfo boatUserInfo){ + startPage(); + List list = boatUserInfoService.list(new QueryWrapper<>()); + return getDataTable(list); + } +} diff --git a/gather-app/src/main/java/com/ruoyi/database/controller/MetaAlarmInfoController.java b/gather-app/src/main/java/com/ruoyi/database/controller/MetaAlarmInfoController.java index d2177e6..a96a26d 100644 --- a/gather-app/src/main/java/com/ruoyi/database/controller/MetaAlarmInfoController.java +++ b/gather-app/src/main/java/com/ruoyi/database/controller/MetaAlarmInfoController.java @@ -2,7 +2,6 @@ package com.ruoyi.database.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.github.pagehelper.Page; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -12,8 +11,10 @@ import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.StringKit; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.database.domain.MetaAlarmInfo; +import com.ruoyi.database.domain.MetaHandleAlarmInfo; import com.ruoyi.database.domain.vo.alarmInfoVO; import com.ruoyi.database.service.MetaAlarmInfoService; +import com.ruoyi.database.service.MetaHandleAlarmInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -44,6 +45,8 @@ public class MetaAlarmInfoController extends BaseController { private final MetaAlarmInfoService metaAlarmInfoService; + private final MetaHandleAlarmInfoService metaHandleAlarmInfoService; + @GetMapping @ApiOperation("查询接警信息表") public TableDataInfo list(MetaAlarmInfo metaAlarmInfo) { @@ -205,13 +208,11 @@ public class MetaAlarmInfoController extends BaseController { LocalDate date = currentDate.minusDays(i); LocalDateTime startDateTime = date.atStartOfDay(); LocalDateTime endDateTime = date.atTime(LocalTime.MAX); - // 构造查询条件 String startDateString = startDateTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); String endDateString = endDateTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); - QueryWrapper QueryWrapper = new QueryWrapper<>(metaAlarmInfo); - QueryWrapper.between("informant_time", startDateString, endDateString) + QueryWrapper.between("alarm_response_time", startDateString, endDateString) .and(wrapper -> wrapper.like("alarm_response_unit", "射阳县公安局临海派出所") .or() .like("alarm_response_unit", "射阳县公安局临海派出所第一警务区") @@ -262,7 +263,6 @@ public class MetaAlarmInfoController extends BaseController { try { // 获取当前日期和时间 LocalDateTime currentDateTime = LocalDateTime.now(); - //获取当前小时数 int currentHour = currentDateTime.getHour(); //将分钟和秒数置为零,表示当前时间点的小时的开始 @@ -290,7 +290,7 @@ public class MetaAlarmInfoController extends BaseController { } } - @GetMapping("filterByType") + @GetMapping("/filterByType") @ApiOperation("根据类型来分类,查询每种类型的数量,将每天的类型和数量的格式给前端") public AjaxResult filterByType(MetaAlarmInfo metaAlarmInfo) { try { @@ -357,6 +357,80 @@ public class MetaAlarmInfoController extends BaseController { } } + @GetMapping("/Resolve") + @ApiOperation("饼状图统计,关联接警表,按照接警类型统计其当天处警数量") + public AjaxResult ResolveNum(MetaAlarmInfo metaAlarmInfo) { + try { + LocalDate currentDate = LocalDate.now(); + Map> dailyCountsMap = new TreeMap<>(); + + for (int i = 0; i < 7; i++) { + LocalDate date = currentDate.minusDays(i); + LocalDateTime startDateTime = date.atStartOfDay(); + LocalDateTime endDateTime = date.atTime(LocalTime.MAX); + String startDateString = startDateTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); + String endDateString = endDateTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); + QueryWrapper queryWrapper = new QueryWrapper<>(metaAlarmInfo); + queryWrapper.between("informant_time", startDateString, endDateString) + .and(wrapper -> wrapper.like("alarm_response_unit", "射阳县公安局临海派出所") + .or() + .like("alarm_response_unit", "射阳县公安局临海派出所第一警务区") + .or() + .like("alarm_response_unit", "射阳县公安局临海派出所第二警务区") + .or() + .like("alarm_response_unit", "射阳县公安局临海派出所第三警务区") + .or() + .like("alarm_response_unit", "射阳县公安局临海派出所第四警务区") + .or() + .like("alarm_response_unit", "射阳县公安局临港派出所") + .or() + .like("alarm_response_unit", "射阳县公安局临港派出所社区警务责任区") + .or() + .like("alarm_response_unit", "射阳县公安局临港派出所第一警务区") + .or() + .like("alarm_response_unit", "射阳县公安局临港派出所第二警务区") + .or() + .like("alarm_response_unit", "射阳县公安局临港派出所第一警务区") + .or() + .like("alarm_response_unit", "射阳县公安局扁担港边防派出所") + .or() + .like("alarm_response_unit", "射阳县公安局扁担港边防派出所第一警务区") + .or() + .like("alarm_response_unit", "射阳县公安局黄沙河边防派出所") + .or() + .like("alarm_response_unit", "射阳县公安局黄沙河边防派出所第一警务区") + .or() + .like("alarm_response_unit", "射阳县公安局黄沙河边防派出所第三警务区") + .or() + .like("alarm_response_unit", "射阳县公安局交通警察大队临海中队")); + List alarmInfoList = metaAlarmInfoService.list(queryWrapper); + List alarmCodesList = alarmInfoList.stream() + .map(MetaAlarmInfo::getAlarmCode) + .collect(Collectors.toList()); + + List alarmInfoList1 = metaHandleAlarmInfoService.list(new QueryWrapper() + .in("alarm_code", alarmCodesList)); + + List alarmCodesFromAlarmInfoList1 = alarmInfoList1.stream() + .map(MetaHandleAlarmInfo::getAlarmCode) + .collect(Collectors.toList()); + + List correspondingAlarmInfoList = metaAlarmInfoService.list(new QueryWrapper() + .in("alarm_code", alarmCodesFromAlarmInfoList1)); + + Map responseTypeCounts = correspondingAlarmInfoList.stream() + .collect(Collectors.groupingBy(MetaAlarmInfo::getAlarmResponseTypeName, Collectors.counting())); + + dailyCountsMap.put(date, responseTypeCounts); + } + return AjaxResult.success(dailyCountsMap); + } catch ( + Exception e) { + logger.info(StringKit.toString(e)); + return AjaxResult.error("请求失败,看服务器报错没。"); + } + } + @PostMapping @ApiOperation("新增接警信息表") @Log(title = "接警信息表", businessType = BusinessType.INSERT) diff --git a/gather-app/src/main/java/com/ruoyi/database/domain/BoatUserInfo.java b/gather-app/src/main/java/com/ruoyi/database/domain/BoatUserInfo.java new file mode 100644 index 0000000..607c0b0 --- /dev/null +++ b/gather-app/src/main/java/com/ruoyi/database/domain/BoatUserInfo.java @@ -0,0 +1,227 @@ +package com.ruoyi.database.domain; + +import io.swagger.annotations.ApiModelProperty; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.Size; +import java.io.Serializable; + +/** +* +* @TableName boat_user_info +*/ +public class BoatUserInfo implements Serializable { + + /** + * 姓名 + */ + @Size(max= 20,message="编码长度不能超过20") + @ApiModelProperty("姓名") + @Length(max= 20,message="编码长度不能超过20") + private String name; + /** + * 身份证 + */ + @Size(max= 100,message="编码长度不能超过100") + @ApiModelProperty("身份证") + @Length(max= 100,message="编码长度不能超过100") + private String idCard; + /** + * 手机号码 + */ + @Size(max= 20,message="编码长度不能超过20") + @ApiModelProperty("手机号码") + @Length(max= 20,message="编码长度不能超过20") + private String phone; + /** + * 户籍地址 + */ + @Size(max= 255,message="编码长度不能超过255") + @ApiModelProperty("户籍地址") + @Length(max= 255,message="编码长度不能超过255") + private String registeredResidenceAddress; + /** + * 长期居住地 + */ + @Size(max= 255,message="编码长度不能超过255") + @ApiModelProperty("长期居住地") + @Length(max= 255,message="编码长度不能超过255") + private String longtimeLiveAddress; + /** + * 船名 + */ + @Size(max= 50,message="编码长度不能超过50") + @ApiModelProperty("船名") + @Length(max= 50,message="编码长度不能超过50") + private String boatName; + /** + * 船舶证号 + */ + @Size(max= 50,message="编码长度不能超过50") + @ApiModelProperty("船舶证号") + @Length(max= 50,message="编码长度不能超过50") + private String shipCertificateNumber; + /** + * 停泊港 + */ + @Size(max= 30,message="编码长度不能超过30") + @ApiModelProperty("停泊港") + @Length(max= 30,message="编码长度不能超过30") + private String portOfCall; + /** + * 报备日期 + */ + @Size(max= 30,message="编码长度不能超过30") + @ApiModelProperty("报备日期") + @Length(max= 30,message="编码长度不能超过30") + private String reportingTime; + /** + * 所属派出所 + */ + @Size(max= 50,message="编码长度不能超过50") + @ApiModelProperty("所属派出所") + @Length(max= 50,message="编码长度不能超过50") + private String belongingToPoliceStation; + + /** + * 姓名 + */ + private void setName(String name){ + this.name = name; + } + + /** + * 身份证 + */ + private void setIdCard(String idCard){ + this.idCard = idCard; + } + + /** + * 手机号码 + */ + private void setPhone(String phone){ + this.phone = phone; + } + + /** + * 户籍地址 + */ + private void setRegisteredResidenceAddress(String registeredResidenceAddress){ + this.registeredResidenceAddress = registeredResidenceAddress; + } + + /** + * 长期居住地 + */ + private void setLongtimeLiveAddress(String longtimeLiveAddress){ + this.longtimeLiveAddress = longtimeLiveAddress; + } + + /** + * 船名 + */ + private void setBoatName(String boatName){ + this.boatName = boatName; + } + + /** + * 船舶证号 + */ + private void setShipCertificateNumber(String shipCertificateNumber){ + this.shipCertificateNumber = shipCertificateNumber; + } + + /** + * 停泊港 + */ + private void setPortOfCall(String portOfCall){ + this.portOfCall = portOfCall; + } + + /** + * 报备日期 + */ + private void setReportingTime(String reportingTime){ + this.reportingTime = reportingTime; + } + + /** + * 所属派出所 + */ + private void setBelongingToPoliceStation(String belongingToPoliceStation){ + this.belongingToPoliceStation = belongingToPoliceStation; + } + + + /** + * 姓名 + */ + private String getName(){ + return this.name; + } + + /** + * 身份证 + */ + private String getIdCard(){ + return this.idCard; + } + + /** + * 手机号码 + */ + private String getPhone(){ + return this.phone; + } + + /** + * 户籍地址 + */ + private String getRegisteredResidenceAddress(){ + return this.registeredResidenceAddress; + } + + /** + * 长期居住地 + */ + private String getLongtimeLiveAddress(){ + return this.longtimeLiveAddress; + } + + /** + * 船名 + */ + private String getBoatName(){ + return this.boatName; + } + + /** + * 船舶证号 + */ + private String getShipCertificateNumber(){ + return this.shipCertificateNumber; + } + + /** + * 停泊港 + */ + private String getPortOfCall(){ + return this.portOfCall; + } + + /** + * 报备日期 + */ + private String getReportingTime(){ + return this.reportingTime; + } + + /** + * 所属派出所 + */ + private String getBelongingToPoliceStation(){ + return this.belongingToPoliceStation; + } + +} diff --git a/gather-app/src/main/java/com/ruoyi/database/mapper/BoatUserInfoMapper.java b/gather-app/src/main/java/com/ruoyi/database/mapper/BoatUserInfoMapper.java new file mode 100644 index 0000000..f41e2bb --- /dev/null +++ b/gather-app/src/main/java/com/ruoyi/database/mapper/BoatUserInfoMapper.java @@ -0,0 +1,9 @@ +package com.ruoyi.database.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.database.domain.BoatUserInfo; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface BoatUserInfoMapper extends BaseMapper { +} diff --git a/gather-app/src/main/java/com/ruoyi/database/service/BoatUserInfoService.java b/gather-app/src/main/java/com/ruoyi/database/service/BoatUserInfoService.java new file mode 100644 index 0000000..9128f80 --- /dev/null +++ b/gather-app/src/main/java/com/ruoyi/database/service/BoatUserInfoService.java @@ -0,0 +1,7 @@ +package com.ruoyi.database.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.database.domain.BoatUserInfo; + +public interface BoatUserInfoService extends IService { +} diff --git a/gather-app/src/main/java/com/ruoyi/database/service/impl/BoatUserInfoServiceImpl.java b/gather-app/src/main/java/com/ruoyi/database/service/impl/BoatUserInfoServiceImpl.java new file mode 100644 index 0000000..044844a --- /dev/null +++ b/gather-app/src/main/java/com/ruoyi/database/service/impl/BoatUserInfoServiceImpl.java @@ -0,0 +1,12 @@ +package com.ruoyi.database.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.database.domain.BoatUserInfo; +import com.ruoyi.database.mapper.BoatUserInfoMapper; +import com.ruoyi.database.service.BoatUserInfoService; +import org.springframework.stereotype.Service; + +@Service +public class BoatUserInfoServiceImpl extends ServiceImpl + implements BoatUserInfoService { +}