From 2bacd2670e0f1b495e9cfda6023d8bccc32a5572 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期一, 11 三月 2024 16:23:28 +0800 Subject: [PATCH] 数据大屏剩余接口 --- dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java | 25 + dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java | 7 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml | 11 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java | 6 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java | 6 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java | 3 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficAccident.java | 45 ++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficAccidentService.java | 49 ++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java | 48 ++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java | 1 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java | 111 ++++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java | 35 + dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficAccidentController.java | 105 ++++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java | 62 +++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficAccidentMapper.java | 18 + dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java | 10 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java | 6 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficAccidentMapper.xml | 10 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml | 15 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml | 4 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java | 9 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/PeriodDate.java | 315 ++++++++++++++++++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java | 2 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java | 40 ++ dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java | 2 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java | 1 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml | 23 + dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java | 1 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml | 10 29 files changed, 953 insertions(+), 27 deletions(-) diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java index e85b8ac..bac0e19 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java @@ -3,14 +3,16 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; -import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.demo.domain.bo.RsDangerTotalBo; import org.dromara.demo.domain.vo.*; import org.dromara.demo.service.IDataDashboardService; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; /** * @author ghl @@ -64,9 +66,37 @@ * 瀹夊叏闅愭偅缁熻 */ @SaCheckPermission("demo:dangerTotal:list") - @GetMapping("/dangerTotal") - public R<RsDangerTotalDashboardVo> getDangerTotal() { - return R.ok(service.getDangerTotal()); + @GetMapping("/dangerTotal/{period}") + public R<RsDangerTotalDashboardVo> getDangerTotal(@PathVariable String period) { + return R.ok(service.getDangerTotal(period)); } + /** + * 浜ら�氬浼� + */ + @SaCheckPermission("demo:trafficPropaganda:list") + @GetMapping("/trafficPropaganda") + public TableDataInfo<RsTrafficPropagandaVo> getTrafficPropaganda() { + return TableDataInfo.build(service.getTrafficPropaganda()); + } + + /** + * 浜ら�氫簨鏁� + */ + @SaCheckPermission("demo:trafficAccident:list") + @GetMapping("/trafficAccident") + public TableDataInfo<RsTrafficAccidentVo> getTrafficAccident() { + return TableDataInfo.build(service.getTrafficAccident()); + } + + /** + * 鏁版嵁涓婂浘 + */ + @SaCheckPermission("demo:geographyData:list") + @GetMapping("/geographyData") + public R<List<Map<String, Object>>> getGeographyData() { + return R.ok(service.getGeographyData()); + } + + } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficAccidentController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficAccidentController.java new file mode 100644 index 0000000..603c140 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficAccidentController.java @@ -0,0 +1,105 @@ +package org.dromara.demo.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.demo.domain.vo.RsTrafficAccidentVo; +import org.dromara.demo.domain.bo.RsTrafficAccidentBo; +import org.dromara.demo.service.IRsTrafficAccidentService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 浜ら�氫簨鏁� + * + * @author gonghl + * @date 2024-03-11 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/demo/trafficAccident") +public class RsTrafficAccidentController extends BaseController { + + private final IRsTrafficAccidentService rsTrafficAccidentService; + + /** + * 鏌ヨ浜ら�氫簨鏁呭垪琛� + */ + @SaCheckPermission("demo:trafficAccident:list") + @GetMapping("/list") + public TableDataInfo<RsTrafficAccidentVo> list(RsTrafficAccidentBo bo, PageQuery pageQuery) { + return rsTrafficAccidentService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭浜ら�氫簨鏁呭垪琛� + */ + @SaCheckPermission("demo:trafficAccident:export") + @Log(title = "浜ら�氫簨鏁�", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(RsTrafficAccidentBo bo, HttpServletResponse response) { + List<RsTrafficAccidentVo> list = rsTrafficAccidentService.queryList(bo); + ExcelUtil.exportExcel(list, "浜ら�氫簨鏁�", RsTrafficAccidentVo.class, response); + } + + /** + * 鑾峰彇浜ら�氫簨鏁呰缁嗕俊鎭� + * + * @param id 涓婚敭 + */ + @SaCheckPermission("demo:trafficAccident:query") + @GetMapping("/{id}") + public R<RsTrafficAccidentVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String id) { + return R.ok(rsTrafficAccidentService.queryById(id)); + } + + /** + * 鏂板浜ら�氫簨鏁� + */ + @SaCheckPermission("demo:trafficAccident:add") + @Log(title = "浜ら�氫簨鏁�", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody RsTrafficAccidentBo bo) { + return toAjax(rsTrafficAccidentService.insertByBo(bo)); + } + + /** + * 淇敼浜ら�氫簨鏁� + */ + @SaCheckPermission("demo:trafficAccident:edit") + @Log(title = "浜ら�氫簨鏁�", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody RsTrafficAccidentBo bo) { + return toAjax(rsTrafficAccidentService.updateByBo(bo)); + } + + /** + * 鍒犻櫎浜ら�氫簨鏁� + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("demo:trafficAccident:remove") + @Log(title = "浜ら�氫簨鏁�", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String[] ids) { + return toAjax(rsTrafficAccidentService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficAccident.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficAccident.java new file mode 100644 index 0000000..fda7ff4 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficAccident.java @@ -0,0 +1,45 @@ +package org.dromara.demo.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serial; +import java.util.Date; + +/** + * 浜ら�氫簨鏁呭璞� rs_traffic_accident + * + * @author gonghl + * @date 2024-03-11 + */ +@Data +@TableName("rs_traffic_accident") +public class RsTrafficAccident { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 缂栧彿 + */ + @TableId(value = "id") + private String id; + + /** + * 鏍囬 + */ + private String title; + + /** + * 鎺掑簭 + */ + private Long sequence; + + /** + * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢� + */ + private Long status; + + private Date createTime; +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java new file mode 100644 index 0000000..9e204c8 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java @@ -0,0 +1,48 @@ +package org.dromara.demo.domain.bo; + +import org.dromara.demo.domain.RsTrafficAccident; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 浜ら�氫簨鏁呬笟鍔″璞� rs_traffic_accident + * + * @author gonghl + * @date 2024-03-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = RsTrafficAccident.class, reverseConvertGenerate = false) +public class RsTrafficAccidentBo extends BaseEntity { + + /** + * 缂栧彿 + */ + @NotBlank(message = "缂栧彿涓嶈兘涓虹┖", groups = { EditGroup.class }) + private String id; + + /** + * 鏍囬 + */ + @NotBlank(message = "鏍囬涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String title; + + /** + * 鎺掑簭 + */ + @NotNull(message = "鎺掑簭涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long sequence; + + /** + * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢� + */ + @NotNull(message = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢ㄤ笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private Long status; + + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java index 75ac126..b592b16 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java @@ -1,17 +1,16 @@ package org.dromara.demo.domain.vo; -import org.dromara.demo.domain.RsDangerInfo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.demo.domain.RsDangerInfo; +import org.dromara.system.domain.vo.SysOssVo; import java.io.Serial; import java.io.Serializable; import java.util.Date; - +import java.util.List; /** @@ -75,4 +74,7 @@ */ @ExcelProperty(value = "鍒涘缓鏃堕棿") private Date createTime; + + private List<SysOssVo> imgList; + } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java new file mode 100644 index 0000000..ee3b8ee --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java @@ -0,0 +1,62 @@ +package org.dromara.demo.domain.vo; + +import org.dromara.demo.domain.RsTrafficAccident; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 浜ら�氫簨鏁呰鍥惧璞� rs_traffic_accident + * + * @author gonghl + * @date 2024-03-11 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = RsTrafficAccident.class) +public class RsTrafficAccidentVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 缂栧彿 + */ + @ExcelProperty(value = "缂栧彿") + private String id; + + /** + * 鏍囬 + */ + @ExcelProperty(value = "鏍囬") + private String title; + + /** + * 鎺掑簭 + */ + @ExcelProperty(value = "鎺掑簭") + private Long sequence; + + /** + * 鍒涘缓鏃堕棿 + */ + @ExcelProperty(value = "鍒涘缓鏃堕棿") + private Date createTime; + + /** + * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢� + */ + @ExcelProperty(value = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�") + private Long status; + + +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java index 8eaed8d..f728fc1 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java @@ -9,7 +9,7 @@ import java.io.Serial; import java.io.Serializable; import java.util.Date; - +import java.util.List; /** @@ -182,5 +182,9 @@ @ExcelProperty(value = "鍒涘缓鏃堕棿") private Date createTime; + private String targetOneIcon; + private String targetTwoIcon; + private String targetThreeIcon; + private String targetFourIcon; } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java index ac93da4..a243221 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java @@ -58,4 +58,6 @@ @ExcelProperty(value = "鍒涘缓鏃堕棿") private Date createTime; + private String url; + } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java index c8199a4..8073aa9 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java @@ -4,6 +4,8 @@ import org.dromara.demo.domain.vo.RsDangerInfoVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 瀹夊叏闅愭偅淇℃伅Mapper鎺ュ彛 * @@ -12,4 +14,5 @@ */ public interface RsDangerInfoMapper extends BaseMapperPlus<RsDangerInfo, RsDangerInfoVo> { + List<RsDangerInfoVo> getDangerInfo(); } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java index 44e5972..43e955e 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java @@ -5,6 +5,8 @@ import org.dromara.demo.domain.vo.RsDangerTotalVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 瀹夊叏闅愭偅缁熻Mapper鎺ュ彛 * @@ -18,4 +20,11 @@ * @return 闅愭偅缁熻鏁伴噺 */ RsDangerTotalDashboardVo getDangerTotalNums(); + + /** + * 鑾峰彇闅愭偅缁熻鍒楄〃 + * @param periodDate 缁熻鍛ㄦ湡 + * @return 闅愭偅缁熻鍒楄〃 + */ + List<RsDangerTotalVo> getDangerTotalInfo(String periodDate); } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java index 32e30ae..d7ededd 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java @@ -1,8 +1,11 @@ package org.dromara.demo.mapper; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.demo.domain.RsGeographyData; import org.dromara.demo.domain.vo.RsGeographyDataVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.util.List; +import java.util.Map; /** * 鏁版嵁涓婂浘Mapper鎺ュ彛 @@ -12,4 +15,5 @@ */ public interface RsGeographyDataMapper extends BaseMapperPlus<RsGeographyData, RsGeographyDataVo> { + List<Map<String, Object>> getGeographyData(); } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficAccidentMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficAccidentMapper.java new file mode 100644 index 0000000..9c63fae --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficAccidentMapper.java @@ -0,0 +1,18 @@ +package org.dromara.demo.mapper; + +import org.dromara.demo.domain.RsTrafficAccident; +import org.dromara.demo.domain.vo.RsTrafficAccidentVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.util.List; + +/** + * 浜ら�氫簨鏁匨apper鎺ュ彛 + * + * @author gonghl + * @date 2024-03-11 + */ +public interface RsTrafficAccidentMapper extends BaseMapperPlus<RsTrafficAccident, RsTrafficAccidentVo> { + + List<RsTrafficAccidentVo> getTrafficAccident(); +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java index f3324d4..92de508 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java @@ -20,4 +20,10 @@ * @return 鍥炬爣 */ List<Map<String, String>> icon(); + + /** + * 杩�3骞翠氦閫氫簨鏁呮寚鏁� + * @return 杩�3骞翠氦閫氫簨鏁呮寚鏁� + */ + RsTrafficIndexVo getTrafficIndex(); } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java index 55f2f6b..424aa84 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java @@ -4,6 +4,8 @@ import org.dromara.demo.domain.vo.RsTrafficPropagandaVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 浜ら�氬浼燤apper鎺ュ彛 * @@ -19,4 +21,9 @@ */ void addSequence(Long sequence, String id); + /** + * 浜ら�氬浼� + * @return 浜ら�氬浼� + */ + List<RsTrafficPropagandaVo> getTrafficPropaganda(); } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java index 90eb577..546c3ce 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java @@ -3,6 +3,7 @@ import org.dromara.demo.domain.vo.*; import java.util.List; +import java.util.Map; /** * @author ghl @@ -41,7 +42,29 @@ /** * 瀹夊叏闅愭偅缁熻 + * * @return 瀹夊叏闅愭偅缁熻 */ - RsDangerTotalDashboardVo getDangerTotal(); + RsDangerTotalDashboardVo getDangerTotal(String period); + + /** + * 浜ら�氬浼� + * + * @return 浜ら�氬浼� + */ + List<RsTrafficPropagandaVo> getTrafficPropaganda(); + + /** + * 浜ら�氫簨鏁� + * + * @return 浜ら�氫簨鏁� + */ + List<RsTrafficAccidentVo> getTrafficAccident(); + + /** + * 鏁版嵁涓婂浘 + * + * @return 鏁版嵁涓婂浘 + */ + List<Map<String, Object>> getGeographyData(); } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficAccidentService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficAccidentService.java new file mode 100644 index 0000000..89979e6 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficAccidentService.java @@ -0,0 +1,49 @@ +package org.dromara.demo.service; + +import org.dromara.demo.domain.RsTrafficAccident; +import org.dromara.demo.domain.vo.RsTrafficAccidentVo; +import org.dromara.demo.domain.bo.RsTrafficAccidentBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 浜ら�氫簨鏁匰ervice鎺ュ彛 + * + * @author gonghl + * @date 2024-03-11 + */ +public interface IRsTrafficAccidentService { + + /** + * 鏌ヨ浜ら�氫簨鏁� + */ + RsTrafficAccidentVo queryById(String id); + + /** + * 鏌ヨ浜ら�氫簨鏁呭垪琛� + */ + TableDataInfo<RsTrafficAccidentVo> queryPageList(RsTrafficAccidentBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ浜ら�氫簨鏁呭垪琛� + */ + List<RsTrafficAccidentVo> queryList(RsTrafficAccidentBo bo); + + /** + * 鏂板浜ら�氫簨鏁� + */ + Boolean insertByBo(RsTrafficAccidentBo bo); + + /** + * 淇敼浜ら�氫簨鏁� + */ + Boolean updateByBo(RsTrafficAccidentBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄や氦閫氫簨鏁呬俊鎭� + */ + Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java index eb839b7..b14b3cb 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java @@ -3,14 +3,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; -import org.dromara.demo.domain.RsDangerInfo; import org.dromara.demo.domain.RsTrafficIndex; import org.dromara.demo.domain.vo.*; import org.dromara.demo.mapper.*; import org.dromara.demo.service.IDataDashboardService; +import org.dromara.demo.util.PeriodDate; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; /** * @author gonghl @@ -25,12 +26,13 @@ private final RsSceneryOperationDataMapper sceneryOperationDataMapper; private final RsDangerInfoMapper dangerInfoMapper; private final RsDangerTotalMapper dangerTotalMapper; + private final RsTrafficPropagandaMapper trafficPropagandaMapper; + private final RsTrafficAccidentMapper trafficAccidentMapper; + private final RsGeographyDataMapper geographyDataMapper; @Override public RsTrafficIndexVo getTrafficIndex() { - LambdaQueryWrapper<RsTrafficIndex> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(RsTrafficIndex::getStatus, 1).orderByDesc(RsTrafficIndex::getCreateTime).last("limit 1"); - return trafficIndexMapper.selectVoOne(queryWrapper); + return trafficIndexMapper.getTrafficIndex(); } @Override @@ -45,15 +47,30 @@ @Override public List<RsDangerInfoVo> getDangerInfo() { - LambdaQueryWrapper<RsDangerInfo> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(RsDangerInfo::getStatus, 1).orderByDesc(RsDangerInfo::getCreateTime); - return dangerInfoMapper.selectVoList(queryWrapper); + return dangerInfoMapper.getDangerInfo(); } @Override - public RsDangerTotalDashboardVo getDangerTotal() { + public RsDangerTotalDashboardVo getDangerTotal(String period) { RsDangerTotalDashboardVo dangerTotalDashboardVo = dangerTotalMapper.getDangerTotalNums(); - // dangerTotalMapper. + String periodDate = "quarter".equals(period) ? new PeriodDate().firstdateTimSeason : new PeriodDate().MonthFirst; + List<RsDangerTotalVo> list = dangerTotalMapper.getDangerTotalInfo(periodDate); + dangerTotalDashboardVo.setList(list); return dangerTotalDashboardVo; } + + @Override + public List<RsTrafficPropagandaVo> getTrafficPropaganda() { + return trafficPropagandaMapper.getTrafficPropaganda(); + } + + @Override + public List<RsTrafficAccidentVo> getTrafficAccident() { + return trafficAccidentMapper.getTrafficAccident(); + } + + @Override + public List<Map<String, Object>> getGeographyData() { + return geographyDataMapper.getGeographyData(); + } } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java index 9d33f18..707ee8a 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java @@ -63,6 +63,7 @@ Map<String, Object> params = bo.getParams(); LambdaQueryWrapper<RsGeographyData> lqw = Wrappers.lambdaQuery(); lqw.like(StringUtils.isNotBlank(bo.getName()), RsGeographyData::getName, bo.getName()); + lqw.orderByDesc(RsGeographyData::getCreateTime); return lqw; } @@ -86,7 +87,6 @@ @Override public Boolean updateByBo(RsGeographyDataBo bo) { RsGeographyData update = MapstructUtils.convert(bo, RsGeographyData.class); - validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java index c710eac..598541a 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java @@ -105,7 +105,6 @@ @Override public Boolean updateByBo(RsPcrDataBo bo) { RsPcrData update = MapstructUtils.convert(bo, RsPcrData.class); - validEntityBeforeSave(update); // 鍚敤鏂版暟鎹皢鍏朵綑鍚岀被鍨嬫暟鎹敼涓虹鐢� if (bo.getStatus().equals(1L)) { LambdaUpdateWrapper<RsPcrData> updateWrapper = new LambdaUpdateWrapper<>(); diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java new file mode 100644 index 0000000..c107792 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java @@ -0,0 +1,111 @@ +package org.dromara.demo.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.demo.domain.RsTrafficAccident; +import org.dromara.demo.domain.bo.RsTrafficAccidentBo; +import org.dromara.demo.domain.vo.RsTrafficAccidentVo; +import org.dromara.demo.mapper.RsTrafficAccidentMapper; +import org.dromara.demo.service.IRsTrafficAccidentService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 浜ら�氫簨鏁匰ervice涓氬姟灞傚鐞� + * + * @author gonghl + * @date 2024-03-11 + */ +@RequiredArgsConstructor +@Service +public class RsTrafficAccidentServiceImpl implements IRsTrafficAccidentService { + + private final RsTrafficAccidentMapper baseMapper; + + /** + * 鏌ヨ浜ら�氫簨鏁� + */ + @Override + public RsTrafficAccidentVo queryById(String id) { + return baseMapper.selectVoById(id); + } + + /** + * 鏌ヨ浜ら�氫簨鏁呭垪琛� + */ + @Override + public TableDataInfo<RsTrafficAccidentVo> queryPageList(RsTrafficAccidentBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<RsTrafficAccident> lqw = buildQueryWrapper(bo); + Page<RsTrafficAccidentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ浜ら�氫簨鏁呭垪琛� + */ + @Override + public List<RsTrafficAccidentVo> queryList(RsTrafficAccidentBo bo) { + LambdaQueryWrapper<RsTrafficAccident> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper<RsTrafficAccident> buildQueryWrapper(RsTrafficAccidentBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<RsTrafficAccident> lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getTitle()), RsTrafficAccident::getTitle, bo.getTitle()); + lqw.eq(bo.getStatus() != null, RsTrafficAccident::getStatus, bo.getStatus()); + lqw.orderByAsc(RsTrafficAccident::getSequence); + return lqw; + } + + /** + * 鏂板浜ら�氫簨鏁� + */ + @Override + public Boolean insertByBo(RsTrafficAccidentBo bo) { + RsTrafficAccident add = MapstructUtils.convert(bo, RsTrafficAccident.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 淇敼浜ら�氫簨鏁� + */ + @Override + public Boolean updateByBo(RsTrafficAccidentBo bo) { + RsTrafficAccident update = MapstructUtils.convert(bo, RsTrafficAccident.class); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(RsTrafficAccident entity) { + entity.setCreateTime(new Date()); + } + + /** + * 鎵归噺鍒犻櫎浜ら�氫簨鏁� + */ + @Override + public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { + if (isValid) { + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java index f78cbd3..ee7123a 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java @@ -116,7 +116,6 @@ @Override public Boolean updateByBo(RsTrafficIndexBo bo) { RsTrafficIndex update = MapstructUtils.convert(bo, RsTrafficIndex.class); - validEntityBeforeSave(update); // 鍚敤鏂版暟鎹皢鎵�鏈夋暟鎹敼涓虹鐢� if (bo.getStatus().equals(1)) { LambdaUpdateWrapper<RsTrafficIndex> updateWrapper = new LambdaUpdateWrapper<>(); diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java index a7d9e71..971c308 100644 --- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java @@ -88,7 +88,6 @@ @Override public Boolean updateByBo(TargetDataBo bo) { TargetData update = MapstructUtils.convert(bo, TargetData.class); - validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/PeriodDate.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/PeriodDate.java new file mode 100644 index 0000000..50c9b5c --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/PeriodDate.java @@ -0,0 +1,315 @@ +package org.dromara.demo.util; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import org.springframework.util.StringUtils; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +public class PeriodDate { + public static final String FORMAT_YYYY_MM_DD = "yyyy-MM-dd"; + + //浠婂ぉ + public String today = DateUtil.today(); + public DateTime date = DateUtil.date(); + //鏈湀 + public String month = DateUtil.format(date, "M"); + //鏈懆鐨勭涓�澶� + public String weekFirst = PeriodDate.getThisWeekOfFirstDate(); + //鏈懆鐨勬渶鍚庝竴澶� + public String weekEnd = DateUtil.format(DateUtil.offsetDay(date, 4), "yyyy-MM-dd"); + //鏈湀鐨勭涓�澶� + public String MonthFirst = PeriodDate.getThisMonthOfFirstDate(0); + //鏈湀鐨勬渶鍚庝竴澶� + public String MonthEnd = PeriodDate.getThisMouthLastDay(); + //鏈搴︾殑鏈�鍚庝竴澶� + public String lastdateTimSeason = PeriodDate.getCurrQuarter(Integer.valueOf(PeriodDate.getQuarter()))[1]; + //鏈搴︾殑绗竴澶� + public String firstdateTimSeason = PeriodDate.getCurrQuarter(Integer.valueOf(PeriodDate.getQuarter()))[0]; + //鏈湀澶╂暟 + public int daysInMonth = PeriodDate.getDaysOfMonth(); + + public static String changeSqlNotNull(String sql) { + String[] strings = sql.split(","); + String returnSql = ""; + for (String str : strings) { + if (str.contains("''")) { + returnSql = returnSql + str + ","; + } else { + returnSql = returnSql + "ifnull(" + str + ",'') " + str + ","; + + } + } + return returnSql.substring(0, returnSql.length() - 1); + } + + + /** + * 鑾峰彇涓や釜鏃ユ湡涔嬮棿鐨勬墍鏈夋棩鏈�(瀛楃涓叉牸寮�, 鎸夊ぉ璁$畻) + * + * @param startTime String 寮�濮嬫椂闂� yyyy-MM-dd + * @param endTime String 缁撴潫鏃堕棿 yyyy-MM-dd + * @return + */ + public static List<String> getBetweenDays(String startTime, String endTime) throws ParseException { + if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) { + return null; + } + //1銆佸畾涔夎浆鎹㈡牸寮� + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + + Date start = df.parse(startTime); + Date end = df.parse(endTime); + if (StringUtils.isEmpty(start) || StringUtils.isEmpty(end)) { + return null; + } + List<String> result = new ArrayList<String>(); + + Calendar tempStart = Calendar.getInstance(); + tempStart.setTime(start); + + tempStart.add(Calendar.DAY_OF_YEAR, 1); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar tempEnd = Calendar.getInstance(); + tempEnd.setTime(end); + result.add(sdf.format(start)); + while (tempStart.before(tempEnd) || tempStart.equals(tempEnd)) { + result.add(sdf.format(tempStart.getTime())); + tempStart.add(Calendar.DAY_OF_YEAR, 1); + } + return result; + } + + /** + * 鏈懆鐨勭涓�澶� + * + * @return + */ + public static String getThisWeekOfFirstDate() { + SimpleDateFormat format = new SimpleDateFormat(FORMAT_YYYY_MM_DD); + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); + return format.format(calendar.getTime()); + } + + + /** + * @param i 涓�0琛ㄧず鏈湀,涓�1琛ㄧず涓嬫湀,涓�-1琛ㄧず涓婃湀 + * @return + * @throws + * @Title: DateUtil + * @Description: 鑾峰彇鏈湀褰撳墠鏃堕棿(鎴栬�呬笂鏈堜笅鏈�) + * @author lin + * @since 2019骞�12鏈�5鏃ヤ笅鍗�4:02:44 + */ + public static String getTime1(Integer i) { + Calendar calendar = Calendar.getInstance(); + if (i != null) { + calendar.add(Calendar.MONTH, i); + } + int year = calendar.get(Calendar.YEAR); + int month = calendar.get(Calendar.MONTH); + int day = calendar.get(Calendar.DATE); + return year + "-" + (month + 1) + "-" + day; + } + + /** + * @param //i涓�0琛ㄧず鏈湀涓�1琛ㄧず涓嬫湀 + * @return + * @throws + * @Title: DateUtil + * @Description: 鑾峰彇鏈湀绗竴澶�(鑾峰彇鏈湀鐨勭涓�澶�) + * @author lin + * @since 2019骞�12鏈�5鏃ヤ笅鍗�3:59:55 + */ + public static String getThisMonthOfFirstDate(Integer i) { + SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd"); + Calendar calendar = Calendar.getInstance(); + if (i != null) { + calendar.add(Calendar.MONTH, i); + } + calendar.set(Calendar.DAY_OF_MONTH, Calendar.SUNDAY); + return format.format(calendar.getTime()); + } + + /** + * 鑾峰彇鏈湀鏈�鍚庝竴澶� + * + * @return + */ + public static String getThisMouthLastDay() { + //璁剧疆鏃堕棿鏍煎紡 + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + //鑾峰緱瀹炰綋绫� + Calendar ca = Calendar.getInstance(); + //璁剧疆鏈�鍚庝竴澶� + ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); + //鏈�鍚庝竴澶╂牸寮忓寲 + String lastDay = format.format(ca.getTime()); + return lastDay; + } + + /** + * 鏌愪竴涓湀绗竴澶╁拰鏈�鍚庝竴澶� + * + * @param date 鎸囧畾鏃ユ湡 + * @param pattern 鏃ユ湡鏍煎紡 + * @param //isNeedHms鏄惁闇�瑕佹椂鍒嗙 + * @return + */ + public static Map<String, Object> getFirstLastDayByMonth(Date date, + String pattern, boolean isNeedHms) { + SimpleDateFormat df = new SimpleDateFormat(pattern); + Calendar calendar = Calendar.getInstance(); + + calendar.setTime(date); + Date theDate = calendar.getTime(); + + // 绗竴澶� + GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance(); + gcLast.setTime(theDate); + gcLast.set(Calendar.DAY_OF_MONTH, 1); + String day_first = df.format(gcLast.getTime()); + StringBuffer str = new StringBuffer().append(day_first); + if (isNeedHms) { + str.append(" 00:00:00"); + } + day_first = str.toString(); + + // 鏈�鍚庝竴澶� + calendar.add(Calendar.MONTH, 1); // 鍔犱竴涓湀 + calendar.set(Calendar.DATE, 1); // 璁剧疆涓鸿鏈堢涓�澶� + calendar.add(Calendar.DATE, -1); // 鍐嶅噺涓�澶╁嵆涓轰笂涓湀鏈�鍚庝竴澶� + String day_last = df.format(calendar.getTime()); + StringBuffer endStr = new StringBuffer().append(day_last); + if (isNeedHms) { + endStr.append(" 23:59:59"); + } + day_last = endStr.toString(); + + Map<String, Object> map = new HashMap<String, Object>(); + map.put("first", day_first); + map.put("last", day_last); + return map; + } + + + /** + * 鑾峰彇褰撳墠瀛e害 + */ + public static String getQuarter() { + Calendar c = Calendar.getInstance(); + int month = c.get(Calendar.MONTH) + 1; + int quarter = 0; + if (month >= 1 && month <= 3) { + quarter = 1; + } else if (month >= 4 && month <= 6) { + quarter = 2; + } else if (month >= 7 && month <= 9) { + quarter = 3; + } else { + quarter = 4; + } + return quarter + ""; + } + + /** + * 鑾峰彇鏌愬搴︾殑绗竴澶╁拰鏈�鍚庝竴澶� + * + * @param //num绗嚑瀛e害 + */ + public static String[] getCurrQuarter(int num) { + String[] s = new String[2]; + String str = ""; + // 璁剧疆鏈勾鐨勫 + Calendar quarterCalendar = null; + switch (num) { + case 1: // 鏈勾鍒扮幇鍦ㄧ粡杩囦簡涓�涓搴︼紝鍦ㄥ姞涓婂墠4涓搴� + quarterCalendar = Calendar.getInstance(); + quarterCalendar.set(Calendar.MONTH, 3); + quarterCalendar.set(Calendar.DATE, 1); + quarterCalendar.add(Calendar.DATE, -1); + str = PeriodDate.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd"); + s[0] = str.substring(0, str.length() - 5) + "01-01"; + s[1] = str; + break; + case 2: // 鏈勾鍒扮幇鍦ㄧ粡杩囦簡浜屼釜瀛e害锛屽湪鍔犱笂鍓嶄笁涓搴� + quarterCalendar = Calendar.getInstance(); + quarterCalendar.set(Calendar.MONTH, 6); + quarterCalendar.set(Calendar.DATE, 1); + quarterCalendar.add(Calendar.DATE, -1); + str = PeriodDate.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd"); + s[0] = str.substring(0, str.length() - 5) + "04-01"; + s[1] = str; + break; + case 3:// 鏈勾鍒扮幇鍦ㄧ粡杩囦簡涓変釜瀛e害锛屽湪鍔犱笂鍓嶄簩涓搴� + quarterCalendar = Calendar.getInstance(); + quarterCalendar.set(Calendar.MONTH, 9); + quarterCalendar.set(Calendar.DATE, 1); + quarterCalendar.add(Calendar.DATE, -1); + str = PeriodDate.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd"); + s[0] = str.substring(0, str.length() - 5) + "07-01"; + s[1] = str; + break; + case 4:// 鏈勾鍒扮幇鍦ㄧ粡杩囦簡鍥涗釜瀛e害锛屽湪鍔犱笂鍓嶄竴涓搴� + quarterCalendar = Calendar.getInstance(); + str = PeriodDate.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd"); + s[0] = str.substring(0, str.length() - 5) + "10-01"; + s[1] = str.substring(0, str.length() - 5) + "12-31"; + break; + } + return s; + } + + /** + * 鐢ㄩ�旓細浠ユ寚瀹氱殑鏍煎紡鏍煎紡鍖栨棩鏈熷瓧绗︿覆 + * + * @param pattern 瀛楃涓茬殑鏍煎紡 + * @param currentDate 琚牸寮忓寲鏃ユ湡 + * @return String 宸叉牸寮忓寲鐨勬棩鏈熷瓧绗︿覆 + * @throws NullPointerException 濡傛灉鍙傛暟涓虹┖ + */ + public static String formatDate(Date currentDate, String pattern) { + if (currentDate == null || "".equals(pattern) || pattern == null) { + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat(pattern); + return sdf.format(currentDate); + } + + /** + * @return java.util.List<java.lang.String> + * @Author Lin + * @Description + * @Date 2021/3/10 14:17 + * @Param [] + **/ + public static List<String> getStartDateToEndDate(String startDate, String endDate) { + List<String> betweenDays = null; + try { + betweenDays = PeriodDate.getBetweenDays(startDate, endDate); + System.out.println(betweenDays); + } catch (ParseException e) { + e.printStackTrace(); + } + return betweenDays; + } + + /** + * @return int + * @Author Lin + * @Description 鏈湀澶╂暟 + * @Date 2021/3/10 14:48 + * @Param [date] + **/ + public static int getDaysOfMonth() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + return calendar.getActualMaximum(Calendar.DAY_OF_MONTH); + } + + +} diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml index 1f123df..5f4a3df 100644 --- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml +++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml @@ -4,4 +4,19 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.dromara.demo.mapper.RsDangerInfoMapper"> + <resultMap id="DangerInfoList" type="org.dromara.demo.domain.vo.RsDangerInfoVo"> + <id column="id" jdbcType="VARCHAR" property="id" /> + <result column="notification_time" jdbcType="VARCHAR" property="notificationTime" /> + <result column="danger_type" jdbcType="VARCHAR" property="dangerType" /> + <result column="accountability_unit" jdbcType="VARCHAR" property="accountabilityUnit" /> + <result column="rectification_time_limit" jdbcType="VARCHAR" property="rectificationTimeLimit" /> + <result column="performance" jdbcType="VARCHAR" property="performance" /> + <result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> + <result column="status" jdbcType="INTEGER" property="status" /> + <collection property="imgList" ofType="org.dromara.system.domain.vo.SysOssVo"/> + </resultMap> + + <select id="getDangerInfo" resultMap="DangerInfoList"> + select * from rs_danger_info a left join sys_oss b on a.id = b.tenant_id where `status` = 1 order by a.create_time, b.create_time + </select> </mapper> diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml index 680f7f2..e81c496 100644 --- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml +++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.dromara.demo.mapper.RsDangerTotalMapper"> <select id="getDangerTotalNums" resultType="org.dromara.demo.domain.vo.RsDangerTotalDashboardVo"> @@ -10,5 +10,12 @@ where status = 1 </select> + <select id="getDangerTotalInfo" resultType="org.dromara.demo.domain.vo.RsDangerTotalVo"> + select * + from rs_danger_total + where period_date >= SUBSTRING(#{periodDate}, 1, 7) + and status = 1 + order by create_time desc + </select> </mapper> diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml index b641182..32f3e24 100644 --- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml +++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml @@ -4,4 +4,27 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.dromara.demo.mapper.RsGeographyDataMapper"> + <select id="getGeographyData" resultType="java.util.Map"> + select b.type, count(id) as nums + from rs_geography_data a + right join (select '浜嬫晠鏄撳彂澶氬彂璺' as type, 1 as sort + union all + select '閲嶇偣鏃呮父閫氶亾' as type, 2 as sort + union all + select '閮芥睙鍫版櫙鍖�' as type, 3 as sort + union all + select '璀﹀姏閰嶅' as type, 4 as sort + union all + select '鎵撳洿鏂藉伐' as type, 5 as sort + union all + select '浜ら�氫簨鏁呮槗鍙戠偣' as type, 6 as sort + union all + select '閲嶇偣杩愯緭浼佷笟' as type, 7 as sort + union all + select '鍏氦绾胯矾' as type, 8 as sort + union all + select '瀹夊叏闅愭偅' as type, 9 as sort) b on a.type = b.type and a.status = 1 + group by b.type + order by b.sort + </select> </mapper> diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficAccidentMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficAccidentMapper.xml new file mode 100644 index 0000000..d4fe217 --- /dev/null +++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficAccidentMapper.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.dromara.demo.mapper.RsTrafficAccidentMapper"> + + <select id="getTrafficAccident" resultType="org.dromara.demo.domain.vo.RsTrafficAccidentVo"> + select a.*, b.url from rs_traffic_accident a left join sys_oss b on a.id = b.tenant_id where `status` = 1 order by sequence + </select> +</mapper> diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml index c928e85..e0d3b36 100644 --- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml +++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml @@ -8,4 +8,14 @@ select * from rs_target_icon order by id </select> + <select id="getTrafficIndex" resultType="org.dromara.demo.domain.vo.RsTrafficIndexVo"> + select + *, + (select url from rs_target_icon a left join sys_oss b on a.id = b.tenant_id where `name` = '鎸囨爣1鍥炬爣') as target_one_icon, + (select url from rs_target_icon a left join sys_oss b on a.id = b.tenant_id where `name` = '鎸囨爣2鍥炬爣') as target_two_icon, + (select url from rs_target_icon a left join sys_oss b on a.id = b.tenant_id where `name` = '鎸囨爣3鍥炬爣') as target_three_icon, + (select url from rs_target_icon a left join sys_oss b on a.id = b.tenant_id where `name` = '鎸囨爣4鍥炬爣') as target_four_icon + from rs_traffic_index where `status` = 1 order by create_time desc limit 1 + </select> + </mapper> diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml index 6203eb7..00aa648 100644 --- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml +++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml @@ -8,4 +8,8 @@ update rs_traffic_propaganda set sequence = sequence + 1 where sequence >= #{sequence} and id != #{id} </update> + <select id="getTrafficPropaganda" resultType="org.dromara.demo.domain.vo.RsTrafficPropagandaVo"> + select a.*, b.url from rs_traffic_propaganda a left join sys_oss b on a.id = b.tenant_id where `status` = 1 order by sequence + </select> + </mapper> -- Gitblit v1.8.0