diff --git a/deploy_dev.ps1 b/deploy_dev.ps1 index fd59bda..7172cad 100644 --- a/deploy_dev.ps1 +++ b/deploy_dev.ps1 @@ -1,5 +1,5 @@ -$src="./target/gunshi-project-xyt-1.0-SNAPSHOT.jar" -$dst_dir="~/gunshiApp/tsg" +$src="./target/gunshi-project-hsz-1.0-SNAPSHOT.jar" +$dst_dir="~/gunshiApp/hsz" $dst_host="10.0.41.112" $dst_port=22 $user="root" diff --git a/docker-compose.yml b/docker-compose.yml index 34ee134..ccda26e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,14 +1,14 @@ services: - xyt: + hsz: image: openjdk:21 - container_name: tsg + container_name: hsz restart: no network_mode: host volumes: - - /root/gunshiApp/xyt:/app + - /root/gunshiApp/hsz:/app - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro environment: - SPRING_PROFILES_ACTIVE=dev - TZ=Asia/Shanghai - command: java -jar /app/gunshi-project-xyt-1.0-SNAPSHOT.jar \ No newline at end of file + command: java -jar /app/gunshi-project-hsz-1.0-SNAPSHOT.jar \ No newline at end of file diff --git a/pom.xml b/pom.xml index c86adad..1606168 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ 1.4-SNAPSHOT - gunshi-project-xyt + gunshi-project-hsz 1.0-SNAPSHOT 麻城小玉潭水库系统 @@ -231,7 +231,7 @@ - com.gunshi.project.xyt.Main + com.gunshi.project.hsz.Main org.projectlombok diff --git a/src/main/java/com/gunshi/project/hsz/Main.java b/src/main/java/com/gunshi/project/hsz/Main.java new file mode 100644 index 0000000..96ae6c0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/Main.java @@ -0,0 +1,33 @@ +package com.gunshi.project.hsz; + +import com.github.jeffreyning.mybatisplus.conf.EnableMPP; +import com.gunshi.core.annotation.GunShiApplication; +import io.swagger.v3.oas.annotations.OpenAPIDefinition; +import io.swagger.v3.oas.annotations.servers.Server; +import lombok.extern.slf4j.Slf4j; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.cache.annotation.EnableCaching; + +@OpenAPIDefinition( + servers = { + @Server( + url = "http://localhost:24105/gunshiApp/hsz", + description = "本地测试环境" + ), + @Server( + url = "http://local.gunshiiot.com:18083/gunshiApp/hsz", + description = "线上测试环境" + ) + } +) +@GunShiApplication +@MapperScan(basePackages = {"com.gunshi.**.mapper", "com.gunshi.**.model"}) +@Slf4j +@EnableMPP +@EnableCaching +public class Main { + public static void main(String[] args) { + SpringApplication.run(Main.class, args); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/config/MyE500UnknownExceptionResolver.java b/src/main/java/com/gunshi/project/hsz/config/MyE500UnknownExceptionResolver.java new file mode 100644 index 0000000..7bd0e7d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/config/MyE500UnknownExceptionResolver.java @@ -0,0 +1,31 @@ +package com.gunshi.project.hsz.config; + +import com.gunshi.core.result.R; +import com.gunshi.core.result.exception.ressolver.E500UnknownExceptionResolver; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.security.access.AccessDeniedException; +import org.springframework.web.bind.annotation.RestControllerAdvice; + + + +/** + * Description: + * Created by XuSan on 2024/7/10. + * + * @author XuSan + * @version 1.0 + */ +@RestControllerAdvice +@Order +@Slf4j +public class MyE500UnknownExceptionResolver extends E500UnknownExceptionResolver { + + public R resolve(Exception exception) { + log.error("系统未知异常,错误信息: " + exception.getMessage(), exception); + if (exception instanceof AccessDeniedException || exception.getMessage().contains("获取用户信息异常")) { + return R.error(405, "登录状态失效,请重新登录"); + } + return R.error(500, "系统未知异常,错误信息: " + exception.getMessage()); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/config/OpenApiConfig.java b/src/main/java/com/gunshi/project/hsz/config/OpenApiConfig.java new file mode 100644 index 0000000..d5353d6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/config/OpenApiConfig.java @@ -0,0 +1,27 @@ +package com.gunshi.project.hsz.config; + +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * Description: + * Created by wanyan on 2024/7/8 + * + * @author wanyan + * @version 1.0 + */ +@Configuration +public class OpenApiConfig { + + @Bean + public GroupedOpenApi openApi() { + String[] packagesToScan = { + "com.gunshi.project.hsz.controller", + }; + return GroupedOpenApi.builder() + .group("hsz") + .packagesToScan(packagesToScan) + .build(); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/AbstractCommonFileController.java b/src/main/java/com/gunshi/project/hsz/controller/AbstractCommonFileController.java new file mode 100644 index 0000000..d8e6c16 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AbstractCommonFileController.java @@ -0,0 +1,100 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.GunShiCoreProperties; +import com.gunshi.core.result.R; +import com.gunshi.core.session.entity.SessionUser; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.file.service.IFileService; +import com.gunshi.file.service.LoginFileService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import jakarta.servlet.http.HttpServletRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-03-12 + */ +public abstract class AbstractCommonFileController implements ICommonFileController { + + @Override + public R uploadSingle(MultipartFile file, String groupId, String businessType, Long userId, HttpServletRequest request) throws Exception { + return ICommonFileController.super.uploadSingle(file, getGroupId(), getBusinessType(), userId, request); + } + + /** + * 单个文件上传 + * + * @param file 文件 + * @param userId 上传者userId + */ + @Operation(summary = "单个文件上传,不需要groupId和businessType") + @PostMapping(path = "/file/upload/singleSimple", consumes = "multipart/form-data") + @Override + public R uploadSingle( + @Parameter(description = "文件") @RequestPart("file") MultipartFile file, + @Parameter(description = "上传者用户id", hidden = true) @RequestParam(value = "userId", required = false) Long userId, + @Parameter(hidden = true) HttpServletRequest request) throws Exception { + + if (userId == null) { + SessionUser sessionUser = checkLogin(request); + if (sessionUser == null) { + return R.error(400, "未登录", null); + } + userId = sessionUser.getUserId(); + } + + FileDescriptor fd = new FileDescriptor(); + fd.setBusinessType(getBusinessType()); + fd.setGroupId(getGroupId()); + fd.setUserId(userId); + fd.setAccessGroup(getService().getAccessGroup()); + fd.setFilePath(generateFilePath(getProperty().getAppCode(), getBusinessType(), userId, getGroupId(), file.getOriginalFilename())); + fd.setFileName(file.getOriginalFilename()); + fd.setFileLength(file.getSize()); + + getService().upload(fd, file.getInputStream()); + + return R.ok(fd); + } + + @Override + public String getBusinessType() { + return "common"; + } + + @Autowired + private LoginFileService service; + + @Autowired + private GunShiCoreProperties properties; + +// @Autowired +// private BaseSessionService sessionService; + + @Override + public IFileService getService() { + return service; + } + + @Override + public SessionUser checkLogin(HttpServletRequest request) { +// String token = sessionService.getToken(request); +// return sessionService.getSessionUser(token); + SessionUser user = new SessionUser(); + user.setUserId(1L); + return user; + } + + @Override + public GunShiCoreProperties getProperty() { + return properties; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/AppVersionRecordController.java b/src/main/java/com/gunshi/project/hsz/controller/AppVersionRecordController.java new file mode 100644 index 0000000..214f624 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AppVersionRecordController.java @@ -0,0 +1,53 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.AppVersionRecord; +import com.gunshi.project.hsz.service.AppVersionRecordService; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.utils.file.FileUploadUtils; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.Map; + +/** + * 描述: APP版本记录 + * author: xusan + * date: 2024-11-12 10:14:50 + */ +@Tag(name = "APP版本记录") +@RestController +@RequestMapping(value="/appVersionRecord") +public class AppVersionRecordController { + + @Autowired + private AppVersionRecordService service; + + @PostMapping("/upload") + public R upload(@RequestParam("file") MultipartFile file, @RequestParam("version") String version, @RequestParam("versionDesc") String versionDesc) throws Exception + { + Map map = new HashMap<>(); + if (!file.isEmpty()) + { + String url = FileUploadUtils.upload(RuoYiConfig.getUploadPath(),file,null); + if (service.insertData(version,versionDesc,url)) + { + map.put("url", url); + return R.ok(map); + } + } + return R.error(400,"上传失败"); + } + + + + @Operation(summary = "最新记录") + @GetMapping("/latest") + public R latest() { + return R.ok(service.getLatest()); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AssessCategoryController.java b/src/main/java/com/gunshi/project/hsz/controller/AssessCategoryController.java new file mode 100644 index 0000000..9dd9d19 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AssessCategoryController.java @@ -0,0 +1,56 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.AssessCategory; +import com.gunshi.project.hsz.service.AssessCategoryService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 考核类目 + * author: xusan + * date: 2024-09-03 17:46:30 + */ +@Tag(name = "考核类目") +@RestController +@RequestMapping(value="/assessCategory") +public class AssessCategoryController { + + @Autowired + private AssessCategoryService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AssessCategory dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AssessCategory dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().orderByAsc(AssessCategory::getOrderIndex).list()); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AssessIndicatorController.java b/src/main/java/com/gunshi/project/hsz/controller/AssessIndicatorController.java new file mode 100644 index 0000000..2386f55 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AssessIndicatorController.java @@ -0,0 +1,68 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.dto.InspectItemDto; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.model.AssessIndicator; +import com.gunshi.project.hsz.service.AssessIndicatorService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +/** + * 描述: 考核指标 + * author: xusan + * date: 2024-09-03 17:46:56 + */ +@Tag(name = "考核指标") +@RestController +@RequestMapping(value="/assessIndicator") +public class AssessIndicatorController { + + @Autowired + private AssessIndicatorService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AssessIndicator dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AssessIndicator dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "启停") + @PostMapping("/startStop") + public R startStop(@RequestBody InspectItemDto dto) { + return R.ok(service.startStop(dto)); + } + + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated AttCctvBasePage page) { + return R.ok(service.pageQuery(page)); + } + + @Operation(summary = "选择指标") + @PostMapping("/choose") + public R> choosePage(@RequestBody @Validated AttCctvBasePage page) { + return R.ok(service.choosePage(page)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AssessTaskController.java b/src/main/java/com/gunshi/project/hsz/controller/AssessTaskController.java new file mode 100644 index 0000000..5b0fecd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AssessTaskController.java @@ -0,0 +1,132 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.db.dto.MonthRangeSo; +import com.gunshi.project.hsz.entity.so.AssessTaskPageSo; +import com.gunshi.project.hsz.entity.vo.AssessResultVo; +import com.gunshi.project.hsz.model.AssessTask; +import com.gunshi.project.hsz.service.AssessTaskService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 描述: 考核任务 + * author: xusan + * date: 2024-09-05 14:19:04 + */ +@Tag(name = "考核任务") +@RestController +@RequestMapping(value="/assessTask") +public class AssessTaskController extends AbstractCommonFileController{ + + @Autowired + private AssessTaskService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AssessTask dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AssessTask dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "详情") + @GetMapping("/detail/{id}") + public R detail(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.detail(id)); + } + + @Operation(summary = "考核任务清单") + @PostMapping("/list/page") + public R> listPage(@Validated @RequestBody AssessTaskPageSo page) { + return R.ok(service.listPage(page)); + } + + @Operation(summary = "启动") + @GetMapping("/start/{id}") + public R start(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.start(id)); + } + + @Operation(summary = "我的待办") + @PostMapping("/myTodo/page") + public R> myTodo(@Validated @RequestBody AssessTaskPageSo page) { + return R.ok(service.myTodo(page)); + } + + @Operation(summary = "我的已办") + @PostMapping("/myDone/page") + public R> myDone(@Validated @RequestBody AssessTaskPageSo page) { + return R.ok(service.myDone(page)); + } + + @Operation(summary = "审核通过") + @GetMapping("/pass/{id}") + public R pass(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.pass(id)); + } + + @Operation(summary = "作废") + @GetMapping("/cancel/{id}") + public R cancel(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.cancel(id)); + } + + @Operation(summary = "驳回评分") + @GetMapping("/reject/{id}") + public R reject(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.reject(id)); + } + + @Operation(summary = "考核结果") + @GetMapping("/result/{id}") + public R> result(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.result(id)); + } + + @Operation(summary = "考核结果导出") + @GetMapping("/result/export") + public void resultExport(@RequestParam("id") @Parameter(description = "考核任务id") Long id, HttpServletResponse response) { + service.resultExport(id,response); + } + + @Operation(summary = "人员考核结果") + @PostMapping("/result/stat") + public R> resultStat(@Validated @RequestBody MonthRangeSo monthRangeSo) { + return R.ok(service.resultStat(monthRangeSo)); + } + + @Operation(summary = "等级统计") + @PostMapping("/level/stat") + public R> levelStat(@Validated @RequestBody MonthRangeSo monthRangeSo) { + return R.ok(service.levelStat(monthRangeSo)); + } + + @Override + public String getGroupId() { + return "assessTask"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AssessTeamRatingController.java b/src/main/java/com/gunshi/project/hsz/controller/AssessTeamRatingController.java new file mode 100644 index 0000000..5c3c693 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AssessTeamRatingController.java @@ -0,0 +1,82 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.db.dto.MonthRangeSo; +import com.gunshi.project.hsz.entity.so.AssessTaskPageSo; +import com.gunshi.project.hsz.entity.vo.AssessRatingVo; +import com.gunshi.project.hsz.entity.vo.AssessRectifyVo; +import com.gunshi.project.hsz.entity.vo.AssessScoreVo; +import com.gunshi.project.hsz.model.AssessTeamRating; +import com.gunshi.project.hsz.service.AssessTeamRatingService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 描述: 考核评分详情 + * author: xusan + * date: 2024-09-05 14:20:04 + */ +@Tag(name = "考核评分详情") +@RestController +@RequestMapping(value="/assessTeamRating") +public class AssessTeamRatingController extends AbstractCommonFileController{ + + @Autowired + private AssessTeamRatingService service; + + + @Operation(summary = "完成评分") + @PostMapping("/score") + public R score(@Validated @RequestBody AssessScoreVo vo) { + return R.ok(service.score(vo)); + } + + @Operation(summary = "保存评分") + @PostMapping("/saveScore") + public R saveScore(@Validated @RequestBody AssessScoreVo vo) { + return R.ok(service.saveScore(vo)); + } + + @Operation(summary = "我的待办/已办-查看评分详情") + @GetMapping("/do/detail/{teamId}") + public R> doDetail(@Schema(name = "teamId") @PathVariable("teamId") Long teamId) { + return R.ok(service.doDetail(teamId)); + } + + @Operation(summary = "考核任务清单-查看评分详情") + @GetMapping("/scoreDetail/{objectId}") + public R>> scoreDetail(@Schema(name = "objectId") @PathVariable("objectId") Long objectId) { + return R.ok(service.scoreDetail(objectId)); + } + + @Operation(summary = "考核问题整改") + @PostMapping("/list/page") + public R> listPage(@Validated @RequestBody AssessTaskPageSo page) { + return R.ok(service.listPage(page)); + } + + @Operation(summary = "整改") + @PostMapping("/rectify") + public R rectify(@Validated @RequestBody AssessTeamRating rating) { + return R.ok(service.rectify(rating)); + } + + @Operation(summary = "整改统计") + @PostMapping("/rectify/stat") + public R> rectifyStat(@Validated @RequestBody MonthRangeSo monthRangeSo) { + return R.ok(service.rectifyStat(monthRangeSo)); + } + + @Override + public String getGroupId() { + return "assessTeamRating"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AssessTemplateController.java b/src/main/java/com/gunshi/project/hsz/controller/AssessTemplateController.java new file mode 100644 index 0000000..724de23 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AssessTemplateController.java @@ -0,0 +1,82 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.dto.InspectItemDto; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.model.AssessIndicator; +import com.gunshi.project.hsz.model.AssessTemplate; +import com.gunshi.project.hsz.service.AssessTemplateService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +/** + * 描述: 考核模板 + * author: xusan + * date: 2024-09-04 13:42:40 + */ +@Tag(name = "考核模板") +@RestController +@RequestMapping(value="/assessTemplate") +public class AssessTemplateController { + + @Autowired + private AssessTemplateService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AssessTemplate dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AssessTemplate dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "启停") + @PostMapping("/startStop") + public R startStop(@RequestBody InspectItemDto dto) { + return R.ok(service.startStop(dto)); + } + + @Operation(summary = "列表") + @PostMapping("/listByType/{templateFreq}") + public R> listByType(@Schema(name = "templateFreq") @PathVariable("templateFreq") Integer templateFreq) { + return R.ok(service.listByType(templateFreq)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated AttCctvBasePage page) { + return R.ok(service.pageQuery(page)); + } + + @Operation(summary = "根据模板id查询模板详情") + @GetMapping("/detail/{id}") + public R detail(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.getById(id)); + } + + @Operation(summary = "根据模板id查询关联的指标") + @GetMapping("/queryIndicators/{id}") + public R> queryIndicators(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.queryIndicators(id)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttCctvBaseController.java b/src/main/java/com/gunshi/project/hsz/controller/AttCctvBaseController.java new file mode 100644 index 0000000..a79e4cc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttCctvBaseController.java @@ -0,0 +1,187 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.entity.vo.CctvControlVo; +import com.gunshi.project.hsz.model.AttCctvBase; +import com.gunshi.project.hsz.model.CctvBMenu; +import com.gunshi.project.hsz.service.AttCctvBaseService; +import com.gunshi.project.hsz.service.CctvBMenuService; +import com.gunshi.project.hsz.util.OkHttpUtil; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 视频基本信息表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "视频基本信息表") +@RestController +@RequestMapping(value="/attCctvBase") +public class AttCctvBaseController { + + @Autowired + private AttCctvBaseService service; + + @Autowired + private CctvBMenuService menuService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AttCctvBase dto) { + dto.setId(IdWorker.getId()); + dto.setCreateTime(new Date()); + if (StringUtils.isNotBlank(dto.getName()) && service.lambdaQuery().eq(AttCctvBase::getName,dto.getName()) + .count() > 0){ + throw new IllegalArgumentException("当前名称已存在"); + } + if (Objects.nonNull(dto.getMenuId()) && menuService.lambdaQuery().eq(CctvBMenu::getId,dto.getMenuId()) + .count() == 0 + ){ + throw new IllegalArgumentException("当前视频点目录不存在"); + } + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttCctvBase dto) { + + if (Objects.isNull(service.getById(dto.getId()))){ + throw new RuntimeException("当前数据不存在"); + } + if (StringUtils.isNotBlank(dto.getName()) && service.lambdaQuery().eq(AttCctvBase::getName,dto.getName()) + .ne(AttCctvBase::getId,dto.getId()) + .count() > 0){ + throw new IllegalArgumentException("当前名称已存在"); + } + + if (Objects.nonNull(dto.getMenuId()) && menuService.lambdaQuery().eq(CctvBMenu::getId,dto.getMenuId()) + .count() == 0 + ){ + throw new IllegalArgumentException("当前视频点目录不存在"); + } + dto.setCreateTime(null); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))){ + throw new RuntimeException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated AttCctvBasePage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + if (ObjectUtils.isNotNull(page.getCode())) { + query.like(AttCctvBase::getIndexCode, page.getCode()); + } + if (ObjectUtils.isNotNull(page.getMenuId())) { + query.eq(AttCctvBase::getMenuId, page.getMenuId()); + } + if (ObjectUtils.isNotNull(page.getName())) { + query.like(AttCctvBase::getName, page.getName()); + } + if (ObjectUtils.isNotNull(page.getType())) { + query.eq(AttCctvBase::getType, Integer.valueOf(page.getType())); + } + query.orderByDesc(AttCctvBase::getCreateTime); + Page basePage = service.page(page.getPageSo().toPage(), query); + List records = basePage.getRecords(); + if (CollectionUtils.isNotEmpty(records)){ + List list = menuService.list(); + if (CollectionUtils.isNotEmpty(list)){ + Map> listMap = list.stream(). + collect(Collectors.groupingBy(CctvBMenu::getId, Collectors.mapping(CctvBMenu::getName, Collectors.toList()))); + + records.forEach(item -> { + if (Objects.nonNull(item.getMenuId())){ + item.setMenuName(listMap.get(item.getMenuId()).getFirst()); + } + }); + } + basePage.setRecords(records); + } + return R.ok(basePage); + } + + @Operation(summary = "获取预览地址") + @GetMapping("/preview/{indexCode}") + public R preview(@PathVariable("indexCode") String indexCode) { + String api = "http://223.75.53.141:81/isc/liveAddressLimited?cameraIndexCode=%s&protocol=ws&token=111"; + OkHttpClient client = OkHttpUtil.build(); + String ret = null; + try { + Response resp = client.newCall(new Request.Builder().url(String.format(api, indexCode)).build()).execute(); + String respStr = resp.body().string(); + ObjectMapper om = new ObjectMapper(); + Map map = om.readValue(respStr, Map.class); + ret = map.get("data").toString(); + } catch (IOException e) { + throw new RuntimeException(e); + } + return R.ok(ret); + } + + @Operation(summary = "云台控制") + @PostMapping("/control") + public R control(@RequestBody CctvControlVo vo) { + String indexCode = vo.getIndexCode(); + Integer action = vo.getAction(); + Integer speed = vo.getSpeed(); + String command = vo.getCommand(); + String api = "http://223.75.53.141:81/isc/controlling?cameraIndexCode="+indexCode+"&action="+action+"&speed="+speed+"&command="+command+"&token=111"; + OkHttpClient client = OkHttpUtil.build(); + String ret = null; + try { + Response resp = client.newCall(new Request.Builder().url(api).build()).execute(); + ret = resp.body().string(); + } catch (IOException e) { + throw new RuntimeException(e); + } + return R.ok(ret); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttDamBaseController.java b/src/main/java/com/gunshi/project/hsz/controller/AttDamBaseController.java new file mode 100644 index 0000000..d0e5233 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttDamBaseController.java @@ -0,0 +1,131 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.GeneralDataPage; +import com.gunshi.project.hsz.model.AttDamBase; +import com.gunshi.project.hsz.service.AttDamBaseService; +import com.gunshi.project.hsz.service.AttResBaseService; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 大坝表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "大坝表") +@RestController +@RequestMapping(value="/attDamBase") +public class AttDamBaseController extends AbstractCommonFileController{ + + @Autowired + private AttDamBaseService service; + + @Autowired + private FileAssociationsService fileService; + + @Autowired + private AttResBaseService resService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AttDamBase dto) { + if (StringUtils.isNotBlank(dto.getResCode()) && Objects.isNull(resService.getById(dto.getResCode()))){ + throw new RuntimeException("当前水库不存在"); + } + dto.setDamCode(IdWorker.get32UUID()); + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getDamCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttDamBase dto) { + if (StringUtils.isNotBlank(dto.getResCode()) && Objects.isNull(resService.getById(dto.getResCode()))){ + throw new RuntimeException("当前水库不存在"); + } + if (Objects.isNull(service.getById(dto.getDamCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = service.updateById(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getDamCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = service.removeById(id); + if (data){ + fileService.deleteFile(getGroupId(),id.toString()); + } + return R.ok(data); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "获取主副坝,拦洪坝信息") + @GetMapping("/info") + public R> info(@Schema(name = "isMain",description = "是否主坝(0否 1是 2拦洪坝)") @RequestParam(name = "isMain") Integer isMain) { + return R.ok(service.lambdaQuery().eq(AttDamBase::getIsMain,isMain).list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated GeneralDataPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + if (ObjectUtils.isNotNull(page.getCode())){ + query.like(AttDamBase::getDamCode, page.getCode()); + } + if (ObjectUtils.isNotNull(page.getName())){ + query.like(AttDamBase::getDamName, page.getName()); + } + return R.ok(service.page(page.getPageSo().toPage(),query)); + } + @Operation(summary = "查看详情") + @GetMapping("/get/{id}") + public R page(@PathVariable("id") Serializable id) { + AttDamBase data = service.getById(id); + if (Objects.nonNull(data)){ + data.setFiles(fileService.getFiles(getGroupId(),data.getDamCode())); + } + return R.ok(data); + } + + @Override + public String getGroupId() { + return "attDamBase"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttDamProfileController.java b/src/main/java/com/gunshi/project/hsz/controller/AttDamProfileController.java new file mode 100644 index 0000000..e3c5781 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttDamProfileController.java @@ -0,0 +1,131 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.GeneralDataPage; +import com.gunshi.project.hsz.entity.vo.ProfilePressTreeVo; +import com.gunshi.project.hsz.model.AttDamProfile; +import com.gunshi.project.hsz.service.AttDamProfileService; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 监测断面信息表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "监测断面信息表") +@RestController +@RequestMapping(value="/attDamProfile") +public class AttDamProfileController extends AbstractCommonFileController{ + + @Autowired + private AttDamProfileService service; + + @Autowired + private FileAssociationsService fileService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AttDamProfile dto) { + if (Objects.nonNull(service.getById(dto.getProfileCode()))) { + throw new IllegalArgumentException("当前编号已存在"); + }else{ + dto.setProfileCode(String.valueOf(IdWorker.getId())); + } + if (StringUtils.isNotBlank(dto.getProfileName())){ + if (service.lambdaQuery().eq(AttDamProfile::getProfileName,dto.getProfileName()).count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + } + + boolean result = service.save(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getProfileCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttDamProfile dto) { + if (Objects.isNull(service.getById(dto.getProfileCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + + if (StringUtils.isNotBlank(dto.getProfileName())){ + if (service.lambdaQuery().eq(AttDamProfile::getProfileName,dto.getProfileName()) + .ne(AttDamProfile::getProfileCode,dto.getProfileCode()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + } + boolean result = service.updateById(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getProfileCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + LambdaQueryWrapper wq = new LambdaQueryWrapper(); + wq.orderByAsc(AttDamProfile::getProfileCode); + List list = service.list(wq); + return R.ok(list); + } + + @Operation(summary = "断面渗压树") + @PostMapping("/tree") + public R> tree() { + return R.ok(service.tree()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated GeneralDataPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + if (ObjectUtils.isNotNull(page.getName())) { + query.like(AttDamProfile::getProfileName, page.getName()); + } + + Page data = service.page(page.getPageSo().toPage(), query); + data.getRecords().forEach(o -> o.setFiles( + fileService.getFiles(getGroupId(),o.getProfileCode()) + )); + return R.ok(data); + } + + + @Override + public String getGroupId() { + return "AttDamProfile"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttGateBController.java b/src/main/java/com/gunshi/project/hsz/controller/AttGateBController.java new file mode 100644 index 0000000..147b71b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttGateBController.java @@ -0,0 +1,65 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.GateMonitorDataVo; +import com.gunshi.project.hsz.model.AttGateB; +import com.gunshi.project.hsz.service.AttGateBService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 水闸基本情况调查表 + * author: xusan + * date: 2024-09-26 10:44:06 + */ +@Tag(name = "水闸基本情况调查表") +@RestController +@RequestMapping(value="/attGateB") +public class AttGateBController { + + @Autowired + private AttGateBService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AttGateB dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttGateB dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.queryList()); + } + + @Operation(summary = "监测数据") + @GetMapping("/data") + public R> dataList(@Schema(name = "gateCode",description = "水闸编码") @RequestParam("gateCode") String gateCode) { + return R.ok(service.dataList(gateCode)); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttGateValveController.java b/src/main/java/com/gunshi/project/hsz/controller/AttGateValveController.java new file mode 100644 index 0000000..b53dca3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttGateValveController.java @@ -0,0 +1,124 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.GeneralDataPage; +import com.gunshi.project.hsz.model.AttGateValve; +import com.gunshi.project.hsz.service.AttGateValveService; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 闸阀信息表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "闸阀信息表") +@RestController +@RequestMapping(value="/attGateValve") +public class AttGateValveController extends AbstractCommonFileController{ + + @Autowired + private AttGateValveService service; + + @Autowired + private FileAssociationsService fileService; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AttGateValve dto) { + dto.setValveCode(IdWorker.get32UUID()); + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getValveCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttGateValve dto) { + if (Objects.isNull(service.getById(dto.getValveCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = service.updateById(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getValveCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = service.removeById(id); + if (data){ + fileService.deleteFile(getGroupId(),id.toString()); + } + return R.ok(data); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated GeneralDataPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + if (ObjectUtils.isNotNull(page.getCode())){ + query.like(AttGateValve::getValveCode, page.getCode()); + } + if (ObjectUtils.isNotNull(page.getName())){ + query.like(AttGateValve::getValveName, page.getName()); + } + query.orderByDesc(AttGateValve::getCreateTime); + return R.ok(service.page(page.getPageSo().toPage(),query)); + } + + @Operation(summary = "详情") + @GetMapping("/detail") + public R detail(@Schema(name = "valveCode",description = "闸阀编码") @RequestParam("valveCode") String valveCode) { + return R.ok(service.getById(valveCode)); + } + + @Operation(summary = "查看详情") + @GetMapping("/get/{id}") + public R getDetail(@PathVariable("id") Serializable id) { + AttGateValve data = service.getById(id); + if (Objects.nonNull(data)){ + data.setFiles(fileService.getFiles(getGroupId(),data.getValveCode())); + } + return R.ok(data); + } + + + @Override + public String getGroupId() { + return "attGateValve"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttMeaWeirController.java b/src/main/java/com/gunshi/project/hsz/controller/AttMeaWeirController.java new file mode 100644 index 0000000..c593a59 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttMeaWeirController.java @@ -0,0 +1,100 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.GeneralDataPage; +import com.gunshi.project.hsz.model.AttMeaWeir; +import com.gunshi.project.hsz.service.AttMeaWeirService; +import com.gunshi.project.hsz.service.StAddvcdDService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 量水堰表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "量水堰表") +@RestController +@RequestMapping(value="/attMeaWeir") +public class AttMeaWeirController { + + @Autowired + private AttMeaWeirService service; + + @Autowired + private StAddvcdDService stAddvcdDService; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AttMeaWeir dto) { + dto.setWeirCode(IdWorker.get32UUID()); + dto.setCreateTime(new Date()); + if (StringUtils.isNotBlank(dto.getAdcd()) && Objects.isNull(stAddvcdDService.getById(dto.getAdcd()))){ + throw new IllegalArgumentException("当前行政区划不存在"); + } + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttMeaWeir dto) { + if (Objects.isNull(service.getById(dto.getWeirCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + + if (StringUtils.isNotBlank(dto.getAdcd()) && Objects.isNull(stAddvcdDService.getById(dto.getAdcd()))){ + throw new IllegalArgumentException("当前行政区划不存在"); + } + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated GeneralDataPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + if (ObjectUtils.isNotNull(page.getCode())) { + query.like(AttMeaWeir::getWeirCode, page.getCode()); + } + if (ObjectUtils.isNotNull(page.getName())) { + query.like(AttMeaWeir::getWeirName, page.getName()); + } + query.orderByDesc(AttMeaWeir::getCreateTime); + return R.ok(service.page(page.getPageSo().toPage(), query)); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttResBaseController.java b/src/main/java/com/gunshi/project/hsz/controller/AttResBaseController.java new file mode 100644 index 0000000..e24a2d5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttResBaseController.java @@ -0,0 +1,136 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.AttResBase; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.service.AttResBaseService; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 水库基本信息表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水库基本信息表") +@RestController +@RequestMapping(value="/attResBase") +public class AttResBaseController extends AbstractCommonFileController { + + @Autowired + private AttResBaseService service; + + @Autowired + private FileAssociationsService fileService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AttResBase dto) { + if (Objects.nonNull(service.getById(dto.getResCode()))) { + throw new IllegalArgumentException("当前编号已存在"); + } + if (StringUtils.isNotBlank(dto.getResName())){ + if (service.lambdaQuery().eq(AttResBase::getResName,dto.getResName()).count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + } + boolean result = service.save(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttResBase dto) { + if (Objects.isNull(service.getById(dto.getResCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + + if (StringUtils.isNotBlank(dto.getResName())){ + if (service.lambdaQuery() + .eq(AttResBase::getResName,dto.getResName()) + .ne(AttResBase::getResCode,dto.getResCode()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + } + boolean result = service.updateById(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = service.removeById(id); + if (data){ + fileService.deleteFile(getGroupId(),id.toString()); + } + return R.ok(data); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + List list = service.lambdaQuery().list(); + if (CollectionUtils.isNotEmpty(list)){ + list.forEach(o -> o.setFiles(fileService.getFiles(getGroupId(),o.getResCode()))); + } + return R.ok(list); + } + + @Operation(summary = "设计图纸和资料文件上传") + @PostMapping("/updateFile") + public R updateFile(@Validated(Update.class) @RequestBody AttResBase dto) { + if (Objects.isNull(service.getById(dto.getResCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + List files = dto.getFiles(); + fileService.saveFileNotDel(files, getGroupId(), dto.getResCode(),"1"); + return R.ok(dto); + } + + @Operation(summary = "设计图纸和资料列表") + @GetMapping("/fileList/{resCode}") + public R> list(@PathVariable("resCode") String resCode) { + List files = fileService.getFiles(getGroupId(), resCode); + if (CollectionUtils.isEmpty(files)){ + return R.ok(files); + } + List datas = files.stream().filter(o -> "1".equals(o.getType())) + .collect(Collectors.toList()); + return R.ok(datas); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + @Override + public String getGroupId() { + return "attResBase"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttResBuildingController.java b/src/main/java/com/gunshi/project/hsz/controller/AttResBuildingController.java new file mode 100644 index 0000000..70c06e9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttResBuildingController.java @@ -0,0 +1,92 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.AttResBuilding; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.service.AttResBuildingService; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 描述: 水库基本信息表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水库基本信息表") +@RestController +@RequestMapping(value="/attResBuilding") +public class AttResBuildingController extends AbstractCommonFileController { + + @Autowired + private AttResBuildingService attResBuildingService; + + @Autowired + private FileAssociationsService fileService; + + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttResBuilding dto) { +// if (Objects.isNull(attResBuildingService.getById(dto.getId()))) { +// throw new IllegalArgumentException("当前数据不存在"); +// } + boolean result = attResBuildingService.updateById(dto); +// if (result){ +// fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode()); +// } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @GetMapping("/info") + public R info() { + List list = attResBuildingService.list(); + + if (CollectionUtils.isEmpty(list)) { + throw new IllegalArgumentException("当前数据不存在"); + } + AttResBuilding byId = list.stream().findFirst().orElse(null); + //boolean result = attResBuildingService.updateById(dto); +// if (result){ +// fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode()); +// } + return R.ok(byId); + } + +// @Operation(summary = "设计图纸和资料文件上传") +// @PostMapping("/updateFile") +// public R updateFile(@Validated(Update.class) @RequestBody AttResBase dto) { +// if (Objects.isNull(service.getById(dto.getResCode()))) { +// throw new IllegalArgumentException("当前数据不存在"); +// } +// List files = dto.getFiles(); +// fileService.saveFileNotDel(files, getGroupId(), dto.getResCode(),"1"); +// return R.ok(dto); +// } + + @Operation(summary = "设计图纸和资料列表") + @GetMapping("/fileList/{resCode}") + public R> list(@PathVariable("resCode") String resCode) { + List files = fileService.getFiles(getGroupId(), resCode); + if (CollectionUtils.isEmpty(files)){ + return R.ok(files); + } + List datas = files.stream().filter(o -> "1".equals(o.getType())) + .collect(Collectors.toList()); + return R.ok(datas); + } + + @Override + public String getGroupId() { + return "attResBase"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttSpillwayBaseController.java b/src/main/java/com/gunshi/project/hsz/controller/AttSpillwayBaseController.java new file mode 100644 index 0000000..99cbcd9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttSpillwayBaseController.java @@ -0,0 +1,85 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.GeneralDataPage; +import com.gunshi.project.hsz.model.AttSpillwayBase; +import com.gunshi.project.hsz.service.AttSpillwayBaseService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 溢洪道 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "溢洪道") +@RestController +@RequestMapping(value="/attSpillwayBase") +public class AttSpillwayBaseController { + + @Autowired + private AttSpillwayBaseService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AttSpillwayBase dto) { + dto.setCode(String.valueOf(IdWorker.getId())); + + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttSpillwayBase dto) { + if (Objects.isNull(service.getById(dto.getCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated GeneralDataPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getCode())){ + query.like(AttSpillwayBase::getCode, page.getCode()); + } + if (ObjectUtils.isNotNull(page.getName())){ + query.like(AttSpillwayBase::getName, page.getName()); + } + return R.ok(service.page(page.getPageSo().toPage(),query)); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/AttWaterItemController.java b/src/main/java/com/gunshi/project/hsz/controller/AttWaterItemController.java new file mode 100644 index 0000000..2e8e4fa --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/AttWaterItemController.java @@ -0,0 +1,73 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.AttWaterItem; +import com.gunshi.project.hsz.service.AttWaterItemService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 水质整编展示项目表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水质整编展示项目表") +@RestController +@RequestMapping(value="/attWaterItem") +public class AttWaterItemController { + + @Autowired + private AttWaterItemService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AttWaterItem dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AttWaterItem dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + LambdaQueryWrapper wrapper = new QueryWrapper().lambda() + .eq(true, AttWaterItem::getIsEnable, "0") + .orderBy(true, true, AttWaterItem::getSort); + return R.ok(service.list(wrapper)); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/BroadcastStationController.java b/src/main/java/com/gunshi/project/hsz/controller/BroadcastStationController.java new file mode 100644 index 0000000..c1274a1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/BroadcastStationController.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.BroadcastStation; +import com.gunshi.project.hsz.service.BroadcastStationService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: + * author: xusan + * date: 2024-09-25 10:12:34 + */ +@Tag(name = "广播站") +@RestController +@RequestMapping(value="/broadcastStation") +public class BroadcastStationController { + + @Autowired + private BroadcastStationService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody BroadcastStation dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody BroadcastStation dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().orderByAsc(BroadcastStation::getOrderIndex).list()); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/BroadcastTemplateController.java b/src/main/java/com/gunshi/project/hsz/controller/BroadcastTemplateController.java new file mode 100644 index 0000000..b7d115d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/BroadcastTemplateController.java @@ -0,0 +1,50 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.BroadcastTemplate; +import com.gunshi.project.hsz.service.BroadcastTemplateService; +import com.gunshi.project.hsz.validate.markers.Insert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: + * author: xusan + * date: 2024-09-25 10:12:13 + */ +@Tag(name = "广播模板") +@RestController +@RequestMapping(value="/broadcastTemplate") +public class BroadcastTemplateController { + + @Autowired + private BroadcastTemplateService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody BroadcastTemplate dto) { + return R.ok(service.saveData(dto)); + } + + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().orderByAsc(BroadcastTemplate::getOrderIndex).list()); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/BroadcastWarnController.java b/src/main/java/com/gunshi/project/hsz/controller/BroadcastWarnController.java new file mode 100644 index 0000000..5a67f8c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/BroadcastWarnController.java @@ -0,0 +1,45 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.BroadcastWarnPageSo; +import com.gunshi.project.hsz.model.BroadcastWarn; +import com.gunshi.project.hsz.service.BroadcastWarnService; +import com.gunshi.project.hsz.validate.markers.Insert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 描述: + * author: xusan + * date: 2024-09-25 10:12:51 + */ +@Tag(name = "广播预警") +@RestController +@RequestMapping(value="/broadcastWarn") +public class BroadcastWarnController { + + @Autowired + private BroadcastWarnService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody BroadcastWarn dto) { + return R.ok(service.saveData(dto)); + } + + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@Validated @RequestBody BroadcastWarnPageSo page) { + return R.ok(service.pageQuery(page)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/CctvBMenuController.java b/src/main/java/com/gunshi/project/hsz/controller/CctvBMenuController.java new file mode 100644 index 0000000..cbf8478 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/CctvBMenuController.java @@ -0,0 +1,95 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.CctvBMenu; +import com.gunshi.project.hsz.service.CctvBMenuService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 视频点目录 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "视频点目录") +@RestController +@RequestMapping(value="/cctvBMenu") +public class CctvBMenuController { + + @Autowired + private CctvBMenuService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody CctvBMenu dto) { + if (Objects.isNull(dto.getParentId())){ + dto.setParentId(0L); + } + if (StringUtils.isNotBlank(dto.getName()) && service.lambdaQuery().eq(CctvBMenu::getName,dto.getName()) + .count() > 0){ + throw new IllegalArgumentException("当前名称已存在"); + } + dto.setId(IdWorker.getId()); + if (Objects.isNull(dto.getOrderIndex())){ + CctvBMenu one = service.lambdaQuery() + .select(CctvBMenu::getOrderIndex) + .orderByDesc(CctvBMenu::getOrderIndex) + .one(); + if (Objects.nonNull(one)){ + dto.setOrderIndex(one.getOrderIndex() + 1); + } + } + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody CctvBMenu dto) { + if (StringUtils.isNotBlank(dto.getName()) && service.lambdaQuery().eq(CctvBMenu::getName,dto.getName()) + .ne(CctvBMenu::getId,dto.getId()) + .count() > 0){ + throw new IllegalArgumentException("当前名称已存在"); + } + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "树") + @GetMapping("/tree") + public R> tree() { + return R.ok(service.tree()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/DeptempController.java b/src/main/java/com/gunshi/project/hsz/controller/DeptempController.java new file mode 100644 index 0000000..d73c228 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/DeptempController.java @@ -0,0 +1,53 @@ +package com.gunshi.project.hsz.controller; + +import com.github.pagehelper.PageInfo; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.service.DeptempService; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * + */ +@Tag(name = "dept") +@RestController +@RequestMapping(value="/deptemp") +public class DeptempController { + + @Autowired + private DeptempService deptempService; + + @GetMapping("/deptlist") + public R> deptlist(SysDept dept) + { + List depts = deptempService.selectDeptList(dept); + return R.ok(depts); + } + + @GetMapping("/userlist") + public TableDataInfo userlist(SysUser user) + { + PageUtils.startPage(); + List list = deptempService.selectUserList(user); + return getDataTable(list); + } + + private TableDataInfo getDataTable(List list) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(list); + rspData.setTotal(new PageInfo(list).getTotal()); + return rspData; + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/DispatchRecordController.java b/src/main/java/com/gunshi/project/hsz/controller/DispatchRecordController.java new file mode 100644 index 0000000..f675a2f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/DispatchRecordController.java @@ -0,0 +1,71 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.DispatchRecordPageSo; +import com.gunshi.project.hsz.model.DispatchRecord; +import com.gunshi.project.hsz.service.DispatchRecordService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 描述: 调度记录 + * author: xusan + * date: 2024-10-09 09:56:28 + */ +@Tag(name = "调度记录") +@RestController +@RequestMapping(value="/dispatchRecord") +public class DispatchRecordController extends AbstractCommonFileController{ + + @Autowired + private DispatchRecordService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody DispatchRecord dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody DispatchRecord dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @PostMapping("/del") + public R del(@RequestBody @Validated List ids) { + return R.ok(service.delData(ids)); + } + + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated DispatchRecordPageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Operation(summary = "导出") + @PostMapping("/export") + public void export(@RequestBody @Validated DispatchRecordPageSo page, HttpServletResponse response) { + service.export(page,response); + } + + @Override + public String getGroupId() { + return "dispatchRecord"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/FileAssociationsController.java b/src/main/java/com/gunshi/project/hsz/controller/FileAssociationsController.java new file mode 100644 index 0000000..8f25b2f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/FileAssociationsController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 文件关联业务表 + * author: xusan + * date: 2024-07-17 10:09:40 + */ +@Tag(name = "文件关联业务表") +@RestController +@RequestMapping(value="/fileAssociations") +public class FileAssociationsController { + + @Autowired + private FileAssociationsService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody FileAssociations dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody FileAssociations dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastKController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastKController.java new file mode 100644 index 0000000..a173889 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastKController.java @@ -0,0 +1,102 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.ForecastK; +import com.gunshi.project.hsz.service.ForecastKService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 预报_前期影响雨量折减系数表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Tag(name = "预报_前期影响雨量折减系数表") +@RestController +@RequestMapping(value="/forecastK") +public class ForecastKController { + + @Autowired + private ForecastKService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ForecastK dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ForecastK dto) { + ForecastK oldK = service.getById(dto.getMonth()); + if (Objects.isNull(oldK)) { + throw new IllegalArgumentException("当前数据不存在"); + } + dto.setChtm(oldK.getChtm()); + dto.setUpdateTime(new Date()); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated ForecastK forecastK) { + QueryWrapper wrapper = new QueryWrapper(); + if(StringUtils.isNotBlank(forecastK.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastK.getIsAsc()) ? false : forecastK.getIsAsc(), forecastK.getOrderField()); + } + return R.ok(service.list(wrapper)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated ForecastK forecastK) { + QueryWrapper wrapper = new QueryWrapper(); + if(StringUtils.isNotBlank(forecastK.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastK.getIsAsc()) ? false : forecastK.getIsAsc(), forecastK.getOrderField()); + } + return R.ok(service.page(forecastK.getPageSo().toPage(), wrapper)); + } + + @Operation(summary = "批量保存") + @PostMapping("/saveBatch") + public R saveBatch(@RequestBody List dtos) { + boolean result = false; + if (CollectionUtils.isNotEmpty(dtos)) { + boolean remove = service.remove(new QueryWrapper<>()); + if (remove) { + result = service.saveBatch(dtos); + } + } + return R.ok(result); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastPPaRController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastPPaRController.java new file mode 100644 index 0000000..5ff2acc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastPPaRController.java @@ -0,0 +1,86 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.ForecastPPaR; +import com.gunshi.project.hsz.service.ForecastPPaRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 预报_降雨径流关系表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Tag(name = "预报_降雨径流关系表") +@RestController +@RequestMapping(value="/forecastPPaR") +public class ForecastPPaRController { + + @Autowired + private ForecastPPaRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ForecastPPaR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ForecastPPaR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + List PPaRList = service.handleList(); + return R.ok(PPaRList); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated ForecastPPaR forecastPPaR) { + QueryWrapper wrapper = new QueryWrapper(); + if(StringUtils.isNotBlank(forecastPPaR.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastPPaR.getIsAsc()) ? false : forecastPPaR.getIsAsc(), forecastPPaR.getOrderField()); + } + return R.ok(service.page(forecastPPaR.getPageSo().toPage(), wrapper)); + } + + @Operation(summary = "批量保存") + @PostMapping("/saveBatch") + public R saveBatch(@RequestBody List PPaRList) { + if (PPaRList.size() == 0) { + throw new IllegalArgumentException("数据格式不正确"); + } + boolean result = service.handleSaveBatch(PPaRList); + return R.ok(result); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastPaController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastPaController.java new file mode 100644 index 0000000..551b0d2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastPaController.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.ForecastPa; +import com.gunshi.project.hsz.service.ForecastPaService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 预报_土壤含水量表 + * author: cxw + * date: 2024-08-02 12:23:07 + */ +@Tag(name = "预报_土壤含水量表") +@RestController +@RequestMapping(value="/forecastPa") +public class ForecastPaController { + + @Autowired + private ForecastPaService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ForecastPa dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ForecastPa dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastProjectController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastProjectController.java new file mode 100644 index 0000000..d35df2b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastProjectController.java @@ -0,0 +1,178 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.ForecastResultVo; +import com.gunshi.project.hsz.model.ForecastProject; +import com.gunshi.project.hsz.model.ForecastResults; +import com.gunshi.project.hsz.service.ForecastProjectService; +import com.gunshi.project.hsz.service.ForecastResultsService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 预报_预测方案管理表 + * author: cxw + * date: 2024-08-05 11:41:45 + */ +@Tag(name = "预报_预测方案管理表") +@RestController +@RequestMapping(value="/forecastProject") +public class ForecastProjectController { + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + @Autowired + private ForecastProjectService service; + + @Autowired + private ForecastResultsService forecastResultsService; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ForecastProject dto) { + dto.setId(IdWorker.getId()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ForecastProject dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + boolean b = service.removeById(id); + // 级联删除 + if(b){ + forecastResultsService.remove(new QueryWrapper().eq("project_id", id)); + } + return R.ok(b); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated ForecastProject forecastProject) { + QueryWrapper wrapper = new QueryWrapper() + .like(ObjectUtils.isNotNull(forecastProject.getName()), "name", forecastProject.getName()) + .like(ObjectUtils.isNotNull(forecastProject.getType()), "type", forecastProject.getType()) + .ge(ObjectUtils.isNotNull(forecastProject.getStartTm()), "forecast_tm", forecastProject.getStartTm()) + .le(ObjectUtils.isNotNull(forecastProject.getEndTm()), "forecast_tm", forecastProject.getEndTm()); + if(StringUtils.isNotBlank(forecastProject.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastProject.getIsAsc()) ? false : forecastProject.getIsAsc(), forecastProject.getOrderField()); + } + List list = service.list(wrapper); + if (list.size() > 0) { + for (ForecastProject fp : list) { + if (StringUtils.isNotEmpty(fp.getUserId()) && fp.getUserId().contains("_")) { + fp.setUserId(fp.getUserId().substring(fp.getUserId().indexOf("_") + 1)); + } + } + } + return R.ok(list); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated ForecastProject forecastProject) { + QueryWrapper wrapper = new QueryWrapper() + .like(ObjectUtils.isNotNull(forecastProject.getName()), "name", forecastProject.getName()) + .like(ObjectUtils.isNotNull(forecastProject.getType()), "type", forecastProject.getType()) + .ge(ObjectUtils.isNotNull(forecastProject.getStartTm()), "forecast_tm", forecastProject.getStartTm()) + .le(ObjectUtils.isNotNull(forecastProject.getEndTm()), "forecast_tm", forecastProject.getEndTm()); + if(StringUtils.isNotBlank(forecastProject.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastProject.getIsAsc()) ? false : forecastProject.getIsAsc(), forecastProject.getOrderField()); + } + Page page = service.page(forecastProject.getPageSo().toPage(), wrapper); + if (page.getRecords().size() > 0) { + for (ForecastProject fp : page.getRecords()) { + if (StringUtils.isNotEmpty(fp.getUserId()) && fp.getUserId().contains("_")) { + fp.setUserId(fp.getUserId().substring(fp.getUserId().indexOf("_") + 1)); + } + } + } + return R.ok(page); + } + + + @Operation(summary = "保存人工交互洪水预报结果") + @PostMapping("/saveHumanForecastResults") + public R saveHumanForecastResults(@RequestBody @Validated ForecastProject forecastProject) throws ParseException { + if (CollectionUtils.isEmpty(forecastProject.getVoList())) { + throw new IllegalArgumentException("数据格式不正确"); + } + forecastProject.setId(IdWorker.getId()); + boolean result = service.save(forecastProject); + if (result) { + service.saveForecastResults(forecastProject); + } + return R.ok(result ? forecastProject : null); + } + + + @Operation(summary = "根据方案id查看方案洪水预报结果") + @GetMapping("/getForecastProjectResults") + public R getForecastProjectResults(@Schema(name = "projectId", description = "预测方案id") @RequestParam("projectId") String projectId) { + ForecastProject forecastProject = service.getById(projectId); + if (Objects.isNull(forecastProject)) { + throw new IllegalArgumentException("当前数据不存在"); + } + List resultList = forecastResultsService.list(new QueryWrapper().eq("project_id", projectId).orderBy(true, true, "tm")); + if (CollectionUtils.isNotEmpty(resultList)) { + List vos = resultList.stream() + .map(result -> { + ForecastResultVo vo = new ForecastResultVo(); + vo.setTm(sdf.format(result.getTm())); + vo.setYcRkQValue(result.getYcRkQValue()); + vo.setRealRkQValue(result.getRealRkQValue()); + vo.setYcCkQValue(result.getYcCkQValue()); + vo.setRealCkQValue(result.getRealCkQValue()); + vo.setYcSwHValue(result.getYcSwHValue()); + vo.setRealSwHValue(result.getRealSwHValue()); + BigDecimal ycSwHValue = result.getYcSwHValue() == null ? BigDecimal.ZERO : result.getYcSwHValue(); + BigDecimal realSwHValue = result.getRealSwHValue() == null ? BigDecimal.ZERO : result.getRealSwHValue(); + vo.setSwHDValue(ycSwHValue.subtract(realSwHValue));// 处理预测与实测水位差 + vo.setDrp(result.getDrp()); + vo.setIspreDrp(result.getIspreDrp()); + vo.setR(result.getR()); + vo.setFlLowLimLev(result.getFlLowLimLev()); + vo.setCurrentYdgdyjz(result.getCurrentYdgdyjz()); + vo.setPa(result.getPa()); + return vo; + }).collect(Collectors.toList()); + forecastProject.setVoList(vos); + forecastResultsService.handleVoList(forecastProject); + } + return R.ok(forecastProject); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastResultsController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastResultsController.java new file mode 100644 index 0000000..92c7154 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastResultsController.java @@ -0,0 +1,102 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.ForecastResultVo; +import com.gunshi.project.hsz.model.ForecastProject; +import com.gunshi.project.hsz.model.ForecastResults; +import com.gunshi.project.hsz.model.ForecastTask; +import com.gunshi.project.hsz.service.ForecastResultsService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.Serializable; +import java.util.List; + +/** + * 描述: 预报_预测结果表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Tag(name = "预报_预测结果表") +@RestController +@RequestMapping(value="/forecastResults") +public class ForecastResultsController { + + @Autowired + private ForecastResultsService service; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ForecastResults dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ForecastResults dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated ForecastResults forecastResults) { + QueryWrapper wrapper = new QueryWrapper(); + if(StringUtils.isNotBlank(forecastResults.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastResults.getIsAsc()) ? false : forecastResults.getIsAsc(), forecastResults.getOrderField()); + } + return R.ok(service.list(wrapper)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated ForecastResults forecastResults) { + QueryWrapper wrapper = new QueryWrapper<>(); + if(StringUtils.isNotBlank(forecastResults.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastResults.getIsAsc()) ? false : forecastResults.getIsAsc(), forecastResults.getOrderField()); + } + return R.ok(service.page(forecastResults.getPageSo().toPage(), wrapper)); + } + + @Operation(summary = "获取人工交互洪水预报结果") + @PostMapping("/getHumanForecastResult") + public R getHumanForecastResult(@RequestBody ForecastTask forecastTask) { + ForecastProject forecastProject = new ForecastProject(); + List voList = service.getHumanForecastResult(forecastTask); + forecastProject.setType("2"); + forecastProject.setForecastTm(forecastTask.getForecastTime()); + forecastProject.setProjectTm(forecastTask.getNowTime()); + forecastProject.setStartTm(forecastTask.getStartTime()); + forecastProject.setEndTm(forecastTask.getEndTime()); + forecastProject.setForecastPeriod(forecastTask.getForecastPeriod()); + forecastProject.setForecastWarm(forecastTask.getForecastWarm()); + forecastProject.setVoList(voList); + if (CollectionUtils.isNotEmpty(voList)) { + service.handleVoList(forecastProject); + } + return R.ok(forecastProject); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastTaskController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastTaskController.java new file mode 100644 index 0000000..1b99401 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastTaskController.java @@ -0,0 +1,122 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.ForecastTask; +import com.gunshi.project.hsz.schedule.TaskGroupHandler; +import com.gunshi.project.hsz.service.ForecastTaskService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 预报_预测自动任务管理表 + * author: cxw + * date: 2024-08-05 11:41:45 + */ +@Tag(name = "预报_预测自动任务管理表") +@RestController +@RequestMapping(value="/forecastTask") +public class ForecastTaskController { + + @Autowired + private ForecastTaskService service; + + @Autowired + private TaskGroupHandler taskGroupHandler; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ForecastTask dto) { + dto.setId(IdWorker.getId()); + boolean result = service.save(dto); + if (result) { + taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ForecastTask dto) { + ForecastTask oldTask = service.getById(dto.getId()); + if (Objects.isNull(oldTask)) { + throw new IllegalArgumentException("当前数据不存在"); + } + dto.setChtm(oldTask.getChtm()); + dto.setUpdateTm(new Date()); + boolean result = service.updateById(dto); + if (result) { + // 先删除,再重新添加 + taskGroupHandler.removeCronJob(String.valueOf(dto.getId())); + taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + boolean b = service.removeById(id); + if (b) { + taskGroupHandler.removeCronJob((String) id); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated ForecastTask forecastTask) { + QueryWrapper wrapper = new QueryWrapper() + .in("status", "0", "1")// 只返回启用和暂停的 + .like(ObjectUtils.isNotNull(forecastTask.getName()), "name", forecastTask.getName()); + if(StringUtils.isNotBlank(forecastTask.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastTask.getIsAsc()) ? false : forecastTask.getIsAsc(), forecastTask.getOrderField()); + } + List list = service.list(wrapper); + if (list.size() > 0) { + for (ForecastTask task : list) { + if (StringUtils.isNotEmpty(task.getUserId()) && task.getUserId().contains("_")) { + task.setUserName(task.getUserId().substring(task.getUserId().indexOf("_") + 1)); + } + } + } + return R.ok(list); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated ForecastTask forecastTask) { + QueryWrapper wrapper = new QueryWrapper() + .in("status", "0", "1")// 只返回启用和暂停的 + .like(ObjectUtils.isNotNull(forecastTask.getName()), "name", forecastTask.getName()); + if(StringUtils.isNotBlank(forecastTask.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastTask.getIsAsc()) ? false : forecastTask.getIsAsc(), forecastTask.getOrderField()); + } + Page page = service.page(forecastTask.getPageSo().toPage(), wrapper); + if (page.getRecords().size() > 0) { + for (ForecastTask task : page.getRecords()) { + if (StringUtils.isNotEmpty(task.getUserId()) && task.getUserId().contains("_")) { + task.setUserName(task.getUserId().substring(task.getUserId().indexOf("_") + 1)); + } + } + } + return R.ok(page); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastUController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastUController.java new file mode 100644 index 0000000..5b314a1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastUController.java @@ -0,0 +1,107 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.ForecastU; +import com.gunshi.project.hsz.service.ForecastUService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 预报_时段单位线表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Tag(name = "预报_时段单位线表") +@RestController +@RequestMapping(value="/forecastU") +public class ForecastUController { + + @Autowired + private ForecastUService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ForecastU dto) { + dto.setId(IdWorker.getId()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ForecastU dto) { + ForecastU oldU = service.getById(dto.getId()); + if (Objects.isNull(oldU)) { + throw new IllegalArgumentException("当前数据不存在"); + } + dto.setChtm(oldU.getChtm()); + dto.setUpdateTime(new Date()); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated ForecastU forecastU) { + QueryWrapper wrapper = new QueryWrapper(); + if(StringUtils.isNotBlank(forecastU.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastU.getIsAsc()) ? false : forecastU.getIsAsc(), forecastU.getOrderField()); + } + return R.ok(service.list(wrapper)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated ForecastU forecastU) { + QueryWrapper wrapper = new QueryWrapper(); + if(StringUtils.isNotBlank(forecastU.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastU.getIsAsc()) ? false : forecastU.getIsAsc(), forecastU.getOrderField()); + } + return R.ok(service.page(forecastU.getPageSo().toPage(), wrapper)); + } + + @Operation(summary = "批量保存") + @PostMapping("/saveBatch") + public R saveBatch(@RequestBody List dtos) { + boolean result = false; + if (CollectionUtils.isNotEmpty(dtos)) { + boolean remove = service.remove(new QueryWrapper<>()); + if (remove) { + for (ForecastU u : dtos) { + u.setId(IdWorker.getId()); + } + result = service.saveBatch(dtos); + } + } + return R.ok(result); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ForecastUseparamController.java b/src/main/java/com/gunshi/project/hsz/controller/ForecastUseparamController.java new file mode 100644 index 0000000..783a9a2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ForecastUseparamController.java @@ -0,0 +1,133 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.ForecastU; +import com.gunshi.project.hsz.model.ForecastUseparam; +import com.gunshi.project.hsz.service.ForecastUService; +import com.gunshi.project.hsz.service.ForecastUseparamService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 预报_通用参数管理 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Tag(name = "预报_通用参数管理") +@RestController +@RequestMapping(value="/forecastUseparam") +public class ForecastUseparamController { + + @Autowired + private ForecastUseparamService service; + + @Autowired + private ForecastUService forecastUService; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ForecastUseparam dto) { + dto.setId(IdWorker.getId()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ForecastUseparam dto) { + ForecastUseparam oldData = service.getById(dto.getId()); + if (Objects.isNull(oldData)) { + throw new IllegalArgumentException("当前数据不存在"); + } + dto.setChtm(oldData.getChtm()); + dto.setUpdateTime(new Date()); + boolean result = service.updateById(dto); + // 修改计算单位线的参数时,需要重新计算一次 + if (result && (dto.getParamCode().equals("cymj") || dto.getParamCode().equals("hdc") || dto.getParamCode().equals("hdpj") || dto.getParamCode().equals("dt") || dto.getParamCode().equals("h")) && !dto.getParamValue().equals(oldData.getParamValue())) { + // 承雨面积areaF:"cymj", 河道长lengthL:"hdc", 河道坡降j:"hdpj", 时段∆t:"dt", h毫米净雨:"h" + QueryWrapper qw = new QueryWrapper().in("param_code", "cymj", "hdc", "hdpj", "dt", "h"); + List> uMaps = service.listMaps(qw); + Map uMap = uMaps.stream().collect(Collectors.toMap(map -> (String) map.get("param_code"), map -> (String) map.get("param_value"))); + if (uMap.containsKey("cymj") && StringUtils.isNotEmpty(uMap.get("cymj")) + && uMap.containsKey("hdc") && StringUtils.isNotEmpty(uMap.get("hdc")) + && uMap.containsKey("hdpj") && StringUtils.isNotEmpty(uMap.get("hdpj")) + && uMap.containsKey("dt") && StringUtils.isNotEmpty(uMap.get("dt"))) { + List uParam = service.calcU(new BigDecimal(uMap.get("cymj")), + new BigDecimal(uMap.get("hdc")), + new BigDecimal(uMap.get("hdpj")), + Double.valueOf(uMap.get("dt")), + StringUtils.isNotEmpty(uMap.get("h")) ? new BigDecimal(uMap.get("h")) : BigDecimal.ONE, StringUtils.isNotEmpty(uMap.get("swfq")) ? uMap.get("swfq") : "I"); + if (CollectionUtils.isNotEmpty(uParam)) { + forecastUService.remove(new UpdateWrapper<>()); + List uList = new ArrayList<>(); + Date date = new Date(); + for (BigDecimal u : uParam) { + ForecastU forecastU = new ForecastU(); + forecastU.setId(IdWorker.getId()); + forecastU.setUValue(u); + forecastU.setChtm(date); + forecastU.setUpdateTime(date); + uList.add(forecastU); + } + forecastUService.saveBatch(uList); + } + } + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated ForecastUseparam forecastUseparam) { + QueryWrapper wrapper = new QueryWrapper(); + if(StringUtils.isNotBlank(forecastUseparam.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastUseparam.getIsAsc()) ? false : forecastUseparam.getIsAsc(), forecastUseparam.getOrderField()); + } + return R.ok(service.list(wrapper)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated ForecastUseparam forecastUseparam) { + QueryWrapper wrapper = new QueryWrapper(); + if(StringUtils.isNotBlank(forecastUseparam.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(forecastUseparam.getIsAsc()) ? false : forecastUseparam.getIsAsc(), forecastUseparam.getOrderField()); + } + return R.ok(service.page(forecastUseparam.getPageSo().toPage(), wrapper)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/GatePoreController.java b/src/main/java/com/gunshi/project/hsz/controller/GatePoreController.java new file mode 100644 index 0000000..c6add82 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/GatePoreController.java @@ -0,0 +1,58 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.GatePore; +import com.gunshi.project.hsz.service.GatePoreService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 闸孔信息表 + * author: xusan + * date: 2024-09-26 10:44:57 + */ +@Tag(name = "闸孔信息表") +@RestController +@RequestMapping(value="/gatePore") +public class GatePoreController { + + @Autowired + private GatePoreService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody GatePore dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody GatePore dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "通过stcd获取闸孔开度") + @GetMapping("/listByStcd") + public R> list(@Schema(name = "stcd",description = "测站编码") @RequestParam("stcd") String stcd) { + return R.ok(service.lambdaQuery().eq(GatePore::getStcd,stcd).orderByAsc(GatePore::getGateNumber).list()); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/GateValveCctvRelController.java b/src/main/java/com/gunshi/project/hsz/controller/GateValveCctvRelController.java new file mode 100644 index 0000000..92fa918 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/GateValveCctvRelController.java @@ -0,0 +1,93 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.GateValveCctvRelPage; +import com.gunshi.project.hsz.entity.vo.GateValveCctvRelVo; +import com.gunshi.project.hsz.model.GateValveCctvRel; +import com.gunshi.project.hsz.service.GateValveCctvRelService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 闸阀关联视频点 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "闸阀关联视频点") +@RestController +@RequestMapping(value="/gateValveCctvRel") +public class GateValveCctvRelController { + + @Autowired + private GateValveCctvRelService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class)@RequestBody GateValveCctvRel dto) { + if (service.lambdaQuery() + .eq(GateValveCctvRel::getValveCode,dto.getValveCode()) + .eq(GateValveCctvRel::getIndexCode,dto.getIndexCode()) + .count() > 0) { + throw new IllegalArgumentException("当前编号已关联"); + } + dto.setId(IdWorker.getId()); + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody GateValveCctvRel dto) { + if (Objects.isNull(service.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + if (service.lambdaQuery() + .eq(GateValveCctvRel::getValveCode,dto.getValveCode()) + .eq(GateValveCctvRel::getIndexCode,dto.getIndexCode()) + .ne(GateValveCctvRel::getId,dto.getId()) + .count() > 0) { + throw new IllegalArgumentException("当前编号已关联"); + } + dto.setCreateTime(null); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestParam(value = "valveCode",required = false) @Parameter(description = "闸阀编码") String valveCode) { + return R.ok(service.queryList(valveCode)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody GateValveCctvRelPage page) { + return R.ok(service.pages(page)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/GateValveRController.java b/src/main/java/com/gunshi/project/hsz/controller/GateValveRController.java new file mode 100644 index 0000000..c63dccf --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/GateValveRController.java @@ -0,0 +1,73 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.GateHisPageSo; +import com.gunshi.project.hsz.entity.vo.GateStautsVo; +import com.gunshi.project.hsz.model.GateValveR; +import com.gunshi.project.hsz.service.GateValveRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 闸阀开关历史表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "闸阀开关历史表") +@RestController +@RequestMapping(value="/gateValveR") +public class GateValveRController { + + @Autowired + private GateValveRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody GateValveR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody GateValveR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody GateHisPageSo so) { + return R.ok(service.pageQuery(so)); + } + + @Operation(summary = "导出") + @PostMapping("/export") + public void export(@RequestBody GateHisPageSo so, HttpServletResponse response) { + service.export(so,response); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/GateValveRealController.java b/src/main/java/com/gunshi/project/hsz/controller/GateValveRealController.java new file mode 100644 index 0000000..60882da --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/GateValveRealController.java @@ -0,0 +1,181 @@ +package com.gunshi.project.hsz.controller; + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.GateHisPageSo; +import com.gunshi.project.hsz.entity.vo.GateStautsVo; +import com.gunshi.project.hsz.entity.vo.GateValveOplogVo; +import com.gunshi.project.hsz.model.GateValveKey; +import com.gunshi.project.hsz.model.GateValveOplog; +import com.gunshi.project.hsz.model.GateValveReal; +import com.gunshi.project.hsz.service.GateValveRealService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.apache.poi.ss.usermodel.FillPatternType; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.net.URLEncoder; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: 闸阀开关表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "闸阀开关表") +@RestController +@RequestMapping(value="/gateValveReal") +public class GateValveRealController { + + private static final Logger log = LoggerFactory.getLogger(GateValveRealController.class); + + + @Autowired + private GateValveRealService service; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody GateValveReal dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody GateValveReal dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.gateStatusList()); + } + + @Operation(summary = "通过闸阀查询实时流量") + @GetMapping("/realQ") + public R realQ(@RequestParam("valveCode") @Parameter(description = "闸阀编码") String valveCode) { + return R.ok(service.realQ(valveCode)); + } + + @Operation(summary = "调节闸阀") + @PostMapping("/control") + public R control(@RequestBody GateValveKey gateValveKey) { + return R.ok(service.control(gateValveKey)); + } + + @Operation(summary = "闸阀操作日志-分页") + @PostMapping("/log/page") + public R> logPage(@RequestBody GateHisPageSo so) { + return R.ok(service.logPage(so)); + } + + @Operation(summary = "闸阀操作日志-导出") + @PostMapping("/log/exp") + public void logexp(@RequestBody GateHisPageSo so, HttpServletResponse response) { + so.getPageSo().setPageSize(1000000); + Page gateValveOplogVoPage = service.logPage(so); + + try { +// 设置响应 + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String fileName = URLEncoder.encode("闸阀操作日志_" + System.currentTimeMillis(), "UTF-8") + .replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + + // 自定义表头样式 + WriteCellStyle headStyle = new WriteCellStyle(); + headStyle.setFillForegroundColor(IndexedColors.SKY_BLUE.getIndex()); + headStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND); + + // 自定义内容样式 + WriteCellStyle contentStyle = new WriteCellStyle(); + contentStyle.setWrapped(true); // 自动换行 + List> headlist= Arrays.asList( + Arrays.asList("闸阀名称"), + Arrays.asList("操作人"), + Arrays.asList("操作时间"), + Arrays.asList("操作内容"), + Arrays.asList("设定开度"), + Arrays.asList("操作前开度") + ); + // 构建导出器 + EasyExcel.write(response.getOutputStream()) + .head(headlist) // 自定义表头 + .registerWriteHandler(new HorizontalCellStyleStrategy(headStyle, contentStyle)) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 自动列宽 + .sheet("闸阀操作日志") + .doWrite(gateValveOplogVoPage.getRecords()); + }catch (Exception e){ + log.error("导出异常", e); + } + } + + @Operation(summary = "闸阀操作日志-分页") + @PostMapping("/log/loglist") + public R> loglist(@RequestBody GateHisPageSo so) { + List gateStautsVos = service.gateStatusList(); + if(CollectionUtil.isEmpty(gateStautsVos)){ + return R.ok(null); + } + List collect = gateStautsVos.stream().map(e -> { + GateValveOplogVo vo = new GateValveOplogVo(); + GateValveOplog loginfo = service.loginfo(e.getValveCode()); + if(Objects.nonNull(loginfo)){ + BeanUtils.copyProperties(loginfo, vo); + } + vo.setValveCode(e.getValveCode()); + vo.setValveName(e.getValveName()); + return vo; + }).collect(Collectors.toList()); + return R.ok(collect); + } + + + + + @Operation(summary = "闸阀操作日志-导出") + @PostMapping("/log/export") + public void logExport(@RequestBody GateHisPageSo so, HttpServletResponse response) { + service.logExport(so,response); + } + + @Operation(summary = "预计可供水时间") + @GetMapping("/supply/time") + public R> supplyTime(@RequestParam(value = "year",required = false) @Parameter(description = "年份") Integer year,@RequestParam(value = "month",required = false) @Parameter(description = "月份") Integer month) { + return R.ok(service.supplyTime(year,month)); + } + + @Operation(summary = "预测来水量") + @GetMapping("/predict/water") + public R predictWater(@RequestParam(value = "year") @Parameter(description = "年份") Integer year, @RequestParam(value = "month") @Parameter(description = "月份") Integer month) { + return R.ok(service.predictWater(year,month)); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ICommonDeleteByIdWithAttach.java b/src/main/java/com/gunshi/project/hsz/controller/ICommonDeleteByIdWithAttach.java new file mode 100644 index 0000000..ce2bc1e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ICommonDeleteByIdWithAttach.java @@ -0,0 +1,33 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.db.dao.BaseDao; +import com.gunshi.db.dao.IMapper; +import com.gunshi.project.hsz.service.AbstractModelWithAttachService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import java.io.Serializable; + +/** + * 通用按id删除 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-31 + */ +public interface ICommonDeleteByIdWithAttach, AutoDao extends BaseDao, + AttachModel, AttachModelAutoMapper extends IMapper, AttachModelAutoDao extends BaseDao> { + + AbstractModelWithAttachService getModelService(); + + Serializable getId(Serializable id); + + @Operation(summary = "按id删除") + @GetMapping("/deleteById/{id}") + default R commonDeleteById(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(getModelService().removeById(getId(id))); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ICommonFileController.java b/src/main/java/com/gunshi/project/hsz/controller/ICommonFileController.java new file mode 100644 index 0000000..a091984 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ICommonFileController.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.file.controller.IFileController; +import com.gunshi.file.model.FileDescriptor; +import io.swagger.v3.oas.annotations.Parameter; +import jakarta.servlet.http.HttpServletRequest; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-03-12 + */ +public interface ICommonFileController extends IFileController { + + String getGroupId(); + + String getBusinessType(); + + R uploadSingle( + @Parameter(description = "文件") @RequestPart("file") MultipartFile file, + @Parameter(description = "上传者用户id", hidden = true) @RequestParam(value = "userId", required = false) Long userId, + @Parameter(hidden = true) HttpServletRequest request) throws Exception; +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ICommonInsertWithAttach.java b/src/main/java/com/gunshi/project/hsz/controller/ICommonInsertWithAttach.java new file mode 100644 index 0000000..8f703d1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ICommonInsertWithAttach.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.db.dao.BaseDao; +import com.gunshi.db.dao.IMapper; +import com.gunshi.project.hsz.service.AbstractModelWithAttachService; +import com.gunshi.project.hsz.validate.markers.Insert; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-03-19 + */ +public interface ICommonInsertWithAttach, AutoDao extends BaseDao, + AttachModel, AttachModelAutoMapper extends IMapper, AttachModelAutoDao extends BaseDao> { + AbstractModelWithAttachService getModelService(); + + void customSetFieldForInsert(Model model); + + @Operation(summary = "实体类新增") + @PostMapping("/insert") + default R commonInsert(@Validated(Insert.class) @RequestBody Model model) { + customSetFieldForInsert(model); + boolean result = getModelService().save(model); + return R.ok(result ? model : null); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ICommonQueryAttach.java b/src/main/java/com/gunshi/project/hsz/controller/ICommonQueryAttach.java new file mode 100644 index 0000000..10c6712 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ICommonQueryAttach.java @@ -0,0 +1,47 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.gunshi.core.result.R; +import com.gunshi.db.dao.BaseDao; +import com.gunshi.db.dao.IMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import java.io.Serializable; +import java.util.List; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-03-19 + */ +public interface ICommonQueryAttach, AutoDao extends BaseDao> { + AutoDao getAttachAutoDao(); + + String getAttachBzIdName(); + + IdType getId(Serializable id); + + @Operation(summary = "按id查询") + @GetMapping("/attach/getById/{id}") + default R commonGetAttachById(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(getAttachAutoDao().getById(id)); + } + + @Operation(summary = "按bzId查询") + @GetMapping("/attach/getByBzId/{bzId}") + default R> commonGetAttachByBzId(@Schema(name = "bzId") @PathVariable("bzId") Serializable bzId) { + return R.ok(getAttachAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), getId(bzId)))); + } + + @Operation(summary = "列表查询") + @GetMapping("/attach/find") + default R> commonFind(@Schema(name = "bzId") @PathVariable("bzId") Serializable bzId) { + return R.ok(getAttachAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), getId(bzId)))); + } +} + diff --git a/src/main/java/com/gunshi/project/hsz/controller/ICommonUpdateByIdWithAttach.java b/src/main/java/com/gunshi/project/hsz/controller/ICommonUpdateByIdWithAttach.java new file mode 100644 index 0000000..7b7a9d3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ICommonUpdateByIdWithAttach.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.db.dao.BaseDao; +import com.gunshi.db.dao.IMapper; +import com.gunshi.project.hsz.service.AbstractModelWithAttachService; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 通用实体类新增 + * + * @author lyf + * @version 1.0.0 + * @since 2024-02-19 + */ +public interface ICommonUpdateByIdWithAttach, AutoDao extends BaseDao, + AttachModel, AttachModelAutoMapper extends IMapper, AttachModelAutoDao extends BaseDao> { + + AbstractModelWithAttachService getModelService(); + + void customSetFieldForUpdate(Model model); + + @Operation(summary = "实体类修改") + @PostMapping("/update") + default R commonUpdateById(@Validated(Update.class) @RequestBody Model model) { + customSetFieldForUpdate(model); + boolean result = getModelService().updateById(model); + return R.ok(result ? model : null); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/IaCBsnssinfoController.java b/src/main/java/com/gunshi/project/hsz/controller/IaCBsnssinfoController.java new file mode 100644 index 0000000..7390467 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/IaCBsnssinfoController.java @@ -0,0 +1,151 @@ +package com.gunshi.project.hsz.controller; + +import com.google.common.collect.Lists; +import com.gunshi.core.result.R; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.hsz.entity.vo.HomeIaCBsnssinfoVo; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.model.IaCBsnssinfo; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.IaCBsnssinfoService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 防治区企事业单位汇总表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "防治区企事业单位汇总表") +@RestController +@RequestMapping(value="/iaCBsnssinfo") +public class IaCBsnssinfoController extends AbstractCommonFileController{ + + @Autowired + private IaCBsnssinfoService service; + + @Autowired + private FileAssociationsService fileService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody IaCBsnssinfo dto) { + if (Objects.nonNull(service.getById(dto.getEicd()))) { + throw new IllegalArgumentException("当前编号已存在"); + } + if (StringUtils.isNotBlank(dto.getName())){ + if (service.lambdaQuery().eq(IaCBsnssinfo::getName,dto.getName()).count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + } + + boolean result = service.save(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getEicd()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody IaCBsnssinfo dto) { + if (Objects.isNull(service.getById(dto.getEicd()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = service.updateById(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getEicd()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = service.removeById(id); + + if (data){ + fileService.deleteFile(getGroupId(),id.toString()); + } + + return R.ok(data); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + @Operation(summary = "详情和行政区划数据查询") + @PostMapping("/getDetailsAndAddvcdDataList") + public R> getDetailsAndMonitoringDataList() { + List list = service.getDetailsAndMonitoringDataLis(); + if (CollectionUtils.isNotEmpty(list)){ + list.forEach(o -> o.setFiles(fileService.getFiles(getGroupId(),o.getEicd()))); + } + return R.ok(list); + } + + @Operation(summary = "上传相关图片文件") + @PostMapping(path = "/setImgFile", consumes = "multipart/form-data") + public R setImgFile(@Parameter(description = "文件") @RequestPart("files") MultipartFile[] files) throws Exception { + + for (MultipartFile file : files) { + + String fileName = file.getOriginalFilename(); + String eicd = fileName.split("\\.")[0]; + + FileDescriptor fd = new FileDescriptor(); + fd.setBusinessType(getBusinessType()); + fd.setGroupId(getGroupId()); + fd.setUserId(1L); + fd.setAccessGroup(getService().getAccessGroup()); + fd.setFilePath(generateFilePath(getProperty().getAppCode(), getBusinessType(), 1L, getGroupId(), fileName)); + fd.setFileName(fileName); + fd.setFileLength(file.getSize()); + + getService().upload(fd, file.getInputStream()); + + FileAssociations fileAssociations = new FileAssociations(); + fileAssociations.setFileId(fd.getFileId()); + + fileService.saveFile(Lists.newArrayList(fileAssociations), getGroupId(), eicd); + } + + + return R.ok(); + } + + + + @Override + public String getGroupId() { + return "iaCBsnssinfo"; + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/IaCDanadController.java b/src/main/java/com/gunshi/project/hsz/controller/IaCDanadController.java new file mode 100644 index 0000000..2db9626 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/IaCDanadController.java @@ -0,0 +1,76 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.HomeIaCDanadVo; +import com.gunshi.project.hsz.model.IaCDanad; +import com.gunshi.project.hsz.service.IaCDanadService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 危险区基本情况调查成果汇总表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "危险区基本情况调查成果汇总表") +@RestController +@RequestMapping(value="/iaCDanad") +public class IaCDanadController { + + @Autowired + private IaCDanadService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody IaCDanad dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody IaCDanad dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "详情") + @GetMapping("/detail/{id}") + public R detail(@Schema(name = "id") @PathVariable("id") String id) { + return R.ok(service.detail(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + + @Operation(summary = "详情和行政区划数据查询") + @PostMapping("/getDetailsAndAddvcdDataList") + public R> getDetailsAndMonitoringDataList() { + return R.ok(service.getDetailsAndMonitoringDataLis()); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/IaCFlrvvlgController.java b/src/main/java/com/gunshi/project/hsz/controller/IaCFlrvvlgController.java new file mode 100644 index 0000000..a436cb6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/IaCFlrvvlgController.java @@ -0,0 +1,134 @@ +package com.gunshi.project.hsz.controller; + +import com.google.common.collect.Lists; +import com.gunshi.core.result.R; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.hsz.entity.vo.HomeIaCFlrvvlgVo; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.model.IaCFlrvvlg; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.IaCFlrvvlgService; +import com.gunshi.project.hsz.service.StAddvcdDService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 重要沿河村落居民户调查成果表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "重要沿河村落居民户调查成果表") +@RestController +@RequestMapping(value="/iaCFlrvvlg") +public class IaCFlrvvlgController extends AbstractCommonFileController{ + + @Autowired + private IaCFlrvvlgService service; + + @Autowired + private StAddvcdDService stAddvcdDService; + + @Autowired + private FileAssociationsService fileService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody IaCFlrvvlg dto) { + if (Objects.isNull(stAddvcdDService.getById(dto.getAdcd()))) { + throw new RuntimeException("请输入正确的行政区划代码"); + } + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody IaCFlrvvlg dto) { + + if (Objects.isNull( service.getById(dto.getAvrcd()))){ + throw new RuntimeException("请输入正确的沿河村落居民户编码"); + } + if (Objects.isNull(stAddvcdDService.getById(dto.getAdcd()))) { + throw new RuntimeException("请输入正确的行政区划代码"); + } + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(stAddvcdDService.getById(id))) { + throw new RuntimeException("请输入正确的行政区划代码"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + + @Operation(summary = "详情和行政区划数据查询") + @PostMapping("/getDetailsAndAddvcdDataList") + public R> getDetailsAndMonitoringDataList() { + return R.ok(service.getDetailsAndMonitoringDataLis()); + } + + + + @Operation(summary = "上传相关图片文件") + @PostMapping(path = "/setImgFile", consumes = "multipart/form-data") + public R setImgFile(@Parameter(description = "文件") @RequestPart("files") MultipartFile[] files) throws Exception { + + for (MultipartFile file : files) { + + String fileName = file.getOriginalFilename(); + String eicd = fileName.split("\\.")[0]; + + FileDescriptor fd = new FileDescriptor(); + fd.setBusinessType(getBusinessType()); + fd.setGroupId(getGroupId()); + fd.setUserId(1L); + fd.setAccessGroup(getService().getAccessGroup()); + fd.setFilePath(generateFilePath(getProperty().getAppCode(), getBusinessType(), 1L, getGroupId(), fileName)); + fd.setFileName(fileName); + fd.setFileLength(file.getSize()); + + getService().upload(fd, file.getInputStream()); + + FileAssociations fileAssociations = new FileAssociations(); + fileAssociations.setFileId(fd.getFileId()); + + fileService.saveFile(Lists.newArrayList(fileAssociations), getGroupId(), eicd); + } + + + return R.ok(); + } + + @Override + public String getGroupId() { + return "iaCFlrvvlg"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/InspectItemController.java b/src/main/java/com/gunshi/project/hsz/controller/InspectItemController.java new file mode 100644 index 0000000..db07ad8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/InspectItemController.java @@ -0,0 +1,68 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.dto.InspectItemDto; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.model.InspectItem; +import com.gunshi.project.hsz.service.InspectItemService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * 描述: 巡检项 + * author: xusan + * date: 2024-08-29 09:58:10 + */ +@Tag(name = "巡检项") +@RestController +@RequestMapping(value="/inspectItem") +public class InspectItemController { + + @Autowired + private InspectItemService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody InspectItem dto) { + dto.setId(IdWorker.getId()); + dto.setStatus(0); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody InspectItem dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "启停") + @PostMapping("/startStop") + public R startStop(@RequestBody InspectItemDto dto) { + return R.ok(service.startStop(dto)); + } + + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated AttCctvBasePage page) { + return R.ok(service.pageQuery(page)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/InspectPointController.java b/src/main/java/com/gunshi/project/hsz/controller/InspectPointController.java new file mode 100644 index 0000000..c89479d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/InspectPointController.java @@ -0,0 +1,61 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.InspectPoint; +import com.gunshi.project.hsz.service.InspectPointService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 巡检点 + * author: xusan + * date: 2024-08-29 09:57:47 + */ +@Tag(name = "巡检点") +@RestController +@RequestMapping(value="/inspect/point") +public class InspectPointController { + + @Autowired + private InspectPointService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody InspectPoint dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody InspectPoint dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "列表") + @GetMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().orderByAsc(InspectPoint::getOrderIndex).list()); + } + + @Operation(summary = "列表(带巡检项)") + @GetMapping("/listWithItem") + public R> listWithItem() { + return R.ok(service.listWithItem()); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/InspectTaskController.java b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskController.java new file mode 100644 index 0000000..f65369a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskController.java @@ -0,0 +1,94 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.InspectTaskPageSo; +import com.gunshi.project.hsz.entity.so.InspectTaskSo; +import com.gunshi.project.hsz.entity.vo.InspectTaskVo; +import com.gunshi.project.hsz.model.InspectTask; +import com.gunshi.project.hsz.service.InspectTaskService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 描述: 巡检任务 + * author: xusan + * date: 2024-08-29 14:21:15 + */ +@Tag(name = "巡检任务") +@RestController +@RequestMapping(value="/inspect/task") +public class InspectTaskController extends AbstractCommonFileController{ + + @Autowired + private InspectTaskService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody InspectTask dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody InspectTask dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated InspectTaskPageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Operation(summary = "开始巡检") + @GetMapping("/startInspect/{id}") + public R startInspect(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.startInspect(id)); + } + + @Operation(summary = "APP-保存/结束巡查") + @PostMapping("/finish") + public R finish(@RequestBody @Validated InspectTaskVo vo) { + return R.ok(service.finish(vo)); + } + + @Operation(summary = "APP-我的巡查任务") + @PostMapping("/list") + public R> list(@RequestBody @Validated InspectTaskSo so) { + return R.ok(service.listQuery(so)); + } + + @Operation(summary = "本月巡查记录") + @PostMapping("/month") + public R> month() { + return R.ok(service.month()); + } + + @Operation(summary = "本年巡查") + @PostMapping("/year") + public R year() { + return R.ok(service.year()); + } + + + @Override + public String getGroupId() { + return "inspectTask"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/InspectTaskDetailController.java b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskDetailController.java new file mode 100644 index 0000000..c33d8d8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskDetailController.java @@ -0,0 +1,62 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.InspectProblemPageSo; +import com.gunshi.project.hsz.entity.vo.InspectProblemVo; +import com.gunshi.project.hsz.entity.vo.InspectTaskDetailVo; +import com.gunshi.project.hsz.model.InspectTaskDetail; +import com.gunshi.project.hsz.service.InspectTaskDetailService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +/** + * 描述: 巡查信息 + * author: xusan + * date: 2024-08-29 14:21:45 + */ +@Tag(name = "巡查信息") +@RestController +@RequestMapping(value="/inspect/detail") +public class InspectTaskDetailController{ + + @Autowired + private InspectTaskDetailService service; + + @Operation(summary = "编辑详情") + @GetMapping("/getByTaskId") + public R> getByTaskId(@Schema(name = "taskId",description = "任务id") @RequestParam(name = "taskId") Long taskId) { + return R.ok(service.getByTaskId(taskId)); + } + + @Operation(summary = "巡查任务详情-巡查信息") + @GetMapping("/info") + public R> inspectInfo(@Schema(name = "taskId",description = "任务id") @RequestParam(name = "taskId") Long taskId) { + return R.ok(service.inspectInfo(taskId)); + } + + @Operation(summary = "巡检问题处理分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated InspectProblemPageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Operation(summary = "APP-处理") + @PostMapping("/handle") + public R handle(@RequestBody @Validated InspectProblemVo vo) { + return R.ok(service.handle(vo)); + } + + + @Operation(summary = "待处理问题清单") + @PostMapping("/handle/list") + public R> handelList() { + return R.ok(service.handelList()); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/InspectTaskTrackController.java b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskTrackController.java new file mode 100644 index 0000000..d979135 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/InspectTaskTrackController.java @@ -0,0 +1,48 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.InspectTaskTrack; +import com.gunshi.project.hsz.service.InspectTaskTrackService; +import com.gunshi.project.hsz.validate.markers.Insert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; +/** + * 描述: 巡查轨迹 + * author: xusan + * date: 2024-09-18 13:59:21 + */ +@Tag(name = "巡查轨迹") +@RestController +@RequestMapping(value="/inspectTaskTrack") +public class InspectTaskTrackController { + + @Autowired + private InspectTaskTrackService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody InspectTaskTrack dto) { + dto.setCreateTime(new Date()); + dto.setId(IdWorker.getId()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@Schema(name = "taskId",description = "任务id") @RequestParam(name = "taskId") Long taskId) { + return R.ok(service.lambdaQuery().eq(InspectTaskTrack::getTaskId,taskId).orderByAsc(InspectTaskTrack::getCreateTime).list()); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/MaintainServiceController.java b/src/main/java/com/gunshi/project/hsz/controller/MaintainServiceController.java new file mode 100644 index 0000000..26ea36a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/MaintainServiceController.java @@ -0,0 +1,67 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.MaintainPageSo; +import com.gunshi.project.hsz.model.MaintainService; +import com.gunshi.project.hsz.service.MaintainServiceService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 维修养护 + * author: xusan + * date: 2024-08-27 15:15:14 + */ +@Tag(name = "维修养护") +@RestController +@RequestMapping(value="/maintain/service") +public class MaintainServiceController extends AbstractCommonFileController{ + + @Autowired + private MaintainServiceService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody MaintainService dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody MaintainService dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody MaintainPageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Override + public String getGroupId() { + return "maintainService"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/MessageCenterController.java b/src/main/java/com/gunshi/project/hsz/controller/MessageCenterController.java new file mode 100644 index 0000000..4e0fe53 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/MessageCenterController.java @@ -0,0 +1,54 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.entity.so.MessageCenterPageSo; +import com.gunshi.project.hsz.model.MessageCenter; +import com.gunshi.project.hsz.service.MessageCenterService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 描述: 消息中心 + * author: xusan + * date: 2024-09-19 10:39:29 + */ +@Tag(name = "消息中心") +@RestController +@RequestMapping(value="/messageCenter") +public class MessageCenterController { + + @Autowired + private MessageCenterService service; + + @Operation(summary = "分页查询") + @PostMapping("/list/page") + public R> listPage(@Validated @RequestBody MessageCenterPageSo page) { + return R.ok(service.listPage(page)); + } + + @Operation(summary = "已读") + @PostMapping("/update") + public R update(@Validated @RequestBody MessageCenter dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "全部标注已读") + @GetMapping("/all/read") + public R allRead() { + return R.ok(service.allRead()); + } + + @Operation(summary = "APP-消息中心") + @PostMapping("/list") + public R> listMes(@Validated @RequestBody DateTimeRangeSo dateTimeRangeSo) { + return R.ok(service.listMes(dateTimeRangeSo)); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowDeviceController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowDeviceController.java new file mode 100644 index 0000000..23cd903 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowDeviceController.java @@ -0,0 +1,117 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.OsmoticDevicePage; +import com.gunshi.project.hsz.entity.vo.HomeOsmoticFlowDeviceVo; +import com.gunshi.project.hsz.model.OsmoticFlowDevice; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.OsmoticFlowDeviceService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 渗流设备表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "渗流设备表") +@RestController +@RequestMapping(value="/osmoticFlowDevice") +public class OsmoticFlowDeviceController extends AbstractCommonFileController{ + + @Autowired + private OsmoticFlowDeviceService service; + + + @Autowired + private FileAssociationsService fileService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticFlowDevice dto) { + if (Objects.nonNull(service.getById(dto.getStationCode()))) { + throw new IllegalArgumentException("当前编号已存在"); + } + + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getStationCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticFlowDevice dto) { + if (Objects.isNull(service.getById(dto.getStationCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + dto.setCreateTime(null); + boolean result = service.updateById(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getStationCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated OsmoticDevicePage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getStationCode())) { + query.like(OsmoticFlowDevice::getStationCode, page.getStationCode()); + } + if (ObjectUtils.isNotNull(page.getDeviceCode())) { + query.like(OsmoticFlowDevice::getDeviceName, page.getDeviceCode()); + } + query.orderByDesc(OsmoticFlowDevice::getCreateTime); + + Page data = service.page(page.getPageSo().toPage(), query); + data.getRecords().forEach(o -> o.setFiles( + fileService.getFiles(getGroupId(),o.getStationCode()) + )); + return R.ok(data); + } + + @Operation(summary = "详情和监测数据查询") + @PostMapping("/getDetailsAndMonitoringDataList") + public R> getDetailsAndMonitoringDataList() { + return R.ok(service.getDetailsAndMonitoringDataList()); + } + + @Override + public String getGroupId() { + return "OsmoticFlowDevice"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowRController.java new file mode 100644 index 0000000..bc24221 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticFlowRController.java @@ -0,0 +1,65 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo; +import com.gunshi.project.hsz.model.OsmoticFlowR; +import com.gunshi.project.hsz.service.OsmoticFlowRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 渗流监测记录表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "渗流监测记录表") +@RestController +@RequestMapping(value="/osmoticFlowR") +public class OsmoticFlowRController { + + @Autowired + private OsmoticFlowRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticFlowR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticFlowR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody OsmoticQueryPageSo osmoticQueryPageSo) { + return R.ok(service.queryPage(osmoticQueryPageSo)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressDeviceController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressDeviceController.java new file mode 100644 index 0000000..8ce1f4d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressDeviceController.java @@ -0,0 +1,118 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.OsmoticDevicePage; +import com.gunshi.project.hsz.entity.vo.HomeOsmoticPressDeviceVo; +import com.gunshi.project.hsz.model.OsmoticPressDevice; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.OsmoticPressDeviceService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 渗压设备表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "渗压设备表") +@RestController +@RequestMapping(value="/osmoticPressDevice") +public class OsmoticPressDeviceController extends AbstractCommonFileController{ + + @Autowired + private OsmoticPressDeviceService service; + + @Autowired + private FileAssociationsService fileService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticPressDevice dto) { + if (Objects.nonNull(service.getById(dto.getStationCode()))) { + throw new IllegalArgumentException("当前编号已存在"); + } + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getStationCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticPressDevice dto) { + if (Objects.isNull(service.getById(dto.getStationCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + dto.setCreateTime(null); + boolean result = service.updateById(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getStationCode()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated OsmoticDevicePage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + if (ObjectUtils.isNotNull(page.getStationCode())) { + query.like(OsmoticPressDevice::getStationCode, page.getStationCode()); + } + if (ObjectUtils.isNotNull(page.getDeviceCode())) { + query.like(OsmoticPressDevice::getDeviceName, page.getDeviceCode()); + } + + query.orderByDesc(OsmoticPressDevice::getCreateTime); + + Page data = service.page(page.getPageSo().toPage(), query); + data.getRecords().forEach(o -> o.setFiles( + fileService.getFiles(getGroupId(),o.getStationCode()) + )); + return R.ok(data); + } + + + @Operation(summary = "详情和监测数据查询") + @PostMapping("/getDetailsAndMonitoringDataList") + public R> getDetailsAndMonitoringDataList() { + return R.ok(service.getDetailsAndMonitoringDataList()); + } + + @Override + public String getGroupId() { + return "OsmoticPressDevice"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressRController.java new file mode 100644 index 0000000..de8bf54 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticPressRController.java @@ -0,0 +1,178 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.OsmoticDetailQuerySo; +import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo; +import com.gunshi.project.hsz.entity.so.OsmoticQuerySo; +import com.gunshi.project.hsz.entity.vo.OsmoticChartVo; +import com.gunshi.project.hsz.entity.vo.OsmoticPressDetailVo; +import com.gunshi.project.hsz.entity.vo.OsmoticPressVo; +import com.gunshi.project.hsz.entity.vo.OsmoticStationVo; +import com.gunshi.project.hsz.model.OsmoticPressDevice; +import com.gunshi.project.hsz.model.OsmoticPressR; +import com.gunshi.project.hsz.service.OsmoticPressDeviceService; +import com.gunshi.project.hsz.service.OsmoticPressRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 渗压监测记录表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "渗压监测记录表") +@RestController +@RequestMapping(value="/osmoticPressR") +public class OsmoticPressRController { + + @Autowired + private OsmoticPressRService service; + + @Autowired + private OsmoticPressDeviceService osmoticPressDeviceService; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticPressR dto) { +// // 通过时间戳去除毫秒 +// long currentTime = System.currentTimeMillis(); +// long seconds = currentTime / 1000; // 去掉毫秒部分 +// Date dateWithoutMillis = new Date(seconds * 1000); // 转回毫秒时间戳 +// dto.setTm(dateWithoutMillis); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticPressR dto) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(OsmoticPressR::getTm, dto.getTm()) + .eq(OsmoticPressR::getStationCode, dto.getStationCode()) + .set(OsmoticPressR::getPress, dto.getPress()) + .set(OsmoticPressR::getVib, dto.getVib()) + .set(OsmoticPressR::getTemp, dto.getTemp()) + .set(OsmoticPressR::getValue, dto.getValue()) + .set(OsmoticPressR::getChan, dto.getChan()); + boolean update = service.update(null, wrapper); + return R.ok(update ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}/{tm}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id,@Schema(name = "tm") @PathVariable("tm") Serializable tm) { + if(Objects.isNull(id) || Objects.isNull(tm)){ + return R.ok(false); + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("station_code", id).eq("tm", tm); + return R.ok(service.remove(wrapper)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody OsmoticQueryPageSo osmoticQueryPageSo) { + Page osmoticPressRPage = service.queryPage(osmoticQueryPageSo); + List records = osmoticPressRPage.getRecords(); + if(CollectionUtils.isEmpty(records)){ + return R.ok(osmoticPressRPage); + } + List collect = records.stream().peek(e -> { + LambdaQueryWrapper wq = new LambdaQueryWrapper(); + wq.eq(OsmoticPressDevice::getStationCode, e.getStationCode()); + List list = osmoticPressDeviceService.list(wq); + if (CollectionUtils.isNotEmpty(list)) { + OsmoticPressDevice osmoticPressDevice = list.stream().findFirst().orElse(null); + e.setProfileCode(osmoticPressDevice.getProfileCode()); + } + }).collect(Collectors.toList()); + osmoticPressRPage.setRecords(collect); + return R.ok(osmoticPressRPage); + } + + @Operation(summary = "大屏-大坝安全监测统计") + @GetMapping("/stat") + public R> stat() { + return R.ok(service.stat()); + } + + @Operation(summary = "布置图-渗压/渗流监测") + @GetMapping("/list/value") + public R> listValue(@Schema(name = "type",description = "类型(1渗压 2渗流)") @RequestParam("type") Integer type) { + return R.ok(service.listValue(type)); + } + + @Operation(summary = "布置图-按测站查询渗压/渗流监测数据") + @PostMapping("/detail/value") + public R> detailValue(@RequestBody @Validated OsmoticDetailQuerySo so) { + return R.ok(service.detailValue(so)); + } + + @Operation(summary = "测值查询(数据表)") + @PostMapping("/query/value") + public R> queryValue(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { + return R.ok(service.queryValue(osmoticQuerySo,null)); + } + + @Operation(summary = "测值查询(多图单表)") + @PostMapping("/query/chart") + public R> queryChart(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { + return R.ok(service.queryChart(osmoticQuerySo,null)); + } + + @Operation(summary = "浸润线查询") + @PostMapping("/infiltra/line") + public R> infiltraLine(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { + return R.ok(service.infiltraLine(osmoticQuerySo)); + } + + @Operation(summary = "浸润线导出") + @PostMapping( "/export") + public void export(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { + service.export(osmoticQuerySo,response); + } + + @Operation(summary = "年度渗压/渗流统计(表格)") + @PostMapping("/year/stat") + public R> yearStat(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { + return R.ok(service.yearStat(osmoticQuerySo)); + } + + @Operation(summary = "年度渗压/渗流统计(全年度特征值统计)") + @PostMapping("/year/stat/value") + public R> yearStatValue(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { + return R.ok(service.yearStatValue(osmoticQuerySo)); + } + + @Operation(summary = "年度渗压/渗流统计导出") + @PostMapping( "/year/stat/export") + public void yearStatExport(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { + service.yearStatExport(osmoticQuerySo,response); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftDeviceController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftDeviceController.java new file mode 100644 index 0000000..e9b446d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftDeviceController.java @@ -0,0 +1,81 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.HomeOsmoticShiftDeviceVo; +import com.gunshi.project.hsz.model.OsmoticShiftDevice; +import com.gunshi.project.hsz.service.OsmoticShiftDeviceService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 位移监测记录表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "位移设备表") +@RestController +@RequestMapping(value="/osmoticShiftDevice") +public class OsmoticShiftDeviceController { + + @Autowired + private OsmoticShiftDeviceService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticShiftDevice dto) { + if (Objects.nonNull(service.getById(dto.getStationCode()))) { + throw new IllegalArgumentException("当前编号已存在"); + } + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticShiftDevice dto) { + if (Objects.isNull(service.getById(dto.getStationCode()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + dto.setCreateTime(null); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + + @Operation(summary = "详情和监测数据查询(暂无设备表,无法使用)") + @PostMapping("/getDetailsAndMonitoringDataList") + public R> getDetailsAndMonitoringDataList() { + return R.ok(service.getDetailsAndMonitoringDataList()); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftRController.java new file mode 100644 index 0000000..17c9196 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticShiftRController.java @@ -0,0 +1,116 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.OsmoticDetailQuerySo; +import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo; +import com.gunshi.project.hsz.entity.so.OsmoticQuerySo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.model.OsmoticShiftR; +import com.gunshi.project.hsz.service.OsmoticShiftRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 位移监测记录表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "位移监测记录表") +@RestController +@RequestMapping(value="/osmoticShiftR") +public class OsmoticShiftRController { + + @Autowired + private OsmoticShiftRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticShiftR dto) { + // dto.setTm(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticShiftR dto) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(OsmoticShiftR::getStationCode, dto.getStationCode()) + .eq(OsmoticShiftR::getTm, dto.getTm()) + .set(OsmoticShiftR::getX, dto.getX()) + .set(OsmoticShiftR::getY, dto.getY()) + .set(OsmoticShiftR::getH, dto.getH()); + boolean update = service.update(null, wrapper); + return R.ok(update ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}/{tm}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id,@Schema(name = "tm") @PathVariable("tm") Serializable tm) { + + if(Objects.isNull(id) || Objects.isNull(tm)){ + return R.ok(false); + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("station_code", id).eq("tm", tm); + return R.ok(service.remove(wrapper)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody OsmoticQueryPageSo osmoticQueryPageSo) { + return R.ok(service.queryPage(osmoticQueryPageSo)); + } + + @Operation(summary = "年度位移统计(表格)") + @PostMapping("/year/stat") + public R> yearStat(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { + return R.ok(service.yearStat(osmoticQuerySo)); + } + + @Operation(summary = "年度位移统计(全年度特征值统计)") + @PostMapping("/year/stat/value") + public R> yearStatValue(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { + return R.ok(service.yearStatValue(osmoticQuerySo)); + } + + @Operation(summary = "年度位移统计导出") + @PostMapping( "/year/stat/export") + public void yearStatExport(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { + service.yearStatExport(osmoticQuerySo,response); + } + + @Operation(summary = "布置图-位移监测") + @GetMapping("/list/value") + public R> listValue() { + return R.ok(service.listValue()); + } + + @Operation(summary = "布置图-按测站查询位移监测数据") + @PostMapping("/detail/value") + public R> detailValue(@RequestBody @Validated OsmoticDetailQuerySo so) { + return R.ok(service.detailValue(so)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRController.java new file mode 100644 index 0000000..5adface --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRController.java @@ -0,0 +1,68 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.WarnPageSo; +import com.gunshi.project.hsz.entity.so.WarnSo; +import com.gunshi.project.hsz.entity.vo.OsmoticWarnVo; +import com.gunshi.project.hsz.model.OsmoticWarnR; +import com.gunshi.project.hsz.service.OsmoticWarnRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Map; + +/** + * 描述: 隐患预警记录表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "隐患预警记录表") +@RestController +@RequestMapping(value="/osmoticWarnR") +public class OsmoticWarnRController { + + @Autowired + private OsmoticWarnRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticWarnR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticWarnR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "统计") + @PostMapping("/stat") + public R> stat(@RequestBody WarnSo warnSo) { + return R.ok(service.stat(warnSo)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody WarnPageSo warnPageSo) { + return R.ok(service.queryPage(warnPageSo)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRuleController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRuleController.java new file mode 100644 index 0000000..cc1fbe0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWarnRuleController.java @@ -0,0 +1,88 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.WarnRulePageSo; +import com.gunshi.project.hsz.model.OsmoticWarnRule; +import com.gunshi.project.hsz.service.OsmoticWarnRuleService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; +/** + * 描述: 预警规则配置表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "预警规则配置表") +@RestController +@RequestMapping(value="/osmoticWarnRule") +public class OsmoticWarnRuleController { + + @Autowired + private OsmoticWarnRuleService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticWarnRule dto) { + checkParam(dto); + dto.setId(IdWorker.getId()); + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + private void checkParam(OsmoticWarnRule dto) { + Long id = dto.getId(); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(OsmoticWarnRule::getStationCode,dto.getStationCode()) + .eq(OsmoticWarnRule::getLevel,dto.getLevel()); + if(dto.getType() == 3){ + queryWrapper.eq(OsmoticWarnRule::getDirection,dto.getDirection()); + } + if(id != null){ + queryWrapper.ne(OsmoticWarnRule::getId,id); + } + if(service.count(queryWrapper ) > 0){ + throw new IllegalArgumentException("该测点已存在该类型的告警"); + } + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticWarnRule dto) { + checkParam(dto); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody WarnRulePageSo warnRulePageSo) { + return R.ok(service.queryPage(warnRulePageSo)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRController.java new file mode 100644 index 0000000..9f6f8c1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRController.java @@ -0,0 +1,218 @@ +package com.gunshi.project.hsz.controller; + +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.OsmoticWaterRVo; +import com.gunshi.project.hsz.listener.OsmoticWaterRImportListener; +import com.gunshi.project.hsz.model.OsmoticWaterR; +import com.gunshi.project.hsz.model.OsmoticWaterRule; +import com.gunshi.project.hsz.service.OsmoticWaterRService; +import com.gunshi.project.hsz.service.OsmoticWaterRuleService; +import com.gunshi.project.hsz.util.ConvertUtil; +import com.gunshi.project.hsz.util.DateUtil; +import com.gunshi.project.hsz.util.ExcelUtil; +import com.gunshi.project.hsz.util.ResultJson; +import com.gunshi.project.hsz.util.excel.ExcelResult; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Serializable; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 描述: 水质采样记录表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水质采样记录表") +@RestController +@RequestMapping(value="/osmoticWaterR") +public class OsmoticWaterRController { + + @Autowired + private OsmoticWaterRService service; + + @Autowired + private OsmoticWaterRuleService osmoticWaterRuleService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticWaterR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticWaterR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "获取最新一条数据") + @PostMapping("/getLastData") + public R> getLastData() { + Map resMap = new HashMap<>(); + QueryWrapper qw = new QueryWrapper<>(); + qw.orderBy(true, false, "tm").last(" limit 1"); + OsmoticWaterR osmoticWaterR = service.getOne(qw); + if(ObjectUtils.isNotEmpty(osmoticWaterR)){ + resMap = JSON.parseObject(JSON.toJSONString(osmoticWaterR), Map.class); + // 获取标准值 + List list = osmoticWaterRuleService.list(); + if(CollectionUtils.isNotEmpty(list)){ + for (OsmoticWaterRule rule : list){ + String code = rule.getCode(); + String codeStandard = code + "Standard"; + if(resMap.containsKey(code)){ + if("~".equals(rule.getCondition())){ + resMap.put(codeStandard, "(" + rule.getOne() + rule.getCondition() + rule.getTwo() + ")"); + } else { + String codeLevel = resMap.get(code + "Level").toString(); + if(codeLevel.contains("Ⅰ")){ + resMap.put(codeStandard, "(" + rule.getCondition() + rule.getOne() + ")"); + } else if (codeLevel.contains("Ⅱ")){ + resMap.put(codeStandard, "(" + rule.getCondition() + rule.getTwo() + ")"); + } else if (codeLevel.contains("Ⅲ")){ + resMap.put(codeStandard, "(" + rule.getCondition() + rule.getThree() + ")"); + } else if (codeLevel.contains("Ⅳ")){ + resMap.put(codeStandard, "(" + rule.getCondition() + rule.getFour() + ")"); + } else if (codeLevel.contains("Ⅴ")){ + resMap.put(codeStandard, "(" + rule.getCondition() + rule.getFive() + ")"); + } + } + } + } + } + } + return R.ok(resMap); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated OsmoticWaterR osmoticWaterR) { + QueryWrapper wrapper = new QueryWrapper() + .ge(ObjectUtils.isNotNull(osmoticWaterR.getStartTime()), "tm", osmoticWaterR.getStartTime()) + .le(ObjectUtils.isNotNull(osmoticWaterR.getEndTime()), "tm", osmoticWaterR.getEndTime()); + if(StringUtils.isNotBlank(osmoticWaterR.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(osmoticWaterR.getIsAsc()) ? false : osmoticWaterR.getIsAsc(), osmoticWaterR.getOrderField()); + } + return R.ok(service.list(wrapper)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated OsmoticWaterR osmoticWaterR) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.ge(ObjectUtils.isNotNull(osmoticWaterR.getStartTime()), "tm", osmoticWaterR.getStartTime()) + .le(ObjectUtils.isNotNull(osmoticWaterR.getEndTime()), "tm", osmoticWaterR.getEndTime()); + if(StringUtils.isNotBlank(osmoticWaterR.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(osmoticWaterR.getIsAsc()) ? false : osmoticWaterR.getIsAsc(), osmoticWaterR.getOrderField()); + } + return R.ok(service.page(osmoticWaterR.getPageSo().toPage(), wrapper)); + } + + /** + * 获取导入模板 + */ + @Operation(summary = "获取导入模板") + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil.exportExcel(new ArrayList<>(), "水质整编表", OsmoticWaterRVo.class, response, "水质整编表"); + } + + /** + * 导入数据 + * + * @param file 导入文件 + * + */ + @Operation(summary = "导入数据") + @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public ResultJson importData(@RequestPart("file") MultipartFile file) throws Exception { + ExcelResult result = ExcelUtil.importExcel(file.getInputStream(), OsmoticWaterRVo.class, new OsmoticWaterRImportListener()); + return ResultJson.ok(result.getAnalysis()); + } + + @Operation(summary = "导出") + @PostMapping("/exportOsmoticWaterRDataExcel") + @CrossOrigin + public void exportOsmoticWaterRDataExcel(@RequestBody @Validated OsmoticWaterR osmoticWaterR, HttpServletResponse response) { + String filename = "水质整编表"; + if (ObjectUtils.isNotEmpty(osmoticWaterR.getStartTime())) { + filename.concat("_").concat(DateUtil.convertDateToString(osmoticWaterR.getStartTime())); + } + if (ObjectUtils.isNotEmpty(osmoticWaterR.getStartTime())) { + filename.concat("_").concat(DateUtil.convertDateToString(osmoticWaterR.getEndTime())); + } + List vos = ConvertUtil.entityToVoList(this.list(osmoticWaterR).getData(), OsmoticWaterRVo.class); + ExcelUtil.exportExcel(vos, filename, OsmoticWaterRVo.class, response, "水质整编表"); + } + + + @Operation(summary = "文件下载") + @PostMapping("/downloadFile") + @CrossOrigin + public void downloadFile(HttpServletResponse response) throws IOException { + String filePath = "doc/2002年6月1日_GB3838-2002地表水环境质量标准.pdf"; + File file = new File(filePath); + if (!file.exists()) { + new FileNotFoundException("文件不存在!"); + } + response.setCharacterEncoding("utf-8"); + response.setContentType("application/octet-stream; charset=UTF-8"); + response.setHeader("content-disposition", "attachment;filename*=utf-8'zh_cn'" + URLEncoder.encode("GB3838-2002地表水环境质量标准.pdf", "UTF-8")); + InputStream inputStream = null; + OutputStream outputStream = null; + try { + inputStream = this.getClass().getClassLoader().getResourceAsStream(filePath); + outputStream = response.getOutputStream(); + byte[] buffer = new byte[1024]; + int len = 0; + while ((len = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, len); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + inputStream.close(); + outputStream.close(); + } + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRuleController.java b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRuleController.java new file mode 100644 index 0000000..74d457f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/OsmoticWaterRuleController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.OsmoticWaterRule; +import com.gunshi.project.hsz.service.OsmoticWaterRuleService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 水质质量标准规则表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水质质量标准规则表") +@RestController +@RequestMapping(value="/osmoticWaterRule") +public class OsmoticWaterRuleController { + + @Autowired + private OsmoticWaterRuleService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody OsmoticWaterRule dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody OsmoticWaterRule dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanController.java b/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanController.java new file mode 100644 index 0000000..327dec8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanController.java @@ -0,0 +1,295 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.PersonnelPlanPage; +import com.gunshi.project.hsz.model.PersonnelPlan; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.PersonnelPlanService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import com.ruoyi.common.utils.poi.ExcelUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.util.ObjectUtils; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@Tag(name = "培训计划表") +@RestController +@RequestMapping(value = "/personnelPlan") +public class PersonnelPlanController extends AbstractCommonFileController { + + + @Autowired + private PersonnelPlanService service; + + @Autowired + private FileAssociationsService fileService; + + @Override + public String getGroupId() { + return "personnelPlan"; + } + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody PersonnelPlan dto) { + + LambdaQueryChainWrapper query = service.lambdaQuery() + .eq(PersonnelPlan::getType, dto.getType()) + .eq(PersonnelPlan::getName, dto.getName()); + if (query.count() > 0) { + throw new IllegalArgumentException("当前培训主题培训班名称重复"); + } + + if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm()) && dto.getStm().compareTo(dto.getEtm()) > 0) { + throw new IllegalArgumentException("开始时间不能大于结束时间"); + } + + dto.setId(IdWorker.getId()); + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody PersonnelPlan dto) { + + LambdaQueryChainWrapper query = service.lambdaQuery() + .ne(PersonnelPlan::getId, dto.getId()) + .eq(PersonnelPlan::getType, dto.getType()) + .eq(PersonnelPlan::getName, dto.getName()); + if (query.count() > 0) { + throw new IllegalArgumentException("当前培训主题培训班名称重复"); + } + + if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm()) && dto.getStm().compareTo(dto.getEtm()) > 0) { + throw new IllegalArgumentException("开始时间不能大于结束时间"); + } + + dto.setCreateTime(null); + dto.setCreateBy(null); + dto.setCreateName(null); + dto.setUpdateTime(new Date()); + boolean result = service.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); + } + return R.ok(result ? dto : null); + } + + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + boolean data = service.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return R.ok(data); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated PersonnelPlanPage dto) { + LambdaQueryChainWrapper query = service.lambdaQuery(); + if (StringUtils.isNotBlank(dto.getName())){ + query.like(PersonnelPlan::getName, dto.getName()); + } + return R.ok(query + .eq(PersonnelPlan::getStatus, 1) + .list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated PersonnelPlanPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + Date stm = page.getStm(); + Date etm = page.getEtm(); + + if (Objects.nonNull(etm) && Objects.nonNull(stm)) { + query.nested(o -> o.between(PersonnelPlan::getStm, stm, etm).or().between(PersonnelPlan::getEtm, stm, etm)); + } else { + + if (Objects.nonNull(stm)) { + query.ge(PersonnelPlan::getStm, stm); + } + + if (Objects.nonNull(etm)) { + query.le(PersonnelPlan::getEtm, etm); + } + } + + + String name = page.getName(); + if (StringUtils.isNotBlank(name)) { + query.like(PersonnelPlan::getName, name); + } + + String applicant = page.getApplicant(); + if (StringUtils.isNotBlank(applicant)) { + query.like(PersonnelPlan::getApplicant, applicant); + } + query.orderByDesc(PersonnelPlan::getStm).orderByDesc(PersonnelPlan::getCreateTime); + Page data = service.page(page.getPageSo().toPage(), query); + data.getRecords().forEach(item -> + item.setFiles(fileService.getFiles(getGroupId(), item.getId().toString())) + ); + return R.ok(data); + } + + + @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + @Operation(summary = "上传") + public R> uploading(@RequestPart("file") MultipartFile file) throws IOException { + + //判断文件是否有数据 + if (ObjectUtils.isEmpty(file) || file.getSize() <= 0) { + throw new IllegalArgumentException("上传文件为空"); + } + + ExcelUtil util = new ExcelUtil<>(PersonnelPlan.class); + + List plans = util.importExcel(file.getInputStream()); + + if (CollectionUtils.isNotEmpty(plans)) { + checkData(plans); + Date regDate = new Date(); + plans.forEach(o -> o.setId(IdWorker.getId()) + .setRegDate(regDate) + .setStatus(1) +// .setApplicant(SecurityUtils.getUsername()) + ); + boolean b = service.saveBatch(plans); + if (!b) { + throw new IllegalArgumentException("上传失败"); + } + } + + return R.ok(plans); + } + + /** + * 校验上传的数据 + * name type,stm ,etm , , addr, unit, content,numPeople,scope 不能为空 + * stm etm 进行时间格式校验 + */ + private void checkData(List list) { + if (CollectionUtils.isEmpty(list)) { + throw new IllegalArgumentException("上传数据为空"); + } + + int rowNumber = 1; + for (PersonnelPlan o : list) { + if (StringUtils.isBlank(o.getName())) { + throw new IllegalArgumentException("第" + rowNumber + "行的培训班名称不能为空"); + } + if (Objects.isNull(o.getType())) { + throw new IllegalArgumentException("第" + rowNumber + "行的培训主题不能为空"); + } + if (Objects.isNull(o.getStm())) { + throw new IllegalArgumentException("第" + rowNumber + "行的开始培训时间不能为空"); + } + if (Objects.isNull(o.getEtm())) { + throw new IllegalArgumentException("第" + rowNumber + "行的结束培训时间不能为空"); + } + if (StringUtils.isBlank(o.getAddr())) { + throw new IllegalArgumentException("第" + rowNumber + "行的培训地点不能为空"); + } + if (StringUtils.isBlank(o.getUnit())) { + throw new IllegalArgumentException("第" + rowNumber + "行的培训单位不能为空"); + } + if (StringUtils.isBlank(o.getContent())) { + throw new IllegalArgumentException("第" + rowNumber + "行的培训内容不能为空"); + } + if (o.getNumPeople() == null || o.getNumPeople() <= 0) { + throw new IllegalArgumentException("第" + rowNumber + "行的参训人数必须大于0"); + } + if (StringUtils.isBlank(o.getScope())) { + throw new IllegalArgumentException("第" + rowNumber + "行的培训范围不能为空"); + } + rowNumber++; + } + } + + @PostMapping("/download") + @Operation(summary = "下载") + public void download(@RequestBody PersonnelPlanPage page, HttpServletResponse response) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + Date stm = page.getStm(); + Date etm = page.getEtm(); + + if (Objects.nonNull(etm) && Objects.nonNull(stm)) { + query.nested(o -> o.between(PersonnelPlan::getStm, stm, etm).or().between(PersonnelPlan::getEtm, stm, etm)); + } else { + + if (Objects.nonNull(stm)) { + query.ge(PersonnelPlan::getStm, stm); + } + + if (Objects.nonNull(etm)) { + query.le(PersonnelPlan::getEtm, etm); + } + } + + + String name = page.getName(); + if (StringUtils.isNotBlank(name)) { + query.like(PersonnelPlan::getName, name); + } + + String applicant = page.getApplicant(); + if (StringUtils.isNotBlank(applicant)) { + query.like(PersonnelPlan::getApplicant, applicant); + } + query.orderByDesc(PersonnelPlan::getStm).orderByDesc(PersonnelPlan::getCreateTime); + + List list = service.list(query); + + ExcelUtil util = new ExcelUtil<>(PersonnelPlan.class); + + util.exportExcel(response, list, "培训计划"); + + } + + @GetMapping("/template") + @Operation(summary = "下载模板") + public void download(HttpServletResponse response) { + ExcelUtil util = new ExcelUtil<>(PersonnelPlan.class); + + util.importTemplateExcel(response, "培训计划"); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanLogController.java b/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanLogController.java new file mode 100644 index 0000000..721e377 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/PersonnelPlanLogController.java @@ -0,0 +1,267 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.PersonnelPlanLogPage; +import com.gunshi.project.hsz.entity.vo.PersonnelPlanLogStatisticsVo; +import com.gunshi.project.hsz.model.PersonnelPlan; +import com.gunshi.project.hsz.model.PersonnelPlanLog; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.PersonnelPlanLogService; +import com.gunshi.project.hsz.service.PersonnelPlanService; +import com.gunshi.project.hsz.util.DateUtil; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.*; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@Tag(name = "培训记录表") +@RestController +@RequestMapping(value = "/personnelPlanLog") +public class PersonnelPlanLogController extends AbstractCommonFileController{ + + + @Autowired + private PersonnelPlanLogService service; + + + @Autowired + private PersonnelPlanService planService; + + + @Autowired + private FileAssociationsService fileService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody PersonnelPlanLog dto) { + + if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm()) && dto.getStm().compareTo(dto.getEtm()) >= 0){ + throw new IllegalArgumentException("开始时间不能大于结束时间"); + } + + LambdaQueryChainWrapper query = service.lambdaQuery() + .eq(PersonnelPlanLog::getPlanDate, dto. getPlanDate()) + .eq(PersonnelPlanLog::getName, dto.getName()); + if (query.count() > 0){ + throw new IllegalArgumentException("当前培训日期标题名称重复"); + } + + if (Objects.nonNull(dto.getPlanId()) && planService.lambdaQuery().eq(PersonnelPlan::getId, dto.getPlanId()).count() == 0) { + throw new IllegalArgumentException("培训计划不存在"); + } + dto.setId(IdWorker.getId()); + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + + if (result){ + fileService.saveFile(dto.getFiles1(), getGroupId(), String.valueOf( dto.getId()),"1"); + fileService.saveFile(dto.getFiles2(), getGroupId(), String.valueOf( dto.getId()),"2"); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody PersonnelPlanLog dto) { + + if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm()) && dto.getStm().compareTo(dto.getEtm()) >= 0){ + throw new IllegalArgumentException("开始时间不能大于结束时间"); + } + + LambdaQueryChainWrapper query = service.lambdaQuery() + .ne(PersonnelPlanLog::getId, dto.getId()) + .eq(PersonnelPlanLog::getPlanDate, dto. getPlanDate()) + .eq(PersonnelPlanLog::getName, dto.getName()); + if (query.count() > 0){ + throw new IllegalArgumentException("当前培训日期标题名称重复"); + } + if (Objects.nonNull(dto.getPlanId()) && planService.lambdaQuery().eq(PersonnelPlan::getId, dto.getPlanId()).count() == 0) { + throw new IllegalArgumentException("培训计划不存在"); + } + + dto.setCreateTime(null); + dto.setCreateBy(null); + dto.setCreateName(null); + dto.setUpdateTime(new Date()); + boolean result = service.updateById(dto); + if (result){ + fileService.saveFile(dto.getFiles1(), getGroupId(), String.valueOf( dto.getId()),"1"); + fileService.saveFile(dto.getFiles2(), getGroupId(), String.valueOf( dto.getId()),"2"); + } + return R.ok(result ? dto : null); + } + + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + @Operation(summary = "获取详情(包括文件信息)") + @GetMapping("/get/{id}") + public R get(@Schema(name = "id") @PathVariable("id") Serializable id) { + PersonnelPlanLog o = service.getById(id); + if (Objects.isNull(o)) { + throw new IllegalArgumentException("当前数据不存在"); + } + + o.setFiles1(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"1")); + o.setFiles2(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"2")); + return R.ok(o); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery() + .list()); + } + + @Operation(summary = "统计") + @GetMapping("/statistics/{year}") + public R statistics(@PathVariable("year") Integer year) { + if (year < 1970 || year > LocalDate.now().getYear()) { + throw new IllegalArgumentException("年份不合法"); + } + //plan planLog + Date stm = DateUtil.convertStringToDate(year + "-01-01 00:00:00"); + Date etm = DateUtil.convertStringToDate(year + "-12-31 23:59:59"); + List planLogs = service.lambdaQuery() + .between(PersonnelPlanLog::getPlanDate, stm, etm) + .list(); + List plans = planService.lambdaQuery() + .between(PersonnelPlan::getStm, stm, etm) + .list(); + + PersonnelPlanLogStatisticsVo vo = new PersonnelPlanLogStatisticsVo(); + +// Map map1 = Maps.newHashMap(); +// Calendar calendar = Calendar.getInstance(); +// int month = calendar.get(Calendar.MONTH) + 1; + if (CollectionUtils.isNotEmpty(planLogs)) { + + vo.setNumberOfPeriods1(planLogs.size()); + vo.setNumberOfPeriods2(plans.stream().mapToInt(PersonnelPlan::getNum).sum()); + vo.setPersonNum1(planLogs.stream().mapToInt(PersonnelPlanLog::getNumPeople).sum()); + vo.setPersonNum2(plans.stream() + .map( + item -> item.getNumPeople() * item.getNum() + ).mapToInt(Integer::intValue).sum() + ); + + Calendar calendar = Calendar.getInstance(); + List logStatPerMonth = new ArrayList<>(); + for (int i = 0; i < 12; i++) { + int month = i; //calendar的月份是从0开始 + List logsPerMonth = planLogs.stream().filter(log -> { + Date planDate = log.getPlanDate(); + calendar.setTime(planDate); + return month == calendar.get(Calendar.MONTH); + }).toList(); + + //month num1实际人数 num2实际期数 + PersonnelPlanLogStatisticsVo.EchartsData chartItem = new PersonnelPlanLogStatisticsVo.EchartsData(); + chartItem.setMonth(i + 1); //calendar的月份是从0开始 + chartItem.setNum1(logsPerMonth.stream().mapToInt(PersonnelPlanLog::getNumPeople).sum()); + chartItem.setNum2(logsPerMonth.size()); + + logStatPerMonth.add(chartItem); +// PersonnelPlanLogStatisticsVo.EchartsData echartsData1 = map1.get(i); +// if (Objects.isNull(echartsData1)) { +// echartsData1 = new PersonnelPlanLogStatisticsVo.EchartsData(); +// } +// int finalI = i; +// List list = planLogs.stream() +// .filter(item -> +// { +// calendar.setTime(item.getPlanDate()); +// return month == finalI; +// }) +// .toList(); +// +// echartsData1.setMonth(finalI) +// .setNum1(list.stream().mapToInt(PersonnelPlanLog::getNumPeople).sum()) +// .setNum2(list.size()); +// map1.put(i, echartsData1); + } + vo.setList1(logStatPerMonth); + } + + + return R.ok(vo); + } + + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated PersonnelPlanLogPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + Date stm = page.getStm(); + if (Objects.nonNull(stm)) { + query.ge(PersonnelPlanLog::getPlanDate, stm); + } + + Date etm = page.getEtm(); + if (Objects.nonNull(etm)) { + query.le(PersonnelPlanLog::getPlanDate, etm); + } + + Integer type = page.getType(); + if (Objects.nonNull(type)) { + query.eq(PersonnelPlanLog::getType, type); + } + + Long planId = page.getPlanId(); + if (Objects.nonNull(planId)) { + query.eq(PersonnelPlanLog::getPlanId, planId); + } + + String trainees = page.getTrainees(); + if (StringUtils.isNotBlank(trainees)) { + query.like(PersonnelPlanLog::getTrainees, trainees); + } + + String unit = page.getUnit(); + if (StringUtils.isNotBlank(unit)) { + query.like(PersonnelPlanLog::getUnit, unit); + } + + query.orderByDesc(PersonnelPlanLog::getPlanDate); + + Page data = service.page(page.getPageSo().toPage(), query); + data.getRecords().forEach(o -> { + o.setFiles1(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"1")); + o.setFiles2(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"2")); + }); + return R.ok(data); + } + + @Override + public String getGroupId() { + return "personnelPlanLog"; + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ProjectEventsController.java b/src/main/java/com/gunshi/project/hsz/controller/ProjectEventsController.java new file mode 100644 index 0000000..6869bd9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ProjectEventsController.java @@ -0,0 +1,82 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.CommonDataPageSo; +import com.gunshi.project.hsz.entity.vo.ProjectEventsVo; +import com.gunshi.project.hsz.model.ProjectEvents; +import com.gunshi.project.hsz.service.ProjectEventsService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; + +/** + * 描述: 工程大事记 + * author: wanyan + * date: 2024-08-20 17:40:37 + */ +@Tag(name = "工程大事记") +@RestController +@RequestMapping(value="/projectEvents") +public class ProjectEventsController extends AbstractCommonFileController{ + + @Autowired + private ProjectEventsService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ProjectEvents dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ProjectEvents dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated CommonDataPageSo so) { + return R.ok(service.queryList(so)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated CommonDataPageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Operation(summary = "全周期档案") + @PostMapping("/doc/page") + public R> filePage(@RequestBody @Validated CommonDataPageSo page) { + return R.ok(service.filePage(page)); + } + + @Operation(summary = "导出") + @PostMapping("/export") + public void export(@RequestBody @Validated CommonDataPageSo page, HttpServletResponse response) { + service.export(page,response); + } + + @Override + public String getGroupId() { + return "ProjectEvents"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/RainBasinDivisionController.java b/src/main/java/com/gunshi/project/hsz/controller/RainBasinDivisionController.java new file mode 100644 index 0000000..1d20a8c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/RainBasinDivisionController.java @@ -0,0 +1,62 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.annotation.Get; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.StPptnSo; +import com.gunshi.project.hsz.entity.vo.CartogramVo; +import com.gunshi.project.hsz.entity.vo.StPptnDetailsVo; +import com.gunshi.project.hsz.entity.vo.StPptnVo; +import com.gunshi.project.hsz.model.StPptnRReal; +import com.gunshi.project.hsz.service.RainBasinDivisionService; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +@RestController +@RequestMapping("/attResBase") +@Tag(name = "雨情站详细信息查询接口") +public class RainBasinDivisionController { + + @Autowired + private RainBasinDivisionService rainBasinDivisionService; + + + @Post(path = "/rainBasinDivision/queryStStbprpPerHour/StcdAndStartTimeAndEndTime",summary = "根据测站编码查询时间段内每小时的雨量") + public R> queryStPptnPerHourByStcdAndStartTimeAndEndTime(@RequestBody @Validated StPptnSo stPptnSo){ + return R.ok(rainBasinDivisionService.queryStPptnPerHourByStcdAndStartTimeAndEndTime(stPptnSo)); + } + + @Post(path = "/rainBasinDivision/queryStStbprpPerHourChart/StcdAndStartTimeAndEndTime",summary = "根据测站编码查询时间段内每小时的雨量统计") + public R queryStPptnPerHourChartByStcdAndStartTimeAndEndTime(@RequestBody @Validated StPptnSo stPptnSo){ + return R.ok(rainBasinDivisionService.queryStPptnPerHourChartByStcdAndStartTimeAndEndTime(stPptnSo)); + } + + @Post(path = "/rainBasinDivision/queryStStbprpPerDay/StcdAndStartTimeAndEndTime",summary = "根据测站编码查询时间段内每天的雨量") + public R> queryStPptnPerDayByStcdAndStartTimeAndEndTime(@RequestBody @Validated StPptnSo stPptnSo){ + return R.ok(rainBasinDivisionService.queryStPptnPerDayByStcdAndStartTimeAndEndTime(stPptnSo).reversed()); + } + + @Post(path = "/rainBasinDivision/queryStStbprpPerDayChart/StcdAndStartTimeAndEndTime",summary = "根据测站编码查询时间段内每天的雨量统计") + public R queryStPptnPerDayChartChartByStcdAndStartTimeAndEndTime(@RequestBody @Validated StPptnSo stPptnSo){ + return R.ok(rainBasinDivisionService.queryStPptnPerDayChartChartByStcdAndStartTimeAndEndTime(stPptnSo)); + } + + @Get(path = "/rainBasinDivision/queryStPptnDetails/stcd",summary = "根据测站编码查询详细雨量情况") + public R queryStPptnDetailsByStcd(@RequestParam("stcd") @Parameter(description = "测站编码") String stcd){ + return R.ok(rainBasinDivisionService.queryStPptnDetailsByStcd(stcd)); + } + + @Post(path = "/maxRain",summary = "根据测站编码查询时间段内最大小时雨量") + public R maxRain(@RequestBody @Validated StPptnSo stPptnSo){ + return R.ok(rainBasinDivisionService.maxRain(stPptnSo)); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/RealRainController.java b/src/main/java/com/gunshi/project/hsz/controller/RealRainController.java new file mode 100644 index 0000000..d12c9b5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/RealRainController.java @@ -0,0 +1,44 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.RealRainBaseSo; +import com.gunshi.project.hsz.entity.vo.RealRainListVo; +import com.gunshi.project.hsz.service.RealRainService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.Data; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +@RestController +@RequestMapping("/real/rain") +@Tag(name = "降雨信息查询接口") +@Data +public class RealRainController { + + @Autowired + private RealRainService realRainService; + + @Post(path="/list", summary = "实时雨情-降雨信息-查询接口") + public R> getRealRainList(@RequestBody RealRainBaseSo realRainBaseSo) { + List list = realRainService.getRealRainList(realRainBaseSo); + //按RealRainListVo.drp倒序排列,null的排在最后面 + list.sort((o1, o2) -> { + if (o1.getDrp() == null) { + return 1; + } + if (o2.getDrp() == null) { + return -1; + } + return o2.getDrp().compareTo(o1.getDrp()); + }); + return R.ok(list); + } + + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResBriefController.java b/src/main/java/com/gunshi/project/hsz/controller/ResBriefController.java new file mode 100644 index 0000000..930e280 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ResBriefController.java @@ -0,0 +1,38 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.project.hsz.model.ResBriefR; +import com.gunshi.project.hsz.service.ResBriefRService; +import com.ruoyi.common.core.domain.R; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; +import java.util.List; + +/** + * @author lyf + * @since 2025-04-25 + */ +@Tag(name = "汛情简报接口") +@RestController +@RequestMapping(value="/resBrief") +public class ResBriefController { + @Autowired + private ResBriefRService resBriefRService; + + @GetMapping("/getResBriefList") + public R> getResBriefList( + @RequestParam(value = "startDate") @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, + @RequestParam(value = "endDate") @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate + ) { + if (startDate.after(endDate)) { + return R.fail("开始日期不能大于结束日期"); + } + return R.ok(resBriefRService.getResBriefList(startDate, endDate)); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResFloodRoadController.java b/src/main/java/com/gunshi/project/hsz/controller/ResFloodRoadController.java new file mode 100644 index 0000000..b53b8cc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ResFloodRoadController.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.ResFloodRoad; +import com.gunshi.project.hsz.service.ResFloodRoadService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 防汛道路 + * author: xusan + * date: 2024-11-14 10:37:15 + */ +@Tag(name = "防汛道路") +@RestController +@RequestMapping(value="/resFloodRoad") +public class ResFloodRoadController { + + @Autowired + private ResFloodRoadService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ResFloodRoad dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ResFloodRoad dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResMangUnitController.java b/src/main/java/com/gunshi/project/hsz/controller/ResMangUnitController.java new file mode 100644 index 0000000..662d613 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ResMangUnitController.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.ResCodeSo; +import com.gunshi.project.hsz.model.ResMangUnit; +import com.gunshi.project.hsz.service.ResMangUnitService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 水库管理单位表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水库管理单位表") +@RestController +@RequestMapping(value="/resMangUnit") +public class ResMangUnitController { + + @Autowired + private ResMangUnitService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ResMangUnit dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ResMangUnit dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@Validated @RequestBody ResCodeSo so) { + return R.ok(service.lambdaQuery().eq(ResMangUnit::getResCode,so.getResCode()).list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResMonthEcoFlowController.java b/src/main/java/com/gunshi/project/hsz/controller/ResMonthEcoFlowController.java new file mode 100644 index 0000000..4a1fa8e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ResMonthEcoFlowController.java @@ -0,0 +1,88 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.ResMonthEcoFlowListSo; +import com.gunshi.project.hsz.model.ResMonthEcoFlow; +import com.gunshi.project.hsz.service.ResMonthEcoFlowService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 水库月核定生态流量表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水库月核定生态流量表") +@RestController +@RequestMapping(value="/resMonthEcoFlow") +public class ResMonthEcoFlowController { + + @Autowired + private ResMonthEcoFlowService service; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ResMonthEcoFlow dto) { + dto.setModitime(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ResMonthEcoFlow dto) { + if (Objects.isNull(service.getById(dto.getId()))){ + throw new IllegalArgumentException("当前数据不存在"); + } + dto.setModitime(null); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "批量修改") + @PostMapping("/updates") + public R updates(@Validated(Update.class) @RequestBody List dto) { + + dto = dto.stream().map(x -> x.setModitime(new Date())).collect(Collectors.toList()); + boolean result = service.updateBatchById(dto); + + return R.ok(result); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))){ + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@Validated @RequestBody ResMonthEcoFlowListSo vo) { + LocalDateTime stm = LocalDateTime.of(vo.getYear(), 1, 1, 0, 0, 0); + LocalDateTime etm = LocalDateTime.of(vo.getYear(), 12, 31, 23, 59, 59); + return R.ok(service.lambdaQuery().between(ResMonthEcoFlow::getModitime,stm,etm).orderByAsc(ResMonthEcoFlow::getMonth).list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResPersonController.java b/src/main/java/com/gunshi/project/hsz/controller/ResPersonController.java new file mode 100644 index 0000000..68c957f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ResPersonController.java @@ -0,0 +1,115 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.ResPersonPage; +import com.gunshi.project.hsz.model.ResPerson; +import com.gunshi.project.hsz.service.ResPersonService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@Tag(name = "责任人表") +@RestController +@RequestMapping(value="/resPerson") +public class ResPersonController { + + + @Autowired + private ResPersonService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ResPerson dto) { + + LambdaQueryChainWrapper query = service.lambdaQuery() + .eq(ResPerson::getType, dto.getType()) + .eq(ResPerson::getName, dto.getName()); + if (query.count() > 0){ + throw new IllegalArgumentException("当前责任类型名字重复"); + } + + dto.setCreateTime(new Date()); + dto.setId(IdWorker.getId()); + + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ResPerson dto) { + + LambdaQueryChainWrapper query = service.lambdaQuery() + .ne(ResPerson::getId, dto.getId()) + .eq(ResPerson::getType, dto.getType()) + .eq(ResPerson::getName, dto.getName()); + if (query.count() > 0){ + throw new IllegalArgumentException("当前责任类型名字重复"); + } + dto.setCreateTime(null); + dto.setCreateBy(null); + dto.setCreateName(null); + dto.setUpdateTime(new Date()); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated ResPersonPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + Integer type = page.getType(); + if (Objects.nonNull(type)){ + query.eq(ResPerson::getType, type); + } + + String name = page.getName(); + if (StringUtils.isNotBlank(name)){ + query.like(ResPerson::getName, name); + } + + String contactInfo = page.getContactInfo(); + if (StringUtils.isNotBlank(contactInfo)){ + query.like(ResPerson::getContactInfo, contactInfo); + } + + return R.ok(service.page(page.getPageSo().toPage(),query)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResPlanBController.java b/src/main/java/com/gunshi/project/hsz/controller/ResPlanBController.java new file mode 100644 index 0000000..64b1bfd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ResPlanBController.java @@ -0,0 +1,116 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.ResCodeSo; +import com.gunshi.project.hsz.model.ResPlanB; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.ResPlanBService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 水库预案表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水库预案表") +@RestController +@RequestMapping(value="/resPlanB") +public class ResPlanBController extends AbstractCommonFileController{ + + @Autowired + private ResPlanBService service; + + @Autowired + private FileAssociationsService fileService; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ResPlanB dto) { + dto.setId(IdWorker.getId()); + dto.setModitime(new Date()); + boolean result = service.save(dto); + + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf( dto.getId())); + } + + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ResPlanB dto) { + if (Objects.isNull(service.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = service.updateById(dto); + + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf( dto.getId())); + } + + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = service.removeById(id); + + if (data){ + fileService.deleteFile(getGroupId(),id.toString()); + } + + return R.ok(data); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@Validated @RequestBody ResCodeSo so) { + LambdaQueryChainWrapper query = service.lambdaQuery(); + if (StringUtils.isNotBlank(so.getResCode())){ + query.eq(ResPlanB::getResCode, so.getResCode()); + } + if (StringUtils.isNotBlank(so.getType())){ + query.eq(ResPlanB::getType, so.getType()); + } + query.orderByDesc(ResPlanB::getModitime); + List list = query.list(); + + if (CollectionUtils.isNotEmpty(list)){ + list.forEach(o -> o.setFiles(fileService.getFiles(getGroupId(),String.valueOf( o.getId())))); + } + + return R.ok(list); + } +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + @Override + public String getGroupId() { + return "ResPlanB"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResProjectImgController.java b/src/main/java/com/gunshi/project/hsz/controller/ResProjectImgController.java new file mode 100644 index 0000000..0befe95 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ResProjectImgController.java @@ -0,0 +1,112 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.ResCodeSo; +import com.gunshi.project.hsz.model.ResProjectImg; +import com.gunshi.project.hsz.service.AttResBaseService; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.ResProjectImgService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 水库工程图片 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水库工程图片") +@RestController +@RequestMapping(value="/resProjectImg") +public class ResProjectImgController extends AbstractCommonFileController{ + + @Autowired + private ResProjectImgService service; + + @Autowired + private FileAssociationsService fileService; + + @Autowired + private AttResBaseService resService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ResProjectImg dto) { + if (Objects.isNull(resService.getById(dto.getResCode()))){ + throw new RuntimeException("当前水库不存在"); + } + dto.setId(IdWorker.getId()); + dto.setModitime(new Date()); + boolean result = service.save(dto); + if (result){ + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf( dto.getId())); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ResProjectImg dto) { + if (Objects.isNull(resService.getById(dto.getResCode()))){ + throw new RuntimeException("当前水库不存在"); + } + if (Objects.isNull(service.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = service.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf( dto.getId())); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = service.removeById(id); + + if (data){ + fileService.deleteFile(getGroupId(),id.toString()); + } + + return R.ok(data); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@Validated @RequestBody ResCodeSo so) { + List list = service.lambdaQuery().eq(ResProjectImg::getResCode, so.getResCode()) + .orderByAsc(ResProjectImg::getSortOn) + .orderByDesc(ResProjectImg::getModitime) + .list(); + if (CollectionUtils.isNotEmpty(list)){ + list.forEach(o -> o.setFiles(fileService.getFiles(getGroupId(),String.valueOf( o.getId())))); + } + return R.ok(list); + } +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + @Override + public String getGroupId() { + return "ResProjectImg"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResSafePersonBController.java b/src/main/java/com/gunshi/project/hsz/controller/ResSafePersonBController.java new file mode 100644 index 0000000..d695fbd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ResSafePersonBController.java @@ -0,0 +1,82 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.ResCodeSo; +import com.gunshi.project.hsz.model.ResSafePersonB; +import com.gunshi.project.hsz.service.AttResBaseService; +import com.gunshi.project.hsz.service.ResSafePersonBService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 水库责任体系表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水库责任体系表") +@RestController +@RequestMapping(value="/resSafePersonB") +public class ResSafePersonBController { + + @Autowired + private ResSafePersonBService service; + + @Autowired + private AttResBaseService resService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ResSafePersonB dto) { + if (Objects.isNull(resService.getById(dto.getResCode()))){ + throw new RuntimeException("当前水库不存在"); + } + dto.setModitime(new Date()); + dto.setId(IdWorker.getId()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ResSafePersonB dto) { + if (Objects.isNull(resService.getById(dto.getResCode()))){ + throw new RuntimeException("当前水库不存在"); + } + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))){ + throw new RuntimeException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@Validated @RequestBody ResCodeSo so) { + return R.ok(service.lambdaQuery().eq(ResSafePersonB::getResCode,so.getResCode()).list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ResTunnelController.java b/src/main/java/com/gunshi/project/hsz/controller/ResTunnelController.java new file mode 100644 index 0000000..cb6babe --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ResTunnelController.java @@ -0,0 +1,58 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.ResTunnel; +import com.gunshi.project.hsz.service.ResTunnelService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 水库建筑物 - 放空洞/灌溉发电洞 + * author: xusan + * date: 2024-11-14 10:34:11 + */ +@Tag(name = "水库建筑物 - 放空洞/灌溉发电洞") +@RestController +@RequestMapping(value="/resTunnel") +public class ResTunnelController { + + @Autowired + private ResTunnelService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ResTunnel dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ResTunnel dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @GetMapping("/list") + public R> list(@Schema(name = "type",description = "类型(1放空洞 2灌溉发电洞)") @RequestParam(name = "type") Integer type) { + return R.ok(service.lambdaQuery().eq(ResTunnel::getType,type).list()); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/RescueGoodsBController.java b/src/main/java/com/gunshi/project/hsz/controller/RescueGoodsBController.java new file mode 100644 index 0000000..88d31f7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/RescueGoodsBController.java @@ -0,0 +1,108 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.annotation.Get; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.hsz.entity.so.RescueGoodsPageSo; +import com.gunshi.project.hsz.model.RescueGoodsB; +import com.gunshi.project.hsz.model.RescueGoodsFile; +import com.gunshi.project.hsz.model.RescueGoodsFileAutoDao; +import com.gunshi.project.hsz.model.RescueGoodsFileAutoMapper; +import com.gunshi.project.hsz.service.AbstractModelWithAttachService; +import com.gunshi.project.hsz.service.RescueGoodsService; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/3/18 + * + * @author wanyan + * @version 1.0 + */ +@Tag(name = "抢险物资") +@RestController +@RequestMapping("/rescue/goods") +public class RescueGoodsBController extends AbstractCommonFileController implements + ICommonInsertWithAttach, + ICommonUpdateByIdWithAttach, + ICommonDeleteByIdWithAttach, + ICommonQueryAttach +{ + + + @Autowired + private RescueGoodsFileAutoDao fileAutoDao; + + @Autowired + private RescueGoodsService rescueGoodsService; + + + @Override + public void customSetFieldForUpdate(RescueGoodsB model) { + model.setTm(new Date()); + } + + @Override + public RescueGoodsFileAutoDao getAttachAutoDao() { + return fileAutoDao; + } + + @Override + public String getAttachBzIdName() { + return "goods_id"; + } + + @Override + public Long getId(Serializable id) { + return Long.valueOf(id.toString()); + } + + @Override + public AbstractModelWithAttachService getModelService() { + return rescueGoodsService; + } + + @Override + public void customSetFieldForInsert(RescueGoodsB model) { + long id = IdWorker.getId(); + model.setGoodsId(id); + model.setTm(new Date()); + } + + @Override + public String getGroupId() { + return "rescueGoodsB"; + } + + + /** + * 分页查询 + */ + @Post(path = "/page/query", summary = "分页查询") + public R> pageQuery(@RequestBody @Validated RescueGoodsPageSo RescueGoodsPageSo) { + return R.ok(rescueGoodsService.pageQuery(RescueGoodsPageSo)); + } + + /** + * 详情 + */ + @Get(path = "/detail", summary = "详情") + public R> detail(@Schema(name = "goodsId",description = "物资id") @RequestParam(name = "goodsId") Long goodsId) { + return R.ok(rescueGoodsService.detail(goodsId)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/RescueTeamBController.java b/src/main/java/com/gunshi/project/hsz/controller/RescueTeamBController.java new file mode 100644 index 0000000..31cb91f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/RescueTeamBController.java @@ -0,0 +1,126 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.annotation.Get; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.RescueTeamPageSo; +import com.gunshi.project.hsz.entity.vo.RescueTeamVo; +import com.gunshi.project.hsz.model.RescueTeamB; +import com.gunshi.project.hsz.model.RescueTeamBAutoMapper; +import com.gunshi.project.hsz.model.RescueTeamFile; +import com.gunshi.project.hsz.model.RescueTeamFileAutoDao; +import com.gunshi.project.hsz.service.AbstractModelWithAttachService; +import com.gunshi.project.hsz.service.RescueTeamService; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +/** + * 描述: 抢险队伍 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "抢险队伍") +@RestController +@RequestMapping("/rescue/team") +public class RescueTeamBController extends AbstractCommonFileController implements + ICommonInsertWithAttach, + ICommonUpdateByIdWithAttach, + ICommonDeleteByIdWithAttach, + ICommonQueryAttach +{ + + @Autowired + private RescueTeamBAutoMapper rescueTeamBAutoMapper; + + @Autowired + private RescueTeamFileAutoDao attachAutoDao; + + @Autowired + private RescueTeamService rescueTeamService; + + + @Override + public Long getId(Serializable id) { + return Long.valueOf(id.toString()); + } + + @Override + public void customSetFieldForUpdate(RescueTeamB model) { + model.setTm(new Date()); + rescueTeamService.updateDetailAndObj(model); + } + + @Override + public AbstractModelWithAttachService getModelService() { + return rescueTeamService; + } + + @Override + public void customSetFieldForInsert(RescueTeamB model) { + long teamId = IdWorker.getId(); + model.setTeamId(teamId); + model.setTm(new Date()); + rescueTeamService.saveDetailAndObj(model,teamId); + } + + @Override + public String getGroupId() { + return "rescueTeamB"; + } + + + /** + * 防汛准备-分页查询 + */ + @Post(path = "/page/query", summary = "防汛准备-分页查询") + public R> pageQuery(@RequestBody @Validated RescueTeamPageSo RescueTeamPageSo) { + return R.ok(rescueTeamService.pageQuery(RescueTeamPageSo)); + } + + + /** + * 列表查询 + */ + @Get(path = "/list", summary = "列表查询") + public R> list(@Schema(name = "teamName",description = "队伍名称") @RequestParam(name = "teamName",required = false) String teamName) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + if(StringUtils.isNotEmpty(teamName)){ + queryWrapper.like(RescueTeamB::getTeamName,teamName); + } + return R.ok(rescueTeamBAutoMapper.selectList(queryWrapper)); + } + + /** + * 详情 + */ + @Get(path = "/detail", summary = "详情") + public R detail(@Schema(name = "teamId",description = "队伍ID") @RequestParam(name = "teamId") Long teamId) { + return R.ok(rescueTeamService.detail(teamId)); + } + + @Get(path ="/delete/{id}", summary = "删除") + public R delete(@Schema(name = "teamId") @PathVariable("teamId") Long teamId) { + return R.ok(rescueTeamService.delete(teamId)); + } + + @Override + public RescueTeamFileAutoDao getAttachAutoDao() { + return attachAutoDao; + } + + @Override + public String getAttachBzIdName() { + return "team_id"; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java b/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java new file mode 100644 index 0000000..eba845d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java @@ -0,0 +1,148 @@ +package com.gunshi.project.hsz.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.annotation.Get; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.DataQueryCommonSo; +import com.gunshi.project.hsz.entity.so.PicQuerySo; +import com.gunshi.project.hsz.entity.so.ReservoirWaterCommonSo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.model.*; +import com.gunshi.project.hsz.service.*; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/2/20 + * + * @author wanyan + * @version 1.0 + */ +@RestController +@RequestMapping("/reservoir/water") +@Tag(name = "水库水情") +public class ReservoirWaterController { + + + @Autowired + private ReservoirWaterService reservoirWaterService; + + @Autowired + private RealRainService realRainService; + + @Autowired + private StWaterRRealService stWaterRRealService; + + @Autowired + private ResMonthEcoFlowService resMonthEcoFlowService; + + @Autowired + private StRsvrRService stRsvrRService; + + @Autowired + private StPptnRService stPptnRService; + + @Post(path = "/rz", summary = "水库水位") + public R rz(@RequestBody ReservoirWaterCommonSo reservoirWaterCommonSo) { + return R.ok(reservoirWaterService.rz(reservoirWaterCommonSo)); + } + + @Post(path = "/list", summary = "水库水情列表") + public R> list() { + return R.ok(reservoirWaterService.list()); + } + + + @Post(path = "/listV2", summary = "水库水情列表") + public R> listV2() { + return R.ok(reservoirWaterService.listV2()); + } + + @Get(path = "/image/channel", summary = "图像监测视角下拉") + public R> channel(@Schema(name = "resCode") @RequestParam("resCode") String resCode) { + return R.ok(reservoirWaterService.channel(resCode)); + } + + @Post(path = "/image/info", summary = "图片信息") + public R> imageInfo(@RequestBody @Validated PicQuerySo picQuerySo) { + return R.ok(reservoirWaterService.imageInfo(picQuerySo)); + } + + @Post(path = "/real/img", summary = "水库实时图像") + public R> realImg(@RequestBody ReservoirWaterCommonSo reservoirWaterCommonSo) { + return R.ok(reservoirWaterService.realImg(reservoirWaterCommonSo)); + } + + @Post(path = "/monitor/data", summary = "监测数据") + public R> monitorData(@RequestBody @Validated DataQueryCommonSo dataQueryCommonSo) { + return R.ok(reservoirWaterService.monitorData(dataQueryCommonSo)); + } + + @Post(path = "/data", summary = "闸阀总览-库容曲线") + public R> data(@RequestBody @Validated DataQueryCommonSo dataQueryCommonSo) { + dataQueryCommonSo.setStcd("61610700");//檀树岗水库 + return R.ok(reservoirWaterService.data(dataQueryCommonSo)); + } + + @Post(path = "/waterInfo", summary = "闸阀总览-库容曲线") + public R waterInfo(@RequestBody DataQueryCommonSo dataQueryCommonSo) { + AttResMonitorVo attResMonitorVo = new AttResMonitorVo(); + + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(StRsvrR::getStcd,dataQueryCommonSo.getStcd()).orderByDesc(StRsvrR::getTm).last(" limit 1"); + List list1 = stRsvrRService.list(qw); + if(CollectionUtils.isNotEmpty(list1)){ + attResMonitorVo.setRz(new BigDecimal(list1.get(0).getRz())); + attResMonitorVo.setTm(list1.get(0).getTm()); + } + LambdaQueryWrapper qw2= new LambdaQueryWrapper<>(); + qw2.eq(StPptnR::getStcd,dataQueryCommonSo.getStcd()).orderByDesc(StPptnR::getTm).last(" limit 1"); + List list3 = stPptnRService.list(qw2); + if(CollectionUtils.isNotEmpty(list3)){ + attResMonitorVo.setTodayRainNum(new BigDecimal(list3.get(0).getDrp())); + attResMonitorVo.setTodayRainNumTm(list3.get(0).getTm()); + } + + List list2 = stWaterRRealService.listRelated(); + if(CollectionUtils.isNotEmpty(list2)){ + // 获取当月核定流量 + ResMonthEcoFlow resMonthEcoFlow = resMonthEcoFlowService.getOne(new QueryWrapper().eq("month", Calendar.getInstance().get(Calendar.MONTH) + 1)); + if(ObjectUtils.isNotEmpty(resMonthEcoFlow)){ + for(StWaterRReal real : list2){ + real.setResMonthEcoFlow(resMonthEcoFlow); + } + } + StWaterRReal stWaterRReal = list2.stream().max((o1, o2) -> o1.getTm().compareTo(o2.getTm())).orElse(new StWaterRReal()); + attResMonitorVo.setOutPowerNum(stWaterRReal.getQ()); + attResMonitorVo.setOutPowerNumTm(stWaterRReal.getTm()); + } + return R.ok(attResMonitorVo); + } + + @Post(path = "/data/page", summary = "分页库容曲线") + public R> dataPage(@RequestBody @Validated PicQuerySo picQuerySo) { + return R.ok(reservoirWaterService.dataPage(picQuerySo)); + } + + @Get(path = "/detail", summary = "监测详细数据(下方表格)") + public R detail(@Schema(name = "stcd") @RequestParam("stcd") String stcd) { + return R.ok(reservoirWaterService.detail(stcd)); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/RiskControlInfoController.java b/src/main/java/com/gunshi/project/hsz/controller/RiskControlInfoController.java new file mode 100644 index 0000000..734e1c5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/RiskControlInfoController.java @@ -0,0 +1,59 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.model.RiskControlInfo; +import com.gunshi.project.hsz.service.RiskControlInfoService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +/** + * 描述: 风险管控清单 + * author: xusan + * date: 2024-08-22 14:17:28 + */ +@Tag(name = "风险管控清单") +@RestController +@RequestMapping(value="/risk/info") +public class RiskControlInfoController extends AbstractCommonFileController{ + + @Autowired + private RiskControlInfoService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody RiskControlInfo dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody RiskControlInfo dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated AttCctvBasePage page) { + return R.ok(service.pageQuery(page)); + } + + + @Override + public String getGroupId() { + return "riskControlInfo"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/RiskControlMenuController.java b/src/main/java/com/gunshi/project/hsz/controller/RiskControlMenuController.java new file mode 100644 index 0000000..538fbf7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/RiskControlMenuController.java @@ -0,0 +1,56 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.RiskControlMenu; +import com.gunshi.project.hsz.service.RiskControlMenuService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 风险管控目录 + * author: xusan + * date: 2024-08-22 14:16:35 + */ +@Tag(name = "风险管控目录") +@RestController +@RequestMapping(value="/risk/menu") +public class RiskControlMenuController { + + @Autowired + private RiskControlMenuService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody RiskControlMenu dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody RiskControlMenu dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "树") + @PostMapping("/tree") + public R> tree() { + return R.ok(service.tree()); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/RiverWaterController.java b/src/main/java/com/gunshi/project/hsz/controller/RiverWaterController.java new file mode 100644 index 0000000..b3c743d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/RiverWaterController.java @@ -0,0 +1,60 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.annotation.Get; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.DataQueryCommonSo; +import com.gunshi.project.hsz.entity.vo.AttRvBaseVo; +import com.gunshi.project.hsz.entity.vo.AttRvMonitorDetailVo; +import com.gunshi.project.hsz.entity.vo.AttRvMonitorVo; +import com.gunshi.project.hsz.model.StZqrlB; +import com.gunshi.project.hsz.service.RiverWaterService; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/2/21 + * + * @author wanyan + * @version 1.0 + */ +@RestController +@RequestMapping("/river/water") +@Tag(name = "河道水情") +public class RiverWaterController { + + @Autowired + private RiverWaterService riverWaterService; + + @Post(path = "/list", summary = "河道水情列表") + public R> list() { + return R.ok(riverWaterService.list()); + } + + @Get(path = "/zqrl", summary = "水位流量关系") + public R> zqrl(@Schema(name = "stcd") @RequestParam("stcd") String stcd) { + return R.ok(riverWaterService.zqrl(stcd)); + } + + + @Post(path = "/monitor/data", summary = "监测数据") + public R> monitorData(@RequestBody @Validated DataQueryCommonSo dataQueryCommonSo) { + return R.ok(riverWaterService.monitorData(dataQueryCommonSo)); + } + + @Get(path = "/detail", summary = "监测详细数据(下方表格)") + public R detail(@Schema(name = "stcd") @RequestParam("stcd") String stcd) { + return R.ok(riverWaterService.detail(stcd)); + } + + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/RotaController.java b/src/main/java/com/gunshi/project/hsz/controller/RotaController.java new file mode 100644 index 0000000..860e360 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/RotaController.java @@ -0,0 +1,104 @@ +package com.gunshi.project.hsz.controller; + +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.gunshi.core.annotation.Get; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.dto.RotaDto; +import com.gunshi.project.hsz.entity.vo.RotaVo; +import com.gunshi.project.hsz.listener.RotaImportListener; +import com.gunshi.project.hsz.model.RotaB; +import com.gunshi.project.hsz.service.RotaService; +import com.gunshi.project.hsz.util.ExcelUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.http.MediaType; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Description: + * Created by wanyan on 2024/3/25 + * + * @author wanyan + * @version 1.0 + */ +@RestController +@RequestMapping("/rota") +@Tag(name = "值班表") +public class RotaController { + + @Resource + private RotaService rotaService; + + + @Get(path = "/query", summary = "按年月查询") + public R>> query(@Schema(name = "yearMonth",description = "年月",example = "2024-03") @RequestParam(name = "yearMonth") String yearMonth) { + return R.ok(rotaService.query(yearMonth)); + } + + + @Post(path = "/edit/info", summary = "编辑值班信息") + public R editInfo(@RequestBody @Validated RotaDto rotaDto) { + return R.ok(rotaService.editInfo(rotaDto)); + } + + @Get(path = "/date/list", summary = "按年月日查询") + public R> dateList(@Schema(name = "rotaDate",description = "年月日",example = "2024-08-19") @RequestParam(name = "rotaDate") String rotaDate) { + return R.ok(rotaService.dateList(rotaDate)); + } + + /** + * 获取导入模板 + */ + @Operation(summary = "获取导入模板") + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil.exportExcel(new ArrayList<>(), "值班表", RotaVo.class, response, "值班表"); + } + + /** + * 导入数据 + * + * @param file 导入文件 + * + */ + @Operation(summary = "导入数据") + @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public R importData(@RequestPart("file") MultipartFile file) throws Exception { + //获取正确数据 + ArrayList successArrayList = new ArrayList<>(); + //获取错误数据 + ArrayList errorArrayList = new ArrayList<>(); + EasyExcel.read(file.getInputStream()) + .head(RotaVo.class) + .registerReadListener(new RotaImportListener( + // 监听器中doAfterAllAnalysed执行此方法;所有读取完成之后处理逻辑 + successArrayList::addAll, errorArrayList::addAll)) + // 设置sheet,默认读取第一个 + .sheet() + // 设置标题(字段列表)所在行数 + .headRowNumber(2) + .doRead(); + if(CollectionUtils.isNotEmpty(errorArrayList)){ + List errMsg = errorArrayList.stream().map(RotaVo::getErrorMsg).collect(Collectors.toList()); + return R.error(400,String.join(";",errMsg)); + } + if(CollectionUtils.isNotEmpty(successArrayList)){ + rotaService.saveImportData(successArrayList); + return R.ok(); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/RotaLogController.java b/src/main/java/com/gunshi/project/hsz/controller/RotaLogController.java new file mode 100644 index 0000000..1d6d9f6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/RotaLogController.java @@ -0,0 +1,76 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.RotaLogPageSo; +import com.gunshi.project.hsz.model.RotaLog; +import com.gunshi.project.hsz.service.RotaLogService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * Description: + * Created by wanyan on 2024/3/25 + * + * @author wanyan + * @version 1.0 + */ +@RestController +@RequestMapping("/rota/log") +@Tag(name = "值班日志") +public class RotaLogController { + + @Resource + private RotaLogService service; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody RotaLog dto) { + checkParam(dto); + dto.setId(IdWorker.getId()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody RotaLog dto) { + checkParam(dto); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.removeById(id)); + } + + private void checkParam(RotaLog dto) { + Long id = dto.getId(); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(RotaLog::getRotaDate,dto.getRotaDate()); + if(id != null){ + queryWrapper.ne(RotaLog::getId,id); + } + if(service.count(queryWrapper ) > 0){ + throw new IllegalArgumentException("该日期已存在值班日志"); + } + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody RotaLogPageSo rotaLogPageSo) { + return R.ok(service.queryPage(rotaLogPageSo)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyAccidentRegController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyAccidentRegController.java new file mode 100644 index 0000000..64447ee --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyAccidentRegController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.CommonDataPageSo2; +import com.gunshi.project.hsz.model.SafetyAccidentReg; +import com.gunshi.project.hsz.service.SafetyAccidentRegService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; + +/** + * 描述: 安全事故登记 + * author: xusan + * date: 2024-08-21 14:45:44 + */ +@Tag(name = "安全事故登记") +@RestController +@RequestMapping(value="/safety/accident/reg") +public class SafetyAccidentRegController extends AbstractCommonFileController { + + @Autowired + private SafetyAccidentRegService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SafetyAccidentReg dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SafetyAccidentReg dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody CommonDataPageSo2 page) { + return R.ok(service.pageQuery(page)); + } + + @Override + public String getGroupId() { + return "safetyAccidentReg"; + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyCheckController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyCheckController.java new file mode 100644 index 0000000..00edcac --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyCheckController.java @@ -0,0 +1,61 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.CommonDataPageSo; +import com.gunshi.project.hsz.model.SafetyCheck; +import com.gunshi.project.hsz.service.SafetyCheckService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; + +/** + * 描述: 安全检查管理 + * author: wanyan + * date: 2024-08-20 17:40:37 + */ +@Tag(name = "安全检查管理") +@RestController +@RequestMapping(value="/safety/check") +public class SafetyCheckController extends AbstractCommonFileController{ + + @Autowired + private SafetyCheckService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SafetyCheck dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SafetyCheck dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated CommonDataPageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Override + public String getGroupId() { + return "safetyCheck"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyHazardInvestController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyHazardInvestController.java new file mode 100644 index 0000000..705208b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyHazardInvestController.java @@ -0,0 +1,61 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.CommonDataPageSo; +import com.gunshi.project.hsz.model.SafetyHazardInvest; +import com.gunshi.project.hsz.service.SafetyHazardInvestService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; + +/** + * 描述: 安全隐患排查 + * author: wanyan + * date: 2024-08-20 17:40:37 + */ +@Tag(name = "安全隐患排查") +@RestController +@RequestMapping(value="/safety/hazard/invest") +public class SafetyHazardInvestController extends AbstractCommonFileController{ + + @Autowired + private SafetyHazardInvestService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SafetyHazardInvest dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SafetyHazardInvest dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated CommonDataPageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Override + public String getGroupId() { + return "safetyHazardInvest"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyIdentifyController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyIdentifyController.java new file mode 100644 index 0000000..f02c315 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyIdentifyController.java @@ -0,0 +1,62 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.db.dto.PageSo; +import com.gunshi.project.hsz.model.SafetyIdentify; +import com.gunshi.project.hsz.service.SafetyIdentifyService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +/** + * 描述: 安全鉴定台账 + * author: xusan + * date: 2024-08-21 14:45:44 + */ +@Tag(name = "安全鉴定台账") +@RestController +@RequestMapping(value="/safety/identify") +public class SafetyIdentifyController extends AbstractCommonFileController { + + @Autowired + private SafetyIdentifyService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SafetyIdentify dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SafetyIdentify dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody PageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Override + public String getGroupId() { + return "safetyIdentify"; + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/SafetyReinforcementController.java b/src/main/java/com/gunshi/project/hsz/controller/SafetyReinforcementController.java new file mode 100644 index 0000000..7c2c696 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SafetyReinforcementController.java @@ -0,0 +1,62 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.db.dto.PageSo; +import com.gunshi.project.hsz.model.SafetyReinforcement; +import com.gunshi.project.hsz.service.SafetyReinforcementService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +/** + * 描述: 除险加固台账 + * author: xusan + * date: 2024-08-22 11:27:44 + */ +@Tag(name = "除险加固台账") +@RestController +@RequestMapping(value="/safety/reinforcement") +public class SafetyReinforcementController extends AbstractCommonFileController{ + + @Autowired + private SafetyReinforcementService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SafetyReinforcement dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SafetyReinforcement dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody PageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Override + public String getGroupId() { + return "safetyReinforcement"; + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ShpPlacementController.java b/src/main/java/com/gunshi/project/hsz/controller/ShpPlacementController.java new file mode 100644 index 0000000..fb7f8ec --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/ShpPlacementController.java @@ -0,0 +1,71 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.HomeShpPlacementVo; +import com.gunshi.project.hsz.model.ShpPlacement; +import com.gunshi.project.hsz.service.ShpPlacementService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 安置点 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "安置点") +@RestController +@RequestMapping(value="/shpPlacement") +public class ShpPlacementController { + + @Autowired + private ShpPlacementService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody ShpPlacement dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody ShpPlacement dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + + + @Operation(summary = "详情和行政区划数据查询") + @PostMapping("/getDetailsAndAddvcdDataList") + public R> getDetailsAndMonitoringDataList() { + return R.ok(service.getDetailsAndMonitoringDataLis()); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/SoilMoistureController.java b/src/main/java/com/gunshi/project/hsz/controller/SoilMoistureController.java new file mode 100644 index 0000000..3993b68 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SoilMoistureController.java @@ -0,0 +1,96 @@ +package com.gunshi.project.hsz.controller; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.annotation.Get; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.SoilMoisturePageSo; +import com.gunshi.project.hsz.entity.vo.SoilMoistureVO; +import com.gunshi.project.hsz.model.SoilMoistureData; +import com.gunshi.project.hsz.model.SoilMoistureStation; +import com.gunshi.project.hsz.service.SoilMoistureDataService; +import com.gunshi.project.hsz.service.SoilMoistureStationService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 土壤墒情 + */ +@RestController +@RequestMapping("/soilMoisture") +@Tag(name = "土壤墒情") +public class SoilMoistureController { + + @Autowired + private SoilMoistureStationService soilMoistureStationService; + + @Autowired + private SoilMoistureDataService soilMoistureDataService; + + @Get(path = "/stationList", summary = "站点列表") + public R> listStation() { + List list = soilMoistureStationService.list(); + if(CollectionUtil.isEmpty(list)){ + return R.ok(list); + } + List collect = list.stream().peek(e -> { + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + qw.eq(SoilMoistureData::getStcd,e.getStcd()).orderByDesc(SoilMoistureData::getCreateTime).last(" limit 1"); + SoilMoistureData one = soilMoistureDataService.getOne(qw); + e.setTm(one.getCreateTime()); + e.setVal(one.getVal()); + }).collect(Collectors.toList()); + return R.ok(collect); + } + + @Post(path = "/page", summary = "分页") + public R> page(@RequestBody SoilMoisturePageSo page) { + return R.ok(soilMoistureDataService.pageQuery(page)); + } + + @GetMapping("/count/{stcd}") + public R count(@Schema(name = "stcd") @PathVariable("stcd") Serializable stcd) { + return R.ok(soilMoistureDataService.count(stcd.toString())); + } + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SoilMoistureData dto) { + boolean result = soilMoistureDataService.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SoilMoistureData dto) { + boolean result = soilMoistureDataService.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(soilMoistureDataService.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(soilMoistureDataService.lambdaQuery().list()); + } + + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/StAddvcdDController.java b/src/main/java/com/gunshi/project/hsz/controller/StAddvcdDController.java new file mode 100644 index 0000000..7a296c2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StAddvcdDController.java @@ -0,0 +1,73 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.annotation.Get; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.StAddvcdTreeVo; +import com.gunshi.project.hsz.model.StAddvcdD; +import com.gunshi.project.hsz.service.StAddvcdDService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 行政区划表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "行政区划表") +@RestController +@RequestMapping(value="/stAddvcdD") +public class StAddvcdDController { + + @Autowired + private StAddvcdDService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StAddvcdD dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StAddvcdD dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + /** + * 行政区划树 + */ + @Get(path = "/tree", summary = "行政区划树") + public R> tree(@Schema(description = "以根节点为基础,返回数据的深度,最低到组(自然村)") @RequestParam("level") String level) { + return R.ok(service.tree(level)); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StImgRController.java b/src/main/java/com/gunshi/project/hsz/controller/StImgRController.java new file mode 100644 index 0000000..5ed3349 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StImgRController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StImgR; +import com.gunshi.project.hsz.service.StImgRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 图像历史表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "图像历史表") +@RestController +@RequestMapping(value="/stImgR") +public class StImgRController { + + @Autowired + private StImgRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StImgR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StImgR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StImgRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StImgRRealController.java new file mode 100644 index 0000000..7f6b1fa --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StImgRRealController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StImgRReal; +import com.gunshi.project.hsz.service.StImgRRealService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 图像表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "图像表") +@RestController +@RequestMapping(value="/stImgRReal") +public class StImgRRealController { + + @Autowired + private StImgRRealService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StImgRReal dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StImgRReal dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StImgWarnRController.java b/src/main/java/com/gunshi/project/hsz/controller/StImgWarnRController.java new file mode 100644 index 0000000..d660fad --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StImgWarnRController.java @@ -0,0 +1,65 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.ImgWarnPageSo; +import com.gunshi.project.hsz.model.StImgWarnR; +import com.gunshi.project.hsz.service.StImgWarnRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: AI告警表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "AI告警表") +@RestController +@RequestMapping(value="/stImgWarnR") +public class StImgWarnRController { + + @Autowired + private StImgWarnRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StImgWarnR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StImgWarnR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody ImgWarnPageSo imgWarnPageSo) { + return R.ok(service.pageQuery(imgWarnPageSo)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StPptnRController.java b/src/main/java/com/gunshi/project/hsz/controller/StPptnRController.java new file mode 100644 index 0000000..6be9304 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StPptnRController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StPptnR; +import com.gunshi.project.hsz.service.StPptnRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 降水量表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "降水量表") +@RestController +@RequestMapping(value="/stPptnR") +public class StPptnRController { + + @Autowired + private StPptnRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StPptnR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StPptnR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StPptnRDController.java b/src/main/java/com/gunshi/project/hsz/controller/StPptnRDController.java new file mode 100644 index 0000000..635564c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StPptnRDController.java @@ -0,0 +1,68 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StPptnRD; +import com.gunshi.project.hsz.service.StPptnRDService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 降水量天表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "降水量天表") +@RestController +@RequestMapping(value="/stPptnRD") +public class StPptnRDController { + + @Autowired + private StPptnRDService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StPptnRD dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StPptnRD dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + @Operation(summary = "整编降雨历史降雨情况") + @PostMapping("/reorganizeStPptnRD") + public void reorganizeStPptnRD(@Schema(name = "stcdList", description = "站码列表") @RequestParam("stcdList") List stcdList, @Schema(name = "startDateStr", description = "开始时间") @RequestParam("startDateStr") String startDateStr) { + service.reorganizeStPptnRD(stcdList, startDateStr); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/StPptnRHController.java b/src/main/java/com/gunshi/project/hsz/controller/StPptnRHController.java new file mode 100644 index 0000000..b79adee --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StPptnRHController.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StPptnRH; +import com.gunshi.project.hsz.service.StPptnRHService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 降雨量小时表 + * author: cxw + * date: 2024-09-02 09:34:31 + */ +@Tag(name = "降雨量小时表") +@RestController +@RequestMapping(value="/stPptnRH") +public class StPptnRHController { + + @Autowired + private StPptnRHService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StPptnRH dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StPptnRH dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/StPptnRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StPptnRRealController.java new file mode 100644 index 0000000..b1f7476 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StPptnRRealController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StPptnRReal; +import com.gunshi.project.hsz.service.StPptnRRealService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 降水量历史表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "降水量历史表") +@RestController +@RequestMapping(value="/stPptnRReal") +public class StPptnRRealController { + + @Autowired + private StPptnRRealService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StPptnRReal dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StPptnRReal dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.queryList()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StQxWarnRController.java b/src/main/java/com/gunshi/project/hsz/controller/StQxWarnRController.java new file mode 100644 index 0000000..b1dd9e2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StQxWarnRController.java @@ -0,0 +1,72 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.entity.vo.HomeWarnVo; +import com.gunshi.project.hsz.model.StQxWarnR; +import com.gunshi.project.hsz.service.StQxWarnRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 气象预警表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "气象预警表") +@RestController +@RequestMapping(value="/stQxWarnR") +public class StQxWarnRController { + + @Autowired + private StQxWarnRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StQxWarnR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StQxWarnR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody DateTimeRangeSo dateTimeRangeSo) { + return R.ok(service.lambdaQuery() + .ge(StQxWarnR::getTm,dateTimeRangeSo.getStart()).lt(StQxWarnR::getTm,dateTimeRangeSo.getEnd()).list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + + + @Operation(summary = "首页-告警") + @PostMapping("/home/warn") + public R homeWarn(@RequestBody DateTimeRangeSo dateTimeRangeSo) { + return R.ok(service.homeWarn(dateTimeRangeSo)); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StRiverRController.java b/src/main/java/com/gunshi/project/hsz/controller/StRiverRController.java new file mode 100644 index 0000000..f5253dd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StRiverRController.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StRiverR; +import com.gunshi.project.hsz.service.StRiverRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: + * author: cxw + * date: 2024-09-24 14:01:07 + */ +@Tag(name = "") +@RestController +@RequestMapping(value="/stRiverR") +public class StRiverRController { + + @Autowired + private StRiverRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StRiverR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StRiverR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/StRiverRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StRiverRRealController.java new file mode 100644 index 0000000..a3f9e06 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StRiverRRealController.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StRiverRReal; +import com.gunshi.project.hsz.service.StRiverRRealService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: + * author: cxw + * date: 2024-09-24 14:01:07 + */ +@Tag(name = "") +@RestController +@RequestMapping(value="/stRiverRReal") +public class StRiverRRealController { + + @Autowired + private StRiverRRealService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StRiverRReal dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StRiverRReal dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/StRsvrRController.java b/src/main/java/com/gunshi/project/hsz/controller/StRsvrRController.java new file mode 100644 index 0000000..3a81cc4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StRsvrRController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StRsvrR; +import com.gunshi.project.hsz.service.StRsvrRService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 水库历史水位表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水库历史水位表") +@RestController +@RequestMapping(value="/stRsvrR") +public class StRsvrRController { + + @Autowired + private StRsvrRService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StRsvrR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StRsvrR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StRsvrRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StRsvrRRealController.java new file mode 100644 index 0000000..0c44e4a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StRsvrRRealController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StRsvrRReal; +import com.gunshi.project.hsz.service.StRsvrRRealService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 水库水位实时数据表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水库水位实时数据表") +@RestController +@RequestMapping(value="/stRsvrRReal") +public class StRsvrRRealController { + + @Autowired + private StRsvrRRealService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StRsvrRReal dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StRsvrRReal dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StStbprpBController.java b/src/main/java/com/gunshi/project/hsz/controller/StStbprpBController.java new file mode 100644 index 0000000..741c947 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StStbprpBController.java @@ -0,0 +1,137 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.HomeStStbprpBSo; +import com.gunshi.project.hsz.entity.so.StStbprpBPage; +import com.gunshi.project.hsz.entity.so.StStbprpBSo; +import com.gunshi.project.hsz.entity.vo.HomeStStbprpBVo; +import com.gunshi.project.hsz.entity.vo.StStatusListVo; +import com.gunshi.project.hsz.entity.vo.StStatusVo; +import com.gunshi.project.hsz.model.StStbprpB; +import com.gunshi.project.hsz.service.StStbprpBService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 测站基础信息表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "测站基础信息表") +@RestController +@RequestMapping(value="/stStbprpB") +public class StStbprpBController { + + @Autowired + private StStbprpBService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StStbprpB dto) { + if (Objects.nonNull(service.getById(dto.getStcd()))){ + throw new RuntimeException("测站编号已存在"); + } + dto.setModitime(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StStbprpB dto) { + if (Objects.isNull(service.getById(dto.getStcd()))){ + throw new RuntimeException("当前数据不存在"); + } + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))){ + throw new RuntimeException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody StStbprpBSo dto) { + LambdaQueryChainWrapper query = service.lambdaQuery(); + query + .eq(StStbprpB::getSttp,dto.getSttp()) + .eq(StStbprpB::getStcd,dto.getStcd()) + .like(StStbprpB::getStnm,dto.getStnm()) + .like(StStbprpB::getRvnm,dto.getRvnm()) + .like(StStbprpB::getHnnm,dto.getHnnm()) + .like(StStbprpB::getBsnm,dto.getBsnm()) + ; + return R.ok(query.list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated StStbprpBPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getCode())) { + query.like(StStbprpB::getStcd, page.getCode()); + } + if (ObjectUtils.isNotNull(page.getName())) { + query.like(StStbprpB::getStnm, page.getName()); + } + if (ObjectUtils.isNotNull(page.getAgreement())) { + query.like(StStbprpB::getAgreement, page.getAgreement()); + } + query.orderByDesc(StStbprpB::getModitime); + return R.ok(service.page(page.getPageSo().toPage(), query)); + } + + @Operation(summary = "雨量站详情带雨量列表") + @PostMapping("/rainfallStationDetails/rainfallList") + public R> rainfallStationDetailsList(@RequestBody @Validated HomeStStbprpBSo dto) { + return R.ok(service.rainfallStationDetailsList(dto)); + } + + @Operation(summary = "水库站点详情带实时水位列表") + @PostMapping("/reservoirStationDetails/realTimeWaterLevelList") + public R> reservoirStationDetailsList() { + return R.ok(service.reservoirStationDetailsList()); + } + + @Operation(summary = "输/放水管流量站点详情带实时流量列表") + @PostMapping("/trafficSiteDetails/realTimeTrafficList") + public R> trafficStationDetailsList() { + return R.ok(service.flowStationDetailsList()); + } + + + @Operation(summary = "监测设备状态") + @PostMapping("/status/list") + public R statusList() { + return R.ok(service.statusList()); + } + + @Operation(summary = "雨情站点下拉") + @PostMapping("/rain/list") + public R> rainList() { + return R.ok(service.rainList()); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StStbprpBElemController.java b/src/main/java/com/gunshi/project/hsz/controller/StStbprpBElemController.java new file mode 100644 index 0000000..3d669d3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StStbprpBElemController.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.StStbprpBElem; +import com.gunshi.project.hsz.service.StStbprpBElemService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 测站监测值类型 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "测站监测值类型") +@RestController +@RequestMapping(value="/stStbprpBElem") +public class StStbprpBElemController { + + @Autowired + private StStbprpBElemService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StStbprpBElem dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StStbprpBElem dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StStbprpCctvController.java b/src/main/java/com/gunshi/project/hsz/controller/StStbprpCctvController.java new file mode 100644 index 0000000..53befca --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StStbprpCctvController.java @@ -0,0 +1,37 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.annotation.Get; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.StStbprpCctvVo; +import com.gunshi.project.hsz.service.StStbprpCctvService; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +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; + +/** + * 站点与视频关系 + * Created by wanyan on 2024/4/9 + * + * @author wanyan + * @version 1.0 + */ +@RestController +@RequestMapping("/stbprp/cctv") +@Tag(name = "站点与视频关系") +public class StStbprpCctvController { + + + @Autowired + private StStbprpCctvService stStbprpCctvService; + + + + @Get(path = "/listByStcd/{stcd}", summary = "按stcd查询") + public R> listByStcd(@PathVariable("stcd") String stcd) { + return R.ok(stStbprpCctvService.listByStcd(stcd)); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/StWaterRController.java b/src/main/java/com/gunshi/project/hsz/controller/StWaterRController.java new file mode 100644 index 0000000..0875d11 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StWaterRController.java @@ -0,0 +1,183 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.entity.vo.StWaterRVo; +import com.gunshi.project.hsz.model.ResMonthEcoFlow; +import com.gunshi.project.hsz.model.StStbprpB; +import com.gunshi.project.hsz.model.StWaterR; +import com.gunshi.project.hsz.service.ResMonthEcoFlowService; +import com.gunshi.project.hsz.service.StStbprpBService; +import com.gunshi.project.hsz.service.StWaterRService; +import com.gunshi.project.hsz.util.ConvertUtil; +import com.gunshi.project.hsz.util.DateUtil; +import com.gunshi.project.hsz.util.ExcelUtil; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 供水量表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "供水量表") +@RestController +@RequestMapping(value="/stWaterR") +public class StWaterRController { + + @Autowired + private StWaterRService service; + + @Autowired + private ResMonthEcoFlowService resMonthEcoFlowService; + + @Autowired + private StStbprpBService stStbprpBService; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StWaterR dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StWaterR dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated StWaterR stWaterR) { + QueryWrapper wrapper = new QueryWrapper() + .eq(StringUtils.isNotBlank(stWaterR.getStcd()), "stcd", stWaterR.getStcd()) + .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime()) + .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime()); + if(StringUtils.isNotBlank(stWaterR.getOrderField())){ + wrapper.orderByDesc("tm"); + } + return R.ok(service.list(wrapper)); + } + + @Operation(summary = "获取月核定流量") + @GetMapping("/getResMonthEcoFlow") + public R> getResMonthEcoFlow(@Schema(name = "startTime", description = "开始时间") @RequestParam("startTime") String startTime, @Schema(name = "endTime", description = "开始时间") @RequestParam("endTime") String endTime) { + Map resMap = new HashMap<>(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.orderByAsc("month"); + if(StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)){ + List monthsBetweenDates = DateUtil.getMonthsBetweenDates(startTime, endTime); + wrapper.in("month", monthsBetweenDates); + } + List list = resMonthEcoFlowService.list(wrapper); + if(CollectionUtils.isNotEmpty(list)){ + resMap = list.stream().collect(Collectors.toMap(ResMonthEcoFlow::getMonth, ResMonthEcoFlow::getValue)); + } + return R.ok(resMap); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated StWaterR stWaterR) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(stWaterR.getStcd()), "stcd", stWaterR.getStcd()) + .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime()) + .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime()); + if(StringUtils.isNotBlank(stWaterR.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getOrderField()); + } + return R.ok(service.page(stWaterR.getPageSo().toPage(), wrapper)); + } + + @Operation(summary = "导出") + @PostMapping("/exportWaterRDataExcel") + @CrossOrigin + public void exportWaterRDataExcel(@RequestBody @Validated StWaterR stWaterR, HttpServletResponse response) { + String filename = "供水流量表" + DateUtil.convertDateToString(stWaterR.getStartTime()) + "_" + DateUtil.convertDateToString(stWaterR.getEndTime()); + List vos = ConvertUtil.entityToVoList(this.list(stWaterR).getData(), StWaterRVo.class); + ExcelUtil.exportExcel(vos, filename, StWaterRVo.class, response, "供水流量表"); + } + + @Operation(summary = "闸阀总览-供水统计") + @PostMapping("/stat") + public R> stat(@RequestBody @Validated DateTimeRangeSo dateTimeRangeSo) { + return R.ok(service.stat(dateTimeRangeSo)); + } + + + @Operation(summary = "生态流量监控-列表") + @PostMapping("/ecologyFlowList") + public R> ecologyFlowList(@RequestBody @Validated StWaterR stWaterR) { + List list = new ArrayList<>(); + // 查询生态(放水管流量站QQ) + StStbprpB stStbprpB = stStbprpBService.getOne(new QueryWrapper().eq("sttp", "QQ").last(" limit 1")); + if(ObjectUtils.isEmpty(stStbprpB) || StringUtils.isEmpty(stStbprpB.getStcd())){ + return R.ok(list); + } + QueryWrapper wrapper = new QueryWrapper() + .eq("stcd", stStbprpB.getStcd()) + .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime()) + .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime()); + if(StringUtils.isNotBlank(stWaterR.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getOrderField()); + } + list = service.list(wrapper); + List resMonthEcoFlows = resMonthEcoFlowService.list(); + if(CollectionUtils.isNotEmpty(list) && CollectionUtils.isNotEmpty(resMonthEcoFlows)){ + Map resMonthEcoFlowMap = resMonthEcoFlows.stream().collect(Collectors.toMap(ResMonthEcoFlow::getMonth, ResMonthEcoFlow::getValue)); + list.stream().forEach(w -> { + BigDecimal value = resMonthEcoFlowMap.get(w.getTm().getMonth() + 1); + w.setApprovalV(value); + w.setIsStandard(w.getQ().compareTo(value) >= 0 ? true : false); + }); + } + return R.ok(list); + } + + @Operation(summary = "生态流量监控-分页") + @PostMapping("/ecologyFlowPage") + public R> ecologyFlowPage(@RequestBody @Validated StWaterR stWaterR) { + // 查询生态(放水管流量站QQ) + StStbprpB stStbprpB = stStbprpBService.getOne(new QueryWrapper().eq("sttp", "QQ").last(" limit 1")); + if(ObjectUtils.isEmpty(stStbprpB) || StringUtils.isEmpty(stStbprpB.getStcd())){ + return R.ok(new Page<>()); + } + QueryWrapper wrapper = new QueryWrapper() + .eq("stcd", stStbprpB.getStcd()) + .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime()) + .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime()); + if(StringUtils.isNotBlank(stWaterR.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getOrderField()); + } + return R.ok(service.page(stWaterR.getPageSo().toPage(), wrapper)); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/StWaterRRealController.java b/src/main/java/com/gunshi/project/hsz/controller/StWaterRRealController.java new file mode 100644 index 0000000..25196d0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StWaterRRealController.java @@ -0,0 +1,108 @@ +package com.gunshi.project.hsz.controller; + +import java.io.Serializable; +import java.util.Calendar; +import java.util.List; + +import org.jetbrains.annotations.NotNull; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.ResMonthEcoFlow; +import com.gunshi.project.hsz.model.StWaterRReal; +import com.gunshi.project.hsz.service.ResMonthEcoFlowService; +import com.gunshi.project.hsz.service.StStbprpBService; +import com.gunshi.project.hsz.service.StWaterRRealService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +/** + * 描述: 供水量实时表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "供水量实时表") +@RestController +@RequestMapping(value="/stWaterRReal") +public class StWaterRRealController { + + @Autowired + private StStbprpBService stStbprpBService; + + @Autowired + private StWaterRRealService service; + + @Autowired + private ResMonthEcoFlowService resMonthEcoFlowService; + + @Operation(summary = "根据测站编码查询实时供水量") + @PostMapping("/getByStcd/{stcd}") + public R getById(@Schema(name = "stcd", description = "测站编码")@PathVariable("stcd") @NotNull String stcd) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("stcd", stcd).orderBy(true, false, "tm"); + StWaterRReal result = service.getOne(qw); + // 获取当月核定流量 + if (ObjectUtils.isNotEmpty(result)) { + ResMonthEcoFlow resMonthEcoFlow = resMonthEcoFlowService.getOne( + new QueryWrapper().eq("month", Calendar.getInstance().get(Calendar.MONTH) + 1)); + result.setResMonthEcoFlow(resMonthEcoFlow); + } + return R.ok(result); + } + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StWaterRReal dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StWaterRReal dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + List list = service.listRelated(); + if(CollectionUtils.isNotEmpty(list)){ + // 获取当月核定流量 + ResMonthEcoFlow resMonthEcoFlow = resMonthEcoFlowService.getOne(new QueryWrapper().eq("month", Calendar.getInstance().get(Calendar.MONTH) + 1)); + if(ObjectUtils.isNotEmpty(resMonthEcoFlow)){ + for(StWaterRReal real : list){ + real.setResMonthEcoFlow(resMonthEcoFlow); + } + } + } + return R.ok(list); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/StWaterRReorganizeController.java b/src/main/java/com/gunshi/project/hsz/controller/StWaterRReorganizeController.java new file mode 100644 index 0000000..aa68473 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StWaterRReorganizeController.java @@ -0,0 +1,174 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.vo.StWaterRReorganizeVo; +import com.gunshi.project.hsz.entity.vo.StWaterRReorganizeYearVo; +import com.gunshi.project.hsz.model.StWaterRReorganize; +import com.gunshi.project.hsz.service.StWaterRReorganizeService; +import com.gunshi.project.hsz.util.ConvertUtil; +import com.gunshi.project.hsz.util.DateUtil; +import com.gunshi.project.hsz.util.ExcelUtil; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +/** + * 描述: 供水量整编表 + * author: cxw + * date: 2024-07-24 11:22:46 + */ +@Tag(name = "供水量整编表") +@RestController +@RequestMapping(value="/stWaterRReorganize") +public class StWaterRReorganizeController { + + @Autowired + private StWaterRReorganizeService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StWaterRReorganize dto) { + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StWaterRReorganize dto) { + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody @Validated StWaterRReorganize stWaterRReorganize) { + String searchType = stWaterRReorganize.getSearchType(); + String groupBy = ""; + if("2".equals(searchType)){ + groupBy = "LEFT(tm, 10)"; + } else if("3".equals(searchType)){ + groupBy = "LEFT(tm, 7)"; + } else if("4".equals(searchType)){ + groupBy = "LEFT(tm, 4)"; + } else { + groupBy = "LEFT(tm, 13)"; + } + QueryWrapper wrapper = new QueryWrapper() + .select(groupBy + " tm,ROUND( AVG ( ecology_q ), 2 ) ecology_q,SUM ( ecology_v ) ecology_v,ROUND( AVG ( life_q ), 2 ) life_q,SUM ( life_v ) life_v,SUM ( sum_v ) sum_v") + .ge(ObjectUtils.isNotNull(stWaterRReorganize.getStartTime()), "tm", stWaterRReorganize.getStartTime()) + .le(ObjectUtils.isNotNull(stWaterRReorganize.getEndTime()), "tm", stWaterRReorganize.getEndTime()) + .groupBy(groupBy); + if(StringUtils.isNotBlank(stWaterRReorganize.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterRReorganize.getIsAsc()) ? false : stWaterRReorganize.getIsAsc(), stWaterRReorganize.getOrderField()); + } + List list = service.list(wrapper); + if(CollectionUtils.isNotEmpty(list)){ + for(StWaterRReorganize dto : list){ + dto.setSumV(dto.getEcologyV().add(dto.getLifeV())); + } + } + return R.ok(list); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated StWaterRReorganize stWaterRReorganize) { + String searchType = stWaterRReorganize.getSearchType(); + String groupBy = ""; + if("2".equals(searchType)){ + groupBy = "LEFT(tm, 10)"; + } else if("3".equals(searchType)){ + groupBy = "LEFT(tm, 7)"; + } else if("4".equals(searchType)){ + groupBy = "LEFT(tm, 4)"; + } else { + groupBy = "LEFT(tm, 13)"; + } + QueryWrapper wrapper = new QueryWrapper() + .select(groupBy + " tm,ROUND( AVG ( ecology_q ), 2 ) ecology_q,SUM ( ecology_v ) ecology_v,ROUND( AVG ( life_q ), 2 ) life_q,SUM ( life_v ) life_v,SUM ( sum_v ) sum_v") + .ge(ObjectUtils.isNotNull(stWaterRReorganize.getStartTime()), "tm", stWaterRReorganize.getStartTime()) + .le(ObjectUtils.isNotNull(stWaterRReorganize.getEndTime()), "tm", stWaterRReorganize.getEndTime()) + .groupBy(groupBy); + if(StringUtils.isNotBlank(stWaterRReorganize.getOrderField())){ + wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterRReorganize.getIsAsc()) ? false : stWaterRReorganize.getIsAsc(), stWaterRReorganize.getOrderField()); + } + Page page = service.page(stWaterRReorganize.getPageSo().toPage(), wrapper); + if(CollectionUtils.isNotEmpty(page.getRecords())){ + for(StWaterRReorganize dto : page.getRecords()){ + dto.setSumV(dto.getEcologyV().add(dto.getLifeV())); + } + } + return R.ok(page); + } + + @Operation(summary = "供水水方数据导出") + @PostMapping("/exportWaterRReorganizeDataExcel") + @CrossOrigin + public void exportWaterRReorganizeDataExcel(@RequestBody @Validated StWaterRReorganize stWaterRReorganize, HttpServletResponse response) { + String searchType = stWaterRReorganize.getSearchType(); + String start = DateUtil.convertDateToMDSString(stWaterRReorganize.getStartTime()); + String end = DateUtil.convertDateToMDSString(stWaterRReorganize.getEndTime()); + if("2".equals(searchType)){ + start = start.substring(0, 10); + end = end.substring(0, 10); + } else if("3".equals(searchType)){ + start = start.substring(0, 7); + end = end.substring(0, 7); + } else if("4".equals(searchType)){ + start = start.substring(0, 4); + end = end.substring(0, 4); + } else { + start = start.substring(0, 13); + end = end.substring(0, 13); + } + String filename = "供水水方表" + start + "_" + end; + List vos = ConvertUtil.entityToVoList(this.list(stWaterRReorganize).getData(), StWaterRReorganizeVo.class); + ExcelUtil.exportExcel(vos, filename, StWaterRReorganizeVo.class, response, "供水水方表"); + } + + @Operation(summary = "统计分析") + @PostMapping("/getYearStatisticAnalysis") + public R> getYearStatisticAnalysis(@Schema(name = "year", description = "年度") @RequestParam("year") int year) { + List resList = new ArrayList<>(); + service.getYearStatisticAnalysis(year, resList); + return R.ok(resList); + } + + @Operation(summary = "统计分析数据导出") + @PostMapping("/exportYearStatisticAnalysisExcel") + @CrossOrigin + public void exportYearStatisticAnalysisExcel(@Schema(name = "year", description = "年度") @RequestParam("year") int year, HttpServletResponse response) { + String filename = year + "年度统计分析"; + List resList = new ArrayList<>(); + service.getYearStatisticAnalysis(year, resList); + ExcelUtil.exportExcel(resList, filename, StWaterRReorganizeYearVo.class, response, "统计分析"); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java b/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java new file mode 100644 index 0000000..1cba4c1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java @@ -0,0 +1,161 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.dto.StZqrlBDto; +import com.gunshi.project.hsz.entity.vo.StZqrlBCount24Vo; +import com.gunshi.project.hsz.entity.vo.StZqrlBCountVo; +import com.gunshi.project.hsz.entity.vo.StZqrlBVo; +import com.gunshi.project.hsz.model.AttResBase; +import com.gunshi.project.hsz.model.StZqrlB; +import com.gunshi.project.hsz.service.AttResBaseService; +import com.gunshi.project.hsz.service.StStbprpBService; +import com.gunshi.project.hsz.service.StZqrlBService; +import com.gunshi.project.hsz.service.StZvarlBService; +import com.gunshi.project.hsz.validate.markers.Delete; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 水位流量关系曲线表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "水位流量关系曲线表") +@RestController +@RequestMapping(value="/stZqrlB") +public class StZqrlBController { + + @Autowired + private StZqrlBService service; + + @Autowired + private AttResBaseService resBaseService; + + @Autowired + private StStbprpBService stStbprpBService; + + @Autowired + private StZvarlBService stZvarlBService; + + + @Post(path = "/flowList", summary = "集合") + public R> flowList(@RequestBody StZqrlBDto obj) { + return R.ok(stStbprpBService.flowList(obj)); + } + + @GetMapping(path = "/count/{stcd}") + public R count(@Schema(name = "stcd") @PathVariable("stcd") Serializable stcd) { + return R.ok(stStbprpBService.count(stcd)); + } + + + @GetMapping(path = "/count24/{stcd}") + public R count24(@Schema(name = "stcd") @PathVariable("stcd") Serializable stcd) { + return R.ok(stStbprpBService.count24(stcd)); + } + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StZqrlB dto) { + if (StringUtils.isNotBlank(dto.getResCode())){ + AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one(); + if (Objects.isNull(one)){ + throw new IllegalArgumentException("水库编码不存在"); + } + if (StringUtils.isBlank(dto.getStcd())){ + dto.setStcd(one.getStcd()); + } + } + if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ + throw new IllegalArgumentException("测站编码不存在"); + } + + if (service.lambdaQuery() + .eq(StZqrlB::getStcd, dto.getStcd()) + .eq(StZqrlB::getZ, dto.getZ()) + .eq(StZqrlB::getQ, dto.getQ()) + .count() > 0) { + throw new IllegalArgumentException("当前数据已存在"); + } + dto.setId(IdWorker.getId()); + dto.setModitime(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StZqrlB dto) { + if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ + throw new IllegalArgumentException("测站编码不存在"); + } + + if (service.lambdaQuery() + .eq(StZqrlB::getStcd, dto.getStcd()) + .eq(StZqrlB::getZ, dto.getZ()) + .eq(StZqrlB::getQ, dto.getQ()) + .ne(StZqrlB::getId,dto.getId()) + .count() > 0) { + throw new IllegalArgumentException("当前数据已存在"); + } + + + + boolean result = service.lambdaUpdate() + .set(StZqrlB::getZ, dto.getZ()) + .set(StZqrlB::getQ, dto.getQ()) + .eq(StZqrlB::getId, dto.getId()) + .update(); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @PostMapping("/del") + public R del(@Validated(Delete.class) @RequestBody StZqrlB dto) { + if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ + throw new IllegalArgumentException("测站编码不存在"); + } + if (service.lambdaQuery() + .eq(StZqrlB::getId, dto.getId()) + .count() == 0) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.lambdaUpdate() + .eq(StZqrlB::getId, dto.getId()) + .remove() ); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody StZqrlB dto) { + LambdaQueryChainWrapper q = service.lambdaQuery().orderByAsc(StZqrlB::getZ); + String stcd = dto.getStcd(); + if (StringUtils.isNotBlank(stcd)){ + q.eq(StZqrlB::getStcd, stcd); + } + return R.ok(q.list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StZvarlBController.java b/src/main/java/com/gunshi/project/hsz/controller/StZvarlBController.java new file mode 100644 index 0000000..394399a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StZvarlBController.java @@ -0,0 +1,132 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.AttResBase; +import com.gunshi.project.hsz.model.StZvarlB; +import com.gunshi.project.hsz.service.AttResBaseService; +import com.gunshi.project.hsz.service.StStbprpBService; +import com.gunshi.project.hsz.service.StZvarlBService; +import com.gunshi.project.hsz.validate.markers.Delete; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 库( 湖)容曲线表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "库( 湖)容曲线表") +@RestController +@RequestMapping(value="/stZvarlB") +public class StZvarlBController { + + @Autowired + private StZvarlBService service; + + @Autowired + private AttResBaseService resBaseService; + + @Autowired + private StStbprpBService stStbprpBService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody StZvarlB dto) { + if (StringUtils.isNotBlank(dto.getResCode())){ + AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one(); + if (Objects.isNull(one)){ + throw new IllegalArgumentException("水库编码不存在"); + } + if (StringUtils.isBlank(dto.getStcd())){ + dto.setStcd(one.getStcd()); + } + } + if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ + throw new IllegalArgumentException("测站编码不存在"); + } + if (service.lambdaQuery() + .eq(StZvarlB::getStcd, dto.getStcd()) + .eq(StZvarlB::getRz, dto.getRz()) + .eq(StZvarlB::getW, dto.getW()) + .count() > 0) { + throw new IllegalArgumentException("当前数据已存在"); + } + dto.setId(IdWorker.getId()); + dto.setModitime(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody StZvarlB dto) { + if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ + throw new IllegalArgumentException("测站编码不存在"); + } + + + if (service.lambdaQuery() + .eq(StZvarlB::getStcd, dto.getStcd()) + .eq(StZvarlB::getRz, dto.getRz()) + .eq(StZvarlB::getW, dto.getW()) + .ne(StZvarlB::getId, dto.getId()) + .count() > 0) { + throw new IllegalArgumentException("当前数据已存在"); + } + + + boolean result = service.lambdaUpdate() + .set(StZvarlB::getRz, dto.getRz()) + .set(StZvarlB::getW, dto.getW()) + .set(StZvarlB::getWsfa, dto.getWsfa()) + .eq(StZvarlB::getId, dto.getId()) + .update(); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @PostMapping("/del") + public R del(@Validated(Delete.class) @RequestBody StZvarlB dto) { + if (service.lambdaQuery() + .eq(StZvarlB::getId, dto.getId()) + .count() == 0) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.lambdaUpdate() + .eq(StZvarlB::getId, dto.getId()) + .remove() ); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@RequestBody StZvarlB dto) { + LambdaQueryChainWrapper q = service.lambdaQuery().orderByAsc(StZvarlB::getRz); + String stcd = dto.getStcd(); + if (StringUtils.isNotBlank(stcd)){ + q.eq(StZvarlB::getStcd, stcd); + } + return R.ok(q.list()); + } + +// @Operation(summary = "分页") +// @PostMapping("/page") + public R> page() { + return R.ok(service.page(null,null)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/StatisticsController.java b/src/main/java/com/gunshi/project/hsz/controller/StatisticsController.java new file mode 100644 index 0000000..05f8218 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/StatisticsController.java @@ -0,0 +1,93 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.db.dto.DateRangeSo; +import com.gunshi.project.hsz.entity.so.StatisticsQuerySo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.service.StatisticsService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 描述: 报图报表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "报图报表") +@RestController +@RequestMapping(value="/statistics") +public class StatisticsController{ + + @Autowired + private StatisticsService service; + + @Operation(summary = "时段降雨日报表") + @PostMapping("/sdJyRb") + public R> sdJyRb(@Validated @RequestBody DateRangeSo dateRangeSo) { + return R.ok(service.sdJyRb(dateRangeSo)); + } + + @Operation(summary = "时段降雨日报表导出") + @PostMapping( "/sdJyRb/export") + public void export(@RequestBody @Validated DateRangeSo dateRangeSo, HttpServletResponse response) { + service.sdJyRbExport(dateRangeSo,response); + } + + @Operation(summary = "时段水位日报表") + @PostMapping("/sdSwRb") + public R> sdSwRb(@Validated @RequestBody DateRangeSo dateRangeSo) { + return R.ok(service.sdSwRb(dateRangeSo)); + } + + @Operation(summary = "时段水位日报表导出") + @PostMapping("/sdSwRb/export") + public void sdSwRbExport(@Validated @RequestBody DateRangeSo dateRangeSo, HttpServletResponse response) { + service.sdSwRbExport(dateRangeSo,response); + } + + @Operation(summary = "日降雨年报表(上方表格)") + @PostMapping("/rjyNb") + public R> rjyNb(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo) { + return R.ok(service.rjyNb(statisticsQuerySo,null)); + } + + @Operation(summary = "日降雨年报表(下方统计)") + @PostMapping("/rjyNb/stat") + public R rjyNbStat(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo) { + return R.ok(service.rjyNbStat(statisticsQuerySo)); + } + + @Operation(summary = "日降雨年报表导出") + @PostMapping("/rjyNb/export") + public void rjyNbExport(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo, HttpServletResponse response) { + service.rjyNbExport(statisticsQuerySo,response); + } + + @Operation(summary = "日均水位年报表(上方表格)") + @PostMapping("/rjswNb") + public R> rjswNb(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo) { + return R.ok(service.rjswNb(statisticsQuerySo)); + } + + @Operation(summary = "日均水位年报表(下方统计)") + @PostMapping("/rjswNb/stat") + public R rjswNbStat(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo) { + return R.ok(service.rjswNbStat(statisticsQuerySo)); + } + + @Operation(summary = "日均水位年报表导出") + @PostMapping("/rjswNb/export") + public void rjswNbExport(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo, HttpServletResponse response) { + service.rjswNbExport(statisticsQuerySo,response); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/SysDictBController.java b/src/main/java/com/gunshi/project/hsz/controller/SysDictBController.java new file mode 100644 index 0000000..a0c4b21 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SysDictBController.java @@ -0,0 +1,135 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import com.gunshi.project.hsz.model.SysDictB; +import com.gunshi.project.hsz.service.SysDictBService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 系统字典表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "系统字典表") +@RestController +@RequestMapping(value="/sysDictB") +public class SysDictBController { + + @Autowired + private SysDictBService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SysDictB dto) { + + if (StringUtils.isNotBlank(dto.getDictNm())){ + if (service.lambdaQuery().eq(SysDictB::getDictNm,dto.getDictNm()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + } + if (Objects.nonNull(dto.getPid()) && !"0".equals(dto.getPid()) ){ + if (service.lambdaQuery().eq(SysDictB::getId,dto.getPid()) + .count() == 0) { + throw new IllegalArgumentException("当父级不存在"); + } + } + if (null == dto.getPid()){ + dto.setPid(0L); + } + dto.setCreateTm(new Date()); + dto.setId(IdWorker.getId()); + + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SysDictB dto) { + + if (StringUtils.isNotBlank(dto.getDictNm())){ + if (service.lambdaQuery().eq(SysDictB::getDictNm,dto.getDictNm()) + .ne(SysDictB::getId,dto.getId()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + } + if (Objects.nonNull(dto.getPid()) && !"0".equals(dto.getPid()) ){ + if (service.lambdaQuery().eq(SysDictB::getId,dto.getPid()) + .count() == 0) { + throw new IllegalArgumentException("当父级不存在"); + } + } + dto.setTm(new Date()); + boolean result = service.updateById(dto); + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "列表 通过父id查子项") + @PostMapping("/list") + public R> list(@RequestBody SysDictB dto) { + LambdaQueryChainWrapper query = service.lambdaQuery(); + Long pid = dto.getPid(); + if (Objects.nonNull(pid)){ + query.eq(SysDictB::getPid, pid); + } + return R.ok(query.list()); + } + + @Operation(summary = "列表 通过父编码查子项") + @GetMapping("/listByCd") + public R> listByCd(@Schema(name = "dictCd",description = "父编码") @RequestParam(name = "dictCd") String dictCd) { + return R.ok(service.listByCd(dictCd)); + } + + @Operation(summary = "分页 只查父项") + @PostMapping("/page") + public R> page(@RequestBody GenericPageParams page) { + + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + Page data = service.page(page.getPageSo().toPage(), queryWrapper.eq(SysDictB::getPid,0L)); + + data.getRecords().forEach( o-> o.setChildren(service.lambdaQuery().eq(SysDictB::getPid,o.getId()).list())); + + return R.ok(data); + } + + @Operation(summary = "树") + @GetMapping("/tree") + public R> tree() { + return R.ok(service.tree()); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/SzCaseController.java b/src/main/java/com/gunshi/project/hsz/controller/SzCaseController.java new file mode 100644 index 0000000..312bbad --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SzCaseController.java @@ -0,0 +1,272 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Maps; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.SzCasePage; +import com.gunshi.project.hsz.entity.vo.SzCaseStatisticsVo; +import com.gunshi.project.hsz.model.SzCase; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.SzCaseService; +import com.gunshi.project.hsz.util.DateUtil; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: 案件登记表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "案件登记表") +@RestController +@RequestMapping(value="/szCase") +public class SzCaseController extends AbstractCommonFileController{ + + @Autowired + private SzCaseService service; + + @Autowired + private FileAssociationsService fileService; + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SzCase dto) { + + if (service.lambdaQuery().eq(SzCase::getCaseName,dto.getCaseName()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + + dto.setCreateTime(new Date()); + dto.setId(IdWorker.getId()); + + boolean result = service.save(dto); + + + if (result){ + fileService.saveFile(dto.getFiles1(), getGroupId(), String.valueOf( dto.getId()),"1"); + fileService.saveFile(dto.getFiles2(), getGroupId(), String.valueOf( dto.getId()),"2"); + fileService.saveFile(dto.getFiles3(), getGroupId(), String.valueOf( dto.getId()),"3"); + fileService.saveFile(dto.getFiles4(), getGroupId(), String.valueOf( dto.getId()),"4"); + fileService.saveFile(dto.getFiles5(), getGroupId(), String.valueOf( dto.getId()),"5"); + fileService.saveFile(dto.getFiles6(), getGroupId(), String.valueOf( dto.getId()),"6"); + fileService.saveFile(dto.getFiles7(), getGroupId(), String.valueOf( dto.getId()),"7"); + fileService.saveFile(dto.getFiles8(), getGroupId(), String.valueOf( dto.getId()),"8"); + fileService.saveFile(dto.getFiles9(), getGroupId(), String.valueOf( dto.getId()),"9"); + } + + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SzCase dto) { + + + if (service.lambdaQuery() + .ne(SzCase::getId,dto.getId()) + .eq(SzCase::getCaseName,dto.getCaseName()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + + dto.setCreateTime(null); + dto.setCreateBy(null); + dto.setCreateName(null); + dto.setUpdateTime(new Date()); + boolean result = service.updateById(dto); + + if (result){ + fileService.saveFile(dto.getFiles1(), getGroupId(), String.valueOf( dto.getId()),"1"); + fileService.saveFile(dto.getFiles2(), getGroupId(), String.valueOf( dto.getId()),"2"); + fileService.saveFile(dto.getFiles3(), getGroupId(), String.valueOf( dto.getId()),"3"); + fileService.saveFile(dto.getFiles4(), getGroupId(), String.valueOf( dto.getId()),"4"); + fileService.saveFile(dto.getFiles5(), getGroupId(), String.valueOf( dto.getId()),"5"); + fileService.saveFile(dto.getFiles6(), getGroupId(), String.valueOf( dto.getId()),"6"); + fileService.saveFile(dto.getFiles7(), getGroupId(), String.valueOf( dto.getId()),"7"); + fileService.saveFile(dto.getFiles8(), getGroupId(), String.valueOf( dto.getId()),"8"); + fileService.saveFile(dto.getFiles9(), getGroupId(), String.valueOf( dto.getId()),"9"); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated SzCasePage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + if (Objects.nonNull(page.getCaseType())){ + query.eq(SzCase::getCaseType, page.getCaseType()); + } + + if (Objects.nonNull(page.getCaseName())){ + query.like(SzCase::getCaseName, page.getCaseName()); + } + + if (Objects.nonNull(page.getCaseId())){ + query.like(SzCase::getCaseId, page.getCaseId()); + } + + if (Objects.nonNull(page.getStm())){ + query.ge(SzCase::getCreateTime, page.getStm()); + } + + if (Objects.nonNull(page.getEtm())){ + query.le(SzCase::getCreateTime, page.getEtm()); + } + + query.orderByDesc(SzCase::getCreateTime); + return R.ok(service.page(page.getPageSo().toPage(),query)); + } + + @Operation(summary = "获取详情(包含文件)") + @GetMapping("/get/{id}") + public R getFiles(@Schema(name = "id") @PathVariable("id") Serializable id) { + SzCase o = service.getById(id); + if (Objects.isNull(o)) { + throw new IllegalArgumentException("当前数据不存在"); + } + + o.setFiles1(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"1")); + o.setFiles2(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"2")); + o.setFiles3(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"3")); + o.setFiles4(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"4")); + o.setFiles5(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"5")); + o.setFiles6(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"6")); + o.setFiles7(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"7")); + o.setFiles8(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"8")); + o.setFiles9(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"9")); + + return R.ok(o); + } + + @Operation(summary = "案件统计") + @PostMapping("/statistics/{num}") + public R> statistics( + @Schema(name = "统计类型 0:案件来源,1:案件类型,2:执行类型") @PathVariable("num") Integer num, + @RequestBody @Validated SzCasePage page) { + LambdaQueryChainWrapper query = service.lambdaQuery(); + + if (Objects.nonNull(page.getStm())){ + query.ge(SzCase::getCreateTime, page.getStm()); + } + + if (Objects.nonNull(page.getEtm())){ + query.le(SzCase::getCreateTime, page.getEtm()); + } + + List vos = Lists.newArrayList(); + + List list = query.list(); + + if (CollectionUtils.isNotEmpty(list)){ + Map sourceCount = Maps.newHashMap(); + switch (num){ + case 0:{ // 案件来源 + sourceCount = list.stream() + .filter(o -> Objects.nonNull(o.getCaseSource())) + .collect(Collectors.groupingBy(SzCase::getCaseSource, Collectors.counting())); + break; + } + case 1:{ // 案件类型 + sourceCount = list.stream() + .filter(o -> Objects.nonNull(o.getCaseType())) + .collect(Collectors.groupingBy(SzCase::getCaseType, Collectors.counting())); + break; + } + case 2:{ // 执行类型 + sourceCount = list.stream() + .filter(o -> Objects.nonNull(o.getCaseImplementation())) + .collect(Collectors.groupingBy(SzCase::getCaseImplementation, Collectors.counting())); + break; + } + default:break; + } + + sourceCount.forEach((k,v) -> vos.add(new SzCaseStatisticsVo(null,k,v.intValue()))); + } + + return R.ok(vos); + } + + @Operation(summary = "案件数量趋势") + @GetMapping("/statisticsNum/{year}") + public R> statisticsNum(@Schema(name = "年份") @PathVariable("year") Integer year) { + LambdaQueryChainWrapper query = service.lambdaQuery(); + + query.ge(SzCase::getCreateTime, DateUtil.beginOfYearToDate(year)); + + query.le(SzCase::getCreateTime, DateUtil.endOfYearToDate(year)); + + List vos = Lists.newArrayList(); + + List list = query.list(); + + Calendar calendar = Calendar.getInstance(); + for (int i = 0; i < 12; i++) { + int month = i; + long cnt = list.stream().filter(item -> { + calendar.setTime(item.getCreateTime()); + return month == calendar.get(Calendar.MONTH); + }).count(); + vos.add(new SzCaseStatisticsVo(month + 1,null,Integer.valueOf(String.valueOf(cnt)))); + } +// +// Calendar calendar = Calendar.getInstance(); +// int currYear = calendar.get(Calendar.YEAR); +// int month = calendar.get(Calendar.MONTH) + 1; +// if(year.intValue() != currYear){ +// calendar.set(Calendar.YEAR,year); +// month = 12; +// } +// final int finalMonth = month; +// for (int i = 1; i <= finalMonth; i++) { +// int finalI = i; +// long count = 0; +// if(CollectionUtils.isNotEmpty(list)){ +// count = list.stream() +// .filter(item -> +// { +// calendar.setTime(item.getCaseDate()); +// return finalMonth == finalI; +// }) +// .count(); +// } +// vos.add(new SzCaseStatisticsVo(i,null,Integer.valueOf(String.valueOf(count)))); +// } + + return R.ok(vos); + } + + @Override + public String getGroupId() { + return "szCase"; + } + public String getGroupId(Integer num) { + return getGroupId() + num; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/SzRegulatoryFrameworkController.java b/src/main/java/com/gunshi/project/hsz/controller/SzRegulatoryFrameworkController.java new file mode 100644 index 0000000..e6a2a5a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SzRegulatoryFrameworkController.java @@ -0,0 +1,151 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.SzRegulatoryFrameworkPage; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.model.SzRegulatoryFramework; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.SzRegulatoryFrameworkService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 案件登记表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "制度管理表") +@RestController +@RequestMapping(value = "/SzRegulatoryFramework") +public class SzRegulatoryFrameworkController extends AbstractCommonFileController { + + @Autowired + private SzRegulatoryFrameworkService service; + + @Autowired + private FileAssociationsService fileService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SzRegulatoryFramework dto) { + + if (service.lambdaQuery().eq(SzRegulatoryFramework::getName, dto.getName()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + + dto.setCreateTime(new Date()); + dto.setId(IdWorker.getId()); + + if (CollectionUtils.isNotEmpty(dto.getFiles())){ + dto.setUploadDate(new Date()); + } + boolean result = service.save(dto); + + + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SzRegulatoryFramework dto) { + + + if (service.lambdaQuery() + .ne(SzRegulatoryFramework::getId, dto.getId()) + .eq(SzRegulatoryFramework::getName, dto.getName()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + + if (CollectionUtils.isNotEmpty(dto.getFiles())){ + dto.setUploadDate(new Date()); + } + dto.setCreateBy(null); + dto.setCreateName(null); + dto.setUpdateTime(new Date()); + dto.setCreateTime(null); + boolean result = service.updateById(dto); + + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated SzRegulatoryFrameworkPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + + if (Objects.nonNull(page.getType())) { + query.eq(SzRegulatoryFramework::getType, page.getType()); + } + + if (Objects.nonNull(page.getName())) { + query.like(SzRegulatoryFramework::getName, page.getName()); + } + + if (Objects.nonNull(page.getFillUnit())) { + query.like(SzRegulatoryFramework::getFillUnit, page.getFillUnit()); + } + + if (Objects.nonNull(page.getStm())) { + query.ge(SzRegulatoryFramework::getReleaseDate, page.getStm()); + } + + if (Objects.nonNull(page.getEtm())) { + query.le(SzRegulatoryFramework::getReleaseDate, page.getEtm()); + } + + query.orderByDesc(SzRegulatoryFramework::getUploadDate); + Page data = service.page(page.getPageSo().toPage(), query); + data.getRecords().forEach(item -> { + List files = fileService.getFiles(getGroupId(), String.valueOf(item.getId())); + if(CollectionUtils.isNotEmpty(files)){ + Date minDate = files.stream() + .map(FileAssociations::getTm) // 提取每个对象的 tm 字段 + .min(Date::compareTo).orElse(null); // 找到最小的 Date + item.setMinUpTime(minDate); + } + item.setFiles(files); + }); + return R.ok(data); + } + + + + @Override + public String getGroupId() { + return "SzRegulatoryFramework"; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/SzRuleByLawController.java b/src/main/java/com/gunshi/project/hsz/controller/SzRuleByLawController.java new file mode 100644 index 0000000..b0417fb --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SzRuleByLawController.java @@ -0,0 +1,179 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.SzRuleByLawPage; +import com.gunshi.project.hsz.model.SzRuleByLaw; +import com.gunshi.project.hsz.service.FileAssociationsService; +import com.gunshi.project.hsz.service.SzRuleByLawService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.Calendar; +import java.util.Date; +import java.util.Objects; + +/** + * 描述: 法律法规管理表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "法律法规管理表") +@RestController +@RequestMapping(value = "/SzRuleByLaw") +public class SzRuleByLawController extends AbstractCommonFileController { + + @Autowired + private SzRuleByLawService service; + + @Autowired + private FileAssociationsService fileService; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SzRuleByLaw dto) { + + if (service.lambdaQuery().eq(SzRuleByLaw::getName, dto.getName()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + + dto.setId(IdWorker.getId()); + dto.setCreateTime(new Date()); + + if (CollectionUtils.isNotEmpty(dto.getFiles())){ + dto.setUploadDate(new Date()); + } + boolean result = service.save(dto); + + + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SzRuleByLaw dto) { + + + if (service.lambdaQuery() + .ne(SzRuleByLaw::getId, dto.getId()) + .eq(SzRuleByLaw::getName, dto.getName()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + + dto.setCreateTime(null); + dto.setCreateBy(null); + dto.setCreateName(null); + dto.setUpdateTime(new Date()); + + if (CollectionUtils.isNotEmpty(dto.getFiles())){ + dto.setUploadDate(new Date()); + } + + boolean result = service.updateById(dto); + + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return R.ok(result ? dto : null); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated SzRuleByLawPage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + Calendar calendar=Calendar.getInstance(); + + if (Objects.nonNull(page.getType())) { + query.eq(SzRuleByLaw::getType, page.getType()); + } + + if (Objects.nonNull(page.getName())) { + query.like(SzRuleByLaw::getName, page.getName()); + } + + if (Objects.nonNull(page.getFillUnit())) { + query.like(SzRuleByLaw::getFillUnit, page.getFillUnit()); + } + + if (Objects.nonNull(page.getTimeliness())) { + query.eq(SzRuleByLaw::getTimeliness, page.getTimeliness()); + } + + if (Objects.nonNull(page.getStmAd())) { + query.ge(SzRuleByLaw::getCreateTime, page.getStmAd()); + } + + Date etmAd = page.getEtmAd(); + if (Objects.nonNull(etmAd)) { + calendar.setTime(etmAd); + calendar.set(Calendar.HOUR,23); + calendar.set(Calendar.MINUTE,59); + calendar.set(Calendar.SECOND,59); + query.le(SzRuleByLaw::getCreateTime, calendar.getTime()); + } + + if (Objects.nonNull(page.getStmIm())) { + query.ge(SzRuleByLaw::getImplementationDate, page.getStmIm()); + } + + Date etmIm = page.getEtmIm(); + if (Objects.nonNull(etmIm)) { + calendar.setTime(etmIm); + calendar.set(Calendar.HOUR,23); + calendar.set(Calendar.MINUTE,59); + calendar.set(Calendar.SECOND,59); + query.le(SzRuleByLaw::getImplementationDate, calendar.getTime()); + } + + if (Objects.nonNull(page.getStmUd())) { + query.ge(SzRuleByLaw::getCreateTime, page.getStmUd()); + } + + Date etmUd = page.getEtmUd(); + if (Objects.nonNull(etmUd)) { + calendar.setTime(etmUd); + calendar.set(Calendar.HOUR,23); + calendar.set(Calendar.MINUTE,59); + calendar.set(Calendar.SECOND,59); + query.le(SzRuleByLaw::getCreateTime, calendar.getTime()); + } + + query.orderByDesc(SzRuleByLaw::getCreateTime); + Page data = service.page(page.getPageSo().toPage(), query); + data.getRecords() + .forEach(item -> item.setFiles(fileService.getFiles(getGroupId(), String.valueOf(item.getId())))); + return R.ok(data); + } + + + @Override + public String getGroupId() { + return "SzRuleByLaw"; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/SzTreatmentBasisController.java b/src/main/java/com/gunshi/project/hsz/controller/SzTreatmentBasisController.java new file mode 100644 index 0000000..ce6e58c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/SzTreatmentBasisController.java @@ -0,0 +1,154 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.SzTreatmentBasis; +import com.gunshi.project.hsz.service.SzTreatmentBasisService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: 案件登记表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "处理依据表") +@RestController +@RequestMapping(value="/szTreatmentBasis") +public class SzTreatmentBasisController{ + + @Autowired + private SzTreatmentBasisService service; + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody SzTreatmentBasis dto) { + + if (service.lambdaQuery().eq(SzTreatmentBasis::getLegalName,dto.getLegalName()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + + if (Objects.isNull(dto.getPId())){ + dto.setPId(0L); + } + + dto.setCreateTime(new Date()); + dto.setId(IdWorker.getId()); + + if (dto.getStatus() == 0) { + dto.setDisplay(0); + } else { + dto.setDisplay(1); + } + + boolean result = service.save(dto); + + return R.ok(result ? dto : null); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody SzTreatmentBasis dto) { + + + if (service.lambdaQuery() + .ne(SzTreatmentBasis::getId,dto.getId()) + .eq(SzTreatmentBasis::getLegalName,dto.getLegalName()) + .count() > 0) { + throw new IllegalArgumentException("当前名称已存在"); + } + + dto.setCreateTime(null); + dto.setCreateBy(null); + dto.setCreateName(null); + dto.setUpdateTime(new Date()); + if (dto.getStatus() == 0) { + dto.setDisplay(0); + } else { + dto.setDisplay(1); + } + boolean result = service.updateById(dto); + + return R.ok(result ? dto : null); + } + + @Operation(summary = "获取详情") + @GetMapping("/get/{id}") + public R get(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.getById(id)); + } + + @Operation(summary = "获取树") + @GetMapping("/get/tree") + public R> getTree() { + List list = service.list(); + if (CollectionUtils.isEmpty(list)){ + return R.ok(list); + } + Map> listMap = list.stream().collect(Collectors.groupingBy(SzTreatmentBasis::getPId)); + + list.forEach(o -> o.setChildren(listMap.get(o.getId()))); + List parentList = list.stream() + .filter(o -> 0L == o.getPId()) + .collect(Collectors.toList()); + + return R.ok(parentList); + } + + @Operation(summary = "获取树-不显示禁用的") + @GetMapping("/get/treeFiltered") + public R> getTreeFiltered() { + List list = service.list(); + if (CollectionUtils.isEmpty(list)){ + return R.ok(list); + } + Map> listMap = list.stream().collect(Collectors.groupingBy(SzTreatmentBasis::getPId)); + + list.forEach(o -> o.setChildren(listMap.get(o.getId()))); + List parentList = list.stream() + .filter(o -> 0L == o.getPId()) + .collect(Collectors.toList()); + + parentList.forEach(this::trim); + parentList.removeIf(node -> CollectionUtils.isEmpty(node.getChildren()) && (Integer.valueOf(0).equals(node.getDisplay()) || node.getDisplay() == null)); + + return R.ok(parentList); + } + + private boolean trim(SzTreatmentBasis node) { + List children = node.getChildren(); + boolean isMiddleNode = false; + if (CollectionUtils.isNotEmpty(children)) { + isMiddleNode = true; + children.removeIf(this::trim); + } + //没有子节点的节点,且display是0,是末端节点;没有子节点的节点,且曾经有过子节点,是中间节点 + //末端节点的display是0就删,中间节点没有子节点就删 + return CollectionUtils.isEmpty(children) && (isMiddleNode || Integer.valueOf(0).equals(node.getDisplay())); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + if (Objects.isNull(service.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + return R.ok(service.removeById(id)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverController.java b/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverController.java new file mode 100644 index 0000000..1298e6d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverController.java @@ -0,0 +1,39 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.hsz.mapper.TermiteSurveyMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +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; + +/** + * 描述: 白蚁防治宣传 + * author: xusan + * date: 2024-08-28 10:29:58 + */ +@Tag(name = "白蚁防治宣传资料") +@RestController +@RequestMapping(value="/termite/adver") +public class TermiteAdverController extends AbstractCommonFileController{ + + @Autowired + private TermiteSurveyMapper termiteSurveyMapper; + + @Operation(summary = "宣传资料") + @GetMapping("/list") + public R> list() { + return R.ok(termiteSurveyMapper.queryFileList(getGroupId())); + } + + + @Override + public String getGroupId() { + return "termiteAdver"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverPicController.java b/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverPicController.java new file mode 100644 index 0000000..80d2551 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/TermiteAdverPicController.java @@ -0,0 +1,54 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.model.TermiteAdverPic; +import com.gunshi.project.hsz.service.TermiteAdverPicService; +import com.gunshi.project.hsz.validate.markers.Insert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +/** + * 描述: 白蚁防治宣传图片墙 + * author: xusan + * date: 2024-08-29 17:33:09 + */ +@Tag(name = "白蚁防治宣传图片墙") +@RestController +@RequestMapping(value="/termite/pic") +public class TermiteAdverPicController extends AbstractCommonFileController{ + + @Autowired + private TermiteAdverPicService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody TermiteAdverPic dto) { + return R.ok(service.saveData(dto)); + } + + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.queryList()); + } + + + @Override + public String getGroupId() { + return "termiteAdverPic"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/TermiteSurveyController.java b/src/main/java/com/gunshi/project/hsz/controller/TermiteSurveyController.java new file mode 100644 index 0000000..3f11ccd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/TermiteSurveyController.java @@ -0,0 +1,133 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.TermiteSurveyPageSo; +import com.gunshi.project.hsz.model.TermiteSurvey; +import com.gunshi.project.hsz.model.TermiteSurveyDetail; +import com.gunshi.project.hsz.service.TermiteSurveyDetailService; +import com.gunshi.project.hsz.service.TermiteSurveyService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 白蚁普查 + * author: xusan + * date: 2024-08-28 10:29:58 + */ +@Tag(name = "白蚁普查") +@RestController +@RequestMapping(value="/termite/survey") +public class TermiteSurveyController extends AbstractCommonFileController{ + + @Autowired + private TermiteSurveyService service; + @Autowired + private TermiteSurveyDetailService termiteSurveyDetailService; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody TermiteSurvey dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody TermiteSurvey dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "详情") + @GetMapping("/detail/{id}") + public R detail(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.detail(id)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated TermiteSurveyPageSo page) { + return R.ok(service.pageQuery(page)); + } + + @Operation(summary = "分页") + @PostMapping("/pageDetail") + public R> pageDetail(@RequestBody @Validated TermiteSurveyPageSo page) { + return R.ok(termiteSurveyDetailService.pageQuery(page)); + } + + @Operation(summary = "统计") + @PostMapping("/count") + public R> count(@RequestBody @Validated TermiteSurveyPageSo page) { + page.getPageSo().setPageSize(1000000); + Page termiteSurveyPage = termiteSurveyDetailService.pageQuery(page); + List records = termiteSurveyPage.getRecords(); + Map countMap = new HashMap<>(); + countMap.put("totalPoint",0l); + countMap.put("hasAnt",0l); + countMap.put("notAnt",0l); + countMap.put("noData",0l); + if(CollectionUtils.isEmpty(records)){ + return R.ok(countMap); + } + + page.getPageSo().setPageSize(1000000); + page.setPileNumber(null); + page.setSearchDate(null); + Page totalPage = termiteSurveyDetailService.pageQuery(page); + + if(CollectionUtils.isNotEmpty(totalPage.getRecords())){ + //所有点 去除空的 + long pileNumberCount = totalPage.getRecords().stream() + //.map(TermiteSurveyDetail::getPileNumber).filter(e -> StringUtils.isNotEmpty(e)) + .collect(Collectors.toSet()).stream().count(); + countMap.put("totalPoint", pileNumberCount); + } + + + //有危害 && 未处置 + long harmNumCount = records.stream() + .filter(e-> Objects.nonNull(e.getIsHarm()) && Objects.nonNull(e.getIsHandle()) + && e.getIsHarm().intValue() > 0 && e.getIsHandle().intValue()!=1).count(); + countMap.put("hasAnt", harmNumCount); + + //无危害 || (有危害&& 以处置) + long handleNummCount = records.stream() + .filter(e-> Objects.nonNull(e.getIsHarm()) && Objects.nonNull(e.getIsHandle()) + && (e.getIsHarm().intValue() == 0 || e.getIsHarm().intValue() > 0 && e.getIsHandle().intValue()==1)).count(); + + countMap.put("notAnt", handleNummCount); + + //无数据 + long count = records.stream().filter(e -> Objects.isNull(e.getIsHandle()) || e.getIsHandle().intValue() == 0).count(); + countMap.put("noData",count); + + return R.ok(countMap); + } + + + + @Override + public String getGroupId() { + return "termiteSurvey"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/TyYearRainfallController.java b/src/main/java/com/gunshi/project/hsz/controller/TyYearRainfallController.java new file mode 100644 index 0000000..e4d1444 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/TyYearRainfallController.java @@ -0,0 +1,62 @@ +package com.gunshi.project.hsz.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.TyYearRainfallPageSo; +import com.gunshi.project.hsz.entity.vo.TyYearRainfallVo; +import com.gunshi.project.hsz.service.TyYearRainfallService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +/** + * 描述: 典型年降雨资料表 + * author: xusan + * date: 2024-07-08 17:40:37 + */ +@Tag(name = "典型年降雨资料表") +@RestController +@RequestMapping(value="/tyYearRainfall") +public class TyYearRainfallController { + + @Autowired + private TyYearRainfallService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody TyYearRainfallVo dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody TyYearRainfallVo dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.removeData(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.queryList()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> pageQuery(@RequestBody TyYearRainfallPageSo tyYearRainfallPageSo) { + return R.ok(service.pageQuery(tyYearRainfallPageSo)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/WeatherController.java b/src/main/java/com/gunshi/project/hsz/controller/WeatherController.java new file mode 100644 index 0000000..682f985 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/controller/WeatherController.java @@ -0,0 +1,45 @@ +package com.gunshi.project.hsz.controller; + +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.entity.so.ShortWeatherSo; +import com.gunshi.project.hsz.entity.so.WeatherSo; +import com.gunshi.project.hsz.entity.vo.ForeRainVo; +import com.gunshi.project.hsz.service.ForecastService; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/3/11 + * + * @author wanyan + * @version 1.0 + */ +@RestController +@RequestMapping("/weather") +@Tag(name = "天气预报") +public class WeatherController { + + + @Resource + private ForecastService forecastService; + + + @Post(path = "/fore", summary = "24小时") + public R> fore(@RequestBody WeatherSo weatherSo) { + return R.ok(forecastService.fore(weatherSo)); + } + + + @Post(path = "/short/fore", summary = "短临预报") + public R> shortFore(@RequestBody ShortWeatherSo weatherSo) { + return R.ok(forecastService.shortFore(weatherSo)); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/MyConstant.java b/src/main/java/com/gunshi/project/hsz/entity/MyConstant.java new file mode 100644 index 0000000..b964cfc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/MyConstant.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.entity; + +/** + * @author xusan + * @date 2023/4/27 9:41 + */ +public class MyConstant { + + public static final String + + // 删除 + DEL = "0", + + // 未删除 + REC = "1"; + + /** + * 数据-数据服务运维员 角色编码 + */ + public static final String ROLE_PUSH = "data_zh_om"; + public static final String REDIS_KEY = "hsz:"; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/SkSyncData.java b/src/main/java/com/gunshi/project/hsz/entity/SkSyncData.java new file mode 100644 index 0000000..ae59ef0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/SkSyncData.java @@ -0,0 +1,18 @@ +package com.gunshi.project.hsz.entity; + + +import com.gunshi.project.hsz.model.StPptnRD; +import lombok.Data; + +import java.util.List; + +/** + * @author Sun Lejun + * @version 1.0 + * @date 2024/2/23 + */ + +@Data +public class SkSyncData { + List stPptnRD; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/SkSyncResp.java b/src/main/java/com/gunshi/project/hsz/entity/SkSyncResp.java new file mode 100644 index 0000000..83d6549 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/SkSyncResp.java @@ -0,0 +1,13 @@ +package com.gunshi.project.hsz.entity; + +import lombok.Data; + +/** + * @author Sun Lejun + * @version 1.0 + * @date 2024/2/26 + */ +@Data +public class SkSyncResp { + SkSyncData data; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/SyncDataReq.java b/src/main/java/com/gunshi/project/hsz/entity/SyncDataReq.java new file mode 100644 index 0000000..36e6ed7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/SyncDataReq.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.entity; + +import lombok.Data; + +/** + * @author Sun Lejun + * @version 1.0 + * @date 2024/2/20 + */ + +@Data +public class SyncDataReq { + /** + * 抽取的行政区划编码 6位 + */ + private String adcd; + /** + * 抽取的开始时间 格式 yyyy-MM-dd + */ + private String startDate; + /** + * 抽取的结束时间 格式 yyyy-MM-dd + */ + private String endDate; + /** + * 抽取的类型 QX SW SK SH + */ + private String type; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/dto/InspectItemDto.java b/src/main/java/com/gunshi/project/hsz/entity/dto/InspectItemDto.java new file mode 100644 index 0000000..2c6d527 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/dto/InspectItemDto.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.entity.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 用户启停参数 + * Created by wanyan on 2024/1/22 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class InspectItemDto { + + @Schema(description = "id") + private Long id; + + @Schema(description = "状态(0启用 1停用)") + private Integer status; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/dto/RotaDto.java b/src/main/java/com/gunshi/project/hsz/entity/dto/RotaDto.java new file mode 100644 index 0000000..beaf938 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/dto/RotaDto.java @@ -0,0 +1,38 @@ +package com.gunshi.project.hsz.entity.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 值班表人员参数 + * Created by wanyan on 2024/3/25 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class RotaDto { + + /** + * 日期 + */ + @Schema(description="日期",example = "2024-03-25") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + @NotNull(message = "日期不能为空") + private Date rotaDate; + + /** + * 是否节假日(0否 1是) + */ + @Schema(description="是否节假日(0否 1是)") + private Integer isHoliday; + + @Schema(description = "值班人员") + private List userDtoList; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/dto/RotaUserDto.java b/src/main/java/com/gunshi/project/hsz/entity/dto/RotaUserDto.java new file mode 100644 index 0000000..5b8185b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/dto/RotaUserDto.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.entity.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 值班表参数 + * Created by wanyan on 2024/3/25 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class RotaUserDto { + + /** + * 类型(1带班领导 2值班人员) + */ + @Schema(description="类型(1带班领导 2值班人员)") + private Integer rotaType; + + /** + * 用户id + */ + @Schema(description="用户id") + private Long userId; + + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/dto/StZqrlBDto.java b/src/main/java/com/gunshi/project/hsz/entity/dto/StZqrlBDto.java new file mode 100644 index 0000000..f9646a3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/dto/StZqrlBDto.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.entity.dto; + +import com.gunshi.db.dto.DateTimeRangeSo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 用户启停参数 + * Created by wanyan on 2024/1/22 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class StZqrlBDto { + + private String stcd; + + @Schema(description = "时间范围") + private DateTimeRangeSo dateSo; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/enums/SysFileType.java b/src/main/java/com/gunshi/project/hsz/entity/enums/SysFileType.java new file mode 100644 index 0000000..5b8456c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/enums/SysFileType.java @@ -0,0 +1,72 @@ +package com.gunshi.project.hsz.entity.enums; + +import org.apache.commons.lang3.StringUtils; + +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** + * @author xusan + * @date 2022/7/14 16:55 + * 系统业务文件类型 对应 file_associations.type + */ +public enum SysFileType { + + SFT000("0", "水库基本信息-工程基础信息-工程特性表"), + SFT001("1", "水库基本信息-设计图纸和资料"), + SFT099("99", ""); + + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + private SysFileType(String name, String value) { + this.name = name; + this.value = value; + } + + public static Map map() { + Map map = new HashMap<>(); + SysFileType[] values = SysFileType.values(); + for (SysFileType e : values) { + map.put(e.getValue(), e); + } + return map; + } + + public static Map mapName() { + Map map = new HashMap<>(); + SysFileType[] values = SysFileType.values(); + for (SysFileType e : values) { + map.put(e.getName(), e); + } + return map; + } + + public static SysFileType getByValue(String value) { + if (Objects.isNull(value)) return null; + return map().get(value); + } + + public static SysFileType getByName(String name) { + if (StringUtils.isEmpty(name)) return null; + return mapName().get(name); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/page/GenericPageParams.java b/src/main/java/com/gunshi/project/hsz/entity/page/GenericPageParams.java new file mode 100644 index 0000000..f59e713 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/page/GenericPageParams.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.entity.page; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author cxw + * @description: 通用分页参数 + * @classname GenericPageParams.java + * @create 2024-07-09, 星期二, 11:29:56 + */ +@Schema(description = "通用分页查询对象") +@Data +public class GenericPageParams { + + @Schema(description = "分页参数") + @TableField(exist = false) + private PageSo pageSo; + + @Schema(description = "排序字段") + @TableField(exist = false) + private String orderField; + + @Schema(description = "排序规则,是否升序") + @TableField(exist = false) + private Boolean isAsc; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/AssessTaskPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/AssessTaskPageSo.java new file mode 100644 index 0000000..a416f33 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/AssessTaskPageSo.java @@ -0,0 +1,39 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "考核任务分页查询对象") +public class AssessTaskPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="时段") + private DateRangeSo dateRangeSo; + + @Schema(description="考核任务名称") + private String taskName; + + @Schema(description="任务状态(0未启动 1评分中 2审核中 3已审核 5已作废);整改状态(0未整改 1已整改)") + private Integer status; + + @Schema(description="当前登录人id") + private Long userId; + + @Schema(description="整改对象") + private String objectUserName; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/AttCctvBasePage.java b/src/main/java/com/gunshi/project/hsz/entity/so/AttCctvBasePage.java new file mode 100644 index 0000000..12e667b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/AttCctvBasePage.java @@ -0,0 +1,24 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/17. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class AttCctvBasePage extends GeneralDataPage{ + + /** + * menu_id + */ + @Schema(description="menu_id") + private Long menuId; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/BroadcastWarnPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/BroadcastWarnPageSo.java new file mode 100644 index 0000000..65e1c3a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/BroadcastWarnPageSo.java @@ -0,0 +1,33 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "广播告警分页查询对象") +public class BroadcastWarnPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="时段") + private DateTimeRangeSo timeRangeSo; + + @Schema(description="站点id") + private Long stationId; + + @Schema(description="告警内容") + private String warnContent; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/CommonDataPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/CommonDataPageSo.java new file mode 100644 index 0000000..6e4a0f6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/CommonDataPageSo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "分页查询对象") +public class CommonDataPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="名称") + private String name; + + @Schema(description = "时间范围") + private DateRangeSo dateSo; + + @Schema(description = "类型(1大事记 2调度记录 3维修养护 4安全鉴定 5除险加固 6白蚁普查)") + private List types; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/CommonDataPageSo2.java b/src/main/java/com/gunshi/project/hsz/entity/so/CommonDataPageSo2.java new file mode 100644 index 0000000..214d91e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/CommonDataPageSo2.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "分页查询对象") +public class CommonDataPageSo2 { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="名称") + private String name; + + @Schema(description = "时间范围") + private DateTimeRangeSo dateSo; + + @Schema(description = "类型(1大事记 2调度记录 3维修养护 4安全鉴定 5除险加固 6白蚁普查)") + private List types; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/DataQueryCommonSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/DataQueryCommonSo.java new file mode 100644 index 0000000..0540e52 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/DataQueryCommonSo.java @@ -0,0 +1,33 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Pattern; +import lombok.Data; + +/** + * + * Created by wanyan on 2024/2/2. + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "查询条件") +public class DataQueryCommonSo { + + @Schema(description="测站编码") + @NotEmpty(message = "测站编码不可为空") + private String stcd; + + @Schema(description = "开始时间") + @NotEmpty(message = "开始时间不能为空") + @Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$", message = "时间格式应为:yyyy-MM-dd HH:mm:ss") + private String stm; + + @Schema(description = "结束时间") + @NotEmpty(message = "结束时间不能为空") + @Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$", message = "时间格式应为:yyyy-MM-dd HH:mm:ss") + private String etm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/DispatchRecordPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/DispatchRecordPageSo.java new file mode 100644 index 0000000..abba89f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/DispatchRecordPageSo.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "分页查询对象") +public class DispatchRecordPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="操作人名称") + private String opUserName; + + @Schema(description = "时间范围") + private DateTimeRangeSo dateTimeSo; + + @Schema(description="状态(0执行中 1完成)") + private Integer status; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/GateHisPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/GateHisPageSo.java new file mode 100644 index 0000000..9effdc2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/GateHisPageSo.java @@ -0,0 +1,33 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "开关历史分页查询对象") +public class GateHisPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="时段") + private DateTimeRangeSo dateTimeRangeSo; + + @Schema(description="闸阀ID") + @NotEmpty(message = "闸阀代码不可为空") + private String valveCode; + + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/GateValveCctvRelPage.java b/src/main/java/com/gunshi/project/hsz/entity/so/GateValveCctvRelPage.java new file mode 100644 index 0000000..768a1ea --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/GateValveCctvRelPage.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/19. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class GateValveCctvRelPage extends GenericPageParams { + + /** + * 闸阀编号 + */ + @Schema(description="闸阀编号名称") + private String valveName; + + /** + * 视频点 + */ + @Schema(description="视频点名称") + private String indexName; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/GeneralDataPage.java b/src/main/java/com/gunshi/project/hsz/entity/so/GeneralDataPage.java new file mode 100644 index 0000000..c25d130 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/GeneralDataPage.java @@ -0,0 +1,37 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: 数据通用查询 + * Created by XuSan on 2024/7/17. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class GeneralDataPage extends GenericPageParams { + + /** + * 代码 + */ + @Schema(description="代码") + private String code; + + /** + * 名称 + */ + @Schema(description="名称") + private String name; + + /** + * 类型 + */ + @Schema(description="类型") + private String type; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/HomeStStbprpBSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/HomeStStbprpBSo.java new file mode 100644 index 0000000..0e5a99e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/HomeStStbprpBSo.java @@ -0,0 +1,41 @@ +package com.gunshi.project.hsz.entity.so; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.Date; + + +/** + * TODO + * + * @ClassName StPptnSo + * @Author Huang Qianxiang + * @Date 2024/2/21 14:20 + */ +@Data +@Schema(description = "首页站点查询参数") +public class HomeStStbprpBSo { + + + /** + * 开始时间 + */ + @Schema(description = "开始时间") + @NotNull(message = "开始时间不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date stm; + + /** + * 结束时间 + */ + @Schema(description="结束时间") + @NotNull(message = "结束时间不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date etm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/ImgWarnPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/ImgWarnPageSo.java new file mode 100644 index 0000000..4c2b06e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/ImgWarnPageSo.java @@ -0,0 +1,33 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "AI告警分页查询对象") +public class ImgWarnPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description = "告警时间") + private DateTimeRangeSo dateTimeRangeSo; + + @Schema(description="index_code") + private String indexCode; + + @Schema(description="告警类型(1人员闯入 2工程车辆识别 3漂浮物识别 4游泳识别)") + private Integer type; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/InspectProblemPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/InspectProblemPageSo.java new file mode 100644 index 0000000..7ae8a87 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/InspectProblemPageSo.java @@ -0,0 +1,37 @@ +package com.gunshi.project.hsz.entity.so; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "分页查询对象") +public class InspectProblemPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="巡查人id") + @NotNull(message = "巡查人id不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long inspectUserId; + + @Schema(description="是否处理(0否 1是)") + private Integer isHandle; + + @Schema(description = "时间范围") + private DateTimeRangeSo dateTimeRangeSo; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/InspectTaskPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/InspectTaskPageSo.java new file mode 100644 index 0000000..c9cabbd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/InspectTaskPageSo.java @@ -0,0 +1,40 @@ +package com.gunshi.project.hsz.entity.so; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "分页查询对象") +public class InspectTaskPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="创建人id") + @NotNull(message = "创建人id不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long createUserId; + + @Schema(description="状态(0未完成 1进行中 2已完成)") + private Integer status; + + @Schema(description="任务类型(1日常巡查 2特别检查 3汛前巡检)") + private Integer taskType; + + @Schema(description = "时间范围") + private DateTimeRangeSo dateTimeRangeSo; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/InspectTaskSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/InspectTaskSo.java new file mode 100644 index 0000000..7438a8b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/InspectTaskSo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.entity.so; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.db.dto.DateRangeSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "巡检任务查询对象") +public class InspectTaskSo { + + + @Schema(description="巡查人id") + @NotNull(message = "巡查人id不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long inspectUserId; + + @Schema(description = "时间范围") + private DateRangeSo dateRangeSo; + + @Schema(description = "状态") + private List statusList; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/MaintainPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/MaintainPageSo.java new file mode 100644 index 0000000..5d76eb6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/MaintainPageSo.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "分页查询对象") +public class MaintainPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="管护类型(1溢洪道淸障 2除草除杂 3设备养护 4环境清洁 5危险提示 6其他)") + private Integer maintainType; + + @Schema(description = "时间范围") + private DateTimeRangeSo dateTimeSo; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/MessageCenterPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/MessageCenterPageSo.java new file mode 100644 index 0000000..207ad41 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/MessageCenterPageSo.java @@ -0,0 +1,36 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "消息中心分页查询对象") +public class MessageCenterPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="主题") + private String title; + + @Schema(description="发布人名字") + private String publishUserName; + + @Schema(description="接收人id") + @NotNull(message = "接收人id不可为空") + private Long receiveUserId; + + @Schema(description="是否已读(0否 1是)") + @NotNull(message = "是否已读不可为空") + private Integer status; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticDetailQuerySo.java b/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticDetailQuerySo.java new file mode 100644 index 0000000..6799aa4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticDetailQuerySo.java @@ -0,0 +1,28 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "布置图详细数据查询对象") +public class OsmoticDetailQuerySo { + + @Schema(description = "类型(2渗流 其他可不传)") + private Integer type = 1; + + @Schema(description = "时间") + private DateTimeRangeSo dateTimeRangeSo; + + @Schema(description = "测点编号") + @NotEmpty(message = "测点编号不可为空") + private String stationCode; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticDevicePage.java b/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticDevicePage.java new file mode 100644 index 0000000..b91270e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticDevicePage.java @@ -0,0 +1,31 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/18. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class OsmoticDevicePage extends GenericPageParams { + + /** + * 测点编号 + */ + @Schema(description="测点编号") + private String stationCode; + + /** + * 仪器编号 + */ + @Schema(description="仪器编号") + private String deviceCode; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticQueryPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticQueryPageSo.java new file mode 100644 index 0000000..d790f91 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticQueryPageSo.java @@ -0,0 +1,32 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "渗压/渗流/位移分页查询对象") +public class OsmoticQueryPageSo{ + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description = "上报时间") + private DateTimeRangeSo dateTimeRangeSo; + + @Schema(description = "监测断面") + private String profileCode; + + @Schema(description = "测点编号") + private String stationCode; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticQuerySo.java b/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticQuerySo.java new file mode 100644 index 0000000..3c6a8cf --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/OsmoticQuerySo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "测值查询对象") +public class OsmoticQuerySo { + + @Schema(description = "类型(1渗压 2渗流)") + private Integer type = 1; + + @Schema(description = "年度") + private Integer year; + + @Schema(description = "时间") + private DateTimeRangeSo dateTimeRangeSo; + + @Schema(description = "监测断面名称(只有导出时传)") + private String profileName; + + @Schema(description = "测点编号") + private List<@NotEmpty String> stationCodes; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/PersonnelPlanLogPage.java b/src/main/java/com/gunshi/project/hsz/entity/so/PersonnelPlanLogPage.java new file mode 100644 index 0000000..18d7654 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/PersonnelPlanLogPage.java @@ -0,0 +1,61 @@ +package com.gunshi.project.hsz.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class PersonnelPlanLogPage extends GenericPageParams { + + + /** + * 名字 + */ + @Schema(description="培训分类,0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他") + private Integer type; + + /** + * 参训人员 + */ + @Schema(description="参训人员") + private String trainees; + + /** + * 主办单位 + */ + @Schema(description="主办单位") + private String unit; + + /** + * 培训计划 + */ + @Schema(description="培训计划id") + private Long planId; + + /** + * 开始培训时间 + */ + @Schema(description="培训日期开始时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date stm; + + /** + * 结束培训时间 + */ + @Schema(description="培训日期结束时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date etm; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/PersonnelPlanPage.java b/src/main/java/com/gunshi/project/hsz/entity/so/PersonnelPlanPage.java new file mode 100644 index 0000000..88d4df0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/PersonnelPlanPage.java @@ -0,0 +1,48 @@ +package com.gunshi.project.hsz.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class PersonnelPlanPage extends GenericPageParams { + + /** + * 联系方式 + */ + @Schema(description="填报人") + private String applicant; + + /** + * 名字 + */ + @Schema(description="培训班名称") + private String name; + + /** + * 开始培训时间 + */ + @Schema(description="开始培训时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date stm; + + /** + * 结束培训时间 + */ + @Schema(description="结束培训时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date etm; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/PicQuerySo.java b/src/main/java/com/gunshi/project/hsz/entity/so/PicQuerySo.java new file mode 100644 index 0000000..6406040 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/PicQuerySo.java @@ -0,0 +1,40 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Pattern; +import lombok.Data; + +/** + * + * Created by wanyan on 2024/2/2. + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "查询条件") +public class PicQuerySo { + + @Schema(description="水库编码") + private String resCode; + + @Schema(description="测站编码") + private String stcd; + + @Schema(description = "开始时间") + @NotEmpty(message = "开始时间不能为空") + @Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$", message = "时间格式应为:yyyy-MM-dd HH:mm:ss") + private String stm; + + @Schema(description = "结束时间") + @NotEmpty(message = "结束时间不能为空") + @Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$", message = "时间格式应为:yyyy-MM-dd HH:mm:ss") + private String etm; + + @Schema(description="分页参数") + private PageSo pageSo; + + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/RealRainBaseSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/RealRainBaseSo.java new file mode 100644 index 0000000..d79b698 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/RealRainBaseSo.java @@ -0,0 +1,18 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + + +@Data +public class RealRainBaseSo { + @Schema(description="开始时间 格式:yyyy-MM-dd HH:mm:ss") + @NotBlank(message = "开始时间不能为空") + private String stm; + + @Schema(description="结束时间 格式:yyyy-MM-dd HH:mm:ss") + @NotBlank(message = "结束时间不能为空") + private String etm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/ResCodeSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/ResCodeSo.java new file mode 100644 index 0000000..462476e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/ResCodeSo.java @@ -0,0 +1,31 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +/** + * Description: + * Created by XuSan on 2024/7/15. + * + * @author XuSan + * @version 1.0 + */ +@Data +@Schema(description = "水库代码查询对象") +public class ResCodeSo { + + + /** + * 水库代码 + */ + @Schema(description="水库代码") + @NotBlank(message = "水库代码不能为空") + private String resCode; + + /** + * 水库代码 + */ + @Schema(description="类型(1防汛预案 2调度规程)") + private String type; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/ResMonthEcoFlowListSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/ResMonthEcoFlowListSo.java new file mode 100644 index 0000000..c1c29e3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/ResMonthEcoFlowListSo.java @@ -0,0 +1,21 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by XuSan on 2024/7/15. + * + * @author XuSan + * @version 1.0 + */ +@Data +@Schema(description = "水库月核定生态流量列表查询对象") +public class ResMonthEcoFlowListSo { + + @NotNull(message = "年度不能为空") + @Schema(description = "年度") + private Integer year; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/ResPersonPage.java b/src/main/java/com/gunshi/project/hsz/entity/so/ResPersonPage.java new file mode 100644 index 0000000..2209a63 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/ResPersonPage.java @@ -0,0 +1,38 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/17. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ResPersonPage extends GenericPageParams { + + + /** + * 联系方式 + */ + @Schema(description="联系方式") + private String contactInfo; + + /** + * 名字 + */ + @Schema(description="名字") + private String name; + + /** + * 类型,0:行政,1:主管部门,2:管理单位,3:巡查,4:技术 + */ + @Schema(description="类型,0:行政,1:主管部门,2:管理单位,3:巡查,4:技术") + private Integer type; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/RescueGoodsPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/RescueGoodsPageSo.java new file mode 100644 index 0000000..169b2cf --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/RescueGoodsPageSo.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "抢险物资分页查询对象") +public class RescueGoodsPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="物资名称") + private String goodsName; + + @Schema(description = "排序字段") + private String sortField; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/RescueTeamPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/RescueTeamPageSo.java new file mode 100644 index 0000000..e8fd8a6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/RescueTeamPageSo.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "抢险队伍分页查询对象") +public class RescueTeamPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="队伍名称") + private String teamName; + + @Schema(description = "时间范围") + private DateRangeSo dateSo; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/ReservoirWaterCommonSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/ReservoirWaterCommonSo.java new file mode 100644 index 0000000..b5eeb36 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/ReservoirWaterCommonSo.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +/** + * + * Created by wanyan on 2024/2/2. + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "水库代码查询条件") +public class ReservoirWaterCommonSo { + + @Schema(description="水库代码") + @NotEmpty(message = "水库代码不可为空") + private String resCode; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/RotaLogPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/RotaLogPageSo.java new file mode 100644 index 0000000..ff5e5c0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/RotaLogPageSo.java @@ -0,0 +1,27 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "值班日志分页查询对象") +public class RotaLogPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description = "时间范围") + private DateRangeSo dateSo; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/ShortWeatherSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/ShortWeatherSo.java new file mode 100644 index 0000000..96ddace --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/ShortWeatherSo.java @@ -0,0 +1,18 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Pattern; +import lombok.Data; + + +@Data +public class ShortWeatherSo { + + + @Schema(description = "时间点(格式YYYYMMDDHHmm,mm只能取00和30)", example = "202402251100") + @NotEmpty(message = "时间点不能为空") + @Pattern(regexp = "^20[0-9]{6}[0-2][0-9]00|20[0-9]{6}[0-2][0-9]30", message = "时间格式应为:YYYYMMDDHHmm其中mm只能取00和30") + private String tm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/SoilMoisturePageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/SoilMoisturePageSo.java new file mode 100644 index 0000000..9d8abf4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/SoilMoisturePageSo.java @@ -0,0 +1,27 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * + */ +@Data +@Schema(description = "考核任务分页查询对象") +public class SoilMoisturePageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="时段") + private DateRangeSo dateRangeSo; + + + @Schema(description="stcd") + private String stcd; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/StPptnSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/StPptnSo.java new file mode 100644 index 0000000..42db207 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/StPptnSo.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.entity.so; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + + +/** + * TODO + * + * @ClassName StPptnSo + * @Author Huang Qianxiang + * @Date 2024/2/21 14:20 + */ +@Data +@Schema(description = "雨量站降雨量查询参数") +public class StPptnSo { + + + /** + * 测站名称 + */ + @Schema(description = "测站名称") + private String stnm; + + /** + * 时间段 + */ + @Schema(description = "时间段") + private Integer timeQuantum; + + /** + * 测站编码 + */ + @Schema(description="测站编码") + private String stcd; + + /** + * 选择的起始时间 + */ + @Schema(description = "选择的起始时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date startTime; + + /** + * 选择的结束时间 + */ + @Schema(description = "选择的结束时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date endTime; + + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/StStbprpBPage.java b/src/main/java/com/gunshi/project/hsz/entity/so/StStbprpBPage.java new file mode 100644 index 0000000..2b84983 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/StStbprpBPage.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/17. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class StStbprpBPage extends GeneralDataPage{ + /** + * 归属协议 + */ + @Schema(description="归属协议") + private String agreement; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/StStbprpBSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/StStbprpBSo.java new file mode 100644 index 0000000..04f72cf --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/StStbprpBSo.java @@ -0,0 +1,56 @@ +package com.gunshi.project.hsz.entity.so; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +/** + * TODO + * + * @ClassName StPptnSo + * @Author Huang Qianxiang + * @Date 2024/2/21 14:20 + */ +@Data +@Schema(description = "站点查询参数") +public class StStbprpBSo { + + + /** + * 测站名称 + */ + @Schema(description = "测站名称") + private String stnm; + + /** + * 测站编码 + */ + @Schema(description="测站编码") + private String stcd; + + /** + * 河流名称 + */ + @Schema(description="河流名称") + private String rvnm; + + /** + * 水系名称 + */ + @Schema(description="水系名称") + private String hnnm; + + /** + * 流域名称 + */ + @Schema(description="流域名称") + private String bsnm; + + + /** + * 站类,PP=雨量站,RR=水库水位站,ZQ=河道水位站,TX=图像站 + */ + @Schema(description="站类,PP=雨量站,RR=水库水位站,ZQ=河道水位站,TX=图像站") + private String sttp; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/StatisticsQuerySo.java b/src/main/java/com/gunshi/project/hsz/entity/so/StatisticsQuerySo.java new file mode 100644 index 0000000..eeb8c87 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/StatisticsQuerySo.java @@ -0,0 +1,20 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "报表统计查询对象") +public class StatisticsQuerySo { + + @Schema(description="年份") + private Integer year; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/SzCasePage.java b/src/main/java/com/gunshi/project/hsz/entity/so/SzCasePage.java new file mode 100644 index 0000000..acb842c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/SzCasePage.java @@ -0,0 +1,39 @@ +package com.gunshi.project.hsz.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SzCasePage extends GenericPageParams { + + @Schema(description="案件类型 0:违建,1:毁林垦荒,2:筑坝拦汊,3:填占库容,4:违法取水,5:其他") + private Integer caseType; + + @Schema(description="案件名称") + private String caseName; + + @Schema(description="案件编号") + private String caseId; + + @Schema(description="开始时间 格式:yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date stm; + + @Schema(description="结束时间 格式:yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date etm; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/SzRegulatoryFrameworkPage.java b/src/main/java/com/gunshi/project/hsz/entity/so/SzRegulatoryFrameworkPage.java new file mode 100644 index 0000000..faf0333 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/SzRegulatoryFrameworkPage.java @@ -0,0 +1,40 @@ +package com.gunshi.project.hsz.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SzRegulatoryFrameworkPage extends GenericPageParams { + + @Schema(description="制度类型 0:党支部工作制度,1:行政工作制度,2:部门工作制度,3:安全管理制度,4:工程管理制度,5:技术规程,6:岗位责任制") + private Integer type; + + @Schema(description="标题") + private String name; + + @Schema(description="发布单位") + private String fillUnit; + + @Schema(description="开始时间 格式:yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date stm; + + @Schema(description="结束时间 格式:yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date etm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/SzRuleByLawPage.java b/src/main/java/com/gunshi/project/hsz/entity/so/SzRuleByLawPage.java new file mode 100644 index 0000000..b4d0c74 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/SzRuleByLawPage.java @@ -0,0 +1,84 @@ +package com.gunshi.project.hsz.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SzRuleByLawPage extends GenericPageParams { + + @Schema(description="法律性质 0:宪法,1:法律,2:行政法规,3:督察法规,4:司法解释,5:地方性法规") + private Integer type; + + @Schema(description="标题") + private String name; + + @Schema(description="制定机关") + private String fillUnit; + + + /** + * 公布日期开始时间 + */ + @Schema(description="公布日期开始时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date stmAd; + + /** + * 公布日期结束时间 + */ + @Schema(description="公布日期结束时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date etmAd; + + + /** + * 施行日期开始时间 + */ + @Schema(description="施行日期开始时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date stmIm; + + /** + * 施行日期结束时间 + */ + @Schema(description="施行日期结束时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date etmIm; + + + /** + * 上传时间开始时间 + */ + @Schema(description="上传时间开始时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date stmUd; + + /** + * 施行日期结束时间 + */ + @Schema(description="施行日期结束时间 格式:yyyy-MM-dd") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date etmUd; + + + /** + * 时效性 + */ + @Schema(description="时效性 0:尚未生效,1:有效,2:已修改,3:已废止") + private Integer timeliness; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/TermiteSurveyPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/TermiteSurveyPageSo.java new file mode 100644 index 0000000..b60d42b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/TermiteSurveyPageSo.java @@ -0,0 +1,39 @@ +package com.gunshi.project.hsz.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.sql.Date; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "白蚁普查分页查询对象") +public class TermiteSurveyPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="年份") + private String year; + + @Schema(description="危害情况(0无危害 1有危害)") + private Integer isHarm; + + @Schema(description = "监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date searchDate; + + @Schema(description = "监测点") + private String pileNumber; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/TyYearRainfallPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/TyYearRainfallPageSo.java new file mode 100644 index 0000000..e4049f9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/TyYearRainfallPageSo.java @@ -0,0 +1,25 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "典型年降雨分页查询对象") +public class TyYearRainfallPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="丰平枯(1枯 2偏枯 3平 4偏丰 5丰)") + private Integer status; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/WarnPageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/WarnPageSo.java new file mode 100644 index 0000000..d0b3c5c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/WarnPageSo.java @@ -0,0 +1,25 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Schema(description = "隐患预警分页查询对象") +public class WarnPageSo extends WarnSo{ + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/WarnRulePageSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/WarnRulePageSo.java new file mode 100644 index 0000000..507235b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/WarnRulePageSo.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "预警规则配置分页查询对象") +public class WarnRulePageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="告警类型(1渗压监测 2渗流监测 3位移监测)") + private Integer type; + + @Schema(description="测点编号") + private String stationCode; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/WarnSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/WarnSo.java new file mode 100644 index 0000000..b9bda01 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/WarnSo.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.entity.so; + +import com.gunshi.db.dto.DateTimeRangeSo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "隐患预警查询对象") +public class WarnSo { + + @Schema(description = "时间段") + private DateTimeRangeSo dateTimeRangeSo; + + @Schema(description="告警类型(1渗压监测 2渗流监测 3位移监测)") + private Integer type; + + @Schema(description="测点编号") + private String stationCode; + + @Schema(description="告警级别(1黄色 2红色)") + private Integer level; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/so/WeatherSo.java b/src/main/java/com/gunshi/project/hsz/entity/so/WeatherSo.java new file mode 100644 index 0000000..6293034 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/so/WeatherSo.java @@ -0,0 +1,18 @@ +package com.gunshi.project.hsz.entity.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Pattern; +import lombok.Data; + + +@Data +public class WeatherSo { + + + @Schema(description = "时间点(tm格式YYYYMMDDHH,HH只能取08和20)",example = "2023062908") + @NotEmpty(message = "时间点不能为空") + @Pattern(regexp = "^20[0-9]{6}08|20[0-9]{6}20", message = "时间格式应为:YYYYMMDDHH其中HH只能为08或20") + private String tm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/ApiVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/ApiVo.java new file mode 100644 index 0000000..9b86fc9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/ApiVo.java @@ -0,0 +1,48 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class ApiVo { + + @Schema(description = "开始时间, 格式应为:yyyy-MM-dd HH:mm:ss", example = "2023-06-15 08:00:00") + private String startTime; + + @Schema(description = "结束时间, 格式应为:yyyy-MM-dd HH:mm:ss", example = "2023-06-15 08:00:00") + private String endTime; + + @Schema(description = "页数", example = "1") + private Integer pageNumber = 1; + + @Schema(description = "条数", example = "10") + private Integer pageSize = 10; + + @Schema(description = "过滤条件", example = "[]") + private List filter; + + @AllArgsConstructor + @NoArgsConstructor + @Data + public static class Filter { + + @Schema(description = "查询列名 publishUnit:发布单位,warnSignalType:类型,warnSignalLevel:级别", example = "publishUnit") + private String name; + + @Schema(description = "查询类型", example = "like") + private String condition; + + @Schema(description = "值", example = "%1%") + private String description; + + } +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AssessRatingVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AssessRatingVo.java new file mode 100644 index 0000000..a37a0a4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AssessRatingVo.java @@ -0,0 +1,42 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.model.AssessIndicatorRating; +import com.gunshi.project.hsz.model.AssessTeamRating; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class AssessRatingVo extends AssessTeamRating { + + @Schema(description="考核类目id") + @JsonSerialize(using = ToStringSerializer.class) + private Long categoryId; + + @Schema(description="考核类目名称") + private String name; + + @Schema(description="指标名称") + private String indicatorName; + + @Schema(description="标准分数") + private Integer standardScore; + + @Schema(description="指标得分") + private BigDecimal indicatorScore; + + @Schema(description="考核成员id") + @JsonSerialize(using = ToStringSerializer.class) + private Long teamUserId; + + @Schema(description="考核成员") + private String teamUserName; + + @Schema(description = "评分细则") + private List indicatorRatings; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AssessRectifyVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AssessRectifyVo.java new file mode 100644 index 0000000..498b75e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AssessRectifyVo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.model.AssessTeamRating; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class AssessRectifyVo extends AssessTeamRating { + + @Schema(description="考核类目id") + @JsonSerialize(using = ToStringSerializer.class) + private Long categoryId; + + @Schema(description="考核类目名称") + private String name; + + @Schema(description="指标名称") + private String indicatorName; + + @Schema(description="任务名称") + private String taskName; + + @Schema(description="考核对象id") + @JsonSerialize(using = ToStringSerializer.class) + private Long objectUserId; + + @Schema(description="考核对象") + private String objectUserName; + + @Schema(description="考核等级(1优秀 2良好 3合格)") + private Integer assessLevel; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AssessResultVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AssessResultVo.java new file mode 100644 index 0000000..37408d6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AssessResultVo.java @@ -0,0 +1,50 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ExcelIgnoreUnannotated +public class AssessResultVo { + + @ExcelProperty({"考核对象"}) + @ColumnWidth(15) + private String objectUserName; + + @ExcelProperty({"考核类目"}) + @ColumnWidth(15) + private String categoryName; + + @ExcelProperty({"指标名称"}) + @ColumnWidth(15) + private String indicatorName; + + @ExcelProperty({"扣分"}) + private BigDecimal deductScore; + + @ExcelProperty({"考核得分"}) + @ColumnWidth(15) + private BigDecimal resScore; + + + @ExcelIgnore + @JsonSerialize(using = ToStringSerializer.class) + private Long objectId; + + @ExcelIgnore + @JsonSerialize(using = ToStringSerializer.class) + private Long indicatorId; + + @ExcelIgnore + private Integer standardScore; + + @ExcelIgnore + private BigDecimal assessScore; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AssessScoreVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AssessScoreVo.java new file mode 100644 index 0000000..2830ac3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AssessScoreVo.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.AssessTeamRating; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class AssessScoreVo { + + @Schema(description="任务Id") + private Long taskId; + + @Schema(description="总分") + private BigDecimal score; + + @Schema(description="评分信息") + private List ratings; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AttResBaseVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AttResBaseVo.java new file mode 100644 index 0000000..3216d51 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AttResBaseVo.java @@ -0,0 +1,232 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 水库水情 + * Created by wanyan on 2024/2/20 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class AttResBaseVo { + + /** + * 测站编码 + */ + @Schema(description = "测站编码") + private String stcd; + + /** + * 测站名称 + */ + @Schema(description = "测站名称") + private String stnm; + + /** + * 站类 + */ + @Schema(description = "站类(RR水库水文站 ZQ,ZP河道水文站)") + private String sttp; + + /** + * 来源 + */ + @Schema(description = "来源") + private String source; + + /** + * 水库代码 + */ + @Schema(description = "水库代码") + private String resCode; + + /** + * 经度 + */ + @Schema(description = "经度") + private BigDecimal lgtd; + + /** + * 纬度 + */ + @Schema(description = "纬度") + private BigDecimal lttd; + + /** + * 行政区划代码 + */ + @Schema(description="行政区划代码") + private String adcd; + + /** + * 行政区划名称 + */ + @Schema(description="行政区划名称") + private String adnm; + + /** + * 站址 + */ + @Schema(description="站址") + private String stlc; + + + /** + * 主汛期防洪限制水位 + */ + @Schema(description = "主汛期防洪限制水位") + private BigDecimal flLowLimLev; + + /** + * 总库容 + */ + @Schema(description = "总库容") + private BigDecimal totCap; + + /** + * 流域名称 + */ + @Schema(description="流域名称") + private String lyname; + + /** + * 监测时间 + */ + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 监测水位 + */ + @Schema(description="监测水位") + private BigDecimal rz; + + @Schema(description="坝址控制流域面积") + private BigDecimal watShedArea; + + /** + * 超讯限 + */ + @Schema(description="超讯限") + private BigDecimal aFsltdz; + + /** + * 水位涨跌情况 + */ + @Schema(description="水位涨跌情况(0无变化 1涨 2跌)") + private Integer state; + + /** + * 设计洪水位 + */ + @Schema(description="设计洪水位") + private BigDecimal desFloodLev; + + /** + * 校核洪水位 + */ + @Schema(description = "校核洪水位") + private BigDecimal calFloodLev; + + + /** + * 正常蓄水位 + */ + @Schema(description = "正常蓄水位") + private BigDecimal normWatLev; + + + /** + * 死水位 + */ + @Schema(description = "死水位") + private BigDecimal deadLev; + + + /** + * 坝顶高程 + */ + @Schema(description = "坝顶高程") + private BigDecimal crestElev; + + @Schema(description="死库容") + private BigDecimal deadCap; + + /** + * 兴利库容 + */ + @Schema(description = "兴利库容") + private BigDecimal benResCap; + + /** + * 水库当前库容 + */ + @Schema(description = "水库当前库容") + private BigDecimal nowCap; + + + /** + * 雨量时间 + */ + @Schema(description="雨量时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date drpTm; + + /** + * 小时雨量 + */ + @Schema(description="小时雨量") + private BigDecimal h1; + + /** + * 3小时雨量 + */ + @Schema(description="3小时雨量") + private BigDecimal h3; + + /** + * 6小时雨量 + */ + @Schema(description="6小时雨量") + private BigDecimal h6; + + /** + * 12小时雨量 + */ + @Schema(description="12小时雨量") + private BigDecimal h12; + + + /** + * 24小时雨量 + */ + @Schema(description="24小时雨量") + private BigDecimal h24; + + /** + * 今日雨量 + */ + @Schema(description="今日雨量") + private BigDecimal today; + + @Schema(description = "是否超校核水位(0否 1是)") + private Integer calState; + + @Schema(description = "是否超设计水位(0否 1是)") + private Integer desState; + + @Schema(description = "是否超汛限水位(0否 1是)") + private Integer flState; + + @Schema(description = "建站日期") + private String esstym; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AttResMonitorVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AttResMonitorVo.java new file mode 100644 index 0000000..c8daf09 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AttResMonitorVo.java @@ -0,0 +1,83 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 水库监测数据 + * Created by wanyan on 2024/2/20 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AttResMonitorVo { + + /** + * 测站编码 + */ + @Schema(description = "测站编码") + private String stcd; + + /** + * 监测时间 + */ + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 雨量 + */ + @Schema(description="雨量") + private BigDecimal drp; + + /** + * 监测水位 + */ + @Schema(description="监测水位") + private BigDecimal rz; + + /** + * 库容 + */ + @Schema(description="库容") + private BigDecimal w; + + /** + * 今日雨量 + */ + @Schema(description="今日雨量") + private BigDecimal todayRainNum; + + /** + * 今日雨量 + */ + @Schema(description="今日雨量") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date todayRainNumTm; + + /** + * 灌溉发电流量 + */ + @Schema(description="灌溉发电流量") + private BigDecimal outPowerNum; + + /** + * 灌溉发电流量 + */ + @Schema(description="灌溉发电流量") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date outPowerNumTm; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvBaseVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvBaseVo.java new file mode 100644 index 0000000..bff3117 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvBaseVo.java @@ -0,0 +1,127 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 河道水情 + * Created by wanyan on 2024/2/20 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class AttRvBaseVo { + + /** + * 测站编码 + */ + @Schema(description = "测站编码") + private String stcd; + + /** + * 测站名称 + */ + @Schema(description = "测站名称") + private String stnm; + + /** + * 站类 + */ + @Schema(description = "站类(RR水库水文站 ZQ,ZP河道水文站)") + private String sttp; + + /** + * 来源 + */ + @Schema(description = "来源") + private String source; + + /** + * 经度 + */ + @Schema(description = "经度") + private BigDecimal lgtd; + + /** + * 纬度 + */ + @Schema(description = "纬度") + private BigDecimal lttd; + + /** + * 行政区划代码 + */ + @Schema(description="行政区划代码") + private String adcd; + + /** + * 行政区划名称 + */ + @Schema(description="行政区划名称") + private String adnm; + + + /** + * 河流名称 + */ + @Schema(description = "河流名称") + private String rvnm; + + /** + * 流域名称 + */ + @Schema(description="流域名称") + private String lyname; + + /** + * 站址 + */ + @Schema(description="站址") + private String stlc; + + /** + * 监测时间 + */ + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 水位涨跌情况 + */ + @Schema(description="水位涨跌情况(0无变化 1涨 2跌)") + private Integer state; + + /** + * 监测水位 + */ + @Schema(description="监测水位") + private BigDecimal z; + + @Schema(description="警戒水位") + private BigDecimal wrz; + + @Schema(description="危险水位") + private BigDecimal grz; + + /** + * 图片路径 + */ + @Schema(description = "图片路径") + private String imgPath; + + @Schema(description="是否超危险水位(0否 1是)") + private Integer gstate; + + @Schema(description="是否超警戒水位(0否 1是)") + private Integer wstate; + + @Schema(description = "建站日期") + private String esstym; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvMonitorDetailVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvMonitorDetailVo.java new file mode 100644 index 0000000..96d9f38 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvMonitorDetailVo.java @@ -0,0 +1,26 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 河道监测数据(下方表格) + * Created by wanyan on 2024/2/20 + * + * @author wanyan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class AttRvMonitorDetailVo extends StPptnDetailsVo { + + @Schema(description="24小时水位变幅(m)") + private BigDecimal rzDiff; + + @Schema(description="本年最高水位(m)") + private BigDecimal maxRz; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvMonitorVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvMonitorVo.java new file mode 100644 index 0000000..a1d693b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvMonitorVo.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 河道监测数据 + * Created by wanyan on 2024/2/20 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AttRvMonitorVo { + + /** + * 测站编码 + */ + @Schema(description = "测站编码") + private String stcd; + + /** + * 监测时间 + */ + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 雨量 + */ + @Schema(description="雨量") + private BigDecimal drp; + + /** + * 监测水位 + */ + @Schema(description="监测水位") + private BigDecimal z; + + /** + * 实测流量 + */ + @Schema(description="实测流量") + private BigDecimal q; + + /** + * 转换流量 + */ + @Schema(description="转换流量") + private BigDecimal tq; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/CameraOnlineVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/CameraOnlineVo.java new file mode 100644 index 0000000..20015f3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/CameraOnlineVo.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/7/26 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class CameraOnlineVo { + + @Schema(description="摄像头code") + private String indexCode; + + @Schema(description="在线状态,0离线,1在线") + private Integer online; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/CartogramVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/CartogramVo.java new file mode 100644 index 0000000..b409c89 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/CartogramVo.java @@ -0,0 +1,28 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * TODO + * + * @ClassName CartogramVo + * @Author Huang Qianxiang + * @Date 2024/3/26 14:24 + */ +@Data +public class CartogramVo { + + @Schema(description = "时间") + private List time; + + @Schema(description = "实测") + private List actual; + + @Schema(description = "累计") + private List total; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/CctvControlVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/CctvControlVo.java new file mode 100644 index 0000000..42648c3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/CctvControlVo.java @@ -0,0 +1,45 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/7/26 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class CctvControlVo { + + @Schema(description="摄像头code") + private String indexCode; + + @Schema(description="动作(0开始 1停止)") + private Integer action; + + @Schema(description="云台速度") + private Integer speed; + + @Schema(description="命令(LEFT 左转\n" + + "RIGHT右转\n" + + "UP 上转\n" + + "DOWN 下转\n" + + "ZOOM_IN 焦距变大\n" + + "ZOOM_OUT 焦距变小\n" + + "LEFT_UP 左上\n" + + "LEFT_DOWN 左下\n" + + "RIGHT_UP 右上\n" + + "RIGHT_DOWN 右下\n" + + "FOCUS_NEAR 焦点前移\n" + + "FOCUS_FAR 焦点后移\n" + + "IRIS_ENLARGE 光圈扩大\n" + + "IRIS_REDUCE 光圈缩小\n" + + "WIPER_SWITCH 接通雨刷开关\n" + + "START_RECORD_TRACK 开始记录运行轨迹\n" + + "STOP_RECORD_TRACK 停止记录运行轨迹\n" + + "START_TRACK 开始运行轨迹\n" + + "STOP_TRACK 停止运行轨迹;)") + private String command; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/DispatchRecordVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/DispatchRecordVo.java new file mode 100644 index 0000000..2a69e50 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/DispatchRecordVo.java @@ -0,0 +1,62 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +@ExcelIgnoreUnannotated +public class DispatchRecordVo { + + @Schema(description="调度开始时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @ExcelProperty({"调度开始时间"}) + @ColumnWidth(20) + @DateTimeFormat(DateFormatString.YYYY_MM_DD_HH_MM_SS) + private Date startTime; + + @Schema(description="调度结束时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @ExcelProperty({"调度结束时间"}) + @ColumnWidth(20) + @DateTimeFormat(DateFormatString.YYYY_MM_DD_HH_MM_SS) + private Date endTime; + + @Schema(description="状态(0执行中 1完成)") + @ExcelIgnore + private Integer status; + + @ExcelProperty({"调度原因"}) + @ColumnWidth(50) + private String dispatchReason; + + @Schema(description="调度详情") + @ExcelProperty({"调度详情"}) + @ColumnWidth(50) + private String dispatchDetail; + + @Schema(description="操作人") + @ExcelProperty({"操作人"}) + private String opUserName; + + @Schema(description="调度状态") + @ExcelProperty({"调度状态"}) + private String statusName; + + public void setStatus(Integer status){ + this.status = status; + if (this.status == 0) { + this.statusName = "执行中"; + } else if (this.status == 1) { + this.statusName = "完成"; + } + } +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/ForeRainStatVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/ForeRainStatVo.java new file mode 100644 index 0000000..249ff3b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/ForeRainStatVo.java @@ -0,0 +1,43 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 天气预报-流域统计 + * Created by wanyan on 2024/3/13 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class ForeRainStatVo { + + @Schema(description = "id") + private String id; + + @Schema(description = "名称") + private String name; + + @Schema(description = "雨量") + private Double drp; + + @Schema(description="经度") + private BigDecimal lgtd; + + @Schema(description="纬度") + private BigDecimal lttd; + + @JsonIgnore + private List meshrainVos; + + @Schema(description = "逐小时雨量") + private List timeRainVos; + + @JsonIgnore + private String geom; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/ForeRainTimeVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/ForeRainTimeVo.java new file mode 100644 index 0000000..b1ef075 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/ForeRainTimeVo.java @@ -0,0 +1,31 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 天气预报-水库统计 + * Created by wanyan on 2024/3/13 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Builder +public class ForeRainTimeVo { + + @Schema(description = "时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + + @Schema(description = "雨量") + private BigDecimal drp; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/ForeRainVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/ForeRainVo.java new file mode 100644 index 0000000..97acdd2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/ForeRainVo.java @@ -0,0 +1,42 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + + +@Data +public class ForeRainVo { + private String stcd; + + @Schema(description = "测站名称") + private String stnm; + + private String lgtd; + + private String lttd; + + @Schema(description = "1h(mm)") + private BigDecimal h1; + + @Schema(description = "3h(mm)") + private BigDecimal h3; + + @Schema(description = "6h(mm)") + private BigDecimal h6; + + @Schema(description = "12h(mm)") + private BigDecimal h12; + + @Schema(description = "24h(mm)") + private Double h24; + + @Schema(description = "2h(mm)") + private Double h2; + + @Schema(description = "逐小时雨量") + private List timeRainVos; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/ForecastResultVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/ForecastResultVo.java new file mode 100644 index 0000000..b88894a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/ForecastResultVo.java @@ -0,0 +1,108 @@ +package com.gunshi.project.hsz.entity.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** +*@description 预测结果VO +*@author cxw +*@classname ForecastResultVo.java +*@create 2024-07-31, 周三, 11:05:04 +*/ +@Schema(description="预测结果VO") +@Data +public class ForecastResultVo { + + /** + * 时间 + */ + @Schema(description="时间") + private String tm; + + /** + * 预测入库流量 + */ + @Schema(description="预测入库流量") + private BigDecimal ycRkQValue; + + /** + * 实际入库流量 + */ + @Schema(description="实际入库流量") + private BigDecimal realRkQValue; + + /** + * 预测出库流量 + */ + @Schema(description="预测出库流量") + private BigDecimal ycCkQValue; + + /** + * 实际出库流量 + */ + @Schema(description="实际出库流量") + private BigDecimal realCkQValue; + + /** + * 预测水库水位 + */ + @Schema(description="预测水库水位") + private BigDecimal ycSwHValue; + + /** + * 实际水库水位 + */ + @Schema(description="实际水库水位") + private BigDecimal realSwHValue; + + /** + * 水位:预测-实测 + */ + @Schema(description="水位:预测-实测") + private BigDecimal swHDValue; + + /** + * 降雨 + */ + @Schema(description="降雨") + private BigDecimal drp; + + /** + * 是否是预测雨量(0:真实 1:预测) + */ + @Schema(description="是否是预测雨量(0:真实 1:预测)") + private String ispreDrp; + + /** + * 径流深 + */ + @Schema(description="径流深") + private BigDecimal r; + + /** + * 主汛期防洪限制水位 + */ + @Schema(description="主汛期防洪限制水位") + private BigDecimal flLowLimLev; + + /** + * 当前堰顶高度预警值 + */ + @Schema(description="当前堰顶高度预警值") + private BigDecimal currentYdgdyjz; + + /** + * 土壤含水量 + */ + @Schema(description="土壤含水量") + private BigDecimal pa; + + /** + * 水库当前库容 + */ + @Schema(description = "水库当前库容") + private BigDecimal nowCap; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/GateMonitorDataVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/GateMonitorDataVo.java new file mode 100644 index 0000000..fa9843e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/GateMonitorDataVo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class GateMonitorDataVo { + + @Schema(description = "水闸编号") + private String gateCode; + + @Schema(description = "测站") + private String stcd; + + @Schema(description = "类型(1闸前水位站 2闸后水位站 3流量站)") + private Integer type; + + @Schema(description = "时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + @Schema(description = "值") + private BigDecimal value; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/GateStautsVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/GateStautsVo.java new file mode 100644 index 0000000..f81a5c9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/GateStautsVo.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * Created by wanyan on 2024/7/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class GateStautsVo { + + @Schema(description="闸阀ID") + @ExcelIgnore + private String valveCode; + + /** + * 闸阀名称 + */ + @Schema(description="闸阀名称") + @ExcelProperty({"闸阀名称"}) + @ColumnWidth(20) + private String valveName; + + + @Schema(description="开关状态") + @ExcelProperty({"开关状态"}) + @ColumnWidth(20) + private String status; + + /** + * 操作时间 + */ + @Schema(description="操作时间") + @ExcelProperty({"操作时间"}) + @ColumnWidth(25) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + @Schema(description = "监测时间是否离当前时间超过2小时(0否 1是)") + @ExcelIgnore + private Integer flag = 0; + + @Schema(description="是否可手动控制") + @ExcelIgnore + private Boolean manualOperation; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/GateValveCctvRelVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/GateValveCctvRelVo.java new file mode 100644 index 0000000..26d6798 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/GateValveCctvRelVo.java @@ -0,0 +1,40 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.GateValveCctvRel; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/19. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class GateValveCctvRelVo extends GateValveCctvRel { + /** + * 闸阀名称 + */ + @Schema(description="闸阀名称") + private String valveName; + + /** + * id + */ + @Schema(description="摄像头id") + private Long indexId; + + + /** + * 摄像头名称 + */ + @Schema(description="摄像头名称") + private String name; + + @Schema(description="类型(1球机 2枪机)") + private Integer type; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/GateValveOplogVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/GateValveOplogVo.java new file mode 100644 index 0000000..e93bc01 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/GateValveOplogVo.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * Created by wanyan on 2024/7/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class GateValveOplogVo { + + @Schema(description="闸阀ID") + @ExcelIgnore + private String valveCode; + + /** + * 闸阀名称 + */ + @Schema(description="闸阀名称") + @ExcelProperty({"闸阀名称"}) + @ColumnWidth(20) + private String valveName; + + /** + * 操作人 + */ + @Schema(description="操作人") + @ExcelProperty({"操作人"}) + private String opUserName; + + /** + * 操作时间 + */ + @Schema(description="操作时间") + @ExcelProperty({"操作时间"}) + @ColumnWidth(25) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + @Schema(description="操作内容") + @ExcelProperty({"操作内容"}) + @ColumnWidth(20) + private String opContent; + + @Schema(description="设定开度") + @ExcelProperty({"设定开度"}) + private String status; + + @Schema(description="操作前开度") + @ExcelProperty({"操作前开度"}) + private String beforeStatus; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeIaCBsnssinfoVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeIaCBsnssinfoVo.java new file mode 100644 index 0000000..f7548ba --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeIaCBsnssinfoVo.java @@ -0,0 +1,25 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.IaCBsnssinfo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/10. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class HomeIaCBsnssinfoVo extends IaCBsnssinfo { + + /** + * 行政区划名 + */ + @Schema(description="行政区划名") + private String adnm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeIaCDanadVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeIaCDanadVo.java new file mode 100644 index 0000000..7f5c9ea --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeIaCDanadVo.java @@ -0,0 +1,26 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.IaCDanad; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/10. + * + * @author XuSan + * @version 1.0 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class HomeIaCDanadVo extends IaCDanad { + + /** + * 行政区划名 + */ + @Schema(description="行政区划名") + private String adnm; + + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeIaCFlrvvlgVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeIaCFlrvvlgVo.java new file mode 100644 index 0000000..ac254ce --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeIaCFlrvvlgVo.java @@ -0,0 +1,26 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.IaCFlrvvlg; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/10. + * + * @author XuSan + * @version 1.0 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class HomeIaCFlrvvlgVo extends IaCFlrvvlg { + + /** + * 行政区划名 + */ + @Schema(description="行政区划名") + private String adnm; + + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeOsmoticFlowDeviceVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeOsmoticFlowDeviceVo.java new file mode 100644 index 0000000..8ef5545 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeOsmoticFlowDeviceVo.java @@ -0,0 +1,36 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.model.OsmoticFlowDevice; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * Description: + * Created by XuSan on 2024/7/10. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class HomeOsmoticFlowDeviceVo extends OsmoticFlowDevice { + + + /** + * 管水位 + */ + @Schema(description="流量") + private String q; + + /** + * 监测时间 + */ + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeOsmoticPressDeviceVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeOsmoticPressDeviceVo.java new file mode 100644 index 0000000..db5fcdd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeOsmoticPressDeviceVo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.entity.vo; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.model.OsmoticPressDevice; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** +* 描述: 渗压设备表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +public class HomeOsmoticPressDeviceVo extends OsmoticPressDevice { + + /** + * 管水位 + */ + @Schema(description="管水位") + private String value; + + /** + * 监测时间 + */ + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeOsmoticShiftDeviceVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeOsmoticShiftDeviceVo.java new file mode 100644 index 0000000..9b3cd9a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeOsmoticShiftDeviceVo.java @@ -0,0 +1,49 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.model.OsmoticShiftDevice; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * Description: + * Created by XuSan on 2024/7/10. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class HomeOsmoticShiftDeviceVo extends OsmoticShiftDevice { + + /** + * x方向 + */ + @Schema(description="x方向") + private String x; + + /** + * y方向 + */ + @Schema(description="y方向") + private String y; + + /** + * h方向 + */ + @Schema(description="h方向") + private String h; + + /** + * 监测时间 + */ + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeShpPlacementVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeShpPlacementVo.java new file mode 100644 index 0000000..19126cd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeShpPlacementVo.java @@ -0,0 +1,26 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.ShpPlacement; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * Description: + * Created by XuSan on 2024/7/10. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class HomeShpPlacementVo extends ShpPlacement { + + /** + * 行政区划名 + */ + @Schema(description="行政区划名") + private String adnm; + + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeStStbprpBVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeStStbprpBVo.java new file mode 100644 index 0000000..f509832 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeStStbprpBVo.java @@ -0,0 +1,28 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.StStbprpB; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * Description: + * Created by XuSan on 2024/7/10. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class HomeStStbprpBVo extends StStbprpB { + + + /** + * 数据 + */ + @Schema(description="数据") + private BigDecimal v; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/HomeWarnVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeWarnVo.java new file mode 100644 index 0000000..5d25008 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/HomeWarnVo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/7/17 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class HomeWarnVo { + + @Schema(description = "水位告警") + private String rzWarn; + + @Schema(description="气象告警") + private List qxWarn; + + @Schema(description="位移告警") + private List shiftWarn; + + @Schema(description="渗压告警") + private List pressWarn; + + @Schema(description="渗流告警") + private List flowWarn; + + @Schema(description="AI告警个数") + private Long aiWarnCount; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/InspectProblemVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/InspectProblemVo.java new file mode 100644 index 0000000..d37fe28 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/InspectProblemVo.java @@ -0,0 +1,54 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.model.InspectTaskDetail; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class InspectProblemVo extends InspectTaskDetail { + + @Schema(description="任务标题") + private String taskTitle; + + @Schema(description="巡查点名称") + private String name; + + @Schema(description="巡检项描述") + private String itemDesc; + + @Schema(description="巡查人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long inspectUserId; + + @Schema(description="巡查人") + private String inspectUserName; + + @Schema(description="巡查完成时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date finishTime; + + @Schema(description = "巡查图片") + private List inspectPics; + + @Schema(description = "巡查视频") + private List inspectVideos; + + @Schema(description = "处理图片") + private List handlePics; + + @Schema(description = "处理视频") + private List handleVideos; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/InspectTaskDetailVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/InspectTaskDetailVo.java new file mode 100644 index 0000000..321d02b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/InspectTaskDetailVo.java @@ -0,0 +1,44 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.model.InspectTaskDetail; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class InspectTaskDetailVo extends InspectTaskDetail { + + @Schema(description="巡查点名称") + private String name; + + @Schema(description="巡检项描述") + private String itemDesc; + + @Schema(description="巡检项问题描述") + private String itemProblemDesc; + + @Schema(description="处理建议") + private String handleSuggestion; + + @Schema(description="子集") + private List children; + + @Schema(description = "巡查图片") + private List inspectPics; + + @Schema(description = "巡查视频") + private List inspectVideos; + + @Schema(description = "处理图片") + private List handlePics; + + @Schema(description = "处理视频") + private List handleVideos; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/InspectTaskVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/InspectTaskVo.java new file mode 100644 index 0000000..c324a16 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/InspectTaskVo.java @@ -0,0 +1,25 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import org.hibernate.validator.constraints.Range; + +import java.util.List; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class InspectTaskVo { + + @Schema(description="任务状态") + @Range(min = 1,max = 2) + @NotNull(message = "任务状态不可为空") + private Integer status; + + @Schema(description="巡查信息") + private List list; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/MeshrainVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/MeshrainVo.java new file mode 100644 index 0000000..93d94ee --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/MeshrainVo.java @@ -0,0 +1,25 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/13 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class MeshrainVo { + + @Schema(description = "水库/河流/行政区划编码") + private String code; + + @Schema(description = "行号") + private Integer rownum; + + @Schema(description = "列号") + private Integer colnum; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/NbStatVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/NbStatVo.java new file mode 100644 index 0000000..12ef704 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/NbStatVo.java @@ -0,0 +1,27 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class NbStatVo { + + @Schema(description="月份") + private String month; + + @Schema(description="最高") + private String max; + + @Schema(description="最高日期") + private String maxDate; + + @Schema(description="最低") + private String min; + + @Schema(description="最低日期") + private String minDate; + + @Schema(description="平均") + private String avg; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticChartDetailVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticChartDetailVo.java new file mode 100644 index 0000000..1c58881 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticChartDetailVo.java @@ -0,0 +1,37 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * + * Created by wanyan on 2024/3/13 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticChartDetailVo { + + + /** + * 时间 + */ + @Schema(description="时间") + private String tm; + + /** + * 库水位 + */ + @Schema(description="库水位") + private BigDecimal rz; + + /** + * 管水位 + */ + @Schema(description="管水位") + private BigDecimal value; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticChartVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticChartVo.java new file mode 100644 index 0000000..233cf2c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticChartVo.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticChartVo { + + /** + * 测点编号 + */ + @Schema(description="测点编号") + private String stationCode; + + /** + * 最大值 + */ + @Schema(description="最大值") + private BigDecimal maxValue; + + /** + * 最大值时间 + */ + @Schema(description="最大值时间") + private String maxTm; + + /** + * 最小值 + */ + @Schema(description="最小值") + private BigDecimal minValue; + + /** + * 最小值时间 + */ + @Schema(description="最小值时间") + private String minTm; + + /** + * 变幅 + */ + @Schema(description="变幅") + private BigDecimal diff; + + @Schema(description = "数据") + private List detailVos; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticPressDetailVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticPressDetailVo.java new file mode 100644 index 0000000..89455b5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticPressDetailVo.java @@ -0,0 +1,28 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticPressDetailVo { + + + @Schema(description="监测时间") + private String tm; + + @Schema(description="监测值") + private BigDecimal value; + + @Schema(description="库水位") + private BigDecimal rz; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticPressVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticPressVo.java new file mode 100644 index 0000000..db0d611 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticPressVo.java @@ -0,0 +1,36 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticPressVo { + + @Schema(description="测点编码") + private String stationCode; + + @Schema(description = "断面名称") + private String profileName; + + @Schema(description="监测时间") + private String tm; + + @Schema(description="监测值") + private BigDecimal value; + + @Schema(description = "监测时间是否离当前时间超过2天(0否 1是)") + private Integer flag = 0; + + @Schema(description = "是否超过预警(0否 1是)") + private Integer status = 0; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticShiftListVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticShiftListVo.java new file mode 100644 index 0000000..7794b7e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticShiftListVo.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticShiftListVo { + + /** + * 测点编号 + */ + @Schema(description="测点编号") + private String stationCode; + + /** + * 时间 + */ + @Schema(description="时间") + private String tm; + + @Schema(description = "监测时间是否离当前时间超过2天(0否 1是)") + private Integer flag = 0; + + /** + * x方向 + */ + @Schema(description="x方向") + private BigDecimal x; + + @Schema(description = "x方向是否超过预警(0否 1是)") + private Integer xStatus = 0; + + /** + * y方向 + */ + @Schema(description="y方向") + private BigDecimal y; + + @Schema(description = "y方向是否超过预警(0否 1是)") + private Integer yStatus = 0; + + /** + * h方向 + */ + @Schema(description="h方向") + private BigDecimal h; + + @Schema(description = "h方向是否超过预警(0否 1是)") + private Integer hStatus = 0; + + @JsonIgnore + private String direction; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticShiftValueVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticShiftValueVo.java new file mode 100644 index 0000000..5326767 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticShiftValueVo.java @@ -0,0 +1,54 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticShiftValueVo { + + /** + * 时间 + */ + @Schema(description="时间") + private String tm; + + /** + * 测点编号 + */ + @Schema(description="测点编号") + private String stationCode; + + /** + * x方向 + */ + @Schema(description="x方向") + private BigDecimal x; + + /** + * y方向 + */ + @Schema(description="y方向") + private BigDecimal y; + + /** + * h方向 + */ + @Schema(description="h方向") + private BigDecimal h; + + /** + * 库水位 + */ + @Schema(description="库水位") + private BigDecimal rz; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticShiftVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticShiftVo.java new file mode 100644 index 0000000..584419f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticShiftVo.java @@ -0,0 +1,27 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticShiftVo{ + + /** + * 时间 + */ + @Schema(description="时间") + private String tm; + + @Schema(description="测值") + private List list; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticStationVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticStationVo.java new file mode 100644 index 0000000..1cbebef --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticStationVo.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class OsmoticStationVo extends StRzVo { + + @Schema(description = "结果分析(0异常 1正常)") + private Integer status = 1; + + @Schema(description="测值") + private List list; + + @Schema(description = "降雨量") + private BigDecimal drp; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticValueVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticValueVo.java new file mode 100644 index 0000000..e2b52ca --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticValueVo.java @@ -0,0 +1,44 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * + * Created by wanyan on 2024/3/13 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticValueVo { + + /** + * 时间 + */ + @Schema(description="时间") + private String tm; + + /** + * 测点编号 + */ + @Schema(description="测点编号") + private String stationCode; + + /** + * 管水位 + */ + @Schema(description="管水位") + private BigDecimal value; + + /** + * 库水位 + */ + @Schema(description="库水位") + private BigDecimal rz; + + @Schema(description = "结果分析(0异常 1正常)") + private Integer status = 1; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticWarnVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticWarnVo.java new file mode 100644 index 0000000..4bd1e80 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticWarnVo.java @@ -0,0 +1,62 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.model.OsmoticWarnRule; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class OsmoticWarnVo extends OsmoticWarnRule { + /** + * 主键 + */ + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 测点编号 + */ + @Schema(description="测点编号") + private String stationCode; + + /** + * 预警规则id + */ + @Schema(description="预警规则id") + private Long ruleId; + + /** + * 监测值 + */ + @Schema(description="监测值") + private BigDecimal value; + + /** + * 预警时间 + */ + @Schema(description="预警时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 监测类型(1渗压 2渗流 3位移) + */ + @Schema(description="监测类型(1渗压 2渗流 3位移)") + private Integer type; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticWaterRVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticWaterRVo.java new file mode 100644 index 0000000..37f5716 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/OsmoticWaterRVo.java @@ -0,0 +1,209 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import lombok.Data; + +import java.util.Date; + +/** + * @author cxw + * @description: (描述这个类或者方法的作用) + * @classname OsmoticWaterRVo.java + * @create 2024-07-10, 星期三, 10:46:43 + */ +@Data +@ExcelIgnoreUnannotated +public class OsmoticWaterRVo { + private static final long serialVersionUID = 1L; + /** + * 采集时间 + */ + @ExcelProperty({"${title}", "时间"}) + @ColumnWidth(15) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 水温 + */ + @ExcelProperty({"${title}", "水温(℃)"}) + private String temp; + + /** + * PH + */ + @ExcelProperty({"${title}", "PH(mg/L)"}) + private String ph; + + /** + * 溶解氧 + */ + @ExcelProperty({"${title}", "溶解氧(mg/L)"}) + private String bod; + + /** + * 高锰酸钾指数 + */ + @ExcelProperty({"${title}", "高锰酸钾指数(mg/L)"}) + private String mn; + + /** + * 化学需氧量 + */ + @ExcelProperty({"${title}", "化学需氧量(mg/L)"}) + private String codcr; + + /** + * 五日生化需氧量 + */ + @ExcelProperty({"${title}", "五日生化需氧量(mg/L)"}) + private String bod5; + + /** + * 氨氮 + */ + @ExcelProperty({"${title}", "氨氮(mg/L)"}) + private String nh3n; + + /** + * 总磷 + */ + @ExcelProperty({"${title}", "总磷(mg/L)"}) + private String tp; + + /** + * 总氮 + */ + @ExcelProperty({"${title}", "总氮(mg/L)"}) + private String tn; + + /** + * 铜 + */ + @ExcelProperty({"${title}", "铜(mg/L)"}) + private String cu; + + /** + * 锌 + */ + @ExcelProperty({"${title}", "锌(mg/L)"}) + private String zn; + + /** + * 氟化物 + */ + @ExcelProperty({"${title}", "氟化物(mg/L)"}) + private String f; + + /** + * 硒 + */ + @ExcelProperty({"${title}", "硒(mg/L)"}) + private String se; + + /** + * 砷 + */ + @ExcelProperty({"${title}", "砷(mg/L)"}) + private String arsenic; + + /** + * 汞 + */ + @ExcelProperty({"${title}", "汞(mg/L)"}) + private String hg; + + /** + * 镉 + */ + @ExcelProperty({"${title}", "镉(mg/L)"}) + private String cd; + + /** + * 铬 + */ + @ExcelProperty({"${title}", "铬(mg/L)"}) + private String cr; + + /** + * 铅 + */ + @ExcelProperty({"${title}", "铅(mg/L)"}) + private String pb; + + /** + * 氰化物 + */ + @ExcelProperty({"${title}", "氰化物(mg/L)"}) + private String cn; + + /** + * 挥发酚 + */ + @ExcelProperty({"${title}", "挥发酚(mg/L)"}) + private String vlph; + + /** + * 石油类 + */ + @ExcelProperty({"${title}", "石油类(mg/L)"}) + private String oil; + + /** + * 阴离子表面活性剂 + */ + @ExcelProperty({"${title}", "阴离子表面活性剂(mg/L)"}) + private String las; + + /** + * 硫化物 + */ + @ExcelProperty({"${title}", "硫化物(mg/L)"}) + private String s; + + /** + * 大肠菌群数 + */ + @ExcelProperty({"${title}", "大肠菌群数(mg/L)"}) + private String tcg; + + /** + * 浊度 + */ + @ExcelProperty({"${title}", "浊度(NTU)"}) + private String turb; + + /** + * 电导率 + */ + @ExcelProperty({"${title}", "电导率(μs/cm)"}) + private String cond; + + /** + * 高锰酸盐 + */ + @ExcelProperty({"${title}", "高锰酸盐(mg/L)"}) + private String codmn; + + /** + * 叶绿素 + */ + @ExcelProperty({"${title}", "叶绿素(ug/L)"}) + private String chla; + + /** + * 水质类别 + */ + @ExcelProperty({"${title}", "水质类别"}) + private String level; + + /** + * 污染物及超标倍数 + */ + @ExcelProperty({"${title}", "污染物及超标倍数"}) + private String paem; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/PersonnelPlanLogStatisticsVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/PersonnelPlanLogStatisticsVo.java new file mode 100644 index 0000000..53ff5db --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/PersonnelPlanLogStatisticsVo.java @@ -0,0 +1,61 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.List; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@Tag(name = "人员计划日志统计") +@Data +public class PersonnelPlanLogStatisticsVo { + + @Schema(description="实际期数") + private Integer numberOfPeriods1; + + @Schema(description="计划期数") + private Integer numberOfPeriods2; + + @Schema(description="实际人次") + private Integer personNum1; + + @Schema(description="计划人次") + private Integer personNum2; + + + @Schema(description="期数图表数据") + private List list1; + + + @Schema(description="人次图表数据") + private List list2; + + + @Accessors(chain = true) // chain = true 实现链式调用 + @Data + public static class EchartsData{ + @Schema(description="月份") + private Integer month; + +// @Schema(description="实际数据") + @Schema(description="实际人数") + private Integer num1 = 0; + +// @Schema(description="计划数据") + @Schema(description="实际期数") + private Integer num2 = 0; + + @Deprecated + @Schema(description="完成率") + private BigDecimal rate = BigDecimal.ZERO; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/ProfilePressTreeVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/ProfilePressTreeVo.java new file mode 100644 index 0000000..fad352d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/ProfilePressTreeVo.java @@ -0,0 +1,26 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/7/10 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class ProfilePressTreeVo { + + @Schema(description="断面编号") + private String profileCode; + + @Schema(description="断面名称") + private String profileName; + + @Schema(description = "测点") + private List children; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/ProjectEventsVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/ProjectEventsVo.java new file mode 100644 index 0000000..6f2d174 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/ProjectEventsVo.java @@ -0,0 +1,72 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.model.FileAssociations; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +@ExcelIgnoreUnannotated +public class ProjectEventsVo { + + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + @ExcelIgnore + private Long id; + + @Schema(description="发生日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + @ExcelProperty({"发生日期"}) + @ColumnWidth(20) + @DateTimeFormat(DateFormatString.YYYY_MM_DD) + private Date eventsDate; + + @Schema(description="类型(1大事记 2调度指令 3维修养护 4安全鉴定 5除险加固 6白蚁普查)") + @ExcelIgnore + private Integer type; + + @Schema(description="类型") + @ExcelProperty({"类型"}) + private String typeName; + + @Schema(description="事件内容描述") + @ExcelProperty({"事件内容描述"}) + @ColumnWidth(100) + private String eventsDesc; + + @TableField(exist = false) + @Schema(description = "文件集合") + @ExcelIgnore + private List files; + + + public void setType(Integer type){ + this.type = type; + if (this.type == 1) { + this.typeName = "大事记"; + } else if (this.type == 2) { + this.typeName = "调度记录"; + } else if (this.type == 3) { + this.typeName = "维修养护"; + }else if (this.type == 4) { + this.typeName = "安全鉴定"; + }else if (this.type == 5) { + this.typeName = "除险加固"; + }else if (this.type == 6) { + this.typeName = "白蚁普查"; + } + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/QXWarningVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/QXWarningVo.java new file mode 100644 index 0000000..2771687 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/QXWarningVo.java @@ -0,0 +1,52 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class QXWarningVo { + + @Schema(description = "是否播放报警声音") + private Boolean play; + + @Schema(description = "生成时间") + private String createTime; + + @Schema(description = "发布时间") + private String publishTime; + + @Schema(description = "起始时间") + private String startTime; + + @Schema(description = "终止时间") + private String endTime; + + @Schema(description = "发布单位") + private String publishUnit; + + @Schema(description = "预警类型") + private String warnSignalType; + + @Schema(description = "预警级别") + private String warnSignalLevel; + + @Schema(description = "区县名称") + private String cnnm; + + @Schema(description = "市名称") + private String ctnm; + + @Schema(description = "预警内容") + private String content; + + @Schema(description = "状态") + private String status; + + @Schema(description = "预警信息id") + private Integer warnid; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/RealRainListVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/RealRainListVo.java new file mode 100644 index 0000000..ca912ad --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/RealRainListVo.java @@ -0,0 +1,48 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Data +public class RealRainListVo { + private String stcd; + private String sttp; + private String stnm; + private String stlc; + @Schema(description = "时段雨量(mm)") + private Double drp; + private String adcd; + private String adnm; + private String resCode; + private String resName; + + private String lgtd; + private String lttd; + + @Schema(description="降雨量级 0:无降雨 1:小雨 2:中雨 3:大雨 4:暴雨 5:大暴雨 6:特大暴雨") + private Integer rainTag; + @Schema(description = "站点类型") + private String sType; + + + + public void setDrp(Double drp){ + this.drp = drp; + if (this.drp == 0) { + this.rainTag = 0; + } else if (this.drp > 0 && this.drp < 10) { + this.rainTag = 1; + } else if (this.drp >= 10 && this.drp < 25) { + this.rainTag = 2; + } else if (this.drp >= 25 && this.drp < 50) { + this.rainTag = 3; + } else if (this.drp >= 50 && this.drp < 100) { + this.rainTag = 4; + } else if (this.drp >= 100 && this.drp < 250) { + this.rainTag = 5; + } else if (this.drp >= 250) { + this.rainTag = 6; + } + } +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/ResBriefVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/ResBriefVo.java new file mode 100644 index 0000000..a1ad1a1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/ResBriefVo.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.ResBriefR; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author lyf + * @since 2025-04-25 + */ +@Data +public class ResBriefVo extends ResBriefR { + + + @Data + public static class PptnVo { + private String stcd; + private String stnm; + private BigDecimal drp24Sum; + private BigDecimal drp24Max; + private Date maxTm; + } + + @Data + public static class RsvrVo { + private String stcd; + private String stnm; + private BigDecimal rz8; + private BigDecimal rzYesterday8; + private BigDecimal w; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/RescueTeamVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/RescueTeamVo.java new file mode 100644 index 0000000..3403d94 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/RescueTeamVo.java @@ -0,0 +1,25 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.RescueTeamB; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +@EqualsAndHashCode(callSuper = true) +@Data +public class RescueTeamVo extends RescueTeamB { + + /** + * 人员总数 + */ + @Schema(description="人员总数") + private Integer personCount; + + /** + * 是否有效 + */ + @Schema(description = "是否有效(0 否 1 是)") + private Integer isValid; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/RjswNbStatVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/RjswNbStatVo.java new file mode 100644 index 0000000..828bed6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/RjswNbStatVo.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class RjswNbStatVo { + + @Schema(description="最高水位") + private BigDecimal max; + + @Schema(description="最低水位") + private BigDecimal min; + + @Schema(description="平均水位") + private BigDecimal avg; + + @Schema(description = "统计数据") + private List list; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/RjswNbVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/RjswNbVo.java new file mode 100644 index 0000000..b37babb --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/RjswNbVo.java @@ -0,0 +1,68 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +@Data +@ExcelIgnoreUnannotated +public class RjswNbVo{ + + + @ExcelProperty({"${title}","日期"}) + @ColumnWidth(15) + private String theme; + + @ExcelProperty({"${title}","日期"}) + @ColumnWidth(15) + private String date; + + @ExcelProperty({"${title}","一月"}) + private String drpM1; + + + @ExcelProperty({"${title}","二月"}) + private String drpM2; + + + @ExcelProperty({"${title}","三月"}) + private String drpM3; + + + @ExcelProperty({"${title}","四月"}) + private String drpM4; + + + @ExcelProperty({"${title}","五月"}) + private String drpM5; + + + @ExcelProperty({"${title}","六月"}) + private String drpM6; + + + @ExcelProperty({"${title}","七月"}) + private String drpM7; + + + @ExcelProperty({"${title}","八月"}) + private String drpM8; + + + @ExcelProperty({"${title}","九月"}) + private String drpM9; + + + @ExcelProperty({"${title}","十月"}) + private String drpM10; + + + @ExcelProperty({"${title}","十一月"}) + private String drpM11; + + + @ExcelProperty({"${title}","十二月"}) + private String drpM12; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/RjyNbStatVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/RjyNbStatVo.java new file mode 100644 index 0000000..a94b499 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/RjyNbStatVo.java @@ -0,0 +1,20 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class RjyNbStatVo { + + @Schema(description="降水量") + private BigDecimal drpSum; + + @Schema(description="降雨日数") + private Long dayCount; + + @Schema(description = "统计数据") + private List list; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/RjyNbVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/RjyNbVo.java new file mode 100644 index 0000000..2a134a3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/RjyNbVo.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +@Data +@ExcelIgnoreUnannotated +public class RjyNbVo { + + + @ExcelProperty({"${title}","日期"}) + @ColumnWidth(15) + private String date; + + @ExcelProperty({"${title}","一月"}) + private String drpM1; + + + @ExcelProperty({"${title}","二月"}) + private String drpM2; + + + @ExcelProperty({"${title}","三月"}) + private String drpM3; + + + @ExcelProperty({"${title}","四月"}) + private String drpM4; + + + @ExcelProperty({"${title}","五月"}) + private String drpM5; + + + @ExcelProperty({"${title}","六月"}) + private String drpM6; + + + @ExcelProperty({"${title}","七月"}) + private String drpM7; + + + @ExcelProperty({"${title}","八月"}) + private String drpM8; + + + @ExcelProperty({"${title}","九月"}) + private String drpM9; + + + @ExcelProperty({"${title}","十月"}) + private String drpM10; + + + @ExcelProperty({"${title}","十一月"}) + private String drpM11; + + + @ExcelProperty({"${title}","十二月"}) + private String drpM12; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/RotaVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/RotaVo.java new file mode 100644 index 0000000..7423f19 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/RotaVo.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.util.excel.LengthValid; +import lombok.Data; + +import java.util.Date; + + +@Data +@ExcelIgnoreUnannotated +public class RotaVo { + private static final long serialVersionUID = 1L; + + /** + * 值班开始时间 + */ + @ExcelProperty({"${title}","值班开始时间"}) + @ColumnWidth(25) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date stm; + + /** + * 值班结束时间 + */ + @ExcelProperty({"${title}","值班结束时间"}) + @ColumnWidth(25) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date etm; + + /** + * 值班领导手机号 + */ + @LengthValid(length = 11,msg = "值班领导手机号长度不等于11!") + @ColumnWidth(25) + @ExcelProperty({"${title}","值班领导手机号"}) + private String leaderPhone; + + /** + * 值班人员手机号 + */ + @LengthValid(length = 11,msg = "值班人员手机号长度不等于11!") + @ColumnWidth(25) + @ExcelProperty({"${title}","值班人员手机号"}) + private String dutyPhone; + + private String errorMsg; + + private Long leaderUserId; + + private Long dutyUserId; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/RsvrComplexVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/RsvrComplexVo.java new file mode 100644 index 0000000..209c5b2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/RsvrComplexVo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.entity.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author lyf + * @since 2025-04-08 + */ +@Data +@NoArgsConstructor +@RequiredArgsConstructor(staticName = "of") +public class RsvrComplexVo { + @NonNull + public BigDecimal rz; + @NonNull + public Date tm; + /** + * 水位查表流量 + */ + public BigDecimal q; + /** + * spilled volume 溢洪量,根据流量和时间乘算 + */ + public BigDecimal sv; + /** + * 水位查表库容 + */ + public BigDecimal w; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/SdJyRbVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/SdJyRbVo.java new file mode 100644 index 0000000..60076a0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/SdJyRbVo.java @@ -0,0 +1,176 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ExcelIgnoreUnannotated +public class SdJyRbVo { + + + /** + * 日期 + */ + @ExcelProperty({"${title}","日期"}) + @ColumnWidth(15) + private String date; + + /** + * 第9小时降水量 + */ + @ExcelProperty({"${title}","9时"}) + private BigDecimal drpH9; + + /** + * 第10小时降水量 + */ + @ExcelProperty({"${title}","10时"}) + private BigDecimal drpH10; + + /** + * 第11小时降水量 + */ + @ExcelProperty({"${title}","11时"}) + private BigDecimal drpH11; + + /** + * 第12小时降水量 + */ + @ExcelProperty({"${title}","12时"}) + private BigDecimal drpH12; + + /** + * 第13小时降水量 + */ + @ExcelProperty({"${title}","13时"}) + private BigDecimal drpH13; + + /** + * 第14小时降水量 + */ + @ExcelProperty({"${title}","14时"}) + private BigDecimal drpH14; + + /** + * 第15小时降水量 + */ + @ExcelProperty({"${title}","15时"}) + private BigDecimal drpH15; + + /** + * 第16小时降水量 + */ + @ExcelProperty({"${title}","16时"}) + private BigDecimal drpH16; + + /** + * 第17小时降水量 + */ + @ExcelProperty({"${title}","17时"}) + private BigDecimal drpH17; + + /** + * 第18小时降水量 + */ + @ExcelProperty({"${title}","18时"}) + private BigDecimal drpH18; + + /** + * 第19小时降水量 + */ + @ExcelProperty({"${title}","19时"}) + private BigDecimal drpH19; + + /** + * 第20小时降水量 + */ + @ExcelProperty({"${title}","20时"}) + private BigDecimal drpH20; + + /** + * 第21小时降水量 + */ + @ExcelProperty({"${title}","21时"}) + private BigDecimal drpH21; + + /** + * 第22小时降水量 + */ + @ExcelProperty({"${title}","22时"}) + private BigDecimal drpH22; + + /** + * 第23小时降水量 + */ + @ExcelProperty({"${title}","23时"}) + private BigDecimal drpH23; + + /** + * 第24小时降水量 + */ + @ExcelProperty({"${title}","24时"}) + private BigDecimal drpH24; + + + /** + * 第1小时降水量 + */ + @ExcelProperty({"${title}","1时"}) + private BigDecimal drpH1; + + /** + * 第2小时降水量 + */ + @ExcelProperty({"${title}","2时"}) + private BigDecimal drpH2; + + /** + * 第3小时降水量 + */ + @ExcelProperty({"${title}","3时"}) + private BigDecimal drpH3; + + /** + * 第4小时降水量 + */ + @ExcelProperty({"${title}","4时"}) + private BigDecimal drpH4; + + /** + * 第5小时降水量 + */ + @ExcelProperty({"${title}","5时"}) + private BigDecimal drpH5; + + /** + * 第6小时降水量 + */ + @ExcelProperty({"${title}","6时"}) + private BigDecimal drpH6; + + /** + * 第7小时降水量 + */ + @ExcelProperty({"${title}","7时"}) + private BigDecimal drpH7; + + /** + * 第8小时降水量 + */ + @ExcelProperty({"${title}","8时"}) + private BigDecimal drpH8; + + /** + * 日降水量 + */ + @ExcelProperty({"${title}","日累计"}) + @ColumnWidth(15) + private BigDecimal drpD; + + + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/SdSwRbVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/SdSwRbVo.java new file mode 100644 index 0000000..373d779 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/SdSwRbVo.java @@ -0,0 +1,176 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ExcelIgnoreUnannotated +public class SdSwRbVo { + + + /** + * 日期 + */ + @ExcelProperty({"${title}","日期"}) + @ColumnWidth(15) + private String date; + + /** + * 第0小时水位 + */ + @ExcelProperty({"${title}","0时"}) + private BigDecimal rzH24; + + + /** + * 第1小时水位 + */ + @ExcelProperty({"${title}","1时"}) + private BigDecimal rzH1; + + /** + * 第2小时水位 + */ + @ExcelProperty({"${title}","2时"}) + private BigDecimal rzH2; + + /** + * 第3小时水位 + */ + @ExcelProperty({"${title}","3时"}) + private BigDecimal rzH3; + + /** + * 第4小时水位 + */ + @ExcelProperty({"${title}","4时"}) + private BigDecimal rzH4; + + /** + * 第5小时水位 + */ + @ExcelProperty({"${title}","5时"}) + private BigDecimal rzH5; + + /** + * 第6小时水位 + */ + @ExcelProperty({"${title}","6时"}) + private BigDecimal rzH6; + + /** + * 第7小时水位 + */ + @ExcelProperty({"${title}","7时"}) + private BigDecimal rzH7; + + /** + * 第8小时水位 + */ + @ExcelProperty({"${title}","8时"}) + private BigDecimal rzH8; + + /** + * 第9小时水位 + */ + @ExcelProperty({"${title}","9时"}) + private BigDecimal rzH9; + + /** + * 第10小时水位 + */ + @ExcelProperty({"${title}","10时"}) + private BigDecimal rzH10; + + /** + * 第11小时水位 + */ + @ExcelProperty({"${title}","11时"}) + private BigDecimal rzH11; + + /** + * 第12小时水位 + */ + @ExcelProperty({"${title}","12时"}) + private BigDecimal rzH12; + + /** + * 第13小时水位 + */ + @ExcelProperty({"${title}","13时"}) + private BigDecimal rzH13; + + /** + * 第14小时水位 + */ + @ExcelProperty({"${title}","14时"}) + private BigDecimal rzH14; + + /** + * 第15小时水位 + */ + @ExcelProperty({"${title}","15时"}) + private BigDecimal rzH15; + + /** + * 第16小时水位 + */ + @ExcelProperty({"${title}","16时"}) + private BigDecimal rzH16; + + /** + * 第17小时水位 + */ + @ExcelProperty({"${title}","17时"}) + private BigDecimal rzH17; + + /** + * 第18小时水位 + */ + @ExcelProperty({"${title}","18时"}) + private BigDecimal rzH18; + + /** + * 第19小时水位 + */ + @ExcelProperty({"${title}","19时"}) + private BigDecimal rzH19; + + /** + * 第20小时水位 + */ + @ExcelProperty({"${title}","20时"}) + private BigDecimal rzH20; + + /** + * 第21小时水位 + */ + @ExcelProperty({"${title}","21时"}) + private BigDecimal rzH21; + + /** + * 第22小时水位 + */ + @ExcelProperty({"${title}","22时"}) + private BigDecimal rzH22; + + /** + * 第23小时水位 + */ + @ExcelProperty({"${title}","23时"}) + private BigDecimal rzH23; + + + + /** + * 日平均 + */ + @ExcelProperty({"${title}","平均"}) + @ColumnWidth(15) + private BigDecimal rzAvg; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/SoilMoistureVO.java b/src/main/java/com/gunshi/project/hsz/entity/vo/SoilMoistureVO.java new file mode 100644 index 0000000..7f87cb7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/SoilMoistureVO.java @@ -0,0 +1,48 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class SoilMoistureVO { + + private String stcd; + + private BigDecimal currVal; + + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + private BigDecimal nearWeekValMax; + private BigDecimal nearWeekValMin; + + private BigDecimal nearMonthValMax; + private BigDecimal nearMonthValMin; + + private BigDecimal nearThreeMonthValMax; + private BigDecimal nearThreeMonthValMin; + + private BigDecimal nearSixMonthValMax; + private BigDecimal nearSixMonthValMin; + + private BigDecimal nearYearValMax; + private BigDecimal nearYearValMin; + + private BigDecimal currWeekValMax; + private BigDecimal currWeekValMin; + + private BigDecimal currMonthValMax; + private BigDecimal currMonthValMin; + + private BigDecimal currYearValMax; + private BigDecimal currYearValMin; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StAddvcdTreeVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StAddvcdTreeVo.java new file mode 100644 index 0000000..8d4c9a9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StAddvcdTreeVo.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.StAddvcdD; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/4/7 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class StAddvcdTreeVo extends StAddvcdD { + + @Schema(description = "行政区划数组") + private List children; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StPptnDetailsVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StPptnDetailsVo.java new file mode 100644 index 0000000..e4cb294 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StPptnDetailsVo.java @@ -0,0 +1,46 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.model.StPptnRReal; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * TODO + * + * @ClassName StPptnDetailsVo + * @Author Huang Qianxiang + * @Date 2024/2/23 10:53 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class StPptnDetailsVo extends StPptnRReal { + + @Schema(description="昨日降雨量") + private BigDecimal yesterdayDrp; + + @Schema(description="本月降雨量") + private BigDecimal monthDrp; + + @Schema(description="本年降雨量") + private BigDecimal yearDrp; + + @Schema(description="本年降雨天数") + private Long yearDrpDay; + + @Schema(description="本年天数") + private Long yearDay; + + @Schema(description="本年最大日雨量") + private BigDecimal maxDrp; + + @Schema(description="本年最大日雨量时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date maxDrpTime; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StPptnVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StPptnVo.java new file mode 100644 index 0000000..d339c17 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StPptnVo.java @@ -0,0 +1,39 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * TODO + * + * @ClassName StPptnVo + * @Author Huang Qianxiang + * @Date 2024/2/23 9:51 + */ +@Data +public class StPptnVo { + + /** + * 时段降雨量对应的时间 + */ + @Schema(description = "时段降雨量对应的时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date time; + + /** + * 选择时段降雨量 + */ + @Schema(description = "选择时段降雨量") + private BigDecimal sumDrp; + + @Schema(description = "时间格式化字符串") + private String timeStr; + + @Schema(description = "个数") + private Integer count; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StRsvrVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StRsvrVo.java new file mode 100644 index 0000000..3e03fbf --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StRsvrVo.java @@ -0,0 +1,25 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.StRsvrR; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 水库水情 + * Created by wanyan on 2024/2/20 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class StRsvrVo { + + @Schema(description = "汛限水位") + private BigDecimal flLowLimLev; + + @Schema(description = "库水位") + private List list; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StRzVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StRzVo.java new file mode 100644 index 0000000..e2a3fc5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StRzVo.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 水库水情 + * Created by wanyan on 2024/2/20 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class StRzVo { + + /** + * 时间 + */ + @Schema(description="时间") + private String tm; + + /** + * 库水位 + */ + @Schema(description="库水位") + private BigDecimal rz; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusListVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusListVo.java new file mode 100644 index 0000000..2a81f6e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusListVo.java @@ -0,0 +1,18 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Data +public class StStatusListVo { + + + @Schema(description = "离线") + private List offLine; + + @Schema(description = "在线") + private List online; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusVo.java new file mode 100644 index 0000000..0150dc0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusVo.java @@ -0,0 +1,18 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class StStatusVo { + + @Schema(description = "最后数据时间") + private String tm; + + @Schema(description = "测站编码") + private String stcd; + + @Schema(description = "测站名称") + private String stnm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StStbprpCctvVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StStbprpCctvVo.java new file mode 100644 index 0000000..25f32fc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StStbprpCctvVo.java @@ -0,0 +1,18 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.StStbprpCctv; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StStbprpCctvVo extends StStbprpCctv { + + @Schema(description="站点名称") + private String stnm; + + @Schema(description="视频名称") + private String name; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StWaterRReorganizeVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StWaterRReorganizeVo.java new file mode 100644 index 0000000..8ee9136 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StWaterRReorganizeVo.java @@ -0,0 +1,54 @@ +package com.gunshi.project.hsz.entity.vo; + +import java.math.BigDecimal; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; + +import lombok.Data; + +/** +*@description +*@author cxw +*@classname StWaterRReorganizeVo.java +*@create 2024-07-24, 周三, 11:51:01 +*/ +@Data +@ExcelIgnoreUnannotated +public class StWaterRReorganizeVo { + + @ExcelProperty({"${title}", "时间"}) + @ColumnWidth(15) + private String tm; + + /** + * 流量(生态供水) + */ + @ExcelProperty({"${title}", "生态供水", "流量(m³/s)"}) + private BigDecimal ecologyQ; + + /** + * 水量(生态供水) + */ + @ExcelProperty({"${title}", "生态供水", "水量(万m³)"}) + private BigDecimal ecologyV; + + /** + * 流量(生活供水) + */ + @ExcelProperty({"${title}", "生活供水", "流量(m³/s)"}) + private BigDecimal lifeQ; + + /** + * 水量(生活供水) + */ + @ExcelProperty({"${title}", "生活供水", "水量(万m³)"}) + private BigDecimal lifeV; + + /** + * 水量小计 + */ + @ExcelProperty({"${title}", "小计(万m³)"}) + private BigDecimal sumV; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StWaterRReorganizeYearVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StWaterRReorganizeYearVo.java new file mode 100644 index 0000000..254b4ae --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StWaterRReorganizeYearVo.java @@ -0,0 +1,78 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** +*@description +*@author cxw +*@classname StWaterRReorganizeYearVo.java +*@create 2024-07-24, 周三, 14:28:34 +*/ +@Data +@ExcelIgnoreUnannotated +public class StWaterRReorganizeYearVo { + + @Schema(description="时间") + @ExcelProperty({"${title}", "时间"}) + private String tm; + + /** + * 年度占比(生态供水) + */ + @Schema(description="年度占比(生态供水)") + @ExcelProperty({"${title}", "生态供水", "年度占比"}) + private String ecologyYearRateV; + + /** + * 水量(生态供水) + */ + @Schema(description="水量(生态供水)") + @ExcelProperty({"${title}", "生态供水", "水量"}) + private String ecologyV; + + /** + * 同比(生态供水) + */ + @Schema(description="同比(生态供水)") + @ExcelProperty({"${title}", "生态供水", "同比"}) + private String ecologyYoyV; + + /** + * 环比(生态供水) + */ + @Schema(description="环比(生态供水)") + @ExcelProperty({"${title}", "生态供水", "环比"}) + private String ecologyQoqV; + + /** + * 年度占比(生活供水) + */ + @Schema(description="年度占比(生活供水)") + @ExcelProperty({"${title}", "生活供水", "年度占比"}) + private String lifeYearRateV; + + /** + * 水量(生活供水) + */ + @Schema(description="水量(生活供水)") + @ExcelProperty({"${title}", "生活供水", "水量"}) + private String lifeV; + + /** + * 同比(生活供水) + */ + @Schema(description="同比(生活供水)") + @ExcelProperty({"${title}", "生活供水", "同比"}) + private String lifeYoyV; + + /** + * 环比(生活供水) + */ + @Schema(description="环比(生活供水)") + @ExcelProperty({"${title}", "生活供水", "环比"}) + private String lifeQoqV; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StWaterRVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StWaterRVo.java new file mode 100644 index 0000000..4e7e1c7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StWaterRVo.java @@ -0,0 +1,37 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author cxw + * @description: (描述这个类或者方法的作用) + * @classname StWaterRVo.java + * @create 2024-07-10, 星期三, 10:26:04 + */ +@Data +@ExcelIgnoreUnannotated +public class StWaterRVo { + + @ExcelProperty({"${title}", "站码"}) + @ColumnWidth(15) + private String stcd; + + @ExcelProperty({"${title}", "时间"}) + @ColumnWidth(15) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + @ExcelProperty({"${title}", "流量(m³/s)"}) + private BigDecimal q; + + @ExcelProperty({"${title}", "水量(m³)"}) + private BigDecimal v; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StZqrlBCount24Vo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StZqrlBCount24Vo.java new file mode 100644 index 0000000..7684a17 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StZqrlBCount24Vo.java @@ -0,0 +1,28 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class StZqrlBCount24Vo { + private String stcd; + + private BigDecimal currWaterLevel; + + private BigDecimal flowNum; + + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + private BigDecimal sum24; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StZqrlBCountVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StZqrlBCountVo.java new file mode 100644 index 0000000..638fbdc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StZqrlBCountVo.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class StZqrlBCountVo { + private String stcd; + + private BigDecimal val; + + private BigDecimal currDayValSum; + + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + private BigDecimal currMonthSum; + + private BigDecimal currYearSum; + + private Long currYearCount; + + private BigDecimal currYearMaxVal; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StZqrlBVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StZqrlBVo.java new file mode 100644 index 0000000..5ee6efd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StZqrlBVo.java @@ -0,0 +1,47 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Date; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class StZqrlBVo { + + private String stcd; + + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + private BigDecimal waterLevel; + + private BigDecimal flowNum; + + private BigDecimal boxNum; + + + @Schema(description="流量和") + @TableField(exist = false) + private BigDecimal qtotal; + + public LocalDateTime getModitimeAsLocalDateTime() { + if (tm == null) { + return null; + } + return tm.toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDateTime(); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/SzCaseStatisticsVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/SzCaseStatisticsVo.java new file mode 100644 index 0000000..b65f8b9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/SzCaseStatisticsVo.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SzCaseStatisticsVo { + + @Schema(description="月份") + private Integer month; + + @Schema(description="类型") + private Integer type; + + @Schema(description="数量") + private Integer count; + +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/TyYearRainfallVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/TyYearRainfallVo.java new file mode 100644 index 0000000..4a95238 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/TyYearRainfallVo.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.entity.vo; + +import com.gunshi.project.hsz.model.TyYearRainfall; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/7/15 + * + * @author wanyan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class TyYearRainfallVo extends TyYearRainfall { + + @Schema(description = "月降雨量") + private List list; +} diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/WarningData.java b/src/main/java/com/gunshi/project/hsz/entity/vo/WarningData.java new file mode 100644 index 0000000..75be7e8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/WarningData.java @@ -0,0 +1,68 @@ +package com.gunshi.project.hsz.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class WarningData { + + @Schema(description = "服务名") + private String effectArea; + + @Schema(description = "预警信息列表") + private List typeList; + + + @Data + public static class TypeList { + + @Schema(description = "预警信息详情") + private List warnList; + + @Schema(description = "预警信号") + private String type; + + } + + @Data + public static class Warning { + + @Schema(description = "ID") + private int id; + + @Schema(description = "创建时间") + private String createTime; + + @Schema(description = "发布时间") + private String publishTime; + + @Schema(description = "预警开始时间") + private String startTime; + + @Schema(description = "预警结束时间") + private String endTime; + + @Schema(description = "预警类型") + private String warnSignalType; + + @Schema(description = "预警级别") + private String warnSignalLevel; + + @Schema(description = "预警地区") + private String effectArea; + + @Schema(description = "发布单位") + private String publishUnit; + + @Schema(description = "预警内容") + private String content; + + } +} diff --git a/src/main/java/com/gunshi/project/hsz/grb/RainGrib2Layer.java b/src/main/java/com/gunshi/project/hsz/grb/RainGrib2Layer.java new file mode 100644 index 0000000..c01c1ad --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/grb/RainGrib2Layer.java @@ -0,0 +1,155 @@ +package com.gunshi.project.hsz.grb; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Description: + * Created by wanyan on 2024/2/23 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class RainGrib2Layer { + + @Schema(description = "tmRange") + private TmRange tmRange; + + @Schema(description = "data") + public BigDecimal[][] data; + + @Schema(description = "图片base64数据") + private String base64; + + @Schema(description = "x1") + private BigDecimal x1; + + @Schema(description = "x2") + private BigDecimal x2; + + @Schema(description = "y1") + private BigDecimal y1; + + @Schema(description = "y2") + private BigDecimal y2; + + @Schema(description = "dw") + private BigDecimal dw; + + @Schema(description = "dh") + private BigDecimal dh; + + @Schema(description = "nw") + private int nw; + + @Schema(description = "nh") + private int nh; + +// public RainGrib2Layer createSubset(Double bx1, Double by1, Double bx2, Double by2) { +// int ix1 = 0, ix2 = nw - 1, iy1 = 0, iy2 = nh - 1; +// if (bx1 != null && bx1 > x1) { +// ix1 = (int)((nw - 1) * (bx1 - x1) / (x2 - x1)); +// } +// if (by1 != null && by1 > y1) { +// iy1 = (int)((nh - 1) * (by1 - y1) / (y2 - y1)); +// } +// if (bx2 != null && bx2 < x2) { +// ix2 = (int)Math.ceil((nw - 1) * (bx2 - x1) / (x2 - x1)); +// } +// if (by2 != null && by2 < y2) { +// iy2 = (int)Math.ceil((nh - 1) * (by2 - y1) / (y2 - y1)); +// } +// +// RainGrib2Layer ret = new RainGrib2Layer(); +// +// ret.tmRange = (TmRange) tmRange.clone(); +// ret.x1 = x1 + ix1 * dw; +// ret.y1 = y1 + iy1 * dh; +// ret.x2 = x1 + ix2 * dw; +// ret.y2 = y1 + iy2 * dh; +// ret.nw = ix2 - ix1 + 1; +// ret.nh = iy2 - iy1 + 1; +// ret.dw = dw; +// ret.dh = dh; +// ret.data = new float[ret.nh][ret.nw]; +// for (int iy = iy1; iy <= iy2; iy += 1) { +// for (int ix = ix1; ix <= ix2; ix += 1) { +// ret.data[iy - iy1][ix - ix1] = data[iy][ix]; +// } +// } +// +// return ret; +// } +// +// boolean setContent(Grib2FrameParams frame, Grib2LayerParams layer, byte[] bin) { +// if (layer.calDataLen() != bin.length) { +// return false; +// } +// +// x1 = frame.x1; +// x2 = frame.x2; +// y1 = frame.y1; +// y2 = frame.y2; +// nw = frame.nw; +// nh = frame.nh; +// dw = frame.dw; +// dh = frame.dh; +// tmRange = (TmRange) layer.tmRange.clone(); +// data = new float[nh][nw]; +// +// float decimalScale = layer.getDecimalScale(); +// float binaryScale = layer.getBinaryScale(); +// +// boolean constValue = layer.numBits == 0; +// float RValue = layer.R; +// +// try { +// BitInputStream bis = new BitInputStream(new ByteArrayInputStream(bin),null); +// for (int iy = 0; iy < nh; iy++) { +// for (int ix = 0; ix < nw; ix++) { +// if (constValue) { +// data[iy][ix] = RValue; +// } else { +// long v = bis.readBits(layer.numBits); +// double value = decimalScale * (layer.R + v * binaryScale); +// +// data[iy][ix] = (float)value; +// } +// } +// } +// bis.close(); +// return true; +// } catch (Exception e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// @Override +// public Object clone() { +// RainGrib2Layer ret = new RainGrib2Layer(); +// +// ret.tmRange = (TmRange) tmRange.clone(); +// ret.x1 = x1; +// ret.y1 = y1; +// ret.x2 = x2; +// ret.y2 = y2; +// ret.nw = nw; +// ret.nh = nh; +// ret.dw = dw; +// ret.dh = dh; +// ret.data = new float[nh][nw]; +// for (int iy = 0; iy < nh; iy += 1) { +// for (int ix = 0; ix < nw; ix += 1) { +// ret.data[iy][ix] = data[iy][ix]; +// } +// } +// +// return ret; +// } + + +} diff --git a/src/main/java/com/gunshi/project/hsz/grb/TmRange.java b/src/main/java/com/gunshi/project/hsz/grb/TmRange.java new file mode 100644 index 0000000..2331ddd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/grb/TmRange.java @@ -0,0 +1,53 @@ +package com.gunshi.project.hsz.grb; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * Created by wanyan on 2024/2/23 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class TmRange { + + public static final String TM_FORMAT = "yyyyMMddHH"; + + public static final String TM_FORMAT_RADAR = "yyyyMMddHHmm"; + + @Schema(description = "startTm") + private Date startTm; + + @Schema(description = "offset") + private int offset; + + @Schema(description = "interval") + private int interval; + + @Schema(description = "tm1") + private Date tm1; + + @Schema(description = "tm2") + private Date tm2; + + @Schema(description = "key") + private String key; + + + @Override + public Object clone() { + TmRange ret = new TmRange(); + ret.startTm = (Date)startTm.clone(); + ret.offset = offset; + ret.tm1 = (Date)tm1.clone(); + ret.tm2 = (Date)tm2.clone(); + ret.interval = interval; + ret.key = key; + return ret; + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/listener/OsmoticWaterRImportListener.java b/src/main/java/com/gunshi/project/hsz/listener/OsmoticWaterRImportListener.java new file mode 100644 index 0000000..45a560b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/listener/OsmoticWaterRImportListener.java @@ -0,0 +1,85 @@ +package com.gunshi.project.hsz.listener; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.gunshi.project.hsz.entity.vo.OsmoticWaterRVo; +import com.gunshi.project.hsz.model.OsmoticWaterR; +import com.gunshi.project.hsz.service.OsmoticWaterRService; +import com.gunshi.project.hsz.util.ConvertUtil; +import com.gunshi.project.hsz.util.ServiceException; +import com.gunshi.project.hsz.util.excel.ExcelListener; +import com.gunshi.project.hsz.util.excel.ExcelResult; +import com.gunshi.project.hsz.util.spring.SpringUtils; +import lombok.extern.slf4j.Slf4j; + +import java.util.List; + +/** + * @Author Hiram + * @Date 2023/03/14 10:23 + */ +@Slf4j +public class OsmoticWaterRImportListener extends AnalysisEventListener implements ExcelListener { + + private final OsmoticWaterRService osmoticWaterRService; + private int successNum = 0; + private int failureNum = 0; + private final StringBuilder successMsg = new StringBuilder(); + private final StringBuilder failureMsg = new StringBuilder(); + + public OsmoticWaterRImportListener() { + this.osmoticWaterRService = SpringUtils.getBean(OsmoticWaterRService.class); + } + + + /** + * 使用表格导入数据 + * @param osmoticWaterRVo + * @param analysisContext + */ + @Override + public void invoke(OsmoticWaterRVo osmoticWaterRVo, AnalysisContext analysisContext) { + OsmoticWaterR osmoticWaterR = ConvertUtil.entityToVo(osmoticWaterRVo, OsmoticWaterR.class); + osmoticWaterR.setId(IdWorker.getId()); + this.osmoticWaterRService.save(osmoticWaterR); + successNum++; +// successMsg.append("
").append(successNum).append("监测仪数据导入成功"); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + + /** + * 导入结果 + * @return + */ + @Override + public ExcelResult getExcelResult() { + return new ExcelResult() { + + @Override + public String getAnalysis() { + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确"); + throw new ServiceException(failureMsg.toString()); + } else { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条"); + } + return successMsg.toString(); + } + + @Override + public List getList() { + return null; + } + + @Override + public List getErrorList() { + return null; + } + }; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/listener/RotaImportListener.java b/src/main/java/com/gunshi/project/hsz/listener/RotaImportListener.java new file mode 100644 index 0000000..7cf6f1f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/listener/RotaImportListener.java @@ -0,0 +1,173 @@ +package com.gunshi.project.hsz.listener; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.excel.exception.ExcelDataConvertException; +import com.google.common.collect.Lists; +import com.gunshi.project.hsz.entity.vo.RotaVo; +import com.gunshi.project.hsz.service.RotaService; +import com.gunshi.project.hsz.util.excel.LengthValid; +import com.gunshi.project.hsz.util.spring.SpringUtils; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; + +import java.lang.reflect.Field; +import java.util.List; +import java.util.Map; +import java.util.function.Consumer; + +/** + * 读取excel数据 + */ +@Slf4j +public class RotaImportListener extends AnalysisEventListener { + + private final RotaService rotaService; + + + /**临时存储正常数据集合*/ + private List successDataList = Lists.newArrayList(); + + /**临时存错误储数据集合*/ + private List errorDataList = Lists.newArrayList(); + + /**自定义消费者函数接口用于自定义监听器中数据组装*/ + private final Consumer> successConsumer; + + private final Consumer> errorConsumer; + + public RotaImportListener(Consumer> successConsumer, Consumer> errorConsumer) { + this.successConsumer = successConsumer; + this.errorConsumer = errorConsumer; + this.rotaService = SpringUtils.getBean(RotaService.class); + } + + /**手机号格式异常日志处理*/ + @Override + public void onException(Exception exception, AnalysisContext context) { + log.error("异常信息:{}", exception.getMessage()); + // 如果是某一个单元格的转换异常 能获取到具体行号,如果要获取头的信息 配合invokeHeadMap使用 + if (exception instanceof ExcelDataConvertException) { + ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException) exception; + log.error("第{}行,第{}列解析异常,数据为:{}", excelDataConvertException.getRowIndex(), excelDataConvertException.getColumnIndex(), excelDataConvertException.getCellData()); + }else if (exception instanceof IllegalArgumentException){ + throw new IllegalArgumentException(exception.getMessage()); + } + } + + /** + * 在这里进行模板的判断 + * @param headMap 存放着导入表格的表头,键是索引,值是名称 + * @param context + */ + @Override + public void invokeHeadMap(Map headMap, AnalysisContext context) { + //只校验第三行表头是否正确 + Integer rowNum = context.getCurrentRowNum(); + if (rowNum == 2) { + // 获取数据实体的字段列表 + Field[] fields = RotaVo.class.getDeclaredFields(); + // 遍历字段进行判断 + for (Field field : fields) { + // 获取当前字段上的ExcelProperty注解信息 + ExcelProperty fieldAnnotation = field.getAnnotation(ExcelProperty.class); + // 判断当前字段上是否存在ExcelProperty注解 + if (fieldAnnotation != null) { + String value = fieldAnnotation.value()[1]; + // 存在ExcelProperty注解则根据注解的value值到表格中对比是否存在对应的表头 + if(!headMap.containsValue(value)){ + // 如果表格不包含模版类字段中的表头,则抛出异常不再往下执行 + throw new RuntimeException("模板错误,请检查导入模板"); + } + } + } + } + } + + + /**每行读取监听触发逻辑*/ + @SneakyThrows + @Override + public void invoke(RotaVo rotaVo, AnalysisContext analysisContext) { + //获取总行数 + Integer rowNumber = analysisContext.readSheetHolder().getApproximateTotalRowNumber(); + //行数 + int row = analysisContext.readRowHolder().getRowIndex() + 1; + log.info("第" + row + "行数据进行处理"); + // 手机号格式校验 + if(validParam(rotaVo,row)){ + successDataList.add(rotaVo); + }else{ + errorDataList.add(rotaVo); + } + } + + private Boolean validParam(RotaVo rotaVo, int row) throws IllegalAccessException { + // 参数校验 + Field[] fields = rotaVo.getClass().getDeclaredFields(); + Boolean flag = true; + String msg = ""; + for (Field field : fields) { + //设置可访问 + field.setAccessible(true); + //判断字段是否添加校验 + boolean valid = field.isAnnotationPresent(LengthValid.class); + if (valid) { + String name = field.getName(); + + //获取注解信息 + LengthValid annotation = field.getAnnotation(LengthValid.class); + int cell = 4; + if("leaderPhone".equals(name)){ + cell = 3; + } + //行数列数 + msg += "第" + row + "行的第" + cell + "列:"; + //值 + String value = (String) field.get(rotaVo); + System.out.println("value = "+value); + if(value.length() != annotation.length()){ + //错误信息 + msg += annotation.msg(); + flag = false; + } + Long userId = rotaService.checkPhone(value); + if(userId == null){ + //错误信息 + String err = "手机号"+value+"未找到对应的系统用户,请先核实用户手机号再进行模板导入!"; + msg += err; + flag = false; + }else{ + if(cell == 3){ + rotaVo.setLeaderUserId(userId); + }else { + rotaVo.setDutyUserId(userId); + } + } + } + rotaVo.setErrorMsg(msg); + } + return flag; + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + if (CollectionUtils.isNotEmpty(successDataList)) { + successConsumer.accept(successDataList); + } + if (CollectionUtils.isNotEmpty(errorDataList)) { + errorConsumer.accept(errorDataList); + } + } + + /** + *监听器的hasNext()方法时没有注意到默认返回的是false,导致一进监听器就判断已经没有下一条记录,直接跳出监听器,然后导入就完成,也不会报错,改成返回true即可解决 + */ + @Override + public boolean hasNext(AnalysisContext analysisContext) { + return true; + } +} + diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AppVersionRecordMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AppVersionRecordMapper.java new file mode 100644 index 0000000..b1fabb2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AppVersionRecordMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AppVersionRecord; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: APP版本记录 + * author: xusan + * date: 2024-11-12 10:14:50 + */ +@Mapper +public interface AppVersionRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessCategoryMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessCategoryMapper.java new file mode 100644 index 0000000..c388518 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessCategoryMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AssessCategory; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 考核类目 + * author: xusan + * date: 2024-09-03 17:46:30 + */ +@Mapper +public interface AssessCategoryMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessIndicatorMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessIndicatorMapper.java new file mode 100644 index 0000000..1f31276 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessIndicatorMapper.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.model.AssessIndicator; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 描述: 考核指标 + * author: xusan + * date: 2024-09-03 17:46:56 + */ +@Mapper +public interface AssessIndicatorMapper extends BaseMapper { + + @Select(""" + + """) + Page choosePage(Page page,@Param("obj") AttCctvBasePage page1); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessIndicatorRatingMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessIndicatorRatingMapper.java new file mode 100644 index 0000000..6a750dd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessIndicatorRatingMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AssessIndicatorRating; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 考核指标评分细则 + * author: xusan + * date: 2024-09-03 17:47:17 + */ +@Mapper +public interface AssessIndicatorRatingMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessObjectMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessObjectMapper.java new file mode 100644 index 0000000..5daecfb --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessObjectMapper.java @@ -0,0 +1,26 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AssessObject; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 考核对象 + * author: xusan + * date: 2024-09-05 14:19:30 + */ +@Mapper +public interface AssessObjectMapper extends BaseMapper { + + @Select(""" + + """) + List queryObjectByTaskId(@Param("taskId") Long taskId); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessObjectRatingMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessObjectRatingMapper.java new file mode 100644 index 0000000..3cda172 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessObjectRatingMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AssessObjectRating; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 考核对象指标得分详情 + * author: xusan + * date: 2024-09-10 10:44:14 + */ +@Mapper +public interface AssessObjectRatingMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessTaskMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessTaskMapper.java new file mode 100644 index 0000000..273c318 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessTaskMapper.java @@ -0,0 +1,145 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.db.dto.MonthRangeSo; +import com.gunshi.project.hsz.entity.so.AssessTaskPageSo; +import com.gunshi.project.hsz.entity.vo.AssessResultVo; +import com.gunshi.project.hsz.model.AssessIndicator; +import com.gunshi.project.hsz.model.AssessObject; +import com.gunshi.project.hsz.model.AssessTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 考核任务 + * author: xusan + * date: 2024-09-05 14:19:04 + */ +@Mapper +public interface AssessTaskMapper extends BaseMapper { + + @Select(""" + + """) + List queryIndicators(@Param("templateId") Long templateId); + + @Select(""" + + """) + Page myTodo(Page page,@Param("obj") AssessTaskPageSo page1); + + @Select(""" + + """) + Page myDone(Page page,@Param("obj") AssessTaskPageSo page1,@Param("taskIds") List taskIds); + + @Select(""" + + """) + List selectObject(@Param("taskId") Long id,@Param("userId") Long userId); + + @Select(""" + + """) + List result(@Param("taskId") Long id); + + @Select(""" + + """) + List myDoneTask(@Param("userId") Long userId); + + @Select(""" + + """) + List resultStat(@Param("obj") MonthRangeSo monthRangeSo); + + @Select(""" + + """) + Page listPage(Page page,@Param("obj") AssessTaskPageSo page1); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessTeamMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessTeamMapper.java new file mode 100644 index 0000000..b030f11 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessTeamMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AssessTeam; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 考核组成员 + * author: xusan + * date: 2024-09-05 14:19:47 + */ +@Mapper +public interface AssessTeamMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessTeamRatingMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessTeamRatingMapper.java new file mode 100644 index 0000000..0ac9e61 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessTeamRatingMapper.java @@ -0,0 +1,92 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.db.dto.MonthRangeSo; +import com.gunshi.project.hsz.entity.so.AssessTaskPageSo; +import com.gunshi.project.hsz.entity.vo.AssessRatingVo; +import com.gunshi.project.hsz.entity.vo.AssessRectifyVo; +import com.gunshi.project.hsz.model.AssessTeamRating; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 考核评分详情 + * author: xusan + * date: 2024-09-05 14:20:04 + */ +@Mapper +public interface AssessTeamRatingMapper extends BaseMapper { + + @Select(""" + + """) + List scoreDetail(@Param("teamId") Long teamId); + + @Select(""" + + """) + List scoreByObjectId(@Param("objectId") Long objectId); + + @Select(""" + + """) + Page listPage(Page page,@Param("obj") AssessTaskPageSo page1); + + @Select(""" + + """) + List rectifyStat(@Param("obj") MonthRangeSo monthRangeSo); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessTemplateIndicatorRelMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessTemplateIndicatorRelMapper.java new file mode 100644 index 0000000..e53c8ad --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessTemplateIndicatorRelMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AssessTemplateIndicatorRel; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 模板关联指标 + * author: xusan + * date: 2024-09-04 13:43:05 + */ +@Mapper +public interface AssessTemplateIndicatorRelMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AssessTemplateMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AssessTemplateMapper.java new file mode 100644 index 0000000..35365ff --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AssessTemplateMapper.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AssessIndicator; +import com.gunshi.project.hsz.model.AssessTemplate; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 考核模板 + * author: xusan + * date: 2024-09-04 13:42:40 + */ +@Mapper +public interface AssessTemplateMapper extends BaseMapper { + + @Select(""" + + """) + List queryIndicators(@Param("id") Long id); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttCctvBaseMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttCctvBaseMapper.java new file mode 100644 index 0000000..6bac99c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttCctvBaseMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AttCctvBase; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 视频基本信息表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface AttCctvBaseMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttDamBaseMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttDamBaseMapper.java new file mode 100644 index 0000000..459ed38 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttDamBaseMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AttDamBase; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 大坝表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface AttDamBaseMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttDamProfileMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttDamProfileMapper.java new file mode 100644 index 0000000..d083cc5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttDamProfileMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AttDamProfile; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 监测断面信息表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface AttDamProfileMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttGateBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttGateBMapper.java new file mode 100644 index 0000000..19ee523 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttGateBMapper.java @@ -0,0 +1,32 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.GateMonitorDataVo; +import com.gunshi.project.hsz.model.AttGateB; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 水闸基本情况调查表 + * author: xusan + * date: 2024-09-26 10:44:06 + */ +@Mapper +public interface AttGateBMapper extends BaseMapper { + + @Select(""" + + """) + List dataList(@Param("gateCode") String gateCode); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttGateValveMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttGateValveMapper.java new file mode 100644 index 0000000..1db5883 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttGateValveMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AttGateValve; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 闸阀信息表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface AttGateValveMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttMeaWeirMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttMeaWeirMapper.java new file mode 100644 index 0000000..15bc148 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttMeaWeirMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AttMeaWeir; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 量水堰表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface AttMeaWeirMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java new file mode 100644 index 0000000..35ee258 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java @@ -0,0 +1,249 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.DataQueryCommonSo; +import com.gunshi.project.hsz.entity.so.PicQuerySo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.model.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 描述: 水库基本信息表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface AttResBaseMapper extends BaseMapper { + @Select(""" + + """) + List queryList(); + + @Select(""" + + """) + List queryListV2(); + + @Select(""" + + """) + List drpData(@Param("obj") DataQueryCommonSo dataQueryCommonSo); + + @Select(""" + + """) + List rzData(@Param("obj") DataQueryCommonSo dataQueryCommonSo); + + @Select(""" + + """) + List realImg(@Param("resCode") String resCode); + + @Select(""" + + """) + List queryRzList(@Param("stcd") String stcd, @Param("stm") String startTime, @Param("etm") String endTime); + + @Select(""" + + """) + AttResMonitorVo latestRz(@Param("stcd") String stcd); + + + @Select(""" + + """) + BigDecimal oldRz(@Param("stcd") String stcd,@Param("type") Integer type, @Param("dateTime") Date dateTime); + + @Select(""" + + """) + BigDecimal queryMaxRzByStcdAndTime(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime); + + @Select(""" + + """) + BigDecimal queryRiverMaxRz(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime); + + @Select(""" + + """) + List channel(@Param("resCode") String resCode); + + @Select(""" + + """) + Page imageInfo(@Param("page") Page page ,@Param("obj") PicQuerySo picQuerySo); + + @Select(""" + + """) + List queryWaterList(); + + @Select(""" + + """) + List drp(@Param("obj") DataQueryCommonSo dataQueryCommonSo); + + @Select(""" + + """) + List rz(@Param("obj") DataQueryCommonSo dataQueryCommonSo); + + @Select(""" + + """) + AttRvMonitorVo newRz(@Param("stcd") String stcd); + + @Select(""" + + """) + Page rzDataPage(Page page,@Param("obj") PicQuerySo picQuerySo); + + @Select(""" + select * from public.dam_brief_r dbr + where 1=1 + and date=#{todayStr} + order by date desc + limit 1; + """) + ResBriefVo getBrief(String todayStr); + + @Select(""" + select * from public.dam_brief_r dbr + where 1=1 + and date between #{startDate} and #{endDate} + order by date desc + """) + List getBriefList(String startDate, String endDate); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttResBuildingMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttResBuildingMapper.java new file mode 100644 index 0000000..67dccf8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttResBuildingMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.*; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水库基本信息表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface AttResBuildingMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttSpillwayBaseMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttSpillwayBaseMapper.java new file mode 100644 index 0000000..434dced --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttSpillwayBaseMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AttSpillwayBase; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 溢洪道 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface AttSpillwayBaseMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttWaterItemMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttWaterItemMapper.java new file mode 100644 index 0000000..059135c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttWaterItemMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.AttWaterItem; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水质整编展示项目表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface AttWaterItemMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/BroadcastStationMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/BroadcastStationMapper.java new file mode 100644 index 0000000..51f575c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/BroadcastStationMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.BroadcastStation; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: + * author: xusan + * date: 2024-09-25 10:12:34 + */ +@Mapper +public interface BroadcastStationMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/BroadcastTemplateMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/BroadcastTemplateMapper.java new file mode 100644 index 0000000..9dcd513 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/BroadcastTemplateMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.BroadcastTemplate; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: + * author: xusan + * date: 2024-09-25 10:12:13 + */ +@Mapper +public interface BroadcastTemplateMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/BroadcastWarnMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/BroadcastWarnMapper.java new file mode 100644 index 0000000..05429a3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/BroadcastWarnMapper.java @@ -0,0 +1,41 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.BroadcastWarnPageSo; +import com.gunshi.project.hsz.model.BroadcastWarn; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 描述: + * author: xusan + * date: 2024-09-25 10:12:51 + */ +@Mapper +public interface BroadcastWarnMapper extends BaseMapper { + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") BroadcastWarnPageSo page1); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/BzDictRelMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/BzDictRelMapper.java new file mode 100644 index 0000000..2fb966e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/BzDictRelMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.BzDictRel; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 业务关联字典 + * author: xusan + * date: 2024-08-28 10:05:21 + */ +@Mapper +public interface BzDictRelMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/CctvBMenuMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/CctvBMenuMapper.java new file mode 100644 index 0000000..1c02c71 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/CctvBMenuMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.CctvBMenu; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 视频点目录 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface CctvBMenuMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/DispatchRecordMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/DispatchRecordMapper.java new file mode 100644 index 0000000..3dfb8f2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/DispatchRecordMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.DispatchRecord; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 调度记录 + * author: xusan + * date: 2024-10-09 09:56:28 + */ +@Mapper +public interface DispatchRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/FileAssociationsMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/FileAssociationsMapper.java new file mode 100644 index 0000000..0e8851e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/FileAssociationsMapper.java @@ -0,0 +1,100 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.FileAssociations; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 文件关联业务表 + * author: xusan + * date: 2024-07-17 10:09:40 + */ +@Mapper +public interface FileAssociationsMapper extends BaseMapper { + + @Select(""" + + """) + List getFiles(@Param("tableName") String tableName,@Param("businessId") String businessId); + @Select(""" + + """) + List getFiles1(@Param("tableName") String tableName,@Param("businessId") String businessId,@Param("type") String type); + + @Select(""" + + """) + List queryFileList(@Param("businessId") String businessId,@Param("tableName") String tableName,@Param("type") String type); + + @Select(""" + + """) + List getFilesByIds(@Param("ids") List ids); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ForecastKMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ForecastKMapper.java new file mode 100644 index 0000000..be3e94b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ForecastKMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ForecastK; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 预报_前期影响雨量折减系数表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Mapper +public interface ForecastKMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ForecastPPaRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ForecastPPaRMapper.java new file mode 100644 index 0000000..24a6a9a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ForecastPPaRMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ForecastPPaR; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 预报_降雨径流关系表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Mapper +public interface ForecastPPaRMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ForecastPaMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ForecastPaMapper.java new file mode 100644 index 0000000..b296ea6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ForecastPaMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ForecastPa; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 预报_土壤含水量表 + * author: cxw + * date: 2024-08-02 12:23:07 + */ +@Mapper +public interface ForecastPaMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ForecastProjectMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ForecastProjectMapper.java new file mode 100644 index 0000000..3b86ec6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ForecastProjectMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ForecastProject; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 预报_预测方案管理表 + * author: cxw + * date: 2024-08-05 11:41:45 + */ +@Mapper +public interface ForecastProjectMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ForecastResultsMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ForecastResultsMapper.java new file mode 100644 index 0000000..bc22288 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ForecastResultsMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ForecastResults; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 预报_预测结果表 + * author: cxw + * date: 2024-08-05 11:41:45 + */ +@Mapper +public interface ForecastResultsMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ForecastTaskMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ForecastTaskMapper.java new file mode 100644 index 0000000..e359d53 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ForecastTaskMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ForecastTask; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 预报_预测自动任务管理表 + * author: cxw + * date: 2024-08-05 11:41:45 + */ +@Mapper +public interface ForecastTaskMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ForecastUMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ForecastUMapper.java new file mode 100644 index 0000000..c27386a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ForecastUMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ForecastU; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 预报_时段单位线表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Mapper +public interface ForecastUMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ForecastUseparamMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ForecastUseparamMapper.java new file mode 100644 index 0000000..3f05c2b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ForecastUseparamMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ForecastUseparam; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 预报_通用参数管理 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Mapper +public interface ForecastUseparamMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/GatePoreMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/GatePoreMapper.java new file mode 100644 index 0000000..9a96610 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/GatePoreMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.GatePore; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 闸孔信息表 + * author: xusan + * date: 2024-09-26 10:44:57 + */ +@Mapper +public interface GatePoreMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/GateValveCctvRelMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/GateValveCctvRelMapper.java new file mode 100644 index 0000000..35897f3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/GateValveCctvRelMapper.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.GateValveCctvRelPage; +import com.gunshi.project.hsz.entity.vo.GateValveCctvRelVo; +import com.gunshi.project.hsz.model.GateValveCctvRel; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 闸阀关联视频点 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface GateValveCctvRelMapper extends BaseMapper { + + @Select(""" + + """) + Page pages(@Param("page") Page page,@Param("obj") GateValveCctvRelPage obj); + + @Select(""" + + """) + List queryList(@Param("valveCode") String valveCode); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/GateValveRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/GateValveRMapper.java new file mode 100644 index 0000000..5015b59 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/GateValveRMapper.java @@ -0,0 +1,55 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.GateHisPageSo; +import com.gunshi.project.hsz.entity.vo.GateStautsVo; +import com.gunshi.project.hsz.model.GateValveR; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 闸阀开关历史表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface GateValveRMapper extends BaseMapper { + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") GateHisPageSo so); + + @Select(""" + + """) + List hisList(@Param("obj") GateHisPageSo so); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/GateValveRealMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/GateValveRealMapper.java new file mode 100644 index 0000000..8abdac4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/GateValveRealMapper.java @@ -0,0 +1,83 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.GateHisPageSo; +import com.gunshi.project.hsz.entity.vo.GateStautsVo; +import com.gunshi.project.hsz.entity.vo.GateValveOplogVo; +import com.gunshi.project.hsz.model.GateValveReal; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 描述: 闸阀开关表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface GateValveRealMapper extends BaseMapper { + + @Select(""" + + """) + List gateStatusList(); + + @Select(""" + + """) + BigDecimal realQ(@Param("valveCode") String valveCode); + + @Select(""" + + """) + Page logPage(Page page,@Param("obj") GateHisPageSo so); + + @Select(""" + + """) + List logList(@Param("obj") GateHisPageSo so); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/IaCBsnssinfoMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/IaCBsnssinfoMapper.java new file mode 100644 index 0000000..778770d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/IaCBsnssinfoMapper.java @@ -0,0 +1,32 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.HomeIaCBsnssinfoVo; +import com.gunshi.project.hsz.model.IaCBsnssinfo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 防治区企事业单位汇总表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface IaCBsnssinfoMapper extends BaseMapper { + + @Select(""" + + """) + List getDetailsAndMonitoringDataLis(); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/IaCDanadMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/IaCDanadMapper.java new file mode 100644 index 0000000..a2bc75f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/IaCDanadMapper.java @@ -0,0 +1,39 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.HomeIaCDanadVo; +import com.gunshi.project.hsz.model.IaCDanad; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 危险区基本情况调查成果汇总表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface IaCDanadMapper extends BaseMapper { + + + @Select(""" + + """) + List getDetailsAndMonitoringDataLis(); + + @Select(""" + + """) + HomeIaCDanadVo detail(@Param("id") String id); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/IaCFlrvvlgMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/IaCFlrvvlgMapper.java new file mode 100644 index 0000000..0446cb0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/IaCFlrvvlgMapper.java @@ -0,0 +1,31 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.HomeIaCFlrvvlgVo; +import com.gunshi.project.hsz.model.IaCFlrvvlg; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 重要沿河村落居民户调查成果表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface IaCFlrvvlgMapper extends BaseMapper { + + + @Select(""" + + """) + List getDetailsAndMonitoringDataLis(); + + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/InspectItemMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/InspectItemMapper.java new file mode 100644 index 0000000..d259a94 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/InspectItemMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.InspectItem; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 巡检项 + * author: xusan + * date: 2024-08-29 09:58:10 + */ +@Mapper +public interface InspectItemMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/InspectPointMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/InspectPointMapper.java new file mode 100644 index 0000000..241da2b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/InspectPointMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.InspectPoint; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 巡检点 + * author: xusan + * date: 2024-08-29 09:57:48 + */ +@Mapper +public interface InspectPointMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/InspectTaskDetailMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/InspectTaskDetailMapper.java new file mode 100644 index 0000000..14d2aa4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/InspectTaskDetailMapper.java @@ -0,0 +1,68 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.InspectProblemPageSo; +import com.gunshi.project.hsz.entity.vo.InspectProblemVo; +import com.gunshi.project.hsz.entity.vo.InspectTaskDetailVo; +import com.gunshi.project.hsz.model.InspectTaskDetail; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 巡查信息 + * author: xusan + * date: 2024-08-29 14:21:45 + */ +@Mapper +public interface InspectTaskDetailMapper extends BaseMapper { + + @Select(""" + + """) + List inspectInfo(@Param("id") Long id); + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") InspectProblemPageSo page1); + + @Select(""" + + """) + List handleList(); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/InspectTaskMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/InspectTaskMapper.java new file mode 100644 index 0000000..e8f9ca3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/InspectTaskMapper.java @@ -0,0 +1,78 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.InspectTaskPageSo; +import com.gunshi.project.hsz.model.InspectTask; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 巡检任务 + * author: xusan + * date: 2024-08-29 14:21:15 + */ +@Mapper +public interface InspectTaskMapper extends BaseMapper { + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") InspectTaskPageSo pageSo); + + @Select(""" + + """) + List month(@Param("month") String monthValue); + + @Select(""" + + """) + Integer year(@Param("year") String year); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/InspectTaskTrackMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/InspectTaskTrackMapper.java new file mode 100644 index 0000000..5caea41 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/InspectTaskTrackMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.InspectTaskTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 巡查轨迹 + * author: xusan + * date: 2024-09-18 13:59:21 + */ +@Mapper +public interface InspectTaskTrackMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/MaintainServiceMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/MaintainServiceMapper.java new file mode 100644 index 0000000..580c669 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/MaintainServiceMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.MaintainService; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 维修养护 + * author: xusan + * date: 2024-08-27 15:15:14 + */ +@Mapper +public interface MaintainServiceMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/MessageCenterMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/MessageCenterMapper.java new file mode 100644 index 0000000..02c2e22 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/MessageCenterMapper.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.MessageCenter; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 消息中心 + * author: xusan + * date: 2024-09-19 10:39:29 + */ +@Mapper +public interface MessageCenterMapper extends BaseMapper { + + @Select(""" + + """) + List queryUserIds(); + + @Select(""" + + """) + List queryTodayMes(@Param("date") String date,@Param("type") Integer type); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OriginMessageMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OriginMessageMapper.java new file mode 100644 index 0000000..17171a9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OriginMessageMapper.java @@ -0,0 +1,10 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.OriginMessage; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OriginMessageMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticFlowDeviceMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticFlowDeviceMapper.java new file mode 100644 index 0000000..7d14b47 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticFlowDeviceMapper.java @@ -0,0 +1,27 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.HomeOsmoticFlowDeviceVo; +import com.gunshi.project.hsz.model.OsmoticFlowDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 渗流设备表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface OsmoticFlowDeviceMapper extends BaseMapper { + + @Select(""" + + """) + List getDetailsAndMonitoringDataList(); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticFlowRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticFlowRMapper.java new file mode 100644 index 0000000..c37dfe8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticFlowRMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.OsmoticFlowR; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 渗流监测记录表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface OsmoticFlowRMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressDeviceMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressDeviceMapper.java new file mode 100644 index 0000000..beea965 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressDeviceMapper.java @@ -0,0 +1,28 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.HomeOsmoticPressDeviceVo; +import com.gunshi.project.hsz.model.OsmoticPressDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 渗压设备表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface OsmoticPressDeviceMapper extends BaseMapper { + + @Select(""" + + """) + List getDetailsAndMonitoringDataList(); + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressRMapper.java new file mode 100644 index 0000000..c7de23c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressRMapper.java @@ -0,0 +1,197 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.OsmoticDetailQuerySo; +import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo; +import com.gunshi.project.hsz.entity.so.OsmoticQuerySo; +import com.gunshi.project.hsz.entity.vo.OsmoticPressDetailVo; +import com.gunshi.project.hsz.entity.vo.OsmoticPressVo; +import com.gunshi.project.hsz.entity.vo.OsmoticValueVo; +import com.gunshi.project.hsz.entity.vo.StRzVo; +import com.gunshi.project.hsz.model.OsmoticPressR; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 渗压监测记录表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface OsmoticPressRMapper extends BaseMapper { + + @Select(""" + + """) + Page queryPage(Page page,@Param("obj") OsmoticQueryPageSo osmoticQueryPageSo); + + @Select(""" + + """) + List queryRz(@Param("obj") OsmoticQuerySo osmoticQuerySo,@Param("stcd") String stcd); + + @Select(""" + + """) + List queryValue(@Param("obj") OsmoticQuerySo osmoticQuerySo); + + @Select(""" + + """) + List queryLineRz(@Param("obj") OsmoticQuerySo osmoticQuerySo,@Param("stcd") String stcd); + + @Select(""" + + """) + List queryLineValue(@Param("obj") OsmoticQuerySo osmoticQuerySo); + + @Select(""" + + """) + List queryWarn(@Param("obj") OsmoticQuerySo osmoticQuerySo); + + @Select(""" + + """) + List queryDrp(@Param("year") Integer year,@Param("stcd") String stcd); + + @Select(""" + + """) + List listValue(); + + @Select(""" + + """) + List flowListValue(); + + @Select(""" + + """) + List detailValue(@Param("obj") OsmoticDetailQuerySo so); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftDeviceMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftDeviceMapper.java new file mode 100644 index 0000000..669ccd5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftDeviceMapper.java @@ -0,0 +1,27 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.HomeOsmoticShiftDeviceVo; +import com.gunshi.project.hsz.model.OsmoticShiftDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 位移监测记录表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface OsmoticShiftDeviceMapper extends BaseMapper { + + @Select(""" + + """) + List getDetailsAndMonitoringDataList(); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftRMapper.java new file mode 100644 index 0000000..9129bb6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftRMapper.java @@ -0,0 +1,86 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.so.OsmoticDetailQuerySo; +import com.gunshi.project.hsz.entity.so.OsmoticQuerySo; +import com.gunshi.project.hsz.entity.vo.OsmoticShiftListVo; +import com.gunshi.project.hsz.entity.vo.OsmoticShiftValueVo; +import com.gunshi.project.hsz.model.OsmoticShiftR; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 位移监测记录表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface OsmoticShiftRMapper extends BaseMapper { + + @Select(""" + + """) + List queryValue(@Param("obj") OsmoticQuerySo osmoticQuerySo); + + @Select(""" + + """) + List listValue(); + + @Select(""" + + """) + List queryWarn(@Param("obj") OsmoticQuerySo so); + + @Select(""" + + """) + List detailValue(@Param("obj") OsmoticDetailQuerySo so); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWarnRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWarnRMapper.java new file mode 100644 index 0000000..4856e84 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWarnRMapper.java @@ -0,0 +1,47 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.WarnPageSo; +import com.gunshi.project.hsz.entity.vo.OsmoticWarnVo; +import com.gunshi.project.hsz.model.OsmoticWarnR; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 描述: 隐患预警记录表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface OsmoticWarnRMapper extends BaseMapper { + + @Select(""" + + """) + Page queryPage(Page page,@Param("obj") WarnPageSo warnPageSo); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWarnRuleMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWarnRuleMapper.java new file mode 100644 index 0000000..8660395 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWarnRuleMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.OsmoticWarnRule; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 预警规则配置表 + * author: xusan + * date: 2024-07-08 15:44:07 + */ +@Mapper +public interface OsmoticWarnRuleMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWaterRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWaterRMapper.java new file mode 100644 index 0000000..457a465 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWaterRMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.OsmoticWaterR; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水质采样记录表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface OsmoticWaterRMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWaterRuleMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWaterRuleMapper.java new file mode 100644 index 0000000..bdee7d1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticWaterRuleMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.OsmoticWaterRule; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水质质量标准规则表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface OsmoticWaterRuleMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/PersonnelPlanLogMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/PersonnelPlanLogMapper.java new file mode 100644 index 0000000..fa0c7fa --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/PersonnelPlanLogMapper.java @@ -0,0 +1,14 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.PersonnelPlanLog; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +public interface PersonnelPlanLogMapper extends BaseMapper { +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/PersonnelPlanMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/PersonnelPlanMapper.java new file mode 100644 index 0000000..160daf0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/PersonnelPlanMapper.java @@ -0,0 +1,16 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.PersonnelPlan; +import org.apache.ibatis.annotations.Mapper; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@Mapper +public interface PersonnelPlanMapper extends BaseMapper { +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ProjectEventsMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ProjectEventsMapper.java new file mode 100644 index 0000000..949646e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ProjectEventsMapper.java @@ -0,0 +1,125 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.so.CommonDataPageSo; +import com.gunshi.project.hsz.entity.vo.ProjectEventsVo; +import com.gunshi.project.hsz.model.ProjectEvents; +import com.gunshi.project.hsz.model.TermiteSurvey; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface ProjectEventsMapper extends BaseMapper { + + @Select(""" + + """) + List eventList(@Param("obj") CommonDataPageSo page); + + @Select(""" + + """) + List maintainList(@Param("obj") CommonDataPageSo page); + + @Select(""" + + """) + List safetyList(@Param("obj") CommonDataPageSo page); + + @Select(""" + + """) + List reinforceList(@Param("obj") CommonDataPageSo page); + + @Select(""" + + """) + List termiteList(@Param("obj") CommonDataPageSo page); + + @Select(""" + + """) + List queryTermiteDetail(@Param("id") Long id); + + @Select(""" + + """) + List dispatchList(@Param("obj") CommonDataPageSo page); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/RealRainMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/RealRainMapper.java new file mode 100644 index 0000000..f2fcf66 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/RealRainMapper.java @@ -0,0 +1,139 @@ +package com.gunshi.project.hsz.mapper; + +import com.gunshi.project.hsz.entity.vo.ForeRainVo; +import com.gunshi.project.hsz.entity.vo.RealRainListVo; +import com.gunshi.project.hsz.entity.vo.StPptnVo; +import com.gunshi.project.hsz.model.StPptnRD; +import com.gunshi.project.hsz.model.StPptnRReal; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.Date; +import java.util.List; + + +@Mapper +public interface RealRainMapper { + @Select(""" + + """) + List getRealRainList(@Param("stm") String stm, @Param("etm") String etm); + + + @Select(""" + + """) + List queryStPptnPerHourByStcdAndStartTimeAndEndTime(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime); + + @Select(""" + + """) + StPptnRD getStPptnRD(@Param("stcd") String stcd, @Param("tm") Date tm, @Param("year") Integer year); + + @Select(""" + + """) + StPptnRD getMaxOfYear(@Param("stcd") String stcd, @Param("year") Integer year); + + @Select(""" + + """) + Long getRainOfDayInYear(@Param("stcd") String stcd, @Param("year") Integer year); + + @Select(""" + + """) + StPptnRReal queryPptnByStcd(@Param("stcd") String stcd); + + @Select(""" + + """) + List querySttpList(); +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ResFloodRoadMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ResFloodRoadMapper.java new file mode 100644 index 0000000..2cf9c27 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ResFloodRoadMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ResFloodRoad; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 防汛道路 + * author: xusan + * date: 2024-11-14 10:37:15 + */ +@Mapper +public interface ResFloodRoadMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ResMangUnitMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ResMangUnitMapper.java new file mode 100644 index 0000000..e97b77b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ResMangUnitMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ResMangUnit; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水库管理单位表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface ResMangUnitMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ResMonthEcoFlowMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ResMonthEcoFlowMapper.java new file mode 100644 index 0000000..0fdd0bc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ResMonthEcoFlowMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ResMonthEcoFlow; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水库月核定生态流量表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface ResMonthEcoFlowMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ResPersonMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ResPersonMapper.java new file mode 100644 index 0000000..e6c6176 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ResPersonMapper.java @@ -0,0 +1,14 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ResPerson; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +public interface ResPersonMapper extends BaseMapper { +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ResPlanBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ResPlanBMapper.java new file mode 100644 index 0000000..a99886e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ResPlanBMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ResPlanB; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水库预案表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface ResPlanBMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ResProjectImgMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ResProjectImgMapper.java new file mode 100644 index 0000000..5571ad5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ResProjectImgMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ResProjectImg; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水库工程图片 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface ResProjectImgMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ResSafePersonBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ResSafePersonBMapper.java new file mode 100644 index 0000000..c4b50f9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ResSafePersonBMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ResSafePersonB; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水库责任体系表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface ResSafePersonBMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ResTunnelMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ResTunnelMapper.java new file mode 100644 index 0000000..db73478 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ResTunnelMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.ResTunnel; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水库建筑物 - 放空洞/灌溉发电洞 + * author: xusan + * date: 2024-11-14 10:34:12 + */ +@Mapper +public interface ResTunnelMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/RescueGoodsMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/RescueGoodsMapper.java new file mode 100644 index 0000000..3e203f6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/RescueGoodsMapper.java @@ -0,0 +1,42 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.hsz.entity.so.RescueGoodsPageSo; +import com.gunshi.project.hsz.model.RescueGoodsB; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface RescueGoodsMapper extends BaseMapper { + + + @Select(""" + + """) + Page pageQuery(@Param("page") Page page,@Param("obj") RescueGoodsPageSo RescueGoodsPageSo); + + @Select(""" + + """) + List detail(@Param("goodsId") Long goodsId); + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/RescueTeamBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/RescueTeamBMapper.java new file mode 100644 index 0000000..ef2cd6a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/RescueTeamBMapper.java @@ -0,0 +1,41 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.RescueTeamPageSo; +import com.gunshi.project.hsz.entity.vo.RescueTeamVo; +import com.gunshi.project.hsz.model.RescueTeamB; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 描述: 抢险队伍 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface RescueTeamBMapper extends BaseMapper { + @Select(""" + + """) + Page pageQuery(@Param("page") Page page, @Param("obj") RescueTeamPageSo rescueTeamPageSo); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/RescueTeamDetailMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/RescueTeamDetailMapper.java new file mode 100644 index 0000000..bd78989 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/RescueTeamDetailMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.RescueTeamDetail; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 抢险队伍明细 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface RescueTeamDetailMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/RescueTeamFileMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/RescueTeamFileMapper.java new file mode 100644 index 0000000..7d00f97 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/RescueTeamFileMapper.java @@ -0,0 +1,26 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.hsz.model.RescueTeamFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 抢险队伍-附件 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface RescueTeamFileMapper extends BaseMapper { + @Select(""" + + """) + List queryFiles(@Param("teamId") Long teamId); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/RiskControlInfoMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/RiskControlInfoMapper.java new file mode 100644 index 0000000..8495ba9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/RiskControlInfoMapper.java @@ -0,0 +1,32 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.BzDictRel; +import com.gunshi.project.hsz.model.RiskControlInfo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 风险管控清单 + * author: xusan + * date: 2024-08-22 14:17:28 + */ +@Mapper +public interface RiskControlInfoMapper extends BaseMapper { + + @Select(""" + + """) + List queryRelList(@Param("ids") List ids); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/RiskControlMenuMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/RiskControlMenuMapper.java new file mode 100644 index 0000000..4466bca --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/RiskControlMenuMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.RiskControlMenu; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 风险管控目录 + * author: xusan + * date: 2024-08-22 14:16:35 + */ +@Mapper +public interface RiskControlMenuMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/RotaBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/RotaBMapper.java new file mode 100644 index 0000000..c6304f0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/RotaBMapper.java @@ -0,0 +1,37 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.RotaB; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface RotaBMapper extends BaseMapper { + + + @Select(""" + + """) + List query(@Param("yearMonth") String yearMonth); + + @Select(""" + + """) + List dateList(@Param("rotaDate") String rotaDate); + + @Select(""" + + """) + Long queryUser(@Param("value") String value); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/RotaLogMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/RotaLogMapper.java new file mode 100644 index 0000000..e92fde5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/RotaLogMapper.java @@ -0,0 +1,31 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.RotaLogPageSo; +import com.gunshi.project.hsz.model.RotaLog; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +@Mapper +public interface RotaLogMapper extends BaseMapper { + + @Select(""" + + """) + Page queryPage(Page page,@Param("obj") RotaLogPageSo rotaLogPageSo); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SafetyAccidentRegMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SafetyAccidentRegMapper.java new file mode 100644 index 0000000..0a94fa2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SafetyAccidentRegMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SafetyAccidentReg; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 安全事故登记 + * author: xusan + * date: 2024-08-21 15:44:55 + */ +@Mapper +public interface SafetyAccidentRegMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SafetyCheckMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SafetyCheckMapper.java new file mode 100644 index 0000000..9fd09b3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SafetyCheckMapper.java @@ -0,0 +1,10 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SafetyCheck; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SafetyCheckMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SafetyHazardInvestMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SafetyHazardInvestMapper.java new file mode 100644 index 0000000..1a4b4b1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SafetyHazardInvestMapper.java @@ -0,0 +1,10 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SafetyHazardInvest; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SafetyHazardInvestMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SafetyIdentifyMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SafetyIdentifyMapper.java new file mode 100644 index 0000000..16ec6ce --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SafetyIdentifyMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SafetyIdentify; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 安全鉴定台账 + * author: xusan + * date: 2024-08-21 14:45:44 + */ +@Mapper +public interface SafetyIdentifyMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SafetyReinforcementMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SafetyReinforcementMapper.java new file mode 100644 index 0000000..e91ff77 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SafetyReinforcementMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SafetyReinforcement; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 除险加固台账 + * author: xusan + * date: 2024-08-22 11:27:44 + */ +@Mapper +public interface SafetyReinforcementMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/ShpPlacementMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/ShpPlacementMapper.java new file mode 100644 index 0000000..94ea5bf --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/ShpPlacementMapper.java @@ -0,0 +1,27 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.HomeShpPlacementVo; +import com.gunshi.project.hsz.model.ShpPlacement; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 安置点 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface ShpPlacementMapper extends BaseMapper { + + @Select(""" + + """) + List getDetailsAndMonitoringDataList(); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SoilMoistureDataMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SoilMoistureDataMapper.java new file mode 100644 index 0000000..2ee5d04 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SoilMoistureDataMapper.java @@ -0,0 +1,12 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SoilMoistureData; +import org.apache.ibatis.annotations.Mapper; + +/** + */ +@Mapper +public interface SoilMoistureDataMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SoilMoistureStationMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SoilMoistureStationMapper.java new file mode 100644 index 0000000..800508e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SoilMoistureStationMapper.java @@ -0,0 +1,12 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SoilMoistureStation; +import org.apache.ibatis.annotations.Mapper; + +/** + */ +@Mapper +public interface SoilMoistureStationMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StAddvcdDMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StAddvcdDMapper.java new file mode 100644 index 0000000..5999e13 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StAddvcdDMapper.java @@ -0,0 +1,24 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StAddvcdD; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 描述: 行政区划表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StAddvcdDMapper extends BaseMapper { + + @Select(""" + + """) + StAddvcdD selectByAdcd(@Param("adcd") String adcd); + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StImgRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StImgRMapper.java new file mode 100644 index 0000000..ffe5787 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StImgRMapper.java @@ -0,0 +1,18 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StImgR; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 描述: 图像历史表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StImgRMapper extends BaseMapper { + + List getStcdLastImgData(); +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StImgRRealMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StImgRRealMapper.java new file mode 100644 index 0000000..7eb3cd1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StImgRRealMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StImgRReal; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 图像表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StImgRRealMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StImgWarnRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StImgWarnRMapper.java new file mode 100644 index 0000000..f30428e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StImgWarnRMapper.java @@ -0,0 +1,42 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.ImgWarnPageSo; +import com.gunshi.project.hsz.model.StImgWarnR; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 描述: AI告警表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StImgWarnRMapper extends BaseMapper { + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") ImgWarnPageSo imgWarnPageSo); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StPptnRDMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StPptnRDMapper.java new file mode 100644 index 0000000..cbb716a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StPptnRDMapper.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StPptnRD; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 描述: + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StPptnRDMapper extends BaseMapper { + + List getStcdLastPptnDayData(); + + StPptnRD getMaxData(@Param("stcd") String stcd); + + List reorganizePptnRDData(@Param("stcd") String stcd, @Param("maxData") StPptnRD maxData); +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StPptnRHMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StPptnRHMapper.java new file mode 100644 index 0000000..4f8e2b0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StPptnRHMapper.java @@ -0,0 +1,31 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.StRzVo; +import com.gunshi.project.hsz.model.StPptnRD; +import com.gunshi.project.hsz.model.StPptnRH; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 描述: 降雨量小时表 + * author: cxw + * date: 2024-09-02 09:34:31 + */ +@Mapper +public interface StPptnRHMapper extends BaseMapper { + + List queryList(@Param("start") String start,@Param("end") String end); + + List queryRzList(@Param("start") String start,@Param("end") String end); + + List queryDayDrp(@Param("year") Integer year); + + List reorganizePptnRHData(@Param("stcd") String stcd, @Param("maxData") StPptnRH maxData); + + StPptnRH getMaxData(String stcd); + + List queryDayRz(@Param("year") String year); +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StPptnRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StPptnRMapper.java new file mode 100644 index 0000000..e9f588d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StPptnRMapper.java @@ -0,0 +1,75 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StPptnR; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 描述: 降水量表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StPptnRMapper extends BaseMapper { + @Select(""" + + """) + BigDecimal queryStPptnTimeQuantumByStcdAndTime(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime); + + List getStcdLastPptnData(); + + List> getPptnRDataList(@Param("stcd") String stcd, @Param("tm") String tm); + + List> getPptnRDataListByTask(@Param("resCode") String resCode, @Param("stcd") String stcd, @Param("tm") String tm); + + List getStcdFirstPptnData(); + + @Select(""" + select DISTINCT ON (r.stcd) r.stcd, r.drp, r.tm + from public.st_stbprp_b_elem b + join public.st_pptn_r r on b.stcd=r.stcd + ORDER BY r.stcd, r.tm DESC + """) + List getNewestDataOfEachStcd(); + + /** + * 根据stcd查询24小时总降水量 + */ + @Select(""" + select SUM(drp) from public.st_pptn_r + where stcd=#{stcd} and tm >= now() - interval '24 hours' + """) + BigDecimal getdrp24SumByStcd(String stcd); + + /** + * 根据stcd查询24小时内最大降水量 + */ + @Select(""" + SELECT * + FROM public.st_pptn_r + WHERE stcd = #{stcd} + AND drp = ( + SELECT MAX(drp) + FROM public.st_pptn_r + WHERE stcd = #{stcd} + AND tm >= NOW() - INTERVAL '24 hours' + ) + AND tm >= NOW() - INTERVAL '24 hours' + LIMIT 1 + """) + StPptnR getdrp24MaxByStcd(String stcd); +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StPptnRRealMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StPptnRRealMapper.java new file mode 100644 index 0000000..499c0df --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StPptnRRealMapper.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StPptnRReal; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 降水量历史表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StPptnRRealMapper extends BaseMapper { + + int updatePptnRReal(@Param("stcd") String stcd); + + @Select(""" + + """) + List queryList(); +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StQxWarnRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StQxWarnRMapper.java new file mode 100644 index 0000000..898cc23 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StQxWarnRMapper.java @@ -0,0 +1,33 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.entity.vo.OsmoticWarnVo; +import com.gunshi.project.hsz.model.StQxWarnR; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 气象预警表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StQxWarnRMapper extends BaseMapper { + + @Select(""" + + """) + List queryOsmoticWarn(@Param("obj") DateTimeRangeSo dateTimeRangeSo); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StRiverRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StRiverRMapper.java new file mode 100644 index 0000000..8171b7d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StRiverRMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StRiverR; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: + * author: cxw + * date: 2024-09-24 14:01:07 + */ +@Mapper +public interface StRiverRMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StRiverRRealMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StRiverRRealMapper.java new file mode 100644 index 0000000..7b403a3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StRiverRRealMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StRiverRReal; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: + * author: cxw + * date: 2024-09-24 14:01:07 + */ +@Mapper +public interface StRiverRRealMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRMapper.java new file mode 100644 index 0000000..197fdc8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRMapper.java @@ -0,0 +1,42 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StRsvrR; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 描述: 水库历史水位表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StRsvrRMapper extends BaseMapper { + + List getStcdLastRsvrData(); + + List getStcdFirstRsvrData(); + + /** + * 根据stcd获取8点的rz + */ + @Select(""" + select rz from public.st_rsvr_r + where stcd = #{stcd} + and tm = date_trunc('day', now()) + interval '8 hours' + """) + BigDecimal getRz8ByStcd(String stcd); + + /** + * 根据stcd获取昨日8点的rz + */ + @Select(""" + select rz from public.st_rsvr_r + where stcd = #{stcd} + and tm = date_trunc('day', now() - interval '1 day') + interval '8 hours' + """) + BigDecimal getRzYesterday8ByStcd(String stcd); +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRRealMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRRealMapper.java new file mode 100644 index 0000000..a045dac --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StRsvrRRealMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StRsvrRReal; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水库水位实时数据表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StRsvrRRealMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBElemMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBElemMapper.java new file mode 100644 index 0000000..d18c6e1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBElemMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StStbprpBElem; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 测站监测值类型 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StStbprpBElemMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBMapper.java new file mode 100644 index 0000000..2293bf6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StStbprpBMapper.java @@ -0,0 +1,138 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.dto.StZqrlBDto; +import com.gunshi.project.hsz.entity.so.HomeStStbprpBSo; +import com.gunshi.project.hsz.entity.vo.HomeStStbprpBVo; +import com.gunshi.project.hsz.entity.vo.StStatusVo; +import com.gunshi.project.hsz.entity.vo.StZqrlBVo; +import com.gunshi.project.hsz.model.StStbprpB; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: sttp 以水利标准来 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StStbprpBMapper extends BaseMapper { + + @Select(""" + + """) + List rainfallStationDetailsList(@Param("dto") HomeStStbprpBSo dto); + + @Select(""" + + """) + List reservoirStationDetailsList(); + + @Select(""" + + """) + List flowStationDetailsList(); + + @Select(""" + + """) + List realRainList(); + + @Select(""" + + """) + List rzList(); + + @Select(""" + + """) + List imgList(); + + @Select(""" + + """) + List rainList(); + +// @Select("") + @Select(""" + + """) + List flowList(@Param("obj") StZqrlBDto obj); + + @Select(""" + select * from public.st_stbprp_b b + join public.st_stbprp_b_elem e + on b.stcd = e.stcd + where e.elem='drp' + """) + List getPptnStations(); + + @Select(""" + select * from public.st_stbprp_b b + where b.sttp='RR' + """) + List getRsvrStations(); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StStbprpCctvMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StStbprpCctvMapper.java new file mode 100644 index 0000000..6820d32 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StStbprpCctvMapper.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.entity.vo.StStbprpCctvVo; +import com.gunshi.project.hsz.model.StStbprpCctv; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/4/9 + * + * @author wanyan + * @version 1.0 + */ +public interface StStbprpCctvMapper extends BaseMapper { + + + @Select(""" + + """) + List listByStcd(@Param("stcd") String stcd); +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StWaterRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StWaterRMapper.java new file mode 100644 index 0000000..586eeb0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StWaterRMapper.java @@ -0,0 +1,31 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.model.StWaterR; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 供水量表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StWaterRMapper extends BaseMapper { + + @Select(""" + + """) + List stat(@Param("obj") DateTimeRangeSo dateTimeRangeSo); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StWaterRRealMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StWaterRRealMapper.java new file mode 100644 index 0000000..8d02c9c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StWaterRRealMapper.java @@ -0,0 +1,18 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StWaterRReal; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 描述: 供水量实时表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StWaterRRealMapper extends BaseMapper { + + List listRelated(); +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StWaterRReorganizeMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StWaterRReorganizeMapper.java new file mode 100644 index 0000000..7f452fe --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StWaterRReorganizeMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StWaterRReorganize; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 供水量整编表 + * author: cxw + * date: 2024-07-24 11:22:46 + */ +@Mapper +public interface StWaterRReorganizeMapper extends BaseMapper { + +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StZqrlBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StZqrlBMapper.java new file mode 100644 index 0000000..165174c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StZqrlBMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StZqrlB; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 水位流量关系曲线表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StZqrlBMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StZvarlBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StZvarlBMapper.java new file mode 100644 index 0000000..a030f84 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/StZvarlBMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.StZvarlB; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 库( 湖)容曲线表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface StZvarlBMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SysDictBMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SysDictBMapper.java new file mode 100644 index 0000000..1251c60 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SysDictBMapper.java @@ -0,0 +1,25 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SysDictB; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 系统字典表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface SysDictBMapper extends BaseMapper { + + @Select(""" + + """) + List listByCd(@Param("dictCd") String dictCd); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SzCaseMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SzCaseMapper.java new file mode 100644 index 0000000..4abbfab --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SzCaseMapper.java @@ -0,0 +1,16 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SzCase; +import org.apache.ibatis.annotations.Mapper; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Mapper +public interface SzCaseMapper extends BaseMapper { +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SzRegulatoryFrameworkMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SzRegulatoryFrameworkMapper.java new file mode 100644 index 0000000..61883e4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SzRegulatoryFrameworkMapper.java @@ -0,0 +1,16 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SzRegulatoryFramework; +import org.apache.ibatis.annotations.Mapper; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Mapper +public interface SzRegulatoryFrameworkMapper extends BaseMapper { +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SzRuleByLawMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SzRuleByLawMapper.java new file mode 100644 index 0000000..37106fa --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SzRuleByLawMapper.java @@ -0,0 +1,16 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SzRuleByLaw; +import org.apache.ibatis.annotations.Mapper; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Mapper +public interface SzRuleByLawMapper extends BaseMapper { +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/SzTreatmentBasisMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/SzTreatmentBasisMapper.java new file mode 100644 index 0000000..3ef0990 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/SzTreatmentBasisMapper.java @@ -0,0 +1,16 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.SzTreatmentBasis; +import org.apache.ibatis.annotations.Mapper; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Mapper +public interface SzTreatmentBasisMapper extends BaseMapper { +} diff --git a/src/main/java/com/gunshi/project/hsz/mapper/TermiteAdverPicMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/TermiteAdverPicMapper.java new file mode 100644 index 0000000..f73468f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/TermiteAdverPicMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.model.TermiteAdverPic; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 白蚁防治宣传图片墙 + * author: xusan + * date: 2024-08-29 17:33:09 + */ +@Mapper +public interface TermiteAdverPicMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/TermiteSurveyDetailMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/TermiteSurveyDetailMapper.java new file mode 100644 index 0000000..a63d1ab --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/TermiteSurveyDetailMapper.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.TermiteSurveyPageSo; +import com.gunshi.project.hsz.model.TermiteSurveyDetail; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 描述: 白蚁普查明细 + * author: xusan + * date: 2024-08-28 10:25:17 + */ +@Mapper +public interface TermiteSurveyDetailMapper extends BaseMapper { + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") TermiteSurveyPageSo page1); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/TermiteSurveyMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/TermiteSurveyMapper.java new file mode 100644 index 0000000..05dab5c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/TermiteSurveyMapper.java @@ -0,0 +1,54 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.hsz.entity.so.TermiteSurveyPageSo; +import com.gunshi.project.hsz.model.TermiteSurvey; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 白蚁普查 + * author: xusan + * date: 2024-08-28 10:29:58 + */ +@Mapper +public interface TermiteSurveyMapper extends BaseMapper { + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") TermiteSurveyPageSo page1); + + @Select(""" + + """) + List queryFileList(@Param("groupId") String groupId); + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/TyYearRainfallMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/TyYearRainfallMapper.java new file mode 100644 index 0000000..802f1b4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/mapper/TyYearRainfallMapper.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.TyYearRainfallPageSo; +import com.gunshi.project.hsz.entity.vo.TyYearRainfallVo; +import com.gunshi.project.hsz.model.TyYearRainfall; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 描述: 典型年降雨资料表 + * author: xusan + * date: 2024-07-08 15:44:08 + */ +@Mapper +public interface TyYearRainfallMapper extends BaseMapper { + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") TyYearRainfallPageSo tyYearRainfallPageSo); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AppVersionRecord.java b/src/main/java/com/gunshi/project/hsz/model/AppVersionRecord.java new file mode 100644 index 0000000..8cd5477 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AppVersionRecord.java @@ -0,0 +1,72 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: APP版本记录 +* author: xusan +* date: 2024-11-12 10:14:50 +*/ +@Schema(description="APP版本记录") +@Data +@TableName("public.app_version_record") +public class AppVersionRecord implements Serializable { + + public final static String thisTableName = "AppVersionRecord"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 版本号 + */ + @TableField(value="version") + @Schema(description="版本号") + @Size(max = 20,message = "版本号最大长度要小于 20") + private String version; + + /** + * 版本描述 + */ + @TableField(value="version_desc") + @Schema(description="版本描述") + private String versionDesc; + + /** + * url + */ + @TableField(value="url") + @Schema(description="地址") + private String url; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessCategory.java b/src/main/java/com/gunshi/project/hsz/model/AssessCategory.java new file mode 100644 index 0000000..392b75d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessCategory.java @@ -0,0 +1,58 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 考核类目 +* author: xusan +* date: 2024-09-03 17:46:29 +*/ +@Schema(description="考核类目") +@Data +@TableName("public.assess_category") +public class AssessCategory implements Serializable { + + public final static String thisTableName = "AssessCategory"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 名称 + */ + @TableField(value="name") + @Schema(description="名称") + @Size(max = 255,message = "名称最大长度要小于 255") + @NotBlank(message = "名称不能为空") + private String name; + + /** + * 排序 + */ + @TableField(value="order_index") + @Schema(description="排序") + private Integer orderIndex; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessIndicator.java b/src/main/java/com/gunshi/project/hsz/model/AssessIndicator.java new file mode 100644 index 0000000..9d65d8f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessIndicator.java @@ -0,0 +1,102 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** +* 描述: 考核指标 +* author: xusan +* date: 2024-09-03 17:46:55 +*/ +@Schema(description="考核指标") +@Data +@TableName("public.assess_indicator") +public class AssessIndicator implements Serializable { + + public final static String thisTableName = "AssessIndicator"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 考核类目id + */ + @TableField(value="category_id") + @Schema(description="考核类目id") + @JsonSerialize(using = ToStringSerializer.class) + private Long categoryId; + + @TableField(exist = false) + @Schema(description="考核类目名称") + private String name; + + /** + * 指标名称 + */ + @TableField(value="indicator_name") + @Schema(description="指标名称") + @Size(max = 100,message = "指标名称最大长度要小于 100") + private String indicatorName; + + /** + * 指标编码 + */ + @TableField(value="indicator_code") + @Schema(description="指标编码") + @Size(max = 100,message = "指标编码最大长度要小于 100") + private String indicatorCode; + + /** + * 标准分数 + */ + @TableField(value="standard_score") + @Schema(description="标准分数") + private Integer standardScore; + + /** + * 排序号 + */ + @TableField(value="order_index") + @Schema(description="排序号") + private Integer orderIndex; + + /** + * 状态(0启用 1停用) + */ + @TableField(value="status") + @Schema(description="状态(0启用 1停用)") + private Integer status; + + /** + * 是否被使用(0否 1是) + */ + @TableField(exist = false) + @Schema(description="是否被使用(0否 1是)") + private Integer isUsed; + + @TableField(exist = false) + @Schema(description = "评分细则") + private List indicatorRatings; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessIndicatorRating.java b/src/main/java/com/gunshi/project/hsz/model/AssessIndicatorRating.java new file mode 100644 index 0000000..0878278 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessIndicatorRating.java @@ -0,0 +1,71 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 考核指标评分细则 +* author: xusan +* date: 2024-09-03 17:47:16 +*/ +@Schema(description="考核指标评分细则") +@Data +@TableName("public.assess_indicator_rating") +public class AssessIndicatorRating implements Serializable { + + public final static String thisTableName = "AssessIndicatorRating"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 指标id + */ + @TableField(value="indicator_id") + @Schema(description="指标id") + @JsonSerialize(using = ToStringSerializer.class) + private Long indicatorId; + + /** + * 描述 + */ + @TableField(value="rating_desc") + @Schema(description="描述") + @Size(max = 500,message = "描述最大长度要小于 500") + private String ratingDesc; + + /** + * 标准分数 + */ + @TableField(value="standard_score") + @Schema(description="标准分数") + private Integer standardScore; + + /** + * 排序号 + */ + @TableField(value="order_index") + @Schema(description="排序号") + private Integer orderIndex; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessObject.java b/src/main/java/com/gunshi/project/hsz/model/AssessObject.java new file mode 100644 index 0000000..852e631 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessObject.java @@ -0,0 +1,94 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* 描述: 考核对象 +* author: xusan +* date: 2024-09-05 14:19:30 +*/ +@Schema(description="考核对象") +@Data +@TableName("public.assess_object") +public class AssessObject implements Serializable { + + public final static String thisTableName = "AssessObject"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 考核任务id + */ + @TableField(value="task_id") + @Schema(description="考核任务id") + @JsonSerialize(using = ToStringSerializer.class) + private Long taskId; + + /** + * 考核对象id + */ + @TableField(value="object_user_id") + @Schema(description="考核对象id") + @JsonSerialize(using = ToStringSerializer.class) + private Long objectUserId; + + /** + * 考核对象 + */ + @TableField(value="object_user_name") + @Schema(description="考核对象") + @Size(max = 100,message = "考核对象最大长度要小于 100") + private String objectUserName; + + /** + * 标准得分 + */ + @TableField(value="standard_score") + @Schema(description="标准得分") + private Integer standardScore; + + /** + * 考核得分 + */ + @TableField(value="assess_score") + @Schema(description="考核得分") + private BigDecimal assessScore; + + /** + * 考核等级(1优秀 2良好 3合格) + */ + @TableField(value="assess_level") + @Schema(description="考核等级(1优秀 2良好 3合格)") + private Integer assessLevel; + + /** + * 状态(0未启动 1评分中 2已完成) + */ + @TableField(value="status") + @Schema(description="状态(0未启动 1评分中 2已完成)") + private Integer status; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessObjectRating.java b/src/main/java/com/gunshi/project/hsz/model/AssessObjectRating.java new file mode 100644 index 0000000..2e4bfac --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessObjectRating.java @@ -0,0 +1,63 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* 描述: 考核对象指标得分详情 +* author: xusan +* date: 2024-09-10 10:44:14 +*/ +@Schema(description="考核对象指标得分详情") +@Data +@TableName("public.assess_object_rating") +public class AssessObjectRating implements Serializable { + + public final static String thisTableName = "AssessObjectRating"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + private Long id; + + /** + * 考核对象id + */ + @TableField(value="object_id") + @Schema(description="考核对象id") + private Long objectId; + + /** + * 考核指标id + */ + @TableField(value="indicator_id") + @Schema(description="考核指标id") + private Long indicatorId; + + /** + * 标准分数 + */ + @TableField(value="standard_score") + @Schema(description="标准分数") + private Integer standardScore; + + /** + * 考核得分 + */ + @TableField(value="assess_score") + @Schema(description="考核得分") + private BigDecimal assessScore; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessTask.java b/src/main/java/com/gunshi/project/hsz/model/AssessTask.java new file mode 100644 index 0000000..9383c94 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessTask.java @@ -0,0 +1,145 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 考核任务 +* author: xusan +* date: 2024-09-05 14:19:04 +*/ +@Schema(description="考核任务") +@Data +@TableName("public.assess_task") +public class AssessTask implements Serializable { + + public final static String thisTableName = "AssessTask"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 考核任务名称 + */ + @TableField(value="task_name") + @Schema(description="考核任务名称") + @Size(max = 100,message = "考核任务名称最大长度要小于 100") + private String taskName; + + /** + * 考核频次(1年度 2季度 3月度) + */ + @TableField(value="task_freq") + @Schema(description="考核频次(1年度 2季度 3月度)") + private Integer taskFreq; + + /** + * 综合计算得分方式(1取最低 2平均) + */ + @TableField(value="score_way") + @Schema(description="综合计算得分方式(1取最低 2平均)") + private Integer scoreWay; + + /** + * 模板id + */ + @TableField(value="template_id") + @Schema(description="模板id") + @JsonSerialize(using = ToStringSerializer.class) + private Long templateId; + + @TableField(exist = false) + @Schema(description="模板信息") + private String templateName; + + /** + * 考核批次 + */ + @TableField(value="assess_batch") + @Schema(description="考核批次") + @Size(max = 100,message = "考核批次最大长度要小于 100") + private String assessBatch; + + /** + * 考核周期开始日期 + */ + @TableField(value="start_date") + @Schema(description="考核周期开始日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date startDate; + + /** + * 考核周期结束日期 + */ + @TableField(value="end_date") + @Schema(description="考核周期结束日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date endDate; + + /** + * 状态(0未启动 1评分中 2审核中 3已审核 4已作废) + */ + @TableField(value="status") + @Schema(description="状态(0未启动 1评分中 2审核中 3已审核 4已作废)") + private Integer status; + + /** + * 创建人id + */ + @TableField(value="create_user_id") + @Schema(description="创建人id") + private Long createUserId; + + /** + * 创建人名称 + */ + @TableField(value="create_user_name") + @Schema(description="创建人名称") + @Size(max = 100,message = "创建人名称最大长度要小于 100") + private String createUserName; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + @TableField(exist = false) + @Schema(description = "考核组成员") + private List assessTeams; + + @TableField(exist = false) + @Schema(description = "考核对象") + private List assessObjects; + + @TableField(exist = false) + @Schema(description = "考核方案") + private List files; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessTeam.java b/src/main/java/com/gunshi/project/hsz/model/AssessTeam.java new file mode 100644 index 0000000..a4ac4d2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessTeam.java @@ -0,0 +1,102 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* 描述: 考核组成员 +* author: xusan +* date: 2024-09-05 14:19:46 +*/ +@Schema(description="考核组成员") +@Data +@TableName("public.assess_team") +public class AssessTeam implements Serializable { + + public final static String thisTableName = "AssessTeam"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 考核对象id + */ + @TableField(value="task_id") + @Schema(description="考核任务id") + @JsonSerialize(using = ToStringSerializer.class) + private Long taskId; + + /** + * 考核对象id + */ + @TableField(value="object_id") + @Schema(description="考核对象id") + @JsonSerialize(using = ToStringSerializer.class) + private Long objectId; + + /** + * 考核成员id + */ + @TableField(value="team_user_id") + @Schema(description="考核成员id") + @JsonSerialize(using = ToStringSerializer.class) + private Long teamUserId; + + /** + * 考核成员 + */ + @TableField(value="team_user_name") + @Schema(description="考核成员") + @Size(max = 100,message = "考核成员最大长度要小于 100") + private String teamUserName; + + /** + * 标准得分 + */ + @TableField(value="standard_score") + @Schema(description="标准得分") + private Integer standardScore; + + /** + * 考核得分 + */ + @TableField(value="assess_score") + @Schema(description="考核得分") + private BigDecimal assessScore; + + /** + * 考核等级(1优秀 2良好 3合格) + */ + @TableField(value="assess_level") + @Schema(description="考核等级(1优秀 2良好 3合格)") + private Integer assessLevel; + + /** + * 状态(0未启动 1评分中 2已完成 9评分保存) + */ + @TableField(value="status") + @Schema(description="状态(0未启动 1评分中 2已完成 9评分保存)") + private Integer status; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessTeamRating.java b/src/main/java/com/gunshi/project/hsz/model/AssessTeamRating.java new file mode 100644 index 0000000..d908c1f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessTeamRating.java @@ -0,0 +1,138 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 考核评分详情 +* author: xusan +* date: 2024-09-05 14:20:03 +*/ +@Schema(description="考核评分详情") +@Data +@TableName("public.assess_team_rating") +public class AssessTeamRating implements Serializable { + + public final static String thisTableName = "AssessTeamRating"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 考核成员id + */ + @TableField(value="team_id") + @Schema(description="考核成员id") + @JsonSerialize(using = ToStringSerializer.class) + private Long teamId; + + /** + * 考核指标id + */ + @TableField(value="indicator_id") + @Schema(description="考核指标id") + @JsonSerialize(using = ToStringSerializer.class) + private Long indicatorId; + + /** + * 标准分数 + */ + @TableField(value="standard_score") + @Schema(description="标准分数") + private Integer standardScore; + + /** + * 考核得分 + */ + @TableField(value="assess_score") + @Schema(description="考核得分") + private BigDecimal assessScore; + + /** + * 是否需要整改(0否 1是) + */ + @TableField(value="is_need_rectify") + @Schema(description="是否需要整改(0否 1是)") + private Integer isNeedRectify; + + /** + * 问题描述 + */ + @TableField(value="problem_desc") + @Schema(description="问题描述") + @Size(max = 500,message = "问题描述最大长度要小于 500") + private String problemDesc; + + /** + * 整改要求 + */ + @TableField(value="rectify_requirement") + @Schema(description="整改要求") + @Size(max = 500,message = "整改要求最大长度要小于 500") + private String rectifyRequirement; + + /** + * 整改期限 + */ + @TableField(value="rectify_last_date") + @Schema(description="整改期限") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date rectifyLastDate; + + /** + * 整改状态(0未整改 1已整改) + */ + @TableField(value="rectify_status") + @Schema(description="整改状态(0未整改 1已整改)") + private Integer rectifyStatus; + + /** + * 完成日期 + */ + @TableField(value="finish_date") + @Schema(description="完成日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date finishDate; + + /** + * 整改说明 + */ + @TableField(value="rectify_desc") + @Schema(description="整改说明") + @Size(max = 500,message = "整改说明最大长度要小于 500") + private String rectifyDesc; + + @TableField(exist = false) + @Schema(description = "现场图片") + private List files; + + @TableField(exist = false) + @Schema(description = "整改附件") + private List rectifyFiles; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessTemplate.java b/src/main/java/com/gunshi/project/hsz/model/AssessTemplate.java new file mode 100644 index 0000000..645508c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessTemplate.java @@ -0,0 +1,129 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 考核模板 +* author: xusan +* date: 2024-09-04 13:42:39 +*/ +@Schema(description="考核模板") +@Data +@TableName("public.assess_template") +public class AssessTemplate implements Serializable { + + public final static String thisTableName = "AssessTemplate"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 模板名称 + */ + @TableField(value="template_name") + @Schema(description="模板名称") + @Size(max = 100,message = "模板名称最大长度要小于 100") + private String templateName; + + /** + * 考核频次(1年度 2季度 3月度) + */ + @TableField(value="template_freq") + @Schema(description="考核频次(1年度 2季度 3月度)") + private Integer templateFreq; + + /** + * 标准分数 + */ + @TableField(value="standard_score") + @Schema(description="标准分数") + private Integer standardScore; + + /** + * 优秀分 + */ + @TableField(value="excellent_score") + @Schema(description="优秀分") + private BigDecimal excellentScore; + + /** + * 良好分 + */ + @TableField(value="good_score") + @Schema(description="良好分") + private BigDecimal goodScore; + + /** + * 合格分 + */ + @TableField(value="pass_score") + @Schema(description="合格分") + private BigDecimal passScore; + + /** + * 状态(0启用 1停用) + */ + @TableField(value="status") + @Schema(description="状态(0启用 1停用)") + private Integer status; + + /** + * 创建人id + */ + @TableField(value="create_user_id") + @Schema(description="创建人id") + private Long createUserId; + + /** + * 创建人名称 + */ + @TableField(value="create_user_name") + @Schema(description="创建人名称") + @Size(max = 100,message = "创建人名称最大长度要小于 100") + private String createUserName; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + /** + * 是否被使用(0否 1是) + */ + @TableField(exist = false) + @Schema(description="是否被使用(0否 1是)") + private Integer isUsed; + + @TableField(exist = false) + @Schema(description = "关联的考核指标") + private List indicatorIds; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AssessTemplateIndicatorRel.java b/src/main/java/com/gunshi/project/hsz/model/AssessTemplateIndicatorRel.java new file mode 100644 index 0000000..2b1bf14 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AssessTemplateIndicatorRel.java @@ -0,0 +1,53 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 模板关联指标 +* author: xusan +* date: 2024-09-04 13:43:04 +*/ +@Schema(description="模板关联指标") +@Data +@TableName("public.assess_template_indicator_rel") +public class AssessTemplateIndicatorRel implements Serializable { + + public final static String thisTableName = "AssessTemplateIndicatorRel"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 模板id + */ + @TableField(value="template_id") + @Schema(description="模板id") + @JsonSerialize(using = ToStringSerializer.class) + private Long templateId; + + /** + * 指标id + */ + @TableField(value="indicator_id") + @Schema(description="指标id") + @JsonSerialize(using = ToStringSerializer.class) + private Long indicatorId; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AttCctvBase.java b/src/main/java/com/gunshi/project/hsz/model/AttCctvBase.java new file mode 100644 index 0000000..498c831 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttCctvBase.java @@ -0,0 +1,138 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 视频基本信息表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="视频基本信息表") +@Data +@TableName("public.att_cctv_base") +public class AttCctvBase implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="id") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 序列号 + */ + @TableField(value="index_code") + @Schema(description="序列号") + @Size(max = 150,message = "序列号最大长度要小于 150") + @NotBlank(message = "序列号不能为空",groups = {Insert.class, Update.class}) + private String indexCode; + + /** + * 摄像头名称 + */ + @TableField(value="name") + @Schema(description="摄像头名称") + @Size(max = 150,message = "摄像头名称最大长度要小于 150") + private String name; + + /** + * ip端口 + */ + @TableField(value="ip_address") + @Schema(description="ip端口") + @Size(max = 20,message = "ip端口最大长度要小于 20") + private String ipAddress; + + /** + * 通道号 + */ + @TableField(value="chan") + @Schema(description="通道号") + @Size(max = 150,message = "通道号最大长度要小于 150") + private String chan; + + /** + * 类型(1球机 2枪机) + */ + @TableField(value="type") + @Schema(description="类型(1球机 2枪机)") + private Integer type; + + /** + * 建成日期 + */ + @TableField(value="build_date") + @Schema(description="建成日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date buildDate; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + private String lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + private String lttd; + + /** + * menu_id + */ + @TableField(value="menu_id") + @Schema(description="menu_id") + private Long menuId; + + /** + * menu_id + */ + @TableField(exist = false) + @Schema(description="所在区域") + private String menuName; + + /** + * 备注 + */ + @TableField(value="remark") + @Schema(description="备注") + @Size(max = 500,message = "备注最大长度要小于 500") + private String remark; + + /** + * create_time + */ + @TableField(value="create_time") + @Schema(description="create_time") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AttDamBase.java b/src/main/java/com/gunshi/project/hsz/model/AttDamBase.java new file mode 100644 index 0000000..7ab6e94 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttDamBase.java @@ -0,0 +1,155 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Delete; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 大坝表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="大坝表") +@Data +@TableName("public.att_dam_base") +public class AttDamBase implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="dam_code", type= IdType.AUTO) + @Schema(description="主键") + @Size(max = 32,message = "主键最大长度要小于 32") + @NotBlank(message = "主键不能为空",groups = { Update.class, Delete.class}) + private String damCode; + + /** + * 大坝名称 + */ + @TableField(value="dam_name") + @Schema(description="大坝名称") + @Size(max = 30,message = "大坝名称最大长度要小于 30") + private String damName; + + /** + * 水库编码 + */ + @TableField(value="res_code") + @Schema(description="水库编码") + @Size(max = 32,message = "水库编码最大长度要小于 32") + private String resCode; + + /** + * 是否主坝(0否 1是) + */ + @TableField(value="is_main") + @Schema(description="是否主坝(0否 1是 2拦洪坝)") + private Integer isMain; + + /** + * 建筑物型式 + */ + @TableField(value="build_type") + @Schema(description="建筑物型式") + @Size(max = 30,message = "建筑物型式最大长度要小于 30") + private String buildType; + + /** + * 地基特性 + */ + @TableField(value="found_character") + @Schema(description="地基特性") + @Size(max = 30,message = "地基特性最大长度要小于 30") + private String foundCharacter; + + /** + * 最大坝高(m) + */ + @TableField(value="dam_max_heig") + @Schema(description="最大坝高(m)") + private String damMaxHeig; + + /** + * 坝顶高程(m) + */ + @TableField(value="dam_top_elev") + @Schema(description="坝顶高程(m)") + private String damTopElev; + + /** + * 坝顶长度(m) + */ + @TableField(value="dam_top_len") + @Schema(description="坝顶长度(m)") + private String damTopLen; + + /** + * 坝顶宽度(m) + */ + @TableField(value="dam_top_wid") + @Schema(description="坝顶宽度(m)") + private String damTopWid; + + /** + * 防浪墙顶高程 + */ + @TableField(value="dam_wave_wall") + @Schema(description="防浪墙顶高程") + private String damWaveWall; + + /** + * 开工日期 + */ + @TableField(value="start_date") + @Schema(description="开工日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date startDate; + + /** + * 竣工日期 + */ + @TableField(value="end_date") + @Schema(description="竣工日期") + // @Size(max = 0,message = "竣工日期最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date endDate; + + /** + * 蓄水日期 + */ + @TableField(value="storage_date") + @Schema(description="蓄水日期") + // @Size(max = 0,message = "蓄水日期最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date storageDate; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + // @Size(max = 0,message = "创建时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AttDamProfile.java b/src/main/java/com/gunshi/project/hsz/model/AttDamProfile.java new file mode 100644 index 0000000..6252a9e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttDamProfile.java @@ -0,0 +1,66 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** +* 描述: 监测断面信息表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="监测断面信息表") +@Data +@TableName("public.att_dam_profile") +public class AttDamProfile implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 断面编号 + */ + @TableId(value="profile_code", type= IdType.AUTO) + @Schema(description="断面编号") + @Size(max = 100,message = "断面编号最大长度要小于 100") + @NotBlank(message = "断面编号不能为空") + private String profileCode; + + /** + * 断面名称 + */ + @TableField(value="profile_name") + @Schema(description="断面名称") + @Size(max = 200,message = "断面名称最大长度要小于 200") + private String profileName; + + /** + * 大坝编号 + */ + @TableField(value="dam_code") + @Schema(description="大坝编号") + @Size(max = 32,message = "大坝编号最大长度要小于 32") + private String damCode; + + /** + * 备注/描述 + */ + @TableField(value="remark") + @Schema(description="备注/描述") + @Size(max = 250,message = "备注/描述最大长度要小于 250") + private String remark; + + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AttGateB.java b/src/main/java/com/gunshi/project/hsz/model/AttGateB.java new file mode 100644 index 0000000..48d8ab8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttGateB.java @@ -0,0 +1,405 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 水闸基本情况调查表 +* author: xusan +* date: 2024-09-26 10:44:05 +*/ +@Schema(description="水闸基本情况调查表") +@Data +@TableName("public.att_gate_b") +public class AttGateB implements Serializable { + + public final static String thisTableName = "AttGateB"; + + private static final long serialVersionUID = 1L; + + /** + * 水闸工程代码 + */ + @TableId(value="gate_code", type= IdType.AUTO) + @Schema(description="水闸工程代码") + @Size(max = 20,message = "水闸工程代码最大长度要小于 20") + @NotBlank(message = "水闸工程代码不能为空") + private String gateCode; + + /** + * 水闸名称 + */ + @TableField(value="gate_name") + @Schema(description="水闸名称") + @Size(max = 100,message = "水闸名称最大长度要小于 100") + @NotBlank(message = "水闸名称不能为空") + private String gateName; + + /** + * 管理单位 + */ + @TableField(value="eng_man_name") + @Schema(description="管理单位") + @Size(max = 255,message = "管理单位最大长度要小于 255") + private String engManName; + + /** + * 所属行政位置 + */ + @TableField(value="ad_namee") + @Schema(description="所属行政位置") + @Size(max = 255,message = "所属行政位置最大长度要小于 255") + private String adNamee; + + /** + * 所在渠道 + */ + @TableField(value="chan_name") + @Schema(description="所在渠道") + @Size(max = 255,message = "所在渠道最大长度要小于 255") + private String chanName; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + private BigDecimal lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + private BigDecimal lttd; + + /** + * 桩号 + */ + @TableField(value="bnch") + @Schema(description="桩号") + @Size(max = 12,message = "桩号最大长度要小于 12") + private String bnch; + + /** + * 闸孔数量 + */ + @TableField(value="gaor_num") + @Schema(description="闸孔数量") + private Integer gaorNum; + + /** + * 水闸类别:1分(泄)洪闸,2节制闸,3排(退)水闸,4引(进)水闸,5 挡潮闸,6 船闸,9其他 + */ + @TableField(value="waga_type") + @Schema(description="水闸类别:1分(泄)洪闸,2节制闸,3排(退)水闸,4引(进)水闸,5 挡潮闸,6 船闸,9其他") + @Size(max = 50,message = "水闸类别:1分(泄)洪闸,2节制闸,3排(退)水闸,4引(进)水闸,5 挡潮闸,6 船闸,9其他最大长度要小于 50") + private String wagaType; + + /** + * 闸门类型 + */ + @TableField(value="gate_tp") + @Schema(description="闸门类型") + @Size(max = 30,message = "闸门类型最大长度要小于 30") + private String gateTp; + + /** + * 闸门尺寸(m) + */ + @TableField(value="gate_size") + @Schema(description="闸门尺寸(m)") + @Size(max = 255,message = "闸门尺寸(m)最大长度要小于 255") + private String gateSize; + + /** + * 动力类型:1手动,2电动,3手电两用 + */ + @TableField(value="pwr_tp") + @Schema(description="动力类型:1手动,2电动,3手电两用") + @Size(max = 50,message = "动力类型:1手动,2电动,3手电两用最大长度要小于 50") + private String pwrTp; + + /** + * 启闭设备类型:1卷扬式,2螺杆式,3凹轮式,4涡轮式,5丝杆式 + */ + @TableField(value="hdgr_tp") + @Schema(description="启闭设备类型:1卷扬式,2螺杆式,3凹轮式,4涡轮式,5丝杆式") + @Size(max = 50,message = "启闭设备类型:1卷扬式,2螺杆式,3凹轮式,4涡轮式,5丝杆式最大长度要小于 50") + private String hdgrTp; + + /** + * 进口高程(m) + */ + @TableField(value="in_ele") + @Schema(description="进口高程(m)") + private BigDecimal inEle; + + /** + * 出口高程(m) + */ + @TableField(value="out_ele") + @Schema(description="出口高程(m)") + private BigDecimal outEle; + + /** + * 设计流量(m3/s) + */ + @TableField(value="dsfl") + @Schema(description="设计流量(m3/s)") + private BigDecimal dsfl; + + /** + * 实达流量(m3/s) + */ + @TableField(value="stfl") + @Schema(description="实达流量(m3/s)") + private BigDecimal stfl; + + /** + * 建成时间 + */ + @TableField(value="comp_date") + @Schema(description="建成时间") + @Size(max = 10,message = "建成时间最大长度要小于 10") + private String compDate; + + /** + * 更新或维修时间 + */ + @TableField(value="updser_date") + @Schema(description="更新或维修时间") + @Size(max = 10,message = "更新或维修时间最大长度要小于 10") + private String updserDate; + + /** + * 更新或维修原因 + */ + @TableField(value="updser_rsn") + @Schema(description="更新或维修原因") + @Size(max = 50,message = "更新或维修原因最大长度要小于 50") + private String updserRsn; + + /** + * 更新或维修投资 + */ + @TableField(value="updser_invst") + @Schema(description="更新或维修投资") + private BigDecimal updserInvst; + + /** + * 工程等别:1Ⅰ,2Ⅱ,3Ⅲ,4Ⅳ,5Ⅴ + */ + @TableField(value="eng_grad") + @Schema(description="工程等别:1Ⅰ,2Ⅱ,3Ⅲ,4Ⅳ,5Ⅴ") + @Size(max = 50,message = "工程等别:1Ⅰ,2Ⅱ,3Ⅲ,4Ⅳ,5Ⅴ最大长度要小于 50") + private String engGrad; + + /** + * 运行情况:1在用良好,2在用故障,3停用 + */ + @TableField(value="run_stat") + @Schema(description="运行情况:1在用良好,2在用故障,3停用") + @Size(max = 50,message = "运行情况:1在用良好,2在用故障,3停用最大长度要小于 50") + private String runStat; + + /** + * 备注 + */ + @TableField(value="note") + @Schema(description="备注") + @Size(max = 255,message = "备注最大长度要小于 255") + private String note; + + /** + * 起点经度 + */ + @TableField(value="start_long") + @Schema(description="起点经度") + private BigDecimal startLong; + + /** + * 起点纬度 + */ + @TableField(value="start_lat") + @Schema(description="起点纬度") + private BigDecimal startLat; + + /** + * 终点经度 + */ + @TableField(value="end_long") + @Schema(description="终点经度") + private BigDecimal endLong; + + /** + * 终点纬度 + */ + @TableField(value="end_lat") + @Schema(description="终点纬度") + private BigDecimal endLat; + + /** + * 水闸用途 + */ + @TableField(value="waga_use") + @Schema(description="水闸用途") + @Size(max = 255,message = "水闸用途最大长度要小于 255") + private String wagaUse; + + /** + * 取水水源类型:1水库,2湖泊,3河流,4其他 + */ + @TableField(value="wain_waso_type") + @Schema(description="取水水源类型:1水库,2湖泊,3河流,4其他") + @Size(max = 50,message = "取水水源类型:1水库,2湖泊,3河流,4其他最大长度要小于 50") + private String wainWasoType; + + /** + * 最大过闸流量(m3/s) + */ + @TableField(value="lock_disc") + @Schema(description="最大过闸流量(m3/s)") + private BigDecimal lockDisc; + + /** + * 装机功率(kw) + */ + @TableField(value="ins_pow") + @Schema(description="装机功率(kw)") + private BigDecimal insPow; + + /** + * 设计装机总容量(mw) + */ + @TableField(value="des_tot_ins_cap") + @Schema(description="设计装机总容量(mw)") + @Size(max = 255,message = "设计装机总容量(mw)最大长度要小于 255") + private String desTotInsCap; + + /** + * 工程建设情况:0未建,1在建,2已建 + */ + @TableField(value="eng_stat") + @Schema(description="工程建设情况:0未建,1在建,2已建") + @Size(max = 50,message = "工程建设情况:0未建,1在建,2已建最大长度要小于 50") + private String engStat; + + /** + * 开工时间 + */ + @TableField(value="start_date") + @Schema(description="开工时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date startDate; + + /** + * 归口管理部门:1水利部门,2电力部门,3农业部门,4 林业部门,5城建部门,6航运部门,7环保部门,9其他部门 + */ + @TableField(value="adm_dep") + @Schema(description="归口管理部门:1水利部门,2电力部门,3农业部门,4 林业部门,5城建部门,6航运部门,7环保部门,9其他部门") + @Size(max = 1,message = "归口管理部门:1水利部门,2电力部门,3农业部门,4 林业部门,5城建部门,6航运部门,7环保部门,9其他部门最大长度要小于 1") + private String admDep; + + /** + * 属性采集时间 + */ + @TableField(value="coll_date") + @Schema(description="属性采集时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date collDate; + + /** + * 属性更新时间 + */ + @TableField(value="upd_date") + @Schema(description="属性更新时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date updDate; + + /** + * 是否可控 0 否 1 是 + */ + @TableField(value="ctrl_type") + @Schema(description="是否可控 0 否 1 是") + private Integer ctrlType; + + /** + * 闸控代码 + */ + @TableField(value="stcd") + @Schema(description="闸控代码") + @Size(max = 10,message = "闸控代码最大长度要小于 10") + private String stcd; + + /** + * 独立密码 + */ + @TableField(value="ctrl_pass") + @Schema(description="独立密码") + @Size(max = 16,message = "独立密码最大长度要小于 16") + @NotBlank(message = "独立密码不能为空") + private String ctrlPass; + + /** + * max_hgt + */ + @TableField(value="max_hgt") + @Schema(description="max_hgt") + private BigDecimal maxHgt; + + /** + * min_hgt + */ + @TableField(value="min_hgt") + @Schema(description="min_hgt") + private BigDecimal minHgt; + + /** + * protocol + */ + @TableField(value="protocol") + @Schema(description="protocol") + @Size(max = 50,message = "protocol最大长度要小于 50") + private String protocol; + + /** + * plc控制版本,1自动令,2手动令,空非plc + */ + @TableField(value="plc_type") + @Schema(description="plc控制版本,1自动令,2手动令,空非plc") + private Integer plcType; + + /** + * sort_order + */ + @TableField(value="sort_order") + @Schema(description="sort_order") + private Integer sortOrder; + + /** + * 楚禹rtu摄像头数量 + */ + @TableField(value="camera_num") + @Schema(description="楚禹rtu摄像头数量") + private Integer cameraNum; + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AttGateValve.java b/src/main/java/com/gunshi/project/hsz/model/AttGateValve.java new file mode 100644 index 0000000..ed570bf --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttGateValve.java @@ -0,0 +1,177 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 闸阀信息表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="闸阀信息表") +@Data +@TableName("public.att_gate_valve") +public class AttGateValve implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 闸阀编码 + */ + @TableId(value="valve_code", type= IdType.AUTO) + @Schema(description="闸阀编码") + @Size(max = 20,message = "闸阀编码最大长度要小于 32") + @NotBlank(message = "闸阀编码不能为空",groups = {Update.class}) + private String valveCode; + + /** + * 闸阀名称 + */ + @TableField(value="valve_name") + @Schema(description="闸阀名称") + @Size(max = 200,message = "闸阀名称最大长度要小于 200") + private String valveName; + + /** + * 所在位置 + */ + @TableField(value="gtlc") + @Schema(description="所在位置") + @Size(max = 200,message = "所在位置最大长度要小于 200") + private String gtlc; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + private String lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + private String lttd; + + /** + * 产品类型 dict_id + */ + @TableField(value="type") + @Schema(description="产品类型 dict_id") + private Long type; + + /** + * 产品型号 + */ + @TableField(value="model") + @Schema(description="产品型号") + @Size(max = 200,message = "产品型号最大长度要小于 200") + private String model; + + /** + * 产品规格 + */ + @TableField(value="spe") + @Schema(description="产品规格") + @Size(max = 200,message = "产品规格最大长度要小于 200") + private String spe; + + /** + * 结构长度 + */ + @TableField(value="len") + @Schema(description="结构长度") + @Size(max = 200,message = "结构长度最大长度要小于 200") + private String len; + /** + * 概化图X + */ + @TableField(value="img_x") + @Schema(description="概化图X") + @Size(max = 200,message = "概化图X最大长度要小于 200") + private String imgX; + + /** + * 概化图Y + */ + @TableField(value="img_y") + @Schema(description="概化图Y") + @Size(max = 200,message = "概化图Y最大长度要小于 200") + private String imgY; + + /** + * remark + */ + @TableField(value="remark") + @Schema(description="remark") + @Size(max = 250,message = "remark最大长度要小于 250") + private String remark; + + /** + * create_time + */ + @TableField(value="create_time") + @Schema(description="create_time") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + + /** + * 法兰尺寸 + */ + @TableField(value="flange_len") + @Schema(description="法兰尺寸") + @Size(max = 200,message = "法兰尺寸最大长度要小于 200") + private String flangeLen; + + /** + * 生产厂家 + */ + @TableField(value="manufacturer") + @Schema(description="生产厂家") + @Size(max = 200,message = "生产厂家最大长度要小于 200") + private String manufacturer; + + /** + * 联系电话 + */ + @TableField(value="contact_cell") + @Schema(description="联系电话") + @Size(max = 200,message = "联系电话最大长度要小于 200") + private String contactCell; + + /** + * 联系人 + */ + @TableField(value="contacts") + @Schema(description="联系人") + @Size(max = 200,message = "联系人最大长度要小于 200") + private String contacts; + + /** + * 是否可手动控制 + */ + @TableField(value="manual_operation") + @Schema(description="是否可手动控制") + private Boolean manualOperation; + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AttMeaWeir.java b/src/main/java/com/gunshi/project/hsz/model/AttMeaWeir.java new file mode 100644 index 0000000..63f6490 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttMeaWeir.java @@ -0,0 +1,135 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 量水堰表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="量水堰表") +@Data +@TableName("public.att_mea_weir") +public class AttMeaWeir implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="weir_code", type= IdType.AUTO) + @Schema(description="主键") + @Size(max = 32,message = "主键最大长度要小于 32") + @NotBlank(message = "主键不能为空",groups = {Update.class}) + private String weirCode; + + /** + * 量水堰名称 + */ + @TableField(value="weir_name") + @Schema(description="量水堰名称") + @Size(max = 30,message = "量水堰名称最大长度要小于 30") + private String weirName; + + /** + * 行政区划 + */ + @TableField(value="adcd") + @Schema(description="行政区划") + @Size(max = 100,message = "行政区划最大长度要小于 100") + private String adcd; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + private String lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + private String lttd; + + /** + * 设施类别 + */ + @TableField(value="type") + @Schema(description="设施类别") + private Integer type; + + /** + * 所在位置 + */ + @TableField(value="location") + @Schema(description="所在位置") + @Size(max = 300,message = "所在位置最大长度要小于 300") + private String location; + + /** + * 结构形式 + */ + @TableField(value="style") + @Schema(description="结构形式") + @Size(max = 100,message = "结构形式最大长度要小于 100") + private String style; + + /** + * 建成日期 + */ + @TableField(value="build_date") + @Schema(description="建成日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date buildDate; + + /** + * 设计流量 + */ + @TableField(value="des_q") + @Schema(description="设计流量") + // @Size(max = 0,message = "设计流量最大长度要小于 0") + private String desQ; + + /** + * 实达流量 + */ + @TableField(value="real_q") + @Schema(description="实达流量") + // @Size(max = 0,message = "实达流量最大长度要小于 0") + private String realQ; + + /** + * 备注 + */ + @TableField(value="remark") + @Schema(description="备注") + @Size(max = 500,message = "备注最大长度要小于 500") + private String remark; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + // @Size(max = 0,message = "创建时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AttResBase.java b/src/main/java/com/gunshi/project/hsz/model/AttResBase.java new file mode 100644 index 0000000..a017e27 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttResBase.java @@ -0,0 +1,610 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 水库基本信息表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水库基本信息表") +@Data +@TableName("public.att_res_base") +public class AttResBase implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 水库代码 + */ + @TableId(value="res_code", type= IdType.AUTO) + @Schema(description="水库代码") + @Size(max = 32,message = "水库代码最大长度要小于 32") + @NotBlank(message = "水库代码不能为空") + private String resCode; + + /** + * 水库名称 + */ + @TableField(value="res_name") + @Schema(description="水库名称") + @Size(max = 100,message = "水库名称最大长度要小于 100") + @NotBlank(message = "水库名称不能为空") + private String resName; + + /** + * 左下角经度 + */ + @TableField(value="low_left_long") + @Schema(description="左下角经度") + private BigDecimal lowLeftLong; + + /** + * 左下角纬度 + */ + @TableField(value="low_left_lat") + @Schema(description="左下角纬度") + private BigDecimal lowLeftLat; + + /** + * 右上角经度 + */ + @TableField(value="up_right_long") + @Schema(description="右上角经度") + private BigDecimal upRightLong; + + /** + * 右上角纬度 + */ + @TableField(value="up_right_lat") + @Schema(description="右上角纬度") + private BigDecimal upRightLat; + + /** + * 水库所在位置 + */ + @TableField(value="res_loc") + @Schema(description="水库所在位置") + @Size(max = 256,message = "水库所在位置最大长度要小于 256") + private String resLoc; + + /** + * 水库类型 山丘水库 1 平原水库 2 地下水库 3 + */ + @TableField(value="res_type") + @Schema(description="水库类型 山丘水库 1 平原水库 2 地下水库 3") + @Size(max = 1,message = "水库类型 山丘水库 1 平原水库 2 地下水库 3最大长度要小于 1") + private String resType; + + /** + * 工程等别 Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5 + */ + @TableField(value="eng_grad") + @Schema(description="工程等别 Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5") + @Size(max = 1,message = "工程等别 Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5最大长度要小于 1") + private String engGrad; + + /** + * 工程规模 大 (1)型 1 大 (2)型 2 中型 3 小 (1)型 4 小 (2)型 5 其他 9 + */ + @TableField(value="eng_scal") + @Schema(description="工程规模 大 (1)型 1 大 (2)型 2 中型 3 小 (1)型 4 小 (2)型 5 其他 9") + @Size(max = 1,message = "工程规模 大 (1)型 1 大 (2)型 2 中型 3 小 (1)型 4 小 (2)型 5 其他 9最大长度要小于 1") + private String engScal; + + /** + * 坝址控制流域面积 + */ + @TableField(value="wat_shed_area") + @Schema(description="坝址控制流域面积") + private BigDecimal watShedArea; + + /** + * 防洪高水位 + */ + @TableField(value="upp_lev_flco") + @Schema(description="防洪高水位") + private BigDecimal uppLevFlco; + + /** + * 正常蓄水位 + */ + @TableField(value="norm_wat_lev") + @Schema(description="正常蓄水位") + // @Size(max = 0,message = "正常蓄水位最大长度要小于 0") + private BigDecimal normWatLev; + + /** + * 正常蓄水位相应水面面积 + */ + @TableField(value="norm_pool_stag_area") + @Schema(description="正常蓄水位相应水面面积") + // @Size(max = 0,message = "正常蓄水位相应水面面积最大长度要小于 0") + private BigDecimal normPoolStagArea; + + /** + * 正常蓄水位相应库容 + */ + @TableField(value="norm_pool_stag_cap") + @Schema(description="正常蓄水位相应库容") + // @Size(max = 0,message = "正常蓄水位相应库容最大长度要小于 0") + private BigDecimal normPoolStagCap; + + /** + * 主汛期防洪限制水位 + */ + @TableField(value="fl_low_lim_lev") + @Schema(description="主汛期防洪限制水位") + private BigDecimal flLowLimLev; + + /** + * 防洪限制水位库容 + */ + @TableField(value="fl_low_lim_lev_cap") + @Schema(description="防洪限制水位库容") + // @Size(max = 0,message = "防洪限制水位库容最大长度要小于 0") + private BigDecimal flLowLimLevCap; + + /** + * 死水位 + */ + @TableField(value="dead_lev") + @Schema(description="死水位") + // @Size(max = 0,message = "死水位最大长度要小于 0") + private BigDecimal deadLev; + + /** + * 总库容 + */ + @TableField(value="tot_cap") + @Schema(description="总库容") + // @Size(max = 0,message = "总库容最大长度要小于 0") + private BigDecimal totCap; + + /** + * 兴利库容 + */ + @TableField(value="ben_res_cap") + @Schema(description="兴利库容") + // @Size(max = 0,message = "兴利库容最大长度要小于 0") + private BigDecimal benResCap; + + /** + * 死库容 + */ + @TableField(value="dead_cap") + @Schema(description="死库容") + // @Size(max = 0,message = "死库容最大长度要小于 0") + private BigDecimal deadCap; + + /** + * 调洪库容 + */ + @TableField(value="stor_fl_cap") + @Schema(description="调洪库容") + // @Size(max = 0,message = "调洪库容最大长度要小于 0") + private BigDecimal storFlCap; + + /** + * 防洪库容 + */ + @TableField(value="flco_cap") + @Schema(description="防洪库容") + // @Size(max = 0,message = "防洪库容最大长度要小于 0") + private BigDecimal flcoCap; + + /** + * 工程建设情况 在建 0 已建 1 + */ + @TableField(value="eng_stat") + @Schema(description="工程建设情况 在建 0 已建 1") + @Size(max = 1,message = "工程建设情况 在建 0 已建 1最大长度要小于 1") + private String engStat; + + /** + * 开工时间 + */ + @TableField(value="start_date") + @Schema(description="开工时间") + // @Size(max = 0,message = "开工时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date startDate; + + /** + * 建成时间 + */ + @TableField(value="comp_date") + @Schema(description="建成时间") + // @Size(max = 0,message = "建成时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date compDate; + + /** + * 归口管理部门 水利部门 1 电力部门 2 农业部门 3 林业部门 4 城建部门 5 航运部门 6 环保部门 7 其他部门 9 + */ + @TableField(value="adm_dep") + @Schema(description="归口管理部门 水利部门 1 电力部门 2 农业部门 3 林业部门 4 城建部门 5 航运部门 6 环保部门 7 其他部门 9") + @Size(max = 1,message = "归口管理部门 水利部门 1 电力部门 2 农业部门 3 林业部门 4 城建部门 5 航运部门 6 环保部门 7 其他部门 9最大长度要小于 1") + private String admDep; + + /** + * 备注 + */ + @TableField(value="note") + @Schema(description="备注") + @Size(max = 256,message = "备注最大长度要小于 256") + private String note; + + /** + * 记录生效时间 + */ + @TableField(value="eff_date") + @Schema(description="记录生效时间") + // @Size(max = 0,message = "记录生效时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date effDate; + + /** + * 记录失效时间 + */ + @TableField(value="expr_date") + @Schema(description="记录失效时间") + // @Size(max = 0,message = "记录失效时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date exprDate; + + /** + * 所在行政区划 行政区划名称 格式:省-市-县-镇 + */ + @TableField(value="adnm") + @Schema(description="所在行政区划 行政区划名称 格式:省-市-县-镇") + @Size(max = 256,message = "所在行政区划 行政区划名称 格式:省-市-县-镇最大长度要小于 256") + private String adnm; + + /** + * 所在流域 流域名称 + */ + @TableField(value="bas_name") + @Schema(description="所在流域 流域名称") + @Size(max = 256,message = "所在流域 流域名称最大长度要小于 256") + private String basName; + + /** + * 所在水系 水系名称 + */ + @TableField(value="ws_name") + @Schema(description="所在水系 水系名称") + @Size(max = 256,message = "所在水系 水系名称最大长度要小于 256") + private String wsName; + + /** + * 所在河流名称 + */ + @TableField(value="rv_name") + @Schema(description="所在河流名称") + @Size(max = 256,message = "所在河流名称最大长度要小于 256") + private String rvName; + + /** + * 注册时间 + */ + @TableField(value="reg_time") + @Schema(description="注册时间") + // @Size(max = 0,message = "注册时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date regTime; + + /** + * 注册登记号 + */ + @TableField(value="reg_sn") + @Schema(description="注册登记号") + @Size(max = 256,message = "注册登记号最大长度要小于 256") + private String regSn; + + /** + * 管理单位 管理单位名称 + */ + @TableField(value="manag_name") + @Schema(description="管理单位 管理单位名称") + @Size(max = 256,message = "管理单位 管理单位名称最大长度要小于 256") + private String managName; + + /** + * 高程基准面 基面名称 + */ + @TableField(value="elev_dat") + @Schema(description="高程基准面 基面名称") + @Size(max = 256,message = "高程基准面 基面名称最大长度要小于 256") + private BigDecimal elevDat; + + /** + * 水库功能 功能名称 + */ + @TableField(value="rsv_function") + @Schema(description="水库功能 功能名称") + @Size(max = 256,message = "水库功能 功能名称最大长度要小于 256") + private String rsvFunction; + + /** + * 溢洪道是否有闸 1:有 0:无 + */ + @TableField(value="spillway_gate") + @Schema(description="溢洪道是否有闸 1:有 0:无") + @Size(max = 1,message = "溢洪道是否有闸 1:有 0:无最大长度要小于 1") + private String spillwayGate; + + /** + * 校核洪水位 + */ + @TableField(value="cal_flood_lev") + @Schema(description="校核洪水位") + // @Size(max = 0,message = "校核洪水位最大长度要小于 0") + private BigDecimal calFloodLev; + + /** + * 设计洪水位 + */ + @TableField(value="des_flood_lev") + @Schema(description="设计洪水位") + // @Size(max = 0,message = "设计洪水位最大长度要小于 0") + private BigDecimal desFloodLev; + + /** + * 坝顶高程 + */ + @TableField(value="crest_elev") + @Schema(description="坝顶高程") + // @Size(max = 0,message = "坝顶高程最大长度要小于 0") + private BigDecimal crestElev; + + /** + * 最大坝高 + */ + @TableField(value="max_dam_heig") + @Schema(description="最大坝高") + // @Size(max = 0,message = "最大坝高最大长度要小于 0") + private BigDecimal maxDamHeig; + + /** + * 设计洪水位时最大下泄流量 + */ + @TableField(value="max_des_flood_flow") + @Schema(description="设计洪水位时最大下泄流量") + // @Size(max = 0,message = "设计洪水位时最大下泄流量最大长度要小于 0") + private BigDecimal maxDesFloodFlow; + + /** + * 校核洪水位时最大下泄流量 + */ + @TableField(value="max_cal_flood_flow") + @Schema(description="校核洪水位时最大下泄流量") + // @Size(max = 0,message = "校核洪水位时最大下泄流量最大长度要小于 0") + private BigDecimal maxCalFloodFlow; + + /** + * 下游河道安全流量 + */ + @TableField(value="ds_saft_flow") + @Schema(description="下游河道安全流量") + // @Size(max = 0,message = "下游河道安全流量最大长度要小于 0") + private BigDecimal dsSaftFlow; + + /** + * 工程概况 + */ + @TableField(value="proj_overview") + @Schema(description="工程概况") + @Size(max = 1000,message = "工程概况最大长度要小于 1000") + private String projOverview; + + /** + * 关联测站 + */ + @TableField(value="stcd") + @Schema(description="关联测站") + @Size(max = 18,message = "关联测站最大长度要小于 18") + private String stcd; + + /** + * 是否病险 1:病 + */ + @TableField(value="is_danger") + @Schema(description="是否病险 1:病 ") + // @Size(max = 0,message = "是否病险 1:病 最大长度要小于 0") + private Integer isDanger; + + /** + * 病险概况 + */ + @TableField(value="danger_overview") + @Schema(description="病险概况") + // @Size(max = 0,message = "病险概况最大长度要小于 0") + private BigDecimal dangerOverview; + + /** + * 重点水库 + */ + @TableField(value="is_important") + @Schema(description="重点水库") + // @Size(max = 0,message = "重点水库最大长度要小于 0") + private Integer isImportant; + + /** + * 经度 (°) + */ + @TableField(value="lgtd") + @Schema(description="经度 (°)") + // @Size(max = 0,message = "经度 (°)最大长度要小于 0") + private BigDecimal lgtd; + + /** + * 纬度 (°) + */ + @TableField(value="lttd") + @Schema(description="纬度 (°)") + // @Size(max = 0,message = "纬度 (°)最大长度要小于 0") + private BigDecimal lttd; + + /** + * geojson + */ + @TableField(value="geometry") + @Schema(description="geojson") + // @Size(max = 0,message = "geojson最大长度要小于 0") + private BigDecimal geometry; + + /** + * 是否有大坝安监数据 + */ + @TableField(value="has_wypress") + @Schema(description="是否有大坝安监数据") + // @Size(max = 0,message = "是否有大坝安监数据最大长度要小于 0") + private Integer hasWypress; + + /** + * adcd + */ + @TableField(value="adcd") + @Schema(description="adcd") + @Size(max = 255,message = "adcd最大长度要小于 255") + private String adcd; + + /** + * 堰顶高程,m + */ + @TableField(value="wcrstel") + @Schema(description="堰顶高程,m") + private BigDecimal wcrstel; + + /** + * feedPop + */ + @TableField(value="feed_pop") + @Schema(description="受益人口(人)") + private Integer feedPop; + + /** + * design_irr_area + */ + @TableField(value="design_irr_area") + @Schema(description="设计灌溉面积(亩)") + private BigDecimal designIrrArea; + + /** + * actual_irr_area + */ + @TableField(value="actual_irr_area") + @Schema(description="实际灌溉面积(亩)") + private BigDecimal actualIrrArea; + + /** + * actual_irr_area + */ + @TableField(value="benefit") + @Schema(description="供水效益") + private String benefit; + + /** + * 全流域面积 + */ + @TableField(value="bas_area") + @Schema(description="全流域面积") + private BigDecimal basArea; + + /** + * 坝址以上主河床长度 + */ + @TableField(value="wat_river_len") + @Schema(description="坝址以上主河床长度") + private BigDecimal watRiverLen; + + /** + * 坝址以上主河床坡降 + */ + @TableField(value="wat_river_slope") + @Schema(description="坝址以上主河床坡降") + private BigDecimal watRiverSlope; + + /** + * 多年平均降雨量(坝址处) + */ + @TableField(value="annual_avg_drp") + @Schema(description="多年平均降雨量(坝址处)") + private BigDecimal annualAvgDrp; + + /** + * 多年平均气温 + */ + @TableField(value="annual_avg_tem") + @Schema(description="多年平均气温") + private BigDecimal annualAvgTem; + + /** + * 保护人口(人) + */ + @TableField(value="protect_population") + @Schema(description="保护人口(人)") + private Double protectPopulation; + + /** + * 保护农田(亩) + */ + @TableField(value="protect_farmland") + @Schema(description="保护农田(亩)") + private Double protectFarmland; + + /** + * 地震基本烈度Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5 VI 6 + */ + @TableField(value="seismic_intensity") + @Schema(description="地震基本烈度Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5 VI 6") + private Integer seismicIntensity; + + /** + * 地震动参数设计值 + */ + @TableField(value="seismic_parm") + @Schema(description="地震动参数设计值") + private BigDecimal seismicParm; + + /** + * 设计洪水标准及洪峰流量 + */ + @TableField(value="des_flood_peak_flow") + @Schema(description="设计洪水标准及洪峰流量") + private BigDecimal desFloodPeakFlow; + + /** + * 校核洪水标准及洪峰流量 + */ + @TableField(value="cal_flood_peak_flow") + @Schema(description="校核洪水标准及洪峰流量") + private BigDecimal calFloodPeakFlow; + + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; + + @TableField(value="brief_tpl") + @JsonIgnore + private String briefTpl; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/AttResBuilding.java b/src/main/java/com/gunshi/project/hsz/model/AttResBuilding.java new file mode 100644 index 0000000..cc90dd1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttResBuilding.java @@ -0,0 +1,89 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* 描述: 水库基本信息表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水库基本信息表") +@Data +@TableName("public.att_res_building") +public class AttResBuilding implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 水库代码 + */ + @TableId(value="id", type= IdType.INPUT) + private Integer id; + + // 主坝字段 (prefix: main_) + private String mainType; // 主坝-坝型 + private BigDecimal mainCrestElevation; // 主坝-坝顶高程(m) + private BigDecimal mainCrestLength; // 主坝-坝顶长度(m) + private BigDecimal mainCrestWidth; // 主坝-坝顶宽度(m) + private BigDecimal mainMaxHeight; // 主坝-最大坝高(m) + + // 副坝字段 (prefix: aux_) + private String auxType; // 副坝-坝型 + private BigDecimal auxCrestElevation; // 副坝-坝顶高程(m) + private BigDecimal auxCrestLength; // 副坝-坝顶长度(m) + private BigDecimal auxCrestWidth; // 副坝-坝顶宽度(m) + private BigDecimal auxMaxHeight; // 副坝-最大坝高(m) + + // 溢洪道字段 (prefix: spillway_) + private String spillwayType; // 溢洪道-型式 + private String spillwayCrestType; // 溢洪道-堰顶型式 + private String spillwayFoundation; // 溢洪道-地基特性 + private BigDecimal spillwayCrestElevation; // 溢洪道-溢流堰顶高程(m) + private BigDecimal spillwayNetWidth; // 溢洪道-溢流堰净宽(m) + private String spillwayEnergyDissipation; // 溢洪道-消能型式 + private BigDecimal spillwayCheckFloodDischarge; // 溢洪道-校核洪水下泄流量(m³/s) + private BigDecimal spillwayDesignFloodDischarge; // 溢洪道-设计洪水下泄流量(m³/s) + private BigDecimal spillwayScouringDischarge; // 溢洪道-消能防冲下泄流量(m³/s) + + // 灌溉发电洞字段 (prefix: irrigation_) + private String irrigationType; // 灌溉发电洞-型式 + private String irrigationLiningType; // 灌溉发电洞-衬砌型式 + private String irrigationFoundation; // 灌溉发电洞-地基特性 + private BigDecimal irrigationInletElevation; // 灌溉发电洞-进口底板高程(m) + private String irrigationCrossSection; // 灌溉发电洞-断面尺寸(m) + private BigDecimal irrigationLength; // 灌溉发电洞-洞长(m) + private BigDecimal irrigationDesignFlow; // 灌溉发电洞-设计流量(m³/s) + private String irrigationGateType; // 灌溉发电洞-进口闸门型式 + private String irrigationHoistType; // 灌溉发电洞-进口启闭机型式 + + // 放空洞字段 (prefix: emptying_) + private String emptyingType; // 放空洞-型式 + private String emptyingLiningType; // 放空洞-衬砌型式 + private String emptyingFoundation; // 放空洞-地基特性 + private BigDecimal emptyingInletElevation; // 放空洞-进口底板高程(m) + private String emptyingCrossSection; // 放空洞-断面尺寸(m) + private BigDecimal emptyingLength; // 放空洞-洞长(m) + private BigDecimal emptyingDesignFlow; // 放空洞-设计流量(m³/s) + private String emptyingGateType; // 放空洞-进口闸门型式 + private String emptyingHoistType; // 放空洞-进口启闭机型式 + + // 拦洪坝字段 (prefix: flood_control_) + private String floodControlType; // 拦洪坝-坝型 + private BigDecimal floodControlCrestElevation; // 拦洪坝-坝顶高程(m) + private BigDecimal floodControlCrestLength; // 拦洪坝-坝顶长度(m) + private BigDecimal floodControlCrestWidth; // 拦洪坝-坝顶宽度(m) + private BigDecimal floodControlMaxHeight; // 拦洪坝-最大坝高(m) + + // 防汛道路字段 (prefix: road_) + private BigDecimal roadLength; // 防汛道路-防汛路长度(m) + private BigDecimal roadWidth; // 防汛道路-路面宽度(m) +} diff --git a/src/main/java/com/gunshi/project/hsz/model/AttSpillwayBase.java b/src/main/java/com/gunshi/project/hsz/model/AttSpillwayBase.java new file mode 100644 index 0000000..be705a8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttSpillwayBase.java @@ -0,0 +1,141 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Delete; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 溢洪道 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="溢洪道") +@Data +@TableName("public.att_spillway_base") +public class AttSpillwayBase implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 溢洪道代码 + */ + @TableId(value="code", type= IdType.AUTO) + @Schema(description="溢洪道代码") + @Size(max = 32,message = "溢洪道代码最大长度要小于 32") + @NotBlank(message = "溢洪道代码不能为空",groups = { Update.class, Delete.class}) + private String code; + + /** + * 溢洪道名称 + */ + @TableField(value="name") + @Schema(description="溢洪道名称") + @Size(max = 30,message = "溢洪道名称最大长度要小于 30") + private String name; + + /** + * 型式 + */ + @TableField(value="build_type") + @Schema(description="型式") + @Size(max = 30,message = "型式最大长度要小于 30") + private String buildType; + + /** + * 堰顶型式 + */ + @TableField(value="crest_type") + @Schema(description="堰顶型式") + @Size(max = 30,message = "堰顶型式最大长度要小于 30") + private String crestType; + + /** + * 地基特性 + */ + @TableField(value="found_character") + @Schema(description="地基特性") + @Size(max = 30,message = "地基特性最大长度要小于 30") + private String foundCharacter; + + /** + * 堰顶高程(m) + */ + @TableField(value="crest_ele") + @Schema(description="堰顶高程(m)") + private String crestEle; + + /** + * 总净宽 + */ + @TableField(value="net_width") + @Schema(description="总净宽") + @Size(max = 30,message = "总净宽最大长度要小于 30") + private String netWidth; + + /** + * 消能方式 + */ + @TableField(value="elim_method") + @Schema(description="消能方式") + @Size(max = 18,message = "消能方式最大长度要小于 18") + private String elimMethod; + + /** + * 消能防冲流量 + */ + @TableField(value="elim_q") + @Schema(description="消能防冲流量") + private String elimQ; + + /** + * 最大单宽流量 + */ + @TableField(value="bwid_q") + @Schema(description="最大单宽流量") + private String bwidQ; + + /** + * 设计泄洪流量(m3/s) + */ + @TableField(value="des_q") + @Schema(description="设计泄洪流量(m3/s)") + private String desQ; + + /** + * 校核泄洪流量(m3/s) + */ + @TableField(value="cali_q") + @Schema(description="校核泄洪流量(m3/s)") + private String caliQ; + + /** + * 备注 + */ + @TableField(value="remark") + @Schema(description="备注") + @Size(max = 500,message = "备注最大长度要小于 500") + private String remark; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/AttWaterItem.java b/src/main/java/com/gunshi/project/hsz/model/AttWaterItem.java new file mode 100644 index 0000000..1270b12 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/AttWaterItem.java @@ -0,0 +1,88 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 水质整编展示项目表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水质整编展示项目表") +@Data +@TableName("public.att_water_item") +public class AttWaterItem implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + private Long id; + + /** + * 字段名 + */ + @TableField(value="en_name") + @Schema(description="字段名") + @Size(max = 10,message = "字段名最大长度要小于 10") + private String enName; + + /** + * 中文名 + */ + @TableField(value="cn_name") + @Schema(description="中文名") + @Size(max = 10,message = "中文名最大长度要小于 10") + private String cnName; + + /** + * 单位 + */ + @TableField(value="unit") + @Schema(description="单位") + @Size(max = 10,message = "单位最大长度要小于 10") + private String unit; + + /** + * 是否显示 + */ + @TableField(value="is_show") + @Schema(description="是否显示(0 显示;1 隐藏)") + private String isShow; + + /** + * 是否启用 + */ + @TableField(value="is_enable") + @Schema(description="是否启用(0 启动;1 禁用)") + private String isEnable; + + /** + * 排序 + */ + @TableField(value="sort") + @Schema(description="排序") + private String sort; + + /** + * 是否比较(0 比较;1 不比较) + */ + @TableField(value="is_compare") + @Schema(description="是否比较(0 比较;1 不比较)") + private String isCompare; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/BroadcastStation.java b/src/main/java/com/gunshi/project/hsz/model/BroadcastStation.java new file mode 100644 index 0000000..50d68f0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/BroadcastStation.java @@ -0,0 +1,66 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 广播预警站 +* author: xusan +* date: 2024-09-25 10:19:15 +*/ +@Schema(description="广播预警站") +@Data +@TableName("public.broadcast_station") +public class BroadcastStation implements Serializable { + + public final static String thisTableName = "BroadcastStation"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 站点名称 + */ + @TableField(value="name") + @Schema(description="站点名称") + @Size(max = 100,message = "站点名称最大长度要小于 100") + @NotBlank(message = "站点名称不能为空") + private String name; + + /** + * 排序 + */ + @TableField(value="order_index") + @Schema(description="排序") + private Integer orderIndex; + + /** + * 独立密码 + */ + @TableField(value="ctrl_pass") + @Schema(description="独立密码") + @Size(max = 16,message = "独立密码最大长度要小于 16") + private String ctrlPass; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/BroadcastTemplate.java b/src/main/java/com/gunshi/project/hsz/model/BroadcastTemplate.java new file mode 100644 index 0000000..0f529b5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/BroadcastTemplate.java @@ -0,0 +1,58 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 广播模板 +* author: xusan +* date: 2024-09-25 10:19:00 +*/ +@Schema(description="广播模板") +@Data +@TableName("public.broadcast_template") +public class BroadcastTemplate implements Serializable { + + public final static String thisTableName = "BroadcastTemplate"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 内容 + */ + @TableField(value="content") + @Schema(description="内容") + @Size(max = 500,message = "内容最大长度要小于 500") + @NotBlank(message = "内容不能为空") + private String content; + + /** + * 排序 + */ + @TableField(value="order_index") + @Schema(description="排序") + private Integer orderIndex; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/BroadcastWarn.java b/src/main/java/com/gunshi/project/hsz/model/BroadcastWarn.java new file mode 100644 index 0000000..ed31cc4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/BroadcastWarn.java @@ -0,0 +1,99 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 广播预警信息 +* author: xusan +* date: 2024-09-25 10:17:53 +*/ +@Schema(description="广播预警信息") +@Data +@TableName("public.broadcast_warn") +public class BroadcastWarn implements Serializable { + + public final static String thisTableName = "BroadcastWarn"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 站点id + */ + @TableField(value="station_id") + @Schema(description="站点id") + @JsonSerialize(using = ToStringSerializer.class) + private Long stationId; + + @TableField(exist = false) + @Schema(description="站点名称") + private String name; + + @TableField(exist = false) + @Schema(description="站点id集合") + private List stationIds; + + /** + * 告警内容 + */ + @TableField(value="warn_content") + @Schema(description="告警内容") + @Size(max = 500,message = "告警内容最大长度要小于 500") + private String warnContent; + + /** + * 创建人id + */ + @TableField(value="create_user_id") + @Schema(description="创建人id") + private Long createUserId; + + /** + * 创建人名称 + */ + @TableField(value="create_user_name") + @Schema(description="创建人名称") + @Size(max = 100,message = "创建人名称最大长度要小于 100") + private String createUserName; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + /** + * 密码 + */ + @TableField(exist = false) + @Schema(description="密码") + private String ctrlPass; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/BzDictRel.java b/src/main/java/com/gunshi/project/hsz/model/BzDictRel.java new file mode 100644 index 0000000..5523010 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/BzDictRel.java @@ -0,0 +1,66 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 业务关联字典 +* author: xusan +* date: 2024-08-28 10:05:20 +*/ +@Schema(description="业务关联字典") +@Data +@TableName("public.bz_dict_rel") +public class BzDictRel implements Serializable { + + public final static String thisTableName = "BzDictRel"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 业务id + */ + @TableField(value="business_id") + @Schema(description="业务id") + @JsonSerialize(using = ToStringSerializer.class) + private Long businessId; + + /** + * 字典id + */ + @TableField(value="sys_dict_id") + @Schema(description="字典id") + @JsonSerialize(using = ToStringSerializer.class) + private Long sysDictId; + + /** + * 业务类型 + */ + @TableField(value="group_id") + @Schema(description="业务类型") + @Size(max = 100,message = "业务类型最大长度要小于 100") + private String groupId; + + @TableField(exist = false) + @Schema(description = "字典名称") + private String dictNm; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/CctvBMenu.java b/src/main/java/com/gunshi/project/hsz/model/CctvBMenu.java new file mode 100644 index 0000000..a46818a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/CctvBMenu.java @@ -0,0 +1,70 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** +* 描述: 视频点目录 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="视频点目录") +@Data +@TableName("public.cctv_b_menu") +public class CctvBMenu implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="id") + @NotNull(message = "id不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * parent_id + */ + @TableField(value="parent_id") + @Schema(description="parent_id") + @JsonSerialize(using = ToStringSerializer.class) + private Long parentId; + + /** + * name + */ + @TableField(value="name") + @Schema(description="name") + @Size(max = 255,message = "name最大长度要小于 255") + @NotBlank(message = "name不能为空") + private String name; + + /** + * 排序 + */ + @TableField(value="order_index") + @Schema(description="排序") + private Integer orderIndex; + + @TableField(exist = false) + @Schema(description="子集") + private List children; + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/CommCreate.java b/src/main/java/com/gunshi/project/hsz/model/CommCreate.java new file mode 100644 index 0000000..0298a5e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/CommCreate.java @@ -0,0 +1,51 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * Created by XuSan on 2024/9/25. + * + * @author XuSan + * @version 1.0 + */ +@Schema(description="新增公共模型") +@Data +public class CommCreate { + + + /** + * 创建人Id + */ + @TableField(value="create_by" ,updateStrategy = FieldStrategy.NOT_NULL) + @Schema(description="填报人Id") + @JsonSerialize(using = ToStringSerializer.class) + private Long createBy; + + /** + * 创建人名字 + */ + @TableField(value="create_name" ,updateStrategy = FieldStrategy.NOT_NULL) + @Schema(description="填报人名字") + @Size(max = 30,message = "填报人名字最大长度要小于 30") + private String createName; + + /** + * 创建人时间 + */ + @Schema(description="填报时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) + @TableField(value="create_time" ,updateStrategy = FieldStrategy.NOT_NULL) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/CommUpdate.java b/src/main/java/com/gunshi/project/hsz/model/CommUpdate.java new file mode 100644 index 0000000..bc40a5d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/CommUpdate.java @@ -0,0 +1,53 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * Description: + * Created by XuSan on 2024/9/25. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Schema(description="修改公共模型") +@Data +public class CommUpdate extends CommCreate{ + + + /** + * 更新人Id + */ + @TableField(value="update_by" ,updateStrategy = FieldStrategy.NOT_NULL) + @Schema(description="更新人Id") + @JsonSerialize(using = ToStringSerializer.class) + private Long updateBy; + + /** + * 更新人名字 + */ + @TableField(value="update_name" ,updateStrategy = FieldStrategy.NOT_NULL) + @Schema(description="更新人名字") + @Size(max = 30,message = "更新人名字最大长度要小于 30") + private String updateName; + + /** + * 更新时间 + */ + @Schema(description="更新时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) + @TableField(value="update_time" ,updateStrategy = FieldStrategy.NOT_NULL) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date updateTime; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/DispatchRecord.java b/src/main/java/com/gunshi/project/hsz/model/DispatchRecord.java new file mode 100644 index 0000000..de0985f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/DispatchRecord.java @@ -0,0 +1,110 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 调度记录 +* author: xusan +* date: 2024-10-09 09:56:28 +*/ +@Schema(description="调度记录") +@Data +@TableName("public.dispatch_record") +public class DispatchRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 调度开始时间 + */ + @TableField(value="start_time") + @Schema(description="调度开始时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date startTime; + + /** + * 调度结束时间 + */ + @TableField(value="end_time") + @Schema(description="调度结束时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date endTime; + + /** + * 状态(0执行中 1完成) + */ + @TableField(value="status") + @Schema(description="状态(0执行中 1完成)") + private Integer status; + + /** + * 操作人id + */ + @TableField(value="op_user_id") + @Schema(description="操作人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long opUserId; + + /** + * 操作人名称 + */ + @TableField(value="op_user_name") + @Schema(description="操作人名称") + @Size(max = 100,message = "操作人名称最大长度要小于 100") + private String opUserName; + + /** + * 调度原因 + */ + @TableField(value="dispatch_reason") + @Schema(description="调度原因") + @Size(max = 500,message = "dispatch_reason最大长度要小于 500") + private String dispatchReason; + + /** + * 调度详情 + */ + @TableField(value="dispatch_detail") + @Schema(description="调度详情") + @Size(max = 500,message = "dispatch_detail最大长度要小于 500") + private String dispatchDetail; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + @TableField(exist = false) + @Schema(description = "附件") + private List files; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/FileAssociations.java b/src/main/java/com/gunshi/project/hsz/model/FileAssociations.java new file mode 100644 index 0000000..a16ff9d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/FileAssociations.java @@ -0,0 +1,115 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 文件关联业务表 +* author: xusan +* date: 2024-07-17 10:09:40 +*/ +@Schema(description="文件关联业务表") +@Data +@TableName("public.file_associations") +public class FileAssociations implements Serializable { + + public final static String thisTableName = "file_associations"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 业务id + */ + @TableField(value="business_id") + @Schema(description="业务id") + @NotBlank(message = "业务id不能为空") + private String businessId; + + /** + * 文件id + */ + @TableField(value="file_id") + @Schema(description="文件id") + @NotBlank(message = "文件id不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long fileId; + + /** + * 序号 + */ + @TableField(value="sort_on") + @Schema(description="序号") + private Integer sortOn; + + /** + * 时间戳 + */ + @TableField(value="tm") + @Schema(description="时间戳") + @NotBlank(message = "时间戳不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 业务表名 + */ + @TableField(value="table_name") + @Schema(description="业务表名") + @Size(max = 255,message = "业务表名最大长度要小于 255") + @NotBlank(message = "业务表名不能为空") + private String tableName; + /** + * 业务表名 + */ + @TableField(value="del") + @Size(max = 1,message = "删除标识最大长度要小于 2") + @Schema(description="删除标识1: 未删除,0:已删除") + @NotBlank(message = "删除标识不能为空") + private String del; + + + @TableField(value = "type") + @Schema(description = "业务文件类型 " + + "0:水库基本信息-工程基础信息-工程特性表," + + "1:水库基本信息-设计图纸和资料" + + "大坝 图片文件type:3 , 视频文件type:4") + private String type; + + + @TableField(exist = false) + @Schema(description = "文件路径") + private String filePath; + + @TableField(exist = false) + @Schema(description = "文件名称") + private String fileName; + + @TableField(exist = false) + @Schema(description = "文件大小 (byte)") + private String fileSize; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/ForecastK.java b/src/main/java/com/gunshi/project/hsz/model/ForecastK.java new file mode 100644 index 0000000..6101511 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ForecastK.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 预报_前期影响雨量折减系数表 +* author: cxw +* date: 2024-07-30 10:02:24 +*/ +@EqualsAndHashCode(callSuper = true) +@Schema(description="预报_前期影响雨量折减系数表") +@Data +@TableName("public.forecast_k") +public class ForecastK extends GenericPageParams implements Serializable { + + public final static String thisTableName = "ForecastK"; + + private static final long serialVersionUID = 1L; + + /** + * 月份 + */ + @TableId(value="month", type= IdType.NONE) + @Schema(description="月份") + private Integer month; + + /** + * k值 + */ + @TableField(value="k_value") + @Schema(description="k值") + private BigDecimal kValue; + + /** + * 创建时间 + */ + @TableField(value="chtm") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * 修改时间 + */ + @TableField(value="update_time") + @Schema(description="修改时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date updateTime; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ForecastPPaR.java b/src/main/java/com/gunshi/project/hsz/model/ForecastPPaR.java new file mode 100644 index 0000000..e9b3bc6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ForecastPPaR.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* 描述: 预报_降雨径流关系表 +* author: cxw +* date: 2024-07-30 10:02:24 +*/ +@EqualsAndHashCode(callSuper = true) +@Schema(description="预报_降雨径流关系表") +@Data +@TableName("public.forecast_p_pa_r") +public class ForecastPPaR extends GenericPageParams implements Serializable { + + public final static String thisTableName = "ForecastPPaR"; + + private static final long serialVersionUID = 1L; + + /** + * r + */ + @TableField(value="r") + @Schema(description="r") + private BigDecimal r; + + /** + * psum + */ + @TableField(value="psum") + @Schema(description="psum") + private BigDecimal psum; + + /** + * rsum + */ + @TableField(value="rsum") + @Schema(description="rsum") + private BigDecimal rsum; + + /** + * pa + */ + @TableField(value="pa") + @Schema(description="pa") + private BigDecimal pa; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ForecastPa.java b/src/main/java/com/gunshi/project/hsz/model/ForecastPa.java new file mode 100644 index 0000000..9901d17 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ForecastPa.java @@ -0,0 +1,97 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 预报_土壤含水量表 +* author: cxw +* date: 2024-08-02 12:23:07 +*/ +@Schema(description="预报_土壤含水量表") +@Data +@TableName("public.forecast_pa") +public class ForecastPa implements Serializable { + + public final static String thisTableName = "ForecastPa"; + + private static final long serialVersionUID = 1L; + + /** + * 测站编码 + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="测站编码") + @Size(max = 255,message = "测站编码最大长度要小于 255") + @NotBlank(message = "测站编码不能为空") + @NotNull(message = "测站编码不能为空") + private String stcd; + + /** + * 日期 + */ + @TableField(value="tm") + @Schema(description="日期") + @Size(max = 10,message = "日期最大长度要小于 10") + @NotBlank(message = "日期不能为空") + @NotNull(message = "日期不能为空") + private String tm; + + /** + * 蒸发率 + */ + @TableField(value="k") + @Schema(description="蒸发率") + private BigDecimal k; + + /** + * 昨天土壤含水量 + */ + @TableField(value="pa0") + @Schema(description="昨天土壤含水量") + private BigDecimal pa0; + + /** + * 最大初损值 + */ + @TableField(value="im") + @Schema(description="最大初损值") + private BigDecimal im; + + /** + * 昨天降雨值 + */ + @TableField(value="pt0") + @Schema(description="昨天降雨值") + private BigDecimal pt0; + + /** + * 当天土壤含水量 + */ + @TableField(value="pa") + @Schema(description="当天土壤含水量") + private BigDecimal pa; + + /** + * 入库时间 + */ + @TableField(value="chtm") + @Schema(description="入库时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ForecastProject.java b/src/main/java/com/gunshi/project/hsz/model/ForecastProject.java new file mode 100644 index 0000000..c17e6dc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ForecastProject.java @@ -0,0 +1,180 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import com.gunshi.project.hsz.entity.vo.ForecastResultVo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 预报_预测方案管理表 +* author: cxw +* date: 2024-08-05 11:41:45 +*/ +@EqualsAndHashCode(callSuper = true) +@Schema(description="预报_预测方案管理表") +@Data +@TableName("public.forecast_project") +public class ForecastProject extends GenericPageParams implements Serializable { + + public final static String thisTableName = "ForecastProject"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 预报任务名称 + */ + @TableField(value="name") + @Schema(description="预报任务名称") + @Size(max = 255,message = "预报任务名称最大长度要小于 255") + private String name; + + /** + * 类型(1:自动 2:手动) + */ + @TableField(value="type") + @Schema(description="类型(1:自动 2:手动)") + @Size(max = 1,message = "类型(1:自动 2:手动)最大长度要小于 1") + private String type; + + /** + * 预报时间 + */ + @TableField(value="forecast_tm") + @Schema(description="预报时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date forecastTm; + + /** + * 方案执行的当前时间 + */ + @TableField(value="project_tm") + @Schema(description="方案执行的当前时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date projectTm; + + /** + * 开始时间 + */ + @TableField(value="start_tm") + @Schema(description="开始时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date startTm; + + /** + * 结束时间 + */ + @TableField(value="end_tm") + @Schema(description="结束时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date endTm; + + /** + * 操作人id + */ + @TableField(value="user_id") + @Schema(description="操作人id") + private String userId; + + /** + * 预见期(小时) + */ + @TableField(value="forecast_period") + @Schema(description="预见期(小时)") + private Integer forecastPeriod; + + /** + * 预热期(天) + */ + @TableField(value="forecast_warm") + @Schema(description="预热期(天)") + private Integer forecastWarm; + + /** + * 方案制作时间 + */ + @TableField(value="chtm") + @Schema(description="方案制作时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * 修改时间 + */ + @TableField(value="update_tm") + @Schema(description="修改时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date updateTm; + + /** + * 任务时间间隔(小时) + */ + @TableField(value="time_interval") + @Schema(description="任务时间间隔(小时)") + private BigDecimal timeInterval; + + /** + * 自动任务id(type为1时有值) + */ + @TableField(value="task_id") + @Schema(description="自动任务id(type为1时有值)") + private Long taskId; + + /** + * 预报结果voList + */ + @Schema(description = "预报结果voList") + @TableField(exist = false) + private List voList; + + /** + * 预报最高调洪水位(m) + */ + @Schema(description = "预报最高调洪水位(m)") + @TableField(exist = false) + private BigDecimal ycMaxSwH; + + /** + * 预报最大入库流量(m³/s) + */ + @Schema(description = "预报最大入库流量") + @TableField(exist = false) + private BigDecimal ycMaxRkQ; + + /** + * 预报最大下泄流量(m³/s) + */ + @Schema(description = "预报最大下泄流量(m³/s)") + @TableField(exist = false) + private BigDecimal ycMaxCkQ; + + /** + * 预报洪水总量(万m³) + */ + @Schema(description = "预报洪水总量(万m³)") + @TableField(exist = false) + private BigDecimal ycSumFlood; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ForecastResults.java b/src/main/java/com/gunshi/project/hsz/model/ForecastResults.java new file mode 100644 index 0000000..d465677 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ForecastResults.java @@ -0,0 +1,157 @@ +package com.gunshi.project.hsz.model; + + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 预报_预测结果表 +* author: cxw +* date: 2024-08-05 11:41:45 +*/ +@EqualsAndHashCode(callSuper = true) +@Schema(description="预报_预测结果表") +@Data +@TableName("public.forecast_results") +public class ForecastResults extends GenericPageParams implements Serializable { + + public final static String thisTableName = "ForecastResults"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + private Long id; + + /** + * 时间 + */ + @TableField(value="tm") + @Schema(description="时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @JSONField(format = DateFormatString.YYYY_MM_DD_HH_MM_SS) + private Date tm; + + /** + * 预测入库流量 + */ + @TableField(value="yc_rk_q_value") + @Schema(description="预测入库流量") + private BigDecimal ycRkQValue; + + /** + * 实际入库流量 + */ + @TableField(value="real_rk_q_value") + @Schema(description="实际入库流量") + private BigDecimal realRkQValue; + + /** + * 预测出库流量 + */ + @TableField(value="yc_ck_q_value") + @Schema(description="预测出库流量") + private BigDecimal ycCkQValue; + + /** + * 实际出库流量 + */ + @TableField(value="real_ck_q_value") + @Schema(description="实际出库流量") + private BigDecimal realCkQValue; + + /** + * 预测水库水位 + */ + @TableField(value="yc_sw_h_value") + @Schema(description="预测水库水位") + private BigDecimal ycSwHValue; + + /** + * 实际水库水位 + */ + @TableField(value="real_sw_h_value") + @Schema(description="实际水库水位") + private BigDecimal realSwHValue; + + /** + * 降雨 + */ + @TableField(value="drp") + @Schema(description="降雨") + private BigDecimal drp; + + /** + * 是否是预测雨量(0:真实 1:预测) + */ + @TableField(value="ispre_drp") + @Schema(description="是否是预测雨量(0:真实 1:预测)") + private String ispreDrp; + + /** + * 径流深 + */ + @TableField(value="r") + @Schema(description="径流深") + private BigDecimal r; + + /** + * 方案id + */ + @TableField(value="project_id") + @Schema(description="方案id") + private Long projectId; + + /** + * 方案制作时间 + */ + @TableField(value="chtm") + @Schema(description="方案制作时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * 修改时间 + */ + @TableField(value="update_tm") + @Schema(description="修改时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date updateTm; + + /** + * 主汛期防洪限制水位 + */ + @TableField(value="fl_low_lim_lev") + @Schema(description="主汛期防洪限制水位") + private BigDecimal flLowLimLev; + + /** + * 当前堰顶高度预警值 + */ + @Schema(description="当前堰顶高度预警值") + private BigDecimal currentYdgdyjz; + + /** + * 土壤含水量 + */ + @TableField(value="pa") + @Schema(description="土壤含水量") + private BigDecimal pa; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ForecastTask.java b/src/main/java/com/gunshi/project/hsz/model/ForecastTask.java new file mode 100644 index 0000000..6005013 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ForecastTask.java @@ -0,0 +1,156 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 预报_预测自动任务管理表 +* author: cxw +* date: 2024-08-05 11:41:44 +*/ +@EqualsAndHashCode(callSuper = true) +@Schema(description="预报_预测自动任务管理表") +@Data +@TableName("public.forecast_task") +public class ForecastTask extends GenericPageParams implements Serializable { + + public final static String thisTableName = "ForecastTask"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 预报任务名称 + */ + @TableField(value="name") + @Schema(description="预报任务名称") + @Size(max = 255,message = "预报任务名称最大长度要小于 255") + private String name; + + /** + * 操作人id + */ + @TableField(value="user_id") + @Schema(description="操作人id") + private String userId; + + @TableField(exist = false) + @Schema(description="操作人姓名") + private String userName; + + /** + * 预见期(小时) + */ + @TableField(value="forecast_period") + @Schema(description="预见期(小时)") + private Integer forecastPeriod; + + /** + * 预热期(天) + */ + @TableField(value="forecast_warm") + @Schema(description="预热期(天)") + private Integer forecastWarm; + + /** + * 方案制作时间 + */ + @TableField(value="chtm") + @Schema(description="方案制作时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * 修改时间 + */ + @TableField(value="update_tm") + @Schema(description="修改时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date updateTm; + + /** + * 任务状态(0:正常 1:暂停 2:删除) + */ + @TableField(value="status") + @Schema(description="任务状态(0:正常 1:暂停 2:删除)") + @Size(max = 1,message = "任务状态(0:正常 1:暂停 2:删除)最大长度要小于 1") + private String status; + + /** + * 任务时间间隔(小时) + */ + @TableField(value="time_interval") + @Schema(description="任务时间间隔(小时)") + private BigDecimal timeInterval; + + /** + * 选择的预报时间 + */ + @Schema(description = "选择的预报时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date forecastTime; + + /** + * 选择的执行当前时间 + */ + @Schema(description = "选择的执行当前时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date nowTime; + + /** + * 选择的起始时间 + */ + @Schema(description = "选择的起始时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date startTime; + + /** + * 选择的结束时间 + */ + @Schema(description = "选择的结束时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date endTime; + + /** + * 上一次执行时间 + */ + @TableField(value="last_excute_tm") + @Schema(description="上一次执行时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date lastExcuteTm; + + /** + * 上一次结果保存时间 + */ + @TableField(value="last_resultsave_tm") + @Schema(description="上一次结果保存时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date lastResultsaveTm; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ForecastU.java b/src/main/java/com/gunshi/project/hsz/model/ForecastU.java new file mode 100644 index 0000000..4f08d84 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ForecastU.java @@ -0,0 +1,67 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 预报_时段单位线表 +* author: cxw +* date: 2024-07-30 10:02:24 +*/ +@EqualsAndHashCode(callSuper = true) +@Schema(description="预报_时段单位线表") +@Data +@TableName("public.forecast_u") +public class ForecastU extends GenericPageParams implements Serializable { + + public final static String thisTableName = "ForecastU"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * u值 + */ + @TableField(value="u_value") + @Schema(description="u值") + private BigDecimal uValue; + + /** + * 创建时间 + */ + @TableField(value="chtm") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * 修改时间 + */ + @TableField(value="update_time") + @Schema(description="修改时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date updateTime; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ForecastUseparam.java b/src/main/java/com/gunshi/project/hsz/model/ForecastUseparam.java new file mode 100644 index 0000000..67945d9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ForecastUseparam.java @@ -0,0 +1,121 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 预报_通用参数管理 +* author: cxw +* date: 2024-07-30 10:02:24 +*/ +@EqualsAndHashCode(callSuper = true) +@Schema(description="预报_通用参数管理") +@Data +@TableName("public.forecast_useparam") +public class ForecastUseparam extends GenericPageParams implements Serializable { + + public final static String thisTableName = "ForecastUseparam"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 参数名称 + */ + @TableField(value="param_name") + @Schema(description="参数名称") + @Size(max = 255,message = "参数名称最大长度要小于 255") + private String paramName; + + /** + * 参数名 + */ + @TableField(value="param_code") + @Schema(description="参数名") + @Size(max = 255,message = "参数名最大长度要小于 255") + private String paramCode; + + /** + * 参数值 + */ + @TableField(value="param_value") + @Schema(description="参数值") + @Size(max = 255,message = "参数值最大长度要小于 255") + private String paramValue; + + /** + * 参数排序 + */ + @TableField(value="param_sort") + @Schema(description="参数排序") + private Integer paramSort; + + /** + * 参数描述 + */ + @TableField(value="param_desc") + @Schema(description="参数描述") + @Size(max = 255,message = "参数描述最大长度要小于 255") + private String paramDesc; + + /** + * 创建时间 + */ + @TableField(value="chtm") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * 修改时间 + */ + @TableField(value="update_time") + @Schema(description="修改时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date updateTime; + + /** + * 参数类型(1:普通类型,一对一;2:一对多,k;3:多对多,PPaR) + */ + @TableField(value="param_type") + @Schema(description="参数类型(1:普通类型,一对一;2:一对多;3多对多)") + private String paramType; + + /** + * 功能码(前端调用引导) + */ + @TableField(value="ability_code") + @Schema(description="功能码(前端调用引导)") + @Size(max = 255,message = "功能码最大长度要小于 255") + private String abilityCode; + + /** + * 备注 + */ + @TableField(value="remarks") + @Schema(description="备注") + @Size(max = 255,message = "备注最大长度要小于 255") + private String remarks; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/GatePore.java b/src/main/java/com/gunshi/project/hsz/model/GatePore.java new file mode 100644 index 0000000..78c3b02 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/GatePore.java @@ -0,0 +1,134 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 闸孔信息表 +* author: xusan +* date: 2024-09-26 10:44:56 +*/ +@Schema(description="闸孔信息表") +@Data +@TableName("public.gate_pore") +public class GatePore implements Serializable { + + public final static String thisTableName = "GatePore"; + + private static final long serialVersionUID = 1L; + + /** + * stcd + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="stcd") + @Size(max = 16,message = "stcd最大长度要小于 16") + @NotBlank(message = "stcd不能为空") + private String stcd; + + /** + * 第几个闸门 + */ + @TableField(value="gate_number") + @Schema(description="第几个闸门") + private Integer gateNumber; + + /** + * 实际开度 + */ + @TableField(value="real_aperture") + @Schema(description="实际开度") + private BigDecimal realAperture; + + /** + * 设定开度 + */ + @TableField(value="set_aperture") + @Schema(description="设定开度") + private BigDecimal setAperture; + + /** + * 传感器水位 + */ + @TableField(value="sensor_lever") + @Schema(description="传感器水位") + private BigDecimal sensorLever; + + /** + * 海拔水位 + */ + @TableField(value="altitude_lever") + @Schema(description="海拔水位") + private BigDecimal altitudeLever; + + /** + * 闸门远控信号,如果是0,则不能通过指令控制 + */ + @TableField(value="remote_signal") + @Schema(description="闸门远控信号,如果是0,则不能通过指令控制") + private Integer remoteSignal; + + /** + * 闸门电源故障信号 + */ + @TableField(value="power_signal") + @Schema(description="闸门电源故障信号") + private Integer powerSignal; + + /** + * 闸门开闸中 + */ + @TableField(value="opening_signal") + @Schema(description="闸门开闸中") + private Integer openingSignal; + + /** + * 闸门关闸中 + */ + @TableField(value="closeing_signal") + @Schema(description="闸门关闸中") + private Integer closeingSignal; + + /** + * 闸门故障 + */ + @TableField(value="error_signal") + @Schema(description="闸门故障") + private Integer errorSignal; + + /** + * 闸门全开 + */ + @TableField(value="opened_signal") + @Schema(description="闸门全开") + private Integer openedSignal; + + /** + * 闸门全关 + */ + @TableField(value="closed_signal") + @Schema(description="闸门全关") + private Integer closedSignal; + + /** + * tm + */ + @TableField(value="tm") + @Schema(description="tm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/GateValveCctvRel.java b/src/main/java/com/gunshi/project/hsz/model/GateValveCctvRel.java new file mode 100644 index 0000000..1423d6a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/GateValveCctvRel.java @@ -0,0 +1,71 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 闸阀关联视频点 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="闸阀关联视频点") +@Data +@TableName("public.gate_valve_cctv_rel") +public class GateValveCctvRel implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="id") + @NotNull(message = "id不能为空", groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 闸阀编号 + */ + @TableField(value="valve_code") + @Schema(description="闸阀编号") + @Size(max = 100,message = "闸阀编号最大长度要小于 100") + @NotBlank(message = "闸阀编号不能为空", groups = {Insert.class,Update.class}) + private String valveCode; + + /** + * 视频点 + */ + @TableField(value="index_code") + @Schema(description="视频点") + @Size(max = 100,message = "视频点最大长度要小于 100") + @NotBlank(message = "视频点不能为空", groups = {Insert.class,Update.class}) + private String indexCode; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/GateValveKey.java b/src/main/java/com/gunshi/project/hsz/model/GateValveKey.java new file mode 100644 index 0000000..cd5ec2a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/GateValveKey.java @@ -0,0 +1,44 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 闸阀密码表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="闸阀密码表") +@Data +@TableName("public.gate_valve_key") +public class GateValveKey implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 闸阀编号 + */ + @TableId(value="valve_code", type= IdType.AUTO) + @Schema(description="闸阀编号") + private String valveCode; + + /** + * 密码 + */ + @TableField(value="key") + @Schema(description="密码") + private String key; + + @TableField(exist = false) + @Schema(description="开关状态") + private String status; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/GateValveOplog.java b/src/main/java/com/gunshi/project/hsz/model/GateValveOplog.java new file mode 100644 index 0000000..f2188be --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/GateValveOplog.java @@ -0,0 +1,91 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 闸阀操作日志表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="闸阀操作日志表") +@Data +@TableName("public.gate_valve_oplog") +public class GateValveOplog implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 闸阀ID + */ + @TableField(value="valve_code") + @Schema(description="闸阀ID") + private String valveCode; + + /** + * 设定开度 + */ + @TableField(value="status") + @Schema(description="设定开度") + private String status; + + /** + * 操作前开度 + */ + @TableField(value="before_status") + @Schema(description="操作前开度") + private String beforeStatus; + + /** + * 操作内容 + */ + @TableField(value="op_content") + @Schema(description="操作内容") + private String opContent; + + /** + * 操作人id + */ + @TableField(value="op_user_id") + @Schema(description="操作人id") + private Long opUserId; + + /** + * 操作人 + */ + @TableField(value="op_user_name") + @Schema(description="操作人") + private String opUserName; + + /** + * 操作时间 + */ + @TableField(value="tm") + @Schema(description="操作时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/GateValveR.java b/src/main/java/com/gunshi/project/hsz/model/GateValveR.java new file mode 100644 index 0000000..93923e4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/GateValveR.java @@ -0,0 +1,55 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 闸阀开关历史表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="闸阀开关历史表") +@Data +@TableName("public.gate_valve_r") +public class GateValveR implements Serializable { + + + private static final long serialVersionUID = 1L; + + + /** + * 闸阀ID + */ + @MppMultiId + @TableField(value="valve_code") + @Schema(description="闸阀ID") + @Size(max = 20,message = "闸阀ID最大长度要小于 20") + private String valveCode; + + /** + * 开关状态 + */ + @TableField(value="status") + @Schema(description="开关状态") + private String status; + + /** + * 操作时间 + */ + @MppMultiId + @TableField(value="tm") + @Schema(description="操作时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/GateValveReal.java b/src/main/java/com/gunshi/project/hsz/model/GateValveReal.java new file mode 100644 index 0000000..53694a2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/GateValveReal.java @@ -0,0 +1,54 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 闸阀开关表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="闸阀开关表") +@Data +@TableName("public.gate_valve_real") +public class GateValveReal implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 闸阀ID + */ + @MppMultiId + @TableField(value="valve_code") + @Schema(description="闸阀ID") + @Size(max = 20,message = "闸阀ID最大长度要小于 20") + private String valveCode; + + /** + * 开关状态 + */ + @TableField(value="status") + @Schema(description="开关状态") + private String status; + + /** + * 操作时间 + */ + @MppMultiId + @TableField(value="tm") + @Schema(description="操作时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/IaCBsnssinfo.java b/src/main/java/com/gunshi/project/hsz/model/IaCBsnssinfo.java new file mode 100644 index 0000000..921d352 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/IaCBsnssinfo.java @@ -0,0 +1,198 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 防治区企事业单位汇总表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="防治区企事业单位汇总表") +@Data +@TableName("public.ia_c_bsnssinfo") +public class IaCBsnssinfo implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 单位编码 + */ + @TableId(value="eicd", type= IdType.AUTO) + @Schema(description="单位编码") + @Size(max = 50,message = "单位编码最大长度要小于 50") + @NotBlank(message = "单位编码不能为空") + private String eicd; + + /** + * 单位名称 + */ + @TableField(value="name") + @Schema(description="单位名称") + @Size(max = 50,message = "单位名称最大长度要小于 50") + private String name; + + /** + * 小流域代码 + */ + @TableField(value="wscd") + @Schema(description="小流域代码") + @Size(max = 18,message = "小流域代码最大长度要小于 18") + private String wscd; + + /** + * 行政区划代码 + */ + @TableField(value="adcd") + @Schema(description="行政区划代码") + @Size(max = 15,message = "行政区划代码最大长度要小于 15") + @NotBlank(message = "行政区划代码不能为空") + private String adcd; + + /** + * 危险区代码 + */ + @TableField(value="dand") + @Schema(description="危险区代码") + @Size(max = 30,message = "危险区代码最大长度要小于 30") + private String dand; + + /** + * 经度 (°) + */ + @TableField(value="lgtd") + @Schema(description="经度 (°)") + // @Size(max = 0,message = "经度 (°)最大长度要小于 0") + private String lgtd; + + /** + * 纬度 (°) + */ + @TableField(value="lttd") + @Schema(description="纬度 (°)") + // @Size(max = 0,message = "纬度 (°)最大长度要小于 0") + private String lttd; + + /** + * 单位类别 1:事业单位,2:企业单位 + */ + @TableField(value="type") + @Schema(description="单位类别 1:事业单位,2:企业单位") + @Size(max = 1,message = "单位类别 1:事业单位,2:企业单位最大长度要小于 1") + private String type; + + /** + * 组织机构代码 + */ + @TableField(value="ocode") + @Schema(description="组织机构代码") + @Size(max = 30,message = "组织机构代码最大长度要小于 30") + private String ocode; + + /** + * 地址 + */ + @TableField(value="address") + @Schema(description="地址") + @Size(max = 50,message = "地址最大长度要小于 50") + private String address; + + /** + * 占地面积 (亩) + */ + @TableField(value="area") + @Schema(description="占地面积 (亩)") + // @Size(max = 0,message = "占地面积 (亩)最大长度要小于 0") + private String area; + + /** + * 在岗人数(人) + */ + @TableField(value="pcount") + @Schema(description="在岗人数(人)") + // @Size(max = 0,message = "在岗人数(人)最大长度要小于 0") + private Integer pcount; + + /** + * 房屋数量(座) + */ + @TableField(value="hcount") + @Schema(description="房屋数量(座)") + // @Size(max = 0,message = "房屋数量(座)最大长度要小于 0") + private Integer hcount; + + /** + * 固定资产(万元) + */ + @TableField(value="avalue") + @Schema(description="固定资产(万元)") + // @Size(max = 0,message = "固定资产(万元)最大长度要小于 0") + private String avalue; + + /** + * 年产值(万元) + */ + @TableField(value="ovalue") + @Schema(description="年产值(万元)") + // @Size(max = 0,message = "年产值(万元)最大长度要小于 0") + private String ovalue; + + /** + * 填写人姓名 + */ + @TableField(value="signer") + @Schema(description="填写人姓名") + @Size(max = 10,message = "填写人姓名最大长度要小于 10") + private String signer; + + /** + * 审核批次号 + */ + @TableField(value="audid") + @Schema(description="审核批次号") + @Size(max = 20,message = "审核批次号最大长度要小于 20") + private String audid; + + /** + * 审核状态 + */ + @TableField(value="status") + @Schema(description="审核状态") + @Size(max = 4,message = "审核状态最大长度要小于 4") + private String status; + + /** + * 备注 + */ + @TableField(value="comments") + @Schema(description="备注") + @Size(max = 200,message = "备注最大长度要小于 200") + private String comments; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/IaCDanad.java b/src/main/java/com/gunshi/project/hsz/model/IaCDanad.java new file mode 100644 index 0000000..72b3ab6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/IaCDanad.java @@ -0,0 +1,204 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 危险区基本情况调查成果汇总表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="危险区基本情况调查成果汇总表") +@Data +@TableName("public.ia_c_danad") +public class IaCDanad implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 危险区代码 + */ + @TableId(value="dand", type= IdType.AUTO) + @Schema(description="危险区代码") + @Size(max = 20,message = "危险区代码最大长度要小于 20") + @NotBlank(message = "危险区代码不能为空") + private String dand; + + /** + * 危险区名称 + */ + @TableField(value="name") + @Schema(description="危险区名称") + @Size(max = 50,message = "危险区名称最大长度要小于 50") + @NotBlank(message = "危险区名称不能为空") + private String name; + + /** + * 小流域代码 + */ + @TableField(value="wscd") + @Schema(description="小流域代码") + @Size(max = 50,message = "小流域代码最大长度要小于 50") + @NotBlank(message = "小流域代码不能为空") + private String wscd; + + /** + * 行政区划代码 + */ + @TableField(value="adcd") + @Schema(description="行政区划代码") + @Size(max = 15,message = "行政区划代码最大长度要小于 15") + @NotBlank(message = "行政区划代码不能为空") + private String adcd; + + /** + * 危险区内人口(人) + */ + @TableField(value="ptcount") + @Schema(description="危险区内人口(人)") + // @Size(max = 0,message = "危险区内人口(人)最大长度要小于 0") + private Integer ptcount; + + /** + * 危险区内总户数(户) + */ + @TableField(value="etcount") + @Schema(description="危险区内总户数(户)") + // @Size(max = 0,message = "危险区内总户数(户)最大长度要小于 0") + private Integer etcount; + + /** + * 危险区内ⅰ类经济户数(户) + */ + @TableField(value="ecount1") + @Schema(description="危险区内ⅰ类经济户数(户)") + // @Size(max = 0,message = "危险区内ⅰ类经济户数(户)最大长度要小于 0") + private Integer ecount1; + + /** + * 危险区内ⅱ类经济户数(户) + */ + @TableField(value="ecount2") + @Schema(description="危险区内ⅱ类经济户数(户)") + // @Size(max = 0,message = "危险区内ⅱ类经济户数(户)最大长度要小于 0") + private Integer ecount2; + + /** + * 危险区内ⅲ类经济户数(户) + */ + @TableField(value="ecount3") + @Schema(description="危险区内ⅲ类经济户数(户)") + // @Size(max = 0,message = "危险区内ⅲ类经济户数(户)最大长度要小于 0") + private Integer ecount3; + + /** + * 危险区内ⅳ类经济户数(户) + */ + @TableField(value="ecount4") + @Schema(description="危险区内ⅳ类经济户数(户)") + // @Size(max = 0,message = "危险区内ⅳ类经济户数(户)最大长度要小于 0") + private Integer ecount4; + + /** + * 危险区内总房屋数(座) + */ + @TableField(value="htcount") + @Schema(description="危险区内总房屋数(座)") + // @Size(max = 0,message = "危险区内总房屋数(座)最大长度要小于 0") + private Integer htcount; + + /** + * 危险区内ⅰ类房屋数(座) + */ + @TableField(value="hcount1") + @Schema(description="危险区内ⅰ类房屋数(座)") + // @Size(max = 0,message = "危险区内ⅰ类房屋数(座)最大长度要小于 0") + private Integer hcount1; + + /** + * 危险区内ⅱ类房屋数(座) + */ + @TableField(value="hcount2") + @Schema(description="危险区内ⅱ类房屋数(座)") + // @Size(max = 0,message = "危险区内ⅱ类房屋数(座)最大长度要小于 0") + private Integer hcount2; + + /** + * 危险区内ⅲ类房屋数(座) + */ + @TableField(value="hcount3") + @Schema(description="危险区内ⅲ类房屋数(座)") + // @Size(max = 0,message = "危险区内ⅲ类房屋数(座)最大长度要小于 0") + private Integer hcount3; + + /** + * 危险区内ⅳ类房屋数(座) + */ + @TableField(value="hcount4") + @Schema(description="危险区内ⅳ类房屋数(座)") + // @Size(max = 0,message = "危险区内ⅳ类房屋数(座)最大长度要小于 0") + private Integer hcount4; + + /** + * 填写人姓名 + */ + @TableField(value="signer") + @Schema(description="填写人姓名") + @Size(max = 50,message = "填写人姓名最大长度要小于 50") + private String signer; + + /** + * 审核批次号 + */ + @TableField(value="audid") + @Schema(description="审核批次号") + @Size(max = 20,message = "审核批次号最大长度要小于 20") + private String audid; + + /** + * 审核状态 + */ + @TableField(value="status") + @Schema(description="审核状态") + @Size(max = 1,message = "审核状态最大长度要小于 1") + private String status; + + /** + * 备注 + */ + @TableField(value="comments") + @Schema(description="备注") + @Size(max = 200,message = "备注最大长度要小于 200") + private String comments; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + + /** + * geojson + */ + @TableField(value="geometry") + @Schema(description="geojson") + // @Size(max = 0,message = "geojson最大长度要小于 0") + private String geometry; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/IaCFlrvvlg.java b/src/main/java/com/gunshi/project/hsz/model/IaCFlrvvlg.java new file mode 100644 index 0000000..01bffb1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/IaCFlrvvlg.java @@ -0,0 +1,209 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 重要沿河村落居民户调查成果表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="重要沿河村落居民户调查成果表") +@Data +@TableName("public.ia_c_flrvvlg") +public class IaCFlrvvlg implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 沿河村落居民户编码 + */ + @TableId(value="avrcd", type= IdType.AUTO) + @Schema(description="沿河村落居民户编码") + @Size(max = 30,message = "沿河村落居民户编码最大长度要小于 30") + @NotBlank(message = "沿河村落居民户编码不能为空") + private String avrcd; + + /** + * 户主名称 + */ + @TableField(value="name") + @Schema(description="户主名称") + @Size(max = 50,message = "户主名称最大长度要小于 50") + private String name; + + /** + * 联系电话 + */ + @TableField(value="phone") + @Schema(description="联系电话") + private String phone; + + /** + * 行政区划代码 + */ + @TableField(value="adcd") + @Schema(description="行政区划代码") + @Size(max = 15,message = "行政区划代码最大长度要小于 15") + @NotBlank(message = "行政区划代码不能为空") + private String adcd; + + /** + * 小流域代码 + */ + @TableField(value="wscd") + @Schema(description="小流域代码") + @Size(max = 20,message = "小流域代码最大长度要小于 20") + private String wscd; + + /** + * 基准点经度 (°) + */ + @TableField(value="blgtd") + @Schema(description="基准点经度 (°) ") + // @Size(max = 0,message = "基准点经度 (°) 最大长度要小于 0") + private String blgtd; + + /** + * 基准点纬度 (°) + */ + @TableField(value="blttd") + @Schema(description="基准点纬度 (°) ") + // @Size(max = 0,message = "基准点纬度 (°) 最大长度要小于 0") + private String blttd; + + /** + * 基准点高程(m) + */ + @TableField(value="bele") + @Schema(description="基准点高程(m)") + // @Size(max = 0,message = "基准点高程(m)最大长度要小于 0") + private String bele; + + /** + * 家庭人口(人) + */ + @TableField(value="ptcount") + @Schema(description="家庭人口(人)") + // @Size(max = 0,message = "家庭人口(人)最大长度要小于 0") + private Integer ptcount; + + /** + * 建筑面积 + */ + @TableField(value="area") + @Schema(description="建筑面积") + // @Size(max = 0,message = "建筑面积最大长度要小于 0") + private String area; + + /** + * 建筑类型 住宅建筑类型分为4 类,1: 1 层住宅;2:2 层住宅;3:3 层住宅;4:3层以上住宅。 + */ + @TableField(value="btype") + @Schema(description="建筑类型 住宅建筑类型分为4 类,1: 1 层住宅;2:2 层住宅;3:3 层住宅;4:3层以上住宅。") + @Size(max = 6,message = "建筑类型 住宅建筑类型分为4 类,1: 1 层住宅;2:2 层住宅;3:3 层住宅;4:3层以上住宅。最大长度要小于 6") + private String btype; + + /** + * 结构形式 建筑根据承重的主要构件可分为 4 类,1:钢筋混凝土结构;2:混合结构;3:砖木结构;4:其他结构。 + */ + @TableField(value="stype") + @Schema(description="结构形式 建筑根据承重的主要构件可分为 4 类,1:钢筋混凝土结构;2:混合结构;3:砖木结构;4:其他结构。") + @Size(max = 7,message = "结构形式 建筑根据承重的主要构件可分为 4 类,1:钢筋混凝土结构;2:混合结构;3:砖木结构;4:其他结构。最大长度要小于 7") + private String stype; + + /** + * 宅基经度 (°) + */ + @TableField(value="lgtd") + @Schema(description="宅基经度 (°) ") + // @Size(max = 0,message = "宅基经度 (°) 最大长度要小于 0") + private String lgtd; + + /** + * 宅基纬度 (°) + */ + @TableField(value="lttd") + @Schema(description="宅基纬度 (°) ") + // @Size(max = 0,message = "宅基纬度 (°) 最大长度要小于 0") + private String lttd; + + /** + * 宅基高程(m) + */ + @TableField(value="hele") + @Schema(description="宅基高程(m)") + // @Size(max = 0,message = "宅基高程(m)最大长度要小于 0") + private String hele; + + /** + * 临水 村落居民住房是否邻近河边水流,“1”为“是”,“0”为“否”。 + */ + @TableField(value="bwater") + @Schema(description="临水 村落居民住房是否邻近河边水流,“1”为“是”,“0”为“否”。 ") + @Size(max = 8,message = "临水 村落居民住房是否邻近河边水流,“1”为“是”,“0”为“否”。 最大长度要小于 8") + private String bwater; + + /** + * 切坡 村落居民住房是否切山坡修建的,“1”为“是”,“0”为“否”。 + */ + @TableField(value="bhill") + @Schema(description="切坡 村落居民住房是否切山坡修建的,“1”为“是”,“0”为“否”。") + @Size(max = 9,message = "切坡 村落居民住房是否切山坡修建的,“1”为“是”,“0”为“否”。最大长度要小于 9") + private String bhill; + + /** + * 填写人姓名 + */ + @TableField(value="signer") + @Schema(description="填写人姓名") + @Size(max = 10,message = "填写人姓名最大长度要小于 10") + private String signer; + + /** + * 审核批次号 + */ + @TableField(value="audid") + @Schema(description="审核批次号") + @Size(max = 20,message = "审核批次号最大长度要小于 20") + private String audid; + + /** + * 审核状态 + */ + @TableField(value="status") + @Schema(description="审核状态") + @Size(max = 6,message = "审核状态最大长度要小于 6") + private String status; + + /** + * 备注 + */ + @TableField(value="comments") + @Schema(description="备注") + @Size(max = 200,message = "备注最大长度要小于 200") + private String comments; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/InspectItem.java b/src/main/java/com/gunshi/project/hsz/model/InspectItem.java new file mode 100644 index 0000000..9c415cb --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/InspectItem.java @@ -0,0 +1,86 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 巡检项 +* author: xusan +* date: 2024-08-29 09:58:09 +*/ +@Schema(description="巡检项") +@Data +@TableName("public.inspect_item") +public class InspectItem implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 巡检点id + */ + @TableField(value="point_id") + @Schema(description="巡检点id") + @JsonSerialize(using = ToStringSerializer.class) + private Long pointId; + + /** + * 巡检项描述 + */ + @TableField(value="item_desc") + @Schema(description="巡检项描述") + @Size(max = 500,message = "巡检项描述最大长度要小于 500") + private String itemDesc; + + /** + * 问题描述 + */ + @TableField(value="problem_desc") + @Schema(description="问题描述") + @Size(max = 500,message = "问题描述最大长度要小于 500") + private String problemDesc; + + /** + * 处理建议 + */ + @TableField(value="handle_suggestion") + @Schema(description="处理建议") + @Size(max = 500,message = "处理建议最大长度要小于 500") + private String handleSuggestion; + + /** + * 排序号 + */ + @TableField(value="order_index") + @Schema(description="排序号") + private Integer orderIndex; + + /** + * 状态(0启用 1停用) + */ + @TableField(value="status") + @Schema(description="状态(0启用 1停用)") + private Integer status; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/InspectPoint.java b/src/main/java/com/gunshi/project/hsz/model/InspectPoint.java new file mode 100644 index 0000000..9ffdc87 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/InspectPoint.java @@ -0,0 +1,62 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** +* 描述: 巡检点 +* author: xusan +* date: 2024-08-29 09:57:47 +*/ +@Schema(description="巡检点") +@Data +@TableName("public.inspect_point") +public class InspectPoint implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 名称 + */ + @TableField(value="name") + @Schema(description="名称") + @Size(max = 255,message = "名称最大长度要小于 255") + @NotBlank(message = "名称不能为空") + private String name; + + /** + * 排序 + */ + @TableField(value="order_index") + @Schema(description="排序") + private Integer orderIndex; + + @TableField(exist = false) + @Schema(description = "巡检项") + private List children; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/InspectTask.java b/src/main/java/com/gunshi/project/hsz/model/InspectTask.java new file mode 100644 index 0000000..417a523 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/InspectTask.java @@ -0,0 +1,157 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 巡检任务 +* author: xusan +* date: 2024-08-29 14:21:14 +*/ +@Schema(description="巡检任务") +@Data +@TableName("public.inspect_task") +public class InspectTask implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 任务类型(1日常巡查 2特别检查 3汛前巡检) + */ + @TableField(value="task_type") + @Schema(description="任务类型(1日常巡查 2特别检查 3汛前巡检)") + private Integer taskType; + + /** + * 任务标题 + */ + @TableField(value="task_title") + @Schema(description="任务标题") + @Size(max = 100,message = "任务标题最大长度要小于 100") + private String taskTitle; + + /** + * 巡查人id + */ + @TableField(value="inspect_user_id") + @Schema(description="巡查人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long inspectUserId; + + /** + * 巡查人 + */ + @TableField(value="inspect_user_name") + @Schema(description="巡查人") + @Size(max = 100,message = "巡查人最大长度要小于 100") + private String inspectUserName; + + /** + * 任务内容 + */ + @TableField(value="task_content") + @Schema(description="任务内容") + @Size(max = 500,message = "任务内容最大长度要小于 500") + private String taskContent; + + /** + * 开始日期 + */ + @TableField(value="start_date") + @Schema(description="开始日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date startDate; + + /** + * 结束日期 + */ + @TableField(value="end_date") + @Schema(description="结束日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date endDate; + + /** + * 接收时间 + */ + @TableField(value="receive_time") + @Schema(description="接收时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date receiveTime; + + /** + * 完成时间 + */ + @TableField(value="finish_time") + @Schema(description="完成时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date finishTime; + + /** + * 状态(0未完成 1进行中 2已完成) + */ + @TableField(value="status") + @Schema(description="状态(0未完成 1进行中 2已完成)") + private Integer status; + + /** + * 创建人id + */ + @TableField(value="create_user_id") + @Schema(description="创建人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long createUserId; + + /** + * 创建人 + */ + @TableField(value="create_user_name") + @Schema(description="创建人") + @Size(max = 100,message = "创建人最大长度要小于 100") + private String createUserName; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + @TableField(exist = false) + @Schema(description="问题数量") + private Integer problemNum = 0; + + @TableField(exist = false) + @Schema(description="待处理数量") + private Integer handleNum = 0; + + @TableField(exist = false) + @Schema(description="巡检项") + private List items; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/InspectTaskDetail.java b/src/main/java/com/gunshi/project/hsz/model/InspectTaskDetail.java new file mode 100644 index 0000000..b108401 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/InspectTaskDetail.java @@ -0,0 +1,122 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 巡查信息 +* author: xusan +* date: 2024-08-29 15:21:24 +*/ +@Schema(description="巡查信息") +@Data +@TableName("public.inspect_task_detail") +public class InspectTaskDetail implements Serializable { + + public final static String thisTableName = "InspectTaskDetail"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 任务id + */ + @TableField(value="task_id") + @Schema(description="任务id") + @JsonSerialize(using = ToStringSerializer.class) + private Long taskId; + + /** + * 巡查点id + */ + @TableField(value="point_id") + @Schema(description="巡查点id") + @JsonSerialize(using = ToStringSerializer.class) + private Long pointId; + + /** + * 巡查项id + */ + @TableField(value="item_id") + @Schema(description="巡查项id") + @JsonSerialize(using = ToStringSerializer.class) + private Long itemId; + + /** + * 是否正常(0否 1是) + */ + @TableField(value="is_normal") + @Schema(description="是否正常(0否 1是)") + private Integer isNormal; + + /** + * 巡查问题描述 + */ + @TableField(value="problem_desc") + @Schema(description="巡查问题描述") + @Size(max = 500,message = "巡查问题描述最大长度要小于 500") + private String problemDesc; + + /** + * 是否处理(0否 1是) + */ + @TableField(value="is_handle") + @Schema(description="是否处理(0否 1是)") + private Integer isHandle; + + /** + * 处理人id + */ + @TableField(value="handle_user_id") + @Schema(description="处理人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long handleUserId; + + /** + * 处理人 + */ + @TableField(value="handle_user_name") + @Schema(description="处理人") + @Size(max = 100,message = "处理人最大长度要小于 100") + private String handleUserName; + + /** + * 处理描述 + */ + @TableField(value="handle_desc") + @Schema(description="处理描述") + @Size(max = 500,message = "处理描述最大长度要小于 500") + private String handleDesc; + + /** + * 处理时间 + */ + @TableField(value="handle_time") + @Schema(description="处理时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date handleTime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/InspectTaskTrack.java b/src/main/java/com/gunshi/project/hsz/model/InspectTaskTrack.java new file mode 100644 index 0000000..d10ba5f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/InspectTaskTrack.java @@ -0,0 +1,71 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 巡查轨迹 +* author: xusan +* date: 2024-09-18 13:59:21 +*/ +@Schema(description="巡查轨迹") +@Data +@TableName("public.inspect_task_track") +public class InspectTaskTrack implements Serializable { + + public final static String thisTableName = "InspectTaskTrack"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 任务id + */ + @TableField(value="task_id") + @Schema(description="任务id") + @JsonSerialize(using = ToStringSerializer.class) + private Long taskId; + + /** + * 经度 (°) + */ + @TableField(value="lgtd") + @Schema(description="经度 (°)") + private BigDecimal lgtd; + + /** + * 纬度 (°) + */ + @TableField(value="lttd") + @Schema(description="纬度 (°)") + private BigDecimal lttd; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/MaintainService.java b/src/main/java/com/gunshi/project/hsz/model/MaintainService.java new file mode 100644 index 0000000..0d4ae35 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/MaintainService.java @@ -0,0 +1,90 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 维修养护 +* author: xusan +* date: 2024-08-27 15:15:13 +*/ +@Schema(description="维修养护") +@Data +@TableName("public.maintain_service") +public class MaintainService implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 上报时间 + */ + @TableField(value="report_time") + @Schema(description="上报时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date reportTime; + + /** + * 管护类型(1溢洪道淸障 2除草除杂 3设备养护 4环境清洁 5危险提示 6其他) + */ + @TableField(value="maintain_type") + @Schema(description="管护类型(1溢洪道淸障 2除草除杂 3设备养护 4环境清洁 5危险提示 6其他)") + private Integer maintainType; + + /** + * 内容 + */ + @TableField(value="maintain_content") + @Schema(description="内容") + @Size(max = 500,message = "内容最大长度要小于 500") + private String maintainContent; + + /** + * 上报人id + */ + @TableField(value="report_user_id") + @Schema(description="上报人id") + private Long reportUserId; + + /** + * 上报人 + */ + @TableField(value="report_user_name") + @Schema(description="上报人") + @Size(max = 50,message = "上报人最大长度要小于 50") + private String reportUserName; + + @TableField(exist = false) + @Schema(description = "现场图片") + private List pics; + + @TableField(exist = false) + @Schema(description = "现场视频") + private List videos; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/MessageCenter.java b/src/main/java/com/gunshi/project/hsz/model/MessageCenter.java new file mode 100644 index 0000000..a385c1d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/MessageCenter.java @@ -0,0 +1,103 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 消息中心 +* author: xusan +* date: 2024-09-19 10:39:29 +*/ +@Schema(description="消息中心") +@Data +@TableName("public.message_center") +public class MessageCenter implements Serializable { + + public final static String thisTableName = "MessageCenter"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 主题 + */ + @TableField(value="title") + @Schema(description="主题") + @Size(max = 100,message = "主题最大长度要小于 100") + private String title; + + /** + * 发布人id + */ + @TableField(value="publish_user_id") + @Schema(description="发布人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long publishUserId; + + /** + * 发布人名字 + */ + @TableField(value="publish_user_name") + @Schema(description="发布人名字") + @Size(max = 100,message = "发布人名字最大长度要小于 100") + private String publishUserName; + + /** + * 发布时间 + */ + @TableField(value="publish_time") + @Schema(description="发布时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date publishTime; + + /** + * 内容 + */ + @TableField(value="content") + @Schema(description="内容") + @Size(max = 500,message = "内容最大长度要小于 500") + private String content; + + /** + * 接收人id + */ + @TableField(value="receive_user_id") + @Schema(description="接收人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long receiveUserId; + + /** + * 是否已读(0否 1是) + */ + @TableField(value="status") + @Schema(description="是否已读(0否 1是)") + private Integer status; + + /** + * 类型(1超校核 2超设计 3超汛限) + */ + @TableField(value="type") + @Schema(description="类型(1超校核 2超设计 3超汛限)") + private Integer type; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/OriginMessage.java b/src/main/java/com/gunshi/project/hsz/model/OriginMessage.java new file mode 100644 index 0000000..f440179 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OriginMessage.java @@ -0,0 +1,61 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * Created by wanyan on 2024/8/2 + * + * @author wanyan + * @version 1.0 + */ +@Schema(description="原始报文表") +@Data +@TableName("public.origin_message") +public class OriginMessage { + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @TableField(value="protocol") + @Schema(description="协议") + private String protocol; + + @TableField(value="address") + @Schema(description="设备地址") + private String address; + + @TableField(value="func_code") + @Schema(description="功能码") + private String funcCode; + + @TableField(value="data_time") + @Schema(description="数据时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date dataTime; + + @TableField(value="message") + @Schema(description="报文") + private String message; + + @TableField(value="tm") + @Schema(description="时间戳") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowDevice.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowDevice.java new file mode 100644 index 0000000..753c248 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowDevice.java @@ -0,0 +1,200 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 渗流设备表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="渗流设备表") +@Data +@TableName("public.osmotic_flow_device") +public class OsmoticFlowDevice implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测点编号 + */ + @TableId(value="station_code", type= IdType.AUTO) + @Schema(description="测点编号") + @Size(max = 50,message = "测点编号最大长度要小于 50") + @NotBlank(message = "测点编号不能为空",groups = {Insert.class, Update.class}) + private String stationCode; + + /** + * 仪器编号 + */ + @TableField(value="device_code") + @Schema(description="仪器编号") + @Size(max = 50,message = "仪器编号最大长度要小于 50") + private String deviceCode; + + /** + * 仪器名称 + */ + @TableField(value="device_name") + @Schema(description="仪器名称") + @Size(max = 50,message = "仪器名称最大长度要小于 50") + private String deviceName; + + /** + * 仪器型号 + */ + @TableField(value="model") + @Schema(description="仪器型号") + @Size(max = 50,message = "仪器型号最大长度要小于 50") + private String model; + + /** + * 所属监测断面 + */ + @TableField(value="profile_code") + @Schema(description="所属监测断面") + @Size(max = 100,message = "所属监测断面最大长度要小于 100") + private String profileCode; + + /** + * 仪器厂家 + */ + @TableField(value="manufactor") + @Schema(description="仪器厂家") + @Size(max = 100,message = "仪器厂家最大长度要小于 100") + private String manufactor; + + /** + * 测量范围 + */ + @TableField(value="measuring_range") + @Schema(description="测量范围") + @Size(max = 100,message = "测量范围最大长度要小于 100") + private String measuringRange; + + /** + * 检验气温 + */ + @TableField(value="check_temp") + @Schema(description="检验气温") + // @Size(max = 0,message = "检验气温最大长度要小于 0") + private String checkTemp; + + /** + * 检验气压 + */ + @TableField(value="check_pre") + @Schema(description="检验气压") + // @Size(max = 0,message = "检验气压最大长度要小于 0") + private String checkPre; + + /** + * 检验日期 + */ + @TableField(value="check_date") + @Schema(description="检验日期") + // @Size(max = 0,message = "检验日期最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date checkDate; + + /** + * 灵敏度 + */ + @TableField(value="sensitivity") + @Schema(description="灵敏度") + // @Size(max = 0,message = "灵敏度最大长度要小于 0") + private String sensitivity; + + /** + * 绝缘电阻 + */ + @TableField(value="in_res") + @Schema(description="绝缘电阻") + // @Size(max = 0,message = "绝缘电阻最大长度要小于 0") + private String inRes; + + /** + * 耐水压 + */ + @TableField(value="wp") + @Schema(description="耐水压") + // @Size(max = 0,message = "耐水压最大长度要小于 0") + private String wp; + + /** + * 非直线度 + */ + @TableField(value="l") + @Schema(description="非直线度") + // @Size(max = 0,message = "非直线度最大长度要小于 0") + private String l; + + /** + * 不重复度 + */ + @TableField(value="r") + @Schema(description="不重复度") + // @Size(max = 0,message = "不重复度最大长度要小于 0") + private String r; + + /** + * 滞后 + */ + @TableField(value="h") + @Schema(description="滞后") + // @Size(max = 0,message = "滞后最大长度要小于 0") + private String h; + + /** + * 综合误差 + */ + @TableField(value="ec") + @Schema(description="综合误差") + // @Size(max = 0,message = "综合误差最大长度要小于 0") + private String ec; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + // @Size(max = 0,message = "经度最大长度要小于 0") + private String lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + // @Size(max = 0,message = "纬度最大长度要小于 0") + private String lttd; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowR.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowR.java new file mode 100644 index 0000000..591853e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticFlowR.java @@ -0,0 +1,67 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 渗流监测记录表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="渗流监测记录表") +@Data +@TableName("public.osmotic_flow_r") +public class OsmoticFlowR implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测点编码 + */ + @TableField(value="station_code") + @MppMultiId + @Schema(description="测点编码") + private String stationCode; + + /** + * 监测时间 + */ + @MppMultiId + @TableField(value="tm") + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 通道号 + */ + @TableField(value="chan") + @Schema(description="通道号") + private String chan; + + /** + * 水深 + */ + @TableField(value="l") + @Schema(description="水深") + private BigDecimal l; + + /** + * 流量 + */ + @TableField(value="q") + @Schema(description="流量") + private BigDecimal q; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticPressDevice.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticPressDevice.java new file mode 100644 index 0000000..3808f39 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticPressDevice.java @@ -0,0 +1,237 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 渗压设备表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="渗压设备表") +@Data +@TableName("public.osmotic_press_device") +public class OsmoticPressDevice implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测点编号 + */ + @TableId(value="station_code", type= IdType.AUTO) + @Schema(description="测点编号") + @Size(max = 50,message = "测点编号最大长度要小于 50") + @NotBlank(message = "测点编号不能为空",groups = {Insert.class, Update.class}) + private String stationCode; + + /** + * 仪器编号 + */ + @TableField(value="device_code") + @Schema(description="仪器编号") + @Size(max = 50,message = "仪器编号最大长度要小于 50") + private String deviceCode; + + /** + * 仪器名称 + */ + @TableField(value="device_name") + @Schema(description="仪器名称") + @Size(max = 50,message = "仪器名称最大长度要小于 50") + private String deviceName; + + /** + * 仪器型号 + */ + @TableField(value="model") + @Schema(description="仪器型号") + @Size(max = 50,message = "仪器型号最大长度要小于 50") + private String model; + + /** + * 所属监测断面 + */ + @TableField(value="profile_code") + @Schema(description="所属监测断面") + @Size(max = 100,message = "所属监测断面最大长度要小于 100") + private String profileCode; + + /** + * 仪器厂家 + */ + @TableField(value="manufactor") + @Schema(description="仪器厂家") + @Size(max = 100,message = "仪器厂家最大长度要小于 100") + private String manufactor; + + /** + * 测量范围 + */ + @TableField(value="measuring_range") + @Schema(description="测量范围") + @Size(max = 100,message = "测量范围最大长度要小于 100") + private String measuringRange; + + /** + * 检验气温 + */ + @TableField(value="check_temp") + @Schema(description="检验气温") + // @Size(max = 0,message = "检验气温最大长度要小于 0") + private String checkTemp; + + /** + * 检验气压 + */ + @TableField(value="check_pre") + @Schema(description="检验气压") + // @Size(max = 0,message = "检验气压最大长度要小于 0") + private String checkPre; + + /** + * 无压读数 + */ + @TableField(value="no_pre") + @Schema(description="无压读数") + // @Size(max = 0,message = "无压读数最大长度要小于 0") + private String noPre; + + /** + * 检验日期 + */ + @TableField(value="check_date") + @Schema(description="检验日期") + // @Size(max = 0,message = "检验日期最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date checkDate; + + /** + * 灵敏度 + */ + @TableField(value="sensitivity") + @Schema(description="灵敏度") + // @Size(max = 0,message = "灵敏度最大长度要小于 0") + private BigDecimal sensitivity; + + /** + * 温度修正系数 + */ + @TableField(value="temp_cor_coe") + @Schema(description="温度修正系数") + // @Size(max = 0,message = "温度修正系数最大长度要小于 0") + private BigDecimal tempCorCoe; + + /** + * 温度实时测量值T + */ + @TableField(value="t") + @Schema(description="温度实时测量值T") + private BigDecimal t; + + /** + * 温度的基准值T₀ + */ + @TableField(value="t0") + @Schema(description="温度的基准值T₀") + private BigDecimal t0; + + /** + * 气压的基准值Q₀ + */ + @TableField(value="q0") + @Schema(description="气压的基准值Q₀") + private BigDecimal q0; + + /** + * 气压实时测量值Q + */ + @TableField(value="q") + @Schema(description="气压实时测量值Q") + private BigDecimal q; + + /** + * 非直线度 + */ + @TableField(value="l") + @Schema(description="非直线度") + // @Size(max = 0,message = "非直线度最大长度要小于 0") + private BigDecimal l; + + /** + * 不重复度 + */ + @TableField(value="r") + @Schema(description="不重复度") + // @Size(max = 0,message = "不重复度最大长度要小于 0") + private BigDecimal r; + + /** + * 滞后 + */ + @TableField(value="h") + @Schema(description="滞后") + // @Size(max = 0,message = "滞后最大长度要小于 0") + private BigDecimal h; + + /** + * 综合误差 + */ + @TableField(value="ec") + @Schema(description="综合误差") + // @Size(max = 0,message = "综合误差最大长度要小于 0") + private BigDecimal ec; + + /** + * 分辨力 + */ + @TableField(value="re") + @Schema(description="分辨力") + // @Size(max = 0,message = "分辨力最大长度要小于 0") + private BigDecimal re; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + // @Size(max = 0,message = "经度最大长度要小于 0") + private String lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + // @Size(max = 0,message = "纬度最大长度要小于 0") + private String lttd; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticPressR.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticPressR.java new file mode 100644 index 0000000..fb7fb20 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticPressR.java @@ -0,0 +1,90 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 渗压监测记录表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="渗压监测记录表") +@Data +@TableName("public.osmotic_press_r") +public class OsmoticPressR implements Serializable { + + + private static final long serialVersionUID = 1L; + + + /** + * 测点编码 + */ + @TableField(value="station_code") + @MppMultiId + @Schema(description="测点编码") + private String stationCode; + + /** + * 监测时间 + */ + @MppMultiId + @TableField(value="tm") + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 通道号 + */ + @TableField(value="chan") + @Schema(description="通道号") + private String chan; + + /** + * 管水位 + */ + @TableField(value="value") + @Schema(description="管水位") + private BigDecimal value; + + /** + * 渗压 + */ + @TableField(value="press") + @Schema(description="渗压") + private BigDecimal press; + + /** + * 振弦 + */ + @TableField(value="vib") + @Schema(description="振弦") + private BigDecimal vib; + + /** + * 温度 + */ + @TableField(value="temp") + @Schema(description="温度") + private BigDecimal temp; + + @TableField(exist = false) + @Schema(description = "断面名称") + private String profileName; + + @TableField(exist = false) + @Schema(description = "断面编号") + private String profileCode; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftDevice.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftDevice.java new file mode 100644 index 0000000..79f72f5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftDevice.java @@ -0,0 +1,87 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 描述: 位移设备表 + * author: xusan + * date: 2024-07-08 17:34:26 + */ +@Schema(description="位移设备表") +@Data +@TableName("public.osmotic_shift_device") +public class OsmoticShiftDevice implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 测点编号 + */ + @TableId(value="station_code", type= IdType.AUTO) + @Schema(description="测点编号") + @Size(max = 50,message = "测点编号最大长度要小于 50") + @NotBlank(message = "测点编号不能为空",groups = {Insert.class, Update.class}) + private String stationCode; + + /** + * 仪器编号 + */ + @TableField(value="device_code") + @Schema(description="仪器编号") + @Size(max = 50,message = "仪器编号最大长度要小于 50") + private String deviceCode; + + /** + * 仪器名称 + */ + @TableField(value="device_name") + @Schema(description="仪器名称") + @Size(max = 50,message = "仪器名称最大长度要小于 50") + private String deviceName; + + /** + * 仪器型号 + */ + @TableField(value="model") + @Schema(description="仪器型号") + @Size(max = 50,message = "仪器型号最大长度要小于 50") + private String model; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + private BigDecimal lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + private BigDecimal lttd; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftR.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftR.java new file mode 100644 index 0000000..3b916c7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticShiftR.java @@ -0,0 +1,68 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 位移监测记录表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="位移监测记录表") +@Data +@TableName("public.osmotic_shift_r") +public class OsmoticShiftR implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测点编码 + */ + @TableField(value="station_code") + @MppMultiId + @Schema(description="测点编码") + private String stationCode; + + /** + * 监测时间 + */ + @MppMultiId + @TableField(value="tm") + @Schema(description="监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * x方向 + */ + @TableField(value="x") + @Schema(description="x方向") + private BigDecimal x; + + /** + * y方向 + */ + @TableField(value="y") + @Schema(description="y方向") + private BigDecimal y; + + /** + * h方向 + */ + @TableField(value="h") + @Schema(description="h方向") + private BigDecimal h; + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticWarnR.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticWarnR.java new file mode 100644 index 0000000..d249bda --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticWarnR.java @@ -0,0 +1,84 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 隐患预警记录表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="隐患预警记录表") +@Data +@TableName("public.osmotic_warn_r") +public class OsmoticWarnR implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + private Long id; + + /** + * 测点编号 + */ + @TableField(value="station_code") + @Schema(description="测点编号") + @Size(max = 32,message = "测点编号最大长度要小于 32") + private String stationCode; + + /** + * 预警规则id + */ + @TableField(value="rule_id") + @Schema(description="预警规则id") + private Long ruleId; + + /** + * 监测值 + */ + @TableField(value="value") + @Schema(description="监测值") + private BigDecimal value; + + /** + * 预警时间 + */ + @TableField(value="tm") + @Schema(description="预警时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 监测类型(1渗压 2渗流 3位移) + */ + @TableField(value="type") + @Schema(description="监测类型(1渗压 2渗流 3位移)") + private Integer type; + + /** + * 告警级别(1黄色 2红色) + */ + @TableField(value="level") + @Schema(description="告警级别(1黄色 2红色)") + private Integer level; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticWarnRule.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticWarnRule.java new file mode 100644 index 0000000..7d3c8de --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticWarnRule.java @@ -0,0 +1,197 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.Getter; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 预警规则配置表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="预警规则配置表") +@Data +@TableName("public.osmotic_warn_rule") +public class OsmoticWarnRule implements Serializable { + + @Getter + public enum Type { + PRESS(1), FLOW(2), SHIFT(3); + + private final int type; + + Type(int type) { + this.type = type; + } + + } + + @Getter + public enum Status { + DISABLE(0), ENABLE(1); + + private final int status; + + Status(int status) { + this.status = status; + } + } + + @Getter + public enum Relation { + AND(1), OR(2); + + private final int rel; + + Relation(int rel) { + this.rel = rel; + } + + public static Relation match(int rel) { + for (Relation value : values()) { + if (value.rel == rel) { + return value; + } + } + return null; + } + } + + public enum Condition { + GT(">"), GTE(">="), LT("<"), LTE("<="), EQ("="), NE("!="); + + private final String condition; + + Condition(String condition) { + this.condition = condition; + } + + public static Condition match(String condition) { + for (Condition value : values()) { + if (value.condition.equals(condition)) { + return value; + } + } + return null; + } + } + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 测点编号 + */ + @TableField(value="station_code") + @Schema(description="测点编号") + @Size(max = 32,message = "测点编号最大长度要小于 32") + @NotBlank(message = "测点编号不能为空") + private String stationCode; + + /** + * 告警类型(1渗压监测 2渗流监测 3位移监测) + */ + @TableField(value="type") + @Schema(description="告警类型(1渗压监测 2渗流监测 3位移监测)") + private Integer type; + + /** + * 告警级别(1黄色 2红色) + */ + @TableField(value="level") + @Schema(description="告警级别(1黄色 2红色)") + private Integer level; + + /** + * 校验规则描述 + */ + @TableField(value="rule_desc") + @Schema(description="校验规则描述") + @Size(max = 32,message = "校验规则描述最大长度要小于 32") + private String ruleDesc; + + /** + * 位移方向(x,y,z) + */ + @TableField(value="direction") + @Schema(description="位移方向(x,y,h)") + private String direction; + + /** + * condition_one + */ + @TableField(value="condition_one") + @Schema(description="condition_one") + @Size(max = 32,message = "condition_one最大长度要小于 32") + private String conditionOne; + + /** + * value_one + */ + @TableField(value="value_one") + @Schema(description="value_one") + private BigDecimal valueOne; + + /** + * condition_two + */ + @TableField(value="condition_two") + @Schema(description="condition_two") + @Size(max = 32,message = "condition_two最大长度要小于 32") + private String conditionTwo; + + /** + * 1且 2或 + */ + @TableField(value="condition") + @Schema(description="1且 2或") + private Integer condition; + + /** + * value_two + */ + @TableField(value="value_two") + @Schema(description="value_two") + private BigDecimal valueTwo; + + /** + * 是否启用(0否 1是) + */ + @TableField(value="status") + @Schema(description="是否启用(0否 1是)") + private BigDecimal status; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticWaterR.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticWaterR.java new file mode 100644 index 0000000..baaa6f5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticWaterR.java @@ -0,0 +1,501 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 水质采样记录表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水质采样记录表") +@Data +@TableName("public.osmotic_water_r") +@EqualsAndHashCode(callSuper = true) +public class OsmoticWaterR extends GenericPageParams implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + // @Size(max = 0,message = "主键最大长度要小于 0") + @NotNull(message = "主键不能为空") + private Long id; + + /** + * 采集时间 + */ + @TableField(value="tm") + @Schema(description="采集时间") + // @Size(max = 0,message = "采集时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 水温 + */ + @TableField(value="temp") + @Schema(description="水温") + // @Size(max = 0,message = "水温最大长度要小于 0") + private String temp; + + /** + * PH + */ + @TableField(value="ph") + @Schema(description="PH") + // @Size(max = 0,message = "PH最大长度要小于 0") + private String ph; + + /** + * 溶解氧 + */ + @TableField(value="bod") + @Schema(description="溶解氧") + // @Size(max = 0,message = "溶解氧最大长度要小于 0") + private String bod; + + /** + * 高锰酸钾指数 + */ + @TableField(value="mn") + @Schema(description="高锰酸钾指数") + // @Size(max = 0,message = "高锰酸钾指数最大长度要小于 0") + private String mn; + + /** + * 化学需氧量 + */ + @TableField(value="codcr") + @Schema(description="化学需氧量") + // @Size(max = 0,message = "化学需氧量最大长度要小于 0") + private String codcr; + + /** + * 五日生化需氧量 + */ + @TableField(value="bod5") + @Schema(description="五日生化需氧量") + // @Size(max = 0,message = "五日生化需氧量最大长度要小于 0") + private String bod5; + + /** + * 氨氮 + */ + @TableField(value="nh3n") + @Schema(description="氨氮") + // @Size(max = 0,message = "氨氮最大长度要小于 0") + private String nh3n; + + /** + * 总磷 + */ + @TableField(value="tp") + @Schema(description="总磷") + // @Size(max = 0,message = "总磷最大长度要小于 0") + private String tp; + + /** + * 总氮 + */ + @TableField(value="tn") + @Schema(description="总氮") + // @Size(max = 0,message = "总氮最大长度要小于 0") + private String tn; + + /** + * 铜 + */ + @TableField(value="cu") + @Schema(description="铜") + // @Size(max = 0,message = "铜最大长度要小于 0") + private String cu; + + /** + * 锌 + */ + @TableField(value="zn") + @Schema(description="锌") + // @Size(max = 0,message = "锌最大长度要小于 0") + private String zn; + + /** + * 氟化物 + */ + @TableField(value="f") + @Schema(description="氟化物") + // @Size(max = 0,message = "氟化物最大长度要小于 0") + private String f; + + /** + * 硒 + */ + @TableField(value="se") + @Schema(description="硒") + // @Size(max = 0,message = "硒最大长度要小于 0") + private String se; + + /** + * 砷 + */ + @TableField(value="arsenic") + @Schema(description="砷") + // @Size(max = 0,message = "砷最大长度要小于 0") + private String arsenic; + + /** + * 汞 + */ + @TableField(value="hg") + @Schema(description="汞") + // @Size(max = 0,message = "汞最大长度要小于 0") + private String hg; + + /** + * 镉 + */ + @TableField(value="cd") + @Schema(description="镉") + // @Size(max = 0,message = "镉最大长度要小于 0") + private String cd; + + /** + * 铬 + */ + @TableField(value="cr") + @Schema(description="铬") + // @Size(max = 0,message = "铬最大长度要小于 0") + private String cr; + + /** + * 铅 + */ + @TableField(value="pb") + @Schema(description="铅") + // @Size(max = 0,message = "铅最大长度要小于 0") + private String pb; + + /** + * 氰化物 + */ + @TableField(value="cn") + @Schema(description="氰化物 ") + // @Size(max = 0,message = "氰化物 最大长度要小于 0") + private String cn; + + /** + * 挥发酚 + */ + @TableField(value="vlph") + @Schema(description="挥发酚 ") + // @Size(max = 0,message = "挥发酚 最大长度要小于 0") + private String vlph; + + /** + * 石油类 + */ + @TableField(value="oil") + @Schema(description="石油类") + // @Size(max = 0,message = "石油类最大长度要小于 0") + private String oil; + + /** + * 阴离子表面活性剂 + */ + @TableField(value="las") + @Schema(description="阴离子表面活性剂 ") + // @Size(max = 0,message = "阴离子表面活性剂 最大长度要小于 0") + private String las; + + /** + * 硫化物 + */ + @TableField(value="s") + @Schema(description="硫化物") + // @Size(max = 0,message = "硫化物最大长度要小于 0") + private String s; + + /** + * 大肠菌群数 + */ + @TableField(value="tcg") + @Schema(description="大肠菌群数 ") + // @Size(max = 0,message = "大肠菌群数 最大长度要小于 0") + private String tcg; + + /** + * 浊度 + */ + @TableField(value="turb") + @Schema(description="浊度") + // @Size(max = 0,message = "浊度最大长度要小于 0") + private String turb; + + /** + * 电导率 + */ + @TableField(value="cond") + @Schema(description="电导率") + // @Size(max = 0,message = "电导率最大长度要小于 0") + private String cond; + + /** + * 高锰酸盐 + */ + @TableField(value="codmn") + @Schema(description="高锰酸盐") + // @Size(max = 0,message = "高锰酸盐最大长度要小于 0") + private String codmn; + + /** + * 叶绿素 + */ + @TableField(value="chla") + @Schema(description="叶绿素") + // @Size(max = 0,message = "叶绿素最大长度要小于 0") + private String chla; + + /** + * 水质类别 + */ + @TableField(value="level") + @Schema(description="水质类别") + @Size(max = 10,message = "水质类别最大长度要小于 10") + private String level; + /** + * 选择的起始时间 + */ + @Schema(description = "选择的起始时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date startTime; + + /** + * 选择的结束时间 + */ + @Schema(description = "选择的结束时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date endTime; + + /** + * PH类别 + */ + @TableField(value = "ph_level") + @Schema(description = "PH类别") + private String phLevel; + + /** + * 溶解氧类别 + */ + @TableField(value = "bod_level") + @Schema(description = "溶解氧类别") + private String bodLevel; + + /** + * 高锰酸钾类别 + */ + @TableField(value = "mn_level") + @Schema(description = "高锰酸钾类别") + private String mnLevel; + + /** + * 水温类别 + */ + @TableField(value = "temp_level") + @Schema(description = "水温类别") + private String tempLevel; + + /** + * 化学需氧量类别 + */ + @TableField(value = "codcr_level") + @Schema(description = "化学需氧量类别") + private String codcrLevel; + + /** + * 五日生化需氧量类别 + */ + @TableField(value = "bod5_level") + @Schema(description = "五日生化需氧量类别") + private String bod5Level; + + /** + * 氨氮类别 + */ + @TableField(value = "nh3n_level") + @Schema(description = "氨氮类别") + private String nh3nLevel; + + /** + * 总磷类别 + */ + @TableField(value = "tp_level") + @Schema(description = "总磷类别") + private String tpLevel; + + /** + * 总氮类别 + */ + @TableField(value = "tn_level") + @Schema(description = "总氮类别") + private String tnLevel; + + /** + * 铜类别 + */ + @TableField(value = "cu_level") + @Schema(description = "铜类别") + private String cuLevel; + + /** + * 锌类别 + */ + @TableField(value = "zn_level") + @Schema(description = "锌类别") + private String znLevel; + + /** + * 氟化物类别 + */ + @TableField(value = "f_level") + @Schema(description = "氟化物类别") + private String fLevel; + + /** + * 硒类别 + */ + @TableField(value = "se_level") + @Schema(description = "硒类别") + private String seLevel; + + /** + * 砷类别 + */ + @TableField(value = "arsenic_level") + @Schema(description = "砷类别") + private String arsenicLevel; + + /** + * 汞类别 + */ + @TableField(value = "hg_level") + @Schema(description = "汞类别") + private String hgLevel; + + /** + * 镉类别 + */ + @TableField(value = "cd_level") + @Schema(description = "镉类别") + private String cdLevel; + + /** + * 铬类别 + */ + @TableField(value = "cr_level") + @Schema(description = "铬类别") + private String crLevel; + + /** + * 铅类别 + */ + @TableField(value = "pb_level") + @Schema(description = "铅类别") + private String pbLevel; + + /** + * 氰化物类别 + */ + @TableField(value = "cn_level") + @Schema(description = "氰化物类别") + private String cnLevel; + + /** + * 挥发酚类别 + */ + @TableField(value = "vlph_level") + @Schema(description = "挥发酚类别") + private String vlphLevel; + + /** + * 石油类类别 + */ + @TableField(value = "oil_level") + @Schema(description = "石油类类别") + private String oilLevel; + + /** + * 阴离子表面活性剂类别 + */ + @TableField(value = "las_level") + @Schema(description = "阴离子表面活性剂类别") + private String lasLevel; + + /** + * 硫化物类别 + */ + @TableField(value = "s_level") + @Schema(description = "硫化物类别") + private String sLevel; + + /** + * 大肠菌群数类别 + */ + @TableField(value = "tcg_level") + @Schema(description = "大肠菌群数类别") + private String tcgLevel; + + /** + * 浊度类别 + */ + @TableField(value = "turb_level") + @Schema(description = "浊度类别") + private String turbLevel; + + /** + * 电导率类别 + */ + @TableField(value = "cond_level") + @Schema(description = "电导率类别") + private String condLevel; + + /** + * 高锰酸盐类别 + */ + @TableField(value = "codmn_level") + @Schema(description = "高锰酸盐类别") + private String codmnLevel; + + /** + * 叶绿素类别 + */ + @TableField(value = "chla_level") + @Schema(description = "叶绿素类别") + private String chlaLevel; + + /** + * 污染物及超标倍数 + */ + @TableField(value = "paem") + @Schema(description = "污染物及超标倍数") + private String paem; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/OsmoticWaterRule.java b/src/main/java/com/gunshi/project/hsz/model/OsmoticWaterRule.java new file mode 100644 index 0000000..1a0da62 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/OsmoticWaterRule.java @@ -0,0 +1,93 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 水质质量标准规则表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水质质量标准规则表") +@Data +@TableName("public.osmotic_water_rule") +public class OsmoticWaterRule implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 项目编号 + */ + @TableId(value="code", type= IdType.AUTO) + @Schema(description="项目编号") + @Size(max = 20,message = "项目编号最大长度要小于 20") + @NotBlank(message = "项目编号不能为空") + private String code; + + /** + * 项目名称 + */ + @TableField(value="name") + @Schema(description="项目名称") + @Size(max = 20,message = "项目名称最大长度要小于 20") + private String name; + + /** + * 条件 + */ + @TableField(value="condition") + @Schema(description="条件") + @Size(max = 20,message = "条件最大长度要小于 20") + private String condition; + + /** + * I + */ + @TableField(value="one") + @Schema(description="I") + // @Size(max = 0,message = "I最大长度要小于 0") + private String one; + + /** + * II + */ + @TableField(value="two") + @Schema(description="II") + // @Size(max = 0,message = "II最大长度要小于 0") + private String two; + + /** + * III + */ + @TableField(value="three") + @Schema(description="III") + // @Size(max = 0,message = "III最大长度要小于 0") + private String three; + + /** + * IV + */ + @TableField(value="four") + @Schema(description="IV") + // @Size(max = 0,message = "IV最大长度要小于 0") + private String four; + + /** + * V + */ + @TableField(value="five") + @Schema(description="V") + // @Size(max = 0,message = "V最大长度要小于 0") + private String five; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/PersonnelPlan.java b/src/main/java/com/gunshi/project/hsz/model/PersonnelPlan.java new file mode 100644 index 0000000..ef612a8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/PersonnelPlan.java @@ -0,0 +1,216 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import com.ruoyi.common.annotation.Excel; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Schema(description="培训计划表") +@Accessors(chain = true) // chain = true 实现链式调用 +@Data +@TableName("public.personnel_plan") +public class PersonnelPlan extends CommUpdate implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 培训班名称 + */ + @Excel(name = "培训班名称",sort = 1) + @TableField(value="name") + @Schema(description="培训班名称") + @Size(max = 30,message = "培训班名称最大长度要小于 30") + @NotBlank(message = "培训班名称不能为空",groups = {Insert.class, Update.class}) + private String name; + + /** + * 培训主题分类,0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他 + */ + @TableField(value="type") + @Excel(name = "培训主题",sort = 2,readConverterExp = "1=水利,2=岗前培训,3=在岗培训,4=政治学习教育,5=其他") + @Schema(description="培训主题分类,1:水利,2:岗前培训,3:在岗培训,4:政治学习教育,5:其他") + @NotNull(message = "培训主题不能为空",groups = {Insert.class, Update.class}) + @Pattern(regexp = "^[0-4]$", message = "培训主题分类应为:1:水利,2:岗前培训,3:在岗培训,4:政治学习教育,5:其他") + private Integer type; + + /** + * 主办单位 + */ + @Excel(name = "主办单位",sort = 5) + @TableField(value="unit") + @Schema(description="主办单位") + @Size(max = 100,message = "主办单位最大长度要小于 100") + @NotBlank(message = "主办单位不能为空",groups = {Insert.class, Update.class}) + private String unit; + + /** + * 开始培训时间 + */ + @Excel(name = "开始培训时间",sort = 3,dateFormat = DateFormatString.YYYY_MM_DD) + @Schema(description="开始培训时间 格式:yyyy-MM-dd") + @NotNull(message = "开始培训时间不能为空") + @TableField(value="stm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date stm; + + /** + * 结束培训时间 + */ + @Excel(name = "结束培训时间",sort = 4,dateFormat = DateFormatString.YYYY_MM_DD) + @Schema(description="结束培训时间 格式:yyyy-MM-dd") + @NotNull(message = "结束培训时间不能为空") + @TableField(value="etm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date etm; + + /** + * 培训天数(天) + */ + @Excel(name = "培训天数(天)",sort = 9) + @Schema(description="培训天数(天)") + @TableField(value="day") + private Integer day; + + /** + * 培训期数(期) + */ + @Excel(name = "培训期数(期)",sort = 8) + @Schema(description="培训期数(期)") + @TableField(value="num") + private Integer num; + + /** + * 培训地点 + */ + @Excel(name = "培训地点",sort = 7) + @Schema(description="培训地点") + @TableField(value="addr") + @Size(max = 200,message = "主办单位最大长度要小于 200") + @NotBlank(message = "培训地点不能为空",groups = {Insert.class, Update.class}) + private String addr; + + /** + * 培训内容 + */ + @Excel(name = "培训内容",sort = 6) + @Schema(description="培训内容") + @TableField(value="content") + @Size(max = 500,message = "培训内容最大长度要小于 500") + @NotBlank(message = "培训内容不能为空",groups = {Insert.class, Update.class}) + private String content; + + /** + * 培训范围 + */ + @Excel(name = "培训范围",sort = 10) + @Schema(description="培训范围") + @TableField(value="scope") + @Size(max = 500,message = "培训范围最大长度要小于 500") + @NotBlank(message = "培训范围不能为空",groups = {Insert.class, Update.class}) + private String scope; + + /** + * 参训人员 + */ + @Excel(name = "参训人员",sort = 11) + @Schema(description="参训人员") + @TableField(value="trainees") + @Size(max = 200,message = "参训人员最大长度要小于 200") + private String trainees; + + /** + * 参训人数(人) + */ + @Excel(name = "参训人数(人)",sort = 12) + @Schema(description="参训人数(人)") + @TableField(value="num_people") + @Size(max = 200,message = "参训人员最大长度要小于 200") + @NotNull(message = "参训人数不能为空",groups = {Insert.class, Update.class}) + private Integer numPeople; + + /** + * 联系人 + */ + @Excel(name = "联系人",sort = 13) + @Schema(description="联系人") + @TableField(value="contacts") + @Size(max = 50,message = "联系人最大长度要小于 50") + private String contacts; + + /** + * 联系电话 + */ + @Excel(name = "联系电话",sort = 14) + @Schema(description="联系电话") + @TableField(value="contact_number") + @Size(max = 30,message = "联系电话最大长度要小于 30") + private String contactNumber; + + /** + * 填报人 + */ + @Schema(description="填报人") + @TableField(value="applicant") + @Size(max = 50,message = "填报人最大长度要小于 50") + @Excel(name = "填报人",sort = 7) + private String applicant; + + /** + * 状态 + */ + @Schema(description="状态 0:无效 1:有效") + @TableField(value="status") + @Size(max = 2,message = "状态最大长度要小于 2") + @NotNull(message = "状态不能为空",groups = {Insert.class, Update.class}) + @Pattern(regexp = "^[0-1]$", message = "状态应为:0:无效 1:有效") + private Integer status; + + /** + * 登记日期 + */ + @Schema(description="登记日期") + @TableField(value="reg_date") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date regDate; + + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/PersonnelPlanLog.java b/src/main/java/com/gunshi/project/hsz/model/PersonnelPlanLog.java new file mode 100644 index 0000000..4704068 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/PersonnelPlanLog.java @@ -0,0 +1,176 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Schema(description="培训记录表") +@Data +@TableName("public.personnel_plan_log") +public class PersonnelPlanLog extends CommUpdate implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 培训计划主键 + */ + @TableField(value="plan_id") + @Schema(description="培训计划主键") + @JsonSerialize(using = ToStringSerializer.class) +// @NotNull(message = "培训计划不能为空",groups = {Insert.class, Update.class}) + private Long planId; + + /** + * 培训日期 + */ + @TableField(value="plan_date") + @Schema(description="培训日期 格式:yyyy-MM-dd") + @NotNull(message = "培训日期不能为空",groups = {Insert.class, Update.class}) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date planDate; + + /** + * 标题名称 + */ + @TableField(value="name") + @Schema(description="标题名称") + @Size(max = 30,message = "标题名称最大长度要小于 30") + @NotBlank(message = "标题名称不能为空",groups = {Insert.class, Update.class}) + private String name; + + /** + * 培训分类,0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他 + */ + @TableField(value="type") + @Schema(description="培训分类,0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他") + @Pattern(regexp = "^[0-4]$", message = "培训主题分类应为:0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他") + private Integer type; + + + /** + * 开始培训时间 + */ + @Schema(description="培训时段开始时间 格式:HH:mm:ss") + @TableField(value="stm") + @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8") + private Date stm; + + /** + * 结束培训时间 + */ + @Schema(description="培训时段结束时间 格式:HH:mm:ss") + @TableField(value="etm") + @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8") + private Date etm; + + /** + * 培训时长(小时) + */ + @Schema(description="培训时长(小时)") + @TableField(value="hour") + private Integer hour; + + /** + * 培训地点 + */ + @Schema(description="培训地点") + @TableField(value="addr") + @Size(max = 200,message = "主办单位最大长度要小于 200") + @NotBlank(message = "培训地点不能为空",groups = {Insert.class, Update.class}) + private String addr; + + /** + * 主办单位 + */ + @TableField(value="unit") + @Schema(description="主办单位") + @Size(max = 100,message = "主办单位最大长度要小于 100") + @NotBlank(message = "主办单位不能为空",groups = {Insert.class, Update.class}) + private String unit; + + + /** + * 培训内容 + */ + @Schema(description="培训内容") + @TableField(value="content") + @Size(max = 500,message = "培训内容最大长度要小于 500") + @NotBlank(message = "培训内容不能为空",groups = {Insert.class, Update.class}) + private String content; + + /** + * 参训人员 + */ + @Schema(description="参训人员") + @TableField(value="trainees") + @Size(max = 200,message = "参训人员最大长度要小于 200") + private String trainees; + + /** + * 参训人数(人) + */ + @Schema(description="参训人数(人)") + @TableField(value="num_people") + @Size(max = 200,message = "参训人员最大长度要小于 200") + @NotNull(message = "参训人数不能为空",groups = {Insert.class, Update.class}) + private Integer numPeople; + + /** + * 填报人 + */ + @Schema(description="填报人") + @TableField(value="applicant") + @Size(max = 50,message = "填报人最大长度要小于 50") + private String applicant; + + /** + * 登记日期 + */ + @Schema(description="登记日期") + @TableField(value="reg_date") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date regDate; + + @TableField(exist = false) + @Schema(description = "签到培训表") + private List files1; + + @TableField(exist = false) + @Schema(description = "附件") + private List files2; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ProjectEvents.java b/src/main/java/com/gunshi/project/hsz/model/ProjectEvents.java new file mode 100644 index 0000000..4223505 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ProjectEvents.java @@ -0,0 +1,71 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 工程大事记 + */ +@Schema(description="工程大事记") +@Data +@TableName(value = "public.project_events") +public class ProjectEvents implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @TableField(value = "name") + @Schema(description="名称") + @NotEmpty(message = "名称不可为空",groups = {Insert.class,Update.class}) + private String name; + + /** + * 发生日期 + */ + @TableField(value = "events_date") + @Schema(description="发生日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + @NotNull(message = "日期不能为空",groups = {Insert.class,Update.class}) + private Date eventsDate; + + /** + * 类型(1综合大事记 2专题大事记) + */ + @TableField(value = "events_type") + @Schema(description="类型(1综合大事记 2专题大事记)") + private Integer eventsType; + + + @TableField(value = "events_desc") + @Schema(description="事件内容描述") + @NotEmpty(message = "事件内容描述不可为空",groups = {Insert.class,Update.class}) + private String eventsDesc; + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/ResBriefR.java b/src/main/java/com/gunshi/project/hsz/model/ResBriefR.java new file mode 100644 index 0000000..fbba9b0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ResBriefR.java @@ -0,0 +1,85 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * @author lyf + * @since 2025-04-25 + */ +@Data +@TableName("public.res_brief_r") +@Slf4j +public class ResBriefR { + @TableId(value="id", type= IdType.AUTO) + private Integer id; + @TableField + private BigDecimal drp24Sum; + @TableField + private String sumStnm; + @TableField + private BigDecimal drp24Max; + @TableField + private String maxStnm; + @TableField + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date maxTm; + @TableField + private BigDecimal rz8; + @TableField + private BigDecimal rzYesterday8; + @TableField + private BigDecimal w; + @TableField + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date date; + @TableField + //设计洪水位 + private BigDecimal flLowLimLev; + @TableField(exist = false) + private String brief; + + public String getBrief() { + + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日"); + SimpleDateFormat sdf2 = new SimpleDateFormat("dd日HH时"); + BigDecimal gap; + if (rz8 != null && rzYesterday8 != null) { + gap = rz8.subtract(rzYesterday8); + } else { + gap = null; + } + String dir; + if (gap != null && gap.compareTo(BigDecimal.ZERO) > 0) { + dir = "上涨"; + } else if (gap != null && gap.compareTo(BigDecimal.ZERO) < 0) { + dir = "下跌"; + } else { + dir = "上涨"; + } + return String.format("%s08时,过去24小时最大累计降雨量%smm(%s),最大点雨量%smm/h(%s,%s)。当前水库水位%sm(汛限水位%sm),较昨日%s%sm,库容达%s万m³", + date == null ? "" : sdf1.format(date), + drp24Sum == null ? "" : drp24Sum.setScale(1, RoundingMode.DOWN), + sumStnm == null ? "" : sumStnm, + drp24Max == null ? "" : drp24Max.setScale(1, RoundingMode.DOWN), + maxStnm == null ? "" : maxStnm, + maxTm == null ? "" : sdf2.format(maxTm), + rz8 == null ? "" : rz8.setScale(2, RoundingMode.DOWN), + flLowLimLev == null ? "" : flLowLimLev.setScale(0, RoundingMode.DOWN), + gap == null ? "" :dir, + gap == null ? "" : gap.setScale(2, RoundingMode.DOWN), + w == null ? "" : w.setScale(2, RoundingMode.DOWN) + ); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ResFloodRoad.java b/src/main/java/com/gunshi/project/hsz/model/ResFloodRoad.java new file mode 100644 index 0000000..9b3d093 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ResFloodRoad.java @@ -0,0 +1,70 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* 描述: 防汛道路 +* author: xusan +* date: 2024-11-14 10:37:15 +*/ +@Schema(description="防汛道路") +@Data +@TableName("public.res_flood_road") +public class ResFloodRoad implements Serializable { + + public final static String thisTableName = "ResFloodRoad"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 水库代码 + */ + @TableField(value="res_code") + @Schema(description="水库代码") + @Size(max = 32,message = "水库代码最大长度要小于 32") + private String resCode; + + /** + * 名称 + */ + @TableField(value="name") + @Schema(description="名称") + @Size(max = 30,message = "名称最大长度要小于 30") + private String name; + + /** + * 防汛路长度 + */ + @TableField(value="flood_road_len") + @Schema(description="防汛路长度") + private BigDecimal floodRoadLen; + + /** + * 路面宽度 + */ + @TableField(value="road_width") + @Schema(description="路面宽度") + @Size(max = 30,message = "路面宽度最大长度要小于 30") + private String roadWidth; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/ResMangUnit.java b/src/main/java/com/gunshi/project/hsz/model/ResMangUnit.java new file mode 100644 index 0000000..9f7df9b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ResMangUnit.java @@ -0,0 +1,106 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 水库管理单位表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水库管理单位表") +@Data +@TableName("public.res_mang_unit") +public class ResMangUnit implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + private Long id; + + /** + * 水库代码 + */ + @TableField(value="res_code") + @Schema(description="水库代码") + @Size(max = 32,message = "水库代码最大长度要小于 32") + @NotBlank(message = "水库代码不能为空") + private String resCode; + + /** + * 管理单位名称 + */ + @TableField(value="mang_unit_name") + @Schema(description="管理单位名称") + @Size(max = 50,message = "管理单位名称最大长度要小于 50") + private String mangUnitName; + + /** + * 单位性质(1公益林 2民间组织 3企业 4其他) + */ + @TableField(value="type") + @Schema(description="单位性质(1公益林 2民间组织 3企业 4其他)") + // @Size(max = 0,message = "单位性质(1公益林 2民间组织 3企业 4其他)最大长度要小于 0") + private Integer type; + + /** + * 职工人数 + */ + @TableField(value="person_num") + @Schema(description="职工人数") + // @Size(max = 0,message = "职工人数最大长度要小于 0") + private Integer personNum; + + /** + * 人员经费来源 + */ + @TableField(value="person_funds_source") + @Schema(description="人员经费来源") + // @Size(max = 0,message = "人员经费来源最大长度要小于 0") + private Integer personFundsSource; + + /** + * 维修养护经费来源 + */ + @TableField(value="repair_funds_source") + @Schema(description="维修养护经费来源") + // @Size(max = 0,message = "维修养护经费来源最大长度要小于 0") + private Integer repairFundsSource; + + /** + * 行政主管单位 + */ + @TableField(value="adm_unit") + @Schema(description="行政主管单位") + @Size(max = 50,message = "行政主管单位最大长度要小于 50") + private String admUnit; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/ResMonthEcoFlow.java b/src/main/java/com/gunshi/project/hsz/model/ResMonthEcoFlow.java new file mode 100644 index 0000000..340b1a3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ResMonthEcoFlow.java @@ -0,0 +1,79 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 水库月核定生态流量表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水库月核定生态流量表") +@Data +@TableName("public.res_month_eco_flow") +@Accessors(chain = true) // chain = true 实现链式调用 +public class ResMonthEcoFlow implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + private Long id; + + /** + * 水库代码 + */ + @TableField(value="res_code") + @Schema(description="水库代码") + @Size(max = 32,message = "水库代码最大长度要小于 32",groups = {Update.class, Insert.class}) + @NotBlank(message = "水库代码不能为空",groups = {Update.class, Insert.class}) + private String resCode; + + /** + * 月份 + */ + @TableField(value="month") + @Schema(description="月份") + // @Size(max = 0,message = "月份最大长度要小于 0") + private Integer month; + + /** + * 流量 + */ + @TableField(value="value") + @Schema(description="流量") + // @Size(max = 0,message = "流量最大长度要小于 0") + private BigDecimal value; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/ResPerson.java b/src/main/java/com/gunshi/project/hsz/model/ResPerson.java new file mode 100644 index 0000000..e928e34 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ResPerson.java @@ -0,0 +1,91 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Schema(description="责任人表") +@Data +@TableName("public.res_person") +public class ResPerson extends CommUpdate implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 名字 + */ + @TableField(value="name") + @Schema(description="名字") + @Size(max = 30,message = "名字最大长度要小于 30") + @NotBlank(message = "姓名不能为空") + private String name; + + /** + * 类型,0:行政,1:主管部门,2:管理单位,3:巡查,4:技术 + */ + @TableField(value="type") + @Schema(description="类型,0:行政,1:主管部门,2:管理单位,3:巡查,4:技术") + @NotNull(message = "责任类型不能为空") + private Integer type; + + /** + * 单位 + */ + @TableField(value="unit") + @Schema(description="单位") + @Size(max = 50,message = "单位最大长度要小于 50") + private String unit; + + /** + * 职务 + */ + @TableField(value="duty") + @Schema(description="职务") + @Size(max = 50,message = "职务最大长度要小于 50") + private String duty; + + /** + * 联系方式 + */ + @TableField(value="contact_info") + @Schema(description="联系方式") + @Size(max = 100,message = "联系方式最大长度要小于 100") + private String contactInfo; + + /** + * 职责范围 + */ + @TableField(value="duty_bound") + @Schema(description="职责范围") + @Size(max = 200,message = "职责范围最大长度要小于 200") + private String dutyBound; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/ResPlanB.java b/src/main/java/com/gunshi/project/hsz/model/ResPlanB.java new file mode 100644 index 0000000..2e0a63a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ResPlanB.java @@ -0,0 +1,125 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 水库预案表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水库预案表") +@Data +@TableName("public.res_plan_b") +public class ResPlanB implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + + /** + * 水库代码 + */ + @TableField(value="res_code") + @Schema(description="水库代码") + @Size(max = 32,message = "水库代码最大长度要小于 32") + @NotBlank(message = "水库代码不能为空") + private String resCode; + + /** + * 预案/调度规程名称 + */ + @TableField(value="plan_name") + @Schema(description="预案/调度规程名称") + @Size(max = 50,message = "预案/调度规程名称最大长度要小于 50") + private String planName; + + /** + * 编制时间 + */ + @TableField(value="prep_time") + @Schema(description="编制时间") + // @Size(max = 0,message = "编制时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date prepTime; + + /** + * 编制单位 + */ + @TableField(value="prep_org") + @Schema(description="编制单位") + @Size(max = 30,message = "编制单位最大长度要小于 30") + private String prepOrg; + + /** + * 批复时间 + */ + @TableField(value="appr_time") + @Schema(description="批复时间") + // @Size(max = 0,message = "批复时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date apprTime; + + /** + * 批复部门 + */ + @TableField(value="appr_org") + @Schema(description="批复部门") + @Size(max = 30,message = "批复部门最大长度要小于 30") + private String apprOrg; + + /** + * 文件id + */ + @TableField(value="file_id") + @Schema(description="文件id") + // @Size(max = 0,message = "文件id最大长度要小于 0") + private Long fileId; + + /** + * 类型(1防汛预案 2调度规程) + */ + @TableField(value="type") + @Schema(description="类型(1防汛预案 2调度规程)") + // @Size(max = 0,message = "类型(1防汛预案 2调度规程)最大长度要小于 0") + private Integer type; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/ResProjectImg.java b/src/main/java/com/gunshi/project/hsz/model/ResProjectImg.java new file mode 100644 index 0000000..bb335ad --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ResProjectImg.java @@ -0,0 +1,97 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 水库工程图片 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水库工程图片") +@Data +@TableName("public.res_project_img") +public class ResProjectImg implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + // @Size(max = 0,message = "主键最大长度要小于 0") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 水库代码 + */ + @TableField(value="res_code") + @Schema(description="水库代码") + @Size(max = 32,message = "水库代码最大长度要小于 32") + @NotBlank(message = "水库代码不能为空") + private String resCode; + + /** + * 序号 + */ + @TableField(value="sort_on") + @Schema(description="序号") + // @Size(max = 0,message = "序号最大长度要小于 0") + private Integer sortOn; + + /** + * 工程图片类别 1:枢纽全景彩照 2:枢纽平面配置图 3:泄水建筑物设计图及现场图片 4:主坝设计图及现场照片 5:输水建筑物设计图及现场照片 9:其他图纸和照片 + */ + @TableField(value="proj_type") + @Schema(description="工程图片类别 1:枢纽全景彩照 2:枢纽平面配置图 3:泄水建筑物设计图及现场图片 4:主坝设计图及现场照片 5:输水建筑物设计图及现场照片 9:其他图纸和照片") + // @Size(max = 0,message = "工程图片类别 1:枢纽全景彩照 2:枢纽平面配置图 3:泄水建筑物设计图及现场图片 4:主坝设计图及现场照片 5:输水建筑物设计图及现场照片 9:其他图纸和照片最大长度要小于 0") + private Integer projType; + + /** + * 工程图片类别 1:枢纽全景彩照 2:枢纽平面配置图 3:泄水建筑物设计图及现场图片 4:主坝设计图及现场照片 5:输水建筑物设计图及现场照片 9:其他图纸和照片 + */ + @TableField(value="proj_type_str") + @Schema(description="工程图片类别 枢纽全景彩照 枢纽平面配置图 泄水建筑物设计图及现场图片 主坝设计图及现场照片 输水建筑物设计图及现场照片 其他图纸和照片") + private String projTypeStr; + + /** + * 文件id + */ + @TableField(value="file_id") + @Schema(description="文件id") + // @Size(max = 0,message = "文件id最大长度要小于 0") + private Long fileId; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/ResSafePersonB.java b/src/main/java/com/gunshi/project/hsz/model/ResSafePersonB.java new file mode 100644 index 0000000..1725ff7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ResSafePersonB.java @@ -0,0 +1,111 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 水库责任体系表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水库责任体系表") +@Data +@TableName("public.res_safe_person_b") +public class ResSafePersonB implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + // @Size(max = 0,message = "主键最大长度要小于 0") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 水库代码 + */ + @TableField(value="res_code") + @Schema(description="水库代码") + @Size(max = 32,message = "水库代码最大长度要小于 32") + @NotBlank(message = "水库代码不能为空") + private String resCode; + + /** + * 责任人类型 1:行政责任人 2:技术责任人 3:巡查责任人 4:主管部门责任人 5:管理单位责任人 + */ + @TableField(value="rep_type") + @Schema(description="责任人类型 1:行政责任人 2:技术责任人 3:巡查责任人 4:主管部门责任人 5:管理单位责任人") + // @Size(max = 0,message = "责任人类型 1:行政责任人 2:技术责任人 3:巡查责任人 4:主管部门责任人 5:管理单位责任人最大长度要小于 0") + private Integer repType; + + /** + * 姓名 + */ + @TableField(value="person_name") + @Schema(description="姓名") + @Size(max = 20,message = "姓名最大长度要小于 20") + private String personName; + + /** + * 单位 + */ + @TableField(value="org_name") + @Schema(description="单位") + @Size(max = 20,message = "单位最大长度要小于 20") + private String orgName; + + /** + * 职务 + */ + @TableField(value="position") + @Schema(description="职务") + @Size(max = 20,message = "职务最大长度要小于 20") + private String position; + + /** + * 联系方式 + */ + @TableField(value="tel") + @Schema(description="联系方式") + @Size(max = 20,message = "联系方式最大长度要小于 20") + private String tel; + + /** + * 序号 + */ + @TableField(value="sort_on") + @Schema(description="序号") + // @Size(max = 0,message = "序号最大长度要小于 0") + private Integer sortOn; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/ResTunnel.java b/src/main/java/com/gunshi/project/hsz/model/ResTunnel.java new file mode 100644 index 0000000..0c6d8b0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ResTunnel.java @@ -0,0 +1,130 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* 描述: 水库建筑物 - 放空洞/灌溉发电洞 +* author: xusan +* date: 2024-11-14 10:34:11 +*/ +@Schema(description="水库建筑物 - 放空洞/灌溉发电洞") +@Data +@TableName("public.res_tunnel") +public class ResTunnel implements Serializable { + + public final static String thisTableName = "ResTunnel"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 水库代码 + */ + @TableField(value="res_code") + @Schema(description="水库代码") + @Size(max = 32,message = "水库代码最大长度要小于 32") + private String resCode; + + /** + * 建筑物名称 + */ + @TableField(value="name") + @Schema(description="建筑物名称") + @Size(max = 30,message = "建筑物名称最大长度要小于 30") + private String name; + + /** + * 型式 + */ + @TableField(value="build_type") + @Schema(description="型式") + @Size(max = 30,message = "型式最大长度要小于 30") + private String buildType; + + /** + * 衬砌型式 + */ + @TableField(value="lining_type") + @Schema(description="衬砌型式") + @Size(max = 30,message = "衬砌型式最大长度要小于 30") + private String liningType; + + /** + * 地基特性 + */ + @TableField(value="found_character") + @Schema(description="地基特性") + @Size(max = 30,message = "地基特性最大长度要小于 30") + private String foundCharacter; + + /** + * 进口底板高程(m) + */ + @TableField(value="inlet_ele") + @Schema(description="进口底板高程(m)") + private BigDecimal inletEle; + + /** + * 断面尺寸 + */ + @TableField(value="section_size") + @Schema(description="断面尺寸") + private BigDecimal sectionSize; + + /** + * 洞长 + */ + @TableField(value="tunnel_len") + @Schema(description="洞长") + private BigDecimal tunnelLen; + + /** + * 设计流量(m3/s) + */ + @TableField(value="des_q") + @Schema(description="设计流量(m3/s)") + private BigDecimal desQ; + + /** + * 进口闸门型式 + */ + @TableField(value="valve_type") + @Schema(description="进口闸门型式") + @Size(max = 30,message = "进口闸门型式最大长度要小于 30") + private String valveType; + + /** + * 进口启闭机型式 + */ + @TableField(value="oc_type") + @Schema(description="进口启闭机型式") + @Size(max = 18,message = "进口启闭机型式最大长度要小于 18") + private String ocType; + + /** + * 类型(1放空洞 2灌溉发电洞) + */ + @TableField(value="type") + @Schema(description="类型(1放空洞 2灌溉发电洞)") + private Integer type; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/RescueGoodsB.java b/src/main/java/com/gunshi/project/hsz/model/RescueGoodsB.java new file mode 100644 index 0000000..680df9a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/RescueGoodsB.java @@ -0,0 +1,117 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.service.AbstractModelWithAttachService; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 抢险物资 + */ +@Schema(description="抢险物资") +@Data +@TableName(value = "public.rescue_goods_b") +public class RescueGoodsB implements Serializable, AbstractModelWithAttachService.GetFileIds { + /** + * 主键 + */ + @TableId(value = "goods_id", type = IdType.INPUT) + @Schema(description="主键") + @NotNull(message = "主键不能为空", groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long goodsId; + + /** + * 物资名称 + */ + @TableField(value = "goods_name") + @Schema(description="物资名称") + @Size(max = 100,message = "物资名称最大长度要小于 100") + @NotEmpty(message = "物资名称不能为空", groups = {Insert.class, Update.class}) + private String goodsName; + + /** + * 物资类型(1抢险物资 2救生器材) + */ + @TableField(value = "goods_type") + @Schema(description="物资类型(1抢险物资 2救生器材)") + @NotNull(message = "物资类型不能为空", groups = {Insert.class, Update.class}) + private Integer goodsType; + + /** + * 规格 + */ + @TableField(value = "specs") + @Schema(description="规格") + private String specs; + + /** + * 单位(1个 2件 3米 4把 5台 6套 7副 8箱 9卷 10立方米 11平方米) + */ + @TableField(value = "unit") + @Schema(description="单位(1个 2件 3米 4把 5台 6套 7副 8箱 9卷 10立方米 11平方米)") + private Integer unit; + + /** + * 库存数量 + */ + @TableField(value = "store_quantity") + @Schema(description="库存数量") + @NotNull(message = "库存数量不能为空", groups = {Insert.class, Update.class}) + private BigDecimal storeQuantity; + + /** + * 存放地点 + */ + @TableField(value = "store_location") + @Schema(description="存放地点") + private String storeLocation; + + /** + * 联系人 + */ + @TableField(value = "contact_person") + @Schema(description="联系人") + @Size(max = 150,message = "联系人最大长度要小于 150", groups = {Insert.class, Update.class}) + private String contactPerson; + + /** + * 联系电话 + */ + @TableField(value = "phone") + @Schema(description="联系电话") + @Size(max = 20,message = "联系电话最大长度要小于 20", groups = {Insert.class, Update.class}) + private String phone; + + + /** + * 时间戳 + */ + @TableField(value = "tm") + @Schema(description="时间戳") + @NotNull(message = "时间戳不能为空") + private Date tm; + + @TableField(exist = false) + @Schema(description = "文件id集合") + private List fileIds; + + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/RescueGoodsFile.java b/src/main/java/com/gunshi/project/hsz/model/RescueGoodsFile.java new file mode 100644 index 0000000..316ba60 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/RescueGoodsFile.java @@ -0,0 +1,72 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 抢险物资-附件 + */ +@Schema(description="抢险物资-附件") +@Data +@TableName(value = "public.rescue_goods_file") +public class RescueGoodsFile implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + private Long id; + + /** + * 抢险物资id + */ + @TableField(value = "goods_id") + @Schema(description="抢险物资id") + private Long goodsId; + + /** + * 文件id + */ + @TableField(value = "file_id") + @Schema(description="文件id") + @JsonSerialize(using = ToStringSerializer.class) + private Long fileId; + + /** + * 序号 + */ + @TableField(value = "sort_on") + @Schema(description="序号") + private Integer sortOn; + + /** + * 时间戳 + */ + @TableField(value = "tm") + @Schema(description="时间戳") + @NotNull(message = "时间戳不能为空") + private Date tm; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_GOODS_ID = "goods_id"; + + public static final String COL_FILE_ID = "file_id"; + + public static final String COL_SORT_ON = "sort_on"; + + public static final String COL_TM = "tm"; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/RescueTeamB.java b/src/main/java/com/gunshi/project/hsz/model/RescueTeamB.java new file mode 100644 index 0000000..0e5208b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/RescueTeamB.java @@ -0,0 +1,151 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.hsz.service.AbstractModelWithAttachService; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 抢险队伍 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="抢险队伍") +@Data +@TableName("public.rescue_team_b") +public class RescueTeamB implements Serializable, AbstractModelWithAttachService.GetFileIds { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="team_id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long teamId; + + /** + * 队伍名称 + */ + @TableField(value="team_name") + @Schema(description="队伍名称") + @Size(max = 100,message = "队伍名称最大长度要小于 100") + private String teamName; + + /** + * 地址 + */ + @TableField(value="address") + @Schema(description="地址") + @Size(max = 150,message = "地址最大长度要小于 150") + private String address; + + /** + * 经度 (°) + */ + @TableField(value="lgtd") + @Schema(description="经度 (°)") + private BigDecimal lgtd; + + /** + * 纬度 (°) + */ + @TableField(value="lttd") + @Schema(description="纬度 (°)") + private BigDecimal lttd; + + /** + * 管理单位 + */ + @TableField(value="management_unit") + @Schema(description="管理单位") + @Size(max = 150,message = "管理单位最大长度要小于 150") + private String managementUnit; + + /** + * 队伍负责人 + */ + @TableField(value="team_leader") + @Schema(description="队伍负责人") + @Size(max = 150,message = "队伍负责人最大长度要小于 150") + private String teamLeader; + + /** + * 联系电话 + */ + @TableField(value="phone") + @Schema(description="联系电话") + @Size(max = 20,message = "联系电话最大长度要小于 20") + private String phone; + + /** + * 登记日期 + */ + @TableField(value="register_date") + @Schema(description="登记日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date registerDate; + + /** + * 有效期开始时间 + */ + @TableField(value="valid_start_date") + @Schema(description="有效期开始时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date validStartDate; + + /** + * 有效期结束时间 + */ + @TableField(value="valid_end_date") + @Schema(description="有效期结束时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date validEndDate; + + /** + * 时间戳 + */ + @TableField(value="tm") + @Schema(description="时间戳") + @NotNull(message = "时间戳不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + @TableField(exist = false) + @Schema(description = "文件id集合") + private List fileIds; + + /** + * 文件上传数据 + */ + @Schema(description="文件上传数据") + @TableField(exist = false) + private List files; + + /** + * 队伍明细 + */ + @Schema(description="队伍明细") + @TableField(exist = false) + private List details; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/RescueTeamDetail.java b/src/main/java/com/gunshi/project/hsz/model/RescueTeamDetail.java new file mode 100644 index 0000000..edcac7c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/RescueTeamDetail.java @@ -0,0 +1,106 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 抢险队伍明细 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="抢险队伍明细") +@Data +@TableName("public.rescue_team_detail") +public class RescueTeamDetail implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="detail_id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long detailId; + + /** + * 队伍id + */ + @TableField(value="team_id") + @Schema(description="队伍id") + @JsonSerialize(using = ToStringSerializer.class) + private Long teamId; + + /** + * 姓名 + */ + @TableField(value="name") + @Schema(description="姓名") + @Size(max = 100,message = "姓名最大长度要小于 100") + private String name; + + /** + * 性别,F女,M男 + */ + @TableField(value="sex") + @Schema(description="性别,F女,M男") + @Size(max = 1,message = "性别,F女,M男最大长度要小于 1") + private String sex; + + /** + * 年龄 + */ + @TableField(value="age") + @Schema(description="年龄") + private Integer age; + + /** + * 工作单位 + */ + @TableField(value="work_unit") + @Schema(description="工作单位") + @Size(max = 150,message = "工作单位最大长度要小于 150") + private String workUnit; + + /** + * 职务 + */ + @TableField(value="duty") + @Schema(description="职务") + @Size(max = 20,message = "职务最大长度要小于 20") + private String duty; + + /** + * 联系方式 + */ + @TableField(value="phone") + @Schema(description="联系方式") + @Size(max = 20,message = "联系方式最大长度要小于 20") + private String phone; + + /** + * 时间戳 + */ + @TableField(value="tm") + @Schema(description="时间戳") + @NotNull(message = "时间戳不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/RescueTeamFile.java b/src/main/java/com/gunshi/project/hsz/model/RescueTeamFile.java new file mode 100644 index 0000000..b036b14 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/RescueTeamFile.java @@ -0,0 +1,72 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 抢险队伍-附件 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="抢险队伍-附件") +@Data +@TableName("public.rescue_team_file") +public class RescueTeamFile implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 抢险队伍id + */ + @TableField(value="team_id") + @Schema(description="抢险队伍id") + private Long teamId; + + /** + * 文件id + */ + @TableField(value="file_id") + @Schema(description="文件id") + @JsonSerialize(using = ToStringSerializer.class) + private Long fileId; + + /** + * 序号 + */ + @TableField(value="sort_on") + @Schema(description="序号") + private Integer sortOn; + + /** + * 时间戳 + */ + @TableField(value="tm") + @Schema(description="时间戳") + @NotNull(message = "时间戳不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/RiskControlInfo.java b/src/main/java/com/gunshi/project/hsz/model/RiskControlInfo.java new file mode 100644 index 0000000..5be157d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/RiskControlInfo.java @@ -0,0 +1,108 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 风险管控清单 +* author: xusan +* date: 2024-08-22 14:17:27 +*/ +@Schema(description="风险管控清单") +@Data +@TableName("public.risk_control_info") +public class RiskControlInfo implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 目录id + */ + @TableField(value="menu_id") + @Schema(description="目录id") + @NotNull(message = "目录id不能为空",groups = {Insert.class,Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long menuId; + + /** + * 风险辨识名称 + */ + @TableField(value="name") + @Schema(description="风险辨识名称") + @Size(max = 255,message = "风险辨识名称最大长度要小于 255") + private String name; + + /** + * 风险等级(1低风险 2一般风险 3较大风险 4重大风险) + */ + @TableField(value="risk_level") + @Schema(description="风险等级(1低风险 2一般风险 3较大风险 4重大风险)") + private Integer riskLevel; + + /** + * 责任人id + */ + @TableField(value="reponser_id") + @Schema(description="责任人id") + private Long reponserId; + + /** + * 责任人 + */ + @TableField(value="reponser_name") + @Schema(description="责任人") + @Size(max = 100,message = "责任人最大长度要小于 100") + private String reponserName; + + /** + * 主要防范措施 + */ + @TableField(value="prevent_measure") + @Schema(description="主要防范措施") + @Size(max = 255,message = "主要防范措施最大长度要小于 255") + private String preventMeasure; + + /** + * 创建日期 + */ + @TableField(value="create_date") + @Schema(description="创建日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createDate; + + @TableField(exist = false) + @Schema(description = "可能导致的后果") + private List result; + + @TableField(exist = false) + @Schema(description = "现场图片") + private List files; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/RiskControlMenu.java b/src/main/java/com/gunshi/project/hsz/model/RiskControlMenu.java new file mode 100644 index 0000000..360586e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/RiskControlMenu.java @@ -0,0 +1,71 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** +* 描述: 风险管控目录 +* author: xusan +* date: 2024-08-22 14:16:34 +*/ +@Schema(description="风险管控目录") +@Data +@TableName("public.risk_control_menu") +public class RiskControlMenu implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 父id + */ + @TableField(value="parent_id") + @Schema(description="父id") + @JsonSerialize(using = ToStringSerializer.class) + private Long parentId; + + /** + * 名称 + */ + @TableField(value="name") + @Schema(description="名称") + @Size(max = 255,message = "名称最大长度要小于 255") + @NotBlank(message = "名称不能为空") + private String name; + + /** + * 排序 + */ + @TableField(value="order_index") + @Schema(description="排序") + private Integer orderIndex; + + + @TableField(exist = false) + @Schema(description="子集") + private List children; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/RotaB.java b/src/main/java/com/gunshi/project/hsz/model/RotaB.java new file mode 100644 index 0000000..3381fc5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/RotaB.java @@ -0,0 +1,72 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 值班表 + */ +@Schema(description="值班表") +@Data +@TableName(value = "public.rota_b") +public class RotaB implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @Schema(description="主键") + @NotNull(message = "主键不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 日期 + */ + @TableField(value = "rota_date") + @Schema(description="日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + @NotNull(message = "日期不能为空") + private Date rotaDate; + + /** + * 类型(1带班领导 2值班人员) + */ + @TableField(value = "rota_type") + @Schema(description="类型(1带班领导 2值班人员)") + private Integer rotaType; + + /** + * 用户id + */ + @TableField(value = "user_id") + @Schema(description="用户id") + @JsonSerialize(using = ToStringSerializer.class) + private Long userId; + + /** + * 是否节假日(0否 1是) + */ + @TableField(value = "is_holiday") + @Schema(description="是否节假日(0否 1是)") + private Integer isHoliday; + + + @Schema(description="用户姓名") + @TableField(exist = false) + private String userName; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/RotaLog.java b/src/main/java/com/gunshi/project/hsz/model/RotaLog.java new file mode 100644 index 0000000..fc54fc2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/RotaLog.java @@ -0,0 +1,83 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 值班日志 + */ +@Schema(description="值班日志") +@Data +@TableName(value = "public.rota_log") +public class RotaLog implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @Schema(description="主键") + @NotNull(message = "主键不能为空", groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 日期 + */ + @TableField(value = "rota_date") + @Schema(description="日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + @NotNull(message = "日期不能为空", groups = {Insert.class, Update.class}) + private Date rotaDate; + + @TableField(value = "weather") + @Schema(description="天气") + private String weather; + + /** + * 带班领导id + */ + @TableField(value = "leader_user_id") + @Schema(description="带班领导id") + @JsonSerialize(using = ToStringSerializer.class) + private Long leaderUserId; + + @Schema(description="带班领导姓名") + @TableField(exist = false) + private String leaderUserName; + + /** + * 值班人员id + */ + @TableField(value = "duty_user_id") + @Schema(description="值班人员id") + @JsonSerialize(using = ToStringSerializer.class) + private Long dutyUserId; + + @Schema(description="值班人员姓名") + @TableField(exist = false) + private String dutyUserName; + + @TableField(value = "duty_situation") + @Schema(description="值班情况") + private String dutySituation; + + @TableField(value = "todo_list") + @Schema(description="待处理事项") + private String todoList; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyAccidentReg.java b/src/main/java/com/gunshi/project/hsz/model/SafetyAccidentReg.java new file mode 100644 index 0000000..5fb710c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SafetyAccidentReg.java @@ -0,0 +1,137 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 安全事故登记 +* author: xusan +* date: 2024-08-21 15:44:54 +*/ +@Schema(description="安全事故登记") +@Data +@TableName("public.safety_accident_reg") +public class SafetyAccidentReg implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 事故名称 + */ + @TableField(value="name") + @Schema(description="事故名称") + @Size(max = 200,message = "事故名称最大长度要小于 200") + private String name; + + /** + * 事故发生时间 + */ + @TableField(value="accident_date") + @Schema(description="事故发生时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM, timezone = "GMT+8") + private Date accidentDate; + + /** + * 事故级别(1一般事故2较大事故3重大事故4特别重大事故) + */ + @TableField(value="accident_level") + @Schema(description="事故级别(1一般事故2较大事故3重大事故4特别重大事故)") + private Integer accidentLevel; + + /** + * 事故情况描述 + */ + @TableField(value="accident_desc") + @Schema(description="事故情况描述") + @Size(max = 500,message = "事故情况描述最大长度要小于 500") + private String accidentDesc; + + /** + * 直接经济损失(万元) + */ + @TableField(value="economic_losses") + @Schema(description="直接经济损失(万元)") + private BigDecimal economicLosses; + + /** + * 死亡人数 + */ + @TableField(value="dead_number") + @Schema(description="死亡人数") + private Integer deadNumber; + + /** + * 受伤人数 + */ + @TableField(value="injure_number") + @Schema(description="受伤人数") + private Integer injureNumber; + + /** + * 事故调查单位 + */ + @TableField(value="invest_org") + @Schema(description="事故调查单位") + @Size(max = 200,message = "事故调查单位最大长度要小于 200") + private String investOrg; + + /** + * 事故结案日期 + */ + @TableField(value="close_case_date") + @Schema(description="事故结案日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date closeCaseDate; + + /** + * 事故调查情况 + */ + @TableField(value="invest_desc") + @Schema(description="事故调查情况") + @Size(max = 500,message = "事故调查情况最大长度要小于 500") + private String investDesc; + + /** + * 处理结果 + */ + @TableField(value="handle_result") + @Schema(description="处理结果") + @Size(max = 500,message = "处理结果最大长度要小于 500") + private String handleResult; + + @TableField(exist = false) + @Schema(description = "现场图片") + private List accidentPic; + + @TableField(exist = false) + @Schema(description = "事故调查与处理资料") + private List accidentHandle; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyCheck.java b/src/main/java/com/gunshi/project/hsz/model/SafetyCheck.java new file mode 100644 index 0000000..25e63d5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SafetyCheck.java @@ -0,0 +1,83 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 安全检查管理 + */ +@Schema(description="安全检查管理") +@Data +@TableName(value = "public.safety_check") +public class SafetyCheck implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @TableField(value = "check_date") + @Schema(description="检查日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + @NotNull(message = "检查日期不能为空",groups = {Insert.class,Update.class}) + private Date checkDate; + + @TableField(value = "check_type") + @Schema(description="检查类型(1日常检查 2年度检查 3特别检查 4临时检查)") + private Integer checkType; + + @TableField(value = "name") + @Schema(description="名称") + @NotNull(message = "名称不能为空",groups = {Insert.class,Update.class}) + private String name; + + @TableField(value = "check_org") + @Schema(description="检查单位") + private String checkOrg; + + @TableField(value = "check_user") + @Schema(description="检查人员") + private String checkUser; + + @TableField(value = "check_content") + @Schema(description="主要检查内容") + private String checkContent; + + @TableField(value = "main_problem") + @Schema(description="发现的主要问题") + private String mainProblem; + + @TableField(value = "handle_suggestion") + @Schema(description="处理意见与建议") + private String handleSuggestion; + + @TableField(value = "recity_desc") + @Schema(description="问题整改情况") + private String recityDesc; + + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyHazardInvest.java b/src/main/java/com/gunshi/project/hsz/model/SafetyHazardInvest.java new file mode 100644 index 0000000..e14b1c4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SafetyHazardInvest.java @@ -0,0 +1,80 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 安排隐患排查 + */ +@Schema(description="安排隐患排查") +@Data +@TableName(value = "public.safety_hazard_invest") +public class SafetyHazardInvest implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @TableField(value = "hazard_desc") + @Schema(description="隐患描述") + @NotEmpty(message = "隐患描述不可为空",groups = {Insert.class,Update.class}) + private String hazardDesc; + + /** + * 隐患发现日期 + */ + @TableField(value = "hazard_date") + @Schema(description="隐患发现日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + @NotNull(message = "隐患发现日期不能为空",groups = {Insert.class,Update.class}) + private Date hazardDate; + + @TableField(value = "location_desc") + @Schema(description="事件内容描述") + private String locationDesc; + + @TableField(value = "recity_finish_date") + @Schema(description="整改完成时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date recityFinishDate; + + @TableField(value = "recity_desc") + @Schema(description="整改完成情况") + private String recityDesc; + + @TableField(value = "report_user_id") + @Schema(description="上报人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long reportUserId; + + @TableField(value = "report_user_name") + @Schema(description="上报人") + private String reportUserName; + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyIdentify.java b/src/main/java/com/gunshi/project/hsz/model/SafetyIdentify.java new file mode 100644 index 0000000..408777d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SafetyIdentify.java @@ -0,0 +1,125 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 安全鉴定台账 +* author: xusan +* date: 2024-08-21 14:45:43 +*/ +@Schema(description="安全鉴定台账") +@Data +@TableName("public.safety_identify") +public class SafetyIdentify implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 鉴定日期 + */ + @TableField(value="identify_date") + @Schema(description="鉴定日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date identifyDate; + + /** + * 大坝安全评定类别(1一类坝 2二类坝 3三类坝) + */ + @TableField(value="identify_type") + @Schema(description="大坝安全评定类别(1一类坝 2二类坝 3三类坝)") + private Integer identifyType; + + /** + * 鉴定承担单位(1勘察设计2工程咨询3部门认定) + */ + @TableField(value="identify_org") + @Schema(description="鉴定承担单位") + @Size(max = 200,message = "鉴定承担单位最大长度要小于 200") + private String identifyOrg; + + /** + * 承担单位类型(1甲级2乙级3丙级4其他) + */ + @TableField(value="identify_org_type") + @Schema(description="承担单位类型(1勘察设计2工程咨询3部门认定)") + private Integer identifyOrgType; + + /** + * 承担单位资质 + */ + @TableField(value="identify_org_qua") + @Schema(description="承担单位资质(1甲级2乙级3丙级4其他)") + private Integer identifyOrgQua; + + /** + * 鉴定审定部门 + */ + @TableField(value="identify_audit_org") + @Schema(description="鉴定审定部门") + @Size(max = 200,message = "鉴定审定部门最大长度要小于 200") + private String identifyAuditOrg; + + /** + * 报告书印发日期 + */ + @TableField(value="report_print_date") + @Schema(description="报告书印发日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date reportPrintDate; + + /** + * 报告书印发文号 + */ + @TableField(value="report_print_number") + @Schema(description="报告书印发文号") + @Size(max = 100,message = "报告书印发文号最大长度要小于 100") + private String reportPrintNumber; + + /** + * 工程存在主要问题 + */ + @TableField(value="main_problem") + @Schema(description="工程存在主要问题") + @Size(max = 500,message = "工程存在主要问题最大长度要小于 500") + private String mainProblem; + + /** + * 安全鉴定结论 + */ + @TableField(value="identify_result") + @Schema(description="安全鉴定结论") + @Size(max = 500,message = "安全鉴定结论最大长度要小于 500") + private String identifyResult; + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/SafetyReinforcement.java b/src/main/java/com/gunshi/project/hsz/model/SafetyReinforcement.java new file mode 100644 index 0000000..ce5e8fc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SafetyReinforcement.java @@ -0,0 +1,128 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 除险加固台账 +* author: xusan +* date: 2024-08-22 11:27:43 +*/ +@Schema(description="除险加固台账") +@Data +@TableName("public.safety_reinforcement") +public class SafetyReinforcement implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "主键不能为空",groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 组织方式(1地方自行组织 2中央规划) + */ + @TableField(value="organization_way") + @Schema(description="组织方式(1地方自行组织 2中央规划)") + @NotNull(message = "主键不能为空",groups = {Insert.class,Update.class}) + private Integer organizationWay; + + /** + * 工程状态(1施工中 2已完工) + */ + @TableField(value="project_status") + @Schema(description="工程状态(1施工中 2已完工)") + @NotNull(message = "工程状态不能为空",groups = {Insert.class,Update.class}) + private Integer projectStatus; + + /** + * 开工日期 + */ + @TableField(value="start_date") + @Schema(description="开工日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date startDate; + + /** + * 竣工日期 + */ + @TableField(value="finish_date") + @Schema(description="竣工日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date finishDate; + + /** + * 投运日期 + */ + @TableField(value="operation_date") + @Schema(description="投运日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date operationDate; + + /** + * 总投资(万元) + */ + @TableField(value="total_investment") + @Schema(description="总投资(万元)") + private BigDecimal totalInvestment; + + /** + * 设计单位 + */ + @TableField(value="design_org") + @Schema(description="设计单位") + @Size(max = 100,message = "设计单位最大长度要小于 100") + private String designOrg; + + /** + * 施工单位 + */ + @TableField(value="construct_org") + @Schema(description="施工单位") + @Size(max = 100,message = "施工单位最大长度要小于 100") + private String constructOrg; + + /** + * 监理单位 + */ + @TableField(value="control_org") + @Schema(description="监理单位") + @Size(max = 100,message = "监理单位最大长度要小于 100") + private String controlOrg; + + /** + * 主要建设内容 + */ + @TableField(value="construct_content") + @Schema(description="主要建设内容") + @Size(max = 500,message = "主要建设内容最大长度要小于 500") + private String constructContent; + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/ShpPlacement.java b/src/main/java/com/gunshi/project/hsz/model/ShpPlacement.java new file mode 100644 index 0000000..5e879d8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/ShpPlacement.java @@ -0,0 +1,193 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 安置点 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="安置点") +@Data +@TableName("public.shp_placement") +public class ShpPlacement implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * gid + */ + @TableId(value="gid", type= IdType.AUTO) + @Schema(description="gid") + // @Size(max = 0,message = "gid最大长度要小于 0") + @NotNull(message = "gid不能为空") + private Integer gid; + + /** + * adcd + */ + @TableField(value="adcd") + @Schema(description="adcd") + @Size(max = 15,message = "adcd最大长度要小于 15") + private String adcd; + + /** + * pid + */ + @TableField(value="pid") + @Schema(description="pid") + @Size(max = 50,message = "pid最大长度要小于 50") + private String pid; + + /** + * name + */ + @TableField(value="name") + @Schema(description="name") + @Size(max = 50,message = "name最大长度要小于 50") + private String name; + + /** + * address + */ + @TableField(value="address") + @Schema(description="address") + @Size(max = 50,message = "address最大长度要小于 50") + private String address; + + /** + * lgtd + */ + @TableField(value="lgtd") + @Schema(description="lgtd") + // @Size(max = 0,message = "lgtd最大长度要小于 0") + private Double lgtd; + + /** + * lttd + */ + @TableField(value="lttd") + @Schema(description="lttd") + // @Size(max = 0,message = "lttd最大长度要小于 0") + private Double lttd; + + /** + * remark + */ + @TableField(value="remark") + @Schema(description="remark") + @Size(max = 200,message = "remark最大长度要小于 200") + private String remark; + + /** + * datestr + */ + @TableField(value="datestr") + @Schema(description="datestr") + @Size(max = 30,message = "datestr最大长度要小于 30") + private String datestr; + + /** + * isplot + */ + @TableField(value="isplot") + @Schema(description="isplot") + // @Size(max = 0,message = "isplot最大长度要小于 0") + private Long isplot; + + /** + * crtdate + */ + @TableField(value="crtdate") + @Schema(description="crtdate") + // @Size(max = 0,message = "crtdate最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date crtdate; + + /** + * crtuser + */ + @TableField(value="crtuser") + @Schema(description="crtuser") + @Size(max = 20,message = "crtuser最大长度要小于 20") + private String crtuser; + + /** + * picpath + */ + @TableField(value="picpath") + @Schema(description="picpath") + @Size(max = 100,message = "picpath最大长度要小于 100") + private String picpath; + + /** + * status + */ + @TableField(value="status") + @Schema(description="status") + // @Size(max = 0,message = "status最大长度要小于 0") + private Long status; + + /** + * cdefine1 + */ + @TableField(value="cdefine1") + @Schema(description="cdefine1") + @Size(max = 50,message = "cdefine1最大长度要小于 50") + private String cdefine1; + + /** + * population + */ + @TableField(value="population") + @Schema(description="population") + // @Size(max = 0,message = "population最大长度要小于 0") + private Integer population; + + /** + * dbver + */ + @TableField(value="dbver") + @Schema(description="dbver") + @Size(max = 20,message = "dbver最大长度要小于 20") + private String dbver; + + /** + * recordman + */ + @TableField(value="recordman") + @Schema(description="recordman") + @Size(max = 100,message = "recordman最大长度要小于 100") + private String recordman; + + /** + * zpid + */ + @TableField(value="zpid") + @Schema(description="zpid") + @Size(max = 30,message = "zpid最大长度要小于 30") + private String zpid; + + /** + * wscd + */ + @TableField(value="wscd") + @Schema(description="wscd") + @Size(max = 200,message = "wscd最大长度要小于 200") + private String wscd; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/SoilMoistureData.java b/src/main/java/com/gunshi/project/hsz/model/SoilMoistureData.java new file mode 100644 index 0000000..ea06530 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SoilMoistureData.java @@ -0,0 +1,44 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* +*/ +@Schema(description="") +@Data +@TableName("public.soil_moisture_data") +public class SoilMoistureData implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + private String stcd; + private BigDecimal val; + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/SoilMoistureStation.java b/src/main/java/com/gunshi/project/hsz/model/SoilMoistureStation.java new file mode 100644 index 0000000..907515a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SoilMoistureStation.java @@ -0,0 +1,55 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* +*/ +@Schema(description="") +@Data +@TableName("public.soil_moisture_station") +public class SoilMoistureStation implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + private String stcd; + private String stnm; + private BigDecimal lgtd; + private BigDecimal lttd; + private Integer status; + private String remark; + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + @TableField(exist = false) + private BigDecimal val; + + @TableField(exist = false) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/StAddvcdD.java b/src/main/java/com/gunshi/project/hsz/model/StAddvcdD.java new file mode 100644 index 0000000..22c3087 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StAddvcdD.java @@ -0,0 +1,124 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 行政区划表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="行政区划表") +@Data +@TableName("public.st_addvcd_d") +public class StAddvcdD implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 行政区划编码 + */ + @TableId(value="adcd", type= IdType.AUTO) + @Schema(description="行政区划编码") + @Size(max = 15,message = "行政区划编码最大长度要小于 15") + @NotBlank(message = "行政区划编码不能为空") + private String adcd; + + /** + * 行政区划名称 + */ + @TableField(value="adnm") + @Schema(description="行政区划名称") + @Size(max = 200,message = "行政区划名称最大长度要小于 200") + @NotBlank(message = "行政区划名称不能为空") + private String adnm; + + /** + * 人口数 + */ + @TableField(value="population") + @Schema(description="人口数") + // @Size(max = 0,message = "人口数最大长度要小于 0") + private Integer population; + + /** + * 房屋数 + */ + @TableField(value="houses") + @Schema(description="房屋数") + // @Size(max = 0,message = "房屋数最大长度要小于 0") + private Integer houses; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + // @Size(max = 0,message = "经度最大长度要小于 0") + private String lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + // @Size(max = 0,message = "纬度最大长度要小于 0") + private String lttd; + + /** + * 时间戳 + */ + @TableField(value="tm") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @NotNull(message = "时间戳不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 总户数(户) + */ + @TableField(value="htcount") + @Schema(description="总户数(户)") + // @Size(max = 0,message = "总户数(户)最大长度要小于 0") + private Integer htcount; + + /** + * 土地面积 (km2) + */ + @TableField(value="ldarea") + @Schema(description="土地面积 (km2)") + // @Size(max = 0,message = "土地面积 (km2)最大长度要小于 0") + private String ldarea; + + /** + * 耕地面积(亩) + */ + @TableField(value="plarea") + @Schema(description="耕地面积(亩) ") + // @Size(max = 0,message = "耕地面积(亩) 最大长度要小于 0") + private Integer plarea; + + /** + * 防治区类型 确定行政区是否属于防治区和重点防治区,1:防治区;2:重点防治区。 + */ + @TableField(value="prevtp") + @Schema(description="防治区类型 确定行政区是否属于防治区和重点防治区,1:防治区;2:重点防治区。") + // @Size(max = 0,message = "防治区类型 确定行政区是否属于防治区和重点防治区,1:防治区;2:重点防治区。最大长度要小于 0") + private Integer prevtp; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/StImgR.java b/src/main/java/com/gunshi/project/hsz/model/StImgR.java new file mode 100644 index 0000000..83e65ef --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StImgR.java @@ -0,0 +1,87 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Schema +@Data +@TableName(value = "st_img_r") +@JsonIgnoreProperties(ignoreUnknown = true) +public class StImgR implements Serializable { + @TableField(value = "stcd") + @MppMultiId + @Schema(description="测站编码") + @Size(max = 20,message = "测站编码最大长度要小于 20") + @NotBlank(message = "测站编码不能为空") + private String stcd; + + @MppMultiId + @TableField(value = "tm") + @Schema(description="时间") + @NotNull(message = "时间不能为为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + @TableField(value = "chtm") + @Schema(description="") + @NotNull(message = "不能为null") + private Date chtm; + + @TableField(value = "img_path") + @Schema(description="图片路径") + @Size(max = 256,message = "图片路径最大长度要小于 256") + @NotBlank(message = "图片路径不能为空") + private String imgPath; + + @TableField(value = "chid") + @Schema(description="") + @Size(max = 10,message = "最大长度要小于 10") + @NotBlank(message = "不能为空") + private String chid; + + @TableField(value = "\"source\"") + @Schema(description="") + @Size(max = 50,message = "最大长度要小于 50") + private String source; + + @TableField(value = "mtmcd") + @Schema(description="") + @Size(max = 20,message = "最大长度要小于 20") + private String mtmcd; + + private static final long serialVersionUID = 1L; + + public static final String COL_STCD = "stcd"; + + public static final String COL_TM = "tm"; + + public static final String COL_CHTM = "chtm"; + + public static final String COL_IMG_PATH = "img_path"; + + public static final String COL_CHID = "chid"; + + public static final String COL_SOURCE = "source"; + + public static final String COL_MTMCD = "mtmcd"; + + + + @TableField(exist = false) + private Date stm;// 同步的数据的开始时间 + + @TableField(exist = false) + private Date etm;// 同步的数据的结束时间 +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StImgRReal.java b/src/main/java/com/gunshi/project/hsz/model/StImgRReal.java new file mode 100644 index 0000000..41f7865 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StImgRReal.java @@ -0,0 +1,71 @@ +package com.gunshi.project.hsz.model; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +@Schema +@Data +@TableName(value = "st_img_r_real") +@JsonIgnoreProperties(ignoreUnknown = true) +public class StImgRReal implements Serializable { + + + @TableField(value="stcd") + @Schema(description="测站编码") + @Size(max = 20,message = "测站编码最大长度要小于 20") + @NotBlank(message = "测站编码不能为空") + private String stcd; + + @TableField(value = "tm") + @Schema(description="") + @NotNull(message = "不能为null") + private Date tm; + + @TableField(value = "chtm") + @Schema(description="") + @NotNull(message = "不能为null") + private Date chtm; + + @TableField(value = "img_path") + @Schema(description="") + @Size(max = 256,message = "最大长度要小于 256") + @NotBlank(message = "不能为空") + private String imgPath; + + @TableId(value="chid", type = IdType.NONE) + @Schema(description="") + @Size(max = 10,message = "最大长度要小于 10") + @NotBlank(message = "不能为空") + private String chid; + + @TableField(value = "\"source\"") + @Schema(description="") + @Size(max = 50,message = "最大长度要小于 50") + private String source; + + private static final long serialVersionUID = 1L; + + public static final String COL_STCD = "stcd"; + + public static final String COL_TM = "tm"; + + public static final String COL_CHTM = "chtm"; + + public static final String COL_IMG_PATH = "img_path"; + + public static final String COL_CHID = "chid"; + + public static final String COL_SOURCE = "source"; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StImgWarnR.java b/src/main/java/com/gunshi/project/hsz/model/StImgWarnR.java new file mode 100644 index 0000000..0d8e566 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StImgWarnR.java @@ -0,0 +1,70 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: AI告警表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="AI告警表") +@Data +@TableName("public.st_img_warn_r") +public class StImgWarnR implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * index_code + */ + @MppMultiId + @TableField(value="index_code") + @Schema(description="index_code") + @Size(max = 150,message = "index_code最大长度要小于 150") + @NotBlank(message = "index_code不能为空") + private String indexCode; + + /** + * tm + */ + @MppMultiId + @TableField(value="tm") + @Schema(description="tm") + @NotNull(message = "tm不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * img_path + */ + @TableField(value="img_path") + @Schema(description="img_path") + @Size(max = 256,message = "img_path最大长度要小于 256") + private String imgPath; + + /** + * 告警类型(1人员闯入 2工程车辆识别 3漂浮物识别 4游泳识别) + */ + @TableField(value="type") + @Schema(description="告警类型(1人员闯入 2工程车辆识别 3漂浮物识别 4游泳识别)") + private Integer type; + + @TableField(exist = false) + @Schema(description = "摄像头名称") + private String name; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/StPptnR.java b/src/main/java/com/gunshi/project/hsz/model/StPptnR.java new file mode 100644 index 0000000..15f66b2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StPptnR.java @@ -0,0 +1,110 @@ +package com.gunshi.project.hsz.model; + + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.gunshi.core.dateformat.DateFormatString; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +/** +* 描述: 降水量表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="降水量表") +@Data +@TableName("public.st_pptn_r") +@JsonIgnoreProperties(ignoreUnknown = true) +public class StPptnR implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测站编码 + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="测站编码") + @Size(max = 20,message = "测站编码最大长度要小于 20") + @NotBlank(message = "测站编码不能为空") + private String stcd; + + /** + * 时段降水量 + */ + @TableField(value="drp") + @Schema(description="时段降水量") + private String drp; + + /** + * 时间 + */ + @TableField(value="tm") + @Schema(description="时间") + @NotNull(message = "时间不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 时段长 + */ + @TableField(value="intv") + @Schema(description="时段长") + private String intv; + + /** + * 降水历时 + */ + @TableField(value="pdr") + @Schema(description="降水历时") + private String pdr; + + /** + * 日降水量 + */ + @TableField(value="dyp") + @Schema(description="日降水量") + private String dyp; + + /** + * 天气状况 + */ + @TableField(value="wth") + @Schema(description="天气状况") + @Size(max = 1,message = "天气状况最大长度要小于 1") + private String wth; + + /** + * chtm + */ + @TableField(value="chtm") + @Schema(description="chtm") + // @Size(max = 0,message = "chtm最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + + @TableField(exist = false) + private Date stm;// 同步的数据的开始时间 + + @TableField(exist = false) + private Date etm;// 同步的数据的结束时间 + + @TableField(exist = false) + private String source;// 测站数据源 + + @TableField(exist = false) + private String sttp;// 测站类型 +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StPptnRAverage.java b/src/main/java/com/gunshi/project/hsz/model/StPptnRAverage.java new file mode 100644 index 0000000..f58202b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StPptnRAverage.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.model; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** +* 描述: 降水量表-面雨量 +*/ +@Data +public class StPptnRAverage extends StPptnR { + + + /** + * 时段降水量 + */ + @Schema(description="时段降水量") + private String drp; + + /** + * 时间 + */ + @Schema(description="时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + public StPptnRAverage(Date tm, String drp) { + this.tm = tm; + this.drp = drp; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StPptnRD.java b/src/main/java/com/gunshi/project/hsz/model/StPptnRD.java new file mode 100644 index 0000000..5888027 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StPptnRD.java @@ -0,0 +1,99 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="") +@Data +@TableName("public.st_pptn_r_d") +@JsonIgnoreProperties(ignoreUnknown = true) +public class StPptnRD implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测站编码 + */ + @MppMultiId + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="测站编码") + @Size(max = 20,message = "测站编码最大长度要小于 20") + @NotBlank(message = "测站编码不能为空") + private String stcd; + + /** + * 时间 + */ + @MppMultiId + @TableField(value="tm") + @Schema(description="时间") + // @Size(max = 0,message = "时间最大长度要小于 0") + @NotNull(message = "时间不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 时段降水量 + */ + @TableField(value="drp") + @Schema(description="时段降水量") + // @Size(max = 0,message = "时段降水量最大长度要小于 0") + private BigDecimal drp; + + /** + * year + */ + @MppMultiId + @TableField(value="year") + @Schema(description="year") + @NotNull(message = "year不能为空") + private Integer year; + + /** + * 前一天是否降雨(0无雨 1有降雨) + */ + @TableField(value="last_day_isdrp") + @Schema(description="last_day_isdrp") + private String lastDayIsdrp; + + /** + * 之前有无雨的连续天数 + */ + @TableField(value="isdrp_count") + @Schema(description="isdrp_count") + private Integer isdrpCount; + + @TableField(exist = false) + private Date stm;// 同步的数据的开始时间 + + @TableField(exist = false) + private String adcd; + + @TableField(exist = false) + private String day; + + @TableField(exist = false) + private String month; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StPptnRH.java b/src/main/java/com/gunshi/project/hsz/model/StPptnRH.java new file mode 100644 index 0000000..8d10d0b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StPptnRH.java @@ -0,0 +1,96 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 降雨量小时表 +* author: cxw +* date: 2024-09-02 09:34:31 +*/ +@Schema(description="降雨量小时表") +@Data +@TableName("public.st_pptn_r_h") +public class StPptnRH implements Serializable { + + public final static String thisTableName = "StPptnRH"; + + private static final long serialVersionUID = 1L; + + /** + * 测站编码 + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="测站编码") + @Size(max = 20,message = "测站编码最大长度要小于 20") + @NotBlank(message = "测站编码不能为空") + @NotNull(message = "测站编码不能为空") + private String stcd; + + /** + * 时间 + */ + @TableField(value="tm") + @Schema(description="时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 时段降水量 + */ + @TableField(value="drp") + @Schema(description="时段降水量") + private BigDecimal drp; + + /** + * 时段长 + */ + @TableField(value="intv") + @Schema(description="时段长") + private BigDecimal intv; + + /** + * 降水历时 + */ + @TableField(value="pdr") + @Schema(description="降水历时") + private BigDecimal pdr; + + /** + * 日降水量 + */ + @TableField(value="dyp") + @Schema(description="日降水量") + private BigDecimal dyp; + + /** + * 天气状况 + */ + @TableField(value="wth") + @Schema(description="天气状况") + @Size(max = 1,message = "天气状况最大长度要小于 1") + private String wth; + + /** + * 入库时间 + */ + @TableField(value="chtm") + @Schema(description="入库时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StPptnRReal.java b/src/main/java/com/gunshi/project/hsz/model/StPptnRReal.java new file mode 100644 index 0000000..071b564 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StPptnRReal.java @@ -0,0 +1,170 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 降水量历史表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="降水量历史表") +@Data +@TableName("public.st_pptn_r_real") +@JsonIgnoreProperties(ignoreUnknown = true) +public class StPptnRReal implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * stcd + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="stcd") + @Size(max = 20,message = "stcd最大长度要小于 20") + @NotBlank(message = "stcd不能为空") + private String stcd; + + /** + * tm + */ + @TableField(value="tm") + @Schema(description="tm") + // @Size(max = 0,message = "tm最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * drp + */ + @TableField(value="drp") + @Schema(description="drp") + // @Size(max = 0,message = "drp最大长度要小于 0") + private BigDecimal drp; + + /** + * today + */ + @TableField(value="today") + @Schema(description="today") + // @Size(max = 0,message = "today最大长度要小于 0") + private BigDecimal today; + + /** + * m10 + */ + @TableField(value="m10") + @Schema(description="m10") + // @Size(max = 0,message = "m10最大长度要小于 0") + private BigDecimal m10; + + /** + * m30 + */ + @TableField(value="m30") + @Schema(description="m30") + // @Size(max = 0,message = "m30最大长度要小于 0") + private BigDecimal m30; + + /** + * h1 + */ + @TableField(value="h1") + @Schema(description="h1") + // @Size(max = 0,message = "h1最大长度要小于 0") + private BigDecimal h1; + + /** + * h3 + */ + @TableField(value="h3") + @Schema(description="h3") + // @Size(max = 0,message = "h3最大长度要小于 0") + private BigDecimal h3; + + /** + * h6 + */ + @TableField(value="h6") + @Schema(description="h6") + // @Size(max = 0,message = "h6最大长度要小于 0") + private BigDecimal h6; + + /** + * h12 + */ + @TableField(value="h12") + @Schema(description="h12") + // @Size(max = 0,message = "h12最大长度要小于 0") + private BigDecimal h12; + + /** + * h24 + */ + @TableField(value="h24") + @Schema(description="h24") + // @Size(max = 0,message = "h24最大长度要小于 0") + private BigDecimal h24; + + /** + * h48 + */ + @TableField(value="h48") + @Schema(description="h48") + // @Size(max = 0,message = "h48最大长度要小于 0") + private BigDecimal h48; + + /** + * chtm + */ + @TableField(value="chtm") + @Schema(description="chtm") + // @Size(max = 0,message = "chtm最大长度要小于 0") + @NotNull(message = "chtm不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * warning + */ + @TableField(value="warning") + @Schema(description="warning") + // @Size(max = 0,message = "warning最大长度要小于 0") + private Integer warning; + + /** + * status + */ + @TableField(value="status") + @Schema(description="status") + // @Size(max = 0,message = "status最大长度要小于 0") + private Integer status; + + /** + * cluster + */ + @TableField(value="cluster") + @Schema(description="cluster") + @Size(max = 10,message = "cluster最大长度要小于 10") + private String cluster; + + @TableField(exist = false) + @Schema(description = "站点名称") + private String stnm; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StQxWarnR.java b/src/main/java/com/gunshi/project/hsz/model/StQxWarnR.java new file mode 100644 index 0000000..3f81da5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StQxWarnR.java @@ -0,0 +1,74 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 气象预警表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="气象预警表") +@Data +@TableName("public.st_qx_warn_r") +public class StQxWarnR implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="id") + // @Size(max = 0,message = "id最大长度要小于 0") + @NotNull(message = "id不能为空") + private Long id; + + /** + * tm + */ + @TableField(value="tm") + @Schema(description="tm") + // @Size(max = 0,message = "tm最大长度要小于 0") + @NotNull(message = "tm不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * title + */ + @TableField(value="title") + @Schema(description="title") + @Size(max = 200,message = "title最大长度要小于 200") + private String title; + + /** + * content + */ + @TableField(value="content") + @Schema(description="content") + @Size(max = 500,message = "content最大长度要小于 500") + private String content; + + /** + * level + */ + @TableField(value="level") + @Schema(description="level") + // @Size(max = 0,message = "level最大长度要小于 0") + private Integer level; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/StRiverR.java b/src/main/java/com/gunshi/project/hsz/model/StRiverR.java new file mode 100644 index 0000000..188a936 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StRiverR.java @@ -0,0 +1,158 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: +* author: cxw +* date: 2024-09-24 14:01:07 +*/ +@Schema(description="") +@Data +@TableName("public.st_river_r") +public class StRiverR implements Serializable { + + public final static String thisTableName = "StRiverR"; + + private static final long serialVersionUID = 1L; + + /** + * stcd + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="stcd") + @Size(max = 20,message = "stcd最大长度要小于 20") + @NotBlank(message = "stcd不能为空") + @NotNull(message = "stcd不能为空") + private String stcd; + + /** + * tm + */ + @TableField(value="tm") + @Schema(description="tm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * z + */ + @TableField(value="z") + @Schema(description="z") + private BigDecimal z; + + /** + * q + */ + @TableField(value="q") + @Schema(description="q") + private BigDecimal q; + + /** + * xsa + */ + @TableField(value="xsa") + @Schema(description="xsa") + private BigDecimal xsa; + + /** + * xsavv + */ + @TableField(value="xsavv") + @Schema(description="xsavv") + private BigDecimal xsavv; + + /** + * xsmxv + */ + @TableField(value="xsmxv") + @Schema(description="xsmxv") + private BigDecimal xsmxv; + + /** + * flwchrcd + */ + @TableField(value="flwchrcd") + @Schema(description="flwchrcd") + @Size(max = 4,message = "flwchrcd最大长度要小于 4") + private String flwchrcd; + + /** + * wptn + */ + @TableField(value="wptn") + @Schema(description="wptn") + @Size(max = 4,message = "wptn最大长度要小于 4") + private String wptn; + + /** + * msqmt + */ + @TableField(value="msqmt") + @Schema(description="msqmt") + @Size(max = 4,message = "msqmt最大长度要小于 4") + private String msqmt; + + /** + * msamt + */ + @TableField(value="msamt") + @Schema(description="msamt") + @Size(max = 4,message = "msamt最大长度要小于 4") + private String msamt; + + /** + * msvmt + */ + @TableField(value="msvmt") + @Schema(description="msvmt") + @Size(max = 4,message = "msvmt最大长度要小于 4") + private String msvmt; + + /** + * chtm + */ + @TableField(value="chtm") + @Schema(description="chtm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * sendtm + */ + @TableField(value="sendtm") + @Schema(description="sendtm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date sendtm; + + /** + * receivetm + */ + @TableField(value="receivetm") + @Schema(description="receivetm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date receivetm; + + /** + * source_int + */ + @TableField(value="source_int") + @Schema(description="source_int") + private Integer sourceInt; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StRiverRReal.java b/src/main/java/com/gunshi/project/hsz/model/StRiverRReal.java new file mode 100644 index 0000000..8486b12 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StRiverRReal.java @@ -0,0 +1,164 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: +* author: cxw +* date: 2024-09-24 14:01:07 +*/ +@Schema(description="") +@Data +@TableName("public.st_river_r_real") +public class StRiverRReal implements Serializable { + + public final static String thisTableName = "StRiverRReal"; + + private static final long serialVersionUID = 1L; + + /** + * stcd + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="stcd") + @Size(max = 20,message = "stcd最大长度要小于 20") + @NotBlank(message = "stcd不能为空") + @NotNull(message = "stcd不能为空") + private String stcd; + + /** + * tm + */ + @TableField(value="tm") + @Schema(description="tm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * z + */ + @TableField(value="z") + @Schema(description="z") + private BigDecimal z; + + /** + * q + */ + @TableField(value="q") + @Schema(description="q") + private BigDecimal q; + + /** + * xsa + */ + @TableField(value="xsa") + @Schema(description="xsa") + private BigDecimal xsa; + + /** + * xsavv + */ + @TableField(value="xsavv") + @Schema(description="xsavv") + private BigDecimal xsavv; + + /** + * xsmxv + */ + @TableField(value="xsmxv") + @Schema(description="xsmxv") + private BigDecimal xsmxv; + + /** + * flwchrcdf + */ + @TableField(value="flwchrcdf") + @Schema(description="flwchrcdf") + @Size(max = 1,message = "flwchrcdf最大长度要小于 1") + private String flwchrcdf; + + /** + * wptn + */ + @TableField(value="wptn") + @Schema(description="wptn") + @Size(max = 1,message = "wptn最大长度要小于 1") + private String wptn; + + /** + * maxz + */ + @TableField(value="maxz") + @Schema(description="maxz") + private BigDecimal maxz; + + /** + * maxtm + */ + @TableField(value="maxtm") + @Schema(description="maxtm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date maxtm; + + /** + * msqmt + */ + @TableField(value="msqmt") + @Schema(description="msqmt") + @Size(max = 1,message = "msqmt最大长度要小于 1") + private String msqmt; + + /** + * msamt + */ + @TableField(value="msamt") + @Schema(description="msamt") + @Size(max = 1,message = "msamt最大长度要小于 1") + private String msamt; + + /** + * msvmt + */ + @TableField(value="msvmt") + @Schema(description="msvmt") + @Size(max = 1,message = "msvmt最大长度要小于 1") + private String msvmt; + + /** + * chtm + */ + @TableField(value="chtm") + @Schema(description="chtm") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * warning + */ + @TableField(value="warning") + @Schema(description="warning") + private Integer warning; + + /** + * status + */ + @TableField(value="status") + @Schema(description="status") + private Integer status; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StRsvrR.java b/src/main/java/com/gunshi/project/hsz/model/StRsvrR.java new file mode 100644 index 0000000..c1487f9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StRsvrR.java @@ -0,0 +1,170 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 水库历史水位表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水库历史水位表") +@Data +@TableName("public.st_rsvr_r") +@JsonIgnoreProperties(ignoreUnknown = true) +public class StRsvrR implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * stcd + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="stcd") + @Size(max = 20,message = "stcd最大长度要小于 20") + @NotBlank(message = "stcd不能为空") + private String stcd; + + /** + * tm + */ + @TableField(value="tm") + @Schema(description="tm") + @NotNull(message = "tm不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * rz + */ + @TableField(value="rz") + @Schema(description="rz") + private String rz; + + /** + * inq + */ + @TableField(value="inq") + @Schema(description="inq") + private String inq; + + /** + * w + */ + @TableField(value="w") + @Schema(description="w") + private String w; + + /** + * blrz + */ + @TableField(value="blrz") + @Schema(description="blrz") + private String blrz; + + /** + * otq + */ + @TableField(value="otq") + @Schema(description="otq") + private String otq; + + /** + * rwchrcd + */ + @TableField(value="rwchrcd") + @Schema(description="rwchrcd") + @Size(max = 4,message = "rwchrcd最大长度要小于 4") + private String rwchrcd; + + /** + * rwptn + */ + @TableField(value="rwptn") + @Schema(description="rwptn") + @Size(max = 4,message = "rwptn最大长度要小于 4") + private String rwptn; + + /** + * inqdr + */ + @TableField(value="inqdr") + @Schema(description="inqdr") + // @Size(max = 0,message = "inqdr最大长度要小于 0") + private String inqdr; + + /** + * msqmt + */ + @TableField(value="msqmt") + @Schema(description="msqmt") + @Size(max = 4,message = "msqmt最大长度要小于 4") + private String msqmt; + + /** + * chtm + */ + @TableField(value="chtm") + @Schema(description="chtm") + // @Size(max = 0,message = "chtm最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * sendtm + */ + @TableField(value="sendtm") + @Schema(description="sendtm") + // @Size(max = 0,message = "sendtm最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date sendtm; + + /** + * receivetm + */ + @TableField(value="receivetm") + @Schema(description="receivetm") + // @Size(max = 0,message = "receivetm最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date receivetm; + + /** + * source_int + */ + @TableField(value="source_int") + @Schema(description="source_int") + // @Size(max = 0,message = "source_int最大长度要小于 0") + private Integer sourceInt; + + + @TableField(exist = false) + private Date stm;// 同步的数据的开始时间 + + @TableField(exist = false) + private Date etm;// 同步的数据的结束时间 + + @TableField(exist = false) + private String source;// 测站数据源 + + @TableField(exist = false) + private String sttp;// 测站类型 + + @TableField(exist = false) + private String z;// 山洪河道水位 + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StRsvrRReal.java b/src/main/java/com/gunshi/project/hsz/model/StRsvrRReal.java new file mode 100644 index 0000000..313fe5f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StRsvrRReal.java @@ -0,0 +1,151 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 水库水位实时数据表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水库水位实时数据表") +@Data +@TableName("public.st_rsvr_r_real") +@JsonIgnoreProperties(ignoreUnknown = true) +public class StRsvrRReal implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * stcd + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="stcd") + @Size(max = 20,message = "stcd最大长度要小于 20") + @NotBlank(message = "stcd不能为空") + private String stcd; + + /** + * tm + */ + @TableField(value="tm") + @Schema(description="tm") + // @Size(max = 0,message = "tm最大长度要小于 0") + @NotNull(message = "tm不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * rz + */ + @TableField(value="rz") + @Schema(description="rz") + // @Size(max = 0,message = "rz最大长度要小于 0") + private String rz; + + /** + * inq + */ + @TableField(value="inq") + @Schema(description="inq") + // @Size(max = 0,message = "inq最大长度要小于 0") + private String inq; + + /** + * w + */ + @TableField(value="w") + @Schema(description="w") + // @Size(max = 0,message = "w最大长度要小于 0") + private String w; + + /** + * blrz + */ + @TableField(value="blrz") + @Schema(description="blrz") + // @Size(max = 0,message = "blrz最大长度要小于 0") + private String blrz; + + /** + * otq + */ + @TableField(value="otq") + @Schema(description="otq") + // @Size(max = 0,message = "otq最大长度要小于 0") + private String otq; + + /** + * rwchrcd + */ + @TableField(value="rwchrcd") + @Schema(description="rwchrcd") + @Size(max = 1,message = "rwchrcd最大长度要小于 1") + private String rwchrcd; + + /** + * rwptn + */ + @TableField(value="rwptn") + @Schema(description="rwptn") + @Size(max = 1,message = "rwptn最大长度要小于 1") + private String rwptn; + + /** + * inqdr + */ + @TableField(value="inqdr") + @Schema(description="inqdr") + // @Size(max = 0,message = "inqdr最大长度要小于 0") + private String inqdr; + + /** + * msqmt + */ + @TableField(value="msqmt") + @Schema(description="msqmt") + @Size(max = 1,message = "msqmt最大长度要小于 1") + private String msqmt; + + /** + * chtm + */ + @TableField(value="chtm") + @Schema(description="chtm") + // @Size(max = 0,message = "chtm最大长度要小于 0") + @NotNull(message = "chtm不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date chtm; + + /** + * warning + */ + @TableField(value="warning") + @Schema(description="warning") + // @Size(max = 0,message = "warning最大长度要小于 0") + private Integer warning; + + /** + * status + */ + @TableField(value="status") + @Schema(description="status") + // @Size(max = 0,message = "status最大长度要小于 0") + private Integer status; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StStbprpB.java b/src/main/java/com/gunshi/project/hsz/model/StStbprpB.java new file mode 100644 index 0000000..12ad653 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StStbprpB.java @@ -0,0 +1,541 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: sttp 以水利标准来 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="sttp 以水利标准来") +@Data +@TableName("public.st_stbprp_b") +public class StStbprpB implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测站编码 + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="测站编码") + @Size(max = 32,message = "测站编码最大长度要小于 32") + @NotBlank(message = "测站编码不能为空",groups = {Insert.class, Update.class}) + private String stcd; + + /** + * 测站名称 + */ + @TableField(value="stnm") + @Schema(description="测站名称") + @Size(max = 150,message = "测站名称最大长度要小于 150") + private String stnm; + + /** + * 河流名称 + */ + @TableField(value="rvnm") + @Schema(description="河流名称") + @Size(max = 300,message = "河流名称最大长度要小于 300") + private String rvnm; + + /** + * 水系名称 + */ + @TableField(value="hnnm") + @Schema(description="水系名称") + @Size(max = 300,message = "水系名称最大长度要小于 300") + private String hnnm; + + /** + * 流域名称 + */ + @TableField(value="bsnm") + @Schema(description="流域名称") + @Size(max = 300,message = "流域名称最大长度要小于 300") + private String bsnm; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + // @Size(max = 0,message = "经度最大长度要小于 0") + private String lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + // @Size(max = 0,message = "纬度最大长度要小于 0") + private String lttd; + + /** + * 站址 + */ + @TableField(value="stlc") + @Schema(description="站址") + @Size(max = 500,message = "站址最大长度要小于 500") + private String stlc; + + + /** + * alt + */ + @TableField(value="alt") + @Schema(description="alt") + // @Size(max = 0,message = "alt最大长度要小于 0") + private String alt; + + /** + * mdbz + */ + @TableField(value="mdbz") + @Schema(description="mdbz") + // @Size(max = 0,message = "mdbz最大长度要小于 0") + private String mdbz; + + /** + * mdpr + */ + @TableField(value="mdpr") + @Schema(description="mdpr") + // @Size(max = 0,message = "mdpr最大长度要小于 0") + private String mdpr; + + /** + * 基面名称 + */ + @TableField(value="dtmnm") + @Schema(description="基面名称") + @Size(max = 160,message = "基面名称最大长度要小于 160") + private String dtmnm; + + /** + * 基面高程 + */ + @TableField(value="dtmel") + @Schema(description="基面高程") + // @Size(max = 0,message = "基面高程最大长度要小于 0") + private String dtmel; + + /** + * 基面修正值 + */ + @TableField(value="dtpr") + @Schema(description="基面修正值") + // @Size(max = 0,message = "基面修正值最大长度要小于 0") + private String dtpr; + + /** + * 站类,PP=雨量站,RR=水库水位站,ZQ=河道水位站,TX=图像站 + */ + @TableField(value="sttp") + @Schema(description="站类,MM=气象站,PP=雨量站,BB=蒸发站,ZQ=河道水文站,DD=堰闸水文站,ZZ=河道水位站,TT=潮位站,RR=水库水文站,DP=泵站,ZG=地下水站,SS=墒情站,ZB=分洪水位站,QQ=流量站,TX=图像站,ZI=渠道水位站,ZL=田间水层,QI=渠道流量站,ZT=塘堰,ZS=渗压渗流站,GT=闸位站,SZ=水质站,PQ=管道流量站") + @Size(max = 30,message = "站类,MM=气象站,PP=雨量站,BB=蒸发站,ZQ=河道水文站,DD=堰闸水文站,ZZ=河道水位站,TT=潮位站,RR=水库水文站,DP=泵站,ZG=地下水站,SS=墒情站,ZB=分洪水位站,QQ=流量站,TX=图像站,ZI=渠道水位站,ZL=田间水层,QI=渠道流量站,ZT=塘堰,ZS=渗压渗流站,GT=闸位站,SZ=水质站,PQ=管道流量站。最大长度要小于 30") + private String sttp; + + /** + * dfrtms + */ + @TableField(value="dfrtms") + @Schema(description="dfrtms") + // @Size(max = 0,message = "dfrtms最大长度要小于 0") + private String dfrtms; + + /** + * fritm + */ + @TableField(value="fritm") + @Schema(description="fritm") + @Size(max = 320,message = "fritm最大长度要小于 320") + private String fritm; + + /** + * 报汛等级 + */ + @TableField(value="frgrd") + @Schema(description="报汛等级") + @Size(max = 500,message = "报汛等级最大长度要小于 500") + private String frgrd; + + /** + * 建站年月 + */ + @TableField(value="esstym") + @Schema(description="建站年月") + @Size(max = 60,message = "建站年月最大长度要小于 60") + private String esstym; + + /** + * bgfrym + */ + @TableField(value="bgfrym") + @Schema(description="bgfrym") + @Size(max = 60,message = "bgfrym最大长度要小于 60") + private String bgfrym; + + /** + * edfrym + */ + @TableField(value="edfrym") + @Schema(description="edfrym") + @Size(max = 60,message = "edfrym最大长度要小于 60") + private String edfrym; + + /** + * 隶属行业单位 + */ + @TableField(value="atcunit") + @Schema(description="隶属行业单位") + @Size(max = 200,message = "隶属行业单位最大长度要小于 200") + private String atcunit; + + /** + * 信息管理单位 + */ + @TableField(value="admauth") + @Schema(description="信息管理单位") + @Size(max = 500,message = "信息管理单位最大长度要小于 500") + private String admauth; + + /** + * 交换管理单位 + */ + @TableField(value="locality") + @Schema(description="交换管理单位") + @Size(max = 200,message = "交换管理单位最大长度要小于 200") + private String locality; + + /** + * 测站岸别 + */ + @TableField(value="stbk") + @Schema(description="测站岸别") + @Size(max = 1,message = "测站岸别最大长度要小于 1") + private String stbk; + + /** + * 测站方位 + */ + @TableField(value="stazt") + @Schema(description="测站方位") + // @Size(max = 0,message = "测站方位最大长度要小于 0") + private String stazt; + + /** + * 至河口距离 + */ + @TableField(value="dstrvm") + @Schema(description="至河口距离") + // @Size(max = 0,message = "至河口距离最大长度要小于 0") + private String dstrvm; + + /** + * 集水面积 + */ + @TableField(value="drna") + @Schema(description="集水面积") + // @Size(max = 0,message = "集水面积最大长度要小于 0") + private String drna; + + /** + * 拼音码 + */ + @TableField(value="phcd") + @Schema(description="拼音码") + @Size(max = 60,message = "拼音码最大长度要小于 60") + private String phcd; + + /** + * 启用标志 + */ + @TableField(value="usfl") + @Schema(description="启用标志") + @Size(max = 1,message = "启用标志最大长度要小于 1") + private String usfl; + + /** + * 备注 + */ + @TableField(value="comments") + @Schema(description="备注") + @Size(max = 200,message = "备注最大长度要小于 200") + private String comments; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + + /** + * rem_gd + */ + @TableField(value="rem_gd") + @Schema(description="rem_gd") + @Size(max = 300,message = "rem_gd最大长度要小于 300") + private String remGd; + + /** + * ogid + */ + @TableField(value="ogid") + @Schema(description="ogid") + @Size(max = 100,message = "ogid最大长度要小于 100") + private String ogid; + + /** + * vlfl + */ + @TableField(value="vlfl") + @Schema(description="vlfl") + // @Size(max = 0,message = "vlfl最大长度要小于 0") + private String vlfl; + + /** + * atid + */ + @TableField(value="atid") + @Schema(description="atid") + @Size(max = 180,message = "atid最大长度要小于 180") + private String atid; + + /** + * sdfl + */ + @TableField(value="sdfl") + @Schema(description="sdfl") + @Size(max = 500,message = "sdfl最大长度要小于 500") + private String sdfl; + + /** + * rma + */ + @TableField(value="rma") + @Schema(description="rma") + @Size(max = 256,message = "rma最大长度要小于 256") + private String rma; + + /** + * mdps + */ + @TableField(value="mdps") + @Schema(description="mdps") + @Size(max = 300,message = "mdps最大长度要小于 300") + private String mdps; + + /** + * mddt + */ + @TableField(value="mddt") + @Schema(description="mddt") + // @Size(max = 0,message = "mddt最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date mddt; + + /** + * stindex + */ + @TableField(value="stindex") + @Schema(description="stindex") + // @Size(max = 0,message = "stindex最大长度要小于 0") + private String stindex; + + /** + * starea + */ + @TableField(value="starea") + @Schema(description="starea") + @Size(max = 500,message = "starea最大长度要小于 500") + private String starea; + + /** + * stlevel + */ + @TableField(value="stlevel") + @Schema(description="stlevel") + @Size(max = 1,message = "stlevel最大长度要小于 1") + private String stlevel; + + /** + * code + */ + @TableField(value="code") + @Schema(description="code") + @Size(max = 300,message = "code最大长度要小于 300") + private String code; + + /** + * ispbj + */ + @TableField(value="ispbj") + @Schema(description="ispbj") + @Size(max = 1,message = "ispbj最大长度要小于 1") + private String ispbj; + + /** + * issxst + */ + @TableField(value="issxst") + @Schema(description="issxst") + @Size(max = 1,message = "issxst最大长度要小于 1") + private String issxst; + + /** + * stpq + */ + @TableField(value="stpq") + @Schema(description="stpq") + @Size(max = 500,message = "stpq最大长度要小于 500") + private String stpq; + + /** + * sthday + */ + @TableField(value="sthday") + @Schema(description="sthday") + // @Size(max = 0,message = "sthday最大长度要小于 0") + private Integer sthday; + + /** + * source + */ + @TableField(value="source") + @Schema(description="站点来源,SH=山洪,SW=水文,QX=气象,SK=水库") + @Size(max = 12,message = "站点来源,SH=山洪,SW=水文,QX=气象,SK=水库最大长度要小于 12") + @NotBlank(message = "站点来源不能为空") + private String source; + + /** + * importancy + */ + @TableField(value="importancy") + @Schema(description="importancy") + // @Size(max = 0,message = "importancy最大长度要小于 0") + private Integer importancy; + + /** + * clgtd + */ + @TableField(value="clgtd") + @Schema(description="clgtd") + // @Size(max = 0,message = "clgtd最大长度要小于 0") + private String clgtd; + + /** + * clttd + */ + @TableField(value="clttd") + @Schema(description="clttd") + // @Size(max = 0,message = "clttd最大长度要小于 0") + private String clttd; + + /** + * elev + */ + @TableField(value="elev") + @Schema(description="elev") + // @Size(max = 0,message = "elev最大长度要小于 0") + private String elev; + + /** + * crucial + */ + @TableField(value="crucial") + @Schema(description="crucial") + // @Size(max = 0,message = "crucial最大长度要小于 0") + private Integer crucial; + + /** + * build_year + */ + @TableField(value="build_year") + @Schema(description="build_year") + @Size(max = 50,message = "build_year最大长度要小于 50") + private String buildYear; + + /** + * 行政区划编码 + */ + @TableField(value="adcd") + @Schema(description="行政区划编码") + @Size(max = 15,message = "行政区划编码最大长度要小于 15") + private String adcd; + + /** + * 流域编码 + */ + @TableField(value="lyid") + @Schema(description="流域编码") + @Size(max = 255,message = "流域编码最大长度要小于 255") + private String lyid; + + /** + * 水库编码 + */ + @TableField(value="res_code") + @Schema(description="水库编码") + @Size(max = 255,message = "水库编码最大长度要小于 255") + private String resCode; + + /** + * 河流编码 + */ + @TableField(value="rv_code") + @Schema(description="河流编码") + @Size(max = 255,message = "河流编码最大长度要小于 255") + private String rvCode; + + /** + * 测站状态 0无效 1有效 + */ + @TableField(value="status") + @Schema(description="测站状态 0无效 1有效") + // @Size(max = 0,message = "测站状态 0无效 1有效最大长度要小于 0") + private Integer status; + + /** + * 归属协议 + */ + @Schema(description="归属协议") + @TableField(value="agreement") + private String agreement; + + /** + * SIM卡 + */ + @Schema(description="SIM卡") + @TableField(value="sim_card") + private String simCard; + + /** + * 北斗卡号 + */ + @Schema(description="北斗卡号") + @TableField(value="bd_card") + private String bdCard; + + public static final String COL_STCD = "stcd"; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StStbprpBElem.java b/src/main/java/com/gunshi/project/hsz/model/StStbprpBElem.java new file mode 100644 index 0000000..373ee12 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StStbprpBElem.java @@ -0,0 +1,46 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 测站监测值类型 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="测站监测值类型") +@Data +@TableName("public.st_stbprp_b_elem") +public class StStbprpBElem implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测站编码 + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="测站编码") + @Size(max = 32,message = "测站编码最大长度要小于 32") + @NotBlank(message = "测站编码不能为空") + private String stcd; + + /** + * 监测值类型, z是水位,drp是雨量,img是图像 + */ + @TableField(value="elem") + @Schema(description="监测值类型, z是水位,drp是雨量,img是图像") + @Size(max = 4,message = "监测值类型, z是水位,drp是雨量,img是图像最大长度要小于 4") + @NotBlank(message = "监测值类型, z是水位,drp是雨量,img是图像不能为空") + private String elem; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/StStbprpCctv.java b/src/main/java/com/gunshi/project/hsz/model/StStbprpCctv.java new file mode 100644 index 0000000..53217a3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StStbprpCctv.java @@ -0,0 +1,46 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; + +/** + * Description: 测站与视频监控关联表 + * Created by XuSan on 2024/3/5. + * + * @author XuSan + * @version 1.0 + */ +@Schema +@Data +@TableName(value = "public.st_stbprp_cctv") +public class StStbprpCctv implements Serializable { + + @TableId(value = "id", type = IdType.INPUT) + @Schema(description="主键id") + @NotNull(message = "主键不能为空", groups = {Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @TableField(value = "stcd") + @Schema(description="测站编码") + @NotBlank(message = "测站编码不能为空", groups = {Insert.class,Update.class}) + private String stcd; + + @TableField(value = "cam_id") + @Schema(description="视频id") + @NotBlank(message = "视频id不能为空", groups = {Insert.class,Update.class}) + private String camId; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StWaterR.java b/src/main/java/com/gunshi/project/hsz/model/StWaterR.java new file mode 100644 index 0000000..38d80b9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StWaterR.java @@ -0,0 +1,99 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 供水量表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="供水量表") +@Data +@TableName("public.st_water_r") +@EqualsAndHashCode(callSuper = true) +public class StWaterR extends GenericPageParams implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测站编码 + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="测站编码") + @Size(max = 20,message = "测站编码最大长度要小于 20") +// @NotBlank(message = "测站编码不能为空") + private String stcd; + + /** + * 时间 + */ + @TableField(value="tm") + @Schema(description="时间") + // @Size(max = 0,message = "时间最大长度要小于 0") +// @NotBlank(message = "时间不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 流量 + */ + @TableField(value="q") + @Schema(description="流量") + // @Size(max = 0,message = "流量最大长度要小于 0") + private BigDecimal q; + + /** + * 核定流量 + */ + @TableField(exist = false) + @Schema(description="核定流量") + private BigDecimal approvalV; + + /** + * 是否达标 + */ + @TableField(exist = false) + @Schema(description="是否达标") + private Boolean isStandard; + + /** + * 水量 + */ + @TableField(value="v") + @Schema(description="水量") + // @Size(max = 0,message = "水量最大长度要小于 0") + private BigDecimal v; + + + /** + * 选择的起始时间 + */ + @Schema(description = "选择的起始时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date startTime; + + /** + * 选择的结束时间 + */ + @Schema(description = "选择的结束时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date endTime; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StWaterRReal.java b/src/main/java/com/gunshi/project/hsz/model/StWaterRReal.java new file mode 100644 index 0000000..922b98f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StWaterRReal.java @@ -0,0 +1,76 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 供水量实时表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="供水量实时表") +@Data +@TableName("public.st_water_r_real") +public class StWaterRReal implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 测站编码 + */ + @TableId(value="stcd", type= IdType.AUTO) + @Schema(description="测站编码") + @Size(max = 20,message = "测站编码最大长度要小于 20") + @NotBlank(message = "测站编码不能为空") + private String stcd; + + /** + * 时间 + */ + @TableField(value="tm") + @Schema(description="时间") + // @Size(max = 0,message = "时间最大长度要小于 0") + @NotNull(message = "时间不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 流量 + */ + @TableField(value="q") + @Schema(description="流量") + // @Size(max = 0,message = "流量最大长度要小于 0") + private BigDecimal q; + + /** + * 水量 + */ + @TableField(value="v") + @Schema(description="水量") + // @Size(max = 0,message = "水量最大长度要小于 0") + private String v; + + // 站类 + @TableField(exist = false) + private String sttp; + + // 月核定流量 + @TableField(exist = false) + private ResMonthEcoFlow resMonthEcoFlow; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StWaterRReorganize.java b/src/main/java/com/gunshi/project/hsz/model/StWaterRReorganize.java new file mode 100644 index 0000000..74cc309 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StWaterRReorganize.java @@ -0,0 +1,103 @@ +package com.gunshi.project.hsz.model; + + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.page.GenericPageParams; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** +* 描述: 供水量整编表 +* author: cxw +* date: 2024-07-24 11:22:46 +*/ +@EqualsAndHashCode(callSuper = true) +@Schema(description="供水量整编表") +@Data +@TableName("public.st_water_r_reorganize") +public class StWaterRReorganize extends GenericPageParams implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 时间(年月日 时) + */ + @TableId(value="tm", type= IdType.NONE) + @Schema(description="时间(年月日 时)") + @Size(max = 13,message = "时间(年月日 时)最大长度要小于 13") +// @NotBlank(message = "时间(年月日 时)不能为空") +// @NotNull(message = "时间(年月日 时)不能为空") + private String tm; + + /** + * 流量(生态供水) + */ + @TableField(value="ecology_q") + @Schema(description="流量(生态供水)") + private BigDecimal ecologyQ; + + /** + * 水量(生态供水) + */ + @TableField(value="ecology_v") + @Schema(description="水量(生态供水)") + private BigDecimal ecologyV; + + /** + * 流量(生活供水) + */ + @TableField(value="life_q") + @Schema(description="流量(生活供水)") + private BigDecimal lifeQ; + + /** + * 水量(生活供水) + */ + @TableField(value="life_v") + @Schema(description="水量(生活供水)") + private BigDecimal lifeV; + + /** + * 水量小计 + */ + @TableField(value="sum_v") + @Schema(description="水量小计") + private BigDecimal sumV; + + /** + * 查询时间类型 + */ + @Schema(description = "查询时间类型searchType:1-小时 2-日 3-月 4-年") + @TableField(exist = false) + @NotNull(message = "查询时间类型searchType不能为空") + private String searchType; + + /** + * 选择的起始时间 + */ + @Schema(description = "选择的起始时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date startTime; + + /** + * 选择的结束时间 + */ + @Schema(description = "选择的结束时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @TableField(exist = false) + private Date endTime; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/StZqrlB.java b/src/main/java/com/gunshi/project/hsz/model/StZqrlB.java new file mode 100644 index 0000000..5618388 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StZqrlB.java @@ -0,0 +1,134 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Delete; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Date; + +/** +* 描述: 水位流量关系曲线表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="水位流量关系曲线表") +@Data +@TableName("public.st_zqrl_b") +public class StZqrlB implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + /** + * 测站编码 + */ + @TableField(value="stcd") + @Schema(description="测站编码") + @Size(max = 20,message = "测站编码最大长度要小于 8") + @NotBlank(message = "测站编码不能为空") + private String stcd; + + /** + * 曲线名称 + */ + @TableField(value="lnnm") + @Schema(description="曲线名称") + @Size(max = 30,message = "曲线名称最大长度要小于 30") + private String lnnm; + + /** + * 启用时间 + */ + @TableField(value="bgtm") + @Schema(description="启用时间") + // @Size(max = 0,message = "启用时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date bgtm; + + /** + * 点序号 + */ + @TableField(value="ptno") + @Schema(description="点序号") + // @Size(max = 0,message = "点序号最大长度要小于 0") + private Integer ptno; + + /** + * 水位 + */ + @TableField(value="z") + @Schema(description="水位") + // @Size(max = 0,message = "水位最大长度要小于 0") + @NotNull(message = "水位不能为空",groups = {Insert.class, Update.class, Delete.class}) + private BigDecimal z; + + /** + * 流量 + */ + @TableField(value="q") + @Schema(description="流量") + // @Size(max = 0,message = "流量最大长度要小于 0") + @NotNull(message = "流量不能为空",groups = {Insert.class, Update.class, Delete.class}) + private BigDecimal q; + + /** + * 备注 + */ + @TableField(value="comments") + @Schema(description="备注") + @Size(max = 200,message = "备注最大长度要小于 200") + private String comments; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + + + @Schema(description="水库代码") + @TableField(exist = false) + private String resCode; + + @Schema(description="流量和") + @TableField(exist = false) + private BigDecimal qtotal; + + // 新增方法获取LocalDateTime + public LocalDateTime getModitimeAsLocalDateTime() { + if (moditime == null) { + return null; + } + return moditime.toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDateTime(); + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/StZvarlB.java b/src/main/java/com/gunshi/project/hsz/model/StZvarlB.java new file mode 100644 index 0000000..5212f5a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/StZvarlB.java @@ -0,0 +1,115 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Delete; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 库( 湖)容曲线表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="库( 湖)容曲线表") +@Data +@TableName("public.st_zvarl_b") +public class StZvarlB implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 测站编码 + */ + @TableField(value="stcd") + @Schema(description="测站编码") + @Size(max = 20,message = "测站编码最大长度要小于 8") + private String stcd; + + /** + * 施测时间 + */ + @TableField(value="mstm") + @Schema(description="施测时间") + // @Size(max = 0,message = "施测时间最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date mstm; + + /** + * 点序号 + */ + @TableField(value="ptno") + @Schema(description="点序号") + // @Size(max = 0,message = "点序号最大长度要小于 0") + private Integer ptno; + + /** + * 库水位 + */ + @TableField(value="rz") + @Schema(description="库水位") + @NotNull(message = "库水位不能为空",groups = {Insert.class, Update.class, Delete.class}) + private BigDecimal rz; + + /** + * 蓄水量 + */ + @TableField(value="w") + @Schema(description="蓄水量") + @NotNull(message = "蓄水量不能为空",groups = {Insert.class, Update.class, Delete.class}) + private BigDecimal w; + + /** + * 水面面积 + */ + @TableField(value="wsfa") + @Schema(description="水面面积") + // @Size(max = 0,message = "水面面积最大长度要小于 0") + private BigDecimal wsfa; + + /** + * 时间戳 + */ + @TableField(value="moditime") + @Schema(description="时间戳") + // @Size(max = 0,message = "时间戳最大长度要小于 0") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date moditime; + + /** + * 库容(万m³) + */ + @TableField(value="tot_cap") + @Schema(description="库容(万m³)") + // @Size(max = 0,message = "库容(万m³)最大长度要小于 0") + private BigDecimal totCap; + + @Schema(description="水库代码") + @TableField(exist = false) + private String resCode; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/SysDictB.java b/src/main/java/com/gunshi/project/hsz/model/SysDictB.java new file mode 100644 index 0000000..970ac98 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SysDictB.java @@ -0,0 +1,115 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 系统字典表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="系统字典表") +@Data +@TableName("public.sys_dict_b") +public class SysDictB implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="ID") + // @Size(max = 0,message = "ID最大长度要小于 0") + @NotNull(message = "ID不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 字典名称 + */ + @TableField(value="dict_nm") + @Schema(description="字典名称") + @Size(max = 250,message = "字典名称最大长度要小于 250") + @NotBlank(message = "字典名称不能为空",groups = {Insert.class, Update.class}) + private String dictNm; + + /** + * 字典编码 + */ + @TableField(value="dict_cd") + @Schema(description="字典编码") + @Size(max = 250,message = "字典编码最大长度要小于 250") + @NotBlank(message = "字典编码不能为空",groups = {Insert.class, Update.class}) + private String dictCd; + + /** + * 父id + */ + @TableField(value="pid") + @Schema(description="父id") + // @Size(max = 0,message = "父id最大长度要小于 0") + @JsonSerialize(using = ToStringSerializer.class) + private Long pid; + + /** + * 排序字段 + */ + @TableField(value="sort_on") + @Schema(description="排序字段") + // @Size(max = 0,message = "排序字段最大长度要小于 0") +// @NotNull(message = "排序字段不能为空",groups = {Insert.class, Update.class}) + private Integer sortOn; + + /** + * 创建时间 + */ + @TableField(value="create_tm") + @Schema(description="创建时间") + // @Size(max = 0,message = "创建时间最大长度要小于 0") +// @NotNull(message = "创建时间不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTm; + + /** + * 修改时间 + */ + @TableField(value="tm") + @Schema(description="修改时间") + // @Size(max = 0,message = "修改时间最大长度要小于 0") +// @NotBlank(message = "修改时间不能为空") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date tm; + + /** + * 状态 1:启用 0:禁用 + */ + @TableField(value="status") + @Schema(description="状态 1:启用 0:禁用") + // @Size(max = 0,message = "状态 1:启用 0:禁用最大长度要小于 0") + private Integer status; + + + @TableField(exist = false) + @Schema(description="子集") + private List children; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/SzCase.java b/src/main/java/com/gunshi/project/hsz/model/SzCase.java new file mode 100644 index 0000000..0266ef3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SzCase.java @@ -0,0 +1,354 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Schema(description="案件登记表") +@Data +@TableName("public.sz_case") +public class SzCase extends CommUpdate implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + +// /** +// * 填报人Id +// */ +// @TableField(value="create_by") +// @Schema(description="填报人Id") +// @NotNull(message = "填报人Id不能为空",groups = {Insert.class, Update.class}) +// @JsonSerialize(using = ToStringSerializer.class) +// private Long createBy; +// +// /** +// * 填报人名字 +// */ +// @TableField(value="create_name") +// @Schema(description="填报人名字") +// @Size(max = 30,message = "填报人名字最大长度要小于 30") +// @NotBlank(message = "填报人名字不能为空",groups = {Insert.class, Update.class}) +// private String createName; +// +// @Schema(description="填报时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) +// @NotNull(message = "填报时间不能为空") +// @TableField(value="create_time") +// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") +// private Date createTime; + + /** + * 案件编号 + */ + @TableField(value="case_id") + @Schema(description="案件编号") + @Size(max = 50,message = "案件编号最大长度要小于 50") + private String caseId; + + /** + * 案件名称 + */ + @TableField(value="case_name") + @Schema(description="案件名称") + @Size(max = 50,message = "案件名称最大长度要小于 50") + @NotBlank(message = "案件名称不能为空",groups = {Insert.class, Update.class}) + private String caseName; + + /** + * 案件类型 + */ + @TableField(value="case_type") + @Schema(description="案件类型 0:违建,1:毁林垦荒,2:筑坝拦汊,3:填占库容,4:违法取水,5:其他") + @Size(max = 1,message = "案件类型最大长度为 1") + @NotNull(message = "案件类型不能为空",groups = {Insert.class, Update.class}) + private Integer caseType; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + private String lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + private String lttd; + + /** + * 发现时间 + */ + @TableField(value="case_date") + @Schema(description="发现时间") + @NotNull(message = "发现时间不能为空",groups = {Insert.class, Update.class}) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date caseDate; + + /** + * 发现地点 + */ + @TableField(value="case_address") + @Schema(description="发现地点") + @NotBlank(message = "发现地点不能为空",groups = {Insert.class, Update.class}) + @Size(max = 100,message = "案件类型最大长度要小于 100") + private String caseAddress; + + /** + * 案件来源 + */ + @TableField(value="case_source") + @Schema(description="案件来源 0:巡查上报,1:自主发现,2:公共举报,3:电话举报,4:其他") + @NotNull(message = "案件来源不能为空",groups = {Insert.class, Update.class}) + @Size(max = 1,message = "案件类型最大长度要小于 2") + private Integer caseSource; + + /** + * 违法时间 + */ + @TableField(value="illegal_date") + @Schema(description="违法时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date illegalDate; + + + /** + * 当事人类型 + */ + @TableField(value="party_type") + @Schema(description="当事人类型 0:自然人,1:法人或其他组织,2:待定") + @NotNull(message = "当事人类型不能为空",groups = {Insert.class, Update.class}) + @Size(max = 1,message = "当事人类型最大长度要小于 2") + private Integer partyType; + + /** + * 当事人姓名 + */ + @TableField(value="party_name") + @Schema(description="当事人姓名") + @Size(max = 10,message = "当事人姓名最大长度要小于 10") + private String partyName; + + /** + * 身份证号 + */ + @TableField(value="id_number") + @Schema(description="身份证号") + @Size(max = 30,message = "身份证号最大长度要小于 30") + private String idNumber; + + /** + * 当事人住址 + */ + @TableField(value="party_addr") + @Schema(description="当事人住址") + @Size(max = 50,message = "当事人住址最大长度要小于 50") + private String partyAddr; + + /** + * 简要案情 + */ + @TableField(value="intro") + @Schema(description="简要案情") + @Size(max = 500,message = "简要案情最大长度要小于 500") + private String intro; + + /** + * 处理程序 + */ + @TableField(value="processor") + @Schema(description="处理程序 0:简易程序,1:一般程序") + @Size(max = 1,message = "处理程序最大长度要小于 2") + private Integer processor; + + /** + * 处理依据 + */ + @TableField(value="treatment_basis") + @Schema(description="处理依据") + @Size(max = 50,message = "处理程序最大长度要小于 50") + private String treatmentBasis; + + /** + * 处理措施 + */ + @TableField(value="treatment_measure") + @Schema(description="处理措施") + @Size(max = 50,message = "处理措施最大长度要小于 50") + private String treatmentMeasure; + + /** + * 移送处理情况 + */ + @TableField(value="transfer") + @Schema(description="移送处理情况 0:不移送,1:移送单位") + @Size(max = 1,message = "移送处理情况最大长度要小于 2") + private Integer transfer; + + /** + * 案件执行情况 + */ + @TableField(value="caseImplementation") + @Schema(description="案件执行情况 0:当事人自动履行,1:行政强制执行") + @Size(max = 1,message = "案件执行情况最大长度要小于 2") + private Integer caseImplementation; + + /** + * 自动履行情况 + */ + @TableField(value="performance") + @Schema(description="自动履行情况") + @Size(max = 500,message = "自动履行情况最大长度要小于 500") + private String performance; + + /** + * 伤亡人数(人) + */ + @TableField(value="casualties") + @Schema(description="伤亡人数(人)") + private Integer casualties; + + /** + * 直接损失金额(万元) + */ + @TableField(value="direct_loss_amount") + @Schema(description="直接损失金额(万元)") + private BigDecimal directLossAmount; + + /** + * 结案情况 + */ + @TableField(value="close_status") + @Schema(description="结案情况 0:正常结案,1:其他方式结案,2:未结案") + private Integer closeStatus; + + /** + * 结案时间 + */ + @TableField(value="close_date") + @Schema(description="结案时间 " + DateFormatString.YYYY_MM_DD_HH_MM_SS) + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date closeDate; + + /** + * 文件编号及名称 + */ + @TableField(value="doc_num_name") + @Schema(description="文件编号及名称 ") + @Size(max = 100,message = "文件编号及名称最大长度要小于 100") + private String docNumName; + + /** + * 督办单位类型 + */ + @TableField(value="unit_type") + @Schema(description="督办单位类型 0:上级督办,1:本级河长督办") + private Integer unitType; + + /** + * 督办单位名称 + */ + @TableField(value="unit_name") + @Schema(description="督办单位名称") + private String unitName; + + /** + * 行政复议情况 + */ + @TableField(value="administrative_reconsideration") + @Schema(description="行政复议情况 0:维护,1:变更,2:撤销,3:和解,4:调解") + private Integer administrativeReconsideration; + + /** + * 行政应诉情况 + */ + @TableField(value="administrative_response") + @Schema(description="行政复议情况 0:驳回原告诉讼,1:撤销,2:变更,3:确认违法,4:确认无效,5:其他") + private Integer administrativeResponse; + + /** + * 保管人员 + */ + @TableField(value="custodian") + @Schema(description="保管人员") + private String custodian; + + /** + * 保管地点 + */ + @TableField(value="storage_location") + @Schema(description="保管地点") + private String storageLocation; + + + @TableField(exist = false) + @Schema(description = "基本情况文件集合") + private List files1; + + @TableField(exist = false) + @Schema(description = "处理情况文件集合") + private List files2; + + @TableField(exist = false) + @Schema(description = "办案卷宗-立案文件集合") + private List files3; + + @TableField(exist = false) + @Schema(description = "办案卷宗-调查取证文件集合") + private List files4; + + @TableField(exist = false) + @Schema(description = "办案卷宗-审查处理文件集合") + private List files5; + + @TableField(exist = false) + @Schema(description = "办案卷宗-送达执行文件集合") + private List files6; + + @TableField(exist = false) + @Schema(description = "办案卷宗-结案文件集合") + private List files7; + + @TableField(exist = false) + @Schema(description = "历史影像及图片-整改前文件集合") + private List files8; + + @TableField(exist = false) + @Schema(description = "历史影像及图片-整改后文件集合") + private List files9; + +} diff --git a/src/main/java/com/gunshi/project/hsz/model/SzRegulatoryFramework.java b/src/main/java/com/gunshi/project/hsz/model/SzRegulatoryFramework.java new file mode 100644 index 0000000..839dc65 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SzRegulatoryFramework.java @@ -0,0 +1,154 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Schema(description="制度管理表") +@Data +@TableName("public.sz_regulatory_framework") +public class SzRegulatoryFramework extends CommUpdate implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 标题 + */ + @TableField(value="name") + @Schema(description="标题") + @Size(max = 30,message = "标题最大长度要小于 30") + @NotBlank(message = "标题不能为空",groups = {Insert.class, Update.class}) + private String name; + + + /** + * 发布单位 + */ + @TableField(value="fill_unit") + @Schema(description="发布单位") + @Size(max = 50,message = "发布单位最大长度要小于 50") + private String fillUnit; + + /** + * 发布日期 + */ + @TableField(value="release_date") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + @Schema(description="发布日期") + private Date releaseDate; + + /** + * 制度类型 + */ + @TableField(value="type") + @Schema(description="制度类型 0:党支部工作制度,1:行政工作制度,2:部门工作制度,3:安全管理制度,4:工程管理制度,5:技术规程,6:岗位责任制") + @NotNull(message = "制度类型不能为空",groups = {Insert.class, Update.class}) + @Size(max = 1,message = "制度类型最大长度要小于 2") + private Integer type; + + + + /** + * 上传时间 + */ + @Schema(description="上传时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) + @TableField(value="upload_date") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date uploadDate; + + +// /** +// * 创建人Id +// */ +// @TableField(value="create_by") +// @Schema(description="填报人Id") +// @NotNull(message = "填报人Id不能为空",groups = {Insert.class, Update.class}) +// @JsonSerialize(using = ToStringSerializer.class) +// private Long createBy; +// +// /** +// * 创建人名字 +// */ +// @TableField(value="create_name") +// @Schema(description="填报人名字") +// @Size(max = 30,message = "填报人名字最大长度要小于 30") +// @NotBlank(message = "填报人名字不能为空",groups = {Insert.class, Update.class}) +// private String createName; +// +// /** +// * 创建人时间 +// */ +// @Schema(description="填报时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) +// @NotNull(message = "填报时间不能为空") +// @TableField(value="create_time") +// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") +// private Date createTime; +// +// /** +// * 更新人Id +// */ +// @TableField(value="update_by") +// @Schema(description="更新人Id") +// @JsonSerialize(using = ToStringSerializer.class) +// private Long updateBy; +// +// /** +// * 更新人名字 +// */ +// @TableField(value="update_name") +// @Schema(description="更新人名字") +// @NotBlank(message = "更新人名字不能为空",groups = {Insert.class, Update.class}) +// private String updateName; +// +// /** +// * 更新时间 +// */ +// @Schema(description="更新时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) +// @TableField(value="update_time") +// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") +// private Date updateTime; + + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; + + @TableField(exist = false) + @Schema(description = "第一次上次时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date minUpTime; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/SzRuleByLaw.java b/src/main/java/com/gunshi/project/hsz/model/SzRuleByLaw.java new file mode 100644 index 0000000..371bc48 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SzRuleByLaw.java @@ -0,0 +1,114 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@EqualsAndHashCode(callSuper = true) +@Schema(description="法律法规管理表") +@Data +@TableName("public.sz_rule_by_law") +public class SzRuleByLaw extends CommUpdate implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 标题 + */ + @TableField(value="name") + @Schema(description="标题") + @Size(max = 30,message = "标题最大长度要小于 30") + @NotBlank(message = "标题不能为空",groups = {Insert.class, Update.class}) + private String name; + + /** + * 制定机关 + */ + @TableField(value="fill_unit") + @Schema(description="制定机关") + @Size(max = 50,message = "制定机关最大长度要小于 50") + private String fillUnit; + + /** + * 法律性质 + */ + @TableField(value="type") + @Schema(description="法律性质 0:宪法,1:法律,2:行政法规,3:督察法规,4:司法解释,5:地方性法规") + @NotNull(message = "法律性质不能为空",groups = {Insert.class, Update.class}) + @Size(max = 1,message = "法律性质最大长度要小于 2") + private Integer type; + + /** + * 时效性 + */ + @TableField(value="timeliness") + @Schema(description="时效性 0:尚未生效,1:有效,2:已修改,3:已废止") + @NotNull(message = "时效性不能为空",groups = {Insert.class, Update.class}) + @Size(max = 1,message = "时效性最大长度要小于 2") + private Integer timeliness; + + + /** + * 公布日期 + */ + @Schema(description="公布日期 格式:" + DateFormatString.YYYY_MM_DD) + @TableField(value="announcement_date") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date announcementDate; + + + + /** + * 施行日期 + */ + @Schema(description="施行日期 格式:" + DateFormatString.YYYY_MM_DD) + @TableField(value="implementation_date") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date implementationDate; + + /** + * 上传时间 + */ + @Schema(description="上传时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) + @TableField(value="upload_date") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date uploadDate; + + + @TableField(exist = false) + @Schema(description = "文件集合") + private List files; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/SzTreatmentBasis.java b/src/main/java/com/gunshi/project/hsz/model/SzTreatmentBasis.java new file mode 100644 index 0000000..82167eb --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/SzTreatmentBasis.java @@ -0,0 +1,153 @@ +package com.gunshi.project.hsz.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.hsz.validate.markers.Insert; +import com.gunshi.project.hsz.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Schema(description="处理依据表") +@Data +@TableName("public.sz_treatment_basis") +public class SzTreatmentBasis extends CommUpdate implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 节点id + */ + @TableField(value="p_id") + @Schema(description="节点id") + @JsonSerialize(using = ToStringSerializer.class) + private Long pId; + +// /** +// * 创建人Id +// */ +// @TableField(value="create_by") +// @Schema(description="填报人Id") +// @NotNull(message = "填报人Id不能为空",groups = {Insert.class, Update.class}) +// @JsonSerialize(using = ToStringSerializer.class) +// private Long createBy; +// +// /** +// * 创建人名字 +// */ +// @TableField(value="create_name") +// @Schema(description="填报人名字") +// @Size(max = 30,message = "填报人名字最大长度要小于 30") +// @NotBlank(message = "填报人名字不能为空",groups = {Insert.class, Update.class}) +// private String createName; +// +// /** +// * 创建人时间 +// */ +// @Schema(description="填报时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) +// @NotNull(message = "填报时间不能为空") +// @TableField(value="create_time") +// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") +// private Date createTime; + + /** + * 状态 + */ + @TableField(value="status") + @Schema(description="状态 0:启用,1:禁用") + @NotNull(message = "状态不能为空",groups = {Insert.class, Update.class}) + @Size(max = 1,message = "状态最大长度要小于 2") + private Integer status; + + /** + * 节点 + */ + @TableField(value="legal_name") + @Schema(description="法律名称") + @Size(max = 200,message = "法律名称最大长度要小于 200") + @NotBlank(message = "法律名称不能为空",groups = {Insert.class, Update.class}) + private String legalName; + + /** + * 法条内容 + */ + @TableField(value="legal_content") + @Schema(description="法条内容") + @Size(max = 2000,message = "法条内容最大长度要小于 2000") + private String legalContent; + + /** + * 违法行为描述 + */ + @TableField(value="violation_desc") + @Schema(description="违法行为描述") + @Size(max = 2000,message = "违法行为描述最大长度要小于 2000") + private String violationDesc; + + /** + * 处罚措施 + */ + @TableField(value="penalties") + @Schema(description="处罚措施") + @Size(max = 2000,message = "处罚措施最大长度要小于 2000") + private String penalties; + + @TableField(value="display") + @Schema(description="给需要不显示禁用的菜单项使用,0=不显示") + private Integer display; + +// /** +// * 更新人Id +// */ +// @TableField(value="update_by") +// @Schema(description="更新人Id") +// @NotNull(message = "更新人Id不能为空",groups = {Insert.class, Update.class}) +// @JsonSerialize(using = ToStringSerializer.class) +// private Long updateBy; +// +// /** +// * 更新人名字 +// */ +// @TableField(value="update_name") +// @Schema(description="更新人名字") +// @Size(max = 30,message = "更新人名字最大长度要小于 30") +// private String updateName; +// +// /** +// * 更新时间 +// */ +// @Schema(description="更新时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) +// @TableField(value="update_time") +// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") +// private Date updateTime; + + + @TableField(exist = false) + @Schema(description = "子集") + private List children; +} diff --git a/src/main/java/com/gunshi/project/hsz/model/TermiteAdverPic.java b/src/main/java/com/gunshi/project/hsz/model/TermiteAdverPic.java new file mode 100644 index 0000000..8329e84 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/TermiteAdverPic.java @@ -0,0 +1,61 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 白蚁防治宣传图片墙 +* author: xusan +* date: 2024-08-29 17:33:08 +*/ +@Schema(description="白蚁防治宣传图片墙") +@Data +@TableName("public.termite_adver_pic") +public class TermiteAdverPic implements Serializable { + + public final static String thisTableName = "TermiteAdverPic"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 图片标题 + */ + @TableField(value="pic_title") + @Schema(description="图片标题") + @Size(max = 50,message = "图片标题最大长度要小于 50") + private String picTitle; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + @TableField(exist = false) + @Schema(description = "图片") + private FileAssociations pic; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/TermiteSurvey.java b/src/main/java/com/gunshi/project/hsz/model/TermiteSurvey.java new file mode 100644 index 0000000..216978a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/TermiteSurvey.java @@ -0,0 +1,99 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 白蚁普查 +* author: xusan +* date: 2024-08-28 10:29:58 +*/ +@Schema(description="白蚁普查") +@Data +@TableName("public.termite_survey") +public class TermiteSurvey implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 上报时间 + */ + @TableField(value="report_date") + @Schema(description="上报时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date reportDate; + + /** + * 普查类型(1日常检查排查 2定期普查 3专项调查) + */ + @TableField(value="survey_type") + @Schema(description="普查类型(1日常检查排查 2定期普查 3专项调查)") + private Integer surveyType; + + /** + * 普查方式(1人工排查法 2引诱法 3仪器探测法 4其它) + */ + @TableField(value="survey_way") + @Schema(description="普查方式(1人工排查法 2引诱法 3仪器探测法 4其它)") + private Integer surveyWay; + + /** + * 上报人id + */ + @TableField(value="report_user_id") + @Schema(description="上报人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long reportUserId; + + /** + * 上报人 + */ + @TableField(value="report_user_name") + @Schema(description="上报人") + @Size(max = 50,message = "上报人最大长度要小于 50") + private String reportUserName; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + @TableField(exist = false) + @Schema(description = "白蚁危害处数") + private Integer harmNum = 0; + + @TableField(exist = false) + @Schema(description = "已处置处数") + private Integer handleNum = 0; + + @TableField(exist = false) + @Schema(description = "明细") + private List details; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/TermiteSurveyDetail.java b/src/main/java/com/gunshi/project/hsz/model/TermiteSurveyDetail.java new file mode 100644 index 0000000..a813c63 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/TermiteSurveyDetail.java @@ -0,0 +1,144 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 白蚁普查明细 +* author: xusan +* date: 2024-08-28 10:25:17 +*/ +@Schema(description="白蚁普查明细") +@Data +@TableName("public.termite_survey_detail") +public class TermiteSurveyDetail implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 普查id + */ + @TableField(value="survey_id") + @Schema(description="普查id") + @JsonSerialize(using = ToStringSerializer.class) + private Long surveyId; + + /** + * 部位 + */ + @TableField(value="position") + @Schema(description="部位") + @Size(max = 50,message = "部位最大长度要小于 50") + private String position; + + /** + * 危害情况(0 无危害 1有危害) + */ + @TableField(value="is_harm") + @Schema(description="危害情况(0 无危害 1有危害)") + private Integer isHarm; + + /** + * 桩号 + */ + @TableField(value="pile_number") + @Schema(description="桩号") + @Size(max = 50,message = "桩号最大长度要小于 50") + private String pileNumber; + + /** + * 普查长度(m) + */ + @TableField(value="survey_len") + @Schema(description="普查长度(m)") + private BigDecimal surveyLen; + + /** + * 是否致险(0否 1是) + */ + @TableField(value="is_danger") + @Schema(description="是否致险(0否 1是)") + private Integer isDanger; + + /** + * 渗漏处数 + */ + @TableField(value="leakage") + @Schema(description="渗漏处数") + private Integer leakage; + + /** + * 穿坝处数 + */ + @TableField(value="dam_cross") + @Schema(description="穿坝处数") + private Integer damCross; + + /** + * 跌窝处数 + */ + @TableField(value="fall_nest") + @Schema(description="跌窝处数") + private Integer fallNest; + + /** + * 是否已处置(0否 1是) + */ + @TableField(value="is_handle") + @Schema(description="是否已处置(0否 1是)") + private Integer isHandle; + + /** + * 处置情况说明 + */ + @TableField(value="handle_desc") + @Schema(description="处置情况说明") + @Size(max = 500,message = "处置情况说明最大长度要小于 500") + private String handleDesc; + + @TableField(exist = false) + @Schema(description = "活动迹象") + private List actSign; + + @TableField(exist = false) + @Schema(description = "现场图片") + private List pics; + + @TableField(exist = false) + @Schema(description = "现场视频") + private List videos; + + @TableField(exist = false) + @Schema(description = "监测时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date reportDate; + + @TableField(exist = false) + @Schema(description = "记录时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/model/TyYearRainfall.java b/src/main/java/com/gunshi/project/hsz/model/TyYearRainfall.java new file mode 100644 index 0000000..fed97c5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/model/TyYearRainfall.java @@ -0,0 +1,74 @@ +package com.gunshi.project.hsz.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* 描述: 典型年降雨资料表 +* author: xusan +* date: 2024-07-08 17:34:26 +*/ +@Schema(description="典型年降雨资料表") +@Data +@TableName("public.ty_year_rainfall") +public class TyYearRainfall implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="id") + @NotNull(message = "id不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 类型(1年 2月) + */ + @TableField(value="type") + @Schema(description="类型(1年 2月)") + private Integer type; + + /** + * 年 + */ + @TableField(value="year") + @Schema(description="年") + private Integer year; + + /** + * 月 + */ + @TableField(value="month") + @Schema(description="月") + private Integer month; + + /** + * 降雨量 + */ + @TableField(value="drp") + @Schema(description="降雨量") + private BigDecimal drp; + + /** + * 丰平枯(1枯 2偏枯 3平 4偏丰 5丰) + */ + @TableField(value="status") + @Schema(description="丰平枯(1枯 2偏枯 3平 4偏丰 5丰)") + private Integer status; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/schedule/SchedulerConfig.java b/src/main/java/com/gunshi/project/hsz/schedule/SchedulerConfig.java new file mode 100644 index 0000000..8e03f8c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/schedule/SchedulerConfig.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.schedule; + + +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; + +/** + * @author cxw + * @description quartz配置 + * @classname SchedulerConfig.java + * @create 2024-07-30, 星期二, 9:41:34 + */ +@Configuration +public class SchedulerConfig implements SchedulingConfigurer { + + @Override + public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { + // 注意:这里配置的是Spring的@Scheduled任务,而不是Quartz的Scheduler + // 对于Quartz,你通常不需要在这里做任何配置,除非你有特殊需求 + } +} diff --git a/src/main/java/com/gunshi/project/hsz/schedule/TaskGroupHandler.java b/src/main/java/com/gunshi/project/hsz/schedule/TaskGroupHandler.java new file mode 100644 index 0000000..1e4f14c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/schedule/TaskGroupHandler.java @@ -0,0 +1,129 @@ +package com.gunshi.project.hsz.schedule; + +import com.gunshi.project.hsz.model.ForecastTask; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.quartz.CronScheduleBuilder; +import org.quartz.CronTrigger; +import org.quartz.JobBuilder; +import org.quartz.JobDataMap; +import org.quartz.JobDetail; +import org.quartz.JobKey; +import org.quartz.Scheduler; +import org.quartz.SchedulerException; +import org.quartz.TriggerBuilder; +import org.quartz.TriggerKey; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.GetMapping; + +import java.math.BigDecimal; + + +/** + * @author cxw + * @description 定时任务动态操作 + * @classname TaskGroupHandler.java + * @create 2024-07-30, 星期二, 9:42:04 + */ +@Component +@Slf4j +public class TaskGroupHandler { + + @Resource + private Scheduler scheduler; + + /** + * 新增定时任务 + * @param jobId + */ + public void addCronJob(String jobId, ForecastTask forecastTask) { + try { + TriggerKey triggerKey = TriggerKey.triggerKey(jobId, "FloodForecast"); + + //构建job信息 + JobDetail job = JobBuilder.newJob(TaskGroupJob.class).withIdentity(jobId, "FloodForecast") + .withDescription("任务组编排").build(); + JobDataMap jobDataMap = job.getJobDataMap(); + jobDataMap.put("jobId", jobId); + jobDataMap.put("forecastTask", forecastTask); + //CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("cron的表达式"); + String cronExpression = ""; + // 小于1,就是0.5小时,转为分钟 + if(forecastTask.getTimeInterval().compareTo(BigDecimal.ONE) < 0){ + cronExpression = "0 0/" + Integer.valueOf(forecastTask.getTimeInterval().multiply(new BigDecimal(60)).setScale(0).toString()) + " * * * ?"; + } else { + cronExpression = "0 0 */" + Integer.valueOf(forecastTask.getTimeInterval().setScale(0).toString()) + " * * ?"; + } + CronTrigger trigger = TriggerBuilder.newTrigger() + .withIdentity(triggerKey) + .startNow() + .withSchedule(CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionFireAndProceed()) + .build(); + + //SimpleScheduleBuilder.simpleSchedule().withRepeatCount(0).withIntervalInSeconds(20)//每隔多少秒执行一次; withRepeatCount 设置重复的次数 + //.startNow().withSchedule(cronScheduleBuilder) + //交由Scheduler安排触发 + scheduler.scheduleJob(job, trigger); + if(!scheduler.isStarted()){ + scheduler.start(); + } + log.info("添加定时任务成功, startJob:{}", jobId); + } catch (SchedulerException e) { + log.error("添加定时任务异常, jobId:{}", jobId, e); + throw new RuntimeException(e); + } + } + + /** + * 删除任务 + * @param jobId + * @return + */ + public void removeCronJob(String jobId) { + try { + // TriggerKey 定义了trigger的名称和组别 ,通过任务名和任务组名获取TriggerKey + TriggerKey triggerKey = TriggerKey.triggerKey(jobId,"FloodForecast"); + // 停止触发器 + scheduler.resumeTrigger(triggerKey); + // 移除触发器 + scheduler.unscheduleJob(triggerKey); + // 移除任务 + scheduler.deleteJob(JobKey.jobKey(jobId,"FloodForecast")); + log.info("删除定时任务成功, jobId:{}", jobId); + } catch (SchedulerException e) { + log.error("删除定时任务异常, jobId:{}", jobId, e); + } + } + + /** + * 暂停定时任务 + * @param jobId + */ + public void pauseJob(String jobId) { + try { + JobKey jobKey = JobKey.jobKey(jobId,"FloodForecast"); + // 暂停任务 + scheduler.pauseJob(jobKey); + log.info("暂停定时任务成功, jobId:{}", jobId); + } catch (SchedulerException e) { + log.error("暂停定时任务异常, jobId:{}", jobId, e); + } + } + + /** + * 继续定时任务 + * @param jobId + */ + @GetMapping("/resumeJob") + public void resumeJob(String jobId) { + try { + // 通过任务名和任务组名获取jobKey + JobKey jobKey = JobKey.jobKey(jobId,"FloodForecast"); + // 继续任务 + scheduler.resumeJob(jobKey); + log.info("继续定时任务成功, jobId:{}", jobId); + } catch (SchedulerException e) { + log.error("继续定时任务异常, jobId:{}", jobId, e); + } + } +} diff --git a/src/main/java/com/gunshi/project/hsz/schedule/TaskGroupJob.java b/src/main/java/com/gunshi/project/hsz/schedule/TaskGroupJob.java new file mode 100644 index 0000000..66934e5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/schedule/TaskGroupJob.java @@ -0,0 +1,137 @@ +package com.gunshi.project.hsz.schedule; + +import cn.hutool.core.map.MapUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.gunshi.project.hsz.entity.vo.ForecastResultVo; +import com.gunshi.project.hsz.model.AttResBase; +import com.gunshi.project.hsz.model.ForecastProject; +import com.gunshi.project.hsz.model.ForecastTask; +import com.gunshi.project.hsz.model.ForecastUseparam; +import com.gunshi.project.hsz.service.AttResBaseService; +import com.gunshi.project.hsz.service.ForecastProjectService; +import com.gunshi.project.hsz.service.ForecastResultsService; +import com.gunshi.project.hsz.service.ForecastTaskService; +import com.gunshi.project.hsz.service.ForecastUseparamService; +import lombok.extern.slf4j.Slf4j; +import org.quartz.Job; +import org.quartz.JobDataMap; +import org.quartz.JobExecutionContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * @author cxw + * @description 实现具体逻辑 + * @classname TaskGroupJob.java + * @create 2024-07-30, 星期二, 9:43:17 + */ +@Component +@Slf4j +public class TaskGroupJob implements Job { + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + private static SimpleDateFormat sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm:00"); + + private static SimpleDateFormat sdfTime = new SimpleDateFormat("yyyyMMddHHmm"); + + @Autowired + private ForecastResultsService forecastResultsService; + + @Autowired + private ForecastUseparamService forecastUseparamService; + + @Autowired + private AttResBaseService attResBaseService; + + @Autowired + private ForecastProjectService forecastProjectService; + @Autowired + private ForecastTaskService forecastTaskService; + + @Override + public void execute(JobExecutionContext context) { + Date nowDate = new Date(); + JobDataMap jdMap = context.getJobDetail().getJobDataMap(); + String jobId = (String) jdMap.get("jobId"); + ForecastTask forecastTask = (ForecastTask) jdMap.get("forecastTask"); + log.info("{}----TaskGroupJob-计划执行开始===>jobId:{}", sdf.format(nowDate), jobId); + forecastTask.setLastExcuteTm(nowDate); + try { + // 根据执行时间、预热期、预见期获取对应的预报、开始、结束时间 + Date nowTime = sdfMinute.parse(sdfMinute.format(nowDate)); + Date forecastTime = nowTime; + Date startTime; + Date endTime; + Integer forecastPeriod = forecastTask.getForecastPeriod();// 预见期:小时 + Integer forecastWarm = forecastTask.getForecastWarm();// 预热期:天 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(nowTime); + // 预报时间就是当前时间 + forecastTask.setNowTime(nowTime); + forecastTask.setForecastTime(nowTime); + // 预热期:往前推 天 + calendar.add(calendar.DATE, - forecastWarm); + startTime = calendar.getTime(); + forecastTask.setStartTime(startTime); + // 预见期:先恢复,再往后推 小时 + calendar.setTime(nowTime); + calendar.add(calendar.HOUR_OF_DAY, forecastPeriod); + endTime = calendar.getTime(); + forecastTask.setEndTime(endTime); + List voList = forecastResultsService.autoFloodForecast(forecastTask); + // 符合条件就保存到数据库 + if (CollectionUtils.isNotEmpty(voList)) { + Map map = forecastUseparamService.getMap(new QueryWrapper().eq("param_code", "ydgdyjz"));// 获取安全值 + AttResBase attResBase = attResBaseService.getOne(new QueryWrapper<>());// 获取堰顶高程 + if (MapUtil.isNotEmpty(map) && ObjectUtils.isNotEmpty(attResBase) && ObjectUtils.isNotEmpty(attResBase.getWcrstel())) { + BigDecimal ydgdyjz = new BigDecimal(map.get("param_value").toString()); + BigDecimal wcrstel = attResBase.getWcrstel(); + Boolean isSave = false; + for (ForecastResultVo vo : voList) { + // 当计算的预报最高水位离堰顶高程小于此安全值,或者超过堰顶高度的值时,发送系统内消息提示。同时自动滚动预报保存方案结果 + if ((vo.getYcSwHValue().add(ydgdyjz)).compareTo(wcrstel) > 0) { + isSave = true; + break; + } + } + if (isSave) { + ForecastProject forecastProject = new ForecastProject(); + forecastProject.setId(IdWorker.getId()); + forecastProject.setName("未来" + forecastPeriod + "小时洪水预报-".concat(sdfTime.format(nowTime))); + forecastProject.setType("1"); + forecastProject.setForecastTm(forecastTime); + forecastProject.setProjectTm(nowTime); + forecastProject.setStartTm(startTime); + forecastProject.setEndTm(endTime); + forecastProject.setUserId("1_系统"); + forecastProject.setForecastPeriod(forecastPeriod); + forecastProject.setForecastWarm(forecastWarm); + forecastProject.setTimeInterval(forecastTask.getTimeInterval()); + forecastProject.setTaskId(forecastTask.getId()); + forecastProject.setVoList(voList); + boolean save = forecastProjectService.save(forecastProject); + if (save) { + forecastProjectService.saveForecastResults(forecastProject); + forecastTask.setLastResultsaveTm(nowDate); + } + } + } + } + forecastTaskService.updateById(forecastTask); + } catch (Exception e) { + throw new RuntimeException(e); + } + log.info("{}----TaskGroupJob-计划执行结束===>jobId:{}", sdf.format(new Date()), jobId); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/schedule/TaskGroupJobRunner.java b/src/main/java/com/gunshi/project/hsz/schedule/TaskGroupJobRunner.java new file mode 100644 index 0000000..5fdb00e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/schedule/TaskGroupJobRunner.java @@ -0,0 +1,48 @@ +package com.gunshi.project.hsz.schedule; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.gunshi.project.hsz.model.ForecastTask; +import com.gunshi.project.hsz.service.ForecastTaskService; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.context.annotation.Profile; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @author cxw + * @description 任务预热,预先加载数据库已经配置好的任务 + * @classname TaskGroupJobRunner.java + * @create 2024-07-30, 星期二, 9:42:39 + */ +@Component +@Slf4j +@Profile("prod") +public class TaskGroupJobRunner implements CommandLineRunner { + + @Resource + private TaskGroupHandler taskGroupHandler; + + @Autowired + private ForecastTaskService forecastTaskService; + + @Override + public void run(String... args) { + // 初始加载数据库里状态为正常的定时任务 + List taskList = forecastTaskService.list(new QueryWrapper().eq("status", "0")); + if (CollectionUtils.isNotEmpty(taskList)) { + Map jobMap = taskList.stream() + .collect(Collectors.toMap(ForecastTask::getId, Function.identity(), (key1, key2)->key2)); + for (Map.Entry entry : jobMap.entrySet()) { + taskGroupHandler.addCronJob(String.valueOf(entry.getKey()), entry.getValue()); + } + } + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/AbstractModelWithAttachService.java b/src/main/java/com/gunshi/project/hsz/service/AbstractModelWithAttachService.java new file mode 100644 index 0000000..174dfba --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AbstractModelWithAttachService.java @@ -0,0 +1,81 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.db.dao.BaseDao; +import com.gunshi.db.dao.IMapper; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.List; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-03-19 + */ +public abstract class AbstractModelWithAttachService, AutoDao extends BaseDao, + AttachModel, AttachModelAutoMapper extends IMapper, AttachModelAutoDao extends BaseDao> { + abstract AutoDao getAutoDao(); + + abstract AttachModelAutoDao getAttachFileAutoDao(); + + abstract List createAttachList(Model model); + + + abstract Object getModelId(Model model); + + public abstract String getAttachBzIdName(); + + @Transactional + public boolean save(Model model) { + List attachList = createAttachList(model); + if (attachList != null) { + getAttachFileAutoDao().saveBatch(attachList); + } + + return getAutoDao().save(model); + } + + @Transactional + public boolean updateById(Model model) { + List attachList = getAttachFileAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), getModelId(model))); + getAttachFileAutoDao().removeByIds(attachList); + + attachList = createAttachList(model); + getAttachFileAutoDao().saveBatch(attachList); + + return getAutoDao().updateById(model); + } + + @Transactional + public boolean removeById(Serializable id) { + List attachList = getAttachFileAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), id)); + getAttachFileAutoDao().removeByIds(attachList); + + return getAutoDao().removeById(id); + } + + public Model getById(Serializable id) { + return getAutoDao().getById(id); + } + + public Page getPage(Page page) { + return getAutoDao().page(page); + } + + public AttachModel getAttachByAttachId(Serializable attachId) { + return getAttachFileAutoDao().getById(attachId); + } + + public List getAttachListByModelId(Serializable modelId) { + return getAttachFileAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), modelId)); + } + + + public interface GetFileIds { + List getFileIds(); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/AppVersionRecordService.java b/src/main/java/com/gunshi/project/hsz/service/AppVersionRecordService.java new file mode 100644 index 0000000..9a83e8a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AppVersionRecordService.java @@ -0,0 +1,46 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AppVersionRecordMapper; +import com.gunshi.project.hsz.model.AppVersionRecord; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.util.Date; +import java.util.List; + +/** + * 描述: APP版本记录 + * author: xusan + * date: 2024-11-12 10:14:50 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AppVersionRecordService extends ServiceImpl +{ + + public boolean insertData(String version,String versionDesc,String url) { + AppVersionRecord record = new AppVersionRecord(); + record.setId(IdWorker.getId()); + record.setVersion(version); + record.setVersionDesc(versionDesc); + record.setUrl(url); + record.setCreateTime(new Date()); + return this.baseMapper.insert(record) > 0; + } + + public AppVersionRecord getLatest() { + AppVersionRecord record = null; + List list = this.lambdaQuery().orderByDesc(AppVersionRecord::getCreateTime).list(); + if(!CollectionUtils.isEmpty(list)){ + record = list.get(0); + } + return record; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessCategoryService.java b/src/main/java/com/gunshi/project/hsz/service/AssessCategoryService.java new file mode 100644 index 0000000..5327887 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessCategoryService.java @@ -0,0 +1,72 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AssessCategoryMapper; +import com.gunshi.project.hsz.mapper.AssessIndicatorMapper; +import com.gunshi.project.hsz.model.AssessCategory; +import com.gunshi.project.hsz.model.AssessIndicator; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.Objects; + +/** + * 描述: 考核类目 + * author: xusan + * date: 2024-09-03 17:46:30 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessCategoryService extends ServiceImpl +{ + + @Autowired + private AssessIndicatorMapper indicatorMapper; + + public AssessCategory saveData(AssessCategory dto) { + dto.setId(IdWorker.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderBy(true, false, "order_index"); + AssessCategory lastOne = super.getOne(queryWrapper, false); + int order = 0; + if (lastOne == null) { + order = 1; + } else { + order = lastOne.getOrderIndex() + 1; + } + dto.setOrderIndex(order); + this.save(dto); + return dto; + } + + public AssessCategory updateData(AssessCategory dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + this.updateById(dto); + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + //判断是否关联指标 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AssessIndicator::getCategoryId,id); + if(indicatorMapper.selectCount(wrapper) > 0){ + throw new IllegalArgumentException("请先删除关联的考核指标"); + } + return this.removeById(id); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessIndicatorRatingService.java b/src/main/java/com/gunshi/project/hsz/service/AssessIndicatorRatingService.java new file mode 100644 index 0000000..239ab8f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessIndicatorRatingService.java @@ -0,0 +1,47 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AssessIndicatorRatingMapper; +import com.gunshi.project.hsz.model.AssessIndicatorRating; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 考核指标评分细则 + * author: xusan + * date: 2024-09-03 17:47:17 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessIndicatorRatingService extends ServiceImpl +{ + + public void saveRating(List indicatorRatings,Long id) { + indicatorRatings.stream().forEach(o->{ + o.setId(IdWorker.getId()); + o.setIndicatorId(id); + }); + this.saveBatch(indicatorRatings); + } + + public void updateRating(List indicatorRatings, Long id) { + delRating(id); + saveRating(indicatorRatings,id); + } + + public void delRating(Long indicatorId) { + this.remove(new QueryWrapper().eq("indicator_id",indicatorId)); + } + + public List queryRatingList(List ids) { + return this.list(new QueryWrapper().in("indicator_id",ids)); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessIndicatorService.java b/src/main/java/com/gunshi/project/hsz/service/AssessIndicatorService.java new file mode 100644 index 0000000..1657910 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessIndicatorService.java @@ -0,0 +1,122 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.dto.InspectItemDto; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.mapper.AssessIndicatorMapper; +import com.gunshi.project.hsz.mapper.AssessTemplateIndicatorRelMapper; +import com.gunshi.project.hsz.model.AssessIndicator; +import com.gunshi.project.hsz.model.AssessIndicatorRating; +import com.gunshi.project.hsz.model.AssessTemplateIndicatorRel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 考核指标 + * author: xusan + * date: 2024-09-03 17:46:56 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessIndicatorService extends ServiceImpl { + @Autowired + private AssessIndicatorRatingService indicatorRatingService; + + @Autowired + private AssessTemplateIndicatorRelMapper relMapper; + + public String startStop(InspectItemDto dto) { + Integer status = dto.getStatus(); + AssessIndicator indicator = super.getById(dto.getId()); + if (indicator == null) { + throw new IllegalArgumentException("当前数据不存在"); + } + indicator.setStatus(status); + boolean flag = super.updateById(indicator); + if (flag) { + return status == 0 ? "启用成功" : "禁用成功"; + } + return status == 0 ? "启用失败" : "禁用失败"; + } + + public Page pageQuery(AttCctvBasePage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getMenuId())) { + query.eq(AssessIndicator::getCategoryId, page.getMenuId()); + } + query.orderByAsc(AssessIndicator::getStatus).orderByAsc(AssessIndicator::getOrderIndex); + Page res = this.page(page.getPageSo().toPage(), query); + if (res.getRecords() != null && res.getRecords().size() > 0) { + fillUsedInfo(res.getRecords()); + fillRating(res.getRecords()); + } + return res; + } + + private void fillUsedInfo(List records) { + List ids = records.stream().map(AssessIndicator::getId).collect(Collectors.toList()); + List list = relMapper.selectList(new QueryWrapper().in("indicator_id", ids)); + Map map = list.stream().collect(Collectors.groupingBy(AssessTemplateIndicatorRel::getIndicatorId, Collectors.counting())); + for (AssessIndicator record : records) { + record.setIsUsed(map.containsKey(record.getId()) ? 1 : 0); + } + } + + public void fillRating(List records) { + List ids = records.stream().map(AssessIndicator::getId).collect(Collectors.toList()); + List relList = indicatorRatingService.queryRatingList(ids); + Map> map = relList.stream().collect(Collectors.groupingBy(AssessIndicatorRating::getIndicatorId)); + for (AssessIndicator record : records) { + record.setIndicatorRatings(map.get(record.getId())); + } + } + + public AssessIndicator saveData(AssessIndicator dto) { + dto.setId(IdWorker.getId()); + dto.setStatus(0); + this.save(dto); + indicatorRatingService.saveRating(dto.getIndicatorRatings(),dto.getId()); + return dto; + } + + public AssessIndicator updateData(AssessIndicator dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + this.updateById(dto); + indicatorRatingService.updateRating(dto.getIndicatorRatings(),dto.getId()); + return dto; + } + + public Boolean delData(Long id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + Long count = relMapper.selectCount(new QueryWrapper().eq("indicator_id", id)); + if(count > 0){ + throw new IllegalArgumentException("该考核指标已被使用,不可删除"); + } + indicatorRatingService.delRating(id); + return this.removeById(id); + } + + public Page choosePage(AttCctvBasePage page) { + return this.baseMapper.choosePage(page.getPageSo().toPage(),page); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessObjectRatingService.java b/src/main/java/com/gunshi/project/hsz/service/AssessObjectRatingService.java new file mode 100644 index 0000000..e4fd11b --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessObjectRatingService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AssessObjectRatingMapper; +import com.gunshi.project.hsz.model.AssessObjectRating; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 考核对象指标得分详情 + * author: xusan + * date: 2024-09-10 10:44:14 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessObjectRatingService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessObjectService.java b/src/main/java/com/gunshi/project/hsz/service/AssessObjectService.java new file mode 100644 index 0000000..2e7c0e2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessObjectService.java @@ -0,0 +1,80 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AssessObjectMapper; +import com.gunshi.project.hsz.model.AssessObject; +import com.gunshi.project.hsz.model.AssessTeam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 描述: 考核对象 + * author: xusan + * date: 2024-09-05 14:19:30 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessObjectService extends ServiceImpl +{ + @Autowired + private AssessTeamService assessTeamService; + + public void saveObject(List assessObjects,List assessTeams, Long taskId) { + List teams = new ArrayList<>(); + assessObjects.stream().forEach(o->{ + long objectId = IdWorker.getId(); + o.setId(objectId); + o.setTaskId(taskId); + o.setStatus(0); + for(int i =0 ;i ().eq("task_id",taskId)); + this.remove(new QueryWrapper().eq("task_id",taskId)); + } + + public void updateObject(List assessObjects,List assessTeams, Long taskId) { + this.delObject(taskId); + this.saveObject(assessObjects,assessTeams,taskId); + } + + public List getObject(Long taskId) { + List list = this.list(new QueryWrapper().eq("task_id",taskId)); + return list; + } + + public List getTeam(Long taskId) { + List list = assessTeamService.list(new QueryWrapper().eq("task_id",taskId)); + return list; + } + + public void updateTeams(List teams) { + assessTeamService.updateBatchById(teams); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessTaskService.java b/src/main/java/com/gunshi/project/hsz/service/AssessTaskService.java new file mode 100644 index 0000000..a7fe190 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessTaskService.java @@ -0,0 +1,255 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.db.dto.MonthRangeSo; +import com.gunshi.project.hsz.entity.so.AssessTaskPageSo; +import com.gunshi.project.hsz.entity.vo.AssessResultVo; +import com.gunshi.project.hsz.mapper.AssessObjectRatingMapper; +import com.gunshi.project.hsz.mapper.AssessTaskMapper; +import com.gunshi.project.hsz.mapper.AssessTemplateMapper; +import com.gunshi.project.hsz.model.*; +import com.gunshi.project.hsz.util.ExcelUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: 考核任务 + * author: xusan + * date: 2024-09-05 14:19:04 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessTaskService extends ServiceImpl +{ + @Autowired + private AssessObjectService assessObjectService; + + @Autowired + private FileAssociationsService fileService; + + @Autowired + private AssessTemplateMapper templateMapper; + + @Autowired + private AssessObjectRatingMapper objectRatingMapper; + + @Autowired + private AssessTeamRatingService teamRatingService; + + @Autowired + private MessageCenterService messageCenterService; + + public AssessTask saveData(AssessTask dto) { + dto.setId(IdWorker.getId()); + dto.setStatus(0); + dto.setCreateTime(new Date()); + assessObjectService.saveObject(dto.getAssessObjects(),dto.getAssessTeams(),dto.getId()); + this.save(dto); + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); + return dto; + } + + public String getGroupId() { + return "assessTask"; + } + + public Boolean delData(Long id) { + AssessTask task = this.getById(id); + if (Objects.isNull(task)) { + throw new IllegalArgumentException("当前数据不存在"); + } + if(task.getStatus() != 0){ + throw new IllegalArgumentException("只能删除未启动的考核任务"); + } + fileService.deleteFile(getGroupId(),id.toString()); + assessObjectService.delObject(id); + return this.removeById(id); + } + + public AssessTask updateData(AssessTask dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + assessObjectService.updateObject(dto.getAssessObjects(),dto.getAssessTeams(),dto.getId()); + } + return dto; + } + + public AssessTask detail(Long id) { + AssessTask task = this.getById(id); + AssessTemplate template = templateMapper.selectById(task.getTemplateId()); + task.setTemplateName(template.getTemplateName()); + task.setFiles(fileService.getFiles(getGroupId(),id.toString())); + List team = assessObjectService.getTeam(id); + task.setAssessTeams(team.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(AssessTeam::getTeamUserId))),ArrayList::new))); + task.setAssessObjects(assessObjectService.getObject(id)); + return task; + } + + public Page listPage(AssessTaskPageSo page) { + Page res = this.baseMapper.listPage(page.getPageSo().toPage(), page); + if (res.getRecords() != null && res.getRecords().size() > 0) { + for (AssessTask record : res.getRecords()) { + record.setAssessObjects(assessObjectService.getObject(record.getId())); + } + } + return res; + } + + public String start(Long id) { + AssessTask task = this.getById(id); + task.setStatus(1); + this.updateById(task); + //任务中的考核对象 + List objects = assessObjectService.getObject(id); + objects.stream().forEach(o->o.setStatus(1)); + assessObjectService.updateBatchById(objects); + //任务中的考核成员 + List teams = assessObjectService.getTeam(id); + teams.stream().forEach(o->o.setStatus(1)); + assessObjectService.updateTeams(teams); + //考核指标 + List ratings = new ArrayList<>(); + List teamUserIds = teams.stream().map(AssessTeam::getTeamUserId).distinct().collect(Collectors.toList()); + List messages = teamUserIds.stream().map(o->{ + MessageCenter center = new MessageCenter(); + center.setPublishUserId(task.getCreateUserId()); + center.setPublishUserName(task.getCreateUserName()); + center.setReceiveUserId(o); + center.setTitle("评分任务"); + center.setContent("您收到一条考核评分任务的提醒:"+task.getTaskName()+",请及时处理。"); + return center; + }).collect(Collectors.toList()); + List indicatorIds = this.baseMapper.queryIndicators(task.getTemplateId()); + for(AssessTeam team : teams){ + for(AssessIndicator indicator : indicatorIds){ + AssessTeamRating rating = new AssessTeamRating(); + rating.setId(IdWorker.getId()); + rating.setTeamId(team.getId()); + rating.setIndicatorId(indicator.getId()); + rating.setStandardScore(indicator.getStandardScore()); + ratings.add(rating); + } + } + teamRatingService.saveBatch(ratings); + messageCenterService.insertMessage(messages); + List list = new ArrayList<>(); + for(AssessObject object : objects){ + for(AssessIndicator indicator : indicatorIds){ + AssessObjectRating objectRating = new AssessObjectRating(); + objectRating.setId(IdWorker.getId()); + objectRating.setObjectId(object.getId()); + objectRating.setIndicatorId(indicator.getId()); + objectRating.setStandardScore(indicator.getStandardScore()); + list.add(objectRating); + } + } + teamRatingService.saveObjectRating(list); + return "启动成功"; + } + + public Page myTodo(AssessTaskPageSo page) { + Page res = this.baseMapper.myTodo(page.getPageSo().toPage(),page); + if (res.getRecords() != null && res.getRecords().size() > 0) { + fillObject(res.getRecords(),page.getUserId()); + } + return res; + } + + private void fillObject(List records,Long userId) { + for (AssessTask record : records) { + List list = this.baseMapper.selectObject(record.getId(),userId); + record.setAssessObjects(list); + } + } + + public Page myDone(AssessTaskPageSo page) { + List taskIds = this.baseMapper.myDoneTask(page.getUserId()); + if (CollectionUtils.isEmpty(taskIds)) { + return null; + } + Page res = this.baseMapper.myDone(page.getPageSo().toPage(), page,taskIds); + if (res.getRecords() != null && res.getRecords().size() > 0) { + fillObject(res.getRecords(),page.getUserId()); + } + return res; + } + + public String pass(Long id) { + AssessTask task = this.getById(id); + task.setStatus(3); + this.updateById(task); + return "审核通过"; + } + + public String cancel(Long id) { + AssessTask task = this.getById(id); + task.setStatus(4); + this.updateById(task); + return "作废成功"; + } + + public String reject(Long id) { + AssessTask task = this.getById(id); + task.setStatus(1); + this.updateById(task); + //任务中的考核对象 + List objects = assessObjectService.getObject(id); + objects.stream().forEach(o->o.setStatus(9)); + assessObjectService.updateBatchById(objects); + List objectIds = objects.stream().map(AssessObject::getId).collect(Collectors.toList()); + objectRatingMapper.delete(new QueryWrapper().in("object_id",objectIds)); + //任务中的考核成员 + List teams = assessObjectService.getTeam(id); + teams.stream().forEach(o->o.setStatus(1)); + assessObjectService.updateTeams(teams); + return "驳回评分成功"; + } + + public List result(Long id) { + List list = this.baseMapper.result(id); + list.stream().forEach(o->o.setDeductScore(new BigDecimal(o.getStandardScore()).subtract(o.getAssessScore()))); + return list.stream().filter(o->o.getDeductScore().compareTo(new BigDecimal(0)) > 0).collect(Collectors.toList()); + } + + public void resultExport(Long id, HttpServletResponse response) { + List list = this.result(id); + ExcelUtil.exportExcel(list,"考核结果",AssessResultVo.class,1,new int[]{0,4},response,"考核结果"); + } + + public List resultStat(MonthRangeSo monthRangeSo) { + List list = this.baseMapper.resultStat(monthRangeSo); + if (CollectionUtils.isNotEmpty(list)) { + for (AssessTask record : list) { + record.setAssessObjects(assessObjectService.getObject(record.getId())); + } + } + return list; + } + + public Map levelStat(MonthRangeSo monthRangeSo) { + List list = this.resultStat(monthRangeSo); + if(CollectionUtils.isEmpty(list)){ + return new HashMap<>(); + } + List objectList = list.stream().map(AssessTask::getAssessObjects).flatMap(List::stream).collect(Collectors.toList()); + return objectList.stream().collect(Collectors.groupingBy(AssessObject::getAssessLevel,Collectors.counting())); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessTeamRatingService.java b/src/main/java/com/gunshi/project/hsz/service/AssessTeamRatingService.java new file mode 100644 index 0000000..65ac10c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessTeamRatingService.java @@ -0,0 +1,246 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.db.dto.MonthRangeSo; +import com.gunshi.project.hsz.entity.so.AssessTaskPageSo; +import com.gunshi.project.hsz.entity.vo.AssessRatingVo; +import com.gunshi.project.hsz.entity.vo.AssessRectifyVo; +import com.gunshi.project.hsz.entity.vo.AssessScoreVo; +import com.gunshi.project.hsz.mapper.*; +import com.gunshi.project.hsz.model.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 考核评分详情 + * author: xusan + * date: 2024-09-05 14:20:04 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessTeamRatingService extends ServiceImpl { + @Autowired + private FileAssociationsService fileService; + + @Autowired + private AssessObjectMapper objectMapper; + + @Autowired + private AssessTaskMapper taskMapper; + + @Autowired + private AssessTeamMapper teamMapper; + + @Autowired + private AssessTemplateMapper templateMapper; + + @Autowired + private AssessObjectRatingService assessObjectRatingService; + + @Autowired + private AssessIndicatorRatingService indicatorRatingService; + + public Boolean saveScore(AssessScoreVo vo) { + return commonScore(vo, 9); + } + + private Boolean commonScore(AssessScoreVo vo, Integer status) { + List ratings = vo.getRatings(); + Long teamId = ratings.get(0).getTeamId(); + this.delData(teamId); + for (AssessTeamRating rating : ratings) { + rating.setId(IdWorker.getId()); + rating.setRectifyStatus(0); + fileService.save(rating.getFiles(), rating.getId().toString(), getGroupId(), getScoreType()); + } + AssessTask task = taskMapper.selectById(vo.getTaskId()); + //更新该考核人员对考核对象的状态为已评分 + AssessTeam assessTeam = teamMapper.selectById(teamId); + assessTeam.setStatus(status); + //获取模板信息 + AssessTemplate template = templateMapper.selectById(task.getTemplateId()); + //根据总得分计算等级 + Integer level = calcLevel(template, vo.getScore()); + assessTeam.setAssessScore(vo.getScore()); + assessTeam.setAssessLevel(level); + teamMapper.updateById(assessTeam); + Boolean res = this.saveBatch(ratings); + if (status == 2) { + updateObjectAndTask(assessTeam.getObjectId(), vo.getTaskId(), template, task); + } + return res; + } + + public Boolean score(AssessScoreVo vo) { + return commonScore(vo, 2); + } + + private void delData(Long teamId) { + List teamRatings = this.list(new QueryWrapper().eq("team_id", teamId)); + if (CollectionUtils.isNotEmpty(teamRatings)) { + List ratingIds = teamRatings.stream().map(AssessTeamRating::getId).map(Objects::toString).collect(Collectors.toList()); + fileService.remove(new QueryWrapper().in("business_id", ratingIds)); + this.remove(new QueryWrapper().eq("team_id", teamId)); + } + } + + private Integer calcLevel(AssessTemplate template, BigDecimal score) { + BigDecimal excellentScore = template.getExcellentScore(); + BigDecimal goodScore = template.getGoodScore(); + BigDecimal passScore = template.getPassScore(); + if (score.compareTo(excellentScore) >= 0) { + return 1; + } else if (score.compareTo(goodScore) >= 0 && score.compareTo(excellentScore) < 0) { + return 2; + } else if (score.compareTo(passScore) >= 0 && score.compareTo(goodScore) < 0) { + return 3; + } else { + return 4; + } + } + + private void updateObjectAndTask(Long objectId, Long taskId, AssessTemplate template, AssessTask task) { + //先判断该次评分是否是该考核对象的最后一次评分 + //如果为最后一次评分,就要计算该考核对象的最终得分 + List teams = teamMapper.selectList(new QueryWrapper().eq("object_id", objectId).eq("task_id", taskId)); + List finishTeams = teams.stream().filter(o -> o.getStatus() == 2).collect(Collectors.toList()); + if (teams.size() == finishTeams.size()) { + Integer scoreWay = task.getScoreWay(); + List teamIds = finishTeams.stream().map(AssessTeam::getId).collect(Collectors.toList()); + BigDecimal assessScore = calcScore(scoreWay, teamIds, objectId); + Integer level = calcLevel(template, assessScore); + AssessObject object = objectMapper.selectById(objectId); + object.setStatus(2); + object.setAssessScore(assessScore); + object.setAssessLevel(level); + objectMapper.updateById(object); + //判断该考核任务是否存在未打分的对象,不存在则更新考核任务的状态为已完成 + Long taskCount = objectMapper.selectCount(new QueryWrapper().eq("task_id", taskId).eq("status", 1)); + if (taskCount == 0) { + task.setStatus(2); + taskMapper.updateById(task); + } + } + } + + private BigDecimal calcScore(Integer scoreWay, List teamIds, Long objectId) { + assessObjectRatingService.remove(new QueryWrapper().eq("object_id", objectId)); + final BigDecimal[] score = {new BigDecimal(0)}; + List ratings = this.list(new QueryWrapper().in("team_id", teamIds)); + Map> map = ratings.stream().collect(Collectors.groupingBy(AssessTeamRating::getIndicatorId, Collectors.mapping(AssessTeamRating::getAssessScore, Collectors.toList()))); + Map> standardMap = ratings.stream().collect(Collectors.groupingBy(AssessTeamRating::getIndicatorId, Collectors.mapping(AssessTeamRating::getStandardScore, Collectors.toList()))); + List list = new ArrayList<>(); + map.entrySet().forEach(o -> { + List value = o.getValue(); + AssessObjectRating objectRating = new AssessObjectRating(); + objectRating.setId(IdWorker.getId()); + objectRating.setObjectId(objectId); + objectRating.setIndicatorId(o.getKey()); + objectRating.setStandardScore(standardMap.get(o.getKey()).get(0)); + if (scoreWay == 1) { + BigDecimal val = value.stream().min(BigDecimal::compareTo).get(); + objectRating.setAssessScore(val); + score[0] = score[0].add(val); + } else { + BigDecimal vide = value.stream().reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(value.size()), 2, RoundingMode.HALF_UP); + objectRating.setAssessScore(vide); + score[0] = score[0].add(vide); + } + list.add(objectRating); + }); + assessObjectRatingService.saveBatch(list); + return score[0]; + } + + public void saveObjectRating(List list) { + assessObjectRatingService.saveBatch(list); + } + + public String getGroupId() { + return "assessTeamRating"; + } + + public String getScoreType() { + return "assessScore"; + } + + public String getRectifyType() { + return "assessRectify"; + } + + public List doDetail(Long teamId) { + List list = this.baseMapper.scoreDetail(teamId); + fillRating(list); + return list; + } + + + public Map> scoreDetail(Long objectId) { + List list = this.baseMapper.scoreByObjectId(objectId); + fillRating(list); + return list.stream().collect(Collectors.groupingBy(AssessTeamRating::getIndicatorId)); + } + + private void fillRating(List list) { + List relList = indicatorRatingService.queryRatingList(list.stream().map(AssessRatingVo::getIndicatorId).distinct().collect(Collectors.toList())); + Map> map = relList.stream().collect(Collectors.groupingBy(AssessIndicatorRating::getIndicatorId)); + for (AssessRatingVo vo : list) { + vo.setIndicatorRatings(map.get(vo.getIndicatorId())); + if (vo.getIsNeedRectify() != null && vo.getIsNeedRectify() == 1) { + vo.setFiles(fileService.queryFileList(vo.getId().toString(), getGroupId(), getScoreType())); + } + } + } + + public Page listPage(AssessTaskPageSo page) { + /* 若以后需要根据当前登录人查询,则取消注释 + SecurityContext context = SecurityContextHolder.getContext(); + Authentication auth = context.getAuthentication(); + Object principal = auth.getPrincipal(); + log.info("principal is {}", principal); + LoginUser loginUser = (LoginUser) principal; + SysUser user = loginUser.getUser(); + boolean admin = SecurityUtils.isAdmin(user.getUserId()); + if (!admin) { + page.setUserId(user.getUserId()); + } + */ + Page res = this.baseMapper.listPage(page.getPageSo().toPage(), page); + if (res.getRecords() != null && res.getRecords().size() > 0) { + for (AssessRectifyVo record : res.getRecords()) { + record.setFiles(fileService.queryFileList(record.getId().toString(), getGroupId(), getScoreType())); + record.setRectifyFiles(fileService.queryFileList(record.getId().toString(), getGroupId(), getRectifyType())); + } + } + return res; + } + + public String rectify(AssessTeamRating rating) { + rating.setRectifyStatus(1); + this.updateById(rating); + fileService.save(rating.getRectifyFiles(), rating.getId().toString(), getGroupId(), getRectifyType()); + return "整改成功"; + } + + public Map rectifyStat(MonthRangeSo monthRangeSo) { + List list = this.baseMapper.rectifyStat(monthRangeSo); + return list.stream().collect(Collectors.groupingBy(AssessTeamRating::getRectifyStatus, Collectors.counting())); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessTeamService.java b/src/main/java/com/gunshi/project/hsz/service/AssessTeamService.java new file mode 100644 index 0000000..ca985a6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessTeamService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AssessTeamMapper; +import com.gunshi.project.hsz.model.AssessTeam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 考核组成员 + * author: xusan + * date: 2024-09-05 14:19:47 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessTeamService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessTemplateIndicatorRelService.java b/src/main/java/com/gunshi/project/hsz/service/AssessTemplateIndicatorRelService.java new file mode 100644 index 0000000..edc10f7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessTemplateIndicatorRelService.java @@ -0,0 +1,47 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AssessTemplateIndicatorRelMapper; +import com.gunshi.project.hsz.model.AssessTemplateIndicatorRel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 描述: 模板关联指标 + * author: xusan + * date: 2024-09-04 13:43:05 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessTemplateIndicatorRelService extends ServiceImpl +{ + + public void saveRel(List indicatorIds, Long id) { + List list = indicatorIds.stream().map(o -> { + AssessTemplateIndicatorRel rel = new AssessTemplateIndicatorRel(); + rel.setId(IdWorker.getId()); + rel.setTemplateId(id); + rel.setIndicatorId(o); + return rel; + }).collect(Collectors.toList()); + this.saveBatch(list); + } + + public void delRel(Long templateId) { + this.remove(new QueryWrapper().eq("template_id",templateId)); + } + + public void updateRel(List indicatorIds, Long id) { + this.delRel(id); + this.saveRel(indicatorIds,id); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AssessTemplateService.java b/src/main/java/com/gunshi/project/hsz/service/AssessTemplateService.java new file mode 100644 index 0000000..b232ebc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AssessTemplateService.java @@ -0,0 +1,125 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.dto.InspectItemDto; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.mapper.AssessTaskMapper; +import com.gunshi.project.hsz.mapper.AssessTemplateMapper; +import com.gunshi.project.hsz.model.AssessIndicator; +import com.gunshi.project.hsz.model.AssessTask; +import com.gunshi.project.hsz.model.AssessTemplate; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 考核模板 + * author: xusan + * date: 2024-09-04 13:42:40 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessTemplateService extends ServiceImpl +{ + @Autowired + private AssessTemplateIndicatorRelService relService; + + @Autowired + private AssessIndicatorService indicatorService; + + @Autowired + private AssessTaskMapper taskMapper; + + public AssessTemplate saveData(AssessTemplate dto) { + dto.setId(IdWorker.getId()); + dto.setStatus(0); + dto.setCreateTime(new Date()); + this.save(dto); + relService.saveRel(dto.getIndicatorIds(),dto.getId()); + return dto; + } + + public AssessTemplate updateData(AssessTemplate dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + this.updateById(dto); + relService.updateRel(dto.getIndicatorIds(),dto.getId()); + return dto; + } + + public Boolean delData(Long id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + relService.delRel(id); + return this.removeById(id); + + } + + public Page pageQuery(AttCctvBasePage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getName())) { + query.like(AssessTemplate::getTemplateName, page.getName()); + } + query.orderByAsc(AssessTemplate::getStatus).orderByDesc(AssessTemplate::getCreateTime); + Page res = this.page(page.getPageSo().toPage(), query); + if (res.getRecords() != null && res.getRecords().size() > 0) { + fillUsedInfo(res.getRecords()); + } + return res; + } + + private void fillUsedInfo(List records) { + List ids = records.stream().map(AssessTemplate::getId).collect(Collectors.toList()); + List list = taskMapper.selectList(new QueryWrapper().in("template_id", ids)); + Map map = list.stream().collect(Collectors.groupingBy(AssessTask::getTemplateId, Collectors.counting())); + for (AssessTemplate record : records) { + record.setIsUsed(map.containsKey(record.getId()) ? 1 : 0); + } + } + + public String startStop(InspectItemDto dto) { + Integer status = dto.getStatus(); + AssessTemplate template = super.getById(dto.getId()); + if (template == null) { + throw new IllegalArgumentException("当前数据不存在"); + } + template.setStatus(status); + boolean flag = super.updateById(template); + if (flag) { + return status == 0 ? "启用成功" : "禁用成功"; + } + return status == 0 ? "启用失败" : "禁用失败"; + } + + public List queryIndicators(Long id) { + List list = this.baseMapper.queryIndicators(id); + if(CollectionUtils.isEmpty(list)){ + return list; + } + indicatorService.fillRating(list); + return list; + } + + public List listByType(Integer templateFreq) { + return this.list(new QueryWrapper().eq("template_freq",templateFreq).eq("status",0)); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttCctvBaseService.java b/src/main/java/com/gunshi/project/hsz/service/AttCctvBaseService.java new file mode 100644 index 0000000..1b53b27 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttCctvBaseService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AttCctvBaseMapper; +import com.gunshi.project.hsz.model.AttCctvBase; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 视频基本信息表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttCctvBaseService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttDamBaseService.java b/src/main/java/com/gunshi/project/hsz/service/AttDamBaseService.java new file mode 100644 index 0000000..cbb7c89 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttDamBaseService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AttDamBaseMapper; +import com.gunshi.project.hsz.model.AttDamBase; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 大坝表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttDamBaseService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttDamProfileService.java b/src/main/java/com/gunshi/project/hsz/service/AttDamProfileService.java new file mode 100644 index 0000000..fede8c7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttDamProfileService.java @@ -0,0 +1,48 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.ProfilePressTreeVo; +import com.gunshi.project.hsz.mapper.AttDamProfileMapper; +import com.gunshi.project.hsz.model.AttDamProfile; +import com.gunshi.project.hsz.model.OsmoticPressDevice; +import com.gunshi.project.hsz.model.OsmoticPressDeviceAutoDao; +import com.gunshi.project.hsz.util.MyBeanUtil; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 描述: 监测断面信息表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttDamProfileService extends ServiceImpl +{ + @Resource + private OsmoticPressDeviceAutoDao pressDeviceAutoDao; + + public List tree() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByAsc(AttDamProfile::getProfileCode); + List list = this.list(queryWrapper); + List res = MyBeanUtil.collectionCopy(list,ProfilePressTreeVo.class); + for(ProfilePressTreeVo vo : res){ + List pressList = pressDeviceAutoDao.list(new LambdaQueryWrapper() + .eq(OsmoticPressDevice::getProfileCode, vo.getProfileCode()).orderByAsc(OsmoticPressDevice::getStationCode)); + vo.setChildren(pressList.stream().map(OsmoticPressDevice::getStationCode).sorted().collect(Collectors.toList())); + } + return res; + } + + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttGateBService.java b/src/main/java/com/gunshi/project/hsz/service/AttGateBService.java new file mode 100644 index 0000000..b2cd3fb --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttGateBService.java @@ -0,0 +1,51 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.GateMonitorDataVo; +import com.gunshi.project.hsz.mapper.AttGateBMapper; +import com.gunshi.project.hsz.model.AttGateB; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 水闸基本情况调查表 + * author: xusan + * date: 2024-09-26 10:44:06 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttGateBService extends ServiceImpl +{ + @Autowired + private FileAssociationsService fileService; + + public List queryList() { + List list = this.list(); + if(CollectionUtils.isNotEmpty(list)){ + fillAttach(list); + } + return list; + } + + private void fillAttach(List list) { + for (AttGateB record : list) { + record.setFiles(fileService.getFiles(getGroupId(),record.getGateCode())); + } + } + + private String getGroupId() { + return "attGateB"; + } + + public List dataList(String gateCode) { + return this.baseMapper.dataList(gateCode); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttGateValveService.java b/src/main/java/com/gunshi/project/hsz/service/AttGateValveService.java new file mode 100644 index 0000000..9e8f887 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttGateValveService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AttGateValveMapper; +import com.gunshi.project.hsz.model.AttGateValve; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 闸阀信息表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttGateValveService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttMeaWeirService.java b/src/main/java/com/gunshi/project/hsz/service/AttMeaWeirService.java new file mode 100644 index 0000000..deb1ba0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttMeaWeirService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AttMeaWeirMapper; +import com.gunshi.project.hsz.model.AttMeaWeir; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 量水堰表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttMeaWeirService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttResBaseService.java b/src/main/java/com/gunshi/project/hsz/service/AttResBaseService.java new file mode 100644 index 0000000..1f1d9d1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttResBaseService.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AttResBaseMapper; +import com.gunshi.project.hsz.model.AttResBase; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水库基本信息表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttResBaseService extends ServiceImpl { + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttResBuildingService.java b/src/main/java/com/gunshi/project/hsz/service/AttResBuildingService.java new file mode 100644 index 0000000..d3042ad --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttResBuildingService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AttResBuildingMapper; +import com.gunshi.project.hsz.model.AttResBuilding; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水库基本信息表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttResBuildingService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttSpillwayBaseService.java b/src/main/java/com/gunshi/project/hsz/service/AttSpillwayBaseService.java new file mode 100644 index 0000000..510ed7d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttSpillwayBaseService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AttSpillwayBaseMapper; +import com.gunshi.project.hsz.model.AttSpillwayBase; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 溢洪道 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttSpillwayBaseService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/AttWaterItemService.java b/src/main/java/com/gunshi/project/hsz/service/AttWaterItemService.java new file mode 100644 index 0000000..7d61ae2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/AttWaterItemService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.AttWaterItemMapper; +import com.gunshi.project.hsz.model.AttWaterItem; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水质整编展示项目表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AttWaterItemService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/BroadcastStationService.java b/src/main/java/com/gunshi/project/hsz/service/BroadcastStationService.java new file mode 100644 index 0000000..d517298 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/BroadcastStationService.java @@ -0,0 +1,40 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.BroadcastStationMapper; +import com.gunshi.project.hsz.model.BroadcastStation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 广播预警站 + * author: xusan + * date: 2024-09-25 10:19:15 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class BroadcastStationService extends ServiceImpl +{ + + public BroadcastStation saveData(BroadcastStation dto) { + dto.setId(IdWorker.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderBy(true, false, "order_index"); + BroadcastStation lastOne = super.getOne(queryWrapper, false); + int order = 0; + if (lastOne == null) { + order = 1; + } else { + order = lastOne.getOrderIndex() + 1; + } + dto.setOrderIndex(order); + this.save(dto); + return dto; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/BroadcastTemplateService.java b/src/main/java/com/gunshi/project/hsz/service/BroadcastTemplateService.java new file mode 100644 index 0000000..477ff71 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/BroadcastTemplateService.java @@ -0,0 +1,40 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.BroadcastTemplateMapper; +import com.gunshi.project.hsz.model.BroadcastTemplate; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 广播模板 + * author: xusan + * date: 2024-09-25 10:19:00 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class BroadcastTemplateService extends ServiceImpl +{ + + public BroadcastTemplate saveData(BroadcastTemplate dto) { + dto.setId(IdWorker.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderBy(true, false, "order_index"); + BroadcastTemplate lastOne = super.getOne(queryWrapper, false); + int order = 0; + if (lastOne == null) { + order = 1; + } else { + order = lastOne.getOrderIndex() + 1; + } + dto.setOrderIndex(order); + this.save(dto); + return dto; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/BroadcastWarnService.java b/src/main/java/com/gunshi/project/hsz/service/BroadcastWarnService.java new file mode 100644 index 0000000..a2257e2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/BroadcastWarnService.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.BroadcastWarnPageSo; +import com.gunshi.project.hsz.mapper.BroadcastStationMapper; +import com.gunshi.project.hsz.mapper.BroadcastWarnMapper; +import com.gunshi.project.hsz.model.BroadcastStation; +import com.gunshi.project.hsz.model.BroadcastWarn; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 描述: 广播预警信息 + * author: xusan + * date: 2024-09-25 10:17:54 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class BroadcastWarnService extends ServiceImpl +{ + @Autowired + private BroadcastStationMapper stationMapper; + + public Page pageQuery(BroadcastWarnPageSo page) { + return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); + } + + public Boolean saveData(BroadcastWarn dto) { + String ctrlPass = dto.getCtrlPass(); + List stationIds = dto.getStationIds(); + BroadcastStation broadcastStation = stationMapper.selectById(stationIds.get(0)); + if(!ctrlPass.equals(broadcastStation.getCtrlPass())){ + throw new IllegalArgumentException("密码不正确"); + } + List list = stationIds.stream().map(stationId->{ + BroadcastWarn warn = new BroadcastWarn(); + BeanUtils.copyProperties(dto,warn); + warn.setId(IdWorker.getId()); + warn.setStationId(stationId); + warn.setCreateTime(new Date()); + return warn; + }).collect(Collectors.toList()); + return this.saveBatch(list); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/BzDictRelService.java b/src/main/java/com/gunshi/project/hsz/service/BzDictRelService.java new file mode 100644 index 0000000..88ef962 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/BzDictRelService.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.BzDictRelMapper; +import com.gunshi.project.hsz.model.BzDictRel; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 业务关联字典 + * author: xusan + * date: 2024-08-28 10:05:21 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class BzDictRelService extends ServiceImpl +{ + public void saveRel(List result, Long id,String groupId) { + if (CollectionUtils.isNotEmpty(result)) { + result.stream().forEach(rel->{ + rel.setId(IdWorker.getId()); + if(id != null){ + rel.setBusinessId(id); + } + rel.setGroupId(groupId); + }); + this.saveBatch(result); + } + } + + public void deleteRel(Long id) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(BzDictRel::getBusinessId,id); + this.remove(queryWrapper); + } + + public void updateRel(List result, Long id,String groupId) { + deleteRel(id); + saveRel(result,id,groupId); + } + + public void removeByBzIds(List detailIds) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.in(BzDictRel::getBusinessId,detailIds); + this.remove(queryWrapper); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/CctvBMenuService.java b/src/main/java/com/gunshi/project/hsz/service/CctvBMenuService.java new file mode 100644 index 0000000..801cdc3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/CctvBMenuService.java @@ -0,0 +1,57 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.CctvBMenuMapper; +import com.gunshi.project.hsz.model.CctvBMenu; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 视频点目录 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class CctvBMenuService extends ServiceImpl +{ + + public List tree() { + List list = list(); + if (CollectionUtils.isEmpty(list)){ + return list; + } + + Map> listMap = list.stream().collect(Collectors.groupingBy(CctvBMenu::getParentId)); + + list.forEach(o -> o.setChildren(listMap.get(o.getId()))); + List parentList = list.stream().filter(o -> 0L == o.getParentId()).collect(Collectors.toList()); + return sorted(parentList); + } + + + private List sorted( List tree) { + + List sorteds = null; + + if (CollectionUtils.isNotEmpty(tree)){ + sorteds = tree.stream().sorted(Comparator.comparing(CctvBMenu::getOrderIndex) + ).collect(Collectors.toList()); + sorteds.forEach(o->{ + o.setChildren(sorted(o.getChildren())); + }); + } + + return sorteds; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/DeptempService.java b/src/main/java/com/gunshi/project/hsz/service/DeptempService.java new file mode 100644 index 0000000..c95935e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/DeptempService.java @@ -0,0 +1,39 @@ +package com.gunshi.project.hsz.service; + +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.system.mapper.SysDeptMapper; +import com.ruoyi.system.mapper.SysUserMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 描述: APP版本记录 + * author: xusan + * date: 2024-11-12 10:14:50 + */ +@Service +@Slf4j +public class DeptempService{ + @Autowired + private SysDeptMapper deptMapper; + + @Autowired + private SysUserMapper userMapper; + + public List selectUserList(SysUser user) + { + return userMapper.selectUserList(user); + } + + public List selectDeptList(SysDept dept) + { + return deptMapper.selectDeptList(dept); + } + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/DispatchRecordService.java b/src/main/java/com/gunshi/project/hsz/service/DispatchRecordService.java new file mode 100644 index 0000000..3130370 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/DispatchRecordService.java @@ -0,0 +1,106 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.DispatchRecordPageSo; +import com.gunshi.project.hsz.entity.vo.DispatchRecordVo; +import com.gunshi.project.hsz.mapper.DispatchRecordMapper; +import com.gunshi.project.hsz.model.DispatchRecord; +import com.gunshi.project.hsz.util.ExcelUtil; +import com.gunshi.project.hsz.util.MyBeanUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 调度记录 + * author: xusan + * date: 2024-10-09 09:56:28 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class DispatchRecordService extends ServiceImpl +{ + @Autowired + private FileAssociationsService fileService; + + public Page pageQuery(DispatchRecordPageSo page) { + Page res = this.page(page.getPageSo().toPage(), commonWrapper(page)); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List ret) { + for (DispatchRecord record : ret) { + record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); + } + } + + private LambdaQueryWrapper commonWrapper(DispatchRecordPageSo page){ + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + if(StringUtils.isNotEmpty(page.getOpUserName())){ + wrapper.like(DispatchRecord::getOpUserName,page.getOpUserName()); + } + if(page.getStatus() != null){ + wrapper.eq(DispatchRecord::getStatus,page.getStatus()); + } + if(page.getDateTimeSo() != null && page.getDateTimeSo().getStart() != null){ + wrapper.gt(DispatchRecord::getStartTime,page.getDateTimeSo().getStart()); + } + if(page.getDateTimeSo() != null && page.getDateTimeSo().getEnd() != null){ + wrapper.lt(DispatchRecord::getStartTime,page.getDateTimeSo().getEnd()); + } + wrapper.orderByDesc(DispatchRecord::getStartTime); + return wrapper; + } + + public void export(DispatchRecordPageSo page, HttpServletResponse response) { + List list = this.list(commonWrapper(page)); + List dispatchRecordVos = MyBeanUtil.collectionCopy(list, DispatchRecordVo.class); + ExcelUtil.exportExcel(dispatchRecordVos,"调度指令", DispatchRecordVo.class,response,"调度指令"); + } + + public DispatchRecord saveData(DispatchRecord dto) { + dto.setId(IdWorker.getId()); + dto.setCreateTime(new Date()); + this.save(dto); + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); + return dto; + } + + public String getGroupId() { + return "dispatchRecord"; + } + + public DispatchRecord updateData(DispatchRecord dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public Boolean delData(List ids) { + fileService.removeByBzIds(ids.stream().map(Objects::toString).collect(Collectors.toList())); + return this.removeBatchByIds(ids); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/FileAssociationsService.java b/src/main/java/com/gunshi/project/hsz/service/FileAssociationsService.java new file mode 100644 index 0000000..778635f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/FileAssociationsService.java @@ -0,0 +1,247 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.FileAssociationsMapper; +import com.gunshi.project.hsz.model.FileAssociations; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import static com.gunshi.project.hsz.entity.MyConstant.*; + + +/** + * 描述: 文件关联业务表 + * author: xusan + * date: 2024-07-17 10:09:40 + */ +@Slf4j +@Service +@Transactional +public class FileAssociationsService extends ServiceImpl { + + private static final String THIS_REDIS_KEY = REDIS_KEY + FileAssociations.thisTableName + ":"; + + @CacheEvict(value = THIS_REDIS_KEY, key = "#p1 +':*'", allEntries = true) + public void saveFile(List files, String tableName, String businessId) { + if (CollectionUtils.isEmpty(files)) { + log.info("fileIds is null!"); + } + + // 查询是否添加 + List dbList = this.lambdaQuery() + .eq(FileAssociations::getTableName, tableName) + .eq(FileAssociations::getBusinessId, businessId) + .eq(FileAssociations::getDel, REC) + .list(); + + if (CollectionUtils.isNotEmpty(dbList)) { + Set fileIds = dbList.stream().map(FileAssociations::getFileId) + .collect(Collectors.toSet()); + // 删除已添加数据, 删除重复数据 删除不成功即新数据 + files = files.stream() + .filter(fileAssociations -> !fileIds.remove(fileAssociations.getFileId())) + .collect(Collectors.toList()); + +// if (CollectionUtils.isNotEmpty(files)) { + + // 删除 + if (CollectionUtils.isNotEmpty(fileIds) && this.lambdaUpdate() + .set(FileAssociations::getDel, DEL) + .eq(FileAssociations::getTableName, tableName) + .eq(FileAssociations::getBusinessId, businessId) + .in(FileAssociations::getFileId, fileIds) + .update()) { + log.info("delete file {} success!", fileIds); + } + +// } + } + + + // 做新增 + if (CollectionUtils.isNotEmpty(files)) { + + files.forEach(fileId -> { + fileId.setId(IdWorker.getId()); + fileId.setTableName(tableName); + fileId.setBusinessId(businessId); + }); + + if (!this.saveBatch(files)) { + log.error("save file error!"); + } + + } + + } + + @CacheEvict(value = THIS_REDIS_KEY, key = "#p1 +':*'", allEntries = true) + public void saveFile(List files, String tableName, String businessId, String type) { + if (CollectionUtils.isEmpty(files)) { + log.info("fileIds is null!"); + files = Lists.newArrayList(); + } + + // 查询是否添加 + List dbList = this.lambdaQuery() + .eq(FileAssociations::getTableName, tableName) + .eq(FileAssociations::getBusinessId, businessId) + .eq(FileAssociations::getType, type) + .eq(FileAssociations::getDel, REC) + .list(); + + if (CollectionUtils.isNotEmpty(dbList)) { + Set fileIds = dbList.stream().map(FileAssociations::getFileId) + .collect(Collectors.toSet()); + // 删除已添加数据, 删除重复数据 删除不成功即新数据 + files = files.stream() + .filter(fileAssociations -> !fileIds.remove(fileAssociations.getFileId())) + .collect(Collectors.toList()); + +// if (CollectionUtils.isNotEmpty(files)) { + + // 删除 + if (CollectionUtils.isNotEmpty(fileIds) && this.lambdaUpdate() + .set(FileAssociations::getDel, DEL) + .eq(FileAssociations::getTableName, tableName) + .eq(FileAssociations::getBusinessId, businessId) + .eq(FileAssociations::getType, type) + .in(FileAssociations::getFileId, fileIds) + .update()) { + log.info("delete file {} success!", fileIds); + } + +// } + } + + + // 做新增 + if (CollectionUtils.isNotEmpty(files)) { + + files.forEach(fileId -> { + fileId.setId(IdWorker.getId()); + fileId.setTableName(tableName); + fileId.setType(type); + fileId.setBusinessId(businessId); + }); + + if (!this.saveBatch(files)) { + log.error("save file error!"); + } + + } + + } + + + @CacheEvict(value = THIS_REDIS_KEY, key = "#p1 +':*'", allEntries = true) + public void saveFileNotDel(List files, String tableName, String businessId, String type) { + + // 查询是否添加 + List dbList = this.lambdaQuery() + .eq(FileAssociations::getTableName, tableName) + .eq(FileAssociations::getBusinessId, businessId) + .eq(FileAssociations::getType, type) + .eq(FileAssociations::getDel, REC) + .list(); + + if (CollectionUtils.isEmpty(files) && CollectionUtils.isNotEmpty(dbList)) { + log.info("fileIds is null!"); + Set fileIds = dbList.stream().map(FileAssociations::getFileId) + .collect(Collectors.toSet()); + // 删除 + if (this.lambdaUpdate() + .set(FileAssociations::getDel, DEL) + .eq(FileAssociations::getTableName, tableName) + .eq(FileAssociations::getBusinessId, businessId) + .eq(FileAssociations::getType, type) + .in(FileAssociations::getFileId, fileIds) + .update()) { + log.info("delete file {} success!", fileIds); + return; + } + } + + + // 做新增 + if (CollectionUtils.isNotEmpty(files)) { + + files.forEach(fileId -> { + fileId.setId(IdWorker.getId()); + fileId.setTableName(tableName); + fileId.setType(type); + fileId.setBusinessId(businessId); + }); + + if (!this.saveBatch(files)) { + log.error("save file error!"); + } + + } + + } + + @CacheEvict(value = THIS_REDIS_KEY, key = "#p0 +':*'", allEntries = true) + public void deleteFile(String tableName, String businessId) { + // 删除 + if (this.lambdaUpdate() + .set(FileAssociations::getDel, DEL) + .eq(FileAssociations::getTableName, tableName) + .eq(FileAssociations::getBusinessId, businessId) + .update()) { + log.info("delete file {} success!", businessId); + } + } + + @Cacheable(value = THIS_REDIS_KEY, key = "#p0 +':'+ #p1", unless = "false") + public List getFiles(String tName, String bId) { + return this.baseMapper.getFiles(tName,bId); + } + + @Cacheable(value = THIS_REDIS_KEY, key = "#p0 +':'+ #p1 +':'+ #p2", unless = "false") + public List getFiles(String tName, String bId,String num) { + return this.baseMapper.getFiles1(tName,bId,num); + } + + public void save(List attachList,String businessId, String tableName,String type) { + if (attachList != null && !attachList.isEmpty()) { + for (FileAssociations attach : attachList) { + attach.setId(IdWorker.getId()); + if(StringUtils.isNotEmpty(businessId)){ + attach.setBusinessId(businessId); + } + attach.setTableName(tableName); + attach.setType(type); + } + this.saveBatch(attachList); + } + } + + public boolean removeByBzIdAndType(String businessId, String tableName,String type) { + return this.remove(new QueryWrapper().eq("business_id", businessId).eq("table_name", tableName).eq("type",type)); + } + + public List queryFileList(String businessId, String tableName,String type) { + return this.baseMapper.queryFileList(businessId,tableName,type); + } + + public boolean removeByBzIds(List businessIds) { + return this.remove(new QueryWrapper().in("business_id", businessIds)); + } + + public List getFilesByIds(List ids) { + return this.baseMapper.getFilesByIds(ids); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastKService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastKService.java new file mode 100644 index 0000000..5ac0dec --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastKService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ForecastKMapper; +import com.gunshi.project.hsz.model.ForecastK; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 预报_前期影响雨量折减系数表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ForecastKService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastPPaRService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastPPaRService.java new file mode 100644 index 0000000..1c944af --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastPPaRService.java @@ -0,0 +1,151 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ForecastPPaRMapper; +import com.gunshi.project.hsz.model.ForecastPPaR; +import com.gunshi.project.hsz.model.ForecastUseparam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 预报_降雨径流关系表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ForecastPPaRService extends ServiceImpl +{ + + @Autowired + private ForecastUseparamService forecastUseparamService; + + /** + * @description: 获取列表 + * @return: java.util.List + * @auther: cxw + * @date: 2024-08-07, 周三, 11:11:42 + */ + public List handleList() { + List PPaRList = new ArrayList<>(); + // 获取Im值,限制pa + BigDecimal Im; + Map paramMap = forecastUseparamService.getMap(new QueryWrapper().eq("param_code", "Im")); + if (paramMap != null && paramMap.size() > 0) { + Im = new BigDecimal(paramMap.get("param_value").toString()); + } else { + Im = BigDecimal.valueOf(120.0); + } + List forecastPPaRList = this.list(); + if (CollectionUtils.isNotEmpty(forecastPPaRList)) { + BigDecimal maxPa = forecastPPaRList.stream().map(ForecastPPaR::getPa).reduce(BigDecimal.ZERO, BigDecimal::max); + List pList = forecastPPaRList.stream().map(ForecastPPaR::getPsum).distinct().sorted().collect(Collectors.toList()); + List paList = forecastPPaRList.stream().map(ForecastPPaR::getPa).distinct().sorted().collect(Collectors.toList()); + Map rSumMap = forecastPPaRList.stream().collect(Collectors.toMap(k -> k.getPsum() + "-" + k.getPa(), value -> value.getRsum())); + // 如果pa最大值超过了Im,截取到Im的 + if (maxPa.compareTo(Im) > 0) { + paList = paList.stream().filter(bd -> bd.compareTo(Im) <= 0).collect(Collectors.toList()); + } + List sList = new ArrayList<>(); + // 先添加第一行的Pa + sList.add("P/R/Pa"); + sList.addAll(paList.stream().map(BigDecimal::toString).collect(Collectors.toList())); + PPaRList.add(sList.toArray(new String[0])); + for (int i = 0; i < pList.size(); i++) { + sList = new ArrayList<>(); + BigDecimal p = pList.get(i); + for (int j = 0; j < paList.size(); j++) { + BigDecimal pa = paList.get(j); + // 每次添加rSum时,先添加p + if (j == 0) { + sList.add(String.valueOf(p)); + } + sList.add(rSumMap.get(p + "-" + pa).stripTrailingZeros().toString()); + } + PPaRList.add(sList.toArray(new String[0])); + } + } + return PPaRList; + } + + /** + * @description: 处理批量保存 + * @param PPaRList + * @return: boolean + * @auther: cxw + * @date: 2024-08-06, 周二, 15:29:29 + */ + public boolean handleSaveBatch(List PPaRList) { + Boolean ret = false; + List paStr = new ArrayList<>(); + List pStr = new ArrayList<>(); + Map rSumMap = new HashMap<>(); + // 行 + for (int i = 0; i < PPaRList.size(); i++) { + String[] paArr = PPaRList.get(i); + String p = ""; + // 列 + for (int j = 0; j < paArr.length; j++) { + String pa = ""; + // 第一行:pa + if(i == 0 && j > 0){ + pa = paArr[j]; + paStr.add(pa); + } + // 第一列:p + if(i > 0 && j == 0){ + p = paArr[j]; + pStr.add(p); + } + // rSumMap:key=P-Pa + if (i > 0 && j > 0) { + rSumMap.put(p + "-" + paStr.get(j - 1), new BigDecimal(paArr[j])); + } + } + } + // 组装数据 + if (paStr.size() > 0 && pStr.size() > 0 && rSumMap.size() > 0) { + List forecastPPaRList = new ArrayList<>(); + // 外层pa + for (String pa : paStr) { + // 循环一次pa,r需要重置 + BigDecimal r = BigDecimal.ZERO; + BigDecimal lastRSum = BigDecimal.ZERO; + // 内层p + for (String p : pStr) { + ForecastPPaR forecastPPaR = new ForecastPPaR(); + BigDecimal rSum = rSumMap.get(p + "-" + pa); + forecastPPaR.setRsum(rSum.stripTrailingZeros()); + forecastPPaR.setPsum(new BigDecimal(p).stripTrailingZeros()); + // 循环累减 + r = rSum.subtract(lastRSum); + // 赋值 + lastRSum = rSum; + forecastPPaR.setR(r.stripTrailingZeros()); + forecastPPaR.setPa(new BigDecimal(pa).stripTrailingZeros()); + forecastPPaRList.add(forecastPPaR); + } + } + if (forecastPPaRList.size() > 0) { + // 先全部删除 + this.remove(new QueryWrapper<>()); + ret = this.saveBatch(forecastPPaRList); + } + } + return ret; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastPaService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastPaService.java new file mode 100644 index 0000000..919061e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastPaService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ForecastPaMapper; +import com.gunshi.project.hsz.model.ForecastPa; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 预报_土壤含水量表 + * author: cxw + * date: 2024-08-02 12:23:07 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ForecastPaService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastProjectService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastProjectService.java new file mode 100644 index 0000000..edef942 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastProjectService.java @@ -0,0 +1,68 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.ForecastResultVo; +import com.gunshi.project.hsz.mapper.ForecastProjectMapper; +import com.gunshi.project.hsz.model.ForecastProject; +import com.gunshi.project.hsz.model.ForecastResults; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * 描述: 预报_预测方案管理表 + * author: cxw + * date: 2024-08-05 11:41:45 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ForecastProjectService extends ServiceImpl +{ + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + @Autowired + private ForecastResultsService forecastResultsService; + + /** + * @description: 保存预报结果 + * @param forecastProject + * @return: void + * @auther: cxw + * @date: 2024-08-06, 周二, 10:06:40 + */ + public Boolean saveForecastResults(ForecastProject forecastProject) throws ParseException { + List retList = new ArrayList<>(); + List voList = forecastProject.getVoList(); + for (ForecastResultVo vo : voList) { + ForecastResults forecastResults = new ForecastResults(); + forecastResults.setId(IdWorker.getId()); + forecastResults.setTm(sdf.parse(vo.getTm())); + forecastResults.setYcRkQValue(vo.getYcRkQValue()); + forecastResults.setRealRkQValue(vo.getRealRkQValue()); + forecastResults.setYcCkQValue(vo.getYcCkQValue()); + forecastResults.setRealCkQValue(vo.getRealCkQValue()); + forecastResults.setYcSwHValue(vo.getYcSwHValue()); + forecastResults.setRealSwHValue(vo.getRealSwHValue()); + forecastResults.setDrp(vo.getDrp()); + forecastResults.setIspreDrp(vo.getIspreDrp()); + forecastResults.setR(vo.getR()); + forecastResults.setProjectId(forecastProject.getId()); + forecastResults.setFlLowLimLev(vo.getFlLowLimLev()); + forecastResults.setCurrentYdgdyjz(vo.getCurrentYdgdyjz()); + forecastResults.setPa(vo.getPa()); + retList.add(forecastResults); + } + return forecastResultsService.saveBatch(retList); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java new file mode 100644 index 0000000..465ec87 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java @@ -0,0 +1,770 @@ +package com.gunshi.project.hsz.service; + +import cn.hutool.core.map.MapUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.algorithm.RrainfallForecast; +import com.gunshi.algorithm.RunoffService; +import com.gunshi.model.vo.FloodAlgorithemVo; +import com.gunshi.project.hsz.entity.vo.ForeRainStatVo; +import com.gunshi.project.hsz.entity.vo.ForeRainTimeVo; +import com.gunshi.project.hsz.entity.vo.ForecastResultVo; +import com.gunshi.project.hsz.grb.RainGrib2Layer; +import com.gunshi.project.hsz.mapper.ForecastResultsMapper; +import com.gunshi.project.hsz.model.AttResBase; +import com.gunshi.project.hsz.model.ForecastPa; +import com.gunshi.project.hsz.model.ForecastProject; +import com.gunshi.project.hsz.model.ForecastResults; +import com.gunshi.project.hsz.model.ForecastTask; +import com.gunshi.project.hsz.model.ForecastU; +import com.gunshi.project.hsz.model.ForecastUseparam; +import com.gunshi.project.hsz.model.StPptnR; +import com.gunshi.project.hsz.model.StPptnRAverage; +import com.gunshi.project.hsz.model.StRsvrR; +import com.gunshi.project.hsz.model.StStbprpB; +import com.gunshi.project.hsz.model.StZqrlB; +import com.gunshi.project.hsz.model.StZvarlB; +import com.gunshi.project.hsz.util.DataHandleUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 描述: 预报_预测结果表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ForecastResultsService extends ServiceImpl +{ + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + private static SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd"); + + private static SimpleDateFormat sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + + private static SimpleDateFormat eightSdf = new SimpleDateFormat("yyyy-MM-dd 08"); + + private static SimpleDateFormat sixteenSdf = new SimpleDateFormat("yyyy-MM-dd 16"); + + @Autowired + private ForecastUseparamService forecastUseparamService; + + @Autowired + private ForecastUService forecastUService; + + @Autowired + private StPptnRService stPptnRService; + + @Autowired + private StRsvrRService stRsvrRService; + + @Autowired + private ForecastService forecastService; + + @Autowired + private StStbprpBService stStbprpBService; + + @Autowired + private StZqrlBService stZqrlBService; + + @Autowired + private ForecastPaService forecastPaService; + + @Autowired + private AttResBaseService attResBaseService; + + @Autowired + private StZvarlBService stZvarlBService; + + + /** + * @description: 自动洪水预测 + * @param forecastTask + * @return: java.util.List + * @auther: cxw + * @date: 2024-07-30, 周二, 14:40:45 + */ + public List autoFloodForecast(ForecastTask forecastTask) throws Exception { + // 获取预测数据 + List voList = excuteForecast(forecastTask); + return voList; + } + + /** + * @description: 获取人工交互洪水预报结果 + * @param forecastTask + * @return: java.util.List + * @auther: cxw + * @date: 2024-07-31, 周三, 11:09:24 + */ + public List getHumanForecastResult(ForecastTask forecastTask) { + // 当前时间整点,作为获取雨量数据历史、预测分隔点 + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + Date nowHourTime = calendar.getTime(); + forecastTask.setNowTime(nowHourTime); + List voList = null; + try { + voList = excuteForecast(forecastTask); + voList.sort(Comparator.comparing(ForecastResultVo::getTm)); + } catch (Exception e) { + e.printStackTrace(); + throw new IllegalArgumentException(e.getMessage()); + } + return voList; + } + + /** + * @description: 组装洪水预报ForecastResultVo + * @param forecastTask + * @return: java.util.List + * @auther: cxw + * @date: 2024-08-05, 周一, 17:14:52 + */ + private List excuteForecast(ForecastTask forecastTask) throws Exception { + List voList = new ArrayList<>(); + // 获取配置参数 + List paramList = forecastUseparamService.list(new QueryWrapper().isNotNull("param_code").isNotNull("param_value")); + if (CollectionUtils.isEmpty(paramList)) { + throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查入参是否缺失。"); + } + // 获取系统当前的水库站编码、汛限水位 + AttResBase attResBase = attResBaseService.getOne(new QueryWrapper<>()); + // 多站点水库面雨量 + List stbs = stStbprpBService.list(new QueryWrapper().eq("res_code", attResBase.getResCode())); + if (CollectionUtils.isEmpty(stbs)) { + return voList; + } + Date nowHourTime = forecastTask.getNowTime(); + Date startTime = forecastTask.getStartTime(); + Date endTime = forecastTask.getEndTime(); + // 获取整个时间线的降雨数据 + List pptnRAllList = new ArrayList<>(); + List pptnRFutureList = new ArrayList<>(); + QueryWrapper qwExisted = new QueryWrapper<>(); + Boolean isHaveFuturePPtn = true; + // 檀树岗修改:实测降雨查询表数据,预测降雨使用geom参数。最后按时间算数平均 +// for(StStbprpB b : stbs){ +// String stcd = b.getStcd(); +// // 如果结束时间在当前时间之前,降雨序列从历史降雨表获取 +// if (endTime.compareTo(nowHourTime) <= 0) { +// qwExisted = new QueryWrapper().eq("stcd", stcd).ge("tm", startTime).le("tm", endTime).orderBy(true, true, "tm"); +// } else { +// qwExisted = new QueryWrapper().eq("stcd", stcd).ge("tm", startTime).le("tm", nowHourTime).orderBy(true, true, "tm"); +// try { +// // 获取预报数据 +// pptnRFutureList = getForecastDrpData(nowHourTime, stcd); +// } catch (IllegalArgumentException e) { +// if(stcd.equals(attResBase.getStcd())){ +// isHaveFuturePPtn = false; +// } +// log.error("该时间无预报数据"); +// } +// } +// List pptnRExistedList = stPptnRService.list(qwExisted); +// pptnRAllList.addAll(pptnRExistedList); +// pptnRAllList.addAll(pptnRFutureList); +// } + if (endTime.compareTo(nowHourTime) <= 0) { + qwExisted = new QueryWrapper().in("stcd", stbs.stream().map(StStbprpB::getStcd).toArray(String[]::new)).ge("tm", startTime).le("tm", endTime).orderBy(true, true, "tm"); + } else { + qwExisted = new QueryWrapper().in("stcd", stbs.stream().map(StStbprpB::getStcd).toArray(String[]::new)).ge("tm", startTime).le("tm", nowHourTime).orderBy(true, true, "tm"); + // 获取预报数据 + try { + pptnRFutureList = getForecastDrpData(nowHourTime, ""); + if(CollectionUtils.isEmpty(pptnRFutureList)) { + isHaveFuturePPtn = false; + log.error("该时间无预报数据"); + } + } catch (IllegalArgumentException e) { + isHaveFuturePPtn = false; + log.error("该时间无预报数据"); + } + } + List pptnRExistedList = stPptnRService.list(qwExisted); + pptnRAllList.addAll(pptnRExistedList); + pptnRAllList.addAll(pptnRFutureList); + + if (CollectionUtils.isEmpty(pptnRAllList)) { + return voList; + } + // 多站点面雨量结果list + List polyPptnRList = pptnRAllList.stream() + .collect(Collectors.groupingBy( + StPptnR::getTm, + Collectors.mapping( + pptn -> Double.parseDouble(pptn.getDrp()), // 将String转换为double + Collectors.averagingDouble(d -> d) // 计算平均值 + ) + )) + .entrySet().stream() + .map(entry -> new StPptnRAverage(entry.getKey(), String.valueOf(entry.getValue()))) + .sorted(Comparator.comparing(StPptnRAverage::getTm)) + .collect(Collectors.toList()); + double dt = 0.0; + double Wm = 0.0; + double qOther = 0.0; + Map paramMap = paramList.stream().collect(Collectors.toMap(ForecastUseparam::getParamCode, ForecastUseparam::getParamValue)); + if (paramMap.get("dt").isEmpty()) { + throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查时间单元△T是否缺失。"); + } + if (paramMap.get("Im").isEmpty()) { + throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查最大初损值Im是否缺失。"); + } + if (!paramMap.get("qOther").isEmpty()) { + qOther = Double.parseDouble(paramMap.get("qOther")); + } + dt = Double.parseDouble(paramMap.get("dt")); + Wm = Double.parseDouble(paramMap.get("Im")); + List uList = forecastUService.list(); + if (CollectionUtils.isEmpty(uList)) { + throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查U(I)单位线是否缺失。"); + } + // 每小时的单位径流量,单位m³/s + double[] u = uList.stream().mapToDouble(forecastU -> forecastU.getUValue().doubleValue()).toArray(); + // 根据开始结束时间查询pa + Calendar cal = Calendar.getInstance(); + cal.setTime(startTime); + // 将日期往前推一天 + cal.add(Calendar.DATE, -1); + List paList = forecastPaService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).ge("tm", sdfDay.format(cal.getTime())).le("tm", sdfDay.format(endTime))); + if (CollectionUtils.isEmpty(paList)) { + throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查每日土壤含水量Pa是否缺失。"); + } + Map paMap = paList.stream().collect(Collectors.toMap(ForecastPa::getTm, entity -> entity)); + // 获取预测开始时间前的最后水库水位 + double H1 = 0.0;// 初始水库水位,可以根据H1->V1,H1->q1得到初始的水库库容和下泄流量 + StRsvrR rsvrR = stRsvrRService.getOne(new QueryWrapper().eq("stcd", attResBase.getStcd()).le("tm", startTime).orderBy(true, false, "tm").last("limit 1")); + if (ObjectUtils.isEmpty(rsvrR)) { + return voList; + } + H1 = Double.parseDouble(rsvrR.getRz()); + // 泄流量 + List stZqrlBList = stZqrlBService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).orderBy(true, true, "z")); + // 库容曲线 + List zvarlBS = stZvarlBService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).orderBy(true, true, "rz")); + // 水位历史数据 + List rsvrRRealList = stRsvrRService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).ge("tm", startTime).le("tm", endTime)); + List resultList = reorganizeRsvrRData(rsvrRRealList, dt); + List periods = splitByDay8To8(startTime, endTime); + for (Date[] period : periods) { + Calendar calNew = Calendar.getInstance(); + calNew.setTime(period[0]); + // 根据每段时间的开始时间,如果在08点前,则采用前一天的pa值计算 + if (isBeforeEightAM(period[0])) { + // 将日期往前推一天 + calNew.add(Calendar.DATE, -1); + } + ForecastPa forecastPa = paMap.get(sdfDay.format(calNew.getTime())); + if (ObjectUtils.isEmpty(forecastPa)) { + continue; +// throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查每日土壤含水量Pa、K值是否缺失。"); + } + // 根据降雨数据,按照△t的颗粒度,均分 + // 筛选时间段内的降雨数据。不包前但包后 + List filterList = polyPptnRList.stream().filter(e -> e.getTm().compareTo(period[0]) >= 0).filter(e -> e.getTm().compareTo(period[1]) <= 0).collect(Collectors.toList()); + Map> retMap = new HashMap<>(); + if (CollectionUtils.isNotEmpty(filterList)) { + retMap = reorganizePptnRData(filterList, dt, period[0], period[1], nowHourTime, isHaveFuturePPtn); + } + if(ObjectUtils.isEmpty(retMap.get("listForForecast"))){ + continue; + } + List pForecastList = retMap.get("listForForecast").stream().map(s -> s.getDrp()).collect(Collectors.toList()); + if(pForecastList.size() == 0){ + continue; + } + if(ObjectUtils.isEmpty(retMap.get("listForReal"))){ + continue; + } + Map pRealMap = retMap.get("listForReal").stream().collect(Collectors.toMap(pptnR -> sdfMinute.format(pptnR.getTm()), StPptnR::getDrp)); + double[] PList = pForecastList.stream().mapToDouble(Double::parseDouble).toArray(); + // 预测执行 + List forecastVoList = RrainfallForecast.getData(sdf.format(period[0]), forecastPa.getK().doubleValue(), forecastPa.getPa0().doubleValue(), Wm, forecastPa.getPt0().doubleValue(), H1, dt, + forecastPa.getPa().doubleValue(), PList, u, attResBase.getStcd(), qOther); + if (CollectionUtils.isNotEmpty(forecastVoList)) { + // 筛选同时段的真实水位数据 + List realRsvrList = resultList.stream().filter(item -> item.getTm().compareTo(period[0]) >= 0 && item.getTm().compareTo(period[1]) <= 0).collect(Collectors.toList()); + Map realRsvrMap = realRsvrList.stream().collect(Collectors.toMap(rsvr -> sdfMinute.format(rsvr.getTm()), StRsvrR::getRz)); + forecastVoList = forecastVoList.subList(0, PList.length); + // 去除预测出来的最后一条与第二次实际的相同时间的数据 + if(voList.size() > 0 && voList.get(voList.size() - 1).getTm().equals(forecastVoList.get(0).getDateStr())){ + voList.remove(voList.size() - 1); + } + for (int j = 0; j < forecastVoList.size(); j++) { + FloodAlgorithemVo floodAlgorithemVo = forecastVoList.get(j); + String dateStr = floodAlgorithemVo.getDateStr(); + ForecastResultVo resultVo = new ForecastResultVo(); + resultVo.setTm(dateStr); + resultVo.setYcRkQValue(floodAlgorithemVo.getRq());// 预测入库流量 +// resultVo.setRealRkQValue();// 暂无真实入库流量 + resultVo.setYcCkQValue(floodAlgorithemVo.getCq());// 预测出库流量 + resultVo.setYcSwHValue(floodAlgorithemVo.getKh());// 预测水库水位 + H1 = resultVo.getYcSwHValue().doubleValue();// 以预测水位作为下一次预测段起始值 + String dateMinuteStr = dateStr.substring(0, dateStr.length() - 3);// 年月日 时分 + if (realRsvrMap.containsKey(dateMinuteStr)) { + BigDecimal realSwHValue = new BigDecimal(realRsvrMap.get(dateMinuteStr));// 根据时间取更准确 + resultVo.setRealSwHValue(realSwHValue);// 真实水库水位 + calculateCap(zvarlBS, resultVo, realSwHValue);// 有真实水位就用真实水位算(作为实测库容) + resultVo.setSwHDValue(resultVo.getYcSwHValue().subtract(resultVo.getRealSwHValue()));// 预测与真实水位差 + // 注释:修复跨8点时的陡升陡降 +// H1 = realSwHValue.doubleValue();// 如果有真实水位,将最后一条的真实水位作为下一次预测段的初始水位 + // 真实出库流量=真实水库水位与泄流量曲线差值法 + if (realSwHValue != null && CollectionUtils.isNotEmpty(stZqrlBList)) { + BigDecimal maxZ = stZqrlBList.stream().max(Comparator.comparing(StZqrlB::getZ)).get().getZ(); + BigDecimal minZ = stZqrlBList.stream().min(Comparator.comparing(StZqrlB::getZ)).get().getZ(); + if (realSwHValue.compareTo(minZ) < 0 || realSwHValue.compareTo(maxZ) > 0) { + resultVo.setRealCkQValue(BigDecimal.ZERO);// 真实出库流量 + } else { + Map stZvalMap = stZqrlBList.stream().collect(Collectors.toMap(StZqrlB::getZ, StZqrlB::getQ)); + List list = stZqrlBList.stream().map(StZqrlB::getZ).collect(Collectors.toList()); + resultVo.setRealCkQValue(DataHandleUtil.calcData(realSwHValue, stZvalMap, list));// 真实出库流量 + } + } + } else { + // 没有真实水位就用预测水位算(作为预测库容) + calculateCap(zvarlBS, resultVo, resultVo.getYcSwHValue()); + } + BigDecimal drp = new BigDecimal(pRealMap.get(dateMinuteStr));// 根据时间取更准确 + if (drp.compareTo(BigDecimal.ZERO) < 0) { + resultVo.setDrp(null); + } else { + resultVo.setDrp(drp); + } + Date dateTm = sdf.parse(floodAlgorithemVo.getDateStr()); + resultVo.setIspreDrp(dateTm.compareTo(nowHourTime) <= 0 ? "0" : "1");// 0:真实 1:预测 + resultVo.setR(floodAlgorithemVo.getR()); + resultVo.setFlLowLimLev(attResBase.getFlLowLimLev()); + resultVo.setCurrentYdgdyjz(MapUtil.get(paramMap, "ydgdyjz", BigDecimal.class, BigDecimal.ZERO)); + resultVo.setPa(floodAlgorithemVo.getPa()); + voList.add(resultVo); + } + } + } + return voList; + } + + /** + * @description: 根据水位计算库容 + * @param zvarlBS 库容曲线 + * @param resultVo vo + * @param rz 当前水位 + * @return: void + * @auther: cxw + * @date: 2024-10-14, 周一, 09:36:13 + */ + private void calculateCap(List zvarlBS, ForecastResultVo resultVo, BigDecimal rz){ + if(CollectionUtils.isNotEmpty(zvarlBS)){ + BigDecimal maxRz = zvarlBS.stream().max(Comparator.comparing(StZvarlB::getRz)).get().getRz(); + BigDecimal minRz = zvarlBS.stream().min(Comparator.comparing(StZvarlB::getRz)).get().getRz(); + if(rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0){ + return; + } + Map stZvalMap = zvarlBS.stream().collect(Collectors.toMap(StZvarlB::getRz, StZvarlB::getW)); + List list = zvarlBS.stream().map(StZvarlB::getRz).sorted().collect(Collectors.toList()); + resultVo.setNowCap(DataHandleUtil.calcData(rz,stZvalMap,list)); + } + } + + /** + * 计算时间的小时差值 + */ + private static double dateHourDifference(Date beforeDate, Date afterDate) { + long time1 = beforeDate.getTime(); // 获取第一个时间的毫秒时间戳 + long time2 = afterDate.getTime(); // 获取第二个时间的毫秒时间戳 + // 计算两个时间戳的差值 + long difference = time2 - time1; + // 将差值转换为小时 + double hours = difference / (60 * 60 * 1000); + return hours; + } + + /** + * 根据时间获取气象降雨预报 + */ + public List getForecastDrpData(Date now, String stcd) { + List pptnRFutureList = new ArrayList<>(); +// StStbprpB stStbprpB = stStbprpBService.getOne(new QueryWrapper().eq("stcd", stcd)); + ForecastUseparam forecastUseparam = forecastUseparamService.getOne(new QueryWrapper().eq("param_code", "geom")); + String tm = "";// 时间格式应为:YYYYMMDDHH其中HH只能为08或20,例如2023062908 + if (isBeforeEightAM(now)) { + tm = sixteenSdf.format(now); + } else { + tm = eightSdf.format(now); + } + tm = tm.replaceAll(" ", "").replaceAll("-", ""); + List gribList = forecastService.getGribData(tm, false); + if(CollectionUtils.isEmpty(gribList)){ + return pptnRFutureList; + } + //24小时每个网格的总量 + List total = gribList.stream().filter(o -> o.getTmRange().getInterval() == 24).collect(Collectors.toList()); + //24小时每个网格的逐小时雨量 + List detail = gribList.stream().filter(o -> o.getTmRange().getInterval() == 1).collect(Collectors.toList()); +// ForeRainVo vo = new ForeRainVo(); +// vo.setStcd(stcd); +// vo.setLgtd(stStbprpB.getLgtd()); +// vo.setLttd(stStbprpB.getLttd()); +// List data = forecastService.getData(vo, total, detail); + // 2024-10-14 改为获取水库整个面的降雨 + ForeRainStatVo vo = new ForeRainStatVo(); + String[] paramValue = forecastUseparam.getParamValue().split(",");// x1,y1,x2,y2 + vo.setGeom(buildRectangleGeoJson(Double.parseDouble(paramValue[0]), Double.parseDouble(paramValue[1]), Double.parseDouble(paramValue[2]), Double.parseDouble(paramValue[3]), total.get(0))); + List data = forecastService.getAreaData(vo, total, detail); + if (CollectionUtils.isNotEmpty(data)) { + for (ForeRainTimeVo foreRainTimeVo : data) { + // 只取当前时间之后的数据 + if (foreRainTimeVo.getTm().compareTo(now) > 0) { + StPptnR stPptnR = new StPptnR(); + stPptnR.setStcd(stcd); + stPptnR.setTm(foreRainTimeVo.getTm()); + stPptnR.setDrp(foreRainTimeVo.getDrp().toString()); + pptnRFutureList.add(stPptnR); + } + } + } + return pptnRFutureList; + } + + /** + * @description: 根据△T来整编实际水位数据 + * @param rsvrRRealList + * @param dt + * @return: java.util.List + * @auther: cxw + */ + private List reorganizeRsvrRData(List rsvrRRealList, double dt) { + // 只保留整小时的数据 + rsvrRRealList = rsvrRRealList.stream().filter(entity -> { + Date date = entity.getTm(); + return date.getMinutes() == 0 && date.getSeconds() == 0; + }).collect(Collectors.toMap( + e -> e.getStcd() + "_" + e.getTm(), // 使用属性组合作为键 + Function.identity(), + (existing, replacement) -> existing // 如果有冲突,保留现有的 + )).values().stream().collect(Collectors.toList()); + rsvrRRealList.sort(Comparator.comparing(StRsvrR::getTm)); + // 每次加0小时30分钟,根据dt设置,此时dt=0.5小时 + int totalMinutes = (int) Math.round(dt * 60); + // 计算小时数 + int hours = totalMinutes / 60; + // 计算剩余的分钟数(即不足一小时的部分) + int minutes = totalMinutes % 60; + List resultList = new ArrayList<>(); + for (int i = 0; i < rsvrRRealList.size(); i++) { + StRsvrR stRsvrR = rsvrRRealList.get(i); + resultList.add(stRsvrR); + Date tm = stRsvrR.getTm(); + String drp = stRsvrR.getRz(); + if (i + 1 == rsvrRRealList.size()) { + break; + } else { + StRsvrR stRsvrRNext = rsvrRRealList.get(i + 1); + // 两条数据的小时差 + double diffHours = dateHourDifference(stRsvrR.getTm(), stRsvrRNext.getTm()); + int floorNum = (int) Math.floor(diffHours / dt); + BigDecimal meanDifference = new BigDecimal(stRsvrRNext.getRz()).subtract(new BigDecimal(drp)).divide(new BigDecimal(floorNum), 3, BigDecimal.ROUND_HALF_UP); + for (int j = 1; j < floorNum; j++) { + // 增补出的数据 + StRsvrR suppleStRsvrR = new StRsvrR(); + BigDecimal add = new BigDecimal(drp).add(meanDifference.multiply(new BigDecimal(j))).setScale(3, BigDecimal.ROUND_HALF_UP); + try { + tm = sdf.parse(RunoffService.calc(sdf.format(tm), hours, minutes, true)); + suppleStRsvrR.setTm(tm); + } catch (ParseException e) { + throw new RuntimeException(e); + } + suppleStRsvrR.setRz(add.toString()); + suppleStRsvrR.setStcd(stRsvrR.getStcd()); + resultList.add(suppleStRsvrR); + } + } + } + return resultList; + } + + /** + * @description: 根据△T来整编雨量数据 + * @param filterList + * @param dt + * @param startTm + * @param endTm + * @param nowHourTime + * @param isHaveFuturePPtn + * @return: java.util.List + * @auther: cxw + */ + private Map> reorganizePptnRData(List filterList, double dt, Date startTm, Date endTm, Date nowHourTime, Boolean isHaveFuturePPtn) { + // 只保留整小时的数据 + filterList = filterList.stream().filter(entity -> { + Date date = entity.getTm(); + return date.getMinutes() == 0 && date.getSeconds() == 0; + }).collect(Collectors.toMap( + e -> e.getStcd() + "_" + e.getTm(), // 使用属性组合作为键 + Function.identity(), + (existing, replacement) -> existing // 如果有冲突,保留现有的 + )).values().stream().collect(Collectors.toList()); + filterList.sort(Comparator.comparing(StPptnR::getTm)); + Map> retMap = new HashMap<>(); + Map tmDrpMap = filterList.stream().collect(Collectors.toMap(pptnR -> sdfMinute.format(pptnR.getTm()), StPptnR::getDrp)); + List listForForecast = new ArrayList<>();// 传给预测程序使用,缺失的数据为0 + List listForReal = new ArrayList<>();// 返回给前端数据使用,缺失的数据为null + Calendar calendar = Calendar.getInstance(); + calendar.setTime(startTm); + Date dataTm = calendar.getTime(); + // 使用时间一直往后加时间 + while (dataTm.compareTo(endTm) < 0) { + // 当数据时间超过实时数据的最大时间并且没有预测雨量数据时,跳出 + if(dataTm.compareTo(nowHourTime) >= 0 && !isHaveFuturePPtn){ + break; + } + // 时间加1小时,得到应该拆数据的时间,后面往前推 + calendar.add(Calendar.HOUR_OF_DAY, 1); + String shareDrp = "";// 应该分的drp + // 如果下一小时不为空 + if (tmDrpMap.containsKey(sdfMinute.format(calendar.getTime()))) { + StPptnR stPptnRHalf = new StPptnR(); + StPptnR stPptnRHour = new StPptnR(); + stPptnRHour.setTm(calendar.getTime());// 整点时间 + String dataTmDrpHalf = tmDrpMap.get(sdfMinute.format(calendar.getTime())); + BigDecimal drp = new BigDecimal(dataTmDrpHalf).divide(new BigDecimal(2), 2, BigDecimal.ROUND_HALF_UP); + shareDrp = String.valueOf(drp); + stPptnRHalf.setDrp(shareDrp); + stPptnRHour.setDrp(shareDrp); + // 往前推半小时 + calendar.add(Calendar.MINUTE, -(int) (dt * 60)); + stPptnRHalf.setTm(calendar.getTime()); + // 先存半小时数据 + listForForecast.add(stPptnRHalf); + listForReal.add(stPptnRHalf); + // 再存整小时数据 + listForForecast.add(stPptnRHour); + listForReal.add(stPptnRHour); + } else { + StPptnR stPptnRHalfForecast = new StPptnR(); + StPptnR stPptnRHourForecast = new StPptnR(); + StPptnR stPptnRHalfReal = new StPptnR(); + StPptnR stPptnRHourReal = new StPptnR(); + stPptnRHourForecast.setTm(calendar.getTime());// 整点时间 + stPptnRHourReal.setTm(calendar.getTime());// 整点时间 + // 往前推半小时 + calendar.add(Calendar.MINUTE, -(int) (dt * 60)); + stPptnRHalfForecast.setTm(calendar.getTime()); + stPptnRHalfReal.setTm(calendar.getTime()); + // 先存半小时数据 + stPptnRHalfForecast.setDrp("0.00"); + listForForecast.add(stPptnRHalfForecast); + stPptnRHalfReal.setDrp("-1"); + listForReal.add(stPptnRHalfReal); + // 再存整小时数据 + stPptnRHourForecast.setDrp("0.00"); + listForForecast.add(stPptnRHourForecast); + stPptnRHourReal.setDrp("-1"); + listForReal.add(stPptnRHourReal); + } + // 往后推半小时复位 + calendar.add(Calendar.MINUTE, (int) (dt * 60)); + dataTm = calendar.getTime(); + } + retMap.put("listForForecast", listForForecast); + retMap.put("listForReal", listForReal); + return retMap; + } + + /** + * @description: 将两个时间按照早八点分割成多段 + * @param startDate + * @param endDate + * @return: java.util.List + * @auther: cxw + */ + public static List splitByDay8To8(Date startDate, Date endDate) { + List periods = new ArrayList<>(); + + Calendar cal = Calendar.getInstance(); + cal.setTime(startDate); + + // 第一个时间段特殊处理:从startDate到第二天的8点(如果startDate晚于当天8点) + // 或者如果startDate在当天8点之前,则直接包含在当前天的8点到下一个8点周期内 + if (cal.get(Calendar.HOUR_OF_DAY) >= 8) { + // startDate晚于或等于当天8点,但我们需要到第二天的8点作为结束 + cal.add(Calendar.DAY_OF_MONTH, 1); // 跳到下一天 + cal.set(Calendar.HOUR_OF_DAY, 8); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); + Date endOfDay = cal.getTime(); + periods.add(new Date[]{startDate, endOfDay}); + cal.setTime(endOfDay); // 准备下一个时间段的开始 + } + + // 循环生成剩余的时间段 + while (!cal.getTime().after(endDate)) { + Date currentStart = cal.getTime(); + if (cal.get(Calendar.HOUR_OF_DAY) >= 8) { + cal.add(Calendar.DAY_OF_MONTH, 1); // 移到下一天 + } + cal.set(Calendar.HOUR_OF_DAY, 8); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); + Date currentEnd = cal.getTime(); + // 如果currentEnd超出了endDate,则调整currentEnd为endDate + if (currentEnd.after(endDate)) { + currentEnd = endDate; + } + periods.add(new Date[]{currentStart, currentEnd}); + // 准备下一个时间段的开始(但在这个循环中它不会被使用,因为循环会终止) + } + return periods; + } + + + /** + * 判断date是否在早八点后还是前(true:在8:00前) + */ + public static boolean isBeforeEightAM(Date date) { + Calendar calendar = Calendar.getInstance(); + // 先设置当前时间 + calendar.setTime(date); + calendar.set(Calendar.HOUR_OF_DAY, 8); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + return date.before(calendar.getTime()); + } + + /** + * @description: 处理voList,获取预报最大属性值 + * @param forecastProject + * @return: void + * @auther: cxw + * @date: 2024-08-07, 周三, 15:52:19 + */ + public void handleVoList(ForecastProject forecastProject) { + Map paramMap = forecastUseparamService.getMap(new QueryWrapper().eq("param_code", "dt")); + if(paramMap != null){ + BigDecimal dt = new BigDecimal(paramMap.get("param_value").toString());// 时间间隔:小时h + BigDecimal ycMaxSwH = BigDecimal.ZERO;// 预报最高调洪水位 + BigDecimal ycMaxRkQ = BigDecimal.ZERO;// 预报最大入库流量 + BigDecimal ycMaxCkQ = BigDecimal.ZERO;// 预报最大下泄流量 + BigDecimal ycSumRkQ = BigDecimal.ZERO;// 预报入库流量累计和 + for (ForecastResultVo vo : forecastProject.getVoList()){ + BigDecimal ycSwHValue = vo.getYcSwHValue(); + if (ycSwHValue.compareTo(ycMaxSwH) > 0) { + ycMaxSwH = ycSwHValue; + } + BigDecimal ycRkQValue = vo.getYcRkQValue(); + if (ycRkQValue.compareTo(ycMaxRkQ) > 0) { + ycMaxRkQ = ycRkQValue; + } + BigDecimal ycCkQValue = vo.getYcCkQValue(); + if (ycCkQValue.compareTo(ycMaxCkQ) > 0) { + ycMaxCkQ = ycCkQValue; + } + ycSumRkQ = ycSumRkQ.add(ycRkQValue); + } + // 预报洪水总量(万m³)=预报入库流量累计和 X (dt*60*60) / 10000 + BigDecimal ycSumFlood = ycSumRkQ.multiply((dt.multiply(new BigDecimal(3600)))).divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP).stripTrailingZeros(); + forecastProject.setYcMaxSwH(ycMaxSwH); + forecastProject.setYcMaxRkQ(ycMaxRkQ); + forecastProject.setYcMaxCkQ(ycMaxCkQ); + forecastProject.setYcSumFlood(ycSumFlood); + } + } + + public static String buildRectangleGeoJson(double x1, double y1, double x2, double y2, RainGrib2Layer layer) { + // x1,y1和x2,y2的间隔必须要大于网格的最小长宽,才能相交 + BigDecimal dh = layer.getDh();// 单位高度 + BigDecimal dw = layer.getDw();// 单位宽度 + if(dw.compareTo(BigDecimal.valueOf(x2 - x1)) > 0 || dh.compareTo(BigDecimal.valueOf(y2 - y1)) > 0){ + throw new IllegalArgumentException("Geom参数区域范围不足预测降雨网格最小单位!!!"); + } + // 校验数据是否在最大允许范围(预测降雨所划定区域) + Double x11 = ForecastService.x1; + Double y11 = ForecastService.y1; + Double x22 = ForecastService.x2; + Double y22 = ForecastService.y2; + /* y + * ↑ x22,y22 + * ↑ x2,y2 + * ↑ + * ↑ x1,y1 + * ↑ x11,y11 + * ——>——>——>——>——>——>——>——>——>——>——>——> x + */ +// if(x11.compareTo(Double.valueOf(x1)) > 0 || y11.compareTo(Double.valueOf(y1)) > 0 || x22.compareTo(Double.valueOf(x2)) < 0 || y22.compareTo(Double.valueOf(y2)) < 0){ +// throw new IllegalArgumentException("Geom参数超出预测降雨范围!!!"); +// } + if (!(x11.compareTo(Double.valueOf(x1)) <= 0 && x11.compareTo(Double.valueOf(x2)) <= 0 && x22.compareTo(Double.valueOf(x1)) >= 0 && x22.compareTo(Double.valueOf(x2)) >= 0 + && y11.compareTo(Double.valueOf(y1)) <= 0 && y11.compareTo(Double.valueOf(y2)) <= 0 && y22.compareTo(Double.valueOf(y1)) >= 0 && x22.compareTo(Double.valueOf(y2)) >= 0)) { + throw new IllegalArgumentException("Geom参数超出预测降雨范围!!!"); + } + + double[] corner1 = {x1, y1}; + double[] corner2 = {x2, y2}; + // 构造矩形的四个顶点(这里假设corner1是左下,corner2是右上) + double[][][] coordinates2D = { + { + {corner1[0], corner1[1]}, // 左下角 + {corner2[0], corner1[1]}, // 右上角 + {corner2[0], corner2[1]}, // 右下角 + {corner1[0], corner2[1]}, // 左上角 + {corner1[0], corner1[1]} // 回到左下角,闭合多边形 + } + }; + + // 为了适应四层数组结构,我们添加一个额外的数组层 + double[][][][] customCoordinates = {coordinates2D}; + + // 构建自定义的JSON字符串(注意:这不是标准的GeoJSON) + StringBuilder jsonBuilder = new StringBuilder(); + jsonBuilder.append("{"); + jsonBuilder.append("\"type\": \"CustomPolygon\","); // 使用自定义类型 + jsonBuilder.append("\"coordinates\": "); + jsonBuilder.append("["); + + // 遍历并添加坐标到JSON字符串中 + for (double[][][] ring : customCoordinates) { + jsonBuilder.append("["); + for (double[][] line : ring) { + jsonBuilder.append("["); + for (double[] point : line) { + jsonBuilder.append("["); + jsonBuilder.append(point[0]); // 经度 + jsonBuilder.append(","); + jsonBuilder.append(point[1]); // 纬度 + jsonBuilder.append("],"); + } + jsonBuilder.append("]"); + } + jsonBuilder.append("]"); + } + + jsonBuilder.append("]"); // 闭合最外层的坐标数组 + jsonBuilder.append("}"); // 闭合JSON对象 + return jsonBuilder.toString(); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastService.java new file mode 100644 index 0000000..3ce17d7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastService.java @@ -0,0 +1,339 @@ +package com.gunshi.project.hsz.service; + +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.gunshi.project.hsz.entity.so.ShortWeatherSo; +import com.gunshi.project.hsz.entity.so.WeatherSo; +import com.gunshi.project.hsz.entity.vo.ForeRainStatVo; +import com.gunshi.project.hsz.entity.vo.ForeRainTimeVo; +import com.gunshi.project.hsz.entity.vo.ForeRainVo; +import com.gunshi.project.hsz.entity.vo.MeshrainVo; +import com.gunshi.project.hsz.grb.RainGrib2Layer; +import com.gunshi.project.hsz.mapper.RealRainMapper; +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.Polygon; +import org.locationtech.jts.geom.impl.CoordinateArraySequence; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Description: + * Created by wanyan on 2024/3/13 + * + * @author wanyan + * @version 1.0 + */ +@Service +@Data +@Slf4j +public class ForecastService { + + @Value("${shqxjsCloudowrCnPath}") + private String shqxjsCloudowrCnPath;//获取气象预报文件名接口 http://shqxjs.cloudowr.cn/service/ + + public static GeometryFactory factory = new GeometryFactory(); + + public static String grbgetName = "grb/get"; + + public static String radargetName = "radar/get"; + + public static String getData = "res/grblayerset"; + + public static String getRadarData = "res/radarlayer"; + + public static Double x1 = 114.364492; + public static Double y1 = 30.910941; + public static Double x2 = 114.872155; + public static Double y2 = 31.594063; + + public static String totalLayers = "00.24";//只取24小时每个网格的总量 + + public static String detailLayers = "00.24,00.01,01.01,02.01,03.01,04.01,05.01,06.01,07.01,08.01,09.01,10.01,11.01,12.01,13.01,14.01,15.01,16.01,17.01,18.01,19.01,20.01,21.01,22.01,23.01,24.01"; + + @Resource + private RealRainMapper realRainMapper; + + + + private List calcDrp(List gribList,List rainLevelVos){ + if(CollectionUtils.isEmpty(gribList)){ + throw new IllegalArgumentException("该时间无预报数据"); + } + RainGrib2Layer layer = gribList.get(0); + BigDecimal dh = layer.getDh(); + BigDecimal dw = layer.getDw(); + int nh = layer.getNh();//横向格子数 + int nw = layer.getNw();//纵向格子数 + //网格左下角经纬度 + BigDecimal x11 = layer.getX1(); + BigDecimal y11 = layer.getY1(); + harry : for(ForeRainVo vo : rainLevelVos){ + BigDecimal lgtd = new BigDecimal(vo.getLgtd()); + BigDecimal lttd = new BigDecimal(vo.getLttd()); + for(int i = 0;i < nw;i++){ + for(int j=0;j< nh;j++){ + BigDecimal xMin = x11.add(dh.multiply(BigDecimal.valueOf(i))); + BigDecimal xMax = x11.add(dh.multiply(BigDecimal.valueOf(i+1))); + BigDecimal yMin = y11.add(dw.multiply(BigDecimal.valueOf(j))); + BigDecimal yMax = y11.add(dw.multiply(BigDecimal.valueOf(j+1))); + if(lgtd.compareTo(xMin)>=0 && lgtd.compareTo(xMax)<0 && lttd.compareTo(yMin)>=0 && lttd.compareTo(yMax)<0){ + vo.setH2(layer.data[j][i].doubleValue()); + continue harry; + } + } + } + } + + return rainLevelVos; + } + + /** + * 获取24小时气象的网格数据 + * @param tm + * @return + */ + public List getGribData(String tm,Boolean isOnlyQueryTotal){ + List list = new ArrayList<>(); + String grbLatestUrl = shqxjsCloudowrCnPath + grbgetName + "?tm=" + tm; + HttpClient httpClient = HttpClientBuilder.create().build(); + HttpGet httpGet = new HttpGet(grbLatestUrl); + try { + HttpResponse httpResponse = httpClient.execute(httpGet); + HttpEntity entity = httpResponse.getEntity(); + JSONObject jsonObject = JSONUtil.parseObj(EntityUtils.toString(entity)); + JSONObject data = jsonObject.getJSONObject("data"); + if (data == null) { + throw new IllegalArgumentException("该时间无预报数据"); + }; + String rainFile = data.getStr("rainFile"); + String layers = detailLayers; + if(isOnlyQueryTotal){ + layers = totalLayers; + } + String grblayersetUrl = shqxjsCloudowrCnPath + getData + "?filename="+rainFile + "&x1=" + x1+ "&y1=" + y1+ "&x2=" + x2+ "&y2=" + y2+"&layers="+layers; + HttpGet grbData = new HttpGet(grblayersetUrl); + HttpResponse responseForGrb = httpClient.execute(grbData); + HttpEntity entityForGrb = responseForGrb.getEntity(); + + JSONObject grbObject = JSONUtil.parseObj(EntityUtils.toString(entityForGrb)); + + JSONArray grbArrData = grbObject.getJSONArray("data"); + if (grbArrData == null) return list; + list = grbArrData.toList(RainGrib2Layer.class); + + } catch (IOException e) { + e.printStackTrace(); + } + return list; + } + + + /** + * 获取短临气象的网格数据 + * @param tm + * @return + */ + private RainGrib2Layer getRadarData(String tm){ + RainGrib2Layer rainGrib2Layer = new RainGrib2Layer(); + String radarLatestUrl = shqxjsCloudowrCnPath + radargetName + "?tm=" + tm; + HttpClient httpClient = HttpClientBuilder.create().build(); + HttpGet httpGet = new HttpGet(radarLatestUrl); + try { + HttpResponse httpResponse = httpClient.execute(httpGet); + HttpEntity entity = httpResponse.getEntity(); + JSONObject jsonObject = JSONUtil.parseObj(EntityUtils.toString(entity)); + JSONObject data = jsonObject.getJSONObject("data"); + if (data == null) { + throw new IllegalArgumentException("该时间无预报数据"); + }; + String rainFile = data.getStr("rainFile"); + String radarUrl = shqxjsCloudowrCnPath + getRadarData + "?filename="+rainFile + "&x1=" + x1+ "&y1=" + y1+ "&x2=" + x2+ "&y2=" + y2; + HttpGet radarData = new HttpGet(radarUrl); + HttpResponse responseForRadar = httpClient.execute(radarData); + HttpEntity entityForRadar = responseForRadar.getEntity(); + JSONObject radarObject = JSONUtil.parseObj(EntityUtils.toString(entityForRadar)); + rainGrib2Layer = radarObject.get("data",RainGrib2Layer.class); + } catch (IOException e) { + e.printStackTrace(); + } + return rainGrib2Layer; + } + + + public List shortFore(ShortWeatherSo weatherSo) { + List rainLevelVos = realRainMapper.querySttpList(); + List gribList = Arrays.asList(getRadarData(weatherSo.getTm())); + return calcDrp(gribList,rainLevelVos); + } + + public List fore(WeatherSo weatherSo) { + List rainLevelVos = realRainMapper.querySttpList(); + return commonDataHandle(weatherSo,rainLevelVos); + } + + private List commonDataHandle(WeatherSo weatherSo,List list){ + List gribList = getGribData(weatherSo.getTm(),false); + if(CollectionUtils.isEmpty(list)){ + return list; + } + //24小时每个网格的总量 + List total = gribList.stream().filter(o -> o.getTmRange().getInterval() == 24).collect(Collectors.toList()); + //24小时每个网格的逐小时雨量 + List detail = gribList.stream().filter(o -> o.getTmRange().getInterval() == 1).collect(Collectors.toList()); + for(ForeRainVo vo : list){ + List resultList = getData(vo,total,detail); + vo.setTimeRainVos(resultList); + vo.setH1(resultList.get(0).getDrp()); + List list3=resultList.subList(0, Math.min(3, resultList.size())); + vo.setH3(list3.stream().map(ForeRainTimeVo::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add)); + List list6=resultList.subList(0, Math.min(6, resultList.size())); + vo.setH6(list6.stream().map(ForeRainTimeVo::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add)); + List list12=resultList.subList(0, Math.min(12, resultList.size())); + vo.setH12(list12.stream().map(ForeRainTimeVo::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add)); + } + return list.stream().sorted(Comparator.comparing(ForeRainVo::getH24).reversed()).collect(Collectors.toList()); + } + + public List getData(ForeRainVo vo, List total,List detail) { + List result = new ArrayList<>(); + RainGrib2Layer layer = total.get(0); + BigDecimal dh = layer.getDh(); + BigDecimal dw = layer.getDw(); + int nh = layer.getNh();//横向格子数 + int nw = layer.getNw();//纵向格子数 + //网格左下角经纬度 + BigDecimal x11 = layer.getX1(); + BigDecimal y11 = layer.getY1(); + BigDecimal lgtd = new BigDecimal(vo.getLgtd()); + BigDecimal lttd = new BigDecimal(vo.getLttd()); + int rownum = 0; + int colnum = 0; + for(int i = 0;i < nw;i++){ + for(int j=0;j< nh;j++){ + BigDecimal xMin = x11.add(dh.multiply(BigDecimal.valueOf(i))); + BigDecimal xMax = x11.add(dh.multiply(BigDecimal.valueOf(i+1))); + BigDecimal yMin = y11.add(dw.multiply(BigDecimal.valueOf(j))); + BigDecimal yMax = y11.add(dw.multiply(BigDecimal.valueOf(j+1))); + if(lgtd.compareTo(xMin)>=0 && lgtd.compareTo(xMax)<0 && lttd.compareTo(yMin)>=0 && lttd.compareTo(yMax)<0){ + rownum = j; + colnum = i; + vo.setH24(layer.data[rownum][colnum].doubleValue()); + break; + } + } + } + for(RainGrib2Layer lay : detail){ + result.add(ForeRainTimeVo.builder().tm(lay.getTmRange().getTm2()).drp(lay.data[rownum][colnum]).build()); + } + Map sumByGroup = result.stream() + .collect(Collectors.groupingBy(ForeRainTimeVo::getTm, Collectors.mapping(ForeRainTimeVo::getDrp, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)))); + List resultList = sumByGroup.entrySet().stream() + .map(entry -> ForeRainTimeVo.builder().tm(entry.getKey()).drp(entry.getValue().divide(new BigDecimal(1),1, RoundingMode.UP)).build()) + .sorted(Comparator.comparing(ForeRainTimeVo::getTm)) + .collect(Collectors.toList()); + return resultList; + } + + /** + * @description: 计算面降雨量 + * @param vo + * @param total + * @param detail + * @return: java.util.List + * @date: 2024-10-14, 周一, 17:52:27 + */ + public List getAreaData(ForeRainStatVo vo, List total, List detail) { + String geom = vo.getGeom(); + //处理面 + Polygon areaPolygon = handlePolygon(geom); + RainGrib2Layer layer = total.get(0); + BigDecimal dh = layer.getDh(); + BigDecimal dw = layer.getDw(); + int nh = layer.getNh();//横向格子数 + int nw = layer.getNw();//纵向格子数 + //网格左下角经纬度 + BigDecimal x11 = layer.getX1(); + BigDecimal y11 = layer.getY1(); + List meshrainVos = new ArrayList<>(); + for(int i = 0;i < nw;i++){ + for(int j=0;j< nh;j++){ + BigDecimal xMin = x11.add(dh.multiply(BigDecimal.valueOf(i))); + BigDecimal xMax = x11.add(dh.multiply(BigDecimal.valueOf(i+1))); + BigDecimal yMin = y11.add(dw.multiply(BigDecimal.valueOf(j))); + BigDecimal yMax = y11.add(dw.multiply(BigDecimal.valueOf(j+1))); + Coordinate[] c2 = { + new Coordinate(xMin.doubleValue(), yMin.doubleValue()), + new Coordinate(xMin.doubleValue(), yMax.doubleValue()), + new Coordinate(xMax.doubleValue(), yMax.doubleValue()), + new Coordinate(xMax.doubleValue(), yMin.doubleValue()), + new Coordinate(xMin.doubleValue(), yMin.doubleValue()) + }; + Polygon p2 = factory.createPolygon(new CoordinateArraySequence(c2)); + boolean intersects = areaPolygon.intersects(p2); + if(intersects){ + MeshrainVo meshrainVo = new MeshrainVo(); + meshrainVo.setColnum(i); + meshrainVo.setRownum(j); + meshrainVos.add(meshrainVo); + } + } + } + List result = new ArrayList<>(); + BigDecimal size = new BigDecimal(meshrainVos.size()); + for(MeshrainVo mesVo : meshrainVos){ + result.addAll(detail.stream().map(lay-> + ForeRainTimeVo.builder().tm(lay.getTmRange().getTm2()).drp(lay.data[mesVo.getRownum()][mesVo.getColnum()]).build() + ).collect(Collectors.toList())); + } + Map sumByGroup = result.stream() + .collect(Collectors.groupingBy(ForeRainTimeVo::getTm, Collectors.mapping(ForeRainTimeVo::getDrp, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)))); + List resultList = sumByGroup.entrySet().stream() + .map(entry -> ForeRainTimeVo.builder().tm(entry.getKey()).drp(entry.getValue().divide(size,1, RoundingMode.UP)).build()) + .sorted(Comparator.comparing(ForeRainTimeVo::getTm)) + .collect(Collectors.toList()); + vo.setDrp(calcSumDrp(meshrainVos,total)); + return resultList; + } + + private Polygon handlePolygon(String geom) { + JSONObject jsonObject = new JSONObject(geom); + JSONArray data = jsonObject.getJSONArray("coordinates"); + JSONArray data1 = data.getJSONArray(0); + JSONArray jsonArray = data1.getJSONArray(0); + Coordinate[] coords = new Coordinate[jsonArray.size()]; + for (int c = 0; c < jsonArray.size(); c++) { + BigDecimal x = (BigDecimal) jsonArray.getJSONArray(c).get(0); + BigDecimal y = (BigDecimal) jsonArray.getJSONArray(c).get(1); + coords[c] = new Coordinate(x.doubleValue(), y.doubleValue()); + } + return factory.createPolygon(new CoordinateArraySequence(coords)); + } + + private Double calcSumDrp(List meshrainVos, List total) { + BigDecimal size = new BigDecimal(meshrainVos.size()); + BigDecimal sumDrp = new BigDecimal(0); + for (MeshrainVo vo : meshrainVos){ + List drp = total.stream().map(o -> (o.getData()[vo.getRownum()][vo.getColnum()])).collect(Collectors.toList()); + sumDrp = drp.stream().reduce(sumDrp,BigDecimal::add); + } + return sumDrp.divide(size,1,RoundingMode.UP).doubleValue(); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastTaskService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastTaskService.java new file mode 100644 index 0000000..c67f698 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastTaskService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ForecastTaskMapper; +import com.gunshi.project.hsz.model.ForecastTask; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 预报_预测自动任务管理表 + * author: cxw + * date: 2024-08-05 11:41:45 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ForecastTaskService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastUService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastUService.java new file mode 100644 index 0000000..7160c23 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastUService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ForecastUMapper; +import com.gunshi.project.hsz.model.ForecastU; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 预报_时段单位线表 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ForecastUService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastUseparamService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastUseparamService.java new file mode 100644 index 0000000..5b56a53 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastUseparamService.java @@ -0,0 +1,147 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ForecastUseparamMapper; +import com.gunshi.project.hsz.model.ForecastUseparam; +import com.gunshi.project.hsz.util.BigdecimalUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 预报_通用参数管理 + * author: cxw + * date: 2024-07-30 10:02:24 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ForecastUseparamService extends ServiceImpl +{ + + /** + * @description: 计算时间单位线u参数 + * @param areaF 流域面积 k㎡(承雨面积) + * @param lengthL 主河道长度 km + * @param j 主河道加权平均比降 千分率‰(河道坡降) + * @param dt 时段∆t,时间间隔,例如0.5 + * @param h h毫米净雨,例如1、10等,默认为1 + * @param slice 水文分区 + * @return: java.util.List + * @auther: cxw + * @date: 2024-11-06, 周三, 10:16:26 + */ + public List calcU(BigDecimal areaF, BigDecimal lengthL, BigDecimal j, double dt, BigDecimal h, String slice) { + // 计算m1、n + Map m1AndNMap = calcM1AndN(areaF, lengthL, j, slice); + BigDecimal m1 = m1AndNMap.get("m1"); + BigDecimal n = m1AndNMap.get("n"); + // k = m1 / n。如果m1有非线性改正,则为改正后的值。算例保留1位小数 + BigDecimal k = m1.divide(n, 3, BigDecimal.ROUND_HALF_UP); + /* + * 瞬时单位线u(0,t)=(1/(k*Γ(n)))*((t/k)^(n-1))*e^(-t/k) + */ + List> mapList = new ArrayList<>(); + Map initMap = new HashMap<>(); + initMap.put("t", BigDecimal.ZERO); + initMap.put("tDevideK", BigDecimal.ZERO); + initMap.put("st", BigDecimal.ZERO); + initMap.put("utt", BigDecimal.ZERO); + initMap.put("qtt", BigDecimal.ZERO); + mapList.add(initMap); + for (int i = 1; i <= 11; i++) { + Map result = new HashMap<>(); + // 表1-5地表径流过程计算表:t + BigDecimal t = BigDecimal.valueOf(dt * i); + result.put("t", t); + + // 表1-5地表径流过程计算表:t/k + BigDecimal x = t.divide(k, 10, BigDecimal.ROUND_HALF_UP);// x + result.put("tDevideK", x); + + BigDecimal alpha = n;// α + BigDecimal beta = BigDecimal.ONE;// β + // 表1-5地表径流过程计算表:s(t) + BigDecimal gammaDist = BigDecimal.valueOf(BigdecimalUtil.gammaDist(x.doubleValue(), alpha.doubleValue(), beta.doubleValue(), true)).setScale(10, BigDecimal.ROUND_HALF_UP);// 伽马分布 + result.put("st", gammaDist); + // 表1-5地表径流过程计算表:s(t-∆t)。stt为上一行的st + BigDecimal stt = BigDecimal.ZERO; + stt = mapList.get(i - 1).get("st").setScale(10, BigDecimal.ROUND_HALF_UP); + result.put("stt", stt); + + // 表1-5地表径流过程计算表:u(∆t,t)。utt=st-stt + BigDecimal utt = gammaDist.subtract(stt).setScale(10, BigDecimal.ROUND_HALF_UP); + result.put("utt", utt); + + // 表1-5地表径流过程计算表:q(∆t,t)。qtt=Fh*utt/(3.6*∆t) + BigDecimal qtt = areaF.multiply(h).multiply(utt).divide(new BigDecimal(3.6).multiply(t), 3, BigDecimal.ROUND_HALF_UP); + result.put("qtt", qtt); + mapList.add(result); + } + mapList.remove(0);// 去除initMap + List uList = mapList.stream().map(map -> map.get("qtt")).collect(Collectors.toList()); + return uList; + } + + + /** + * @description: 计算m1和n参数 + * @param areaF + * @param lengthL + * @param j + * @param slice + * @return: void + * @auther: cxw + * @date: 2024-11-06, 周三, 13:16:24 + */ + private Map calcM1AndN(BigDecimal areaF, BigDecimal lengthL, BigDecimal j, String slice) { + BigDecimal m1 = BigDecimal.ZERO; + BigDecimal n = BigDecimal.ZERO; + // 所属片区(全省山丘区瞬时单位线分三个片进行参数的地区综合,第一片包括水文分区 1、2、4区即京广线两侧及鄂东黄冈、咸宁地区一带,(江汉平原湖区在外);第二片包括水文分区6、8、9、11区即鄂北,鄂西北及宜昌地区长江以北一带;第三片包括7、10水文分区即清江流域,恩施地区) + if (slice.toUpperCase().equals("I")) {// I片(1、2、4区) + if (areaF.compareTo(new BigDecimal("30")) > 0) {// areaF > 30 + // m1 = 0.82*F^0.29*L^0.23*j^-0.20 + m1 = new BigDecimal("0.82").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.29)).multiply(BigdecimalUtil.bigDecimalExponentiation(lengthL, 0.23)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, -0.20)); + } else if (areaF.compareTo(new BigDecimal("30")) <= 0) {// areaF <= 30 + // m1 = 1.38*F^0.27*L^0.216*j^-0.185 + m1 = new BigDecimal("1.38").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.27)).multiply(BigdecimalUtil.bigDecimalExponentiation(lengthL, 0.216)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, -0.185)); + } + if (j.compareTo(new BigDecimal("5")) > 0) {// j > 5 + // n = 0.34*F^0.35*j^0.1 + n = new BigDecimal("0.34").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.35)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, 0.1)); + } else if (j.compareTo(new BigDecimal("5")) <= 0) {// j <= 5 + // n = 1.04*F^0.3*j^0.1 + n = new BigDecimal("1.04").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.3)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, 0.1)); + } + } else if (slice.toUpperCase().equals("II")) {// II片(6、8、9、11区) + // m1 = 1.64*F^0.231*L^0.131*j^-0.08 + m1 = new BigDecimal("1.64").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.231)).multiply(BigdecimalUtil.bigDecimalExponentiation(lengthL, 0.131)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, -0.08)); + // n = 0.529*F^0.25*j^0.20 + n = new BigDecimal("0.529").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.25)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, 0.20)); + } else if (slice.toUpperCase().equals("III")) {// III片(7、10区) + // m1 = 0.8*F^0.3*L^0.1*j^-0.06 + m1 = new BigDecimal("0.8").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.3)).multiply(BigdecimalUtil.bigDecimalExponentiation(lengthL, 0.1)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, -0.06)); + // n = 0.69*F^0.224*j^0.092 + n = new BigDecimal("0.69").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.224)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, 0.092)); + } + // TODO 特殊流域适用的公式 + + // TODO 当设计雨强超过10mm/h时,除熔岩地区外一般应作参数m1外延的非线性改正 + + BigDecimal finalM1 = m1.setScale(3, BigDecimal.ROUND_HALF_UP); + BigDecimal finalN = n.setScale(3, BigDecimal.ROUND_HALF_UP); + return new HashMap<>() {{ + put("m1", finalM1); + put("n", finalN); + }}; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/GatePoreService.java b/src/main/java/com/gunshi/project/hsz/service/GatePoreService.java new file mode 100644 index 0000000..5114ce6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/GatePoreService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.GatePoreMapper; +import com.gunshi.project.hsz.model.GatePore; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 闸孔信息表 + * author: xusan + * date: 2024-09-26 10:44:57 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class GatePoreService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/GateValveCctvRelService.java b/src/main/java/com/gunshi/project/hsz/service/GateValveCctvRelService.java new file mode 100644 index 0000000..b685d30 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/GateValveCctvRelService.java @@ -0,0 +1,35 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.GateValveCctvRelPage; +import com.gunshi.project.hsz.entity.vo.GateValveCctvRelVo; +import com.gunshi.project.hsz.mapper.GateValveCctvRelMapper; +import com.gunshi.project.hsz.model.GateValveCctvRel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 闸阀关联视频点 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class GateValveCctvRelService extends ServiceImpl +{ + + public Page pages(GateValveCctvRelPage page){ + return getBaseMapper().pages(page.getPageSo().toPage(), page); + } + + public List queryList(String valveCode) { + return baseMapper.queryList(valveCode); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/GateValveRService.java b/src/main/java/com/gunshi/project/hsz/service/GateValveRService.java new file mode 100644 index 0000000..18989d9 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/GateValveRService.java @@ -0,0 +1,38 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.GateHisPageSo; +import com.gunshi.project.hsz.entity.vo.GateStautsVo; +import com.gunshi.project.hsz.mapper.GateValveRMapper; +import com.gunshi.project.hsz.model.GateValveR; +import com.gunshi.project.hsz.util.ExcelUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 闸阀开关历史表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class GateValveRService extends ServiceImpl +{ + + public Page pageQuery(GateHisPageSo so) { + return baseMapper.pageQuery(so.getPageSo().toPage(),so); + } + + public void export(GateHisPageSo so, HttpServletResponse response) { + List list = baseMapper.hisList(so); + ExcelUtil.exportExcel(list,"闸阀开度历史",GateStautsVo.class,response,"闸阀开度历史"); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/GateValveRealService.java b/src/main/java/com/gunshi/project/hsz/service/GateValveRealService.java new file mode 100644 index 0000000..6948506 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/GateValveRealService.java @@ -0,0 +1,194 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.GateHisPageSo; +import com.gunshi.project.hsz.entity.vo.AttResBaseVo; +import com.gunshi.project.hsz.entity.vo.GateStautsVo; +import com.gunshi.project.hsz.entity.vo.GateValveOplogVo; +import com.gunshi.project.hsz.mapper.GateValveRealMapper; +import com.gunshi.project.hsz.mapper.StWaterRRealMapper; +import com.gunshi.project.hsz.mapper.TyYearRainfallMapper; +import com.gunshi.project.hsz.model.*; +import com.gunshi.project.hsz.util.DataHandleUtil; +import com.gunshi.project.hsz.util.DateUtil; +import com.gunshi.project.hsz.util.ExcelUtil; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDate; +import java.util.*; + +/** + * 描述: 闸阀开关表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class GateValveRealService extends ServiceImpl +{ + @Resource + private com.gunshi.project.hsz.model.GateValveKeyAutoDao gateValveKeyAutoDao; + + @Resource + private com.gunshi.project.hsz.model.GateValveOplogAutoDao gateValveOplogAutoDao; + + @Resource + private ReservoirWaterService reservoirWaterService; + + @Resource + private StWaterRRealMapper stWaterRRealMapper; + + @Resource + private TyYearRainfallMapper tyYearRainfallMapper; + + public List gateStatusList() { + List list = baseMapper.gateStatusList(); + for(GateStautsVo vo : list){ + if(vo.getTm() != null && DateUtil.hoursBetweenDate(vo.getTm(), new Date()) > 2){ + vo.setFlag(1); + } + } + return list; + } + + public BigDecimal realQ(String valveCode) { + return baseMapper.realQ(valveCode); + } + + public String control(GateValveKey gateValveKey) { + //先判断密码是否正确 + String valveCode = gateValveKey.getValveCode(); + String key = gateValveKey.getKey(); + GateValveKey valveKey = gateValveKeyAutoDao.getById(valveCode); + if(valveKey == null || !key.equals(valveKey.getKey())){ + throw new IllegalArgumentException("密码不正确"); + } + //生成闸阀操作日志 + GateValveOplog oplog = new GateValveOplog(); + oplog.setId(IdWorker.getId()); + oplog.setStatus(gateValveKey.getStatus()); + oplog.setOpContent("设置闸阀开度为"+gateValveKey.getStatus()); + oplog.setValveCode(valveCode); + oplog.setTm(new Date()); + oplog.setOpUserId(1L); + oplog.setOpUserName("胡兵"); + + GateValveReal valveReal = this.getOne(new QueryWrapper().eq("valve_code", valveCode)); + oplog.setBeforeStatus(valveReal == null ? "-" : valveReal.getStatus()); + gateValveOplogAutoDao.save(oplog); + //todo 给闸阀下发调节指令 +// GateValveR gateValveR = new GateValveR(); +// BeanUtils.copyProperties(gateValveKey,gateValveR); +// gateValveR.setTm(new Date()); +// gateValveRMapper.insert(gateValveR); +// +// GateValveReal real = new GateValveReal(); +// BeanUtils.copyProperties(gateValveKey,real); +// real.setTm(new Date()); +// this.remove(new QueryWrapper().eq("valve_code",valveCode)); +// this.save(real); + return "调节闸阀成功"; + } + + public Page logPage(GateHisPageSo so) { + return baseMapper.logPage(so.getPageSo().toPage(),so); + } + + public GateValveOplog loginfo(String code) { + if(StringUtils.isBlank(code)){ + return null; + } + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + qw.eq(GateValveOplogVo::getValveCode,code); + qw.orderByDesc(GateValveOplogVo::getTm).last("LIMIT 1"); + List list = gateValveOplogAutoDao.list(); + return list.isEmpty() ? null : list.get(0); + } + + public void logExport(GateHisPageSo so, HttpServletResponse response) { + List logList = baseMapper.logList(so); + ExcelUtil.exportExcel(logList,"闸阀操作日志",GateValveOplogVo.class,response,"闸阀操作日志"); + } + + public Map supplyTime(Integer year, Integer month) { + Map map = new HashMap<>(); + /** + * 可供水量= 实时库容 - 死库容 + * 小时水量= (输水管流量 + 放水管流量)*3600 + * 可供水小时数 = 可供水量 * 10000/ 小时水量 + * 可供水天数 = 可供水小时数换算为天数 + */ + List list = reservoirWaterService.list(); + if(CollectionUtils.isEmpty(list)){ + return map; + } + AttResBaseVo attResBaseVo = list.get(0); + BigDecimal nowCap = attResBaseVo.getNowCap() == null ? new BigDecimal(0) : attResBaseVo.getNowCap(); + BigDecimal deadCap = attResBaseVo.getDeadCap() == null ? new BigDecimal(0) : attResBaseVo.getDeadCap(); + + BigDecimal supplyV = nowCap.subtract(deadCap); + if(year != null){ + //计算预测来水量 + BigDecimal predictV = calcPredictV(year,month,attResBaseVo.getWatShedArea()); + supplyV = supplyV.add(predictV); + } + List water = stWaterRRealMapper.listRelated(); + //小时水量 + BigDecimal hourQ = water.stream().map(StWaterRReal::getQ).reduce(BigDecimal.ZERO, BigDecimal::add).multiply(new BigDecimal(3600)); + BigDecimal day = supplyV.multiply(new BigDecimal(10000)).divide(hourQ.multiply(new BigDecimal(24)),1, RoundingMode.HALF_UP); + long l = DataHandleUtil.BigDecimalIntegerPart(day); + String date = DateUtil.getPlusDate(new Date(), l); + map.put(day,date); + return map; + } + + private BigDecimal calcPredictV(Integer year, Integer month,BigDecimal watShedArea) { + LocalDate now = LocalDate.now(); + Integer nowMonth = now.getMonthValue(); + + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(TyYearRainfall::getYear,year) + .eq(TyYearRainfall::getType,2) + .ge(TyYearRainfall::getMonth,nowMonth) + .le(TyYearRainfall::getMonth,month); + List list = tyYearRainfallMapper.selectList(queryWrapper); + + //和当前月份相同的降雨量 + Optional first = list.stream().filter(o -> nowMonth == o.getMonth()).findFirst(); + BigDecimal drp = first.isPresent() ? first.get().getDrp() : new BigDecimal(0); + int dayOfMonth = now.getDayOfMonth(); + int total = now.lengthOfMonth(); + BigDecimal nowMonthDrp = new BigDecimal((total - dayOfMonth + 1)).multiply(drp).divide(new BigDecimal(total), 2, RoundingMode.HALF_UP); + + //当前月到预测月份的降雨量 + BigDecimal value = list.stream().filter(o -> nowMonth != o.getMonth()).map(TyYearRainfall::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add); + + //预测来水量 = 月降雨量和 * 水库坝址控制流域面积 + BigDecimal sum = nowMonthDrp.add(value).divide(new BigDecimal(1000),2,RoundingMode.HALF_UP); + return sum.multiply(watShedArea); + } + + public BigDecimal predictWater(Integer year, Integer month) { + List list = reservoirWaterService.list(); + if(CollectionUtils.isEmpty(list)){ + return new BigDecimal(0); + } + return calcPredictV(year,month,list.get(0).getWatShedArea()); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/IaCBsnssinfoService.java b/src/main/java/com/gunshi/project/hsz/service/IaCBsnssinfoService.java new file mode 100644 index 0000000..ed7e8fc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/IaCBsnssinfoService.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.HomeIaCBsnssinfoVo; +import com.gunshi.project.hsz.mapper.IaCBsnssinfoMapper; +import com.gunshi.project.hsz.model.IaCBsnssinfo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 防治区企事业单位汇总表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class IaCBsnssinfoService extends ServiceImpl +{ + + public List getDetailsAndMonitoringDataLis() { + return baseMapper.getDetailsAndMonitoringDataLis(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/IaCDanadService.java b/src/main/java/com/gunshi/project/hsz/service/IaCDanadService.java new file mode 100644 index 0000000..6bca53a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/IaCDanadService.java @@ -0,0 +1,33 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.HomeIaCDanadVo; +import com.gunshi.project.hsz.mapper.IaCDanadMapper; +import com.gunshi.project.hsz.model.IaCDanad; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 危险区基本情况调查成果汇总表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class IaCDanadService extends ServiceImpl +{ + + public List getDetailsAndMonitoringDataLis() { + return baseMapper.getDetailsAndMonitoringDataLis(); + } + + public HomeIaCDanadVo detail(String id) { + return baseMapper.detail(id); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/IaCFlrvvlgService.java b/src/main/java/com/gunshi/project/hsz/service/IaCFlrvvlgService.java new file mode 100644 index 0000000..811fb30 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/IaCFlrvvlgService.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.HomeIaCFlrvvlgVo; +import com.gunshi.project.hsz.mapper.IaCFlrvvlgMapper; +import com.gunshi.project.hsz.model.IaCFlrvvlg; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 重要沿河村落居民户调查成果表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class IaCFlrvvlgService extends ServiceImpl +{ + + public List getDetailsAndMonitoringDataLis() { + return baseMapper.getDetailsAndMonitoringDataLis(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/InspectItemService.java b/src/main/java/com/gunshi/project/hsz/service/InspectItemService.java new file mode 100644 index 0000000..3621b19 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/InspectItemService.java @@ -0,0 +1,71 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.dto.InspectItemDto; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.mapper.InspectItemMapper; +import com.gunshi.project.hsz.mapper.InspectTaskDetailMapper; +import com.gunshi.project.hsz.model.InspectItem; +import com.gunshi.project.hsz.model.InspectTaskDetail; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Objects; + +/** + * 描述: 巡检项 + * author: xusan + * date: 2024-08-29 09:58:10 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class InspectItemService extends ServiceImpl +{ + @Autowired + private InspectTaskDetailMapper taskDetailMapper; + + public Page pageQuery(AttCctvBasePage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getMenuId())) { + query.eq(InspectItem::getPointId, page.getMenuId()); + } + query.orderByAsc(InspectItem::getStatus).orderByAsc(InspectItem::getOrderIndex); + Page res = this.page(page.getPageSo().toPage(), query); + return res; + } + + public String startStop(InspectItemDto dto) { + Integer status = dto.getStatus(); + InspectItem item = super.getById(dto.getId()); + if (item == null) { + throw new IllegalArgumentException("当前数据不存在"); + } + item.setStatus(status); + boolean flag = super.updateById(item); + if (flag) { + return status == 0 ? "启用成功" : "禁用成功"; + } + return status == 0 ? "启用失败" : "禁用失败"; + } + + public Boolean delData(Long id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + Long count = taskDetailMapper.selectCount(new QueryWrapper().eq("item_id", id)); + if(count > 0){ + throw new IllegalArgumentException("该巡检项已被巡检任务使用,不可删除"); + } + return this.removeById(id); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/InspectPointService.java b/src/main/java/com/gunshi/project/hsz/service/InspectPointService.java new file mode 100644 index 0000000..0fb1a6a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/InspectPointService.java @@ -0,0 +1,80 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.InspectItemMapper; +import com.gunshi.project.hsz.mapper.InspectPointMapper; +import com.gunshi.project.hsz.model.InspectItem; +import com.gunshi.project.hsz.model.InspectPoint; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 巡检点 + * author: xusan + * date: 2024-08-29 09:57:48 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class InspectPointService extends ServiceImpl +{ + @Autowired + private InspectItemMapper inspectItemMapper; + + public InspectPoint saveData(InspectPoint dto) { + dto.setId(IdWorker.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderBy(true, false, "order_index"); + InspectPoint lastOne = super.getOne(queryWrapper, false); + int order = 0; + if (lastOne == null) { + order = 1; + } else { + order = lastOne.getOrderIndex() + 1; + } + dto.setOrderIndex(order); + this.save(dto); + return dto; + } + + public InspectPoint updateData(InspectPoint dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + this.updateById(dto); + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + //判断是否关联巡检项 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(InspectItem::getPointId,id); + if(inspectItemMapper.selectCount(wrapper) > 0){ + throw new IllegalArgumentException("请先删除关联的巡检项"); + } + return this.removeById(id); + } + + public List listWithItem() { + List list = this.lambdaQuery().orderByAsc(InspectPoint::getOrderIndex).list(); + for(InspectPoint point : list){ + point.setChildren(inspectItemMapper.selectList(new QueryWrapper().eq("point_id",point.getId()).orderByAsc("order_index"))); + } + return list; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/InspectTaskDetailService.java b/src/main/java/com/gunshi/project/hsz/service/InspectTaskDetailService.java new file mode 100644 index 0000000..111097c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/InspectTaskDetailService.java @@ -0,0 +1,165 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.InspectProblemPageSo; +import com.gunshi.project.hsz.entity.vo.InspectProblemVo; +import com.gunshi.project.hsz.entity.vo.InspectTaskDetailVo; +import com.gunshi.project.hsz.mapper.InspectTaskDetailMapper; +import com.gunshi.project.hsz.model.InspectTaskDetail; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 巡查信息 + * author: xusan + * date: 2024-08-29 14:21:45 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class InspectTaskDetailService extends ServiceImpl +{ + @Autowired + private FileAssociationsService fileService; + + public void saveDetail(List items, Long taskId) { + items.stream().forEach(o->{ + o.setId(IdWorker.getId()); + o.setTaskId(taskId); + }); + this.saveBatch(items); + } + + public void updateDetail(List items, Long taskId) { + delDetail(taskId); + saveDetail(items,taskId); + } + + public void delDetail(Long taskId) { + this.remove(new QueryWrapper().eq("task_id",taskId)); + } + + public List getByTaskId(Long taskId) { + return this.list(new QueryWrapper().eq("task_id",taskId)); + } + + public List inspectInfo(Long id) { + List res = new ArrayList<>(); + List list = this.baseMapper.inspectInfo(id); + Map> map = list.stream().collect(Collectors.groupingBy(InspectTaskDetailVo::getPointId)); + map.entrySet().forEach(t->{ + InspectTaskDetailVo vo = new InspectTaskDetailVo(); + Long pointId = t.getKey(); + vo.setPointId(pointId); + List value = t.getValue(); + vo.setName(value.get(0).getName()); + fillFile(value); + vo.setChildren(value); + res.add(vo); + }); + return res; + } + + private void fillFile(List value) { + for (InspectTaskDetailVo record : value) { + record.setInspectPics(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); + record.setInspectVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getVideoType())); + if(record.getIsHandle() != null && record.getIsHandle() == 1){ + record.setHandlePics(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandlePicType())); + record.setHandleVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandleVideoType())); + } + } + } + + public Page pageQuery(InspectProblemPageSo page) { + Page res = this.baseMapper.pageQuery(page.getPageSo().toPage(),page); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List records) { + for (InspectProblemVo record : records) { + record.setInspectPics(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); + record.setInspectVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getVideoType())); + if(record.getIsHandle() != null && record.getIsHandle() == 1){ + record.setHandlePics(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandlePicType())); + record.setHandleVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandleVideoType())); + } + } + } + + public String getGroupId() { + return "inspectTask"; + } + + private String getPicType() { + return "inspectPic"; + } + + private String getVideoType() { + return "inspectVideo"; + } + + private String getHandlePicType() { + return "handlePic"; + } + + private String getHandleVideoType() { + return "handleVideo"; + } + + public void finish(List list) { + List res = new ArrayList<>(); + List ids = list.stream().map(InspectTaskDetailVo::getId).map(Object::toString).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(ids)){ + fileService.removeByBzIds(ids); + } + for(InspectTaskDetailVo vo : list){ + InspectTaskDetail detail = new InspectTaskDetail(); + BeanUtils.copyProperties(vo,detail); + res.add(detail); + fileService.save(vo.getInspectPics(),vo.getId().toString(),getGroupId(),getPicType()); + fileService.save(vo.getInspectVideos(),vo.getId().toString(),getGroupId(),getVideoType()); + fileService.save(vo.getHandlePics(),vo.getId().toString(),getGroupId(),getHandlePicType()); + fileService.save(vo.getHandleVideos(),vo.getId().toString(),getGroupId(),getHandleVideoType()); + } + //更新任务巡检信息表 + this.updateBatchById(res); + } + + public String handle(InspectProblemVo vo) { + InspectTaskDetail detail = new InspectTaskDetail(); + BeanUtils.copyProperties(vo,detail,InspectTaskDetail.class); + detail.setIsHandle(1); + detail.setHandleTime(new Date()); + this.updateById(detail); + fileService.save(vo.getHandlePics(),vo.getId().toString(),getGroupId(),getHandlePicType()); + fileService.save(vo.getHandleVideos(),vo.getId().toString(),getGroupId(),getHandleVideoType()); + return "处理成功"; + } + + public List handelList() { + List list = this.baseMapper.handleList(); + if(CollectionUtils.isNotEmpty(list)){ + fillAttach(list); + } + return list; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/InspectTaskService.java b/src/main/java/com/gunshi/project/hsz/service/InspectTaskService.java new file mode 100644 index 0000000..d6d5fc4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/InspectTaskService.java @@ -0,0 +1,142 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.InspectTaskPageSo; +import com.gunshi.project.hsz.entity.so.InspectTaskSo; +import com.gunshi.project.hsz.entity.vo.InspectTaskDetailVo; +import com.gunshi.project.hsz.entity.vo.InspectTaskVo; +import com.gunshi.project.hsz.mapper.InspectTaskMapper; +import com.gunshi.project.hsz.model.InspectTask; +import com.gunshi.project.hsz.model.MessageCenter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 巡检任务 + * author: xusan + * date: 2024-08-29 14:21:15 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class InspectTaskService extends ServiceImpl +{ + + @Autowired + private InspectTaskDetailService inspectTaskDetailService; + + @Autowired + private MessageCenterService messageCenterService; + + public InspectTask saveData(InspectTask dto) { + dto.setId(IdWorker.getId()); + dto.setStatus(0); + dto.setCreateTime(new Date()); + this.save(dto); + inspectTaskDetailService.saveDetail(dto.getItems(),dto.getId()); + + MessageCenter center = new MessageCenter(); + center.setPublishUserId(dto.getCreateUserId()); + center.setPublishUserName(dto.getCreateUserName()); + center.setReceiveUserId(dto.getInspectUserId()); + center.setTitle("巡查任务"); + center.setContent("您收到一条巡查任务的提醒:" + dto.getTaskTitle() +",请及时处理。"); + messageCenterService.insertMessage(Arrays.asList(center)); + return dto; + } + + public InspectTask updateData(InspectTask dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + this.updateById(dto); + inspectTaskDetailService.updateDetail(dto.getItems(),dto.getId()); + return dto; + } + + public Boolean delData(Long id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + inspectTaskDetailService.delDetail(id); + return this.removeById(id); + } + + public Page pageQuery(InspectTaskPageSo page) { + return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); + } + + public Boolean startInspect(Long id) { + InspectTask task = this.getById(id); + if (Objects.isNull(task)) { + throw new IllegalArgumentException("当前数据不存在"); + } + task.setReceiveTime(new Date()); + task.setStatus(1); + return this.updateById(task); + } + + + public Boolean finish(InspectTaskVo vo) { + List list = vo.getList(); + InspectTask task = this.getById(list.get(0).getTaskId()); + inspectTaskDetailService.finish(list); + task.setFinishTime(vo.getStatus() == 2 ? new Date() : null); + task.setStatus(vo.getStatus()); + + List messageCenters = list.stream().filter(o -> o.getIsNormal() == 0 && o.getIsHandle() == 0).map(t->{ + MessageCenter center = new MessageCenter(); + center.setPublishUserId(task.getInspectUserId()); + center.setPublishUserName(task.getInspectUserName()); + center.setReceiveUserId(t.getHandleUserId()); + center.setTitle("巡查问题"); + center.setContent("您收到一条巡查任务未处理问题的提醒:"+task.getTaskTitle()+",请及时处理。"); + return center; + }).collect(Collectors.toList()); + messageCenterService.insertMessage(messageCenters); + return this.updateById(task); + } + + public List listQuery(InspectTaskSo so) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(InspectTask::getInspectUserId,so.getInspectUserId()) + .in(InspectTask::getStatus,so.getStatusList()); + if(so.getDateRangeSo() != null && so.getDateRangeSo().getStart() != null){ + queryWrapper.ge(InspectTask::getStartDate,so.getDateRangeSo().getStart()); + } + if(so.getDateRangeSo() != null && so.getDateRangeSo().getEnd() != null){ + queryWrapper.le(InspectTask::getStartDate,so.getDateRangeSo().getEnd()); + } + return this.list(queryWrapper); + } + + public List month() { + LocalDate now = LocalDate.now(); + String monthValue = String.valueOf(now.getMonthValue()); + if(now.getMonthValue() < 10){ + monthValue = "0"+monthValue; + } + return this.baseMapper.month(monthValue); + } + + public Integer year() { + LocalDate now = LocalDate.now(); + String year = String.valueOf(now.getYear()); + return this.baseMapper.year(year); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/InspectTaskTrackService.java b/src/main/java/com/gunshi/project/hsz/service/InspectTaskTrackService.java new file mode 100644 index 0000000..3316828 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/InspectTaskTrackService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.InspectTaskTrackMapper; +import com.gunshi.project.hsz.model.InspectTaskTrack; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 巡查轨迹 + * author: xusan + * date: 2024-09-18 13:59:21 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class InspectTaskTrackService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/MaintainServiceService.java b/src/main/java/com/gunshi/project/hsz/service/MaintainServiceService.java new file mode 100644 index 0000000..f9d26d4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/MaintainServiceService.java @@ -0,0 +1,108 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.MaintainPageSo; +import com.gunshi.project.hsz.mapper.MaintainServiceMapper; +import com.gunshi.project.hsz.model.MaintainService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 维修养护 + * author: xusan + * date: 2024-08-27 15:15:14 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class MaintainServiceService extends ServiceImpl +{ + @Autowired + private FileAssociationsService fileService; + + public MaintainService saveData(MaintainService dto) { + dto.setId(IdWorker.getId()); + boolean result = this.save(dto); + if (result) { + fileService.save(dto.getPics(), dto.getId().toString(), getGroupId(),getPicType()); + fileService.save(dto.getVideos(), dto.getId().toString(), getGroupId(),getVideoType()); + } + return dto; + } + + private String getVideoType() { + return "mainVideo"; + } + + private String getPicType() { + return "mainPic"; + } + + public MaintainService updateData(MaintainService dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.removeByBzIdAndType(dto.getId().toString(),getGroupId(),getPicType()); + fileService.save(dto.getPics(), dto.getId().toString(), getGroupId(),getPicType()); + fileService.removeByBzIdAndType(dto.getId().toString(),getGroupId(),getVideoType()); + fileService.save(dto.getVideos(), dto.getId().toString(), getGroupId(),getVideoType()); + } + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return data; + } + + public String getGroupId() { + return "maintainService"; + } + + public Page pageQuery(MaintainPageSo page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getMaintainType())) { + query.eq(MaintainService::getMaintainType, page.getMaintainType()); + } + if (page.getDateTimeSo() != null && page.getDateTimeSo().getStart() != null) { + query.ge(MaintainService::getReportTime, page.getDateTimeSo().getStart()); + } + if (page.getDateTimeSo() != null && page.getDateTimeSo().getEnd() != null) { + query.le(MaintainService::getReportTime, page.getDateTimeSo().getEnd()); + } + query.orderByDesc(MaintainService::getReportTime); + Page res = this.page(page.getPageSo().toPage(), query); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List ret) { + for (MaintainService record : ret) { + record.setPics(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); + record.setVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getVideoType())); + } + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/MessageCenterService.java b/src/main/java/com/gunshi/project/hsz/service/MessageCenterService.java new file mode 100644 index 0000000..2a76270 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/MessageCenterService.java @@ -0,0 +1,195 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.entity.so.MessageCenterPageSo; +import com.gunshi.project.hsz.mapper.AttResBaseMapper; +import com.gunshi.project.hsz.mapper.MessageCenterMapper; +import com.gunshi.project.hsz.model.AttResBase; +import com.gunshi.project.hsz.model.MessageCenter; +import com.gunshi.project.hsz.model.OsmoticWarnR; +import com.gunshi.project.hsz.model.StRsvrR; +import com.gunshi.project.hsz.util.DateUtil; +import com.ruoyi.common.utils.SecurityUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +/** + * 描述: 消息中心 + * author: xusan + * date: 2024-09-19 10:39:29 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class MessageCenterService extends ServiceImpl +{ + @Autowired + private AttResBaseMapper resBaseMapper; + + public void insertMessage(List messageCenters){ + for(MessageCenter messageCenter : messageCenters){ + messageCenter.setId(IdWorker.getId()); + messageCenter.setPublishTime(new Date()); + messageCenter.setStatus(0); + } + this.saveBatch(messageCenters); + } + + public Page listPage(MessageCenterPageSo page) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(MessageCenter::getReceiveUserId,page.getReceiveUserId()) + .eq(MessageCenter::getStatus,page.getStatus()); + if (ObjectUtils.isNotNull(page.getTitle())) { + queryWrapper.like(MessageCenter::getTitle, page.getTitle()); + } + if (ObjectUtils.isNotNull(page.getPublishUserName())) { + queryWrapper.like(MessageCenter::getPublishUserName, page.getPublishUserName()); + } + return this.page(page.getPageSo().toPage(),queryWrapper); + } + + public Boolean allRead() { + return this.lambdaUpdate() + .set(MessageCenter::getStatus, 1) + .eq(MessageCenter::getReceiveUserId, SecurityUtils.getUserId()) + .update(); + } + + + public void rzWarnMes(List rlist) { + AttResBase attResBase = resBaseMapper.selectById("42112230001"); + String stcd = attResBase.getStcd(); + Optional first = rlist.stream().filter(o -> o.getStcd().equals(stcd)).findFirst(); + if(first.isPresent()){ + BigDecimal rz = new BigDecimal(first.get().getRz()); + MessageCenter center =new MessageCenter(); + center.setPublishUserId(1L); + center.setPublishUserName("若依"); + center.setTitle("水位告警"); + String content = "系统检测到小玉潭水库水位"; + //校核水位 + BigDecimal calFloodLev = attResBase.getCalFloodLev(); + if(rz.compareTo(calFloodLev) > 0){ + center.setType(1); + content = content + "超校核"+ rz.subtract(calFloodLev) +"m"; + center.setContent(content); + addRzMessage(center,1); + return; + } + //设计水位 + BigDecimal desFloodLev = attResBase.getDesFloodLev(); + if(rz.compareTo(desFloodLev) > 0){ + center.setType(2); + content = content + "超设计"+ rz.subtract(desFloodLev) +"m"; + center.setContent(content); + addRzMessage(center,2); + return; + } + //汛限水位 + BigDecimal flLowLimLev = attResBase.getFlLowLimLev(); + if(rz.compareTo(flLowLimLev) > 0){ + center.setType(3); + content = content + "超汛限"+ rz.subtract(flLowLimLev) +"m"; + center.setContent(content); + addRzMessage(center,3); + } + + } + + } + + private void addRzMessage(MessageCenter center, Integer type) { + String date = DateUtil.convertDateToString(new Date()); + List list = this.baseMapper.queryTodayMes(date,type); + //如果当日不存在该类型的水位告警,则直接新增 + if(CollectionUtils.isEmpty(list)){ + rzMesHandle(center); + }else{ + this.removeBatchByIds(list); + rzMesHandle(center); + } + } + + private void rzMesHandle(MessageCenter center){ + //查找接收角色关联的人员 + List ids = this.baseMapper.queryUserIds(); + List mesList = ids.stream().map(o -> { + MessageCenter mes = new MessageCenter(); + BeanUtils.copyProperties(center, mes); + mes.setReceiveUserId(o); + return mes; + }).collect(Collectors.toList()); + this.insertMessage(mesList); + } + + + /** + * 生成渗压,渗流,位移告警 + * @param warnR + * @param desc + */ + public void osmoticWarnMes(OsmoticWarnR warnR,String desc) { + MessageCenter center = new MessageCenter(); + String stationCode = warnR.getStationCode(); + String title = null; + String content = "系统检测到"; + switch (warnR.getType()){ + case 1 : + title = "渗压告警"; + content = content + "渗压测点" + stationCode + desc +",请注意核实。"; + break; + case 2 : + title = "渗流告警"; + content = content + "渗流测点" + stationCode + desc +",请注意核实。"; + break; + case 3 : + title = "位移告警"; + content = content + "位移测点" + stationCode + desc +",请注意核实。"; + break; + } + center.setPublishUserId(1L); + center.setPublishUserName("若依"); + center.setTitle(title); + center.setContent(content); + rzMesHandle(center); + } + + public List listMes(DateTimeRangeSo dateTimeRangeSo) { + Long userId; + try { + userId = SecurityUtils.getUserId(); + } catch (Exception e) { + return null; + } + + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(MessageCenter::getReceiveUserId, userId); + if (ObjectUtils.isNotNull(dateTimeRangeSo) && ObjectUtils.isNotNull(dateTimeRangeSo.getStart())) { + queryWrapper.gt(MessageCenter::getPublishTime, dateTimeRangeSo.getStart()); + } + if (ObjectUtils.isNotNull(dateTimeRangeSo) && ObjectUtils.isNotNull(dateTimeRangeSo.getEnd())) { + queryWrapper.lt(MessageCenter::getPublishTime, dateTimeRangeSo.getEnd()); + } + queryWrapper.eq(MessageCenter::getStatus,0); + queryWrapper.orderByDesc(MessageCenter::getPublishTime); + return this.list(queryWrapper); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticFlowDeviceService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticFlowDeviceService.java new file mode 100644 index 0000000..a7c6104 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticFlowDeviceService.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.HomeOsmoticFlowDeviceVo; +import com.gunshi.project.hsz.mapper.OsmoticFlowDeviceMapper; +import com.gunshi.project.hsz.model.OsmoticFlowDevice; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 渗流设备表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticFlowDeviceService extends ServiceImpl +{ + + public List getDetailsAndMonitoringDataList() { + return baseMapper.getDetailsAndMonitoringDataList(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticFlowRService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticFlowRService.java new file mode 100644 index 0000000..d157fc1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticFlowRService.java @@ -0,0 +1,38 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo; +import com.gunshi.project.hsz.mapper.OsmoticFlowRMapper; +import com.gunshi.project.hsz.model.OsmoticFlowR; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 渗流监测记录表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticFlowRService extends ServiceImpl +{ + + public Page queryPage(OsmoticQueryPageSo osmoticQueryPageSo) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getStart() != null){ + wrapper.ge(OsmoticFlowR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getStart()); + } + if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getEnd() != null){ + wrapper.le(OsmoticFlowR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getEnd()); + } + wrapper.orderByDesc(OsmoticFlowR::getTm); + return this.page(osmoticQueryPageSo.getPageSo().toPage(),wrapper); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticPressDeviceService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticPressDeviceService.java new file mode 100644 index 0000000..8587603 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticPressDeviceService.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.HomeOsmoticPressDeviceVo; +import com.gunshi.project.hsz.mapper.OsmoticPressDeviceMapper; +import com.gunshi.project.hsz.model.OsmoticPressDevice; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 渗压设备表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticPressDeviceService extends ServiceImpl +{ + + public List getDetailsAndMonitoringDataList() { + return baseMapper.getDetailsAndMonitoringDataList(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticPressRService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticPressRService.java new file mode 100644 index 0000000..747302c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticPressRService.java @@ -0,0 +1,485 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.entity.so.OsmoticDetailQuerySo; +import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo; +import com.gunshi.project.hsz.entity.so.OsmoticQuerySo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.mapper.OsmoticPressRMapper; +import com.gunshi.project.hsz.model.OsmoticPressR; +import com.gunshi.project.hsz.util.DataHandleUtil; +import com.gunshi.project.hsz.util.DateUtil; +import com.gunshi.project.hsz.util.ExcelUtil; +import com.gunshi.project.hsz.util.MyBeanUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * 描述: 渗压监测记录表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticPressRService extends ServiceImpl +{ + @Autowired + private OsmoticShiftRService shiftRService; + + public Page queryPage(OsmoticQueryPageSo osmoticQueryPageSo) { + return baseMapper.queryPage(osmoticQueryPageSo.getPageSo().toPage(),osmoticQueryPageSo); + } + + /** + * 测值查询,管水位和库水位数据固定查询每日早8点 + * @param osmoticQuerySo + * @return + */ + public List queryValue(OsmoticQuerySo osmoticQuerySo,Integer year) { + if(osmoticQuerySo.getType() == null) { + osmoticQuerySo.setType(1); + } + List resList = new ArrayList<>(); + if(CollectionUtils.isEmpty(osmoticQuerySo.getStationCodes())){ + return resList; + } + String stcd = shiftRService.getStcd(); + Boolean isDesc = true; + //查询测站降雨量 + Map drpMap = new HashMap<>(); + if(year != null){ + isDesc = false; + List drpList = baseMapper.queryDrp(year,stcd); + drpMap = drpList.stream().collect(Collectors.toMap(StRzVo::getTm, StRzVo::getRz)); + } + List dateList = DateUtil.getDatesBetween(osmoticQuerySo.getDateTimeRangeSo().getStart(), osmoticQuerySo.getDateTimeRangeSo().getEnd(),isDesc); + + //查询库水位 + List list = baseMapper.queryRz(osmoticQuerySo,stcd); + Map rzMap = list.stream().collect(Collectors.toMap(StRzVo::getTm, StRzVo::getRz)); + //查询测站管水位/渗流量 + List valueList = baseMapper.queryValue(osmoticQuerySo); + //数据处理 + for(String str : dateList){ + OsmoticStationVo vo = new OsmoticStationVo(); + vo.setTm(str); + vo.setRz(rzMap.get(str)); + vo.setDrp(drpMap.get(str)); + vo.setList(valueList.stream().filter(o->str.equals(o.getTm())).map(t->{ + t.setRz(vo.getRz()); + return t; + }).collect(Collectors.toList())); + resList.add(vo); + } + return resList; + } + + public List queryChart(OsmoticQuerySo osmoticQuerySo,Integer year) { + List resList = new ArrayList<>(); + List stationCodes = osmoticQuerySo.getStationCodes(); + if(CollectionUtils.isEmpty(stationCodes)){ + return resList; + } + String stcd = shiftRService.getStcd(); + //查询库水位 + List list = baseMapper.queryRz(osmoticQuerySo,stcd); + //查询测站管水位 + List valueList = baseMapper.queryValue(osmoticQuerySo); + //按测站分组 + Map> map = valueList.stream().collect(Collectors.groupingBy(OsmoticValueVo::getStationCode)); + for(String code : stationCodes){ + OsmoticChartVo vo = new OsmoticChartVo(); + vo.setStationCode(code); + if(map.containsKey(code)){ + List voList = map.get(code); + OsmoticValueVo max = voList.stream().max(Comparator.comparing(OsmoticValueVo::getValue)).get(); + OsmoticValueVo min = voList.stream().min(Comparator.comparing(OsmoticValueVo::getValue)).get(); + vo.setStationCode(code); + vo.setMaxValue(max.getValue()); + vo.setMaxTm(max.getTm()); + vo.setMinValue(min.getValue()); + vo.setMinTm(min.getTm()); + vo.setDiff(max.getValue().subtract(min.getValue())); + if(year == null){ + vo.setDetailVos(bindData(MyBeanUtil.collectionCopy(list,OsmoticChartDetailVo.class),MyBeanUtil.collectionCopy(voList,OsmoticChartDetailVo.class))); + } + }else { + vo.setDetailVos(new ArrayList<>()); + } + resList.add(vo); + } + //查询测站降雨量 + List drpList; + if(year != null){ + drpList = baseMapper.queryDrp(year,stcd); + OsmoticChartVo chartVo = new OsmoticChartVo(); + chartVo.setStationCode("rz"); + if(CollectionUtils.isNotEmpty(list)){ + StRzVo max = list.stream().max(Comparator.comparing(StRzVo::getRz)).get(); + StRzVo min = list.stream().min(Comparator.comparing(StRzVo::getRz)).get(); + chartVo.setMaxValue(max.getRz()); + chartVo.setMaxTm(max.getTm()); + chartVo.setMinValue(min.getRz()); + chartVo.setMinTm(min.getTm()); + chartVo.setDiff(max.getRz().subtract(min.getRz())); + resList.add(chartVo); + } + + if(CollectionUtils.isNotEmpty(drpList)){ + OsmoticChartVo drpVo = new OsmoticChartVo(); + drpVo.setStationCode("drp"); + StRzVo maxDrp = drpList.stream().max(Comparator.comparing(StRzVo::getRz)).get(); + StRzVo minDrp = drpList.stream().min(Comparator.comparing(StRzVo::getRz)).get(); + drpVo.setMaxValue(maxDrp.getRz()); + drpVo.setMaxTm(maxDrp.getTm()); + drpVo.setMinValue(minDrp.getRz()); + drpVo.setMinTm(minDrp.getTm()); + drpVo.setDiff(maxDrp.getRz().subtract(minDrp.getRz())); + resList.add(drpVo); + } + } + return resList; + } + + + + //根据监测时间合并管水位和库水位数据 + private List bindData(List tmRzList, List voList) { + HashSet strings = new HashSet<>(); + tmRzList.stream().forEach(v1 -> strings.add(v1.getTm())); + voList.stream().forEach(v1 -> strings.add(v1.getTm())); + + List result = new ArrayList<>(); + strings.stream().forEach(v1 ->{ + OsmoticChartDetailVo v = new OsmoticChartDetailVo(); + v.setTm(v1); + result.add(v); + }); + + List list = result.stream().map(v1 -> { + tmRzList.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setRz(v2.getRz()); + }); + + voList.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setValue(v2.getValue()); + }); + return v1; + }).collect(Collectors.toList()); + return list.stream().sorted(Comparator.comparing(OsmoticChartDetailVo::getTm)).collect(Collectors.toList()); + } + + public List infiltraLine(OsmoticQuerySo osmoticQuerySo) { + List resList = new ArrayList<>(); + String stcd = shiftRService.getStcd(); + //查询库水位 + List list = baseMapper.queryLineRz(osmoticQuerySo,stcd); + Map rzMap = list.stream().collect(Collectors.toMap(StRzVo::getTm, StRzVo::getRz)); + //查询测站管水位 + List valueList = baseMapper.queryLineValue(osmoticQuerySo); + //查询测站预警信息 + List warnList = baseMapper.queryWarn(osmoticQuerySo); + valueList.stream().map(vo->{ + Boolean b = warnList.stream().filter(o->o.getStationCode().equals(vo.getStationCode()) && o.getTm().equals(vo.getTm())).findAny().isPresent(); + if(b){ + vo.setStatus(0); + } + return vo; + }).collect(Collectors.toList()); + HashSet dateList = new HashSet<>(); + list.stream().forEach(v1 -> dateList.add(v1.getTm())); + valueList.stream().forEach(v1 -> dateList.add(v1.getTm())); + for(String str : dateList){ + OsmoticStationVo vo = new OsmoticStationVo(); + vo.setTm(str); + vo.setRz(rzMap.get(str)); + List newList = valueList.stream().filter(o->str.equals(o.getTm())).collect(Collectors.toList()); + vo.setList(newList); + if(CollectionUtils.isNotEmpty(newList) && newList.stream().filter(o->o.getStatus() == 0).findAny().isPresent()){ + vo.setStatus(0); + } + resList.add(vo); + } + return resList.stream().sorted(Comparator.comparing(OsmoticStationVo::getTm)).collect(Collectors.toList()); + } + + + public void export(OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { + //通过断面查询渗压设备 + List stationCodes = osmoticQuerySo.getStationCodes(); + //表头信息 + List heads = new ArrayList<>(); + heads.add("序号"); + heads.add("时间"); + heads.add("库水位(m)"); + heads.addAll(stationCodes); + heads.add("结果分析"); + + //表格数据 + List resList = infiltraLine(osmoticQuerySo); + List> list = new ArrayList<>(); + for (int j = 0;j < resList.size(); j++) { + OsmoticStationVo vo = resList.get(j); + Map test = new LinkedHashMap<>(); + test.put("t0",j+1); + test.put("t1", vo.getTm()); + test.put("t2", vo.getRz()); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + OsmoticValueVo valueVo = vo.getList().stream().filter(o->code.equals(o.getStationCode())).findFirst().orElse(null); + test.put(code,valueVo != null ? valueVo.getValue() : ""); + } + test.put("t4", vo.getStatus() == 0 ? "异常":"正常"); + list.add(test); + } + List> hs = new ArrayList<>(); + for (String s : heads) { + hs.add(Arrays.asList(s)); + } + ExcelUtil.exportExcel(hs, DataHandleUtil.tableData(list), "浸润线", response, "浸润线"); + } + + private OsmoticQuerySo commonQueryHandle(OsmoticQuerySo osmoticQuerySo){ + Integer year = osmoticQuerySo.getYear(); + Date start = DateUtil.convertStringToDate(year + "-01-01 00:00:00"); + Date end = DateUtil.convertStringToDate(year + "-12-31 00:00:00"); + DateTimeRangeSo so = new DateTimeRangeSo(); + so.setStart(start); + so.setEnd(end); + osmoticQuerySo.setDateTimeRangeSo(so); + return osmoticQuerySo; + } + + public List yearStat(OsmoticQuerySo osmoticQuerySo) { + commonQueryHandle(osmoticQuerySo); + return queryValue(osmoticQuerySo,osmoticQuerySo.getYear()); + } + + public List yearStatValue(OsmoticQuerySo osmoticQuerySo) { + commonQueryHandle(osmoticQuerySo); + return queryChart(osmoticQuerySo,osmoticQuerySo.getYear()); + } + + public void yearStatExport(OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { + String headName = osmoticQuerySo.getProfileName() + "断面测压管水位(m)"; + String fileName = "断面年度渗压统计"; + String sheetName = "年度渗压统计"; + if(osmoticQuerySo.getType() == 1){ + fileName = osmoticQuerySo.getProfileName() + fileName; + }else { + headName = "渗流量(L/s)"; + fileName = "年度渗流统计"; + sheetName = "年度渗流统计"; + } + + //上方表格数据 + List resList = yearStat(osmoticQuerySo); + //下方特征值数据 + List chartList = queryChart(osmoticQuerySo,osmoticQuerySo.getYear()); + List stationCodes = osmoticQuerySo.getStationCodes(); + //表头信息 + List> headList = new ArrayList<>(); + List heads1 = new ArrayList<>(); + heads1.add("序号"); + heads1.add("序号"); + headList.add(heads1); + + List heads2 = new ArrayList<>(); + heads2.add("监测日期"); + heads2.add("监测日期"); + headList.add(heads2); + + for(String code : stationCodes){ + List heads = new ArrayList<>(); + heads.add(headName); + heads.add(code); + headList.add(heads); + } + + List heads3 = new ArrayList<>(); + heads3.add("库水位(m)"); + heads3.add("库水位(m)"); + headList.add(heads3); + + List heads4 = new ArrayList<>(); + heads4.add("降雨量(mm)"); + heads4.add("降雨量(mm)"); + headList.add(heads4); + + List> list = new ArrayList<>(); + for (int j = 0;j < resList.size(); j++) { + OsmoticStationVo vo = resList.get(j); + Map test = new LinkedHashMap<>(); + test.put("t0",j+1); + test.put("t1", vo.getTm()); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + OsmoticValueVo valueVo = vo.getList().stream().filter(o->code.equals(o.getStationCode())).findFirst().orElse(null); + test.put(code,valueVo != null ? valueVo.getValue() : ""); + } + test.put("t2", vo.getRz()); + test.put("t3", vo.getDrp()); + list.add(test); + } + + Map max = new LinkedHashMap<>(); + max.put("t0","全年度特征值统计"); + max.put("t1", "最大值"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + max.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getMaxValue()); + } + max.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getMaxValue()); + max.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getMaxValue()); + list.add(max); + + Map maxTm = new LinkedHashMap<>(); + maxTm.put("t0","全年度特征值统计"); + maxTm.put("t1", "日期"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + maxTm.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getMaxTm()); + } + maxTm.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getMaxTm()); + maxTm.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getMaxTm()); + list.add(maxTm); + + Map min = new LinkedHashMap<>(); + min.put("t0","全年度特征值统计"); + min.put("t1", "最小值"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + min.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getMinValue()); + } + min.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getMinValue()); + min.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getMinValue()); + list.add(min); + + Map minTm = new LinkedHashMap<>(); + minTm.put("t0","全年度特征值统计"); + minTm.put("t1", "日期"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + minTm.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getMinTm()); + } + minTm.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getMinTm()); + minTm.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getMinTm()); + list.add(minTm); + + Map diff = new LinkedHashMap<>(); + diff.put("t0","全年度特征值统计"); + diff.put("t1", "年变幅"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + diff.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getDiff()); + } + diff.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getDiff()); + diff.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getDiff()); + list.add(diff); + + ExcelUtil.exportExcel(headList, DataHandleUtil.tableData(list),2,new int[]{0},fileName,response,sheetName); + } + + public List listValue(Integer type) { + List list; + if(type == 1){ + list = baseMapper.listValue(); + }else { + list = baseMapper.flowListValue(); + } + OsmoticQuerySo so = new OsmoticQuerySo(); + List stationCodes = list.stream().map(OsmoticPressVo::getStationCode).collect(Collectors.toList()); + if(list.stream().filter(o->o.getTm() != null).collect(Collectors.toList()).size() > 0 ){ + String maxTm = list.stream().filter(o->o.getTm() != null).max(Comparator.comparing(OsmoticPressVo::getTm)).get().getTm(); + String minTm = list.stream().filter(o->o.getTm() != null).min(Comparator.comparing(OsmoticPressVo::getTm)).get().getTm(); + so.setStationCodes(stationCodes); + DateTimeRangeSo dateTimeRangeSo = new DateTimeRangeSo(); + dateTimeRangeSo.setStart(DateUtil.convertStringToDate(minTm)); + dateTimeRangeSo.setEnd(DateUtil.convertStringToDate(maxTm)); + so.setDateTimeRangeSo(dateTimeRangeSo); + List warnList = baseMapper.queryWarn(so); + list.stream().map(o->{ + if(o.getTm() != null && DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(o.getTm()), new Date()) > 48){ + o.setFlag(1); + } + Boolean b = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm())).findAny().isPresent(); + if(b){ + o.setStatus(1); + } + return o; + }).collect(Collectors.toList()); + } + return list; + } + + public List detailValue(OsmoticDetailQuerySo so) { + List list = baseMapper.detailValue(so); + if(so.getType() == 2){ + return list; + } + OsmoticQuerySo osmoticQuerySo = new OsmoticQuerySo(); + BeanUtils.copyProperties(so,osmoticQuerySo); + List stRzVos = baseMapper.queryLineRz(osmoticQuerySo,shiftRService.getStcd()); + return bindPressDetail(list,stRzVos); + } + + private List bindPressDetail(List list, List stRzVos) { + HashSet strings = new HashSet<>(); + list.stream().forEach(v1 -> strings.add(v1.getTm())); + stRzVos.stream().forEach(v1 -> strings.add(v1.getTm())); + + List result = new ArrayList<>(); + strings.stream().forEach(v1 ->{ + OsmoticPressDetailVo v = new OsmoticPressDetailVo(); + v.setTm(v1); + result.add(v); + }); + + List resList = result.stream().map(v1 -> { + stRzVos.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setRz(v2.getRz()); + }); + + list.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setValue(v2.getValue()); + }); + return v1; + }).collect(Collectors.toList()); + return resList.stream().sorted(Comparator.comparing(OsmoticPressDetailVo::getTm)).collect(Collectors.toList()); + } + + public Map stat() { + Map map = new HashMap<>(); + List press = this.listValue(1); + Integer pressSize = press.size(); + Long pressWarn = press.stream().filter(o -> o.getStatus() == 1).collect(Collectors.counting()); + + List flow = this.listValue(2); + Integer flowSize = flow.size(); + Long flowWarn = flow.stream().filter(o -> o.getStatus() == 1).collect(Collectors.counting()); + + List shift = shiftRService.listValue(); + Integer shiftSize = shift.size(); + Long shiftWarn = shift.stream().filter(o -> o.getXStatus() == 1 || o.getYStatus() ==1 || o.getHStatus() == 1).collect(Collectors.counting()); + + Integer size = pressSize + flowSize + shiftSize; + Integer warn = Stream.of(pressWarn, flowWarn, shiftWarn).mapToInt(Long::intValue).sum(); + map.put(warn,size); + return map; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticShiftDeviceService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticShiftDeviceService.java new file mode 100644 index 0000000..8df6583 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticShiftDeviceService.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.HomeOsmoticShiftDeviceVo; +import com.gunshi.project.hsz.mapper.OsmoticShiftDeviceMapper; +import com.gunshi.project.hsz.model.OsmoticShiftDevice; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 位移监测记录表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticShiftDeviceService extends ServiceImpl +{ + + public List getDetailsAndMonitoringDataList() { + return baseMapper.getDetailsAndMonitoringDataList(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticShiftRService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticShiftRService.java new file mode 100644 index 0000000..2beb797 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticShiftRService.java @@ -0,0 +1,333 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.entity.so.OsmoticDetailQuerySo; +import com.gunshi.project.hsz.entity.so.OsmoticQueryPageSo; +import com.gunshi.project.hsz.entity.so.OsmoticQuerySo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.mapper.AttResBaseMapper; +import com.gunshi.project.hsz.mapper.OsmoticPressRMapper; +import com.gunshi.project.hsz.mapper.OsmoticShiftRMapper; +import com.gunshi.project.hsz.model.OsmoticShiftR; +import com.gunshi.project.hsz.util.DataHandleUtil; +import com.gunshi.project.hsz.util.DateUtil; +import com.gunshi.project.hsz.util.ExcelUtil; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: 位移监测记录表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticShiftRService extends ServiceImpl +{ + + @Resource + private OsmoticPressRMapper pressRMapper; + + @Resource + private AttResBaseMapper attResBaseMapper; + + private static final String X_PREFIX = "/X"; + private static final String Y_PREFIX = "/Y"; + private static final String H_PREFIX = "/H"; + + public Page queryPage(OsmoticQueryPageSo osmoticQueryPageSo) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getStart() != null){ + wrapper.ge(OsmoticShiftR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getStart()); + } + if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getEnd() != null){ + wrapper.le(OsmoticShiftR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getEnd()); + } + if(StringUtils.isNotEmpty(osmoticQueryPageSo.getStationCode())){ + wrapper.eq(OsmoticShiftR::getStationCode,osmoticQueryPageSo.getStationCode()); + } + wrapper.orderByDesc(OsmoticShiftR::getTm); + return this.page(osmoticQueryPageSo.getPageSo().toPage(),wrapper); + } + + public List yearStat(OsmoticQuerySo osmoticQuerySo) { + List resList = new ArrayList<>(); + commonQueryHandle(osmoticQuerySo); + //查询位移监测记录 + List valueList = baseMapper.queryValue(osmoticQuerySo); + List dateList = DateUtil.getDatesBetween(osmoticQuerySo.getDateTimeRangeSo().getStart(), osmoticQuerySo.getDateTimeRangeSo().getEnd(), false); + //数据处理 + for(String str : dateList){ + OsmoticShiftVo vo = new OsmoticShiftVo(); + vo.setTm(str); + vo.setList(valueList.stream().filter(o->str.equals(o.getTm())).collect(Collectors.toList())); + resList.add(vo); + } + return resList; + } + + private OsmoticQuerySo commonQueryHandle(OsmoticQuerySo osmoticQuerySo){ + Integer year = osmoticQuerySo.getYear(); + Date start = DateUtil.convertStringToDate(year + "-01-01 00:00:00"); + Date end = DateUtil.convertStringToDate(year + "-12-31 00:00:00"); + DateTimeRangeSo so = new DateTimeRangeSo(); + so.setStart(start); + so.setEnd(end); + osmoticQuerySo.setDateTimeRangeSo(so); + return osmoticQuerySo; + } + + + public List yearStatValue(OsmoticQuerySo osmoticQuerySo) { + List resList = new ArrayList<>(); + commonQueryHandle(osmoticQuerySo); + //查询位移监测记录 + List valueList = baseMapper.queryValue(osmoticQuerySo); + //按测站分组 + Map> map = valueList.stream().collect(Collectors.groupingBy(OsmoticShiftValueVo::getStationCode)); + map.entrySet().forEach(o->{ + String key = o.getKey(); + List value = o.getValue(); + + OsmoticChartVo xVo = new OsmoticChartVo(); + OsmoticShiftValueVo xMax = value.stream().max(Comparator.comparing(OsmoticShiftValueVo::getX)).get(); + OsmoticShiftValueVo xMin = value.stream().min(Comparator.comparing(OsmoticShiftValueVo::getX)).get(); + xVo.setStationCode(key + X_PREFIX); + xVo.setMaxValue(xMax.getX()); + xVo.setMaxTm(xMax.getTm()); + xVo.setMinValue(xMin.getX()); + xVo.setMinTm(xMin.getTm()); + xVo.setDiff(xMax.getX().subtract(xMin.getX())); + resList.add(xVo); + + OsmoticChartVo yVo = new OsmoticChartVo(); + OsmoticShiftValueVo yMax = value.stream().max(Comparator.comparing(OsmoticShiftValueVo::getY)).get(); + OsmoticShiftValueVo yMin = value.stream().min(Comparator.comparing(OsmoticShiftValueVo::getY)).get(); + yVo.setStationCode(key + Y_PREFIX); + yVo.setMaxValue(yMax.getY()); + yVo.setMaxTm(yMax.getTm()); + yVo.setMinValue(yMin.getY()); + yVo.setMinTm(yMin.getTm()); + yVo.setDiff(yMax.getY().subtract(yMin.getY())); + resList.add(yVo); + + OsmoticChartVo hVo = new OsmoticChartVo(); + OsmoticShiftValueVo hMax = value.stream().max(Comparator.comparing(OsmoticShiftValueVo::getH)).get(); + OsmoticShiftValueVo hMin = value.stream().min(Comparator.comparing(OsmoticShiftValueVo::getH)).get(); + hVo.setStationCode(key + H_PREFIX); + hVo.setMaxValue(hMax.getH()); + hVo.setMaxTm(hMax.getTm()); + hVo.setMinValue(hMin.getH()); + hVo.setMinTm(hMin.getTm()); + hVo.setDiff(hMax.getH().subtract(hMin.getH())); + resList.add(hVo); + + }); + return resList; + } + + public void yearStatExport(OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { + String fileName = "年度位移统计"; + String sheetName = "年度位移统计"; + + //上方表格数据 + List resList = yearStat(osmoticQuerySo); + //下方特征值数据 + List chartList = yearStatValue(osmoticQuerySo); + List stationCodes = osmoticQuerySo.getStationCodes(); + //表头信息 + List> headList = new ArrayList<>(); + List heads1 = new ArrayList<>(); + heads1.add("序号"); + heads1.add("序号"); + headList.add(heads1); + + List heads2 = new ArrayList<>(); + heads2.add("监测日期"); + heads2.add("监测日期"); + headList.add(heads2); + + for(String code : stationCodes){ + List headsX = new ArrayList<>(); + headsX.add(code); + headsX.add("X"); + headList.add(headsX); + + List headsY = new ArrayList<>(); + headsY.add(code); + headsY.add("Y"); + headList.add(headsY); + + List headsH = new ArrayList<>(); + headsH.add(code); + headsH.add("H"); + headList.add(headsH); + } + + List> list = new ArrayList<>(); + for (int j = 0;j < resList.size(); j++) { + OsmoticShiftVo vo = resList.get(j); + Map test = new LinkedHashMap<>(); + test.put("t0",j+1); + test.put("t1", vo.getTm()); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + OsmoticShiftValueVo valueVo = vo.getList().stream().filter(o->code.equals(o.getStationCode())).findFirst().orElse(null); + test.put(code + X_PREFIX,valueVo != null ? valueVo.getX() : ""); + test.put(code + Y_PREFIX,valueVo != null ? valueVo.getY() : ""); + test.put(code + H_PREFIX,valueVo != null ? valueVo.getH() : ""); + } + list.add(test); + } + + Map max = new LinkedHashMap<>(); + max.put("t0","全年度特征值统计"); + max.put("t1", "最大值"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + max.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxValue()); + max.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxValue()); + max.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxValue()); + } + list.add(max); + + Map maxTm = new LinkedHashMap<>(); + maxTm.put("t0","全年度特征值统计"); + maxTm.put("t1", "日期"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + maxTm.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxTm()); + maxTm.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxTm()); + maxTm.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxTm()); + } + list.add(maxTm); + + Map min = new LinkedHashMap<>(); + min.put("t0","全年度特征值统计"); + min.put("t1", "最小值"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + min.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinValue()); + min.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinValue()); + min.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinValue()); + } + list.add(min); + + Map minTm = new LinkedHashMap<>(); + minTm.put("t0","全年度特征值统计"); + minTm.put("t1", "日期"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + minTm.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinTm()); + minTm.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinTm()); + minTm.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinTm()); + } + list.add(minTm); + + Map diff = new LinkedHashMap<>(); + diff.put("t0","全年度特征值统计"); + diff.put("t1", "年变幅"); + for(int i = 0;i < stationCodes.size();i++){ + String code = stationCodes.get(i); + diff.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getDiff()); + diff.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getDiff()); + diff.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getDiff()); + } + list.add(diff); + + ExcelUtil.exportExcel(headList, DataHandleUtil.tableData(list),2,new int[]{0},fileName,response,sheetName); + } + + public List listValue() { + List list = baseMapper.listValue(); + if(CollectionUtils.isEmpty(list)){ + return list; + } + OsmoticQuerySo so = new OsmoticQuerySo(); + List stationCodes = list.stream().map(OsmoticShiftListVo::getStationCode).collect(Collectors.toList()); + String maxTm = list.stream().filter(o->o.getTm() != null).max(Comparator.comparing(OsmoticShiftListVo::getTm)).get().getTm(); + String minTm = list.stream().filter(o->o.getTm() != null).min(Comparator.comparing(OsmoticShiftListVo::getTm)).get().getTm(); + so.setStationCodes(stationCodes); + DateTimeRangeSo dateTimeRangeSo = new DateTimeRangeSo(); + dateTimeRangeSo.setStart(DateUtil.convertStringToDate(minTm)); + dateTimeRangeSo.setEnd(DateUtil.convertStringToDate(maxTm)); + so.setDateTimeRangeSo(dateTimeRangeSo); + List warnList = baseMapper.queryWarn(so); + list.stream().map(o->{ + if(o.getTm() != null && DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(o.getTm()), new Date()) > 48){ + o.setFlag(1); + } + Boolean a = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm()) && t.getDirection().equals("X")).findAny().isPresent(); + if(a){ + o.setXStatus(1); + } + Boolean b = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm()) && t.getDirection().equals("Y")).findAny().isPresent(); + if(b){ + o.setYStatus(1); + } + Boolean c = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm()) && t.getDirection().equals("H")).findAny().isPresent(); + if(c){ + o.setHStatus(1); + } + return o; + }).collect(Collectors.toList()); + return list; + } + + public List detailValue(OsmoticDetailQuerySo so) { + List list = baseMapper.detailValue(so); + OsmoticQuerySo osmoticQuerySo = new OsmoticQuerySo(); + BeanUtils.copyProperties(so,osmoticQuerySo); + List stRzVos = pressRMapper.queryLineRz(osmoticQuerySo,getStcd()); + return bindShiftDetail(list,stRzVos); + } + + public String getStcd(){ + List attResBaseVos = attResBaseMapper.queryList(); + AttResBaseVo attResBaseVo = attResBaseVos.get(0); + return attResBaseVo == null ? "":attResBaseVo.getStcd(); + } + + private List bindShiftDetail(List list, List stRzVos) { + HashSet strings = new HashSet<>(); + list.stream().forEach(v1 -> strings.add(v1.getTm())); + stRzVos.stream().forEach(v1 -> strings.add(v1.getTm())); + + List result = new ArrayList<>(); + strings.stream().forEach(v1 ->{ + OsmoticShiftValueVo v = new OsmoticShiftValueVo(); + v.setTm(v1); + result.add(v); + }); + + List resList = result.stream().map(v1 -> { + stRzVos.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setRz(v2.getRz()); + }); + + list.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setX(v2.getX()); + v1.setY(v2.getY()); + v1.setH(v2.getH()); + }); + return v1; + }).collect(Collectors.toList()); + return resList.stream().sorted(Comparator.comparing(OsmoticShiftValueVo::getTm)).collect(Collectors.toList()); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticWarnRService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticWarnRService.java new file mode 100644 index 0000000..7e4f4fa --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticWarnRService.java @@ -0,0 +1,195 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.WarnPageSo; +import com.gunshi.project.hsz.entity.so.WarnSo; +import com.gunshi.project.hsz.entity.vo.OsmoticWarnVo; +import com.gunshi.project.hsz.mapper.OsmoticWarnRMapper; +import com.gunshi.project.hsz.mapper.OsmoticWarnRuleMapper; +import com.gunshi.project.hsz.model.OsmoticShiftR; +import com.gunshi.project.hsz.model.OsmoticWarnR; +import com.gunshi.project.hsz.model.OsmoticWarnRule; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +/** + * 描述: 隐患预警记录表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticWarnRService extends ServiceImpl +{ + @Resource + private OsmoticWarnRuleMapper warnRuleMapper; + + @Resource + private MessageCenterService messageCenterService; + + public Page queryPage(WarnPageSo warnPageSo) { + return this.baseMapper.queryPage(warnPageSo.getPageSo().toPage(),warnPageSo); + } + + public Map stat(WarnSo warnSo) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + if(warnSo.getType() != null){ + wrapper.eq(OsmoticWarnR::getType,warnSo.getType()); + } + if(warnSo.getLevel() != null){ + wrapper.eq(OsmoticWarnR::getLevel,warnSo.getLevel()); + } + if(StringUtils.isNotEmpty(warnSo.getStationCode())){ + wrapper.like(OsmoticWarnR::getStationCode,warnSo.getStationCode()); + } + if(warnSo.getDateTimeRangeSo() != null && warnSo.getDateTimeRangeSo().getStart() != null){ + wrapper.ge(OsmoticWarnR::getTm,warnSo.getDateTimeRangeSo().getStart()); + } + if(warnSo.getDateTimeRangeSo() != null && warnSo.getDateTimeRangeSo().getEnd() != null){ + wrapper.le(OsmoticWarnR::getTm,warnSo.getDateTimeRangeSo().getEnd()); + } + List list = this.list(wrapper); + return list.stream().collect(Collectors.groupingBy(OsmoticWarnR::getLevel, Collectors.counting())); + } + + /** + * 生成位移预警 + */ + public void saveShiftWarn(OsmoticShiftR shiftR){ + String stationCode = shiftR.getStationCode(); + Date tm = shiftR.getTm(); + BigDecimal x = shiftR.getX(); + savePressWarn(stationCode,x,tm,"x"); + BigDecimal y = shiftR.getY(); + savePressWarn(stationCode,y,tm,"y"); + BigDecimal h = shiftR.getH(); + savePressWarn(stationCode,h,tm,"h"); + } + + /** + * 生成渗压/渗流预警 + * @param + */ + public void savePressWarn(String stationCode,BigDecimal value,Date tm,String direction) { + //查询预警规则,每个测点至多只有2条预警规则 + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(OsmoticWarnRule::getStationCode,stationCode) + .eq(OsmoticWarnRule::getStatus,1); + if(StringUtils.isNotEmpty(direction)){ + queryWrapper.eq(OsmoticWarnRule::getDirection,direction); + } + List ruleList = warnRuleMapper.selectList(queryWrapper); + if(CollectionUtils.isNotEmpty(ruleList)){ + Boolean isRedWarn = false; + //先判断是否符合红色预警 + Optional red = ruleList.stream().filter(o -> o.getLevel() == 2).findFirst(); + if(red.isPresent()){ + OsmoticWarnRule redRule = red.get(); + isRedWarn = saveWarnData(redRule,value,tm); + if (isRedWarn){ + return; + } + //没有生成红色预警,再判断是否符合黄色预警 + Optional yellow = ruleList.stream().filter(o -> o.getLevel() == 1).findFirst(); + if(yellow.isPresent()){ + OsmoticWarnRule yellowRule = yellow.get(); + saveWarnData(yellowRule,value,tm); + } + }else { + OsmoticWarnRule yellowRule = ruleList.get(0); + saveWarnData(yellowRule,value,tm); + } + } + } + + private Boolean saveWarnData(OsmoticWarnRule rule,BigDecimal value,Date tm){ + String conditionOne = rule.getConditionOne(); + BigDecimal valueOne = rule.getValueOne(); + Integer condition = rule.getCondition(); + Boolean flagOne = getFlag(conditionOne,valueOne,value); + /** + * 没有第二条件时,条件1满足就生成预警 + * 有第二条件时,当为或时,条件1满足就生成预警,条件1不满足就判断条件2是否满足;当为且时,需条件1和条件2同时满足才生成预警 + */ + if(condition == null){ + if(flagOne){ + //生成预警 + return geneWarn(rule,value,tm); + } + }else{ + String conditionTwo = rule.getConditionTwo(); + BigDecimal valueTwo = rule.getValueTwo(); + Boolean flagTwo = getFlag(conditionTwo,valueTwo,value); + if(condition == 1){ + if(flagOne && flagTwo){ + //生成预警 + return geneWarn(rule,value,tm); + } + }else{ + if(flagOne || flagTwo){ + //生成预警 + return geneWarn(rule,value,tm); + } + } + } + return false; + } + + private Boolean geneWarn(OsmoticWarnRule rule,BigDecimal value,Date tm) { + OsmoticWarnR warnR = new OsmoticWarnR(); + warnR.setId(IdWorker.getId()); + warnR.setStationCode(rule.getStationCode()); + warnR.setRuleId(rule.getId()); + warnR.setValue(value); + warnR.setTm(tm); + warnR.setType(rule.getType()); + warnR.setLevel(rule.getLevel()); + this.baseMapper.insert(warnR); + //生成消息 + messageCenterService.osmoticWarnMes(warnR,rule.getRuleDesc()); + return true; + } + + private Boolean getFlag(String condition,BigDecimal ruleValue,BigDecimal value){ + Boolean flag = false; + switch (condition) { + case ">" : + flag = value.compareTo(ruleValue) > 0; + break; + case ">=" : + flag = value.compareTo(ruleValue) >= 0; + break; + case "<" : + flag = value.compareTo(ruleValue) < 0; + break; + case "<=" : + flag = value.compareTo(ruleValue) <= 0; + break; + case "=" : + flag = value.compareTo(ruleValue) == 0; + break; + case "!=" : + flag = value.compareTo(ruleValue) != 0; + break; + } + return flag; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticWarnRuleService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticWarnRuleService.java new file mode 100644 index 0000000..8dc2781 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticWarnRuleService.java @@ -0,0 +1,187 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.WarnRulePageSo; +import com.gunshi.project.hsz.mapper.OsmoticWarnRuleMapper; +import com.gunshi.project.hsz.model.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 描述: 预警规则配置表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticWarnRuleService extends ServiceImpl { + + @Autowired + private OsmoticWarnRService warnRService; + + public Page queryPage(WarnRulePageSo warnRulePageSo) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + if (warnRulePageSo.getType() != null) { + queryWrapper.eq(OsmoticWarnRule::getType, warnRulePageSo.getType()); + } + if (StringUtils.isNotEmpty(warnRulePageSo.getStationCode())) { + queryWrapper.like(OsmoticWarnRule::getStationCode, warnRulePageSo.getStationCode()); + } + queryWrapper.orderByDesc(OsmoticWarnRule::getStatus).orderByDesc(OsmoticWarnRule::getCreateTime); + return this.page(warnRulePageSo.getPageSo().toPage(), queryWrapper); + } + + /* + 渗压只看管水位value + */ + public void checkWarn(OsmoticPressR press) { + List rules = lambdaQuery().eq(OsmoticWarnRule::getStationCode, press.getStationCode()) + .eq(OsmoticWarnRule::getType, OsmoticWarnRule.Type.PRESS.getType()) + .eq(OsmoticWarnRule::getStatus, OsmoticWarnRule.Status.ENABLE.getStatus()) + .list(); + + + } + + private boolean checkWarn(OsmoticPressR press, OsmoticWarnRule rule) { + BigDecimal valueToCompare = press.getValue(); + OsmoticWarnRule.Relation matchRel = OsmoticWarnRule.Relation.match(rule.getCondition()); + + OsmoticWarnRule.Condition cond1 = OsmoticWarnRule.Condition.match(rule.getConditionOne()); + if (cond1 == null) return false; + BigDecimal cond1value = rule.getValueOne(); + if (cond1value == null) return false; + boolean cond1Violating = isViolating(valueToCompare, cond1, cond1value); + + boolean cond2Violating = false; + if (matchRel != null) { + OsmoticWarnRule.Condition cond2 = OsmoticWarnRule.Condition.match(rule.getConditionTwo()); + if (cond2 != null) { + BigDecimal cond2value = rule.getValueTwo(); + if (cond2value != null) { + cond2Violating = isViolating(valueToCompare, cond2, cond2value); + } + } + } + + boolean shoudWarn = false; + if (matchRel == null) { + if (cond1Violating) { + shoudWarn = true; + } + } else { + if (matchRel == OsmoticWarnRule.Relation.AND) { + if (cond1Violating && cond2Violating) { + shoudWarn = true; + } + } else if (matchRel == OsmoticWarnRule.Relation.OR) { + if (cond1Violating || cond2Violating) { + shoudWarn = true; + } + } + } + + if (shoudWarn) { + insertWarn(press.getStationCode(), rule.getId(), press.getValue(), OsmoticWarnRule.Type.PRESS.getType(), rule.getLevel()); + return true; + } + return false; + } + + private void insertWarn(String stationCode, Long ruleId, BigDecimal value, Integer type, Integer level) { + OsmoticWarnR warn = new OsmoticWarnR(); + warn.setId(IdWorker.getId()); + warn.setTm(new Date()); + warn.setStationCode(stationCode); + warn.setRuleId(ruleId); + warn.setValue(value); + warn.setType(type); + warn.setLevel(level); + warnRService.save(warn); + } + + + private boolean isViolating(BigDecimal value, OsmoticWarnRule.Condition cond, BigDecimal condValue) { + return switch (cond) { + case GT -> value.compareTo(condValue) > 0; + case GTE -> value.compareTo(condValue) >= 0; + case LT -> value.compareTo(condValue) < 0; + case LTE -> value.compareTo(condValue) <= 0; + case EQ -> value.compareTo(condValue) == 0; + case NE -> value.compareTo(condValue) != 0; + }; + } + + /* + 位移要看x,y,h + */ + public void checkWarn(OsmoticShiftR shift) { + + } + + /* + 渗流只看流量q + */ + public void checkWarn(OsmoticFlowR flow) { + List rules = lambdaQuery().eq(OsmoticWarnRule::getStationCode, flow.getStationCode()) + .eq(OsmoticWarnRule::getType, OsmoticWarnRule.Type.PRESS.getType()) + .eq(OsmoticWarnRule::getStatus, OsmoticWarnRule.Status.ENABLE.getStatus()) + .list(); + BigDecimal valueToCompare = flow.getQ(); + for (OsmoticWarnRule rule : rules) { + OsmoticWarnRule.Relation matchRel = OsmoticWarnRule.Relation.match(rule.getCondition()); + + OsmoticWarnRule.Condition cond1 = OsmoticWarnRule.Condition.match(rule.getConditionOne()); + if (cond1 == null) continue; + BigDecimal cond1value = rule.getValueOne(); + if (cond1value == null) continue; + boolean cond1Violating = isViolating(valueToCompare, cond1, cond1value); + + boolean cond2Violating = false; + if (matchRel != null) { + OsmoticWarnRule.Condition cond2 = OsmoticWarnRule.Condition.match(rule.getConditionTwo()); + if (cond2 != null) { + BigDecimal cond2value = rule.getValueTwo(); + if (cond2value != null) { + cond2Violating = isViolating(valueToCompare, cond2, cond2value); + } + } + } + + boolean shoudWarn = false; + if (matchRel == null) { + if (cond1Violating) { + shoudWarn = true; + } + } else { + if (matchRel == OsmoticWarnRule.Relation.AND) { + if (cond1Violating && cond2Violating) { + shoudWarn = true; + } + } else if (matchRel == OsmoticWarnRule.Relation.OR) { + if (cond1Violating || cond2Violating) { + shoudWarn = true; + } + } + } + + if (shoudWarn) { + insertWarn(flow.getStationCode(), rule.getId(), flow.getQ(), OsmoticWarnRule.Type.PRESS.getType(), rule.getLevel()); + } + } + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticWaterRService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticWaterRService.java new file mode 100644 index 0000000..95aaadd --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticWaterRService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.OsmoticWaterRMapper; +import com.gunshi.project.hsz.model.OsmoticWaterR; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水质采样记录表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticWaterRService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/OsmoticWaterRuleService.java b/src/main/java/com/gunshi/project/hsz/service/OsmoticWaterRuleService.java new file mode 100644 index 0000000..00d11a0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/OsmoticWaterRuleService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.OsmoticWaterRuleMapper; +import com.gunshi.project.hsz.model.OsmoticWaterRule; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水质质量标准规则表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OsmoticWaterRuleService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/PersonnelPlanLogService.java b/src/main/java/com/gunshi/project/hsz/service/PersonnelPlanLogService.java new file mode 100644 index 0000000..aa2cd02 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/PersonnelPlanLogService.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.PersonnelPlanLogMapper; +import com.gunshi.project.hsz.model.PersonnelPlanLog; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class PersonnelPlanLogService extends ServiceImpl +{ +} diff --git a/src/main/java/com/gunshi/project/hsz/service/PersonnelPlanService.java b/src/main/java/com/gunshi/project/hsz/service/PersonnelPlanService.java new file mode 100644 index 0000000..62e7ae2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/PersonnelPlanService.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.PersonnelPlanMapper; +import com.gunshi.project.hsz.model.PersonnelPlan; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class PersonnelPlanService extends ServiceImpl +{ +} diff --git a/src/main/java/com/gunshi/project/hsz/service/ProjectEventsService.java b/src/main/java/com/gunshi/project/hsz/service/ProjectEventsService.java new file mode 100644 index 0000000..a4675c4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ProjectEventsService.java @@ -0,0 +1,236 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.CommonDataPageSo; +import com.gunshi.project.hsz.entity.vo.ProjectEventsVo; +import com.gunshi.project.hsz.mapper.ProjectEventsMapper; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.model.ProjectEvents; +import com.gunshi.project.hsz.model.TermiteSurvey; +import com.gunshi.project.hsz.util.DataHandleUtil; +import com.gunshi.project.hsz.util.ExcelUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: 工程大事记 + * author: wanyan + * date: 2024-08-21 10:40:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ProjectEventsService extends ServiceImpl { + + @Autowired + private FileAssociationsService fileService; + + public Page pageQuery(CommonDataPageSo page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getName())) { + query.like(ProjectEvents::getName, page.getName()); + } + if (page.getDateSo() != null && page.getDateSo().getStart() != null) { + query.ge(ProjectEvents::getEventsDate, page.getDateSo().getStart()); + } + if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { + query.le(ProjectEvents::getEventsDate, page.getDateSo().getEnd()); + } + query.orderByDesc(ProjectEvents::getEventsDate); + Page res = this.page(page.getPageSo().toPage(), query); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List ret) { + for (ProjectEvents record : ret) { + record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); + } + } + + public String getGroupId() { + return "ProjectEvents"; + } + + public ProjectEvents saveData(ProjectEvents dto) { + dto.setId(IdWorker.getId()); + boolean result = this.save(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public ProjectEvents updateData(ProjectEvents dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return data; + } + + public List queryList(CommonDataPageSo page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getName())) { + query.like(ProjectEvents::getName, page.getName()); + } + if (page.getDateSo() != null && page.getDateSo().getStart() != null) { + query.ge(ProjectEvents::getEventsDate, page.getDateSo().getStart()); + } + if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { + query.le(ProjectEvents::getEventsDate, page.getDateSo().getEnd()); + } + query.orderByDesc(ProjectEvents::getEventsDate); + List list = this.list(query); + fillAttach(list); + return list; + } + + public Page filePage(CommonDataPageSo page) { + Page res = new Page<>(); + List list = new ArrayList<>(); + list = queryData(page,list); + if (CollectionUtils.isNotEmpty(list)) { + fillFile(list.stream().filter(o->o.getType() != 6).collect(Collectors.toList())); + list = list.stream().sorted(Comparator.comparing(ProjectEventsVo::getEventsDate).reversed()).collect(Collectors.toList()); + List paginate = DataHandleUtil.paginate(list, page.getPageSo().getPageNumber(), page.getPageSo().getPageSize()); + res.setRecords(paginate); + } + res.setCurrent(page.getPageSo().getPageNumber()); + res.setTotal(list.size()); + return res; + } + + private List queryData(CommonDataPageSo page,List list) { + List types = page.getTypes(); + if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(1)){ + List projectEventsVos = this.baseMapper.eventList(page); + list.addAll(projectEventsVos); + } + if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(2)){ + List projectEventsVos = this.baseMapper.dispatchList(page); + list.addAll(projectEventsVos); + } + if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(3)){ + List projectEventsVos = this.baseMapper.maintainList(page); + list.addAll(projectEventsVos); + } + if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(4)){ + List projectEventsVos = this.baseMapper.safetyList(page); + list.addAll(projectEventsVos); + } + if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(5)){ + List projectEventsVos = this.baseMapper.reinforceList(page); + list.addAll(projectEventsVos); + } +// if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(6)){ +// List termiteVos = this.baseMapper.termiteList(page); +// List projectEventsVos = this.handelTermite(termiteVos); +// list.addAll(projectEventsVos); +// } + return list; + } + + private List handelTermite(List termiteVos) { + List list = new ArrayList<>(); + if(CollectionUtils.isEmpty(termiteVos)){ + return list; + } + for (TermiteSurvey vo : termiteVos){ + Integer surveyWay = vo.getSurveyWay(); + String way = ""; + switch (surveyWay){ + case 1 : + way = "人工排查法"; + break; + case 2 : + way = "引诱法"; + break; + case 3 : + way = "仪器探测法"; + break; + case 4 : + way = "其它"; + break; + } + Integer surveyType = vo.getSurveyType(); + String type = ""; + switch (surveyType){ + case 1 : + type = "日常检查排查"; + break; + case 2 : + type = "定期普查"; + break; + case 3 : + type = "专项调查"; + break; + } + String result = vo.getHarmNum() > 0 ?"有危害":"无危害"; + String content = "采用"+way+"进行"+type+",结果:"+result+";白蚁危害处数"+vo.getHarmNum()+"处;已处理处数"+vo.getHandleNum()+"处。"; + ProjectEventsVo eventsVo = new ProjectEventsVo(); + eventsVo.setId(vo.getId()); + eventsVo.setType(6); + eventsVo.setEventsDate(vo.getReportDate()); + eventsVo.setEventsDesc(content); + + List ids = this.baseMapper.queryTermiteDetail(vo.getId()); + List files = fileService.getFilesByIds(ids.stream().map(Objects::toString).collect(Collectors.toList())); + eventsVo.setFiles(files); + list.add(eventsVo); + } + return list; + } + + private void fillFile(List list) { + if(CollectionUtils.isEmpty(list)){ + return; + } + List ids = list.stream().map(ProjectEventsVo::getId).map(Objects::toString).collect(Collectors.toList()); + List files = fileService.getFilesByIds(ids); + Map> map = files.stream().collect(Collectors.groupingBy(FileAssociations::getBusinessId)); + for (ProjectEventsVo vo : list){ + vo.setFiles(map.get(vo.getId().toString())); + } + } + + public void export(CommonDataPageSo page, HttpServletResponse response) { + List list = new ArrayList<>(); + list = queryData(page,list); + if (CollectionUtils.isNotEmpty(list)) { + list = list.stream().sorted(Comparator.comparing(ProjectEventsVo::getEventsDate).reversed()).collect(Collectors.toList()); + } + ExcelUtil.exportExcel(list,"全周期档案", ProjectEventsVo.class,response,"全周期档案"); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/RainBasinDivisionService.java b/src/main/java/com/gunshi/project/hsz/service/RainBasinDivisionService.java new file mode 100644 index 0000000..830803c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/RainBasinDivisionService.java @@ -0,0 +1,493 @@ +package com.gunshi.project.hsz.service; + +import cn.hutool.core.bean.BeanUtil; +import com.gunshi.project.hsz.entity.so.StPptnSo; +import com.gunshi.project.hsz.entity.vo.CartogramVo; +import com.gunshi.project.hsz.entity.vo.StPptnDetailsVo; +import com.gunshi.project.hsz.entity.vo.StPptnVo; +import com.gunshi.project.hsz.mapper.RealRainMapper; +import com.gunshi.project.hsz.mapper.StPptnRMapper; +import com.gunshi.project.hsz.model.StPptnRD; +import com.gunshi.project.hsz.model.StPptnRReal; +import com.gunshi.project.hsz.model.StStbprpBAutoDao; +import jakarta.annotation.Resource; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.temporal.ChronoUnit; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +/** + * Description: + * Created by wanyan on 2024/7/8 + * + * @author wanyan + * @version 1.0 + */ +@Service +@Slf4j +public class RainBasinDivisionService { + + @Autowired + private RealRainMapper realRainMapper; + + @Autowired + private StPptnRMapper stPptnRMapper; + + @Resource + private StStbprpBAutoDao stStbprpBAutoDao; + + /** + * 根据测站编码查询时间段内每小时的雨量 + * + * @param stPptnSo 雨量站降雨量查询参数 + * @return + */ + public List queryStPptnPerHourByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { + String stcd = stPptnSo.getStcd(); + List stPptnVos = realRainMapper.queryStPptnPerHourByStcdAndStartTimeAndEndTime(stcd, stPptnSo.getStartTime(), stPptnSo.getEndTime()); + SimpleDateFormat df = new SimpleDateFormat("MM-dd HH:mm"); + for (StPptnVo stPptnVo : stPptnVos) { + Date time = stPptnVo.getTime(); + stPptnVo.setTimeStr(df.format(time)); + } + return stPptnVos; + } + + /** + * 根据测站编码查询时间段内每小时的雨量统计 + * + * @param stPptnSo 雨量站降雨量查询参数 + * @return + */ + public CartogramVo queryStPptnPerHourChartByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { + //实测 + List stPptnVos1 = queryStPptnPerHourNowByStcdAndStartTimeAndEndTime(stPptnSo); + //累计 + List stPptnVos2 = queryStPptnPerHourSumByStcdAndStartTimeAndEndTime(stPptnSo); + + CartogramVo cartogramVo = new CartogramVo(); + List time = new ArrayList<>(); + List actual = new ArrayList<>(); + List total = new ArrayList<>(); + for (StPptnVo stPptnVo : stPptnVos1) { + time.add(stPptnVo.getTimeStr()); + actual.add(stPptnVo.getSumDrp()); + } + for (StPptnVo stPptnVo : stPptnVos2) { + total.add(stPptnVo.getSumDrp()); + } + cartogramVo.setTime(time); + cartogramVo.setActual(actual); + cartogramVo.setTotal(total); + return cartogramVo; + } + + /** + * 根据测站编码查询时间段内每小时的实测雨量 + * + * @param stPptnSo 雨量站降雨量查询参数 + * @return + */ + public List queryStPptnPerHourNowByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { + List stPptnVos = queryStPptnPerHourByStcdAndStartTimeAndEndTime(stPptnSo); + Collections.reverse(stPptnVos); + return stPptnVos; + } + + /** + * 根据测站编码查询时间段内每小时的累计雨量 + * + * @param stPptnSo 雨量站降雨量查询参数 + * @return + */ + public List queryStPptnPerHourSumByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { + List stPptnVos = queryStPptnPerHourNowByStcdAndStartTimeAndEndTime(stPptnSo); + BigDecimal sumdrp = BigDecimal.valueOf(0); + for (StPptnVo stPptnVo : stPptnVos) { + sumdrp = sumdrp.add(stPptnVo.getSumDrp()); + stPptnVo.setSumDrp(sumdrp); + } + return stPptnVos; + } + + /** + * 根据测站编码查询时间段内每天的雨量 + * + * @param stPptnSo 雨量站降雨量查询参数 + * @return + */ + @SneakyThrows + public List queryStPptnPerDayByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { + String stcd = stPptnSo.getStcd(); + + Date stm = stPptnSo.getStartTime(); + Date etm = stPptnSo.getEndTime(); + Date now = new Date(); + if (etm.getTime() > now.getTime()) etm = now; + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + stm = df.parse(df.format(stm)); + etm = df.parse(df.format(etm)); + Calendar cal = Calendar.getInstance(); + + List stPptnVos = new ArrayList<>(); + while (etm.getTime() >= stm.getTime()) { + cal.setTime(stm); + StPptnVo stPptnVo = new StPptnVo(); + stPptnVo.setTime(stm); + stPptnVo.setTimeStr(df.format(stm)); + int year = cal.get(Calendar.YEAR); + + StPptnRD pptnrd = realRainMapper.getStPptnRD( + stcd, stm, year + ); + if (pptnrd != null) { + stPptnVo.setSumDrp(pptnrd.getDrp()); + } + stPptnVos.add(stPptnVo); + + cal.add(Calendar.DAY_OF_MONTH, 1); + stm = cal.getTime(); + } + return stPptnVos; + } + + /** + * 根据测站编码查询时间段内每天的雨量统计 + * + * @param stPptnSo 雨量站降雨量查询参数 + * @return + */ + public CartogramVo queryStPptnPerDayChartChartByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { + //实测 + List stPptnVos1 = queryStPptnPerDayByStcdAndStartTimeAndEndTime(stPptnSo); + //累计 + List stPptnVos2 = queryStPptnPerDaySumByStcdAndStartTimeAndEndTime(stPptnSo); + + CartogramVo cartogramVo = new CartogramVo(); + List time = new ArrayList<>(); + List actual = new ArrayList<>(); + List total = new ArrayList<>(); + for (StPptnVo stPptnVo : stPptnVos1) { + time.add(stPptnVo.getTimeStr()); + actual.add(stPptnVo.getSumDrp()); + } + for (StPptnVo stPptnVo : stPptnVos2) { + total.add(stPptnVo.getSumDrp()); + } + cartogramVo.setTime(time); + cartogramVo.setActual(actual); + cartogramVo.setTotal(total); + return cartogramVo; + } + + /** + * 根据测站编码查询时间段内每天的累计雨量 + * + * @param stPptnSo 雨量站降雨量查询参数 + * @return + */ + public List queryStPptnPerDaySumByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { + List stPptnVos = queryStPptnPerDayByStcdAndStartTimeAndEndTime(stPptnSo); + BigDecimal sumdrp = BigDecimal.valueOf(0); + for (StPptnVo stPptnVo : stPptnVos) { + if (stPptnVo.getSumDrp() != null){ + sumdrp = sumdrp.add(stPptnVo.getSumDrp()); + } + stPptnVo.setSumDrp(sumdrp); + } + return stPptnVos; + } + + /** + * 根据测站编码查询详细雨量情况 + * + * @param stcd 测站编码 + * @return + */ + public StPptnDetailsVo queryStPptnDetailsByStcd(String stcd) { +// StPptnRStat stPptnRStat = stPptnRStatMapper.queryStPptnRStatByStcd(stcd); + StPptnRReal stPptnRReal = realRainMapper.queryPptnByStcd(stcd); + + StPptnDetailsVo stPptnDetailsVo = new StPptnDetailsVo(); + if (stPptnRReal != null){ + BeanUtil.copyProperties(stPptnRReal, stPptnDetailsVo); + }else { + stPptnDetailsVo.setStcd(stcd); + } + + BigDecimal value0 = new BigDecimal(0); + + Date date = new Date(); + +// //48小时降雨量 +// BigDecimal h48 = stStbprpBMapper.queryStPptn48HByStcd(stcd); +// if (h48 == null) { +// stPptnDetailsVo.setH48(value0); +// } else { +// stPptnDetailsVo.setH48(h48); +// } +// +// //今日雨量 +// BigDecimal todayDrp = queryTodayDrpByStcdAndTime(stcd, date); +// if (todayDrp == null) { +// stPptnDetailsVo.setTodayDrp(value0); +// } else { +// stPptnDetailsVo.setTodayDrp(todayDrp); +// } + + //昨日雨量 + BigDecimal yesterdayDrp = queryYesterdayDrpByStcdAndTime(stcd, date); + if (yesterdayDrp == null) { + stPptnDetailsVo.setYesterdayDrp(value0); + } else { + stPptnDetailsVo.setYesterdayDrp(yesterdayDrp); + } + + //本月降雨量 + BigDecimal monthDay = queryMonthDrpByStcdAndTime(stcd, date); + if (monthDay == null) { + stPptnDetailsVo.setMonthDrp(value0); + } else { + stPptnDetailsVo.setMonthDrp(monthDay); + } + + //本年降雨量 + BigDecimal yearDrp = queryYearDrpByStcdAndTime(stcd, date); + if (yearDrp == null) { + stPptnDetailsVo.setYearDrp(value0); + } else { + stPptnDetailsVo.setYearDrp(yearDrp); + } + + //本年天数 + Long yearDay = countYearDay(date); + stPptnDetailsVo.setYearDay(yearDay); + + Map map = queryYearDrpDayAndMaxDrpAndMaxDrpTimeByStcdAndTime(stcd, date); + + //本年降雨天数 + Long yearDrpDay = (Long) map.get("count"); + stPptnDetailsVo.setYearDrpDay(yearDrpDay); + + //本年最大日雨量 + BigDecimal maxDrp = (BigDecimal) map.get("maxDrp"); + stPptnDetailsVo.setMaxDrp(maxDrp); + + //本年最大日雨量时间 + Date maxDrpTime =(Date) map.get("maxDrpTime"); + stPptnDetailsVo.setMaxDrpTime(maxDrpTime); + return stPptnDetailsVo; + } + + /** + * 根据测站编码和时间查看昨日降雨量 + * + * @param stcd 测站编码 + * @param time 当前时间 + * @return 昨日降雨量 + */ + public BigDecimal queryYesterdayDrpByStcdAndTime(String stcd, Date time) { + LocalDateTime now = LocalDateTime.ofInstant(time.toInstant(), ZoneId.systemDefault()); + LocalDateTime startTime; + LocalDateTime endTime; + LocalDateTime yesterday = now.minusDays(1); + if (now.getHour() >= 8) { + startTime = LocalDateTime.of( + yesterday.getYear(), + yesterday.getMonthValue(), + yesterday.getDayOfMonth(), + 8, + 0, + 0 + ); + endTime = LocalDateTime.of( + now.getYear(), + now.getMonthValue(), + now.getDayOfMonth(), + 8, + 0, + 0 + ); + } else { + endTime = endTime = LocalDateTime.of( + yesterday.getYear(), + yesterday.getMonthValue(), + yesterday.getDayOfMonth(), + 8, + 0, + 0 + ); + yesterday = yesterday.minusDays(1); + startTime = LocalDateTime.of( + yesterday.getYear(), + yesterday.getMonthValue(), + yesterday.getDayOfMonth(), + 8, + 0, + 0 + ); + } + + return stPptnRMapper.queryStPptnTimeQuantumByStcdAndTime( + stcd, + Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), + Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant()) + ); + + } + + /** + * 根据测站编码和时间查看本月降雨量 + * + * @param stcd 测站编码 + * @param time 当前时间 + * @return 本月降雨量 + */ + public BigDecimal queryMonthDrpByStcdAndTime(String stcd, Date time) { + LocalDateTime now = LocalDateTime.ofInstant(time.toInstant(), ZoneId.systemDefault()); + LocalDateTime startTime; + LocalDateTime endTime; + if (now.getHour() >= 8 || (now.getHour() < 8 && now.getDayOfMonth() > 1)) { + startTime = LocalDateTime.of( + now.getYear(), + now.getMonthValue(), + 1, + 8, + 0, + 0 + ); + endTime = now; + return stPptnRMapper.queryStPptnTimeQuantumByStcdAndTime( + stcd, + Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), + Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant()) + ); + + } + BigDecimal monthdrp = BigDecimal.valueOf(0); + return monthdrp; + + } + + /** + * 根据测站编码和时间查看本年降雨量 + * + * @param stcd 测站编码 + * @param time 当前时间 + * @return 本年降雨量 + */ + public BigDecimal queryYearDrpByStcdAndTime(String stcd, Date time) { + LocalDateTime now = LocalDateTime.ofInstant(time.toInstant(), ZoneId.systemDefault()); + LocalDateTime startTime; + LocalDateTime endTime; + if (now.getHour() >= 8 || (now.getHour() < 8 && now.getMonthValue() > 1) || (now.getHour() < 8 && now.getMonthValue() == 1 && now.getDayOfMonth() >= 1)) { + startTime = LocalDateTime.of( + now.getYear(), + 1, + 1, + 8, + 0, + 0 + ); + endTime = now; + return stPptnRMapper.queryStPptnTimeQuantumByStcdAndTime( + stcd, + Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), + Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant()) + ); + } + BigDecimal monthDrp = BigDecimal.valueOf(0); + return monthDrp; + } + + /** + * 根据测站编码和时间查询本年降雨天数、本年最大日雨量、本年最大日雨量时间 + * + * @param stcd 测站编码 + * @param time 当前时间 + * @return 本年降雨天数、本年最大日雨量、本年最大日雨量时间 + */ + public Map queryYearDrpDayAndMaxDrpAndMaxDrpTimeByStcdAndTime(String stcd, Date time) { + Date now = new Date(); + Date startTime = new Date(now.getYear(), 0, 1, 8, 0, 0); + + BigDecimal maxDrp = BigDecimal.valueOf(0); + Date maxDrpTime = startTime; + Long count = 0L; + Map map = new HashMap<>(); + map.put("count", count); + map.put("maxDrp", maxDrp); + map.put("maxDrpTime", maxDrpTime); + +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq(StStbprpB.COL_STCD,stcd); + +// StStbprpB stStbprpB = stStbprpBAutoDao.getOne(queryWrapper); + StPptnRD stPptnRD = realRainMapper.getMaxOfYear(stcd,now.getYear() + 1900); + if (stPptnRD == null){ + return map; + } + + count = realRainMapper.getRainOfDayInYear(stcd, now.getYear()+1900); + map.put("count", count); + map.put("maxDrp", stPptnRD.getDrp()); + map.put("maxDrpTime", stPptnRD.getTm()); + return map; + } + + /** + * 计算本年天数 + * + * @param time 当前时间 + * @return 本年天数 + */ + public Long countYearDay(Date time) { + LocalDateTime now = LocalDateTime.ofInstant(time.toInstant(), ZoneId.systemDefault()); + LocalDateTime startTime = LocalDateTime.of(now.getYear(), 1, 1, 8, 0, 0); + long count = ChronoUnit.DAYS.between(startTime, now); + return count + 1; + } + + public StPptnRReal maxRain(StPptnSo stPptnSo) { + StPptnRReal stPptnRReal = new StPptnRReal(); + List stPptnVos = realRainMapper.queryStPptnPerHourByStcdAndStartTimeAndEndTime(stPptnSo.getStcd(), stPptnSo.getStartTime(), stPptnSo.getEndTime()); + if (stPptnVos == null || stPptnVos.isEmpty()) { + return null; + } + stPptnRReal.setH1(stPptnVos.stream().max(Comparator.comparing(StPptnVo::getSumDrp)).get().getSumDrp()); + Collections.reverse(stPptnVos); + List list = Arrays.asList(3, 6, 12); + for(Integer num : list){ + BigDecimal data = calcMaxData(num,stPptnVos); + if(num == 3){ + stPptnRReal.setH3(data); + } + if(num == 6){ + stPptnRReal.setH6(data); + } + if(num == 12){ + stPptnRReal.setH12(data); + } + } + return stPptnRReal; + } + + private BigDecimal calcMaxData(Integer num, List stPptnVos) { + List list = stPptnVos.stream().map(StPptnVo::getSumDrp).collect(Collectors.toList()); + return IntStream.range(0, list.size() - num -1) + .mapToObj(i -> list.subList(i, Math.min(i + num, list.size()))) // 获取每几个数的子列表 + .map(sublist -> sublist.stream().reduce(BigDecimal.ZERO, BigDecimal::add)) + .max(BigDecimal::compareTo) + .orElse(BigDecimal.ZERO); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/service/RealRainService.java b/src/main/java/com/gunshi/project/hsz/service/RealRainService.java new file mode 100644 index 0000000..845146d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/RealRainService.java @@ -0,0 +1,41 @@ +package com.gunshi.project.hsz.service; + +import com.gunshi.project.hsz.entity.so.RealRainBaseSo; +import com.gunshi.project.hsz.entity.vo.RealRainListVo; +import com.gunshi.project.hsz.mapper.RealRainMapper; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Comparator; +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/7/8 + * + * @author wanyan + * @version 1.0 + */ +@Service +@Data +@Slf4j +public class RealRainService { + + @Autowired + private RealRainMapper realRainMapper; + + /** + * 实时雨情-降雨信息-查询接口 + * + * @param realRainBaseSo + * @return + */ + public List getRealRainList(RealRainBaseSo realRainBaseSo) { + List result = realRainMapper.getRealRainList(realRainBaseSo.getStm(), realRainBaseSo.getEtm()); + + result.sort(Comparator.comparing(RealRainListVo::getDrp, Comparator.nullsFirst(Double::compareTo)).reversed().thenComparing(RealRainListVo::getStcd)); + return result; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java b/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java new file mode 100644 index 0000000..1a6e961 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java @@ -0,0 +1,103 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.gunshi.project.hsz.entity.vo.ResBriefVo; +import com.gunshi.project.hsz.model.AttResBase; +import com.gunshi.project.hsz.model.ResBriefR; +import com.gunshi.project.hsz.model.StPptnR; +import com.gunshi.project.hsz.model.StStbprpB; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.*; + +/** + * @author lyf + * @since 2025-04-25 + */ +@EnableScheduling +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ResBriefRService extends com.gunshi.project.hsz.model.ResBriefRAutoDao { + @Autowired + private StPptnRService pptnService; + + @Autowired + private StStbprpBService stbprpService; + + @Autowired + private StRsvrRService rsvrService; + + @Autowired + private StZvarlBService zvarlService; + + @Autowired + private AttResBaseService resService; + + //每天早上8点30分执行一次 + @Scheduled(cron = "0 30 8 * * ?") + public void scheduledScan() { + List pptnStations = stbprpService.getPptnStations(); + List pptnVos = new ArrayList<>(); + pptnStations.forEach(stStbprpB -> { + String stcd = stStbprpB.getStcd(); + String stnm = stStbprpB.getStnm(); + + ResBriefVo.PptnVo pptnVo = new ResBriefVo.PptnVo(); + pptnVo.setStcd(stcd); + pptnVo.setStnm(stnm); + pptnVos.add(pptnVo); + + BigDecimal drp24 = pptnService.getdrp24SumByStcd(stcd); + StPptnR drpMax = pptnService.getdrp24MaxByStcd(stcd); + pptnVo.setDrp24Sum(drp24); + pptnVo.setDrp24Max(new BigDecimal(drpMax.getDrp())); + pptnVo.setMaxTm(drpMax.getTm()); + }); + + AttResBase res = resService.list().getFirst(); + BigDecimal flLowLimLev = res.getFlLowLimLev(); + String stcd = res.getStcd(); + BigDecimal rz8 = rsvrService.getRz8ByStcd(stcd); + BigDecimal rzYesterday8 = rsvrService.getRzYesterday8ByStcd(stcd); + BigDecimal w = zvarlService.getWFromZvarl(rz8, null); + ResBriefVo vo = new ResBriefVo(); + vo.setRz8(rz8); + vo.setRzYesterday8(rzYesterday8); + vo.setW(w); + vo.setFlLowLimLev(flLowLimLev); + + ResBriefVo.PptnVo pptnDrp24Sum = pptnVos.stream().max(Comparator.comparing(ResBriefVo.PptnVo::getDrp24Sum)).orElse(null); + vo.setDrp24Sum(pptnDrp24Sum != null ? pptnDrp24Sum.getDrp24Sum() : null); + vo.setSumStnm(pptnDrp24Sum != null ? pptnDrp24Sum.getStnm() : null); + ResBriefVo.PptnVo pptnDrp24Max = pptnVos.stream().max(Comparator.comparing(ResBriefVo.PptnVo::getDrp24Max)).orElse(null); + vo.setDrp24Max(pptnDrp24Max != null ? pptnDrp24Max.getDrp24Max() : null); + vo.setMaxTm(pptnDrp24Max != null ? pptnDrp24Max.getMaxTm() : null); + vo.setMaxStnm(pptnDrp24Max != null ? pptnDrp24Max.getStnm() : null); + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + vo.setDate(calendar.getTime()); + + save(vo); + } + + public List getResBriefList(Date startDate, Date endDate) { + List list = list(new QueryWrapper().between("date", startDate, endDate).orderByDesc("date")); + list.forEach(item -> { + item.setBrief(item.getBrief()); + }); + return list; + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/service/ResFloodRoadService.java b/src/main/java/com/gunshi/project/hsz/service/ResFloodRoadService.java new file mode 100644 index 0000000..c44c5ec --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ResFloodRoadService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ResFloodRoadMapper; +import com.gunshi.project.hsz.model.ResFloodRoad; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 防汛道路 + * author: xusan + * date: 2024-11-14 10:37:15 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ResFloodRoadService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ResMangUnitService.java b/src/main/java/com/gunshi/project/hsz/service/ResMangUnitService.java new file mode 100644 index 0000000..252bf61 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ResMangUnitService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ResMangUnitMapper; +import com.gunshi.project.hsz.model.ResMangUnit; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水库管理单位表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ResMangUnitService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ResMonthEcoFlowService.java b/src/main/java/com/gunshi/project/hsz/service/ResMonthEcoFlowService.java new file mode 100644 index 0000000..d89e184 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ResMonthEcoFlowService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ResMonthEcoFlowMapper; +import com.gunshi.project.hsz.model.ResMonthEcoFlow; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水库月核定生态流量表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ResMonthEcoFlowService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ResPersonService.java b/src/main/java/com/gunshi/project/hsz/service/ResPersonService.java new file mode 100644 index 0000000..c108a09 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ResPersonService.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ResPersonMapper; +import com.gunshi.project.hsz.model.ResPerson; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Description: + * Created by XuSan on 2024/9/23. + * + * @author XuSan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ResPersonService extends ServiceImpl +{ +} diff --git a/src/main/java/com/gunshi/project/hsz/service/ResPlanBService.java b/src/main/java/com/gunshi/project/hsz/service/ResPlanBService.java new file mode 100644 index 0000000..48c44d5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ResPlanBService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ResPlanBMapper; +import com.gunshi.project.hsz.model.ResPlanB; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水库预案表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ResPlanBService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ResProjectImgService.java b/src/main/java/com/gunshi/project/hsz/service/ResProjectImgService.java new file mode 100644 index 0000000..af20752 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ResProjectImgService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ResProjectImgMapper; +import com.gunshi.project.hsz.model.ResProjectImg; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水库工程图片 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ResProjectImgService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ResSafePersonBService.java b/src/main/java/com/gunshi/project/hsz/service/ResSafePersonBService.java new file mode 100644 index 0000000..5089ec2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ResSafePersonBService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ResSafePersonBMapper; +import com.gunshi.project.hsz.model.ResSafePersonB; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水库责任体系表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ResSafePersonBService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ResTunnelService.java b/src/main/java/com/gunshi/project/hsz/service/ResTunnelService.java new file mode 100644 index 0000000..54bc168 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ResTunnelService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.ResTunnelMapper; +import com.gunshi.project.hsz.model.ResTunnel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水库建筑物 - 放空洞/灌溉发电洞 + * author: xusan + * date: 2024-11-14 10:34:12 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ResTunnelService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/RescueGoodsService.java b/src/main/java/com/gunshi/project/hsz/service/RescueGoodsService.java new file mode 100644 index 0000000..2e3e23f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/RescueGoodsService.java @@ -0,0 +1,97 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.hsz.entity.so.RescueGoodsPageSo; +import com.gunshi.project.hsz.mapper.RescueGoodsMapper; +import com.gunshi.project.hsz.model.RescueGoodsB; +import com.gunshi.project.hsz.model.RescueGoodsBAutoDao; +import com.gunshi.project.hsz.model.RescueGoodsBAutoMapper; +import com.gunshi.project.hsz.model.RescueGoodsFile; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/3/20 + * + * @author wanyan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class RescueGoodsService + extends AbstractModelWithAttachService< + RescueGoodsB, + RescueGoodsBAutoMapper, + RescueGoodsBAutoDao, + RescueGoodsFile, + com.gunshi.project.hsz.model.RescueGoodsFileAutoMapper, + com.gunshi.project.hsz.model.RescueGoodsFileAutoDao + > +{ + + @Autowired + private RescueGoodsBAutoDao autoDao; + + @Autowired + private com.gunshi.project.hsz.model.RescueGoodsFileAutoDao attachFileAutoDao; + + @Resource + private RescueGoodsMapper rescueGoodsMapper; + + + public Page pageQuery(RescueGoodsPageSo RescueGoodsPageSo) { + return rescueGoodsMapper.pageQuery(RescueGoodsPageSo.getPageSo().toPage(),RescueGoodsPageSo); + } + + + @Override + RescueGoodsBAutoDao getAutoDao() { + return autoDao; + } + + @Override + com.gunshi.project.hsz.model.RescueGoodsFileAutoDao getAttachFileAutoDao() { + return attachFileAutoDao; + } + + @Override + List createAttachList(RescueGoodsB RescueGoodsB) { + List fileIds = RescueGoodsB.getFileIds(); + if (fileIds == null) return null; + List attachList = new ArrayList<>(); + for (String fileId : fileIds) { + RescueGoodsFile attach = new RescueGoodsFile(); + attach.setFileId(Long.valueOf(fileId)); + attach.setGoodsId(RescueGoodsB.getGoodsId()); + attach.setTm(new Date()); + attach.setId(IdWorker.getId()); + attachList.add(attach); + } + return attachList; + } + + @Override + Object getModelId(RescueGoodsB RescueGoodsB) { + return RescueGoodsB.getGoodsId(); + } + + @Override + public String getAttachBzIdName() { + return "goods_id"; + } + + public List detail(Long goodsId) { + return rescueGoodsMapper.detail(goodsId); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/RescueTeamService.java b/src/main/java/com/gunshi/project/hsz/service/RescueTeamService.java new file mode 100644 index 0000000..1495aab --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/RescueTeamService.java @@ -0,0 +1,138 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.RescueTeamPageSo; +import com.gunshi.project.hsz.entity.vo.RescueTeamVo; +import com.gunshi.project.hsz.mapper.RescueTeamBMapper; +import com.gunshi.project.hsz.mapper.RescueTeamFileMapper; +import com.gunshi.project.hsz.model.RescueTeamB; +import com.gunshi.project.hsz.model.RescueTeamDetail; +import com.gunshi.project.hsz.model.RescueTeamFile; +import com.gunshi.project.hsz.model.RescueTeamFileAutoDao; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * Description: + * Created by wanyan on 2024/3/18 + * + * @author wanyan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class RescueTeamService extends AbstractModelWithAttachService{ + @Autowired + private com.gunshi.project.hsz.model.RescueTeamBAutoDao autoDao; + + @Autowired + private RescueTeamFileAutoDao attachFileAutoDao; + + + @Resource + private RescueTeamBMapper rescueTeamMapper; + + @Resource + private RescueTeamFileMapper rescueTeamFileMapper; + + @Resource + private com.gunshi.project.hsz.model.RescueTeamDetailAutoDao detailAutoDao; + + public Page pageQuery(RescueTeamPageSo rescueTeamPageSo) { + return rescueTeamMapper.pageQuery(rescueTeamPageSo.getPageSo().toPage(),rescueTeamPageSo); + } + + public RescueTeamB detail(Long teamId) { + RescueTeamB team = rescueTeamMapper.selectById(teamId); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(RescueTeamDetail::getTeamId, teamId); + team.setDetails(detailAutoDao.list(queryWrapper)); + + team.setFiles(rescueTeamFileMapper.queryFiles(teamId)); + + return team; + } + + public void saveDetailAndObj(RescueTeamB model, long teamId) { + List details = model.getDetails(); + if(CollectionUtils.isNotEmpty(details)){ + detailAutoDao.saveBatch(details.stream().map(o->{ + o.setDetailId(IdWorker.getId()); + o.setTeamId(teamId); + return o; + }).collect(Collectors.toList())); + } + } + + public void updateDetailAndObj(RescueTeamB model) { + //根据teamId删除队伍明细和服务对象 + Long teamId = model.getTeamId(); + deleteDetailAndObj(teamId); + saveDetailAndObj(model,teamId); + } + + private void deleteDetailAndObj(Long teamId){ + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(RescueTeamDetail::getTeamId,teamId); + detailAutoDao.remove(queryWrapper); + + } + + public Boolean delete(Long teamId) { + deleteDetailAndObj(teamId); + rescueTeamFileMapper.delete(new LambdaUpdateWrapper() + .eq(RescueTeamFile::getTeamId,teamId)); + int i = rescueTeamMapper.deleteById(teamId); + return i > 0 ; + } + + @Override + com.gunshi.project.hsz.model.RescueTeamBAutoDao getAutoDao() { + return autoDao; + } + + @Override + RescueTeamFileAutoDao getAttachFileAutoDao() { + return attachFileAutoDao; + } + + @Override + List createAttachList(RescueTeamB RescueTeamB) { + List fileIds = RescueTeamB.getFileIds(); + if (fileIds == null) return null; + List attachList = new ArrayList<>(); + for (String fileId : fileIds) { + RescueTeamFile attach = new RescueTeamFile(); + attach.setFileId(Long.valueOf(fileId)); + attach.setTeamId(RescueTeamB.getTeamId()); + attach.setTm(new Date()); + attach.setId(IdWorker.getId()); + attachList.add(attach); + } + return attachList; + } + + @Override + Object getModelId(RescueTeamB rescueTeamB) { + return rescueTeamB.getTeamId(); + } + + @Override + public String getAttachBzIdName() { + return "team_id"; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/ReservoirWaterService.java b/src/main/java/com/gunshi/project/hsz/service/ReservoirWaterService.java new file mode 100644 index 0000000..1ff4b42 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ReservoirWaterService.java @@ -0,0 +1,303 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.hsz.entity.so.DataQueryCommonSo; +import com.gunshi.project.hsz.entity.so.PicQuerySo; +import com.gunshi.project.hsz.entity.so.ReservoirWaterCommonSo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.mapper.AttResBaseMapper; +import com.gunshi.project.hsz.mapper.StZvarlBMapper; +import com.gunshi.project.hsz.model.*; +import com.gunshi.project.hsz.util.DateUtil; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Description: + * Created by wanyan on 2024/7/8 + * + * @author wanyan + * @version 1.0 + */ +@Service +@Slf4j +public class ReservoirWaterService { + + @Resource + private AttResBaseMapper attResBaseMapper; + + @Resource + private StZvarlBMapper stZvarlBMapper; + + @Resource + private RainBasinDivisionService rainBasinDivisionService; + + @Autowired + private StZvarlBService stZvarlBService; + + public List list() { + List attResBaseVos = attResBaseMapper.queryList(); + if(CollectionUtils.isEmpty(attResBaseVos)){ + return attResBaseVos; + } + attResBaseVos.stream().map(o->{ + if(o.getCalState() == 1){ + o.setDesState(0); + o.setFlState(0); + }else if(o.getCalState() == 0 && o.getDesState() ==1){ + o.setFlState(0); + } + return o; + }).collect(Collectors.toList()); + + for (AttResBaseVo vo : attResBaseVos) { + BigDecimal rz = vo.getRz(); + List zvarlList = stZvarlBMapper.selectList(null); + for (StZvarlB zvarl : zvarlList) { + if (zvarl.getRz().equals(rz)) { + vo.setNowCap(zvarl.getW()); + break; + } + } + } + //查询所有测站的库容曲线 +// List zvarlList = queryZval(attResBaseVos.stream().map(AttResBaseVo::getStcd).collect(Collectors.toList())); +// Map> zvalMap = zvarlList.stream().collect(Collectors.groupingBy(StZvarlB::getStcd)); +// for(AttResBaseVo vo : attResBaseVos){ +// String stcd = vo.getStcd(); +// BigDecimal rz = vo.getRz(); +// //计算当前库容 +// List zvarlBS = zvalMap.get(stcd); +// if(rz != null && CollectionUtils.isNotEmpty(zvarlBS)){ +// BigDecimal maxRz = zvarlBS.stream().max(Comparator.comparing(StZvarlB::getRz)).get().getRz(); +// BigDecimal minRz = zvarlBS.stream().min(Comparator.comparing(StZvarlB::getRz)).get().getRz(); +// if(rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0){ +// //当期水位库容 +// StZvarlB equals = zvarlBS.stream().filter(e -> e.getRz().compareTo(vo.getRz()) == 0).findFirst().orElse(new StZvarlB()); +// //死水位库容 +// StZvarlB dead = zvarlBS.stream().filter(e -> e.getRz().compareTo(vo.getDeadCap()) == 0).findFirst().orElse(new StZvarlB()); +// if(Objects.nonNull(equals) && Objects.nonNull(dead)){ +// BigDecimal subtract = equals.getW().subtract(dead.getW()); +// vo.setNowCap(subtract); +// } +// continue; +// } +// Map stZvalMap = zvarlBS.stream().collect(Collectors.toMap(StZvarlB::getRz, StZvarlB::getW)); +// List list = zvarlBS.stream().map(StZvarlB::getRz).sorted().collect(Collectors.toList()); +// vo.setNowCap(DataHandleUtil.calcData(rz,stZvalMap,list)); +// } +// } + return attResBaseVos; + } + + + public List listV2() { + List voList = attResBaseMapper.queryListV2(); + if(CollectionUtils.isEmpty(voList)){ + return voList; + } + + List zvarlList = stZvarlBService.list(); + voList.forEach(vo -> { + if(vo.getCalState() == 1){ + vo.setDesState(0); + vo.setFlState(0); + }else if(vo.getCalState() == 0 && vo.getDesState() ==1){ + vo.setFlState(0); + } + + BigDecimal rz = vo.getRz(); + BigDecimal w = stZvarlBService.getWFromZvarl(rz, null, zvarlList); + vo.setNowCap(w); + }); + + return voList; + } + + private List queryZval(List stcdList) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.in(StZvarlB::getStcd, stcdList); + return stZvarlBMapper.selectList(queryWrapper); + } + + public List realImg(ReservoirWaterCommonSo reservoirWaterCommonSo) { + return attResBaseMapper.realImg(reservoirWaterCommonSo.getResCode()); + } + + public List zvarl(String stcd) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + return stZvarlBMapper.selectList(queryWrapper); + } + + public List monitorData(DataQueryCommonSo dataQueryCommonSo) { + String stcd = dataQueryCommonSo.getStcd(); + //雨量数据 + List drpData = attResBaseMapper.drpData(dataQueryCommonSo); + //水位数据 + List rzData = attResBaseMapper.rzData(dataQueryCommonSo); + //获取库容曲线关系,算出库容 + List zvarl = zvarl(stcd); + if(CollectionUtils.isNotEmpty(zvarl)){ + calcTqData(rzData,zvarl); + } + //根据监测时间合并雨量和水位数据 + return bindData(stcd,drpData,rzData); + } + + private void calcTqData(List rzData, List zqrl) { + /* 前期库容曲线数据不足,采用了计算近似值,废弃,直接查表 + BigDecimal maxRz = zqrl.stream().max(Comparator.comparing(StZvarlB::getRz)).get().getRz(); + BigDecimal minRz = zqrl.stream().min(Comparator.comparing(StZvarlB::getRz)).get().getRz(); + Map map = zqrl.stream().collect(Collectors.toMap(StZvarlB::getRz, StZvarlB::getW, + (existing, replacement) -> existing)); + + * 根据监测水位和库容曲线计算出当前库容 + * 计算规则:1.监测水位不在库容曲线范围内,无法计算当前库容 + * 2.找出与监测水位最接近的一组水位值,算出比例,根据比例计算库容:如监测水位为10,最相近的一组水位值为9-11,对应的库容为4-5 + * 则计算公式为1/2 = x/1 x=0.5 当前库容=4+0.5=4.5 + + List list = zqrl.stream().map(StZvarlB::getRz).collect(Collectors.toList()); + for (AttResMonitorVo vo : rzData) { + BigDecimal rz = vo.getRz(); + if (rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0) { + continue; + } + vo.setW(DataHandleUtil.calcData(rz, map, list)); + } + */ + //zqrl转map,用rz值做key,bigdecimal的精度设置为3位 + Map map = zqrl.stream().collect(Collectors.toMap(v -> v.getRz().setScale(3, RoundingMode.UNNECESSARY), v -> v.getW())); + for (AttResMonitorVo vo : rzData) { + BigDecimal rz = vo.getRz().setScale(3, RoundingMode.UNNECESSARY); + if (map.containsKey(rz)) { + vo.setW(map.get(rz)); + } + } + } + + private List bindData(String stcd,List drpData, List rzData) { + HashSet strings = new HashSet<>(); + drpData.stream().forEach(v1 -> strings.add(v1.getTm())); + rzData.stream().forEach(v1 -> strings.add(v1.getTm())); + + ArrayList result = new ArrayList<>(); + strings.stream().forEach(v1 -> result.add(AttResMonitorVo.builder().stcd(stcd).tm(v1).build())); + + List list = result.stream().map(v1 -> { + drpData.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setDrp(v2.getDrp()); + }); + + rzData.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setRz(v2.getRz()); + v1.setW(v2.getW()); + }); + return v1; + }).collect(Collectors.toList()); + return list.stream().sorted(Comparator.comparing(AttResMonitorVo::getTm).reversed()).collect(Collectors.toList()); + } + + public StRsvrVo rz(ReservoirWaterCommonSo reservoirWaterCommonSo) { + StRsvrVo vo = new StRsvrVo(); + String resCode = reservoirWaterCommonSo.getResCode(); + AttResBase attResBase = attResBaseMapper.selectById(resCode); + vo.setFlLowLimLev(attResBase.getFlLowLimLev()); + //默认查询近一周水位 + String endTime = DateUtil.convertDateToMDSString(new Date()); + String startTime = DateUtil.getMinusTime(endTime, 7 * 24); + vo.setList(attResBaseMapper.queryRzList(attResBase.getStcd(),startTime,endTime)); + return vo; + } + + public AttRvMonitorDetailVo detail(String stcd) { + AttRvMonitorDetailVo vo = new AttRvMonitorDetailVo(); + StPptnDetailsVo stPptnDetailsVo = rainBasinDivisionService.queryStPptnDetailsByStcd(stcd); + BeanUtils.copyProperties(stPptnDetailsVo,vo,AttRvMonitorDetailVo.class); + + //最新水位 + AttResMonitorVo monitorVo = attResBaseMapper.latestRz(stcd); + if(monitorVo == null){ + return vo; + } + Date tm = monitorVo.getTm(); + BigDecimal rz = monitorVo.getRz(); + + //最新水位时间往前推24小时水位 + LocalDateTime now = LocalDateTime.ofInstant(tm.toInstant(), ZoneId.systemDefault()); + LocalDateTime dateTime = now.minusDays(1); + BigDecimal oldRz = attResBaseMapper.oldRz(stcd,2,Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant())); + + if(oldRz != null){ + vo.setRzDiff(rz.subtract(oldRz)); + } + + //本年最高水位 + BigDecimal maxYearRz = queryYearRzByStcdAndTime(stcd); + vo.setMaxRz(maxYearRz); + return vo; + } + + private BigDecimal queryYearRzByStcdAndTime(String stcd) { + LocalDateTime now = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()); + LocalDateTime startTime; + LocalDateTime endTime; + if (now.getHour() >= 8 || (now.getHour() < 8 && now.getMonthValue() > 1) || (now.getHour() < 8 && now.getMonthValue() == 1 && now.getDayOfMonth() >= 1)){ + startTime = LocalDateTime.of( + now.getYear(), + 1, + 1, + 8, + 0, + 0 + ); + endTime = now; + return attResBaseMapper.queryMaxRzByStcdAndTime(stcd,Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant())); + } + return new BigDecimal(0); + } + + public List channel(String resCode) { + return attResBaseMapper.channel(resCode); + } + + public Page imageInfo(PicQuerySo picQuerySo) { + return attResBaseMapper.imageInfo(picQuerySo.getPageSo().toPage(),picQuerySo); + } + + public List data(DataQueryCommonSo dataQueryCommonSo) { + String stcd = dataQueryCommonSo.getStcd(); + //水位数据 + List rzData = attResBaseMapper.rzData(dataQueryCommonSo); + //获取库容曲线关系,算出库容 + List zvarl = zvarl(stcd); + if(CollectionUtils.isNotEmpty(zvarl)){ + calcTqData(rzData,zvarl); + } + return rzData; + } + + public Page dataPage(PicQuerySo picQuerySo) { + String stcd = picQuerySo.getStcd(); + //水位数据 + Page rzData = attResBaseMapper.rzDataPage(picQuerySo.getPageSo().toPage(),picQuerySo); + //获取库容曲线关系,算出库容 + List zvarl = zvarl(stcd); + if(CollectionUtils.isNotEmpty(zvarl)){ + calcTqData(rzData.getRecords(),zvarl); + } + return rzData; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/RiskControlInfoService.java b/src/main/java/com/gunshi/project/hsz/service/RiskControlInfoService.java new file mode 100644 index 0000000..12cf4b1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/RiskControlInfoService.java @@ -0,0 +1,109 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.AttCctvBasePage; +import com.gunshi.project.hsz.mapper.RiskControlInfoMapper; +import com.gunshi.project.hsz.model.BzDictRel; +import com.gunshi.project.hsz.model.RiskControlInfo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 描述: 风险管控清单 + * author: xusan + * date: 2024-08-22 14:17:28 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class RiskControlInfoService extends ServiceImpl +{ + @Autowired + private FileAssociationsService fileService; + + @Autowired + private BzDictRelService bzDictRelService; + + public RiskControlInfo saveData(RiskControlInfo dto) { + dto.setId(IdWorker.getId()); + dto.setCreateDate(new Date()); + boolean result = this.save(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + bzDictRelService.saveRel(dto.getResult(),dto.getId(),getGroupId()); + } + return dto; + } + + public RiskControlInfo updateData(RiskControlInfo dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + bzDictRelService.updateRel(dto.getResult(),dto.getId(),getGroupId()); + } + return dto; + } + + public Boolean delData(Long id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + bzDictRelService.deleteRel(id); + } + return data; + } + + public String getGroupId() { + return "riskControlInfo"; + } + + public Page pageQuery(AttCctvBasePage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getMenuId())) { + query.eq(RiskControlInfo::getMenuId, page.getMenuId()); + } + query.orderByDesc(RiskControlInfo::getCreateDate); + Page res = this.page(page.getPageSo().toPage(), query); + if (res.getRecords() != null && res.getRecords().size() > 0) { + fillAttach(res.getRecords()); + fillRel(res.getRecords()); + } + return res; + } + + private void fillRel(List records) { + List ids = records.stream().map(RiskControlInfo::getId).collect(Collectors.toList()); + List relList = this.baseMapper.queryRelList(ids); + Map> map = relList.stream().collect(Collectors.groupingBy(BzDictRel::getBusinessId)); + for (RiskControlInfo record : records) { + record.setResult(map.get(record.getId())); + } + } + + private void fillAttach(List ret) { + for (RiskControlInfo record : ret) { + record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); + } + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/RiskControlMenuService.java b/src/main/java/com/gunshi/project/hsz/service/RiskControlMenuService.java new file mode 100644 index 0000000..9e08d90 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/RiskControlMenuService.java @@ -0,0 +1,91 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.RiskControlInfoMapper; +import com.gunshi.project.hsz.mapper.RiskControlMenuMapper; +import com.gunshi.project.hsz.model.RiskControlInfo; +import com.gunshi.project.hsz.model.RiskControlMenu; +import com.gunshi.util.common.tree.TreeUtil; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 风险管控目录 + * author: xusan + * date: 2024-08-22 14:16:35 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class RiskControlMenuService extends ServiceImpl +{ + + @Resource + private RiskControlInfoMapper riskControlInfoMapper; + + public RiskControlMenu saveData(RiskControlMenu dto) { + if (Objects.isNull(dto.getParentId())){ + dto.setParentId(0L); + } + dto.setId(IdWorker.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("parent_id", dto.getParentId()); + queryWrapper.orderBy(true, false, "order_index"); + RiskControlMenu lastOne = super.getOne(queryWrapper, false); + int order = 0; + if (lastOne == null) { + order = 1; + } else { + order = lastOne.getOrderIndex() + 1; + } + dto.setOrderIndex(order); + this.save(dto); + return dto; + } + + public RiskControlMenu updateData(RiskControlMenu dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + this.updateById(dto); + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + Long count = this.lambdaQuery() + .eq(RiskControlMenu::getParentId, id) + .count(); + if(count > 0){ + throw new IllegalArgumentException("请先删除下级目录"); + } + //判断是否关联风险清单 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(RiskControlInfo::getMenuId,id); + if(riskControlInfoMapper.selectCount(wrapper) > 0){ + throw new IllegalArgumentException("请先删除关联的风险管控清单"); + } + return this.removeById(id); + } + + public List tree() { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.orderBy(true, true, RiskControlMenu::getOrderIndex); + List list = this.list(queryWrapper); + return TreeUtil.list2ListTree(list, 0L, RiskControlMenu::getId, RiskControlMenu::getParentId, RiskControlMenu::setChildren, null); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/RiverWaterService.java b/src/main/java/com/gunshi/project/hsz/service/RiverWaterService.java new file mode 100644 index 0000000..104b6ca --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/RiverWaterService.java @@ -0,0 +1,163 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.gunshi.project.hsz.entity.so.DataQueryCommonSo; +import com.gunshi.project.hsz.entity.vo.AttRvBaseVo; +import com.gunshi.project.hsz.entity.vo.AttRvMonitorDetailVo; +import com.gunshi.project.hsz.entity.vo.AttRvMonitorVo; +import com.gunshi.project.hsz.entity.vo.StPptnDetailsVo; +import com.gunshi.project.hsz.mapper.AttResBaseMapper; +import com.gunshi.project.hsz.mapper.StZqrlBMapper; +import com.gunshi.project.hsz.model.StZqrlB; +import com.gunshi.project.hsz.util.DataHandleUtil; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Description: + * Created by wanyan on 2024/2/21 + * + * @author wanyan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class RiverWaterService { + + @Resource + private AttResBaseMapper attRvBaseMapper; + + @Resource + private StZqrlBMapper stZqrlBMapper; + + @Resource + private RainBasinDivisionService rainBasinDivisionService; + + public List list() { + List attRvBaseVos = attRvBaseMapper.queryWaterList(); + if(CollectionUtils.isEmpty(attRvBaseVos)){ + return attRvBaseVos; + } + return attRvBaseVos; + } + + public List zqrl(String stcd) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(StZqrlB::getStcd, stcd).orderByAsc(StZqrlB::getPtno); + return stZqrlBMapper.selectList(queryWrapper); + } + + + public List monitorData(DataQueryCommonSo dataQueryCommonSo) { + String stcd = dataQueryCommonSo.getStcd(); + //雨量数据 + List drpData = attRvBaseMapper.drp(dataQueryCommonSo); + //水位数据 + List rzData = attRvBaseMapper.rz(dataQueryCommonSo); + //获取水位流量关系,算出转换流量 + List zqrl = zqrl(stcd); + if(CollectionUtils.isNotEmpty(zqrl)){ + calcTqData(rzData,zqrl); + } + //根据监测时间合并雨量和水位数据 + return bindData(stcd,drpData,rzData); + } + + private List bindData(String stcd, List drpData, List rzData) { + HashSet strings = new HashSet<>(); + drpData.stream().forEach(v1 -> strings.add(v1.getTm())); + rzData.stream().forEach(v1 -> strings.add(v1.getTm())); + + ArrayList result = new ArrayList<>(); + strings.stream().forEach(v1 -> result.add(AttRvMonitorVo.builder().stcd(stcd).tm(v1).build())); + + List list = result.stream().map(v1 -> { + drpData.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setDrp(v2.getDrp()); + }); + + rzData.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { + v1.setZ(v2.getZ()); + v1.setQ(v2.getQ()); + v1.setTq(v2.getTq()); + }); + + return v1; + }).collect(Collectors.toList()); + return list.stream().sorted(Comparator.comparing(AttRvMonitorVo::getTm).reversed()).collect(Collectors.toList()); + } + + private void calcTqData(List rzData, List zqrl) { + BigDecimal maxRz = zqrl.stream().max(Comparator.comparing(StZqrlB::getZ)).get().getZ(); + BigDecimal minRz = zqrl.stream().min(Comparator.comparing(StZqrlB::getZ)).get().getZ(); + Map map = zqrl.stream().collect(Collectors.toMap(StZqrlB::getZ, StZqrlB::getQ)); + List list = zqrl.stream().map(StZqrlB::getZ).collect(Collectors.toList()); + for(AttRvMonitorVo vo : rzData){ + BigDecimal rz = vo.getZ(); + if(rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0){ + continue; + } + vo.setTq(DataHandleUtil.calcData(rz,map,list)); + } + } + + + public AttRvMonitorDetailVo detail(String stcd) { + AttRvMonitorDetailVo vo = new AttRvMonitorDetailVo(); + StPptnDetailsVo stPptnDetailsVo = rainBasinDivisionService.queryStPptnDetailsByStcd(stcd); + BeanUtils.copyProperties(stPptnDetailsVo,vo,AttRvMonitorDetailVo.class); + + //最新水位 + AttRvMonitorVo monitorVo = attRvBaseMapper.newRz(stcd); + if(monitorVo == null){ + return vo; + } + Date tm = monitorVo.getTm(); + BigDecimal rz = monitorVo.getZ(); + + //最新水位时间往前推24小时水位 + LocalDateTime now = LocalDateTime.ofInstant(tm.toInstant(), ZoneId.systemDefault()); + LocalDateTime dateTime = now.minusDays(1); + BigDecimal oldRz = attRvBaseMapper.oldRz(stcd,1,Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant())); + + if(oldRz != null){ + vo.setRzDiff(rz.subtract(oldRz)); + } + //本年最高水位 + BigDecimal maxYearRz = queryYearRzByStcdAndTime(stcd); + vo.setMaxRz(maxYearRz); + return vo; + } + + private BigDecimal queryYearRzByStcdAndTime(String stcd) { + LocalDateTime now = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()); + LocalDateTime startTime; + LocalDateTime endTime; + if (now.getHour() >= 8 || (now.getHour() < 8 && now.getMonthValue() > 1) || (now.getHour() < 8 && now.getMonthValue() == 1 && now.getDayOfMonth() >= 1)){ + startTime = LocalDateTime.of( + now.getYear(), + 1, + 1, + 8, + 0, + 0 + ); + endTime = now; + return attRvBaseMapper.queryRiverMaxRz(stcd,Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant())); + } + return new BigDecimal(0); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/service/RotaLogService.java b/src/main/java/com/gunshi/project/hsz/service/RotaLogService.java new file mode 100644 index 0000000..73d04a8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/RotaLogService.java @@ -0,0 +1,25 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.RotaLogPageSo; +import com.gunshi.project.hsz.mapper.RotaLogMapper; +import com.gunshi.project.hsz.model.RotaLog; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Description: + * Created by wanyan on 2024/3/25 + * + * @author wanyan + * @version 1.0 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class RotaLogService extends ServiceImpl { + + public Page queryPage(RotaLogPageSo rotaLogPageSo) { + return this.baseMapper.queryPage(rotaLogPageSo.getPageSo().toPage(),rotaLogPageSo); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/RotaService.java b/src/main/java/com/gunshi/project/hsz/service/RotaService.java new file mode 100644 index 0000000..9b63d66 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/RotaService.java @@ -0,0 +1,103 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.hsz.entity.dto.RotaDto; +import com.gunshi.project.hsz.entity.dto.RotaUserDto; +import com.gunshi.project.hsz.entity.vo.RotaVo; +import com.gunshi.project.hsz.mapper.RotaBMapper; +import com.gunshi.project.hsz.model.RotaB; +import com.gunshi.project.hsz.util.DateUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Description: + * Created by wanyan on 2024/3/25 + * + * @author wanyan + * @version 1.0 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class RotaService extends ServiceImpl { + + + public Map> query(String yearMonth) { + List list = this.baseMapper.query(yearMonth); + return list.stream().collect(Collectors.groupingBy(rota -> new SimpleDateFormat(DateFormatString.YYYY_MM_DD).format(rota.getRotaDate()))); + } + + public String editInfo(RotaDto RotaDto) { + Date rotaDate = RotaDto.getRotaDate(); + //先删除该日期的所有信息 + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(RotaB::getRotaDate,rotaDate); + this.remove(queryWrapper); + if(RotaDto.getIsHoliday() != null && RotaDto.getIsHoliday() == 1){ + RotaB rotaB = new RotaB(); + BeanUtils.copyProperties(RotaDto,rotaB,RotaB.class); + rotaB.setId(IdWorker.getId()); + this.save(rotaB); + return "设为放假日成功"; + } + List userDtoList = RotaDto.getUserDtoList(); + List list = userDtoList.stream().map(o -> { + RotaB rotaB = new RotaB(); + rotaB.setId(IdWorker.getId()); + rotaB.setRotaDate(rotaDate); + rotaB.setIsHoliday(0); + rotaB.setRotaType(o.getRotaType()); + rotaB.setUserId(o.getUserId()); + return rotaB; + }).collect(Collectors.toList()); + this.saveBatch(list); + return "设置值班信息成功"; + } + + public List dateList(String rotaDate) { + return this.baseMapper.dateList(rotaDate); + } + + public Long checkPhone(String value){ + return this.baseMapper.queryUser(value); + } + + public void saveImportData(ArrayList successArrayList) { + List list = new ArrayList<>(); + for(RotaVo vo : successArrayList){ + Date stm = vo.getStm(); + Date etm = vo.getEtm(); + List dates = DateUtil.getDatesBetween(stm, etm); + dates.stream().forEach(str->{ + RotaB rotaB = new RotaB(); + rotaB.setId(IdWorker.getId()); + rotaB.setRotaDate(str); + rotaB.setIsHoliday(0); + rotaB.setRotaType(1); + rotaB.setUserId(vo.getLeaderUserId()); + list.add(rotaB); + + RotaB rota = new RotaB(); + rota.setId(IdWorker.getId()); + rota.setRotaDate(str); + rota.setIsHoliday(0); + rota.setRotaType(2); + rota.setUserId(vo.getDutyUserId()); + list.add(rota); + }); + } + this.saveOrUpdateBatch(list); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/SafetyAccidentRegService.java b/src/main/java/com/gunshi/project/hsz/service/SafetyAccidentRegService.java new file mode 100644 index 0000000..79a07d3 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SafetyAccidentRegService.java @@ -0,0 +1,109 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.CommonDataPageSo2; +import com.gunshi.project.hsz.mapper.SafetyAccidentRegMapper; +import com.gunshi.project.hsz.model.SafetyAccidentReg; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 安全事故登记 + * author: xusan + * date: 2024-08-21 15:44:55 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SafetyAccidentRegService extends ServiceImpl +{ + @Autowired + private FileAssociationsService fileService; + + public Page pageQuery(CommonDataPageSo2 page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getName())) { + query.like(SafetyAccidentReg::getName, page.getName()); + } + if (page.getDateSo() != null && page.getDateSo().getStart() != null) { + query.ge(SafetyAccidentReg::getAccidentDate, page.getDateSo().getStart()); + } + if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { + query.le(SafetyAccidentReg::getAccidentDate, page.getDateSo().getEnd()); + } + query.orderByDesc(SafetyAccidentReg::getAccidentDate); + Page res = this.page(page.getPageSo().toPage(), query); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List ret) { + for (SafetyAccidentReg record : ret) { + record.setAccidentPic(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); + record.setAccidentHandle(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandleType())); + } + } + + public String getGroupId() { + return "safetyAccidentReg"; + } + + public SafetyAccidentReg saveData(SafetyAccidentReg dto) { + dto.setId(IdWorker.getId()); + boolean result = this.save(dto); + if (result) { + fileService.save(dto.getAccidentPic(), dto.getId().toString(), getGroupId(),getPicType()); + fileService.save(dto.getAccidentHandle(), dto.getId().toString(), getGroupId(),getHandleType()); + } + return dto; + } + + private String getHandleType() { + return "accidentHandle"; + } + + private String getPicType() { + return "accidentPic"; + } + + public SafetyAccidentReg updateData(SafetyAccidentReg dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.removeByBzIdAndType(dto.getId().toString(),getGroupId(),getPicType()); + fileService.save(dto.getAccidentPic(), dto.getId().toString(), getGroupId(),getPicType()); + fileService.removeByBzIdAndType(dto.getId().toString(),getGroupId(),getHandleType()); + fileService.save(dto.getAccidentHandle(), dto.getId().toString(), getGroupId(),getHandleType()); + } + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return data; + } + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/SafetyCheckService.java b/src/main/java/com/gunshi/project/hsz/service/SafetyCheckService.java new file mode 100644 index 0000000..11e8033 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SafetyCheckService.java @@ -0,0 +1,96 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.CommonDataPageSo; +import com.gunshi.project.hsz.mapper.SafetyCheckMapper; +import com.gunshi.project.hsz.model.SafetyCheck; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 安全检查管理 + * author: wanyan + * date: 2024-08-21 10:40:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SafetyCheckService extends ServiceImpl { + + @Autowired + private FileAssociationsService fileService; + + public Page pageQuery(CommonDataPageSo page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getName())) { + query.like(SafetyCheck::getName, page.getName()); + } + if (page.getDateSo() != null && page.getDateSo().getStart() != null) { + query.ge(SafetyCheck::getCheckDate, page.getDateSo().getStart()); + } + if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { + query.le(SafetyCheck::getCheckDate, page.getDateSo().getEnd()); + } + query.orderByDesc(SafetyCheck::getCheckDate); + Page res = this.page(page.getPageSo().toPage(), query); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List ret) { + for (SafetyCheck record : ret) { + record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); + } + } + + public String getGroupId() { + return "safetyCheck"; + } + + public SafetyCheck saveData(SafetyCheck dto) { + dto.setId(IdWorker.getId()); + boolean result = this.save(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public SafetyCheck updateData(SafetyCheck dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return data; + } + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/SafetyHazardInvestService.java b/src/main/java/com/gunshi/project/hsz/service/SafetyHazardInvestService.java new file mode 100644 index 0000000..ad1079c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SafetyHazardInvestService.java @@ -0,0 +1,96 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.CommonDataPageSo; +import com.gunshi.project.hsz.mapper.SafetyHazardInvestMapper; +import com.gunshi.project.hsz.model.SafetyHazardInvest; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 安全隐患排查 + * author: wanyan + * date: 2024-08-21 10:40:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SafetyHazardInvestService extends ServiceImpl { + + @Autowired + private FileAssociationsService fileService; + + public Page pageQuery(CommonDataPageSo page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getName())) { + query.like(SafetyHazardInvest::getHazardDesc, page.getName()); + } + if (page.getDateSo() != null && page.getDateSo().getStart() != null) { + query.ge(SafetyHazardInvest::getHazardDate, page.getDateSo().getStart()); + } + if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { + query.le(SafetyHazardInvest::getHazardDate, page.getDateSo().getEnd()); + } + query.orderByDesc(SafetyHazardInvest::getHazardDate); + Page res = this.page(page.getPageSo().toPage(), query); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List ret) { + for (SafetyHazardInvest record : ret) { + record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); + } + } + + public String getGroupId() { + return "safetyHazardInvest"; + } + + public SafetyHazardInvest saveData(SafetyHazardInvest dto) { + dto.setId(IdWorker.getId()); + boolean result = this.save(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public SafetyHazardInvest updateData(SafetyHazardInvest dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return data; + } + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/SafetyIdentifyService.java b/src/main/java/com/gunshi/project/hsz/service/SafetyIdentifyService.java new file mode 100644 index 0000000..bc6989e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SafetyIdentifyService.java @@ -0,0 +1,86 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.db.dto.PageSo; +import com.gunshi.project.hsz.mapper.SafetyIdentifyMapper; +import com.gunshi.project.hsz.model.SafetyIdentify; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 安全鉴定台账 + * author: xusan + * date: 2024-08-21 14:45:44 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SafetyIdentifyService extends ServiceImpl +{ + + @Autowired + private FileAssociationsService fileService; + + public Page pageQuery(PageSo page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + query.orderByDesc(SafetyIdentify::getIdentifyDate); + Page res = this.page(page.toPage(), query); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List ret) { + for (SafetyIdentify record : ret) { + record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); + } + } + + public String getGroupId() { + return "safetyIdentify"; + } + + public SafetyIdentify saveData(SafetyIdentify dto) { + dto.setId(IdWorker.getId()); + boolean result = this.save(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public SafetyIdentify updateData(SafetyIdentify dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return data; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/SafetyReinforcementService.java b/src/main/java/com/gunshi/project/hsz/service/SafetyReinforcementService.java new file mode 100644 index 0000000..03f2956 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SafetyReinforcementService.java @@ -0,0 +1,86 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.db.dto.PageSo; +import com.gunshi.project.hsz.mapper.SafetyReinforcementMapper; +import com.gunshi.project.hsz.model.SafetyReinforcement; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 除险加固台账 + * author: xusan + * date: 2024-08-22 11:27:44 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SafetyReinforcementService extends ServiceImpl +{ + + @Autowired + private FileAssociationsService fileService; + + public Page pageQuery(PageSo page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + query.orderByDesc(SafetyReinforcement::getStartDate); + Page res = this.page(page.toPage(), query); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List ret) { + for (SafetyReinforcement record : ret) { + record.setFiles(fileService.getFiles(getGroupId(), record.getId().toString())); + } + } + + public String getGroupId() { + return "safetyReinforcement"; + } + + public SafetyReinforcement saveData(SafetyReinforcement dto) { + dto.setId(IdWorker.getId()); + boolean result = this.save(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); + } + return dto; + } + + public SafetyReinforcement updateData(SafetyReinforcement dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); + } + return dto; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return data; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/ShpPlacementService.java b/src/main/java/com/gunshi/project/hsz/service/ShpPlacementService.java new file mode 100644 index 0000000..862d0ca --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/ShpPlacementService.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.HomeShpPlacementVo; +import com.gunshi.project.hsz.mapper.ShpPlacementMapper; +import com.gunshi.project.hsz.model.ShpPlacement; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 安置点 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ShpPlacementService extends ServiceImpl +{ + + public List getDetailsAndMonitoringDataLis() { + return baseMapper.getDetailsAndMonitoringDataList(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/SoilMoistureDataService.java b/src/main/java/com/gunshi/project/hsz/service/SoilMoistureDataService.java new file mode 100644 index 0000000..2729b06 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SoilMoistureDataService.java @@ -0,0 +1,119 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.SoilMoisturePageSo; +import com.gunshi.project.hsz.entity.vo.SoilMoistureVO; +import com.gunshi.project.hsz.mapper.SoilMoistureDataMapper; +import com.gunshi.project.hsz.model.SoilMoistureData; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.temporal.TemporalAdjusters; +import java.util.Objects; + +/** + * + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SoilMoistureDataService extends ServiceImpl { + + public Page pageQuery(SoilMoisturePageSo page) { + page.getPageSo().setPageSize(10000); + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if(StringUtils.isNotBlank(page.getStcd())){ + query.eq(SoilMoistureData::getStcd,page.getStcd()); + } + if(Objects.nonNull(page.getDateRangeSo())){ + if(Objects.nonNull(page.getDateRangeSo().getStart())){ + query.ge(SoilMoistureData::getCreateTime, page.getDateRangeSo().getStart()); + } + if(Objects.nonNull(page.getDateRangeSo().getEnd())){ + query.le(SoilMoistureData::getCreateTime, page.getDateRangeSo().getEnd()); + } + } + query.orderByDesc(SoilMoistureData::getCreateTime); + Page res = this.page(page.getPageSo().toPage(), query); + return res; + } + + public SoilMoistureVO count(String stcd) { + SoilMoistureVO vo = new SoilMoistureVO(); + vo.setStcd(stcd); + LocalDate today = LocalDate.now(); + + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + qw.eq(SoilMoistureData::getStcd,stcd).orderByDesc(SoilMoistureData::getCreateTime).last(" limit 1"); + SoilMoistureData max = baseMapper.selectOne(qw); + SoilMoistureData min = new SoilMoistureData(); + vo.setCreateTime(max.getCreateTime()); + vo.setCurrVal(Objects.nonNull(max)? max.getVal(): null); + + max = findMaxByRang(today, today.minusWeeks(1), stcd); + min = findMinByRang(today, today.minusWeeks(1), stcd); + vo.setNearWeekValMax(Objects.nonNull(max)? max.getVal(): null); + vo.setNearWeekValMin(Objects.nonNull(min)? min.getVal(): null); + + max = findMaxByRang(today, today.minusMonths(1), stcd); + min = findMinByRang(today, today.minusMonths(1), stcd); + vo.setNearMonthValMax(Objects.nonNull(max)? max.getVal(): null); + vo.setNearMonthValMin(Objects.nonNull(min)? min.getVal(): null); + + max = findMaxByRang(today, today.minusMonths(3), stcd); + min = findMinByRang(today, today.minusMonths(3), stcd); + vo.setNearThreeMonthValMax(Objects.nonNull(max)? max.getVal(): null); + vo.setNearThreeMonthValMin(Objects.nonNull(min)? min.getVal(): null); + + max = findMaxByRang(today, today.minusMonths(6), stcd); + min = findMinByRang(today, today.minusMonths(6), stcd); + vo.setNearSixMonthValMax(Objects.nonNull(max)? max.getVal(): null); + vo.setNearSixMonthValMin(Objects.nonNull(min)? min.getVal(): null); + + max = findMaxByRang(today, today.minusYears(1), stcd); + min = findMinByRang(today, today.minusYears(1), stcd); + vo.setNearYearValMax(Objects.nonNull(max)? max.getVal(): null); + vo.setNearYearValMin(Objects.nonNull(min)? min.getVal(): null); + + max = findMaxByRang(today, today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)), stcd); + min = findMinByRang(today, today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)), stcd); + vo.setCurrWeekValMax(Objects.nonNull(max)? max.getVal(): null); + vo.setCurrWeekValMin(Objects.nonNull(min)? min.getVal(): null); + + max = findMaxByRang(today, today.withDayOfMonth(1), stcd); + min = findMinByRang(today, today.withDayOfMonth(1), stcd); + vo.setCurrMonthValMax(Objects.nonNull(max)? max.getVal(): null); + vo.setCurrMonthValMin(Objects.nonNull(min)? min.getVal(): null); + + max = findMaxByRang(today, today.withDayOfYear(1), stcd); + min = findMinByRang(today, today.withDayOfYear(1), stcd); + vo.setCurrYearValMax(Objects.nonNull(max)? max.getVal(): null); + vo.setCurrYearValMin(Objects.nonNull(min)? min.getVal(): null); + return vo; + } + + public SoilMoistureData findMaxByRang(LocalDate now, LocalDate startDate, String stcd){ + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + qw.eq(SoilMoistureData::getStcd,stcd); + qw.le(SoilMoistureData::getCreateTime,now); + qw.ge(SoilMoistureData::getCreateTime,startDate).orderByDesc(SoilMoistureData::getVal).last(" limit 1"); + return baseMapper.selectOne(qw); + } + + public SoilMoistureData findMinByRang(LocalDate now, LocalDate startDate, String stcd){ + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + qw.eq(SoilMoistureData::getStcd,stcd); + qw.le(SoilMoistureData::getCreateTime,now); + qw.ge(SoilMoistureData::getCreateTime,startDate).orderByAsc(SoilMoistureData::getVal).last(" limit 1"); + return baseMapper.selectOne(qw); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/SoilMoistureStationService.java b/src/main/java/com/gunshi/project/hsz/service/SoilMoistureStationService.java new file mode 100644 index 0000000..6fcb794 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SoilMoistureStationService.java @@ -0,0 +1,22 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.SoilMoistureStationMapper; +import com.gunshi.project.hsz.model.SoilMoistureStation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: APP版本记录 + * author: xusan + * date: 2024-11-12 10:14:50 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SoilMoistureStationService extends ServiceImpl { + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StAddvcdDService.java b/src/main/java/com/gunshi/project/hsz/service/StAddvcdDService.java new file mode 100644 index 0000000..6b098c2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StAddvcdDService.java @@ -0,0 +1,115 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.StAddvcdTreeVo; +import com.gunshi.project.hsz.mapper.StAddvcdDMapper; +import com.gunshi.project.hsz.model.StAddvcdD; +import com.gunshi.project.hsz.util.MyBeanUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 描述: 行政区划表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StAddvcdDService extends ServiceImpl +{ + + public List tree(String level) { + List treeList = new ArrayList<>(); + //根据adcd模糊查询得到所有的行政区划 + List list = this.baseMapper.selectList(new LambdaQueryWrapper<>()); + List totalList = MyBeanUtil.collectionCopy(list, StAddvcdTreeVo.class); + //根据adcd查询行政区划信息 + StAddvcdD stAddvcdD = this.baseMapper.selectByAdcd("421181000000000"); + StAddvcdTreeVo stAddvcdTreeVo = new StAddvcdTreeVo(); + BeanUtils.copyProperties(stAddvcdD, stAddvcdTreeVo); + if ("1".equals(level)) { + treeList.add(stAddvcdTreeVo); + //当下拉深度为2时 + } else if ("2".equals(level)) { + List towns = new ArrayList<>(); + //遍历所有的行政区划 + for (StAddvcdTreeVo total : totalList) { + //后6位都是0并且6到9位不是0时为乡镇 + if ("000000".equals(total.getAdcd().substring(9)) && !"000".equals(total.getAdcd().substring(6, 9))) { + towns.add(total); + } + } + stAddvcdTreeVo.setChildren(towns); + treeList.add(stAddvcdTreeVo); + //当下拉深度为3时 + }else if("3".equals(level)){ + List towns = new ArrayList<>(); + //遍历所有的行政区划 + for (StAddvcdTreeVo total : totalList) { + //后6位都是0并且6到9位不是0时为乡镇 + if ("000000".equals(total.getAdcd().substring(9)) && !"000".equals(total.getAdcd().substring(6, 9))) { + towns.add(total); + } + } + //遍历镇 + for (StAddvcdTreeVo town : towns) { + List administrativeVillageList = new ArrayList<>(); + //遍历所有的行政区划 + for (StAddvcdTreeVo total : totalList) { + //当行政区划前9位相同并且后3位都为0并且9到12不为0时为同一乡镇下的行政村 + if (town.getAdcd().substring(0, 9).equals(total.getAdcd().substring(0, 9)) && "000".equals(total.getAdcd().substring(12)) && !"000".equals(total.getAdcd().substring(9, 12))) { + administrativeVillageList.add(total); + } + } + town.setChildren(administrativeVillageList); + } + stAddvcdTreeVo.setChildren(towns); + treeList.add(stAddvcdTreeVo); + }else{ + List towns = new ArrayList<>(); + //遍历所有的行政区划 + for (StAddvcdTreeVo total : totalList) { + //后6位都是0并且6到9位不是0时为乡镇 + if ("000000".equals(total.getAdcd().substring(9)) && !"000".equals(total.getAdcd().substring(6, 9))) { + towns.add(total); + } + } + //遍历镇 + for (StAddvcdTreeVo town : towns) { + List administrativeVillageList = new ArrayList<>(); + //遍历所有的行政区划 + for (StAddvcdTreeVo total : totalList) { + //当行政区划前9位相同并且后3位都为0并且9到12不为0时为同一乡镇下的行政村 + if (town.getAdcd().substring(0, 9).equals(total.getAdcd().substring(0, 9)) && "000".equals(total.getAdcd().substring(12)) && !"000".equals(total.getAdcd().substring(9, 12))) { + administrativeVillageList.add(total); + } + } + //遍历行政村 + for (StAddvcdTreeVo administrativeVillage : administrativeVillageList) { + List naturalVillages = new ArrayList<>(); + //遍历所有的行政区划 + for (StAddvcdTreeVo total : totalList) { + //行政区划前12为相同并且后3位不为0时为同一行政村下的自然组 + if (total.getAdcd().substring(0, 12).equals(administrativeVillage.getAdcd().substring(0, 12)) && !"000".equals(total.getAdcd().substring(12))) { + naturalVillages.add(total); + } + } + administrativeVillage.setChildren(naturalVillages); + } + town.setChildren(administrativeVillageList); + } + stAddvcdTreeVo.setChildren(towns); + treeList.add(stAddvcdTreeVo); + } + return treeList; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StImgRRealService.java b/src/main/java/com/gunshi/project/hsz/service/StImgRRealService.java new file mode 100644 index 0000000..c57d4d0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StImgRRealService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StImgRRealMapper; +import com.gunshi.project.hsz.model.StImgRReal; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 图像表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StImgRRealService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StImgRService.java b/src/main/java/com/gunshi/project/hsz/service/StImgRService.java new file mode 100644 index 0000000..871421f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StImgRService.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.service; + +import java.util.List; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StImgRMapper; +import com.gunshi.project.hsz.model.StImgR; + +import lombok.extern.slf4j.Slf4j; + +/** + * 描述: 图像历史表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StImgRService extends ServiceImpl +{ + + public List getStcdLastImgData() { + return baseMapper.getStcdLastImgData(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StImgWarnRService.java b/src/main/java/com/gunshi/project/hsz/service/StImgWarnRService.java new file mode 100644 index 0000000..9ba42fa --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StImgWarnRService.java @@ -0,0 +1,28 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.ImgWarnPageSo; +import com.gunshi.project.hsz.mapper.StImgWarnRMapper; +import com.gunshi.project.hsz.model.StImgWarnR; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: AI告警表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StImgWarnRService extends ServiceImpl +{ + + public Page pageQuery(ImgWarnPageSo imgWarnPageSo) { + return this.baseMapper.pageQuery(imgWarnPageSo.getPageSo().toPage(),imgWarnPageSo); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StPptnRDService.java b/src/main/java/com/gunshi/project/hsz/service/StPptnRDService.java new file mode 100644 index 0000000..6d7bf6c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StPptnRDService.java @@ -0,0 +1,109 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StPptnRDMapper; +import com.gunshi.project.hsz.model.StPptnRD; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StPptnRDService extends ServiceImpl +{ + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + @Autowired + private StPptnRService stPptnRService; + + public List getStcdLastPptnDayData() { + return baseMapper.getStcdLastPptnDayData(); + } + + + public void reorganizeStPptnRD(List stcdList, String startDateStr) { + List dList = new ArrayList<>(); + try { + for (String stcd : stcdList) { + List> pptnRDataList = stPptnRService.getPptnRDataList(stcd, startDateStr); + Map pptnrMap = pptnRDataList.stream().collect(Collectors.toMap(map -> (String) map.get("tm"), map -> map.get("drp"))); + for (int i = pptnRDataList.size() - 1; i >= 0; i--) { + Map stringObjectMap = pptnRDataList.get(i); + String tm = stringObjectMap.get("tm").toString(); + Date nowTm = sdf.parse(tm); + String drp = stringObjectMap.get("drp").toString(); + StPptnRD stPptnRD = new StPptnRD(); + stPptnRD.setStcd(stcd); + stPptnRD.setTm(nowTm); + stPptnRD.setDrp(new BigDecimal(drp)); + stPptnRD.setYear(Integer.parseInt(tm.substring(0, 4))); + Calendar calendar = Calendar.getInstance(); + // 当前时间往前推一天,查看是否是降雨 + calendar.setTime(nowTm); + calendar.add(Calendar.DAY_OF_MONTH, -1); + // 如果昨天存在数据 + String lastTm = sdf.format(calendar.getTime()); + if (pptnrMap.containsKey(lastTm)) { + String lastDrp = pptnrMap.get(lastTm).toString(); + String lastDayIsdrp = BigDecimal.ZERO.compareTo(new BigDecimal(lastDrp)) == 0 ? "0" : "1"; + stPptnRD.setLastDayIsdrp(lastDayIsdrp); + // 已经往前推过一天了,从1开始 + int j = 1; + Boolean isContinue = true; + // 一直往前推 + while (isContinue){ + calendar.add(Calendar.DAY_OF_MONTH, -1); + String lastContinueTm = sdf.format(calendar.getTime()); + if(!pptnrMap.containsKey(lastContinueTm)){ + isContinue = false; + } else { + String beforeDrp = pptnrMap.get(lastContinueTm).toString(); + if (("0".equals(lastDayIsdrp) && BigDecimal.ZERO.compareTo(new BigDecimal(beforeDrp)) == 0) || ("1".equals(lastDayIsdrp) && BigDecimal.ZERO.compareTo(new BigDecimal(beforeDrp)) != 0)) { + j++; + } else { + isContinue = false; + } + } + } + stPptnRD.setIsdrpCount(j); + } else { + stPptnRD.setLastDayIsdrp("2"); + stPptnRD.setIsdrpCount(0); + } + dList.add(stPptnRD); + } + } + } catch (ParseException e) { + throw new RuntimeException(e); + } + saveBatch(dList); + } + + public StPptnRD getMaxData(String stcd) { + return baseMapper.getMaxData(stcd); + } + + public List reorganizePptnRDData(String stcd, StPptnRD maxData) { + return baseMapper.reorganizePptnRDData(stcd, maxData); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StPptnRHService.java b/src/main/java/com/gunshi/project/hsz/service/StPptnRHService.java new file mode 100644 index 0000000..dec2e86 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StPptnRHService.java @@ -0,0 +1,32 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StPptnRHMapper; +import com.gunshi.project.hsz.model.StPptnRH; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 降雨量小时表 + * author: cxw + * date: 2024-09-02 09:34:31 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StPptnRHService extends ServiceImpl +{ + + public List reorganizePptnRHData(String stcd, StPptnRH maxData) { + return baseMapper.reorganizePptnRHData(stcd, maxData); + } + + public StPptnRH getMaxData(String stcd) { + return baseMapper.getMaxData(stcd); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StPptnRRealService.java b/src/main/java/com/gunshi/project/hsz/service/StPptnRRealService.java new file mode 100644 index 0000000..a007310 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StPptnRRealService.java @@ -0,0 +1,32 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StPptnRRealMapper; +import com.gunshi.project.hsz.model.StPptnRReal; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 描述: 降水量历史表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StPptnRRealService extends ServiceImpl +{ + + public int updatePptnRReal(String stcd) { + return baseMapper.updatePptnRReal(stcd); + } + + public List queryList() { + return this.baseMapper.queryList(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StPptnRService.java b/src/main/java/com/gunshi/project/hsz/service/StPptnRService.java new file mode 100644 index 0000000..159c9f0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StPptnRService.java @@ -0,0 +1,62 @@ +package com.gunshi.project.hsz.service; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StPptnRMapper; +import com.gunshi.project.hsz.model.StPptnR; + +import lombok.extern.slf4j.Slf4j; + +/** + * 描述: 降水量表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StPptnRService extends ServiceImpl +{ + + public List getStcdLastPptnData() { + return baseMapper.getStcdLastPptnData(); + } + + public List> getPptnRDataList(String stcd, String tm) { + return baseMapper.getPptnRDataList(stcd, tm); + } + + public List> getPptnRDataListByTask(String resCode, String stcd, String tm) { + return baseMapper.getPptnRDataListByTask(resCode, stcd, tm); + } + + public List getStcdFirstPptnData() { + return baseMapper.getStcdFirstPptnData(); + } + + public List getNewestDataOfEachStcd() { + return baseMapper.getNewestDataOfEachStcd(); + } + + /** + * 根据stcd查询24小时总降水量 + */ + public BigDecimal getdrp24SumByStcd(String stcd) { + return baseMapper.getdrp24SumByStcd(stcd); + } + + /** + * 根据stcd查询24小时内最大降水量 + */ + public StPptnR getdrp24MaxByStcd(String stcd) { + return baseMapper.getdrp24MaxByStcd(stcd); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StQxWarnRService.java b/src/main/java/com/gunshi/project/hsz/service/StQxWarnRService.java new file mode 100644 index 0000000..8ed38c4 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StQxWarnRService.java @@ -0,0 +1,167 @@ +package com.gunshi.project.hsz.service; + +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.mapper.AttResBaseMapper; +import com.gunshi.project.hsz.mapper.StQxWarnRMapper; +import com.gunshi.project.hsz.model.StImgWarnR; +import com.gunshi.project.hsz.model.StQxWarnR; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.compress.utils.Lists; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 描述: 气象预警表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StQxWarnRService extends ServiceImpl { + + @Value("${shqxjsWarnPath}") + private String shqxjsWarnPath; + + @Resource + private StImgWarnRService imgWarnRService; + + @Resource + private AttResBaseMapper attResBaseMapper; + + public HomeWarnVo homeWarn(DateTimeRangeSo dateTimeRangeSo) { + HomeWarnVo vo = new HomeWarnVo(); + + List attResBaseVos = attResBaseMapper.queryList(); + AttResBaseVo attResBaseVo = attResBaseVos.get(0); + Date tm = attResBaseVo.getTm(); + //水位的最新采集时间不在24小时内 + if (tm.before(dateTimeRangeSo.getStart())) { + vo.setRzWarn("-"); + } else { + BigDecimal rz = attResBaseVo.getRz(); + if (attResBaseVo.getCalState() == 1) { + BigDecimal aboveCal = rz.subtract(attResBaseVo.getCalFloodLev()); + vo.setRzWarn("超校核(" + aboveCal.setScale(1, RoundingMode.HALF_UP) + "m)"); + attResBaseVo.setDesState(0); + attResBaseVo.setFlState(0); + } else if (attResBaseVo.getDesState() == 1) { + BigDecimal aboveDes = rz.subtract(attResBaseVo.getDesFloodLev()); + vo.setRzWarn("超设计(" + aboveDes.setScale(1, RoundingMode.HALF_UP) + "m)"); + attResBaseVo.setFlState(0); + } else if (attResBaseVo.getFlState() == 1) { + vo.setRzWarn("超汛限(" + attResBaseVo.getAFsltdz().setScale(1, RoundingMode.HALF_UP) + "m)"); + } else if (rz.compareTo(attResBaseVo.getDeadLev()) < 0) { + BigDecimal aboveDead = rz.subtract(attResBaseVo.getDeadLev()); + vo.setRzWarn("低水位(" + aboveDead.setScale(1, RoundingMode.HALF_UP) + "m)"); + } else { + vo.setRzWarn("正常(" + attResBaseVo.getAFsltdz().setScale(1, RoundingMode.HALF_UP) + "m)"); + } + } + + vo.setQxWarn(queryQxWarn()); + + List warnVos = baseMapper.queryOsmoticWarn(dateTimeRangeSo); + vo.setPressWarn(warnVos.stream().filter(o -> o.getType() == 1).collect(Collectors.toList())); + vo.setFlowWarn(warnVos.stream().filter(o -> o.getType() == 2).collect(Collectors.toList())); + vo.setShiftWarn(warnVos.stream().filter(o -> o.getType() == 3).collect(Collectors.toList())); + + Long aiWarnCount = imgWarnRService.lambdaQuery() + .ge(StImgWarnR::getTm, dateTimeRangeSo.getStart()).lt(StImgWarnR::getTm, dateTimeRangeSo.getEnd()).count(); + vo.setAiWarnCount(aiWarnCount); + return vo; + } + + private List queryQxWarn() { + List list = new ArrayList<>(); + ApiVo apiVo = new ApiVo(); + apiVo.setFilter(Lists.newArrayList()); + ObjectMapper om = new ObjectMapper(); + HttpClient httpClient = HttpClientBuilder.create().build(); + HttpPost httpPost = new HttpPost(shqxjsWarnPath); + log.info("请求气象预警接口:{}", shqxjsWarnPath); + StringEntity stringEntity; + long start = System.currentTimeMillis(); + try { + String params = om.writeValueAsString(apiVo); + log.info("请求气象预警接口参数:{}", params); + stringEntity = new StringEntity(params, ContentType.APPLICATION_JSON); + httpPost.setEntity(stringEntity); + HttpResponse response = httpClient.execute(httpPost); + HttpEntity entity = response.getEntity(); + JSONObject dataObject = JSONUtil.parseObj(EntityUtils.toString(entity)); + JSONArray data = dataObject.getJSONArray("data"); + if (data == null) return list; + List dataList = data.toList(WarningData.class); + list = getList(dataList); + } catch (Exception e) { + e.printStackTrace(); + } + long end = System.currentTimeMillis(); + log.info("查询气象预警耗时:{} 秒", (end - start) / 1000); + return list; + } + + private List getList(List data) { + List respList = Lists.newArrayList(); + for (WarningData datum : data) {//最外层的列表 + String ctnm = datum.getEffectArea();//市级范围 + for (WarningData.TypeList typeList : datum.getTypeList()) {//里面的 + // 预警类型 + String type = typeList.getType(); + List warnList = typeList.getWarnList(); + + for (WarningData.Warning warning : warnList) { + String cnnm = warning.getEffectArea(); + if("红安".equals(cnnm)){ + QXWarningVo vo = new QXWarningVo(); + String publishUnit = warning.getPublishUnit(); + vo.setCtnm(ctnm);//市级名称 + vo.setCnnm(cnnm);//县级名称 + vo.setPublishUnit(publishUnit);//发布单位 + vo.setPublishTime(warning.getPublishTime());//预警发布时间 + vo.setWarnSignalType(warning.getWarnSignalType());//预警类型 + vo.setWarnSignalLevel(warning.getWarnSignalLevel());//预警级别 + vo.setContent(warning.getContent());//预警内容 + vo.setWarnid(warning.getId()); + vo.setCreateTime(warning.getCreateTime()); + vo.setStartTime(warning.getStartTime()); + vo.setEndTime(warning.getEndTime()); + respList.add(vo); + } + + } + } + } + respList = respList.stream().filter(o -> "暴雨".equals(o.getWarnSignalType()) || "雷雨大风".equals(o.getWarnSignalType())).collect(Collectors.toList()); + respList = respList.stream().filter(o -> "红色".equals(o.getWarnSignalLevel()) || "橙色".equals(o.getWarnSignalLevel())).collect(Collectors.toList()); + return respList.stream().sorted(Comparator.comparing(QXWarningVo::getPublishTime).reversed()) + .collect(Collectors.toList()); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StRiverRRealService.java b/src/main/java/com/gunshi/project/hsz/service/StRiverRRealService.java new file mode 100644 index 0000000..15703cb --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StRiverRRealService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StRiverRRealMapper; +import com.gunshi.project.hsz.model.StRiverRReal; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: + * author: cxw + * date: 2024-09-24 14:01:07 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StRiverRRealService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StRiverRService.java b/src/main/java/com/gunshi/project/hsz/service/StRiverRService.java new file mode 100644 index 0000000..c6be518 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StRiverRService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StRiverRMapper; +import com.gunshi.project.hsz.model.StRiverR; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: + * author: cxw + * date: 2024-09-24 14:01:07 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StRiverRService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StRsvrRRealService.java b/src/main/java/com/gunshi/project/hsz/service/StRsvrRRealService.java new file mode 100644 index 0000000..da8f62d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StRsvrRRealService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StRsvrRRealMapper; +import com.gunshi.project.hsz.model.StRsvrRReal; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 水库水位实时数据表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StRsvrRRealService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StRsvrRService.java b/src/main/java/com/gunshi/project/hsz/service/StRsvrRService.java new file mode 100644 index 0000000..8c80cee --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StRsvrRService.java @@ -0,0 +1,49 @@ +package com.gunshi.project.hsz.service; + +import java.math.BigDecimal; +import java.util.List; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StRsvrRMapper; +import com.gunshi.project.hsz.model.StRsvrR; + +import lombok.extern.slf4j.Slf4j; + +/** + * 描述: 水库历史水位表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StRsvrRService extends ServiceImpl +{ + + public List getStcdLastRsvrData() { + return baseMapper.getStcdLastRsvrData(); + } + + public List getStcdFirstRsvrData() { + return baseMapper.getStcdFirstRsvrData(); + } + + /** + * 根据stcd获取8点的rz + */ + public BigDecimal getRz8ByStcd(String stcd) { + return baseMapper.getRz8ByStcd(stcd); + } + + /** + * 根据stcd获取昨日8点的rz + */ + public BigDecimal getRzYesterday8ByStcd(String stcd) { + return baseMapper.getRzYesterday8ByStcd(stcd); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StStbprpBElemService.java b/src/main/java/com/gunshi/project/hsz/service/StStbprpBElemService.java new file mode 100644 index 0000000..9fcec27 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StStbprpBElemService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StStbprpBElemMapper; +import com.gunshi.project.hsz.model.StStbprpBElem; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 测站监测值类型 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StStbprpBElemService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java b/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java new file mode 100644 index 0000000..dd3ec37 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java @@ -0,0 +1,355 @@ +package com.gunshi.project.hsz.service; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.dto.StZqrlBDto; +import com.gunshi.project.hsz.entity.so.HomeStStbprpBSo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.mapper.OsmoticPressRMapper; +import com.gunshi.project.hsz.mapper.OsmoticShiftRMapper; +import com.gunshi.project.hsz.mapper.StStbprpBMapper; +import com.gunshi.project.hsz.model.StRsvrR; +import com.gunshi.project.hsz.model.StStbprpB; +import com.gunshi.project.hsz.model.StZqrlB; +import com.gunshi.project.hsz.model.StZvarlB; +import com.gunshi.project.hsz.util.DateUtil; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.Duration; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: sttp 以水利标准来 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StStbprpBService extends ServiceImpl { + @Resource + private OsmoticPressRMapper pressRMapper; + + @Resource + private OsmoticShiftRMapper shiftRMapper; + + @Autowired + private StZqrlBService stZqrlBService; + + @Autowired + private StZvarlBService stZvarlBService; + + @Autowired + private StRsvrRService rsvrRService; + + public List rainfallStationDetailsList(HomeStStbprpBSo dto) { + return baseMapper.rainfallStationDetailsList(dto); + } + + public List reservoirStationDetailsList() { + return baseMapper.reservoirStationDetailsList(); + } + + public List flowStationDetailsList() { + return baseMapper.flowStationDetailsList(); + } + + public StStatusListVo statusList() { + StStatusListVo res = new StStatusListVo(); + //水雨情站超过2小时为离线;渗压,渗流,位移暂定超过24小时为离线 + List list = new ArrayList<>(); + List onLineList = new ArrayList<>(); + List offLineList = new ArrayList<>(); + //雨量站 + List rainList = baseMapper.realRainList(); + //水位站 + List rzList = baseMapper.rzList(); + //图像站 + List imgList = baseMapper.imgList(); + rainList.addAll(rzList); + rainList.addAll(imgList); + rainList.stream().collect(Collectors.toMap(obj -> obj.getStcd(), obj -> obj, (obj1, obj2) -> + DateUtil.convertStringToDate(obj1.getTm()).after(DateUtil.convertStringToDate(obj2.getTm())) ? obj1 : obj2 + )).values().stream().collect(Collectors.toList()); + for (StStatusVo statusVo : rainList) { + String tm = statusVo.getTm(); + if (StringUtils.isEmpty(tm) || DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(tm), new Date()) > 2) { + offLineList.add(statusVo); + } else { + onLineList.add(statusVo); + } + } + //渗压 + List pressList = pressRMapper.listValue(); + list.addAll(pressList.stream().map(o -> { + StStatusVo vo = new StStatusVo(); + vo.setStnm(o.getStationCode()); + vo.setTm(o.getTm()); + return vo; + }).collect(Collectors.toList())); + //渗流 + List flowList = pressRMapper.flowListValue(); + list.addAll(flowList.stream().map(o -> { + StStatusVo vo = new StStatusVo(); + vo.setStnm(o.getStationCode()); + vo.setTm(o.getTm()); + return vo; + }).collect(Collectors.toList())); + //位移 + List shiftList = shiftRMapper.listValue(); + list.addAll(shiftList.stream().map(o -> { + StStatusVo vo = new StStatusVo(); + vo.setStnm(o.getStationCode()); + vo.setTm(o.getTm()); + return vo; + }).collect(Collectors.toList())); + + for (StStatusVo vo : list) { + String tm = vo.getTm(); + if (StringUtils.isEmpty(tm) || DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(tm), new Date()) > 24) { + offLineList.add(vo); + } else { + onLineList.add(vo); + } + } + res.setOnline(onLineList.stream().sorted(Comparator.comparing(StStatusVo::getTm, Comparator.nullsFirst(String::compareTo)).reversed()).collect(Collectors.toList())); + res.setOffLine(offLineList.stream().sorted(Comparator.comparing(StStatusVo::getTm, Comparator.nullsFirst(String::compareTo)).reversed()).collect(Collectors.toList())); + return res; + } + + public List rainList() { + return this.baseMapper.rainList(); + } + + public List flowList(StZqrlBDto obj) { + /* + * 查出时段内的水位列表,按时间升序排,根据水位查水位流量曲线表得到流量 + * 第一条数据的累计溢洪量设为0,第二条累计溢洪量=上一条累计溢洪量+本条溢洪流量*60分*60秒,以此类推 + */ + + List rsvrList = rsvrRService.lambdaQuery() + .eq(StRsvrR::getStcd, obj.getStcd()) + .between(StRsvrR::getTm, obj.getDateSo().getStart(), obj.getDateSo().getEnd()) + .orderBy(true, true, StRsvrR::getTm) + .list(); + List zqrlList = stZqrlBService.list(); + zqrlList.sort(Comparator.comparing(StZqrlB::getZ)); + List zvarlList = stZvarlBService.list(); + zvarlList.sort(Comparator.comparing(StZvarlB::getRz)); + List ret = new ArrayList<>(); + + for (int i = 0; i < rsvrList.size(); i++) { + StRsvrR rsvr = rsvrList.get(i); + BigDecimal rz = new BigDecimal(rsvr.getRz()); + StZqrlBVo vo = new StZqrlBVo(); + vo.setStcd(rsvr.getStcd()); + vo.setTm(rsvr.getTm()); + vo.setWaterLevel(rz); + + zqrlList.stream() + .filter(zqrl -> zqrl.getZ().equals(new BigDecimal(rsvr.getRz()))) + .findFirst() + .ifPresentOrElse(zqrl -> { + vo.setFlowNum(zqrl.getQ()); + }, () -> vo.setFlowNum(BigDecimal.ZERO)); + + zvarlList.stream() + .filter(zvarl -> zvarl.getRz().equals(new BigDecimal(rsvr.getRz()))) + .findFirst() + .ifPresentOrElse(zvarl -> { + vo.setBoxNum(zvarl.getW()); + }, () -> vo.setBoxNum(BigDecimal.ZERO)); + + if (i == 0) { + vo.setQtotal(BigDecimal.ZERO); + } else { + StZqrlBVo voPrev = ret.get(i - 1); + BigDecimal qTotal = vo.getFlowNum().multiply(BigDecimal.valueOf(60 * 60)); + BigDecimal prevQtotal = voPrev.getQtotal(); + qTotal = qTotal.add(prevQtotal); + vo.setQtotal(qTotal); + } + + ret.add(vo); + } + + //倒序输出 + ret.sort(Comparator.comparing(StZqrlBVo::getTm).reversed()); + return ret; + } + + public StZqrlBCountVo count(Serializable stcd) { + StZqrlBCountVo vo = new StZqrlBCountVo(); + vo.setStcd(stcd.toString()); + + //取出当月的水位 + Calendar calendar = Calendar.getInstance(); + Date now = calendar.getTime(); + calendar.set(Calendar.DAY_OF_MONTH, 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + List rsvrList = rsvrRService.lambdaQuery() + .eq(StRsvrR::getStcd, stcd) + .between(StRsvrR::getTm, calendar.getTime(), now) + .orderByAsc(true, StRsvrR::getTm) + .list(); + + List zqrlList = stZqrlBService.list(); + + List complexList = new ArrayList<>(); + int idx = 0; + for (StRsvrR rsvr : rsvrList) { + RsvrComplexVo complex = new RsvrComplexVo(); + BigDecimal rz = new BigDecimal(rsvr.getRz()); + complex.setRz(rz); + complex.setTm(rsvr.getTm()); + + BigDecimal q = stZqrlBService.getQFromZqrl(rz, zqrlList); + complex.setQ(q); + if (idx == 0) { + complex.setSv(BigDecimal.ZERO); + } else { + RsvrComplexVo complexPrev = complexList.get(idx - 1); + complex.setSv(complexPrev.getSv().add(complexPrev.getQ().multiply(BigDecimal.valueOf(60 * 60)))); + } + + complexList.add(complex); + idx++; + } + + //当前流量 + vo.setVal(complexList.getLast().getQ()); + vo.setCreateTime(complexList.getLast().getTm()); + + calendar.setTime(now); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + Date today = calendar.getTime(); + //今日sv的和 + BigDecimal sumToday = complexList.stream().filter(complex -> complex.getTm().after(today)) + .map(RsvrComplexVo::getSv) + .reduce(BigDecimal.ZERO, BigDecimal::add); + vo.setCurrDayValSum(sumToday); + //当月sv的和 + BigDecimal sumMonth = complexList.stream().map(RsvrComplexVo::getSv) + .reduce(BigDecimal.ZERO, BigDecimal::add); + vo.setCurrMonthSum(sumMonth); + + return vo; + } + + public StZqrlBCount24Vo count24(Serializable stcd) { + StZqrlBCount24Vo vo = new StZqrlBCount24Vo(); + vo.setStcd(stcd.toString()); + + StRsvrR rsvrLatest = rsvrRService.lambdaQuery().eq(StRsvrR::getStcd, stcd).orderByDesc(StRsvrR::getTm).last("limit 1").one(); + if (rsvrLatest == null) { + return vo; + } + BigDecimal rzLatest = new BigDecimal(rsvrLatest.getRz()); + BigDecimal qLatest = stZqrlBService.getQFromZqrl(rzLatest); + vo.setCurrWaterLevel(rzLatest); + vo.setFlowNum(qLatest); + vo.setCreateTime(rsvrLatest.getTm()); + + LocalDateTime now = LocalDateTime.now(); + LocalDateTime before24 = now.minusHours(24); + List rsvrList = rsvrRService.lambdaQuery().ge(StRsvrR::getTm, before24).le(StRsvrR::getTm, now).orderByAsc(StRsvrR::getTm).list(); + List rsvrComplexVos = stZqrlBService.calculateSpilledVolumeList(rsvrList); + BigDecimal totalSv = rsvrComplexVos.stream().map(RsvrComplexVo::getSv).reduce(BigDecimal.ZERO, BigDecimal::add); + vo.setSum24(totalSv); + + return vo; + } + + public List calculateQtotal(List list) { + if (list == null || list.size() < 2) { + return list; + } + + // 第一条数据设为0或null + list.get(0).setQtotal(BigDecimal.ZERO); + + for (int i = 1; i < list.size(); i++) { + StZqrlB current = list.get(i); + StZqrlB previous = list.get(i - 1); + + // 使用Duration计算分钟差(精确到小数) + Duration duration = Duration.between(previous.getModitimeAsLocalDateTime(), current.getModitimeAsLocalDateTime()); + double minutesDiff = duration.toMillis() / 60000.0; // 毫秒转分钟 + + // 使用BigDecimal的valueOf方法,避免new BigDecimal(double)的精度问题 + BigDecimal minutesDecimal = BigDecimal.valueOf(minutesDiff); + + // 计算并设置qtotal + current.setQtotal(current.getQ().multiply(minutesDecimal)); + } + return list; + } + + private List getList(String stcd, LocalDateTime start, LocalDateTime end) { + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + List list = stZqrlBService.list(qw); + return list; + } + + private BigDecimal sumVal(String stcd, LocalDateTime start, LocalDateTime end) { + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + qw.eq(StZqrlB::getStcd, stcd); + qw.ge(StZqrlB::getModitime, start); + qw.le(StZqrlB::getModitime, end); + List list = stZqrlBService.list(qw); + if (CollectionUtil.isNotEmpty(list)) { + return list.stream().map(StZqrlB::getQ).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); + } + return null; + } + + private Long countVal(String stcd, LocalDateTime start, LocalDateTime end) { + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + qw.eq(StZqrlB::getStcd, stcd); + qw.ge(StZqrlB::getModitime, start); + qw.le(StZqrlB::getModitime, end); + List list = stZqrlBService.list(qw); + if (CollectionUtil.isNotEmpty(list)) { + return list.stream().map(StZqrlB::getQ).filter(Objects::nonNull).filter(q -> q.compareTo(BigDecimal.ZERO) > 0).count(); + } + return 0l; + } + + private BigDecimal maxVal(String stcd, LocalDateTime start, LocalDateTime end) { + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + qw.eq(StZqrlB::getStcd, stcd); + qw.ge(StZqrlB::getModitime, start); + qw.le(StZqrlB::getModitime, end); + List list = stZqrlBService.list(qw); + if (CollectionUtil.isNotEmpty(list)) { + return list.stream().map(StZqrlB::getQ).filter(Objects::nonNull).max(Comparator.naturalOrder()).orElse(null); + } + return null; + } + + public List getPptnStations() { + return baseMapper.getPptnStations(); + } + + public List getRsvrStations() { + return baseMapper.getRsvrStations(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StStbprpCctvService.java b/src/main/java/com/gunshi/project/hsz/service/StStbprpCctvService.java new file mode 100644 index 0000000..e121e0e --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StStbprpCctvService.java @@ -0,0 +1,27 @@ +package com.gunshi.project.hsz.service; + +import com.gunshi.project.hsz.entity.vo.StStbprpCctvVo; +import com.gunshi.project.hsz.mapper.StStbprpCctvMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/4/9 + * + * @author wanyan + * @version 1.0 + */ +@Service +public class StStbprpCctvService { + + @Resource + private StStbprpCctvMapper stStbprpCctvMapper; + + + public List listByStcd(String stcd) { + return stStbprpCctvMapper.listByStcd(stcd); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/service/StWaterRRealService.java b/src/main/java/com/gunshi/project/hsz/service/StWaterRRealService.java new file mode 100644 index 0000000..b7abc18 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StWaterRRealService.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.service; + +import java.util.List; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StWaterRRealMapper; +import com.gunshi.project.hsz.model.StWaterRReal; + +import lombok.extern.slf4j.Slf4j; + +/** + * 描述: 供水量实时表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StWaterRRealService extends ServiceImpl +{ + + public List listRelated() { + return baseMapper.listRelated(); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StWaterRReorganizeService.java b/src/main/java/com/gunshi/project/hsz/service/StWaterRReorganizeService.java new file mode 100644 index 0000000..86a8d07 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StWaterRReorganizeService.java @@ -0,0 +1,146 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.StWaterRReorganizeYearVo; +import com.gunshi.project.hsz.mapper.StWaterRReorganizeMapper; +import com.gunshi.project.hsz.model.StWaterRReorganize; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 描述: 供水量整编表 + * author: cxw + * date: 2024-07-24 11:22:46 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StWaterRReorganizeService extends ServiceImpl +{ + + public List getYearStatisticAnalysis(int year, List resList) { + // 查询 选择年 数据 + QueryWrapper nowYearQw = new QueryWrapper() + .select("LEFT(tm, 7) tm,ROUND( AVG ( ecology_q ), 2 ) ecology_q,SUM ( ecology_v ) ecology_v,ROUND( AVG ( life_q ), 2 ) life_q,SUM ( life_v ) life_v,SUM ( sum_v ) sum_v") + .eq("LEFT(tm, 4)", String.valueOf(year)).groupBy("LEFT(tm, 7)").orderBy(true, true, "tm"); + List nowYearList = this.list(nowYearQw); + + // 查询 选择年的前一年 数据 + QueryWrapper lastYearQw = new QueryWrapper() + .select("LEFT(tm, 7) tm,ROUND( AVG ( ecology_q ), 2 ) ecology_q,SUM ( ecology_v ) ecology_v,ROUND( AVG ( life_q ), 2 ) life_q,SUM ( life_v ) life_v,SUM ( sum_v ) sum_v") + .eq("LEFT(tm, 4)", String.valueOf(year - 1)).groupBy("LEFT(tm, 7)").orderBy(true, true, "tm"); + List lastYearList = this.list(lastYearQw); + + // 组装VO + if(CollectionUtils.isNotEmpty(nowYearList)){ + BigDecimal ecologyVSum = nowYearList.stream().map(StWaterRReorganize::getEcologyV).reduce(BigDecimal.ZERO, BigDecimal::add);// 年度生态水量的和 + BigDecimal lifeVSum = nowYearList.stream().map(StWaterRReorganize::getLifeV).reduce(BigDecimal.ZERO, BigDecimal::add);// 年度生活水量的和 + for(int i = 0; i < nowYearList.size(); i++){ + String jiantou = ""; + StWaterRReorganizeYearVo vo = new StWaterRReorganizeYearVo(); + StWaterRReorganize nowStwrr = nowYearList.get(i); + vo.setTm(nowStwrr.getTm()); + vo.setEcologyYearRateV(nowStwrr.getEcologyV().divide(ecologyVSum, 1, BigDecimal.ROUND_HALF_UP).toString().concat("%")); + vo.setEcologyV(nowStwrr.getEcologyV().toString()); + vo.setLifeYearRateV(nowStwrr.getEcologyV().divide(lifeVSum, 1, BigDecimal.ROUND_HALF_UP).toString().concat("%")); + vo.setLifeV(nowStwrr.getLifeV().toString()); + + StWaterRReorganize lastStwrr = lastYearList.stream() + .filter(item -> nowStwrr.getTm() + .equals(String.valueOf((Integer.valueOf(item.getTm().substring(0, 4)) + 1)) + .concat(item.getTm().substring(4, 7)))).findAny().orElse(null); + // 生态同比 (本期数 - 同期数) / 同期数 × 100% + if(ObjectUtils.isEmpty(lastStwrr) || lastStwrr.getEcologyV().compareTo(BigDecimal.ZERO) == 0){ + vo.setEcologyYoyV("-"); + } else { + BigDecimal ecologyYoyV = (nowStwrr.getEcologyV().subtract(lastStwrr.getEcologyV())).divide(lastStwrr.getEcologyV(), 1, BigDecimal.ROUND_HALF_UP); + jiantou = ""; + if(ecologyYoyV.compareTo(BigDecimal.ZERO) == 0){ + jiantou = "↔"; + vo.setEcologyYoyV(jiantou); + } else { + if(ecologyYoyV.compareTo(BigDecimal.ZERO) < 0){ + jiantou = "↓"; + } else if(ecologyYoyV.compareTo(BigDecimal.ZERO) > 0){ + jiantou = "↑"; + } + vo.setEcologyYoyV(jiantou.concat(ecologyYoyV.abs().toString()).concat("%")); + } + } + // 生活同比 (本期数 - 同期数) / 同期数 × 100% + if(ObjectUtils.isEmpty(lastStwrr) || lastStwrr.getLifeV().compareTo(BigDecimal.ZERO) == 0){ + vo.setLifeYoyV("-"); + } else { + BigDecimal lifeYoyV = (nowStwrr.getLifeV().subtract(lastStwrr.getLifeV())).divide(lastStwrr.getLifeV(), 1, BigDecimal.ROUND_HALF_UP); + jiantou = ""; + if(lifeYoyV.compareTo(BigDecimal.ZERO) == 0){ + jiantou = "↔"; + vo.setLifeYoyV(jiantou); + } else { + if(lifeYoyV.compareTo(BigDecimal.ZERO) < 0){ + jiantou = "↓"; + } else if(lifeYoyV.compareTo(BigDecimal.ZERO) > 0){ + jiantou = "↑"; + } + vo.setLifeYoyV(jiantou.concat(lifeYoyV.abs().toString()).concat("%")); + } + } + // 环比 (本期数 - 上期数) / 上期数 × 100% + StWaterRReorganize lastOneStwrr; + // 如果是1月,需要拿到去年12月的 + if(i == 0 && nowStwrr.getTm().contains("-01")){ + lastOneStwrr = lastYearList.stream().filter(item -> item.getTm().contains("-12")).findAny().orElse(null); + } else { + lastOneStwrr = nowYearList.get(i-1); + } + // 生态 + if(ObjectUtils.isEmpty(lastOneStwrr) || lastOneStwrr.getEcologyV().compareTo(BigDecimal.ZERO) == 0){ + vo.setEcologyQoqV("-"); + } else { + BigDecimal ecologyQoqV = (nowStwrr.getEcologyV().subtract(lastOneStwrr.getEcologyV())).divide(lastOneStwrr.getEcologyV(), 1, BigDecimal.ROUND_HALF_UP); + jiantou = ""; + if(ecologyQoqV.compareTo(BigDecimal.ZERO) == 0){ + jiantou = "↔"; + vo.setEcologyQoqV(jiantou); + } else { + if(ecologyQoqV.compareTo(BigDecimal.ZERO) < 0){ + jiantou = "↓"; + } else if(ecologyQoqV.compareTo(BigDecimal.ZERO) > 0){ + jiantou = "↑"; + } + vo.setEcologyQoqV(jiantou.concat(ecologyQoqV.abs().toString()).concat("%")); + } + } + // 生活 + if(ObjectUtils.isEmpty(lastOneStwrr) || lastOneStwrr.getLifeV().compareTo(BigDecimal.ZERO) == 0){ + vo.setLifeQoqV("-"); + } else { + BigDecimal lifeQoqV = (nowStwrr.getLifeV().subtract(lastOneStwrr.getLifeV())).divide(lastOneStwrr.getLifeV(), 1, BigDecimal.ROUND_HALF_UP); + jiantou = ""; + if(lifeQoqV.compareTo(BigDecimal.ZERO) == 0){ + jiantou = "↔"; + vo.setLifeQoqV(jiantou); + } else { + if(lifeQoqV.compareTo(BigDecimal.ZERO) < 0){ + jiantou = "↓"; + } else if(lifeQoqV.compareTo(BigDecimal.ZERO) > 0){ + jiantou = "↑"; + } + vo.setLifeQoqV(jiantou.concat(lifeQoqV.abs().toString()).concat("%")); + } + } + resList.add(vo); + } + } + return resList; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StWaterRService.java b/src/main/java/com/gunshi/project/hsz/service/StWaterRService.java new file mode 100644 index 0000000..542b814 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StWaterRService.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.db.dto.DateTimeRangeSo; +import com.gunshi.project.hsz.mapper.StWaterRMapper; +import com.gunshi.project.hsz.model.StWaterR; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 供水量表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StWaterRService extends ServiceImpl +{ + + public Map stat(DateTimeRangeSo dateTimeRangeSo) { + List list = baseMapper.stat(dateTimeRangeSo); + return list.stream() + .collect(Collectors.groupingBy(StWaterR::getStcd, Collectors.mapping(StWaterR::getV, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)))); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StZqrlBService.java b/src/main/java/com/gunshi/project/hsz/service/StZqrlBService.java new file mode 100644 index 0000000..21b969a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StZqrlBService.java @@ -0,0 +1,133 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.vo.RsvrComplexVo; +import com.gunshi.project.hsz.mapper.StZqrlBMapper; +import com.gunshi.project.hsz.model.StRsvrR; +import com.gunshi.project.hsz.model.StZqrlB; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: 水位流量关系曲线表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StZqrlBService extends ServiceImpl { + + /** + * 计算溢洪量 + * + * @param rz 计算溢洪的起始水位 + * @param seconds 溢洪时间,是两条水位数据的时间差,单位秒 + * @param zqrlList 水位流量关系曲线 + * @return 溢洪量 + * @author lyf + */ + public BigDecimal calculateSpilledVolume(BigDecimal rz, long seconds, List zqrlList) { + return getQFromZqrl(rz, zqrlList).multiply(BigDecimal.valueOf(seconds)); + } + + /** + * 计算溢洪量 + * + * @param rz 计算溢洪的起始水位 + * @param seconds 溢洪时间,是两条水位数据的时间差,单位秒 + * @return 溢洪量 + * @author lyf + */ + public BigDecimal calculateSpilledVolume(BigDecimal rz, long seconds) { + return calculateSpilledVolume(rz, seconds, list()); + } + + /** + * 批量计算溢洪量 + * + * @param rsvrList 要计算的水位数据 + * @param zqrlList 水位流量关系曲线 + * @return 计算后的水位数据(时间倒序),含每条水位对应的流量和与上一条水位对应的溢洪量 + * @author lyf + */ + public List calculateSpilledVolumeList(List rsvrList, List zqrlList) { + rsvrList.sort(Comparator.comparing(StRsvrR::getTm).reversed()); + List ret = new ArrayList<>(); + for (int i = 0; i < rsvrList.size(); i++) { + StRsvrR rsvr = rsvrList.get(i); + BigDecimal rz = new BigDecimal(rsvr.getRz()); + Date tm = rsvr.getTm(); + RsvrComplexVo vo = RsvrComplexVo.of(rz, tm); + + if (i == 0) { + vo.setQ(getQFromZqrl(rz, zqrlList)); + vo.setSv(BigDecimal.ZERO); + } else { + StRsvrR rsvrPrev = rsvrList.get(i - 1); + Date tmPrev = rsvrPrev.getTm(); + long seconds = tm.getTime() - tmPrev.getTime(); + vo.setQ(getQFromZqrl(rz, zqrlList)); + vo.setSv(calculateSpilledVolume(rz, seconds)); + } + ret.add(vo); + } + return ret; + } + + /** + * 批量计算溢洪量 + * + * @param rsvrList 要计算的水位数据 + * @return 计算后的水位数据(时间倒序),含每条水位对应的流量和与上一条水位对应的溢洪量 + * @author lyf + */ + public List calculateSpilledVolumeList(List rsvrList) { + return calculateSpilledVolumeList(rsvrList, list()); + } + + /** + * 根据水位查表得流量 + * + * @param rz 水位 + * @return 查表流量 + * @author lyf + */ + public BigDecimal getQFromZqrl(BigDecimal rz) { + return getQFromZqrl(rz, list()); + } + + /** + * 根据水位查表得流量 + * + * @param rz 水位 + * @param zqrlList 水位流量关系曲线 + * @return 查表流量 + * @author lyf + */ + public BigDecimal getQFromZqrl(BigDecimal rz, List zqrlList) { + return toMap(zqrlList).getOrDefault(rz.setScale(3, RoundingMode.DOWN), BigDecimal.ZERO); + } + + /** + * 将水位流量曲线列表转为字典,水位作为键,注意BigDecimal做键的时候要匹配值和精度 + * + * @param zqrlList 水位流量曲线列表 + * @return 水位流量曲线字典 + * @author lyf + */ + private Map toMap(List zqrlList) { + return zqrlList.stream() + .map(item -> Map.entry(item.getZ().setScale(3, RoundingMode.DOWN), item.getQ())) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + } + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StZvarlBService.java b/src/main/java/com/gunshi/project/hsz/service/StZvarlBService.java new file mode 100644 index 0000000..6f68c87 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StZvarlBService.java @@ -0,0 +1,77 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.StZvarlBMapper; +import com.gunshi.project.hsz.model.StZvarlB; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 库( 湖)容曲线表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StZvarlBService extends ServiceImpl { + + /** + * 根据水位查表得库容 + * + * @param rz 水位 + * @return 查表库容 + * @author lyf + */ + public BigDecimal getWFromZvarl(BigDecimal rz) { + return getWFromZvarl(rz, BigDecimal.ZERO, list()); + } + + /** + * 根据水位查表得库容 + * + * @param rz 水位 + * @param defaultValue 查不到时默认值 + * @return 查表库容 + * @author lyf + */ + public BigDecimal getWFromZvarl(BigDecimal rz, BigDecimal defaultValue) { + return getWFromZvarl(rz, defaultValue, list()); + } + + /** + * 根据水位查表得库容 + * + * @param rz 水位 + * @param defaultValue 查不到时默认值 + * @param zvarlList 水位库容关系曲线 + * @return 查表库容 + * @author lyf + */ + public BigDecimal getWFromZvarl(BigDecimal rz, BigDecimal defaultValue, List zvarlList) { + return toMap(zvarlList).getOrDefault(rz.setScale(3, RoundingMode.DOWN), defaultValue); + } + + /** + * 将水位库容曲线列表转为字典,水位作为键,注意BigDecimal做键的时候要匹配值和精度 + * + * @param zvarlList 水位库容曲线列表 + * @return 水位库容曲线字典 + * @author lyf + */ + private Map toMap(List zvarlList) { + return zvarlList.stream() + .map(item -> Map.entry(item.getRz().setScale(3, RoundingMode.DOWN), item.getW())) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + } + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/StatisticsService.java b/src/main/java/com/gunshi/project/hsz/service/StatisticsService.java new file mode 100644 index 0000000..a42d96c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/StatisticsService.java @@ -0,0 +1,608 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.gunshi.db.dto.DateRangeSo; +import com.gunshi.project.hsz.entity.so.StatisticsQuerySo; +import com.gunshi.project.hsz.entity.vo.*; +import com.gunshi.project.hsz.mapper.StPptnRHMapper; +import com.gunshi.project.hsz.model.StPptnRD; +import com.gunshi.project.hsz.model.StPptnRH; +import com.gunshi.project.hsz.util.DateUtil; +import com.gunshi.project.hsz.util.ExcelUtil; +import com.gunshi.project.hsz.util.MyBeanUtil; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: 报图报表 + * author: xusan + * date: 2024-07-08 17:30:37 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class StatisticsService { + + @Autowired + private StPptnRHMapper stPptnRHMapper; + + private static final String TIME_END_PREFIX = " 08:00:00"; + + private static final String ZERO_TIME_END_PREFIX = " 00:00:00"; + + public List sdJyRb(DateRangeSo dateRangeSo) { + List res = new ArrayList<>(); + String start = DateUtil.convertDateToString(dateRangeSo.getStart()) + TIME_END_PREFIX; + String end = DateUtil.getPlusDate(dateRangeSo.getEnd(), 1) + TIME_END_PREFIX; + List dates = DateUtil.getDatesBetween(dateRangeSo.getStart(), dateRangeSo.getEnd(), false); + List list = stPptnRHMapper.queryList(start, end); + for (String date : dates) { + SdJyRbVo vo = new SdJyRbVo(); + vo.setDate(date); + getDrp(vo, list); + res.add(vo); + } + return res; + } + + private void getDrp(SdJyRbVo vo, List list) { + if (CollectionUtils.isNotEmpty(list)) { + String date = vo.getDate(); + BigDecimal drpD = new BigDecimal(0); + Date start = DateUtil.convertStringToDate(date + TIME_END_PREFIX); + String end = DateUtil.getPlusTime(date + TIME_END_PREFIX, 24); + List dayList = list.stream().filter(o -> o.getTm().compareTo(start) > 0 && o.getTm().compareTo(DateUtil.convertStringToDate(end)) <= 0).collect(Collectors.toList()); + SimpleDateFormat simpleDateFormatHH = new SimpleDateFormat("HH"); + for (int i = 0; i < dayList.size(); i++) { + StPptnRH stPptnRH = dayList.get(i); + if (stPptnRH.getDrp() != null) { + vo = setHourDrp(vo, simpleDateFormatHH.format(stPptnRH.getTm()), stPptnRH.getDrp()); + drpD = drpD.add(stPptnRH.getDrp()); + } + } + vo.setDrpD(drpD); + } + } + + private SdJyRbVo setHourDrp(SdJyRbVo vo, String HH, BigDecimal drp) { + switch (HH) { + case "01": + vo.setDrpH1(drp); + break; + case "02": + vo.setDrpH2(drp); + break; + case "03": + vo.setDrpH3(drp); + break; + case "04": + vo.setDrpH4(drp); + break; + case "05": + vo.setDrpH5(drp); + break; + case "06": + vo.setDrpH6(drp); + break; + case "07": + vo.setDrpH7(drp); + break; + case "08": + vo.setDrpH8(drp); + break; + case "09": + vo.setDrpH9(drp); + break; + case "10": + vo.setDrpH10(drp); + break; + case "11": + vo.setDrpH11(drp); + break; + case "12": + vo.setDrpH12(drp); + break; + case "13": + vo.setDrpH13(drp); + break; + case "14": + vo.setDrpH14(drp); + break; + case "15": + vo.setDrpH15(drp); + break; + case "16": + vo.setDrpH16(drp); + break; + case "17": + vo.setDrpH17(drp); + break; + case "18": + vo.setDrpH18(drp); + break; + case "19": + vo.setDrpH19(drp); + break; + case "20": + vo.setDrpH20(drp); + break; + case "21": + vo.setDrpH21(drp); + break; + case "22": + vo.setDrpH22(drp); + break; + case "23": + vo.setDrpH23(drp); + break; + case "00": + vo.setDrpH24(drp); + break; + } + return vo; + } + + public void sdJyRbExport(DateRangeSo dateRangeSo, HttpServletResponse response) { + List list = sdJyRb(dateRangeSo); + String start = DateUtil.convertDateToChineseYmd(dateRangeSo.getStart()); + String end = DateUtil.convertDateToChineseYmd(dateRangeSo.getEnd()); + String fileName = start + "-" + end + "小时降雨量日报表"; + ExcelUtil.exportExcel(list, fileName, SdJyRbVo.class, response, fileName); + } + + public List sdSwRb(DateRangeSo dateRangeSo) { + List res = new ArrayList<>(); + String start = DateUtil.convertDateToString(dateRangeSo.getStart()) + ZERO_TIME_END_PREFIX; + String end = DateUtil.getPlusDate(dateRangeSo.getEnd(), 1) + ZERO_TIME_END_PREFIX; + List dates = DateUtil.getDatesBetween(dateRangeSo.getStart(), dateRangeSo.getEnd(), false); + List list = stPptnRHMapper.queryRzList(start, end); + for (String date : dates) { + SdSwRbVo vo = new SdSwRbVo(); + vo.setDate(date); + getRz(vo, list); + res.add(vo); + } + return res; + } + + private void getRz(SdSwRbVo vo, List list) { + if (CollectionUtils.isNotEmpty(list)) { + String date = vo.getDate(); + BigDecimal rzD = new BigDecimal(0); + Integer count = 0; + String start = date + ZERO_TIME_END_PREFIX; + String end = DateUtil.getPlusTime(date + ZERO_TIME_END_PREFIX, 24); + List dayList = list.stream().filter(o -> o.getTm().compareTo(start) >= 0 && o.getTm().compareTo(end) < 0).collect(Collectors.toList()); + SimpleDateFormat simpleDateFormatHH = new SimpleDateFormat("HH"); + for (int i = 0; i < dayList.size(); i++) { + StRzVo stRzVo = dayList.get(i); + if (stRzVo.getRz() != null) { + vo = setHourRz(vo, simpleDateFormatHH.format(DateUtil.convertStringToDate(stRzVo.getTm())), stRzVo.getRz()); + rzD = rzD.add(stRzVo.getRz()); + count++; + } + } + if(count > 0){ + vo.setRzAvg(rzD.divide(new BigDecimal(count), 2, RoundingMode.HALF_UP)); + } + } + } + + private SdSwRbVo setHourRz(SdSwRbVo vo, String HH, BigDecimal rz) { + switch (HH) { + case "01": + vo.setRzH1(rz); + break; + case "02": + vo.setRzH2(rz); + break; + case "03": + vo.setRzH3(rz); + break; + case "04": + vo.setRzH4(rz); + break; + case "05": + vo.setRzH5(rz); + break; + case "06": + vo.setRzH6(rz); + break; + case "07": + vo.setRzH7(rz); + break; + case "08": + vo.setRzH8(rz); + break; + case "09": + vo.setRzH9(rz); + break; + case "10": + vo.setRzH10(rz); + break; + case "11": + vo.setRzH11(rz); + break; + case "12": + vo.setRzH12(rz); + break; + case "13": + vo.setRzH13(rz); + break; + case "14": + vo.setRzH14(rz); + break; + case "15": + vo.setRzH15(rz); + break; + case "16": + vo.setRzH16(rz); + break; + case "17": + vo.setRzH17(rz); + break; + case "18": + vo.setRzH18(rz); + break; + case "19": + vo.setRzH19(rz); + break; + case "20": + vo.setRzH20(rz); + break; + case "21": + vo.setRzH21(rz); + break; + case "22": + vo.setRzH22(rz); + break; + case "23": + vo.setRzH23(rz); + break; + case "00": + vo.setRzH24(rz); + break; + } + return vo; + } + + public void sdSwRbExport(DateRangeSo dateRangeSo, HttpServletResponse response) { + List list = sdSwRb(dateRangeSo); + String start = DateUtil.convertDateToChineseYmd(dateRangeSo.getStart()); + String end = DateUtil.convertDateToChineseYmd(dateRangeSo.getEnd()); + String fileName = start + "-" + end + "时段水位日报表"; + ExcelUtil.exportExcel(list, fileName, SdSwRbVo.class, response, fileName); + } + + public List rjyNb(StatisticsQuerySo statisticsQuerySo,Integer type) { + List res = new ArrayList<>(); + Integer year = statisticsQuerySo.getYear(); + List list = new ArrayList<>(); + if(type != null){ + list = stPptnRHMapper.queryDayRz(year.toString()); + }else{ + list = stPptnRHMapper.queryDayDrp(year); + } + if (CollectionUtils.isEmpty(list)) { + return res; + } + Map> map = list.stream().collect(Collectors.groupingBy(StPptnRD::getDay)); + for (int i = 1; i < 32; i++) { + RjyNbVo vo = new RjyNbVo(); + String s = String.valueOf(i); + vo.setDate(s); + if(i < 10){ + s = "0" + i; + } + List rds = map.get(s); + if(CollectionUtils.isNotEmpty(rds)){ + for (int j = 0; j < rds.size(); j++) { + StPptnRD rd = rds.get(j); + if (rd.getDrp() != null) { + vo = setDayDrp(vo, rd.getMonth(), rd.getDrp().toString()); + } + } + } + res.add(vo); + } + return res; + } + + private RjyNbVo setDayDrp(RjyNbVo vo, String month, String drp) { + switch (month) { + case "01": + vo.setDrpM1(drp); + break; + case "02": + vo.setDrpM2(drp); + break; + case "03": + vo.setDrpM3(drp); + break; + case "04": + vo.setDrpM4(drp); + break; + case "05": + vo.setDrpM5(drp); + break; + case "06": + vo.setDrpM6(drp); + break; + case "07": + vo.setDrpM7(drp); + break; + case "08": + vo.setDrpM8(drp); + break; + case "09": + vo.setDrpM9(drp); + break; + case "10": + vo.setDrpM10(drp); + break; + case "11": + vo.setDrpM11(drp); + break; + case "12": + vo.setDrpM12(drp); + break; + } + return vo; + } + + public RjyNbStatVo rjyNbStat(StatisticsQuerySo statisticsQuerySo) { + RjyNbStatVo vo = new RjyNbStatVo(); + Integer year = statisticsQuerySo.getYear(); + List list = stPptnRHMapper.queryDayDrp(year); + if (CollectionUtils.isEmpty(list)) { + return vo; + } + BigDecimal drpSum = list.stream().map(StPptnRD::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add); + vo.setDrpSum(drpSum); + Long count = list.stream().filter(o -> o.getDrp().compareTo(new BigDecimal(0)) > 0).collect(Collectors.counting()); + vo.setDayCount(count); + //按月份分组 + Map> map = list.stream().collect(Collectors.groupingBy(StPptnRD::getMonth)); + + List childList = new ArrayList<>(); + RjyNbVo rjyNbVo = new RjyNbVo(); + rjyNbVo.setDate("月降雨量"); + setMonthSumDrp(rjyNbVo,map); + childList.add(rjyNbVo); + + RjyNbVo rVo = new RjyNbVo(); + rVo.setDate("降雨日数"); + setMonthDrpDay(rVo,map); + childList.add(rVo); + + RjyNbVo max = new RjyNbVo(); + max.setDate("最大日量"); + setMonthDrpMax(max,map); + childList.add(max); + + vo.setList(childList); + return vo; + } + + private void setMonthDrpMax(RjyNbVo rjyNbVo, Map> map) { + for(int i = 1;i< 13;i++){ + String s = String.valueOf(i); + if(i < 10){ + s = "0" + i; + } + List list = map.get(s); + if(CollectionUtils.isNotEmpty(list)) { + BigDecimal maxDrp = list.stream().max(Comparator.comparing(StPptnRD::getDrp)).get().getDrp(); + setDayDrp(rjyNbVo, s, maxDrp.toString()); + } + } + } + + + private void setMonthSumDrp(RjyNbVo rjyNbVo, Map> map) { + for(int i = 1;i< 13;i++){ + String s = String.valueOf(i); + if(i < 10){ + s = "0" + i; + } + List list = map.get(s); + if(CollectionUtils.isNotEmpty(list)){ + BigDecimal drpSum = list.stream().map(StPptnRD::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add); + setDayDrp(rjyNbVo,s,drpSum.toString()); + } + } + } + + private void setMonthDrpDay(RjyNbVo rjyNbVo, Map> map) { + for(int i = 1;i< 13;i++){ + String s = String.valueOf(i); + if(i < 10){ + s = "0" + i; + } + List list = map.get(s); + if(CollectionUtils.isNotEmpty(list)){ + Long count = list.stream().filter(o -> o.getDrp().compareTo(new BigDecimal(0)) > 0).collect(Collectors.counting()); + setDayDrp(rjyNbVo,s,new BigDecimal(count).toString()); + } + } + } + + public void rjyNbExport(StatisticsQuerySo statisticsQuerySo, HttpServletResponse response) { + //上方数据 + List rjyNb = rjyNb(statisticsQuerySo,null); + //下方统计数据 + RjyNbStatVo vo = rjyNbStat(statisticsQuerySo); + List list = vo.getList(); + rjyNb.addAll(list); + //最下方拼接一条数据 + RjyNbVo rjyNbVo = new RjyNbVo(); + rjyNbVo.setDate("年统计"); + rjyNbVo.setDrpM1("降水量"); + rjyNbVo.setDrpM2("降水量"); + rjyNbVo.setDrpM3(vo.getDrpSum().toString()); + rjyNbVo.setDrpM4(vo.getDrpSum().toString()); + rjyNbVo.setDrpM5(vo.getDrpSum().toString()); + rjyNbVo.setDrpM6(vo.getDrpSum().toString()); + rjyNbVo.setDrpM7("降雨日数"); + rjyNbVo.setDrpM8("降雨日数"); + rjyNbVo.setDrpM9(vo.getDayCount().toString()); + rjyNbVo.setDrpM10(vo.getDayCount().toString()); + rjyNbVo.setDrpM11(vo.getDayCount().toString()); + rjyNbVo.setDrpM12(vo.getDayCount().toString()); + rjyNb.add(rjyNbVo); + + String fileName = "檀树岗水库" + statisticsQuerySo.getYear() + "年日降雨年报表"; + ExcelUtil.exportExcel(rjyNb, fileName, RjyNbVo.class, response, fileName,1); + } + + public List rjswNb(StatisticsQuerySo statisticsQuerySo) { + return rjyNb(statisticsQuerySo,1); + } + + public RjswNbStatVo rjswNbStat(StatisticsQuerySo statisticsQuerySo) { + RjswNbStatVo vo = new RjswNbStatVo(); + Integer year = statisticsQuerySo.getYear(); + List list = stPptnRHMapper.queryDayRz(year.toString()); + if (CollectionUtils.isEmpty(list)) { + return vo; + } + BigDecimal max = list.stream().max(Comparator.comparing(StPptnRD::getDrp)).get().getDrp(); + vo.setMax(max); + BigDecimal min = list.stream().min(Comparator.comparing(StPptnRD::getDrp)).get().getDrp(); + vo.setMin(min); + BigDecimal sum = list.stream().map(StPptnRD::getDrp).reduce(BigDecimal.ZERO,BigDecimal::add); + Long count = list.stream().filter(o -> o.getDrp().compareTo(new BigDecimal(0)) > 0).collect(Collectors.counting()); + vo.setAvg(sum.divide(new BigDecimal(count),2,RoundingMode.HALF_UP)); + //按月份分组 + Map> map = list.stream().collect(Collectors.groupingBy(StPptnRD::getMonth)); + List statVos = statData(map); + + List childList = new ArrayList<>(); + + RjswNbVo rjswNbVo = new RjswNbVo(); + Map avgMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getAvg)); + RjyNbVo rjyNbVo = setDayRz(avgMap); + BeanUtils.copyProperties(rjyNbVo,rjswNbVo); + rjswNbVo.setTheme("月统计"); + rjswNbVo.setDate("平均"); + childList.add(rjswNbVo); + + RjswNbVo rjswNbVoMax = new RjswNbVo(); + Map maxMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getMax)); + RjyNbVo rjyNbVoMax = setDayRz(maxMap); + BeanUtils.copyProperties(rjyNbVoMax,rjswNbVoMax); + rjswNbVoMax.setTheme("月统计"); + rjswNbVoMax.setDate("最高"); + childList.add(rjswNbVoMax); + + RjswNbVo rjMaxDate = new RjswNbVo(); + Map maxDateMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getMaxDate)); + RjyNbVo rjyNbVoMaxDate = setDayRz(maxDateMap); + BeanUtils.copyProperties(rjyNbVoMaxDate,rjMaxDate); + rjMaxDate.setTheme("月统计"); + rjMaxDate.setDate("最高日期"); + childList.add(rjMaxDate); + + RjswNbVo rjswNbVoMin = new RjswNbVo(); + Map minMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getMin)); + RjyNbVo rjyNbVoMin = setDayRz(minMap); + BeanUtils.copyProperties(rjyNbVoMin,rjswNbVoMin); + rjswNbVoMin.setTheme("月统计"); + rjswNbVoMin.setDate("最低"); + childList.add(rjswNbVoMin); + + RjswNbVo rjMinDate = new RjswNbVo(); + Map minDateMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getMinDate)); + RjyNbVo rjyNbVoMinDate = setDayRz(minDateMap); + BeanUtils.copyProperties(rjyNbVoMinDate,rjMinDate); + rjMinDate.setTheme("月统计"); + rjMinDate.setDate("最低日期"); + childList.add(rjMinDate); + + vo.setList(childList); + return vo; + } + + private RjyNbVo setDayRz(Map map) { + RjyNbVo rjyNbVo = new RjyNbVo(); + map.entrySet().forEach(entry->{ + String month = entry.getKey(); + String value = entry.getValue(); + setDayDrp(rjyNbVo,month,value); + }); + return rjyNbVo; + } + + + private List statData(Map> map) { + List statVos = new ArrayList<>(); + for(int i = 1;i< 13;i++){ + String s = String.valueOf(i); + if(i < 10){ + s = "0" + i; + } + List list = map.get(s); + if(CollectionUtils.isNotEmpty(list)){ + NbStatVo vo = new NbStatVo(); + vo.setMonth(s); + StPptnRD max = list.stream().max(Comparator.comparing(StPptnRD::getDrp)).get(); + vo.setMax(max.getDrp().toString()); + vo.setMaxDate(max.getDay()+"日"); + + StPptnRD min = list.stream().min(Comparator.comparing(StPptnRD::getDrp)).get(); + vo.setMin(min.getDrp().toString()); + vo.setMinDate(min.getDay()+"日"); + + BigDecimal sum = list.stream().map(StPptnRD::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add); + Long count = list.stream().filter(o -> o.getDrp().compareTo(new BigDecimal(0)) > 0).collect(Collectors.counting()); + vo.setAvg(sum.divide(new BigDecimal(count),2,RoundingMode.HALF_UP).toString()); + statVos.add(vo); + } + } + return statVos; + } + + public void rjswNbExport(StatisticsQuerySo statisticsQuerySo, HttpServletResponse response) { + //上方数据 + List rjyNbVos = this.rjswNb(statisticsQuerySo); + List rjswNbVos = MyBeanUtil.collectionCopy(rjyNbVos, RjswNbVo.class); + rjswNbVos.stream().forEach(o->o.setTheme(o.getDate())); + //下方统计数据 + RjswNbStatVo statVo = this.rjswNbStat(statisticsQuerySo); + List list = statVo.getList(); + rjswNbVos.addAll(list); + + //最下方拼接一条数据 + RjswNbVo rjswNbVo = new RjswNbVo(); + rjswNbVo.setTheme("年统计"); + rjswNbVo.setDate("年统计"); + rjswNbVo.setDrpM1("最高水位"); + rjswNbVo.setDrpM2(statVo.getMax().toString()); + rjswNbVo.setDrpM3(statVo.getMax().toString()); + rjswNbVo.setDrpM4(statVo.getMax().toString()); + rjswNbVo.setDrpM5("最低水位"); + rjswNbVo.setDrpM6(statVo.getMin().toString()); + rjswNbVo.setDrpM7(statVo.getMin().toString()); + rjswNbVo.setDrpM8(statVo.getMin().toString()); + rjswNbVo.setDrpM9("平均水位"); + rjswNbVo.setDrpM10(statVo.getAvg().toString()); + rjswNbVo.setDrpM11(statVo.getAvg().toString()); + rjswNbVo.setDrpM12(statVo.getAvg().toString()); + rjswNbVos.add(rjswNbVo); + + String fileName = "檀树岗水库" + statisticsQuerySo.getYear() + "年日平均水位年报表"; + ExcelUtil.exportExcel(rjswNbVos, fileName, RjswNbVo.class, response, fileName,2); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/SysDictBService.java b/src/main/java/com/gunshi/project/hsz/service/SysDictBService.java new file mode 100644 index 0000000..1228df0 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SysDictBService.java @@ -0,0 +1,60 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.SysDictBMapper; +import com.gunshi.project.hsz.model.SysDictB; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 系统字典表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SysDictBService extends ServiceImpl +{ + + + public List tree() { + List list = list(); + if (CollectionUtils.isEmpty(list)){ + return list; + } + Map> listMap = list.stream().collect(Collectors.groupingBy(SysDictB::getPid)); + + list.forEach(o -> o.setChildren(listMap.get(o.getId()))); + List parentList = list.stream().filter(o -> 0L == o.getPid()).collect(Collectors.toList()); + return sorted(parentList); + } + + private List sorted( List tree) { + + List sorteds = null; + + if (CollectionUtils.isNotEmpty(tree)){ + sorteds = tree.stream().sorted(Comparator.comparing(SysDictB::getSortOn) + ).collect(Collectors.toList()); + sorteds.forEach(o->{ + o.setChildren(sorted(o.getChildren())); + }); + } + + return sorteds; + } + + public List listByCd(String dictCd) { + return this.baseMapper.listByCd(dictCd); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/SzCaseService.java b/src/main/java/com/gunshi/project/hsz/service/SzCaseService.java new file mode 100644 index 0000000..95167d1 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SzCaseService.java @@ -0,0 +1,21 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.SzCaseMapper; +import com.gunshi.project.hsz.model.SzCase; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SzCaseService extends ServiceImpl { +} diff --git a/src/main/java/com/gunshi/project/hsz/service/SzRegulatoryFrameworkService.java b/src/main/java/com/gunshi/project/hsz/service/SzRegulatoryFrameworkService.java new file mode 100644 index 0000000..176719d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SzRegulatoryFrameworkService.java @@ -0,0 +1,21 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.SzRegulatoryFrameworkMapper; +import com.gunshi.project.hsz.model.SzRegulatoryFramework; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SzRegulatoryFrameworkService extends ServiceImpl { +} diff --git a/src/main/java/com/gunshi/project/hsz/service/SzRuleByLawService.java b/src/main/java/com/gunshi/project/hsz/service/SzRuleByLawService.java new file mode 100644 index 0000000..a500409 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SzRuleByLawService.java @@ -0,0 +1,21 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.SzRuleByLawMapper; +import com.gunshi.project.hsz.model.SzRuleByLaw; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SzRuleByLawService extends ServiceImpl { +} diff --git a/src/main/java/com/gunshi/project/hsz/service/SzTreatmentBasisService.java b/src/main/java/com/gunshi/project/hsz/service/SzTreatmentBasisService.java new file mode 100644 index 0000000..63d24ea --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/SzTreatmentBasisService.java @@ -0,0 +1,21 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.SzTreatmentBasisMapper; +import com.gunshi.project.hsz.model.SzTreatmentBasis; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Description: + * Created by XuSan on 2024/9/24. + * + * @author XuSan + * @version 1.0 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SzTreatmentBasisService extends ServiceImpl { +} diff --git a/src/main/java/com/gunshi/project/hsz/service/TermiteAdverPicService.java b/src/main/java/com/gunshi/project/hsz/service/TermiteAdverPicService.java new file mode 100644 index 0000000..163e7c8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/TermiteAdverPicService.java @@ -0,0 +1,66 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.mapper.TermiteAdverPicMapper; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.model.TermiteAdverPic; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 描述: 白蚁防治宣传图片墙 + * author: xusan + * date: 2024-08-29 17:33:09 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class TermiteAdverPicService extends ServiceImpl +{ + + @Autowired + private FileAssociationsService fileService; + + public TermiteAdverPic saveData(TermiteAdverPic dto) { + dto.setId(IdWorker.getId()); + dto.setCreateTime(new Date()); + boolean result = this.save(dto); + if (result) { + fileService.saveFile(Arrays.asList(dto.getPic()), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public String getGroupId() { + return "termiteAdverPic"; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return data; + } + + public List queryList() { + List list = this.list().stream().sorted(Comparator.comparing(TermiteAdverPic::getCreateTime).reversed()).collect(Collectors.toList()); + for(TermiteAdverPic pic : list){ + List files = fileService.getFiles(getGroupId(), pic.getId().toString()); + pic.setPic(files.get(0)); + } + return list; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/TermiteSurveyDetailService.java b/src/main/java/com/gunshi/project/hsz/service/TermiteSurveyDetailService.java new file mode 100644 index 0000000..1963a35 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/TermiteSurveyDetailService.java @@ -0,0 +1,136 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.TermiteSurveyPageSo; +import com.gunshi.project.hsz.mapper.RiskControlInfoMapper; +import com.gunshi.project.hsz.mapper.TermiteSurveyDetailMapper; +import com.gunshi.project.hsz.model.BzDictRel; +import com.gunshi.project.hsz.model.FileAssociations; +import com.gunshi.project.hsz.model.TermiteSurvey; +import com.gunshi.project.hsz.model.TermiteSurveyDetail; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 白蚁普查明细 + * author: xusan + * date: 2024-08-28 10:25:17 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class TermiteSurveyDetailService extends ServiceImpl +{ + @Autowired + private FileAssociationsService fileService; + + @Autowired + private BzDictRelService bzDictRelService; + + @Autowired + private RiskControlInfoMapper controlInfoMapper; + + public void saveDetail(List details, Long id) { + if(!CollectionUtils.isEmpty(details)){ + List picList = new ArrayList<>(); + List videoList = new ArrayList<>(); + List relList = new ArrayList<>(); + for (TermiteSurveyDetail detail : details){ + Long detailId = IdWorker.getId(); + detail.setId(detailId); + detail.setSurveyId(id); + if(CollectionUtils.isNotEmpty(detail.getActSign())){ + detail.getActSign().stream().forEach(o->o.setBusinessId(detailId)); + relList.addAll(detail.getActSign()); + } + if(CollectionUtils.isNotEmpty(detail.getPics())){ + detail.getPics().stream().forEach(o->o.setBusinessId(detailId.toString())); + picList.addAll(detail.getPics()); + } + if(CollectionUtils.isNotEmpty(detail.getVideos())){ + detail.getVideos().stream().forEach(o->o.setBusinessId(detailId.toString())); + videoList.addAll(detail.getVideos()); + } + } + this.saveBatch(details); + bzDictRelService.saveRel(relList,null,getGroupId()); + fileService.save(picList,null,getGroupId(),getPicType()); + fileService.save(videoList,null,getGroupId(),getVideoType()); + } + + } + + private String getPicType() { + return "termitePic"; + } + + private String getVideoType() { + return "termiteVideo"; + } + + public String getGroupId() { + return "termiteSurvey"; + } + + + public void updateDetail(List details, Long id) { + delDetail(id); + saveDetail(details,id); + } + + public void delDetail(Long id) { + List list = getDetailById(id); + if(CollectionUtils.isEmpty(list)){ + return; + } + List detailIds = list.stream().map(TermiteSurveyDetail::getId).collect(Collectors.toList()); + List ids = detailIds.stream().map(Object::toString).collect(Collectors.toList()); + //删除附件 + fileService.removeByBzIds(ids); + //删除字典 + bzDictRelService.removeByBzIds(detailIds); + this.removeBatchByIds(detailIds); + } + + public TermiteSurvey detail(TermiteSurvey termiteSurvey) { + List list = getDetailById(termiteSurvey.getId()); + if(CollectionUtils.isEmpty(list)){ + return termiteSurvey; + } + List ids = list.stream().map(TermiteSurveyDetail::getId).collect(Collectors.toList()); + List relList = controlInfoMapper.queryRelList(ids); + Map> map = relList.stream().collect(Collectors.groupingBy(BzDictRel::getBusinessId)); + for(TermiteSurveyDetail detail : list){ + detail.setActSign(map.get(detail.getId())); + detail.setPics(fileService.queryFileList(detail.getId().toString(),getGroupId(),getPicType())); + detail.setVideos(fileService.queryFileList(detail.getId().toString(),getGroupId(),getVideoType())); + } + termiteSurvey.setDetails(list); + return termiteSurvey; + } + + private List getDetailById(Long id){ + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(TermiteSurveyDetail::getSurveyId,id); + return this.list(queryWrapper); + } + + + public Page pageQuery(TermiteSurveyPageSo page) { + return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/TermiteSurveyService.java b/src/main/java/com/gunshi/project/hsz/service/TermiteSurveyService.java new file mode 100644 index 0000000..deaf332 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/TermiteSurveyService.java @@ -0,0 +1,75 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.TermiteSurveyPageSo; +import com.gunshi.project.hsz.mapper.TermiteSurveyMapper; +import com.gunshi.project.hsz.model.TermiteSurvey; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.Objects; + +/** + * 描述: 白蚁普查 + * author: xusan + * date: 2024-08-28 10:29:58 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class TermiteSurveyService extends ServiceImpl +{ + @Autowired + private TermiteSurveyDetailService detailService; + + public TermiteSurvey saveData(TermiteSurvey dto) { + dto.setCreateTime(new Date()); + dto.setId(IdWorker.getId()); + boolean result = this.save(dto); + if (result) { + detailService.saveDetail(dto.getDetails(),dto.getId()); + } + return dto; + } + + public TermiteSurvey updateData(TermiteSurvey dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + detailService.updateDetail(dto.getDetails(),dto.getId()); + } + return dto; + } + + public Boolean delData(Long id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + detailService.delDetail(id); + } + return data; + } + + public TermiteSurvey detail(Long id) { + TermiteSurvey termiteSurvey = this.getById(id); + if(Objects.isNull(termiteSurvey)){ + throw new IllegalArgumentException("当前数据不存在"); + } + return detailService.detail(termiteSurvey); + } + + public Page pageQuery(TermiteSurveyPageSo page) { + return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/service/TyYearRainfallService.java b/src/main/java/com/gunshi/project/hsz/service/TyYearRainfallService.java new file mode 100644 index 0000000..b5b6ad6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/service/TyYearRainfallService.java @@ -0,0 +1,128 @@ +package com.gunshi.project.hsz.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.hsz.entity.so.TyYearRainfallPageSo; +import com.gunshi.project.hsz.entity.vo.TyYearRainfallVo; +import com.gunshi.project.hsz.mapper.TyYearRainfallMapper; +import com.gunshi.project.hsz.model.TyYearRainfall; +import com.gunshi.project.hsz.util.MyBeanUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 描述: 典型年降雨资料表 + * author: xusan + * date: 2024-07-08 17:30:38 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class TyYearRainfallService extends ServiceImpl +{ + + + public boolean saveData(TyYearRainfallVo dto) { + checkParam(dto); + TyYearRainfall tyYearRainfall = new TyYearRainfall(); + BeanUtils.copyProperties(dto,tyYearRainfall); + tyYearRainfall.setId(IdWorker.getId()); + List list = dto.getList(); + if(CollectionUtils.isNotEmpty(list)){ + list.stream().map(o->{ + o.setId(IdWorker.getId()); + return o; + }).collect(Collectors.toList()); + } + list.add(tyYearRainfall); + return this.saveBatch(list); + } + + private void checkParam(TyYearRainfallVo dto) { + Long id = dto.getId(); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(TyYearRainfall::getYear,dto.getYear()) + .eq(TyYearRainfall::getType,1); + if(id != null){ + queryWrapper.ne(TyYearRainfall::getId,id); + } + if(this.count(queryWrapper ) > 0){ + throw new IllegalArgumentException("该年份已存在典型年降雨资料"); + } + Long len = dto.getList().stream().map(TyYearRainfall::getMonth).distinct().collect(Collectors.counting()); + if(dto.getList().size() != len.intValue()){ + throw new IllegalArgumentException("月份不可重复"); + } + } + + public Page pageQuery(TyYearRainfallPageSo tyYearRainfallPageSo) { + Page page = baseMapper.pageQuery(tyYearRainfallPageSo.getPageSo().toPage(), tyYearRainfallPageSo); + fillList(page); + return page; + } + + private void fillList(Page ret) { + if (ret.getRecords() != null) { + queryChild(ret.getRecords()); + } + } + + private void queryChild(List records) { + for (TyYearRainfallVo record : records) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(TyYearRainfall::getYear,record.getYear()) + .eq(TyYearRainfall::getType,2) + .orderByAsc(TyYearRainfall::getMonth); + record.setList(this.list(queryWrapper)); + } + } + + public boolean updateData(TyYearRainfallVo dto) { + checkParam(dto); + TyYearRainfall tyYearRainfall = new TyYearRainfall(); + BeanUtils.copyProperties(dto,tyYearRainfall); + this.updateById(tyYearRainfall); + deleteMonthData(dto.getYear()); + List list = dto.getList(); + if(CollectionUtils.isNotEmpty(list)){ + list.stream().map(o->{ + o.setId(IdWorker.getId()); + return o; + }).collect(Collectors.toList()); + } + return this.saveBatch(list); + } + + private void deleteMonthData(Integer year) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(TyYearRainfall::getYear,year) + .eq(TyYearRainfall::getType,2); + this.remove(queryWrapper); + } + + public Boolean removeData(Long id) { + TyYearRainfall tyYearRainfall = this.getById(id); + deleteMonthData(tyYearRainfall.getYear()); + return this.removeById(id); + } + + public List queryList() { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(TyYearRainfall::getType,1); + List list = this.list(queryWrapper); + List resList = MyBeanUtil.collectionCopy(list,TyYearRainfallVo.class); + queryChild(resList); + return resList; + } +} + + diff --git a/src/main/java/com/gunshi/project/hsz/system/SysUserLoginLogController.java b/src/main/java/com/gunshi/project/hsz/system/SysUserLoginLogController.java new file mode 100644 index 0000000..22e6e10 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/SysUserLoginLogController.java @@ -0,0 +1,248 @@ +package com.gunshi.project.hsz.system; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.annotation.Get; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.project.hsz.system.model.SysUserLoginLog; +import com.gunshi.project.hsz.system.model.SysVisitMenuLog; +import com.gunshi.project.hsz.system.mapper.SysUserLoginLogMapper; +import com.gunshi.project.hsz.system.mapper.SysVisitMenuLogMapper; +import com.gunshi.project.hsz.system.so.UserLoginLogPageSo; +import com.gunshi.project.hsz.system.so.UserLoginLogSo; +import com.gunshi.project.hsz.system.vo.TodayCountVo; +import com.gunshi.project.hsz.system.vo.UserCountVo; +import com.gunshi.project.hsz.system.vo.VisitCountVo; +import com.gunshi.project.hsz.util.DateUtil; +import com.ruoyi.common.utils.SecurityUtils; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDate; +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * Description: + * Created by XuSan on 2024/6/20. + * + * @author XuSan + * @version 1.0 + */ +@RestController +@RequestMapping("/userLoginLog") +@Tag(name = "用户访问记录") +public class SysUserLoginLogController { + + @Autowired + private SysUserLoginLogMapper thisMapper; + + @Autowired + private SysVisitMenuLogMapper thisMenuMapper; + +// @Autowired +// private ProjectCommonService projectCommonService; + + @Post(path = "/page", summary = "分页查询") + public R> page(@RequestBody @Validated UserLoginLogPageSo dto) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + if (dto.getName() != null) { + queryWrapper.eq(SysUserLoginLog::getCreateId, dto.getName()); + } + + return R.ok(thisMapper.selectPage(dto.getPageSo().toPage(), queryWrapper)); + } + + @Get(path = "/todayCount", summary = "今日数据总览") + public R todayCount() { + + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(SysUserLoginLog.class) + .between(SysUserLoginLog::getCreateDate, DateUtil.convertStringToDate(LocalDate.now().toString() + " 00:00:00"), new Date()); + + List logs = thisMapper.selectList(wrapper); + + if (CollectionUtils.isEmpty(logs)) { + return R.ok(null); + } + + TodayCountVo vo = new TodayCountVo(); + + vo.setWeb1Count( + logs.stream() + .filter(o -> "0".equals(o.getLoginType())) + .count()); + + List webTimes = logs.stream() + .filter(o -> "0".equals(o.getLoginType())) + .filter(o -> o.getLogoutTime() != null && o.getLoginTime() != null) + .map(o -> o.getLogoutTime().getTime() - o.getLoginTime().getTime()) + .collect(Collectors.toList()); + + BigDecimal divisor = BigDecimal.valueOf(1000 * 60 * 60); + vo.setWeb3Count( + BigDecimal.valueOf(webTimes.stream().mapToLong(o -> o).sum()) + .divide(BigDecimal.valueOf(webTimes.size()), 2, RoundingMode.HALF_UP) + .divide(divisor, 2, RoundingMode.HALF_UP) + ); + + vo.setApp1Count( + logs.stream() + .filter(o -> "1".equals(o.getLoginType())) + .count() + ); + + List appTimes = logs.stream() + .filter(o -> "0".equals(o.getLoginType())) + .filter(o -> o.getLogoutTime() != null && o.getLoginTime() != null) + .map(o -> o.getLogoutTime().getTime() - o.getLoginTime().getTime()) + .collect(Collectors.toList()); + + vo.setApp3Count( + BigDecimal.valueOf(appTimes.stream().mapToLong(o -> o).sum()) + .divide(BigDecimal.valueOf(appTimes.size()),2, RoundingMode.HALF_UP) + .divide(divisor,2, RoundingMode.HALF_UP) + ); + + LambdaQueryWrapper wrapperMenuLog = Wrappers.lambdaQuery(SysVisitMenuLog.class) + .eq(SysVisitMenuLog::getCreateTime, new Date()); + + vo.setWeb2Count(0L); + vo.setApp2Count(0L); + + List wrapperMenuLogs = thisMenuMapper.selectList(wrapperMenuLog); + if (CollectionUtils.isNotEmpty(wrapperMenuLogs)) { + vo.setWeb2Count( + wrapperMenuLogs.stream() + .filter(o -> "0".equals(o.getLoginType())) + .count() + ); + + vo.setApp2Count( + wrapperMenuLogs.stream() + .filter(o -> "1".equals(o.getLoginType())) + .count() + ); + } + + return R.ok(vo); + } + + + @Post(path = "/visitCount", summary = "访问用户前十") + public R visitCount(@RequestBody @Validated UserLoginLogSo so) { + + List logs = thisMapper.getUserLoginLog(so.getStm(), so.getEtm()); + + VisitCountVo vo = new VisitCountVo(); + if (CollectionUtils.isEmpty(logs)) { + return R.ok(vo); + } + vo.setWebList(logs.stream() + .filter(o -> "0".equals(o.getLoginType())) + .collect(Collectors.groupingBy(SysUserLoginLog::getUserName, Collectors.counting())) + .entrySet().stream() + .map(o -> { + VisitCountVo.VisitCountDataVo dataVo = new VisitCountVo.VisitCountDataVo(); + dataVo.setCount(o.getValue()); + dataVo.setName(o.getKey()); + return dataVo; + }).collect(Collectors.toList()) + ); + vo.setAppList(logs.stream() + .filter(o -> "1".equals(o.getLoginType())) + .collect(Collectors.groupingBy(SysUserLoginLog::getUserName, Collectors.counting())) + .entrySet().stream() + .map(o -> { + VisitCountVo.VisitCountDataVo dataVo = new VisitCountVo.VisitCountDataVo(); + dataVo.setCount(o.getValue()); + dataVo.setName(o.getKey()); + return dataVo; + }) + .limit(10) + .collect(Collectors.toList()) + + ); + return R.ok(vo); + } + + @Post(path = "/userCount", summary = "日活跃用户数") + public R userCount(@RequestBody @Validated UserLoginLogSo so) { + + List logs = thisMapper.getUserLoginLog(so.getStm(), so.getEtm()); + + UserCountVo vo = new UserCountVo(); + if (CollectionUtils.isEmpty(logs)) { + return R.ok(vo); + } + + vo.setWebList(logs.stream() + .filter(o -> "0".equals(o.getLoginType())) + .collect(Collectors.groupingBy(SysUserLoginLog::getCreateDate, Collectors.counting())) + .entrySet().stream() + .map(o -> { + UserCountVo.UserCountDataVo dataVo = new UserCountVo.UserCountDataVo(); + dataVo.setCount(o.getValue()); + dataVo.setCreateDate(o.getKey()); + return dataVo; + }).collect(Collectors.toList()) + ); + + vo.setAppList(logs.stream() + .filter(o -> "1".equals(o.getLoginType())) + .collect(Collectors.groupingBy(SysUserLoginLog::getCreateDate, Collectors.counting())) + .entrySet().stream() + .map(o -> { + UserCountVo.UserCountDataVo dataVo = new UserCountVo.UserCountDataVo(); + dataVo.setCount(o.getValue()); + dataVo.setCreateDate(o.getKey()); + return dataVo; + }).collect(Collectors.toList()) + ); + return R.ok(vo); + } + + @Post(path = "/insert", summary = "添加") + public R insert(@RequestBody @Validated SysUserLoginLog dto) { + + if (Objects.isNull(dto.getCreateId())) { + Long loginUserId = SecurityUtils.getUserId(); + dto.setCreateId(loginUserId); + } + + // 查询当前时间是否存在 + List uLogs = thisMapper.selectList( + Wrappers + .lambdaQuery(SysUserLoginLog.class) + .eq(SysUserLoginLog::getCreateId,dto.getCreateId()) + .eq(SysUserLoginLog::getCreateDate, new Date())); + + + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(uLogs)) { + throw new RuntimeException("当前数据已存在"); + } + + Date date = new Date(); + + + // 第一次登录 + dto + .setCreateDate(date) + .setLoginTime(date) + .setLogoutTime(date); + + return R.ok(thisMapper.insert(dto) == 1); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/system/SysVisitMenuLogController.java b/src/main/java/com/gunshi/project/hsz/system/SysVisitMenuLogController.java new file mode 100644 index 0000000..ba5f114 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/SysVisitMenuLogController.java @@ -0,0 +1,105 @@ +package com.gunshi.project.hsz.system; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.annotation.Post; +import com.gunshi.core.result.R; +import com.gunshi.core.result.exception.NeedLoginException; +import com.gunshi.project.hsz.system.mapper.SysVisitMenuLogMapper; +import com.gunshi.project.hsz.system.model.SysVisitMenuLog; +import com.gunshi.project.hsz.system.so.VisitMenuLogPageSo; +import com.ruoyi.common.utils.SecurityUtils; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +/** + * Description: + * Created by XuSan on 2024/6/20. + * + * @author XuSan + * @version 1.0 + */ +@Slf4j +@RestController +@RequestMapping("/visitMenuLog") +@Tag(name = "页面访问记录") +public class SysVisitMenuLogController { + + @Autowired + private SysVisitMenuLogMapper thisMapper; + + +// @Resource +// private ProjectCommonService projectCommonService; + @Post(path = "/page", summary = "分页查询") + public R> page(@RequestBody @Validated VisitMenuLogPageSo dto) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + + if (dto.getMenu() != null) { + queryWrapper.like(SysVisitMenuLog::getMenu1, dto.getMenu()); + queryWrapper.like(SysVisitMenuLog::getMenu2, dto.getMenu()); + queryWrapper.like(SysVisitMenuLog::getMenu3, dto.getMenu()); + } + + return R.ok(thisMapper.selectPage(dto.getPageSo().toPage(), queryWrapper)); + } + + @Post(path = "/count", summary = "统计查询") + public R> count(@RequestBody @Validated VisitMenuLogPageSo dto) { + + LambdaQueryWrapper queryWrapper = Wrappers.query(SysVisitMenuLog.class) + .select("COUNT(ID) COUNT, menu2, menu1") + .lambda(); + + if (dto.getStm() != null) { + queryWrapper.ge(SysVisitMenuLog::getCreateTime, dto.getStm()); + } + + if (dto.getEtm() != null) { + queryWrapper.le(SysVisitMenuLog::getCreateTime, dto.getEtm()); + } + + queryWrapper.groupBy(SysVisitMenuLog::getMenu2, SysVisitMenuLog::getMenu1); + + List list = thisMapper.selectList(queryWrapper); + + + return R.ok( + list + .stream() + .sorted( + Comparator + .comparing(SysVisitMenuLog::getCount) + .reversed() + ) + .collect(Collectors.toList()) + ); + } + + @Post(path = "/insert", summary = "添加") + public R insert(@RequestBody @Validated SysVisitMenuLog dto) { + + Long loginUserId = null; + // 获取用户id + try { + loginUserId = SecurityUtils.getUserId(); + } catch (NeedLoginException e) { + log.info("获取登录账号id," + e.getMessage(), e); + } + if (null == dto.getCreateId() && null != loginUserId){ + dto.setCreateId(loginUserId); + } + return R.ok(thisMapper.insert(dto) == 1); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/system/aspect/SysUserLogAspect.java b/src/main/java/com/gunshi/project/hsz/system/aspect/SysUserLogAspect.java new file mode 100644 index 0000000..ec32200 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/aspect/SysUserLogAspect.java @@ -0,0 +1,122 @@ +package com.gunshi.project.hsz.system.aspect; + +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.gunshi.project.hsz.system.mapper.SysUserLoginLogMapper; +import com.gunshi.project.hsz.system.model.SysUserLoginLog; +import com.gunshi.project.hsz.system.utils.ReqUtil; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.SecurityUtils; +import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * Description: + * Created by XuSan on 2024/6/20. + * + * @author XuSan + * @version 1.0 + */ +@Aspect +@Slf4j +@Component +public class SysUserLogAspect { + + @Autowired + private SysUserLoginLogMapper userLoginLogMapper; + +// @Autowired +// private ProjectCommonService projectCommonService; + + + @Pointcut("execution(public * com.gunshi.project.hsz.controller..*Controller.*(..))") + public void controllerPointcut() { + } + + @Before("controllerPointcut()") + public void doBefore(JoinPoint joinPoint) throws Throwable { + + log.info("进入记录日志切面"); + + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + + Long loginUserId = null; + // 获取用户id + try { +// loginUserId = projectCommonService.getLoginUserId(); + loginUserId = SecurityUtils.getUserId(); + } catch (ServiceException e) { +// log.info("获取登录账号id," + e.getMessage(), e); + log.info("获取登录账号id异常,请重新登录"); + } + if (loginUserId != null) { + + String loginType = request.getHeader("loginType"); + if (StringUtils.isBlank(loginType)){ + loginType = "0"; + } + + // 查询当前时间是否存在 + List uLogs = userLoginLogMapper.selectList( + Wrappers + .lambdaQuery(SysUserLoginLog.class) + .eq(SysUserLoginLog::getLoginType, loginType) + .eq(SysUserLoginLog::getCreateDate, new Date()) + .eq(SysUserLoginLog::getCreateId, loginUserId)); + + Integer id = null; + SysUserLoginLog o = new SysUserLoginLog(); + if (CollectionUtils.isNotEmpty(uLogs)) { + o = uLogs.getFirst(); + id = o.getId(); + } + + Date date = new Date(); + + + if (Objects.isNull(id)) { + String ip = request.getHeader("ClientIp"); + + if (StringUtils.isBlank(ip)) { + ip = ReqUtil.getIpAddress(request); + } + + // 第一次登录 + o.setLoginType(loginType); + o.setCreateId(loginUserId) + .setCreateDate(date) + .setLoginTime(date) + .setIp(ip) + .setLogoutTime(date); + if (userLoginLogMapper.insert(o) != 1) { + log.error("插入用户登录日志失败"); + } + } else { + o.setId(id); + o.setLogoutTime(date); + if (userLoginLogMapper.updateById(o) != 1) { + log.error("更新用户登录日志失败"); + } + } + + } + log.info("记录日志切面结束"); + + } + + +} diff --git a/src/main/java/com/gunshi/project/hsz/system/mapper/SysUserLoginLogMapper.java b/src/main/java/com/gunshi/project/hsz/system/mapper/SysUserLoginLogMapper.java new file mode 100644 index 0000000..f0b104a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/mapper/SysUserLoginLogMapper.java @@ -0,0 +1,24 @@ +package com.gunshi.project.hsz.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.system.model.SysUserLoginLog; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.Date; +import java.util.List; + +@Mapper +public interface SysUserLoginLogMapper extends BaseMapper { + + @Select(""" + + """) + List getUserLoginLog(@Param("stm") Date stm , @Param("etm") Date etm); + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/system/mapper/SysVisitMenuLogMapper.java b/src/main/java/com/gunshi/project/hsz/system/mapper/SysVisitMenuLogMapper.java new file mode 100644 index 0000000..9224c6c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/mapper/SysVisitMenuLogMapper.java @@ -0,0 +1,9 @@ +package com.gunshi.project.hsz.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.hsz.system.model.SysVisitMenuLog; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SysVisitMenuLogMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/system/model/SysUserLoginLog.java b/src/main/java/com/gunshi/project/hsz/system/model/SysUserLoginLog.java new file mode 100644 index 0000000..0dc129c --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/model/SysUserLoginLog.java @@ -0,0 +1,66 @@ +package com.gunshi.project.hsz.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 流域基础信息表 + */ +@Schema(description="用户登录日志") +@Data +@TableName(value = "public.sys_user_login_log") +@Accessors(chain = true) +public class SysUserLoginLog implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @Schema(description="主键id") + @JsonSerialize(using = ToStringSerializer.class) + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Integer id; + + @TableField(value = "create_id") + @Schema(description="用户编号") + private Long createId; + + @TableField(value = "login_type") + @Schema(description="登录类型, 0: web, 1:app") + private String loginType; + + @TableField(value = "ip") + @Schema(description="ip") + private String ip; + + @TableField(value = "create_date") + @Schema(description="日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date createDate; + + + @TableField(value = "login_time") + @Schema(description="登录时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date loginTime; + + + @TableField(value = "logout_time") + @Schema(description="登出时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date logoutTime; + + + @TableField(exist = false) + @Schema(description="用户名称") + private String userName; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/system/model/SysVisitMenuLog.java b/src/main/java/com/gunshi/project/hsz/system/model/SysVisitMenuLog.java new file mode 100644 index 0000000..f5c7608 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/model/SysVisitMenuLog.java @@ -0,0 +1,60 @@ +package com.gunshi.project.hsz.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 流域基础信息表 + */ +@Schema(description="菜单访问日志") +@Data +@TableName(value = "public.sys_visit_menu_log") +public class SysVisitMenuLog implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @Schema(description="主键id") + @JsonSerialize(using = ToStringSerializer.class) + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Integer id; + + @TableField(value = "create_id") + @Schema(description="用户编号") + private Long createId; + + @TableField(value = "login_type") + @Schema(description="登录类型, 0: web, 1:app") + private String loginType; + + @TableField(value = "create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + @TableField(value = "menu1") + @Schema(description="菜单1") + private String menu1; + + @TableField(value = "menu2") + @Schema(description="菜单2") + private String menu2; + + @TableField(value = "menu3") + @Schema(description="菜单3") + private String menu3; + + @TableField(exist = false) + @Schema(description="统计数量") + private String count; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/system/so/UserLoginLogPageSo.java b/src/main/java/com/gunshi/project/hsz/system/so/UserLoginLogPageSo.java new file mode 100644 index 0000000..61d162d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/so/UserLoginLogPageSo.java @@ -0,0 +1,34 @@ +package com.gunshi.project.hsz.system.so; + +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.Date; + +/** + * + * Created by wanyan on 2024/4/7. + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "用户访问记录分页查询条件") +public class UserLoginLogPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="名称") + private String name; + + @Schema(description="开始时间 yyyy-MM-dd HH:mm:ss") + private Date stm; + + @Schema(description="结束时间 yyyy-MM-dd HH:mm:ss") + private Date etm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/system/so/UserLoginLogSo.java b/src/main/java/com/gunshi/project/hsz/system/so/UserLoginLogSo.java new file mode 100644 index 0000000..c0661f6 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/so/UserLoginLogSo.java @@ -0,0 +1,29 @@ +package com.gunshi.project.hsz.system.so; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.Date; + +/** + * + * Created by wanyan on 2024/4/7. + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "用户访问记录统计查询条件") +public class UserLoginLogSo { + + + @Schema(description="开始时间 yyyy-MM-dd HH:mm:ss") + @NotNull + private Date stm; + + @Schema(description="结束时间 yyyy-MM-dd HH:mm:ss") + @NotNull + private Date etm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/system/so/VisitMenuLogPageSo.java b/src/main/java/com/gunshi/project/hsz/system/so/VisitMenuLogPageSo.java new file mode 100644 index 0000000..9c7f0aa --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/so/VisitMenuLogPageSo.java @@ -0,0 +1,37 @@ +package com.gunshi.project.hsz.system.so; + +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.Date; + +/** + * + * Created by wanyan on 2024/4/7. + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "页面访问记录分页查询条件") +public class VisitMenuLogPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="菜单名") + private String menu; + + @Schema(description="名称") + private String name; + + @Schema(description="开始时间 yyyy-MM-dd HH:mm:ss") + private Date stm; + + @Schema(description="结束时间 yyyy-MM-dd HH:mm:ss") + private Date etm; + +} diff --git a/src/main/java/com/gunshi/project/hsz/system/utils/ReqUtil.java b/src/main/java/com/gunshi/project/hsz/system/utils/ReqUtil.java new file mode 100644 index 0000000..335e60a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/utils/ReqUtil.java @@ -0,0 +1,150 @@ +package com.gunshi.project.hsz.system.utils; + + +import jakarta.servlet.http.HttpServletRequest; + +public class ReqUtil { +// private static DbConfig config = null; + private static String dbPath = null; + +// private static DbSearcher searcher = null; + + /** + * 获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, + * 可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢? + * 答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。 + * 如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100 + * 用户真实IP为: 192.168.1.110 + * + * @param request + * @return + */ + public static String getIpAddress(HttpServletRequest request) {// 获取客户端ip地址 + String clientIp = request.getHeader("x-forwarded-for"); + + if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) { + clientIp = request.getHeader("Proxy-Client-IP"); + } + if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) { + clientIp = request.getHeader("WL-Proxy-Client-IP"); + } + if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) { + clientIp = request.getRemoteAddr(); + } + /* + * 对于获取到多ip的情况下,找到公网ip. + */ + String sIP = null; + if (clientIp != null && !clientIp.contains("unknown") && clientIp.indexOf(",") > 0) { + String[] ipsz = clientIp.split(","); + for (String anIpsz : ipsz) { + if (!isInnerIP(anIpsz.trim())) { + sIP = anIpsz.trim(); + break; + } + } + /* + * 如果多ip都是内网ip,则取第一个ip. + */ + if (null == sIP) { + sIP = ipsz[0].trim(); + } + clientIp = sIP; + } + if (clientIp != null && clientIp.contains("unknown")) { + clientIp = clientIp.replaceAll("unknown,", ""); + clientIp = clientIp.trim(); + } + if ("".equals(clientIp) || null == clientIp) { + clientIp = "127.0.0.1"; + } + return clientIp; + } + + /** + * 判断IP是否是内网地址 + * + * @param ipAddress ip地址 + * @return 是否是内网地址 + */ + public static boolean isInnerIP(String ipAddress) { + boolean isInnerIp; + long ipNum = getIpNum(ipAddress); + /** + 私有IP:A类 10.0.0.0-10.255.255.255 + B类 172.16.0.0-172.31.255.255 + C类 192.168.0.0-192.168.255.255 + 当然,还有127这个网段是环回地址 + **/ + long aBegin = getIpNum("10.0.0.0"); + long aEnd = getIpNum("10.255.255.255"); + + long bBegin = getIpNum("172.16.0.0"); + long bEnd = getIpNum("172.31.255.255"); + + long cBegin = getIpNum("192.168.0.0"); + long cEnd = getIpNum("192.168.255.255"); + isInnerIp = + isInner(ipNum, aBegin, aEnd) || isInner(ipNum, bBegin, bEnd) || isInner(ipNum, cBegin, cEnd) || ipAddress.equals("127.0.0.1"); + return isInnerIp; + } + + private static long getIpNum(String ipAddress) { + String[] ip = ipAddress.split("\\."); + long a = Integer.parseInt(ip[0]); + long b = Integer.parseInt(ip[1]); + long c = Integer.parseInt(ip[2]); + long d = Integer.parseInt(ip[3]); + + return a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d; + } + + private static boolean isInner(long userIp, long begin, long end) { + return (userIp >= begin) && (userIp <= end); + } + + public static String getRealIP(HttpServletRequest request) { + // 获取客户端ip地址 + String clientIp = request.getHeader("x-forwarded-for"); + + if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) { + clientIp = request.getRemoteAddr(); + } + + String[] clientIps = clientIp.split(","); + if (clientIps.length <= 1) return clientIp.trim(); + + // 判断是否来自CDN + if (isComefromCDN(request)) { + if (clientIps.length >= 2) return clientIps[clientIps.length - 2].trim(); + } + + return clientIps[clientIps.length - 1].trim(); + } + + private static boolean isComefromCDN(HttpServletRequest request) { + String host = request.getHeader("host"); + return host.contains("www.189.cn") || host.contains("shouji.189.cn") || host.contains("image2.chinatelecom-ec" + + ".com") || host.contains("image1.chinatelecom-ec.com"); + } + +// public static synchronized String getRegion(String ip) { +// if (StrKit.isBlank(ip)) return null; +// boolean isIpAddress = Util.isIpAddress(ip); +// if (!isIpAddress) return null; +// try { +// if (searcher == null) { +// if (null == config) config = new DbConfig(); +// if (null == dbPath) dbPath = ReqUtil.class.getResource("/ip2region/ip2region.db").getPath(); +// searcher = new DbSearcher(config, dbPath); +// } +// +// DataBlock dataBlock = searcher.binarySearch(ip); +// return dataBlock.getRegion(); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// +// return null; +// } +} diff --git a/src/main/java/com/gunshi/project/hsz/system/vo/TodayCountVo.java b/src/main/java/com/gunshi/project/hsz/system/vo/TodayCountVo.java new file mode 100644 index 0000000..43d1b16 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/vo/TodayCountVo.java @@ -0,0 +1,36 @@ +package com.gunshi.project.hsz.system.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Description: + * Created by XuSan on 2024/6/25. + * + * @author XuSan + * @version 1.0 + */ +@Data +public class TodayCountVo { + + @Schema(description = "WEB端访问次数") + private Long web1Count; + + @Schema(description = "WEB端浏览次数") + private Long web2Count; + + @Schema(description = "WEB端平均访问时长") + private BigDecimal web3Count; + + @Schema(description = "移动端访问次数") + private Long app1Count; + + @Schema(description = "移动端浏览次数") + private Long app2Count; + + @Schema(description = "移动端平均访问时长") + private BigDecimal app3Count; + +} diff --git a/src/main/java/com/gunshi/project/hsz/system/vo/UserCountVo.java b/src/main/java/com/gunshi/project/hsz/system/vo/UserCountVo.java new file mode 100644 index 0000000..37c5b9a --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/vo/UserCountVo.java @@ -0,0 +1,37 @@ +package com.gunshi.project.hsz.system.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * Description: + * Created by XuSan on 2024/6/25. + * + * @author XuSan + * @version 1.0 + */ +@Data +public class UserCountVo { + + @Schema(description = "web统计数据") + private List webList; + + @Schema(description = "app统计数据") + private List appList; + + @Data + public static class UserCountDataVo { + + @Schema(description="日期") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date createDate; + + @Schema(description = "统计数据") + private Long count; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/system/vo/VisitCountVo.java b/src/main/java/com/gunshi/project/hsz/system/vo/VisitCountVo.java new file mode 100644 index 0000000..ac3e356 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/system/vo/VisitCountVo.java @@ -0,0 +1,33 @@ +package com.gunshi.project.hsz.system.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by XuSan on 2024/6/25. + * + * @author XuSan + * @version 1.0 + */ +@Data +public class VisitCountVo { + + @Schema(description = "web统计数据") + private List webList; + + @Schema(description = "app统计数据") + private List appList; + + @Data + public static class VisitCountDataVo { + + @Schema(description = "名字") + private String name; + + @Schema(description = "统计数据") + private Long count; + } +} diff --git a/src/main/java/com/gunshi/project/xyt/timetask/DataTask.java b/src/main/java/com/gunshi/project/hsz/timetask/DataTask.java similarity index 100% rename from src/main/java/com/gunshi/project/xyt/timetask/DataTask.java rename to src/main/java/com/gunshi/project/hsz/timetask/DataTask.java diff --git a/src/main/java/com/gunshi/project/hsz/timetask/DataTaskTSG.java b/src/main/java/com/gunshi/project/hsz/timetask/DataTaskTSG.java new file mode 100644 index 0000000..25761aa --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/timetask/DataTaskTSG.java @@ -0,0 +1,603 @@ +package com.gunshi.project.hsz.timetask; + +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.gunshi.project.hsz.model.StPptnR; +import com.gunshi.project.hsz.model.StPptnRD; +import com.gunshi.project.hsz.model.StPptnRH; +import com.gunshi.project.hsz.model.StRiverR; +import com.gunshi.project.hsz.model.StRiverRReal; +import com.gunshi.project.hsz.model.StRsvrR; +import com.gunshi.project.hsz.model.StRsvrRReal; +import com.gunshi.project.hsz.service.StPptnRDService; +import com.gunshi.project.hsz.service.StPptnRHService; +import com.gunshi.project.hsz.service.StPptnRRealService; +import com.gunshi.project.hsz.service.StPptnRService; +import com.gunshi.project.hsz.service.StRiverRRealService; +import com.gunshi.project.hsz.service.StRiverRService; +import com.gunshi.project.hsz.service.StRsvrRRealService; +import com.gunshi.project.hsz.service.StRsvrRService; +import com.gunshi.project.hsz.util.OkHttpUtil; +import lombok.extern.slf4j.Slf4j; +import okhttp3.FormBody; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Profile; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** +*@description 檀树岗数据定时任务 +*@author cxw +*@classname DataTaskTSG.java +*@create 2024-09-20, 周五, 17:05:22 +*/ +@EnableScheduling//开启定时任务 +@Component +@Slf4j + @Profile({"prod","dev"}) +public class DataTaskTSG { + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + private static SimpleDateFormat sdfD = new SimpleDateFormat("yyyy-MM-dd"); + + + private static SimpleDateFormat sdfEight = new SimpleDateFormat("yyyy-MM-dd 08:00:00"); + + + @Value("${jcskPath}") + private String jcskPath;// 荆楚水库同步地址 + + @Value("${jcskToken}") + private String jcskToken;// 荆楚水库同步接口token + + @Value("${reloadCache}") + private String reloadCache;// 清除ip白名单缓存 + + public static String jcskPathPptnRoute = "/pptn/";// 雨情接口,需拼接源(sh、sw、qx) + + public static String jcskPathRrRiverRoute = "/river/";// ZZ河道水位接口 + public static String jcskPathZzRsvrRoute = "/rsvr/";// RR水库水位接口 + + // 实时雨情 + @Autowired + private StPptnRRealService stPptnRRealService; + + // 历史雨情 + @Autowired + private StPptnRService stPptnRService; + + // 小时雨情 + @Autowired + private StPptnRHService stPptnRHService; + + // 按天雨情 + @Autowired + private StPptnRDService stPptnRDService; + + // 实时水情 + @Autowired + private StRsvrRRealService stRsvrRRealService; + + // 历史水情 + @Autowired + private StRsvrRService stRsvrRService; + + // 实时水情 + @Autowired + private StRiverRRealService stRiverRRealService; + + // 历史水情 + @Autowired + private StRiverRService stRiverRService; + + /** + * @param + * @description: 定时获取水库雨情数据(历史、天、时、real) + * @return: void + * @auther: cxw + * @date: 2024-09-20, 周五, 17:07:23 + */ + @Async + @Scheduled(fixedRate = 5, timeUnit = TimeUnit.MINUTES) + public void getPptnData() { + Date now = new Date(); + System.out.println("雨情实时定时任务,执行时间:" + sdf.format(now)); + // 获取水库站点编码 + List stcdLastPptnDatas = stPptnRService.getStcdLastPptnData(); + OkHttpClient client = OkHttpUtil.build(); + try { + if (CollectionUtils.isNotEmpty(stcdLastPptnDatas)) { + for (StPptnR stPptnR : stcdLastPptnDatas) { + Calendar calendar = Calendar.getInstance(); + String stcd = stPptnR.getStcd(); + String source = stPptnR.getSource().toLowerCase(); + Date stm = stPptnR.getStm(); + // 默认30天前 + if (ObjectUtils.isEmpty(stm)) { + if ("sh".equals(stPptnR.getSource().toLowerCase())) { + calendar.add(Calendar.DATE, -30); + } else { + calendar.add(Calendar.DATE, -2); + calendar.add(Calendar.HOUR_OF_DAY, -20); + } + } else { + int diffDays = new BigDecimal((int) Math.ceil((now.getTime() - stm.getTime()) / (24 * 60 * 60 * 1000))).intValue(); + if (diffDays > 3) { + calendar.add(Calendar.DATE, -2); + calendar.add(Calendar.HOUR_OF_DAY, -20); + } else { + calendar.setTime(stm); + calendar.add(Calendar.MINUTE, 1); + } + } + stm = calendar.getTime(); + String url = jcskPath; + if ("shylres".equals(source)) { + url += "/" + source + "/pptn"; + } else { + url += jcskPathPptnRoute + stPptnR.getSource().toLowerCase(); + } + Response resp = client.newCall(new Request.Builder().url(url) + .post(new FormBody.Builder().add("stcd", stcd) + .add("stm", sdf.format(stm)) + .add("etm", sdf.format(now)) + .build()) + .header("Token", jcskToken) + .addHeader("Content-Type", "application/x-www-form-urlencoded") + .build()).execute(); + String respStr = resp.body().string(); + JSONObject jsonObject = JSONObject.parseObject(respStr.toLowerCase()); + // 清除同步平台的ip白名单缓存 + if ("401".equals(jsonObject.get("code").toString())) { + OkHttpClient clientCache = new OkHttpClient(); + Request request = new Request.Builder().url(reloadCache).build(); + clientCache.newCall(request).execute(); + } + JSONArray data = jsonObject.getJSONArray("data"); + if (ObjectUtils.isNotEmpty(data)) { + List rlist = data.toJavaList(StPptnR.class); + if (CollectionUtils.isNotEmpty(rlist)) { + // 全部替换为stcd,并去重 + rlist = rlist.stream().peek(entity -> entity.setStcd(stPptnR.getStcd())).collect(Collectors.toMap( + e -> e.getStcd().toUpperCase() + "_" + e.getTm(), // 使用属性组合作为键 + Function.identity(), + (existing, replacement) -> existing // 如果有冲突,保留现有的 + )).values().stream().collect(Collectors.toList()); + stPptnRService.saveBatch(rlist); + // 更新到实时数据表 + stPptnRRealService.updatePptnRReal(rlist.get(0).getStcd()); + // 整编降雨量天表数据 + StPptnRD maxDataD = stPptnRDService.getMaxData(stPptnR.getStcd()); + Date tmMax = maxDataD.getTm(); + maxDataD.setTm(sdf.parse(sdfEight.format(tmMax))); + List listD = stPptnRDService.reorganizePptnRDData(stPptnR.getStcd(), maxDataD); + if (CollectionUtils.isNotEmpty(listD)) { + if (listD.size() > 0) { + listD = listD.stream() + .map(user -> { + user.setYear(Integer.valueOf(sdfD.format(user.getTm()).substring(0, 4))); // 修改属性值 + return user; + }).collect(Collectors.toList()); + QueryWrapper deleteWrapper = new QueryWrapper<>(); + deleteWrapper.eq("stcd", stcd).ge("tm", tmMax); + stPptnRDService.remove(deleteWrapper); + stPptnRDService.saveBatch(listD); + } + } + // 整编降雨量小时表数据 + StPptnRH maxDataH = stPptnRHService.getMaxData(stPptnR.getStcd()); + List listH = stPptnRHService.reorganizePptnRHData(stPptnR.getStcd(), maxDataH); + if (CollectionUtils.isNotEmpty(listH)) { + StPptnRH LastData = listH.get(0); + if (LastData.getTm().equals(maxDataH.getTm())) { + listH.remove(0); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("stcd", LastData.getStcd()).eq("tm", LastData.getTm()); + LastData.setDrp(LastData.getDrp()); + LastData.setChtm(maxDataH.getChtm()); + stPptnRHService.saveOrUpdate(LastData, updateWrapper); + } + if (listH.size() > 0) { + stPptnRHService.saveBatch(listH); + } + } + } + } + } + } + } catch (IOException e) { + log.error("荆楚水库雨情定时任务失败:", e.getMessage()); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + /** + * @description: 定时获取水库水情数据(历史、real) + * @param + * @return: void + * @auther: cxw + * @date: 2024-09-23, 周一, 11:23:04 + */ + @Async + @Scheduled(fixedRate = 5, timeUnit = TimeUnit.MINUTES) + public void getRiverData() { + Date now = new Date(); + System.out.println("水情历史定时任务,执行时间:" + sdf.format(now)); + // 获取水库站点编码历史水情表中站点最新数据时间 + List stcdLast = stRsvrRService.getStcdLastRsvrData(); + OkHttpClient client = OkHttpUtil.build(); + try { + if (CollectionUtils.isNotEmpty(stcdLast)) { + for (StRsvrR stRsvrR : stcdLast) { + Date stm = stRsvrR.getStm(); + String source = stRsvrR.getSource().toLowerCase(); + String sttp = stRsvrR.getSttp().toLowerCase(); + Calendar calendar = Calendar.getInstance(); + // 默认40天前(接口最多40天),存在则加1小时(接口是按小时算且大于等于开始时间) + // 默认30天前 + if (ObjectUtils.isEmpty(stm)) { + if ("sh".equals(source)) { + calendar.add(Calendar.DATE, -30); + } else { + calendar.add(Calendar.DATE, -2); + calendar.add(Calendar.HOUR_OF_DAY, -20); + } + } else { + int diffDays = new BigDecimal((int) Math.ceil((now.getTime() - stm.getTime()) / (24 * 60 * 60 * 1000))).intValue(); + if (diffDays > 3) { + calendar.add(Calendar.DATE, -2); + calendar.add(Calendar.HOUR_OF_DAY, -20); + } else { + calendar.setTime(stm); + calendar.add(Calendar.MINUTE, 1); + } + } + stm = calendar.getTime(); + String url = jcskPath; + if("shylres".equals(source)) { + url += "/" + source + "/rsvr"; + } else { + if ("rr".equals(sttp)) { + url += jcskPathZzRsvrRoute + source; + } else if ("zz".equals(sttp)) { + url += jcskPathRrRiverRoute + source; + } else { + continue; + } + } + Response resp = client.newCall(new Request.Builder().url(url) + .post(new FormBody.Builder().add("stcd", stRsvrR.getStcd()) + .add("stm", sdf.format(stm)) + .add("etm", sdf.format(now)) + .build()) + .header("Token", jcskToken) + .addHeader("Content-Type", "application/x-www-form-urlencoded") + .build()).execute(); + String respStr = resp.body().string(); + JSONObject jsonObject = JSONObject.parseObject(respStr.toLowerCase()); + if (!"200".equals(jsonObject.get("code").toString())) { + continue; + } + JSONArray data = jsonObject.getJSONArray("data"); + if (CollectionUtils.isNotEmpty(data)) { + if ("zz".equals(sttp)) { + List rlist = data.toJavaList(StRiverR.class); + stRiverRService.saveBatch(rlist); + // 更新实时表数据 + StRiverR stRiverRLast = rlist.get(rlist.size() - 1); + StRiverRReal stRiverRReal = new StRiverRReal(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("stcd", stRiverRLast.getStcd()).eq("tm", stRiverRLast.getTm()); + BeanUtils.copyProperties(stRiverRLast, stRiverRReal); + stRiverRReal.setChtm(new Date()); + stRiverRRealService.saveOrUpdate(stRiverRReal, updateWrapper); + } else if ("rr".equals(sttp)) { + List rlist = data.toJavaList(StRsvrR.class); + stRsvrRService.saveBatch(rlist); + // 更新实时表数据 + StRsvrR stRsvrRLast = rlist.get(rlist.size() - 1); + StRsvrRReal stRsvrRReal = new StRsvrRReal(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("stcd", stRsvrRLast.getStcd()).eq("tm", stRsvrRLast.getTm()); + BeanUtils.copyProperties(stRsvrRLast, stRsvrRReal); + stRsvrRReal.setChtm(new Date()); + stRsvrRRealService.saveOrUpdate(stRsvrRReal, updateWrapper); + } + } + } + } + } catch (IOException e) { + log.error("水情历史定时任务错误:", e.getMessage()); + } + } + + /** + * @description: 补雨量数据 + * @param + * @return: void + * @auther: cxw + * @date: 2024-10-16, 周三, 16:24:29 + */ +// @PostConstruct + public void supplementPptnData() { + Date now = new Date(); + System.out.println("补雨量数据任务,执行时间:" + sdf.format(now)); + List stcdLastPptnDatas = stPptnRService.getStcdFirstPptnData(); + OkHttpClient client = OkHttpUtil.build(); + try { + if (CollectionUtils.isNotEmpty(stcdLastPptnDatas)) { + for (StPptnR stPptnR : stcdLastPptnDatas) { + String stm = "2024-01-01 00:00:00";// 补数据的开始时间 + Calendar calendar = Calendar.getInstance(); + String source = stPptnR.getSource().toLowerCase(); + String url = jcskPath; + if ("shylres".equals(source)) { + url += "/" + source + "/pptn"; + } else { + url += jcskPathPptnRoute + stPptnR.getSource().toLowerCase(); + } + String stcd = stPptnR.getStcd(); + Date etmD = null; + if (ObjectUtils.isEmpty(stPptnR.getEtm())) { + etmD = now; + } else { + etmD = stPptnR.getEtm(); + } + String etm = sdf.format(etmD);// 补数据的结束时间 + if (stmIsBeforeEtm(etm, stm, "yyyy-MM-dd HH:mm:ss")) { + continue; + } + // 结束日期往前减4分钟,防止数据重复 + Calendar calendarEtm = Calendar.getInstance(); + calendarEtm.setTime(sdf.parse(etm)); + calendarEtm.add(Calendar.MINUTE, -4); + etm = sdf.format(calendarEtm.getTime()); + // 开始时间往后推3天,不超过结束日期 + while (stmIsBeforeEtm(stm, etm, "yyyy-MM-dd HH:mm:ss")) { + String newEtm = dateManipulation(stm, 3, "yyyy-MM-dd HH:mm:ss"); + if(stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")){ + newEtm = etm; + } + Response resp = client.newCall(new Request.Builder().url(url).post(new FormBody.Builder().add("stcd", stcd).add("stm", stm).add("etm", newEtm).build()).header("Token", jcskToken).addHeader("Content-Type", "application/x-www" + + "-form-urlencoded").build()).execute(); + String respStr = resp.body().string(); + JSONObject jsonObject = JSONObject.parseObject(respStr.toLowerCase()); + // 清除同步平台的ip白名单缓存 + if ("401".equals(jsonObject.get("code").toString())) { + OkHttpClient clientCache = new OkHttpClient(); + Request request = new Request.Builder().url(reloadCache).build(); + clientCache.newCall(request).execute(); + } + JSONArray data = jsonObject.getJSONArray("data"); + if (ObjectUtils.isNotEmpty(data)) { + List rlist = data.toJavaList(StPptnR.class); + if (CollectionUtils.isNotEmpty(rlist)) { + // 全部替换为stcd,并去重 + rlist = rlist.stream().peek(entity -> entity.setStcd(stPptnR.getStcd())).collect(Collectors.toMap(e -> e.getStcd().toUpperCase() + "_" + e.getTm(), // 使用属性组合作为键 + Function.identity(), (existing, replacement) -> existing // 如果有冲突,保留现有的 + )).values().stream().collect(Collectors.toList()); + stPptnRService.saveBatch(rlist); + // 更新到实时数据表 + stPptnRRealService.updatePptnRReal(rlist.get(0).getStcd()); + // 整编降雨量天表数据 + StPptnRD maxDataD = stPptnRDService.getMaxData(stPptnR.getStcd()); + Date tmMax = maxDataD.getTm(); + maxDataD.setTm(sdf.parse(sdfEight.format(tmMax))); + List listD = stPptnRDService.reorganizePptnRDData(stPptnR.getStcd(), maxDataD); + if (CollectionUtils.isNotEmpty(listD)) { + if (listD.size() > 0) { + listD = listD.stream().map(user -> { + user.setYear(Integer.valueOf(sdfD.format(user.getTm()).substring(0, 4))); // 修改属性值 + return user; + }).collect(Collectors.toList()); + QueryWrapper deleteWrapper = new QueryWrapper<>(); + deleteWrapper.eq("stcd", stcd).ge("tm", tmMax); + stPptnRDService.remove(deleteWrapper); + stPptnRDService.saveBatch(listD); + } + } + // 整编降雨量小时表数据 + StPptnRH maxDataH = stPptnRHService.getMaxData(stPptnR.getStcd()); + List listH = stPptnRHService.reorganizePptnRHData(stPptnR.getStcd(), maxDataH); + if (CollectionUtils.isNotEmpty(listH)) { + StPptnRH LastData = listH.get(0); + if (LastData.getTm().equals(maxDataH.getTm())) { + listH.remove(0); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("stcd", LastData.getStcd()).eq("tm", LastData.getTm()); + LastData.setDrp(LastData.getDrp()); + LastData.setChtm(maxDataH.getChtm()); + stPptnRHService.saveOrUpdate(LastData, updateWrapper); + } + if (listH.size() > 0) { + stPptnRHService.saveBatch(listH); + } + } + } + } + if (stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")) { + stm = etm; + } else { + stm = newEtm; + } + calendar.setTime(sdf.parse(stm)); + calendar.add(Calendar.MINUTE, 5); + stm = sdf.format(calendar.getTime()); + } + } + } + } catch (IOException e) { + log.error("补雨量数据任务失败:", e.getMessage()); + } catch (ParseException e) { + throw new IllegalArgumentException(e); + } + } + + /** + * @description: 补水位数据 + * @param + * @return: void + * @auther: cxw + * @date: 2024-10-16, 周三, 17:13:33 + */ +// @PostConstruct + public void supplementRsvrData() { + Date now = new Date(); + System.out.println("补水位数据任务,执行时间:" + sdf.format(now)); + List stcdLast = stRsvrRService.getStcdFirstRsvrData(); + OkHttpClient client = OkHttpUtil.build(); + try { + if (CollectionUtils.isNotEmpty(stcdLast)) { + for (StRsvrR stRsvrR : stcdLast) { + String sttp = stRsvrR.getSttp().toLowerCase(); + String source = stRsvrR.getSource().toLowerCase(); + String stm = "2024-01-01 00:00:00";// 补数据的开始时间 + Calendar calendar = Calendar.getInstance(); + Date etmD = null; + if (ObjectUtils.isEmpty(stRsvrR.getEtm())) { + etmD = now; + } else { + etmD = stRsvrR.getEtm(); + } + String etm = sdf.format(etmD);// 补数据的结束时间 + if (stmIsBeforeEtm(etm, stm, "yyyy-MM-dd HH:mm:ss")) { + continue; + } + String url = jcskPath; + if("shylres".equals(source)) { + url += "/" + source + "/rsvr"; + } else { + if ("rr".equals(sttp)) { + url += jcskPathZzRsvrRoute + source; + } else if ("zz".equals(sttp)) { + url += jcskPathRrRiverRoute + source; + } else { + continue; + } + } + // 结束日期往前减4分钟,防止数据重复 + Calendar calendarEtm = Calendar.getInstance(); + calendarEtm.setTime(sdf.parse(etm)); + calendarEtm.add(Calendar.MINUTE, -4); + etm = sdf.format(calendarEtm.getTime()); + while (stmIsBeforeEtm(stm, etm, "yyyy-MM-dd HH:mm:ss")) { + String newEtm = dateManipulation(stm, 3, "yyyy-MM-dd HH:mm:ss"); + if(stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")){ + newEtm = etm; + } + Response resp = client.newCall(new Request.Builder().url(url) + .post(new FormBody.Builder().add("stcd", stRsvrR.getStcd()) + .add("stm", stm) + .add("etm", newEtm) + .build()) + .header("Token", jcskToken) + .addHeader("Content-Type", "application/x-www-form-urlencoded") + .build()).execute(); + String respStr = resp.body().string(); + JSONObject jsonObject = JSONObject.parseObject(respStr.toLowerCase()); + if (!"200".equals(jsonObject.get("code").toString())) { + continue; + } + JSONArray data = jsonObject.getJSONArray("data"); + if (CollectionUtils.isNotEmpty(data)) { + if ("zz".equals(sttp)) { + List rlist = data.toJavaList(StRiverR.class); + stRiverRService.saveBatch(rlist); + // 更新实时表数据 + StRiverR stRiverRLast = rlist.get(rlist.size() - 1); + StRiverRReal stRiverRReal = new StRiverRReal(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("stcd", stRiverRLast.getStcd()).eq("tm", stRiverRLast.getTm()); + BeanUtils.copyProperties(stRiverRLast, stRiverRReal); + stRiverRReal.setChtm(new Date()); + stRiverRRealService.saveOrUpdate(stRiverRReal, updateWrapper); + } else if ("rr".equals(sttp)) { + List rlist = data.toJavaList(StRsvrR.class); + stRsvrRService.saveBatch(rlist); + // 更新实时表数据 + StRsvrR stRsvrRLast = rlist.get(rlist.size() - 1); + StRsvrRReal stRsvrRReal = new StRsvrRReal(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("stcd", stRsvrRLast.getStcd()).eq("tm", stRsvrRLast.getTm()); + BeanUtils.copyProperties(stRsvrRLast, stRsvrRReal); + stRsvrRReal.setChtm(new Date()); + stRsvrRRealService.saveOrUpdate(stRsvrRReal, updateWrapper); + } + } + if (stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")) { + stm = etm; + } else { + stm = newEtm; + } + calendar.setTime(sdf.parse(stm)); + calendar.add(Calendar.MINUTE, 5); + stm = sdf.format(calendar.getTime()); + } + } + } + } catch (IOException e) { + log.error("补水位数据任务错误:", e.getMessage()); + } catch (ParseException e) { + throw new IllegalArgumentException(e); + } + } + + + private Boolean stmIsBeforeEtm(String stm, String etm, String fmt) { + Boolean ret = false; + try { + SimpleDateFormat sdf = new SimpleDateFormat(fmt); + Date date1 = sdf.parse(stm); + Date date2 = sdf.parse(etm); + if (date1.equals(date2)) { + ret = true; + } else if (date1.before(date2)) { + ret = true; + } + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("时间大小不正确!"); + } + return ret; + } + + private String dateManipulation(String tm, int daysToSubtract, String fmt) { + String newDateString = ""; + try { + SimpleDateFormat dateFormat = new SimpleDateFormat(fmt); + Date parsedDate = dateFormat.parse(tm); + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(parsedDate); + calendar.add(Calendar.DATE, daysToSubtract); + + newDateString = dateFormat.format(calendar.getTime()); + } catch (Exception e) { + throw new RuntimeException(e); + } + return newDateString; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/timetask/PaDataTask.java b/src/main/java/com/gunshi/project/hsz/timetask/PaDataTask.java new file mode 100644 index 0000000..eab9319 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/timetask/PaDataTask.java @@ -0,0 +1,233 @@ +package com.gunshi.project.hsz.timetask; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.gunshi.algorithm.RunoffService; +import com.gunshi.project.hsz.model.AttResBase; +import com.gunshi.project.hsz.model.ForecastK; +import com.gunshi.project.hsz.model.ForecastPa; +import com.gunshi.project.hsz.model.ForecastUseparam; +import com.gunshi.project.hsz.model.StPptnR; +import com.gunshi.project.hsz.model.StStbprpB; +import com.gunshi.project.hsz.service.AttResBaseService; +import com.gunshi.project.hsz.service.ForecastKService; +import com.gunshi.project.hsz.service.ForecastPaService; +import com.gunshi.project.hsz.service.ForecastResultsService; +import com.gunshi.project.hsz.service.ForecastUseparamService; +import com.gunshi.project.hsz.service.StPptnRService; +import com.gunshi.project.hsz.service.StStbprpBService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Profile; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author cxw + * @description Pa降雨值定时任务计算 + * @classname PaDataTask.java + * @create 2024-08-02, 星期五, 11:16:46 + */ +@EnableScheduling//开启定时任务 +@Component +@Slf4j +@Profile({"prod","dev"}) +public class PaDataTask { + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + private static SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd"); + + private static SimpleDateFormat eightSdf = new SimpleDateFormat("yyyy-MM-dd 08:00:00"); + + @Autowired + private ForecastUseparamService forecastUseparamService; + + @Autowired + private ForecastPaService forecastPaService; + + @Autowired + private ForecastKService forecastKService; + + @Autowired + private StPptnRService stPptnRService; + + @Autowired + private StStbprpBService stStbprpBService; + + @Autowired + private ForecastResultsService forecastResultsService; + + @Autowired + private AttResBaseService attResBaseService; + + /** + * @description: 每天8点30计算的Pa + * @param + * @return: void + * @auther: cxw + * @date: 2024-08-02, 周五, 11:21:00 + */ + @Async + @Scheduled(cron ="0 30 8 * * ?") +// @PostConstruct + public void PaDataCalc() throws ParseException { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + Date nowTime = calendar.getTime(); + // 获取配置参数 + List paramList = forecastUseparamService.list(new QueryWrapper().isNotNull("param_code").isNotNull("param_value")); + List kList = forecastKService.list(); + if (CollectionUtils.isEmpty(paramList) || CollectionUtils.isEmpty(kList)) { + return; + } + // 檀树岗使用多个站点的均值作为水库的降雨 + AttResBase attResBase = attResBaseService.getOne(new QueryWrapper<>()); + if (ObjectUtils.isNotEmpty(attResBase)) { + String resCode = attResBase.getResCode(); + String skStcd = attResBase.getStcd(); + // 先删除水库当天的pa,假如已经存在的话(有另一任务,提前算了第二天(此处为当天)的) + forecastPaService.remove(new QueryWrapper().eq("tm", sdfDay.format(nowTime)).eq("stcd", attResBase.getResCode())); + // 获取最新pa + ForecastPa forecastPaLast = forecastPaService.getOne(new QueryWrapper().eq("stcd", skStcd).orderBy(true, false, "tm").last("limit 1")); + // 补数据时解开 +// if(ObjectUtils.isEmpty(forecastPaLast)){ +// forecastPaLast = new ForecastPa(); +// forecastPaLast.setStcd(skStcd); +// forecastPaLast.setTm("2024-01-01"); +// forecastPaLast.setK(new BigDecimal(0.97)); +// forecastPaLast.setPa0(BigDecimal.ZERO); +// forecastPaLast.setIm(new BigDecimal(120)); +// forecastPaLast.setPt0(BigDecimal.ZERO); +// forecastPaLast.setPa(BigDecimal.ZERO); +// forecastPaLast.setChtm(new Date()); +// +// } + if (CollectionUtils.isNotEmpty(paramList) && CollectionUtils.isNotEmpty(kList) && ObjectUtils.isNotEmpty(forecastPaLast) && !forecastPaLast.getTm().equals(sdfDay.format(nowTime))) { + Calendar calendar2 = Calendar.getInstance(); + calendar2.setTime(sdfDay.parse(forecastPaLast.getTm())); + calendar2.add(Calendar.DAY_OF_MONTH, -3); + String searchTm = sdfDay.format(calendar2.getTime()); + String lastTm = forecastPaLast.getTm(); + // 获取空缺时间的所有降雨,当天8点到第二天8点间的drp和 + List> mapList = stPptnRService.getPptnRDataListByTask(resCode, skStcd, searchTm); + Map pptnrMap; + if (CollectionUtils.isNotEmpty(mapList)) { + pptnrMap = mapList.stream().collect(Collectors.toMap(map -> (String) map.get("tm"), map -> map.get("drp"))); + } else { + return; + } + Map kMap = kList.stream().collect(Collectors.toMap(ForecastK::getMonth, ForecastK::getKValue)); + Map paramMap = paramList.stream().collect(Collectors.toMap(ForecastUseparam::getParamCode, ForecastUseparam::getParamValue)); + double Im = Double.parseDouble(paramMap.get("Im"));// 土壤含水量最大值(最大初损值)Im + // 第一次的pa0是最新一条的pa + List list = new ArrayList<>(); + ForecastPa forecastPa = null; + while (!lastTm.equals(sdfDay.format(nowTime))) { + double lastPa0 = forecastPaLast.getPa().doubleValue(); + double lastPt0 = Double.valueOf(ObjectUtils.isEmpty(pptnrMap.get(lastTm)) ? "0.0" : pptnrMap.get(lastTm).toString()); + forecastPa = new ForecastPa(); + // 最新加1天 + calendar.setTime(sdfDay.parse(lastTm)); + calendar.add(Calendar.DAY_OF_MONTH, 1); + lastTm = sdfDay.format(calendar.getTime()); + double k = kMap.get(Integer.valueOf(lastTm.substring(5, 7))).doubleValue(); + double pa = RunoffService.PaCaculate(k, lastPa0, lastPt0, Im); + forecastPa.setStcd(skStcd); + forecastPa.setTm(lastTm); + forecastPa.setK(new BigDecimal(k).setScale(2, BigDecimal.ROUND_HALF_UP)); + forecastPa.setPa0(new BigDecimal(lastPa0)); + forecastPa.setIm(new BigDecimal(Im)); + forecastPa.setPt0(new BigDecimal(lastPt0).setScale(2, BigDecimal.ROUND_HALF_UP)); + forecastPa.setPa(new BigDecimal(pa)); + list.add(forecastPa); + forecastPaLast = forecastPa; + } + if (CollectionUtils.isNotEmpty(list)) { + forecastPaService.saveBatch(list); + } + } + } + } + + /** + * @description: 每天19点到24点每5分钟计算一次第二天的Pa + * @param + * @return: void + * @auther: cxw + * @date: 2024-08-16, 周五, 15:42:13 + */ + @Async + @Scheduled(cron ="0 0/5 20-23 * * ?") + public void PaNextDataCalc() throws ParseException { + Date nowTime = new Date(); + // 檀树岗使用多个站点的均值作为水库的降雨 + AttResBase attResBase = attResBaseService.getOne(new QueryWrapper<>()); + if (ObjectUtils.isNotEmpty(attResBase)) { + // 查询所有需要统计pa值的站点 + List stStbprpBList = stStbprpBService.list(new QueryWrapper().eq("res_code", attResBase.getResCode())); + if(CollectionUtils.isEmpty(stStbprpBList)){ + return; + } + // 获取配置参数 + List paramList = forecastUseparamService.list(new QueryWrapper().isNotNull("param_code").isNotNull("param_value")); + List kList = forecastKService.list(); + if (CollectionUtils.isEmpty(paramList) || CollectionUtils.isEmpty(kList)) { + return; + } + String skStcd = attResBase.getResCode(); + // 查询第二天的是否已经生成了 + Calendar calendarNext = Calendar.getInstance(); + calendarNext.setTime(nowTime); + calendarNext.add(Calendar.DAY_OF_MONTH, 1); + String nextTimeStr = sdfDay.format(calendarNext.getTime()); + ForecastPa hasPa = forecastPaService.getOne(new QueryWrapper().eq("stcd", skStcd).eq("tm", nextTimeStr)); + if (ObjectUtils.isNotEmpty(hasPa)) { + return; + } + // 获取最新pa(当天) + ForecastPa forecastPaLast = forecastPaService.getOne(new QueryWrapper().eq("stcd", skStcd).eq("tm", sdfDay.format(nowTime)).last("limit 1")); + if (CollectionUtils.isNotEmpty(paramList) && CollectionUtils.isNotEmpty(kList) && ObjectUtils.isNotEmpty(forecastPaLast)) { + List listAll = new ArrayList<>(); + for (StStbprpB stb : stStbprpBList) { + String stcd = stb.getStcd(); + // 获取当天大于08点到执行时间的真实降雨 + List qwExistedStcd = stPptnRService.list(new QueryWrapper().eq("stcd", stcd).gt("tm", sdf.parse(eightSdf.format(nowTime))).le("tm", nowTime).orderBy(true, true, "tm")); + // 获取当天的预测降雨 + List pptnRFutureListStcd = forecastResultsService.getForecastDrpData(nowTime, stcd); + listAll.addAll(qwExistedStcd); + listAll.addAll(pptnRFutureListStcd); + } + Double totalDrp = listAll.stream().mapToDouble(x -> Double.valueOf(x.getDrp())).sum(); + ForecastPa forecastPa = new ForecastPa(); + Map kMap = kList.stream().collect(Collectors.toMap(ForecastK::getMonth, ForecastK::getKValue)); + Map paramMap = paramList.stream().collect(Collectors.toMap(ForecastUseparam::getParamCode, ForecastUseparam::getParamValue)); + double Im = Double.parseDouble(paramMap.get("Im"));// 土壤含水量最大值(最大初损值)Im + double k = kMap.get(Integer.valueOf(nextTimeStr.substring(5, 7))).doubleValue(); + double pa = RunoffService.PaCaculate(k, Double.parseDouble(forecastPaLast.getPa().toString()), totalDrp, Im); + forecastPa.setStcd(skStcd); + forecastPa.setTm(nextTimeStr); + forecastPa.setK(new BigDecimal(k).setScale(2, BigDecimal.ROUND_HALF_UP)); + forecastPa.setPa0(forecastPaLast.getPa()); + forecastPa.setIm(new BigDecimal(Im)); + forecastPa.setPt0(new BigDecimal(totalDrp).setScale(2, BigDecimal.ROUND_HALF_UP)); + forecastPa.setPa(new BigDecimal(pa)); + forecastPaService.save(forecastPa); + } + } + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/timetask/ScheduledPool.java b/src/main/java/com/gunshi/project/hsz/timetask/ScheduledPool.java new file mode 100644 index 0000000..773902f --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/timetask/ScheduledPool.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.timetask; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; + +/** + * @author cxw + * @description: 定时任务池 + * @classname ScheduledPool.java + * @create 2024-07-22, 星期一, 10:43:54 + */ +@Configuration +public class ScheduledPool { + @Bean + public TaskScheduler taskScheduler() { + ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); + // 设置定时任务线程数量 + taskScheduler.setPoolSize(20); + return taskScheduler; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/util/BigdecimalUtil.java b/src/main/java/com/gunshi/project/hsz/util/BigdecimalUtil.java new file mode 100644 index 0000000..39fcd69 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/BigdecimalUtil.java @@ -0,0 +1,47 @@ +package com.gunshi.project.hsz.util; + +import org.apache.commons.math3.distribution.GammaDistribution; + +import java.math.BigDecimal; +import java.math.MathContext; +import java.math.RoundingMode; + +/** + * @author cxw + * @description + * @classname BigdecimalUtil.java + * @create 2024-11-06, 星期三, 10:33:41 + */ +public class BigdecimalUtil { + + + /** + * @description: 小数指数计算 + * @param base 底数 + * @param exponent 指数 + * @return: java.math.BigDecimal + * @auther: cxw + * @date: 2024-11-06, 周三, 10:34:47 + */ + public static BigDecimal bigDecimalExponentiation(BigDecimal base, double exponent) { + BigDecimal result = BigDecimal.valueOf(Math.pow(base.doubleValue(), exponent)).round(new MathContext(10, RoundingMode.HALF_UP)); + return result; + } + + + /** + * @description: 计算x的伽马函数 + * @param x + * @return: java.math.BigDecimal + * @auther: cxw + * @date: 2024-11-06, 周三, 11:31:24 + */ + public static double gammaDist(double x, double alpha, double beta, boolean cumulative) { + GammaDistribution gammaDist = new GammaDistribution(alpha, 1/beta); + if (cumulative) { + return gammaDist.cumulativeProbability(x); + } else { + return gammaDist.density(x); + } + } +} diff --git a/src/main/java/com/gunshi/project/hsz/util/ConvertUtil.java b/src/main/java/com/gunshi/project/hsz/util/ConvertUtil.java new file mode 100644 index 0000000..b0f1d00 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/ConvertUtil.java @@ -0,0 +1,50 @@ +package com.gunshi.project.hsz.util; + +/** + * @author cxw + * @description: (描述这个类或者方法的作用) + * @classname ConvertUtil.java + * @create 2024-07-10, 星期三, 10:34:14 + */ +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +public class ConvertUtil { + public static final Logger logger = LoggerFactory.getLogger(ConvertUtil.class); + + public static T entityToVo(Object source, Class target) { + if (source == null) { + return null; + } + T targetObject = null; + try { + targetObject = target.newInstance(); + BeanUtils.copyProperties(source, targetObject); + } catch (Exception e) { + e.printStackTrace(); + } + return targetObject; + } + + public static List entityToVoList(Collection sourceList, Class target) { + if (sourceList == null) { + return null; + } + List targetList = new ArrayList<>(sourceList.size()); + + try { + for (Object source : sourceList) { + T targetObject = target.newInstance(); + BeanUtils.copyProperties(source, targetObject); + targetList.add(targetObject); + } + } catch (Exception e) { + logger.error("convert error ", e); + } + return targetList; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/util/DataHandleUtil.java b/src/main/java/com/gunshi/project/hsz/util/DataHandleUtil.java new file mode 100644 index 0000000..c31a9e2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/DataHandleUtil.java @@ -0,0 +1,82 @@ +package com.gunshi.project.hsz.util; + + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + + +public class DataHandleUtil { + + /** + * 判断BigDecimal的小数部分是否为0 + * @param bigDecimal + * @return + */ + public static long BigDecimalIntegerPart(BigDecimal bigDecimal) { + BigDecimal integerPart = bigDecimal.setScale(0, RoundingMode.UP); + return integerPart.longValue(); + } + + + public static BigDecimal calcData(BigDecimal rz, Map map,List list) { + //库容曲线中最近的一组水位 + BigDecimal lowerRz = new BigDecimal(0); + BigDecimal upperRz = new BigDecimal(0); + + //库容曲线中最近的一组水位对应的库容 + BigDecimal lowerW = new BigDecimal(0); + BigDecimal upperW = new BigDecimal(0); + + for(int i=0;i= 0 && rz.compareTo(list.get(i+1)) <= 0) { + lowerRz = list.get(i); + upperRz = list.get(i+1); + + lowerW = map.get(lowerRz); + upperW = map.get(upperRz); + break; + } + } + BigDecimal diff = rz.subtract(lowerRz); + return lowerW.add(diff.multiply(upperW.subtract(lowerW)).divide(upperRz.subtract(lowerRz),2,RoundingMode.UP)); + } + + public static List tableData( List> list){ + List list2 = new ArrayList<>(); + Collection values; + for (int i = 0; i < list.size(); i++) { + values = list.get(i).values(); + List objects = new ArrayList<>(); + for (Object value : values) { + objects.add(value == null ? "" : value.toString()); + } + list2.add(objects); + } + return list2; + } + + public static List paginate(List list, int pageNumber, int pageSize) { + if (list == null || list.isEmpty()) { + return new ArrayList(); + } + + int totalSize = list.size(); + int fromIndex = (pageNumber - 1) * pageSize; + if (fromIndex >= totalSize || fromIndex < 0) { + return new ArrayList(); + } + + int toIndex = fromIndex + pageSize; + if (toIndex > totalSize) { + toIndex = totalSize; + } + + return list.subList(fromIndex, toIndex); + } + + +} diff --git a/src/main/java/com/gunshi/project/hsz/util/DateUtil.java b/src/main/java/com/gunshi/project/hsz/util/DateUtil.java new file mode 100644 index 0000000..74e7640 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/DateUtil.java @@ -0,0 +1,267 @@ +package com.gunshi.project.hsz.util; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.TimeUnit; + +/** + * Description: + * Created by wanyan on 2024/2/28 + * + * @author wanyan + * @version 1.0 + */ +public class DateUtil { + + // 使用 ConcurrentMap 来缓存 SimpleDateFormat 实例 + private static final ConcurrentMap> DATE_FORMAT_CACHE = new ConcurrentHashMap<>(); + + private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + private static SimpleDateFormat chineseYmd = new SimpleDateFormat("yyyy年MM月dd日"); + + private static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + private static DateTimeFormatter ymdformat = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + + private static DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd日HH时"); + + private static DateTimeFormatter ym = DateTimeFormatter.ofPattern("YYYYMM"); + + public static Date convertStringToDate(String str){ + try { + return df.parse(str); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + public static final ThreadLocal sdfhmsS = new ThreadLocal() { + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); + } + }; + + public static String convertDateToString(Date date){ + return sdf.format(date); + } + + public static String convertDateToMDSString(Date date){ + return df.format(date); + } + + public static String convertDateToChineseYmd(Date date){ + return chineseYmd.format(date); + } + + public static long hoursBetweenDate(Date start,Date end){ + long startTime = start.getTime(); + long endTime = end.getTime(); + long hours = TimeUnit.MILLISECONDS.toHours(endTime - startTime); + return Math.round(hours); + } + + /** + * 年初 + * @param year + * @return + */ + public static LocalDateTime beginningOfYear(Integer year){ + return LocalDateTime.of(year, 1, 1, 0, 0, 0, 0); + } + + /** + * 年末 + * @param year + * @return + */ + public static LocalDateTime endOfYear(Integer year){ + return beginningOfYear(year).plusYears(1).minusSeconds(1); + } + + + /** + * 年初 + * @param year + * @return + */ + public static Date beginOfYearToDate(Integer year){ + if (year == null) { + throw new IllegalArgumentException("Year cannot be null"); + } + + LocalDate localDate = LocalDate.of(year, 1, 1); + return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); + } + + /** + * 年末 + * @param year + * @return + */ + public static Date endOfYearToDate(Integer year){ + if (year == null) { + throw new IllegalArgumentException("Year cannot be null"); + } + LocalDateTime time = LocalDateTime.of(year, 1, 1, 0, 0, 0, 0); + time = time.plusYears(1).minusSeconds(1); + return Date.from(time.atZone(ZoneId.systemDefault()).toInstant()); + } + + + + /** + * 将Date对象转换为LocalDateTime对象. + * + * @param date 需要转换的Date对象 + * @return 转换后的LocalDateTime对象 + */ + public static Optional convertFromDate(Date date) { + if (date == null) { + throw new IllegalArgumentException("date is null"); + } + + Instant instant = date.toInstant(); + return Optional.of(instant.atZone(ZoneId.systemDefault()).toLocalDateTime()); + } + + + public static String getIntegerTime(){ + LocalDateTime now = LocalDateTime.now(); + LocalDateTime roundedTime = now.withMinute(0).withSecond(0).withNano(0); + return roundedTime.format(formatter); + } + + public static String getMinusIntegerTime(){ + LocalDateTime yesterday = LocalDateTime.now().minusDays(1); + LocalDateTime roundedTime = yesterday.withMinute(0).withSecond(0).withNano(0); + return roundedTime.format(formatter); + } + + public static String convertDH(String str){ + LocalDateTime dateTime = LocalDateTime.parse(str, formatter); + return dateTime.format(dtf); + } + + public static String getMinusTime(String str,long hour){ + LocalDateTime dateTime = LocalDateTime.parse(str, formatter); + LocalDateTime minusTime = dateTime.minusHours(hour); + return minusTime.format(formatter); + } + + public static String getPlusTime(String str,long hour){ + LocalDateTime dateTime = LocalDateTime.parse(str, formatter); + LocalDateTime plusTime = dateTime.plusHours(hour); + return plusTime.format(formatter); + } + + public static String getPlusDate(Date date,long day){ + String str = convertDateToString(date); + LocalDate localDate = LocalDate.parse(str, ymdformat); + LocalDate plusDay = localDate.plusDays(day); + return plusDay.format(ymdformat); + } + + public static String getTodayEight(){ + LocalDateTime now = LocalDateTime.now(); + LocalDateTime roundedTime = now.withHour(8).withMinute(0).withSecond(0).withNano(0); + return roundedTime.format(formatter); + } + + public static Integer getMD(int year, int month) { + if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { + return 31; + } else if (month == 4 || month == 6 || month == 9 || month == 11) { + return 30; + } else if (month == 2) { + //判断是否是闰年 + if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { + return 29; + } else { + return 28; + } + } + return 31; + } + + public static String getYM() { + LocalDateTime now = LocalDateTime.now(); + return now.format(ym); + } + + public static List getDatesBetween(Date startDate, Date endDate,Boolean isDesc) { + List dates = new ArrayList<>(); + Calendar calendar = Calendar.getInstance(); + while (startDate.getTime()<=endDate.getTime()){ + // 把日期添加到集合 + dates.add(convertDateToString(startDate)); + // 设置日期 + calendar.setTime(startDate); + //把日期增加一天 + calendar.add(Calendar.DATE, 1); + // 获取增加后的日期 + startDate=calendar.getTime(); + } + if(isDesc){ + return dates.reversed(); + } + return dates; + } + + public static List getDatesBetween(Date startDate, Date endDate) { + List dates = new ArrayList<>(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(startDate); + + while (calendar.getTime().before(endDate)) { + dates.add(calendar.getTime()); + calendar.add(Calendar.DATE, 1); + } + dates.add(endDate); + return dates; + } + + + public static boolean isValidDate(Date date, String format) { + if (date == null || format == null || format.isEmpty()) { + return false; + } + + try { + SimpleDateFormat sdf = getThreadSafeFormatter(format); + sdf.setLenient(false); // 设置严格模式 + sdf.parse(date.toString()); + return true; + } catch (IllegalArgumentException | ParseException e) { + return false; + } + } + + private static SimpleDateFormat getThreadSafeFormatter(String format) { + return DATE_FORMAT_CACHE.computeIfAbsent(format, key -> ThreadLocal.withInitial(() -> new SimpleDateFormat(key))).get(); + } + + public static List getMonthsBetweenDates(String startDateStr, String endDateStr) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDate startDate = LocalDate.parse(startDateStr, formatter); + LocalDate endDate = LocalDate.parse(endDateStr, formatter); + + List months = new ArrayList<>(); + while (startDate.isBefore(endDate)) { + months.add(startDate.getMonthValue()); + startDate = startDate.plusMonths(1); + } + + return months; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/util/ExcelUtil.java b/src/main/java/com/gunshi/project/hsz/util/ExcelUtil.java new file mode 100644 index 0000000..2f712b5 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/ExcelUtil.java @@ -0,0 +1,279 @@ +package com.gunshi.project.hsz.util; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.io.resource.ClassPathResource; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.support.ExcelTypeEnum; +import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder; +import com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.gunshi.project.hsz.util.excel.ExcelFillCellMergeStrategy; +import com.gunshi.project.hsz.util.excel.ExcelListener; +import com.gunshi.project.hsz.util.excel.ExcelResult; +import com.gunshi.project.hsz.util.excel.VoteTitleHandler; +import jakarta.servlet.http.HttpServletResponse; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.Map; + +public class ExcelUtil { + + /** + * 导出excel + * + * @param list 导出数据集合,加动态表头 + * @param filename 工作表的名称 + * @param clazz 实体类 + * @param response 响应体 + */ + public static void exportExcel(List list, String filename, Class clazz, HttpServletResponse response, String sheetName) { + OutputStream out = null; + try { + out = getOutputStream(filename, response); + ExcelWriterSheetBuilder builder = EasyExcel.write(out, clazz) + //是否自动关闭流 + .autoCloseStream(Boolean.FALSE) + //自动列宽(不太精确) + .registerWriteHandler(new VoteTitleHandler(filename)) + .sheet(sheetName); + builder.doWrite(list); + } finally { + try { + if (out != null) { + out.flush(); + out.close(); + } + } catch (IOException e) { + throw new RuntimeException("导出Excel异常"); + } + } + } + + public static void exportExcel(List list, String filename, Class clazz,int mergeRowIndex, int[] mergeColumnIndex, HttpServletResponse response, String sheetName) { + OutputStream out = null; + try { + out = getOutputStream(filename, response); + ExcelWriterSheetBuilder builder = EasyExcel.write(out, clazz) + //是否自动关闭流 + .autoCloseStream(Boolean.FALSE) + //自动列宽(不太精确) + .registerWriteHandler(new ExcelFillCellMergeStrategy(mergeRowIndex, mergeColumnIndex)) + .sheet(sheetName); + builder.doWrite(list); + } finally { + try { + if (out != null) { + out.flush(); + out.close(); + } + } catch (IOException e) { + throw new RuntimeException("导出Excel异常"); + } + } + } + + /** + * 导出excel,合并指定单元格 + * + * @param list 导出数据集合,加动态表头 + * @param filename 工作表的名称 + * @param clazz 实体类 + * @param response 响应体 + */ + public static void exportExcel(List list, String filename, Class clazz, HttpServletResponse response, String sheetName, Integer type) { + OutputStream out = null; + try { + out = getOutputStream(filename, response); + if (type == 1) { + OnceAbsoluteMergeStrategy strategy = new OnceAbsoluteMergeStrategy(36, 36, 1, 2); + OnceAbsoluteMergeStrategy strategy1 = new OnceAbsoluteMergeStrategy(36, 36, 3, 6); + OnceAbsoluteMergeStrategy strategy2 = new OnceAbsoluteMergeStrategy(36, 36, 7, 8); + OnceAbsoluteMergeStrategy strategy3 = new OnceAbsoluteMergeStrategy(36, 36, 9, 12); + ExcelWriterSheetBuilder builder = EasyExcel.write(out, clazz) + //是否自动关闭流 + .autoCloseStream(Boolean.FALSE) + //自动列宽(不太精确) + .registerWriteHandler(new VoteTitleHandler(filename)) + .registerWriteHandler(strategy) + .registerWriteHandler(strategy1) + .registerWriteHandler(strategy2) + .registerWriteHandler(strategy3) + .sheet(sheetName); + builder.doWrite(list); + } else { + OnceAbsoluteMergeStrategy strategy1 = new OnceAbsoluteMergeStrategy(33, 37, 0, 0); + OnceAbsoluteMergeStrategy strategy2 = new OnceAbsoluteMergeStrategy(38, 38, 0, 1); + OnceAbsoluteMergeStrategy strategy3 = new OnceAbsoluteMergeStrategy(38, 38, 3, 5); + OnceAbsoluteMergeStrategy strategy4 = new OnceAbsoluteMergeStrategy(38, 38, 7, 9); + OnceAbsoluteMergeStrategy strategy5 = new OnceAbsoluteMergeStrategy(38, 38, 11, 13); + ExcelWriterSheetBuilder builder = EasyExcel.write(out, clazz) + //是否自动关闭流 + .autoCloseStream(Boolean.FALSE) + .registerWriteHandler(new VoteTitleHandler(filename)) + .registerWriteHandler(strategy1) + .registerWriteHandler(strategy2) + .registerWriteHandler(strategy3) + .registerWriteHandler(strategy4) + .registerWriteHandler(strategy5) + .sheet(sheetName); + for (int i = 2; i < 33; i++) { + OnceAbsoluteMergeStrategy strategy = new OnceAbsoluteMergeStrategy(i, i, 0, 1); + builder.registerWriteHandler(strategy); + } + builder.doWrite(list); + } + } finally { + try { + if (out != null) { + out.flush(); + out.close(); + } + } catch (IOException e) { + throw new RuntimeException("导出Excel异常"); + } + } + } + + /** + * 导出动态列 + * + * @param head 表头 + * @param data 数据 + * @param filename + * @param response + * @param sheetName + * @param + */ + public static void exportExcel(List> head, List data, String filename, HttpServletResponse response, String sheetName) { + OutputStream out = null; + try { + out = getOutputStream(filename, response); + ExcelWriterSheetBuilder builder = EasyExcel.write(out) + //是否自动关闭流 + .autoCloseStream(Boolean.FALSE) + //自动列宽(不太精确) + .registerWriteHandler(new VoteTitleHandler(filename)) + .head(head) + .sheet(sheetName); + builder.doWrite(data); + } finally { + try { + if (out != null) { + out.flush(); + out.close(); + } + } catch (IOException e) { + throw new RuntimeException("导出Excel异常"); + } + } + } + + /** + * 导出动态列,带合并单元格 + * + * @param head 表头 + * @param data 表格数据 + * @param mergeRowIndex 从第几行开始合并 + * @param mergeColumnIndex 合并字段的下标,如第一到五列new int[]{0,1,2,3,4} + * @param filename + * @param response + * @param sheetName + * @param + */ + public static void exportExcel(List> head, List data, int mergeRowIndex, int[] mergeColumnIndex, String filename, HttpServletResponse response, String sheetName) { + OutputStream out = null; + try { + out = getOutputStream(filename, response); + ExcelWriterSheetBuilder builder = EasyExcel.write(out) + //是否自动关闭流 + .autoCloseStream(Boolean.FALSE) + .registerWriteHandler(new ExcelFillCellMergeStrategy(mergeRowIndex, mergeColumnIndex)) + .head(head) + .sheet(sheetName); + builder.doWrite(data); + } finally { + try { + if (out != null) { + out.flush(); + out.close(); + } + } catch (IOException e) { + throw new RuntimeException("导出Excel异常"); + } + } + } + + /** + * 单表多数据模板导出 模板格式为 {.属性} + * + * @param filename 文件名 + * @param templatePath 模板路径 resource 目录下的路径包括模板文件名 + * 例如: excel/temp.xlsx + * 重点: 模板文件必须放置到启动类对应的 resource 目录下 + * @param data 模板需要的数据 + * @param list 模板需要的集合数据 + */ + public static void exportTemplate(Map data, List list, String filename, String templatePath, HttpServletResponse response) { + OutputStream out = null; + try { + out = getOutputStream(filename, response); + ClassPathResource templateResource = new ClassPathResource(templatePath); + ExcelWriter excelWriter = EasyExcel.write(out) + .withTemplate(templateResource.getStream()) + .excelType(ExcelTypeEnum.XLSX) + .build(); + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + if (CollUtil.isEmpty(data)) { + throw new IllegalArgumentException("数据为空"); + } + excelWriter.fill(list, writeSheet); + excelWriter.fill(data, writeSheet); + excelWriter.finish(); + } finally { + try { + if (out != null) { + out.flush(); + out.close(); + } + } catch (IOException e) { + throw new RuntimeException("导出Excel异常"); + } + } + } + + private static OutputStream getOutputStream(String fileName, HttpServletResponse response) { + try { + fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-Disposition", "attachment; filename=" + fileName + ".xlsx"); + response.setHeader("Pragma", "public"); + response.setHeader("Cache-Control", "no-store"); + response.addHeader("Cache-Control", "max-age=0"); + return response.getOutputStream(); + } catch (IOException e) { + System.out.println(e.getMessage()); + } + return null; + } + + /** + * 使用自定义监听器 异步导入 自定义返回 + * + * @param is 输入流 + * @param clazz 对象类型 + * @param listener 自定义监听器 + * @return 转换后集合 + */ + public static ExcelResult importExcel(InputStream is, Class clazz, ExcelListener listener) { + EasyExcel.read(is, clazz, listener).sheet().doRead(); + return listener.getExcelResult(); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/util/MyBeanUtil.java b/src/main/java/com/gunshi/project/hsz/util/MyBeanUtil.java new file mode 100644 index 0000000..83130a2 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/MyBeanUtil.java @@ -0,0 +1,125 @@ +package com.gunshi.project.hsz.util; + +import org.springframework.beans.BeanUtils; +import org.springframework.util.CollectionUtils; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.*; + +/** + * Description:BeanUtils拓展工具类 + * Created by wanyan on 2024/7/10 + * + * @author wanyan + * @version 1.0 + */ +public class MyBeanUtil extends BeanUtils{ + + public MyBeanUtil() { + } + + public static T propertiesCopy(Object source, Class clazz) { + if (null == source) { + return null; + } else { + try { + T obj = clazz.newInstance(); + BeanUtils.copyProperties(source, obj); + return obj; + } catch (IllegalAccessException | InstantiationException var3) { + throw new RuntimeException(var3); + } + } + } + + /** + * list中对象的copy + * @param source + * @param clazz + * @param + * @return + */ + public static List collectionCopy(Collection source, Class clazz) { + if (null == source) { + return new ArrayList(); + } else { + List list = new ArrayList(); + Iterator var3 = source.iterator(); + + while(var3.hasNext()) { + Object o = var3.next(); + list.add(propertiesCopy(o, clazz)); + } + + return list; + } + } + + /** + * 将对象转换为map + * @param obj + * @return + */ + public static Map object2Map(Object obj) { + Map map = new HashMap(); + if (obj == null) { + return map; + } else { + Class clazz = obj.getClass(); + Field[] fields = clazz.getDeclaredFields(); + + try { + Field[] var4 = fields; + int var5 = fields.length; + + for(int var6 = 0; var6 < var5; ++var6) { + Field field = var4[var6]; + field.setAccessible(true); + map.put(field.getName(), field.get(obj)); + } + + return map; + } catch (Exception var8) { + throw new RuntimeException(var8); + } + } + } + + + /** + * 将map转换为对象,必须保证属性名称相同 + * @return + */ + public static Object map2Object(Map map,Class clzz){ + try { + Object target = clzz.newInstance(); + if(CollectionUtils.isEmpty(map)){ + return target; + } + Field[] fields = clzz.getDeclaredFields(); + if(!CollectionUtils.isEmpty(Arrays.asList(fields))){ + Arrays.stream(fields).filter((Field field) -> map.containsKey(field.getName())).forEach(var -> { + //获取属性的修饰符 + int modifiers = var.getModifiers(); + if(Modifier.isStatic(modifiers) || Modifier.isFinal(modifiers)){ + //在lambada中结束本次循环是用return,它不支持continue和break + return; + } + //设置权限 + var.setAccessible(true); + try { + var.set(target,map.get(var.getName())); + } catch (IllegalAccessException e) { + //属性类型不对,非法操作,跳过本次循环,直接进入下一次循环 + throw new RuntimeException(e); + } + }); + } + return target; + } catch (InstantiationException | IllegalAccessException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/util/OkHttpUtil.java b/src/main/java/com/gunshi/project/hsz/util/OkHttpUtil.java new file mode 100644 index 0000000..8e1e29d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/OkHttpUtil.java @@ -0,0 +1,30 @@ +package com.gunshi.project.hsz.util; + +import com.google.common.base.Suppliers; +import okhttp3.OkHttpClient; + +import java.util.concurrent.TimeUnit; +import java.util.function.Supplier; + +public class OkHttpUtil { + private OkHttpUtil(){ + + } + private static final Supplier OK_HTTP_CLIENT_FACTORY = Suppliers.memoize(OkHttpClient::new); + + public static OkHttpClient build(){ + return OK_HTTP_CLIENT_FACTORY.get().newBuilder().retryOnConnectionFailure(true) + .connectTimeout(10, TimeUnit.SECONDS) + .callTimeout(240, TimeUnit.SECONDS) + .readTimeout(240, TimeUnit.SECONDS) + .build(); + } + + public static OkHttpClient build(int timeout, int callTimeout){ + return OK_HTTP_CLIENT_FACTORY.get().newBuilder().retryOnConnectionFailure(true) + .connectTimeout(timeout, TimeUnit.SECONDS) + .callTimeout(callTimeout, TimeUnit.SECONDS) + .readTimeout(callTimeout, TimeUnit.SECONDS) + .build(); + } +} diff --git a/src/main/java/com/gunshi/project/hsz/util/ResultJson.java b/src/main/java/com/gunshi/project/hsz/util/ResultJson.java new file mode 100644 index 0000000..e033624 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/ResultJson.java @@ -0,0 +1,170 @@ +package com.gunshi.project.hsz.util; + +import io.swagger.v3.oas.annotations.media.Schema; +import org.springframework.stereotype.Component; + +import java.io.Serializable; +import java.util.Date; + +@Schema(description = "数据传输对象") +@Component +@SuppressWarnings("all") +public class ResultJson implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 成功 + */ + public static final Integer SUCCESS = 200; + public static final String SUCCESS_MSG = "success"; + + /** + * 失败 + */ + public static final Integer FAIL = 900; + public static final String FAIL_MSG = "fail"; + + public static final Integer PARAM_ERROR = 400; // 失败、参数错误等 + public static final Integer UNAUTHORIZED = 401; // 用户验证失败,或者用户验证信息过期 + public static final Integer PERMISSION_DENIED = 403; // 没有权限 + public static final Integer NOT_FOUND = 404; // 未找到资源 + public static final Integer METHOD_NOT_ALLOWED = 405; // 不支持的类型 + public static final Integer NSUPPORTED_MEDIA_TYPE = 415; // 不支持的媒体 + public static final Integer NOT_ALLOWED = 405; // 请求太频繁,同一个用户(token)、同一个url、同样的请求参数,请求间隔小于0.5秒 + public static final Integer SERVER_ERROR = 500; // 后台错误 + public static final Integer SRC_TIMEOUT = 504; // 请求资源超时 + + + @Schema(description="数据消息") + private String msg; + + @Schema(description="传输状态码(200=成功;400=参数错误; 500=后端错误;900=失败)") + private Integer code; + + @Schema(description="传输数据") + private T data; + + @Schema(description="接口响应时间戳") + private String restm; // 接口响应时间戳。如果有缓存,则该时间表示最后接口响应时间 + + public static ResultJson error() { + return error(FAIL, "未知异常,请联系管理员"); + } + + public static ResultJson error(String msg) { + return error(FAIL, msg); + } + + public static ResultJson error(int code, String msg) { + ResultJson r = new ResultJson(); + r.setCode(code); + r.setMsg(msg); + r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); + return r; + } + + public static ResultJson error(int code, String msg, Object data) { + ResultJson r = new ResultJson(); + r.setCode(code); + r.setMsg(msg); + r.setData(data); + r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); + return r; + } + + public static ResultJson ok(Integer code, String msg) { + ResultJson r = new ResultJson(); + r.setMsg(msg); + r.setCode(code); + r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); + return r; + } + + public static ResultJson ok() { + ResultJson r = new ResultJson(); + r.setCode(SUCCESS); + r.setMsg(SUCCESS_MSG); + r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); + return r; + } + + public static ResultJson ok(Object data) { + ResultJson r = new ResultJson(); + r.setCode(SUCCESS); + r.setMsg(SUCCESS_MSG); + r.setData(data); + r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); + return r; + } + + public static ResultJson ok(Object data, String msg) { + ResultJson r = new ResultJson(); + r.setData(data); + r.setCode(SUCCESS); + r.setMsg(msg); + r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); + return r; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + public static long getSerialVersionUID() { + return serialVersionUID; + } + + public static Integer getSUCCESS() { + return SUCCESS; + } + + public static String getSuccessMsg() { + return SUCCESS_MSG; + } + + public static Integer getFAIL() { + return FAIL; + } + + public static String getFailMsg() { + return FAIL_MSG; + } + + public String getRestm() { + return restm; + } + + public void setRestm(String restm) { + this.restm = restm; + } + + @Override + public String toString() { + return "ResultJson{" + + "msg='" + msg + "'" + + ", code=" + code + + ", data=" + data + + ", restm=" + restm + + '}'; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/util/ServiceException.java b/src/main/java/com/gunshi/project/hsz/util/ServiceException.java new file mode 100644 index 0000000..4264632 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/ServiceException.java @@ -0,0 +1,64 @@ +package com.gunshi.project.hsz.util; + +/** + * 业务异常 + * + * @author ruoyi + */ +public final class ServiceException extends RuntimeException { + private static final long serialVersionUID = 1L; + + /** + * 错误码 + */ + private Integer code; + + /** + * 错误提示 + */ + private String message; + + /** + * 错误明细,内部调试错误 + *

+ */ + private String detailMessage; + + /** + * 空构造方法,避免反序列化问题 + */ + public ServiceException() { + } + + public ServiceException(String message) { + this.message = message; + } + + public ServiceException(String message, Integer code) { + this.message = message; + this.code = code; + } + + public String getDetailMessage() { + return detailMessage; + } + + @Override + public String getMessage() { + return message; + } + + public Integer getCode() { + return code; + } + + public ServiceException setMessage(String message) { + this.message = message; + return this; + } + + public ServiceException setDetailMessage(String detailMessage) { + this.detailMessage = detailMessage; + return this; + } +} diff --git a/src/main/java/com/gunshi/project/hsz/util/excel/DefautExcelResult.java b/src/main/java/com/gunshi/project/hsz/util/excel/DefautExcelResult.java new file mode 100644 index 0000000..a041cb7 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/excel/DefautExcelResult.java @@ -0,0 +1,72 @@ +package com.gunshi.project.hsz.util.excel; + +import cn.hutool.core.util.StrUtil; +import lombok.Setter; + +import java.util.ArrayList; +import java.util.List; + +/** + * 默认excel返回对象 + * + * + */ +public class DefautExcelResult implements ExcelResult { + + /** + * 数据对象list + */ + @Setter + private List list; + + /** + * 错误信息列表 + */ + @Setter + private List errorList; + + public DefautExcelResult() { + this.list = new ArrayList<>(); + this.errorList = new ArrayList<>(); + } + + public DefautExcelResult(List list, List errorList) { + this.list = list; + this.errorList = errorList; + } + + public DefautExcelResult(ExcelResult excelResult) { + this.list = excelResult.getList(); + this.errorList = excelResult.getErrorList(); + } + + @Override + public List getList() { + return list; + } + + @Override + public List getErrorList() { + return errorList; + } + + /** + * 获取导入回执 + * + * @return 导入回执 + */ + @Override + public String getAnalysis() { + int successCount = list.size(); + int errorCount = errorList.size(); + if (successCount == 0) { + return "读取失败,未解析到数据"; + } else { + if (errorCount == 0) { + return StrUtil.format("恭喜您,全部读取成功!共{}条", successCount); + } else { + return ""; + } + } + } +} diff --git a/src/main/java/com/gunshi/project/hsz/util/excel/ExcelFillCellMergeStrategy.java b/src/main/java/com/gunshi/project/hsz/util/excel/ExcelFillCellMergeStrategy.java new file mode 100644 index 0000000..d78c134 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/excel/ExcelFillCellMergeStrategy.java @@ -0,0 +1,96 @@ +package com.gunshi.project.hsz.util.excel; + +import com.alibaba.excel.metadata.Head; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.write.handler.CellWriteHandler; +import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; +import com.alibaba.excel.write.metadata.holder.WriteTableHolder; +import lombok.Data; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.util.CellRangeAddress; + +import java.util.List; + + +@Data +public class ExcelFillCellMergeStrategy implements CellWriteHandler { + /** + * 合并字段的下标,如第一到五列new int[]{0,1,2,3,4} + */ + private int[] mergeColumnIndex; + /** + * 从第几行开始合并,如果表头占两行,这个数字就是2 + */ + private int mergeRowIndex; + + + public ExcelFillCellMergeStrategy(int mergeRowIndex, int[] mergeColumnIndex) { + this.mergeRowIndex = mergeRowIndex; + this.mergeColumnIndex = mergeColumnIndex; + } + + @Override + public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, + Head head, Integer integer, Integer integer1, Boolean aBoolean) { + + } + + @Override + public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, + Head head, Integer integer, Boolean aBoolean) { + + } + + + @Override + public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, + List> list, Cell cell, Head head, Integer integer, Boolean aBoolean) { + //当前行 + int curRowIndex = cell.getRowIndex(); + //当前列 + int curColIndex = cell.getColumnIndex(); + + if (curRowIndex > mergeRowIndex) { + for (int i = 0; i < mergeColumnIndex.length; i++) { + if (curColIndex == mergeColumnIndex[i]) { + mergeWithPrevRow(writeSheetHolder, cell, curRowIndex, curColIndex); + break; + } + } + } + } + + private void mergeWithPrevRow(WriteSheetHolder writeSheetHolder, Cell cell, int curRowIndex, int curColIndex) { + //获取当前行的当前列的数据和上一行的当前列列数据,通过上一行数据是否相同进行合并 + Object curData = cell.getCellTypeEnum() == CellType.STRING ? cell.getStringCellValue() : + cell.getNumericCellValue(); + Cell preCell = cell.getSheet().getRow(curRowIndex - 1).getCell(curColIndex); + Object preData = preCell.getCellTypeEnum() == CellType.STRING ? preCell.getStringCellValue() :preCell.getNumericCellValue(); + // 比较当前行的第一列的单元格与上一行是否相同,相同合并当前单元格与上一行 + if (curData.equals(preData)) { + Sheet sheet = writeSheetHolder.getSheet(); + List mergeRegions = sheet.getMergedRegions(); + boolean isMerged = false; + for (int i = 0; i < mergeRegions.size() && !isMerged; i++) { + CellRangeAddress cellRangeAddr = mergeRegions.get(i); + // 若上一个单元格已经被合并,则先移出原有的合并单元,再重新添加合并单元 + if (cellRangeAddr.isInRange(curRowIndex - 1, curColIndex)) { + sheet.removeMergedRegion(i); + cellRangeAddr.setLastRow(curRowIndex); + sheet.addMergedRegion(cellRangeAddr); + isMerged = true; + } + } + // 若上一个单元格未被合并,则新增合并单元 + if (!isMerged) { + CellRangeAddress cellRangeAddress = new CellRangeAddress(curRowIndex - 1, curRowIndex, curColIndex, + curColIndex); + sheet.addMergedRegion(cellRangeAddress); + } + } + } +} + diff --git a/src/main/java/com/gunshi/project/hsz/util/excel/ExcelListener.java b/src/main/java/com/gunshi/project/hsz/util/excel/ExcelListener.java new file mode 100644 index 0000000..dd8ad19 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/excel/ExcelListener.java @@ -0,0 +1,14 @@ +package com.gunshi.project.hsz.util.excel; + +import com.alibaba.excel.read.listener.ReadListener; + +/** + * Excel 导入监听 + * + * @author Lion Li + */ +public interface ExcelListener extends ReadListener { + + ExcelResult getExcelResult(); + +} diff --git a/src/main/java/com/gunshi/project/hsz/util/excel/ExcelResult.java b/src/main/java/com/gunshi/project/hsz/util/excel/ExcelResult.java new file mode 100644 index 0000000..dd4ee31 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/excel/ExcelResult.java @@ -0,0 +1,26 @@ +package com.gunshi.project.hsz.util.excel; + +import java.util.List; + +/** + * excel返回对象 + * + * @author Lion Li + */ +public interface ExcelResult { + + /** + * 对象列表 + */ + List getList(); + + /** + * 错误列表 + */ + List getErrorList(); + + /** + * 导入回执 + */ + String getAnalysis(); +} diff --git a/src/main/java/com/gunshi/project/hsz/util/excel/LengthValid.java b/src/main/java/com/gunshi/project/hsz/util/excel/LengthValid.java new file mode 100644 index 0000000..6bff79d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/excel/LengthValid.java @@ -0,0 +1,23 @@ +package com.gunshi.project.hsz.util.excel; + +import java.lang.annotation.*; + +/** + * Description: + * Created by wanyan on 2024/8/19 + * + * @author wanyan + * @version 1.0 + */ +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +public @interface LengthValid { + + int length() default 0; + + String msg() default ""; + +} + + diff --git a/src/main/java/com/gunshi/project/hsz/util/excel/VoteTitleHandler.java b/src/main/java/com/gunshi/project/hsz/util/excel/VoteTitleHandler.java new file mode 100644 index 0000000..0529d03 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/excel/VoteTitleHandler.java @@ -0,0 +1,45 @@ +package com.gunshi.project.hsz.util.excel; + +import com.alibaba.excel.metadata.Head; +import com.alibaba.excel.write.handler.CellWriteHandler; +import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; +import com.alibaba.excel.write.metadata.holder.WriteTableHolder; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import org.apache.poi.ss.usermodel.Row; +import org.springframework.util.PropertyPlaceholderHelper; + +import java.util.Date; +import java.util.List; +import java.util.Properties; + + +public class VoteTitleHandler implements CellWriteHandler { + + private String title; + + private String describe; + + private Date voteTime; + + PropertyPlaceholderHelper placeholderHelper = new PropertyPlaceholderHelper("${", "}"); + + public VoteTitleHandler(String title) { + this.title = title; + } + + @Override + public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, + Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) { + if (head != null) { + List headNameList = head.getHeadNameList(); + if (CollectionUtils.isNotEmpty(headNameList)) { + Properties properties = new Properties(); + properties.setProperty("title", title); + for (int i = 0; i < headNameList.size(); i++) { + headNameList.set(i, placeholderHelper.replacePlaceholders(headNameList.get(i), properties)); + } + } + } + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/util/spring/SpringUtils.java b/src/main/java/com/gunshi/project/hsz/util/spring/SpringUtils.java new file mode 100644 index 0000000..14e1b80 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/util/spring/SpringUtils.java @@ -0,0 +1,65 @@ +package com.gunshi.project.hsz.util.spring; + +import cn.hutool.extra.spring.SpringUtil; +import org.springframework.aop.framework.AopContext; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.stereotype.Component; + +/** + * spring工具类 + * + * + */ +@Component +public final class SpringUtils extends SpringUtil { + + /** + * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true + * + * @param name + * @return boolean + */ + public static boolean containsBean(String name) { + return getBeanFactory().containsBean(name); + } + + /** + * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 + * 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException) + * + * @param name + * @return boolean + */ + public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException { + return getBeanFactory().isSingleton(name); + } + + /** + * @param name + * @return Class 注册对象的类型 + */ + public static Class getType(String name) throws NoSuchBeanDefinitionException { + return getBeanFactory().getType(name); + } + + /** + * 如果给定的bean名字在bean定义中有别名,则返回这些别名 + * + * @param name + */ + public static String[] getAliases(String name) throws NoSuchBeanDefinitionException { + return getBeanFactory().getAliases(name); + } + + /** + * 获取aop代理对象 + * + * @param invoker + * @return + */ + @SuppressWarnings("unchecked") + public static T getAopProxy(T invoker) { + return (T) AopContext.currentProxy(); + } + +} diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/Delete.java b/src/main/java/com/gunshi/project/hsz/validate/markers/Delete.java new file mode 100644 index 0000000..0d91caf --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/validate/markers/Delete.java @@ -0,0 +1,11 @@ +package com.gunshi.project.hsz.validate.markers; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-23 + */ +public interface Delete { +} diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/Insert.java b/src/main/java/com/gunshi/project/hsz/validate/markers/Insert.java new file mode 100644 index 0000000..e07ffbe --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/validate/markers/Insert.java @@ -0,0 +1,11 @@ +package com.gunshi.project.hsz.validate.markers; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-23 + */ +public interface Insert { +} diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/Query.java b/src/main/java/com/gunshi/project/hsz/validate/markers/Query.java new file mode 100644 index 0000000..0936b69 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/validate/markers/Query.java @@ -0,0 +1,11 @@ +package com.gunshi.project.hsz.validate.markers; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-23 + */ +public interface Query { +} diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/QueryPage.java b/src/main/java/com/gunshi/project/hsz/validate/markers/QueryPage.java new file mode 100644 index 0000000..3ad6c6d --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/validate/markers/QueryPage.java @@ -0,0 +1,11 @@ +package com.gunshi.project.hsz.validate.markers; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-24 + */ +public interface QueryPage { +} diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/QueryTimeRange.java b/src/main/java/com/gunshi/project/hsz/validate/markers/QueryTimeRange.java new file mode 100644 index 0000000..745dfcc --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/validate/markers/QueryTimeRange.java @@ -0,0 +1,11 @@ +package com.gunshi.project.hsz.validate.markers; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-24 + */ +public interface QueryTimeRange { +} diff --git a/src/main/java/com/gunshi/project/hsz/validate/markers/Update.java b/src/main/java/com/gunshi/project/hsz/validate/markers/Update.java new file mode 100644 index 0000000..73d4af8 --- /dev/null +++ b/src/main/java/com/gunshi/project/hsz/validate/markers/Update.java @@ -0,0 +1,11 @@ +package com.gunshi.project.hsz.validate.markers; + +/** + * 类描述 + * + * @author lyf + * @version 1.0.0 + * @since 2024-01-23 + */ +public interface Update { +} diff --git a/src/main/java/com/gunshi/project/xyt/Main.java b/src/main/java/com/gunshi/project/xyt/Main.java deleted file mode 100644 index 844fe73..0000000 --- a/src/main/java/com/gunshi/project/xyt/Main.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt; - -import com.github.jeffreyning.mybatisplus.conf.EnableMPP; -import com.gunshi.core.annotation.GunShiApplication; -import io.swagger.v3.oas.annotations.OpenAPIDefinition; -import io.swagger.v3.oas.annotations.servers.Server; -import lombok.extern.slf4j.Slf4j; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.SpringApplication; -import org.springframework.cache.annotation.EnableCaching; - -@OpenAPIDefinition( - servers = { - @Server( - url = "http://localhost:24105/gunshiApp/tsg", - description = "本地测试环境" - ), - @Server( - url = "http://local.gunshiiot.com:18083/gunshiApp/tsg", - description = "线上测试环境" - ) - } -) -@GunShiApplication -@MapperScan(basePackages = {"com.gunshi.**.mapper", "com.gunshi.**.model"}) -@Slf4j -@EnableMPP -@EnableCaching -public class Main { - public static void main(String[] args) { - SpringApplication.run(Main.class, args); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/config/MyE500UnknownExceptionResolver.java b/src/main/java/com/gunshi/project/xyt/config/MyE500UnknownExceptionResolver.java deleted file mode 100644 index e1db42b..0000000 --- a/src/main/java/com/gunshi/project/xyt/config/MyE500UnknownExceptionResolver.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.gunshi.project.xyt.config; - -import com.gunshi.core.result.R; -import com.gunshi.core.result.exception.ressolver.E500UnknownExceptionResolver; -import lombok.extern.slf4j.Slf4j; -import org.springframework.core.annotation.Order; -import org.springframework.security.access.AccessDeniedException; -import org.springframework.web.bind.annotation.RestControllerAdvice; - - - -/** - * Description: - * Created by XuSan on 2024/7/10. - * - * @author XuSan - * @version 1.0 - */ -@RestControllerAdvice -@Order -@Slf4j -public class MyE500UnknownExceptionResolver extends E500UnknownExceptionResolver { - - public R resolve(Exception exception) { - log.error("系统未知异常,错误信息: " + exception.getMessage(), exception); - if (exception instanceof AccessDeniedException || exception.getMessage().contains("获取用户信息异常")) { - return R.error(405, "登录状态失效,请重新登录"); - } - return R.error(500, "系统未知异常,错误信息: " + exception.getMessage()); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/config/OpenApiConfig.java b/src/main/java/com/gunshi/project/xyt/config/OpenApiConfig.java deleted file mode 100644 index de8993e..0000000 --- a/src/main/java/com/gunshi/project/xyt/config/OpenApiConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gunshi.project.xyt.config; - -import org.springdoc.core.models.GroupedOpenApi; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * Description: - * Created by wanyan on 2024/7/8 - * - * @author wanyan - * @version 1.0 - */ -@Configuration -public class OpenApiConfig { - - @Bean - public GroupedOpenApi XytOpenApi() { - String[] packagesToScan = { - "com.gunshi.project.xyt.controller", - }; - return GroupedOpenApi.builder() - .group("tsg") - .packagesToScan(packagesToScan) - .build(); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/AbstractCommonFileController.java b/src/main/java/com/gunshi/project/xyt/controller/AbstractCommonFileController.java deleted file mode 100644 index da00a71..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AbstractCommonFileController.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.GunShiCoreProperties; -import com.gunshi.core.result.R; -import com.gunshi.core.session.entity.SessionUser; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.file.service.IFileService; -import com.gunshi.file.service.LoginFileService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import jakarta.servlet.http.HttpServletRequest; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-03-12 - */ -public abstract class AbstractCommonFileController implements ICommonFileController { - - @Override - public R uploadSingle(MultipartFile file, String groupId, String businessType, Long userId, HttpServletRequest request) throws Exception { - return ICommonFileController.super.uploadSingle(file, getGroupId(), getBusinessType(), userId, request); - } - - /** - * 单个文件上传 - * - * @param file 文件 - * @param userId 上传者userId - */ - @Operation(summary = "单个文件上传,不需要groupId和businessType") - @PostMapping(path = "/file/upload/singleSimple", consumes = "multipart/form-data") - @Override - public R uploadSingle( - @Parameter(description = "文件") @RequestPart("file") MultipartFile file, - @Parameter(description = "上传者用户id", hidden = true) @RequestParam(value = "userId", required = false) Long userId, - @Parameter(hidden = true) HttpServletRequest request) throws Exception { - - if (userId == null) { - SessionUser sessionUser = checkLogin(request); - if (sessionUser == null) { - return R.error(400, "未登录", null); - } - userId = sessionUser.getUserId(); - } - - FileDescriptor fd = new FileDescriptor(); - fd.setBusinessType(getBusinessType()); - fd.setGroupId(getGroupId()); - fd.setUserId(userId); - fd.setAccessGroup(getService().getAccessGroup()); - fd.setFilePath(generateFilePath(getProperty().getAppCode(), getBusinessType(), userId, getGroupId(), file.getOriginalFilename())); - fd.setFileName(file.getOriginalFilename()); - fd.setFileLength(file.getSize()); - - getService().upload(fd, file.getInputStream()); - - return R.ok(fd); - } - - @Override - public String getBusinessType() { - return "common"; - } - - @Autowired - private LoginFileService service; - - @Autowired - private GunShiCoreProperties properties; - -// @Autowired -// private BaseSessionService sessionService; - - @Override - public IFileService getService() { - return service; - } - - @Override - public SessionUser checkLogin(HttpServletRequest request) { -// String token = sessionService.getToken(request); -// return sessionService.getSessionUser(token); - SessionUser user = new SessionUser(); - user.setUserId(1L); - return user; - } - - @Override - public GunShiCoreProperties getProperty() { - return properties; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/AppVersionRecordController.java b/src/main/java/com/gunshi/project/xyt/controller/AppVersionRecordController.java deleted file mode 100644 index 6a4f568..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AppVersionRecordController.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.AppVersionRecord; -import com.gunshi.project.xyt.service.AppVersionRecordService; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.utils.file.FileUploadUtils; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.Map; - -/** - * 描述: APP版本记录 - * author: xusan - * date: 2024-11-12 10:14:50 - */ -@Tag(name = "APP版本记录") -@RestController -@RequestMapping(value="/appVersionRecord") -public class AppVersionRecordController { - - @Autowired - private AppVersionRecordService service; - - @PostMapping("/upload") - public R upload(@RequestParam("file") MultipartFile file, @RequestParam("version") String version, @RequestParam("versionDesc") String versionDesc) throws Exception - { - Map map = new HashMap<>(); - if (!file.isEmpty()) - { - String url = FileUploadUtils.upload(RuoYiConfig.getUploadPath(),file,null); - if (service.insertData(version,versionDesc,url)) - { - map.put("url", url); - return R.ok(map); - } - } - return R.error(400,"上传失败"); - } - - - - @Operation(summary = "最新记录") - @GetMapping("/latest") - public R latest() { - return R.ok(service.getLatest()); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AssessCategoryController.java b/src/main/java/com/gunshi/project/xyt/controller/AssessCategoryController.java deleted file mode 100644 index b3d4484..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AssessCategoryController.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.AssessCategory; -import com.gunshi.project.xyt.service.AssessCategoryService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 考核类目 - * author: xusan - * date: 2024-09-03 17:46:30 - */ -@Tag(name = "考核类目") -@RestController -@RequestMapping(value="/assessCategory") -public class AssessCategoryController { - - @Autowired - private AssessCategoryService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AssessCategory dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AssessCategory dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().orderByAsc(AssessCategory::getOrderIndex).list()); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AssessIndicatorController.java b/src/main/java/com/gunshi/project/xyt/controller/AssessIndicatorController.java deleted file mode 100644 index 93f4391..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AssessIndicatorController.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.dto.InspectItemDto; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.model.AssessIndicator; -import com.gunshi.project.xyt.service.AssessIndicatorService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -/** - * 描述: 考核指标 - * author: xusan - * date: 2024-09-03 17:46:56 - */ -@Tag(name = "考核指标") -@RestController -@RequestMapping(value="/assessIndicator") -public class AssessIndicatorController { - - @Autowired - private AssessIndicatorService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AssessIndicator dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AssessIndicator dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "启停") - @PostMapping("/startStop") - public R startStop(@RequestBody InspectItemDto dto) { - return R.ok(service.startStop(dto)); - } - - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated AttCctvBasePage page) { - return R.ok(service.pageQuery(page)); - } - - @Operation(summary = "选择指标") - @PostMapping("/choose") - public R> choosePage(@RequestBody @Validated AttCctvBasePage page) { - return R.ok(service.choosePage(page)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AssessTaskController.java b/src/main/java/com/gunshi/project/xyt/controller/AssessTaskController.java deleted file mode 100644 index f728a41..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AssessTaskController.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.db.dto.MonthRangeSo; -import com.gunshi.project.xyt.entity.so.AssessTaskPageSo; -import com.gunshi.project.xyt.entity.vo.AssessResultVo; -import com.gunshi.project.xyt.model.AssessTask; -import com.gunshi.project.xyt.service.AssessTaskService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - * 描述: 考核任务 - * author: xusan - * date: 2024-09-05 14:19:04 - */ -@Tag(name = "考核任务") -@RestController -@RequestMapping(value="/assessTask") -public class AssessTaskController extends AbstractCommonFileController{ - - @Autowired - private AssessTaskService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AssessTask dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AssessTask dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "详情") - @GetMapping("/detail/{id}") - public R detail(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.detail(id)); - } - - @Operation(summary = "考核任务清单") - @PostMapping("/list/page") - public R> listPage(@Validated @RequestBody AssessTaskPageSo page) { - return R.ok(service.listPage(page)); - } - - @Operation(summary = "启动") - @GetMapping("/start/{id}") - public R start(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.start(id)); - } - - @Operation(summary = "我的待办") - @PostMapping("/myTodo/page") - public R> myTodo(@Validated @RequestBody AssessTaskPageSo page) { - return R.ok(service.myTodo(page)); - } - - @Operation(summary = "我的已办") - @PostMapping("/myDone/page") - public R> myDone(@Validated @RequestBody AssessTaskPageSo page) { - return R.ok(service.myDone(page)); - } - - @Operation(summary = "审核通过") - @GetMapping("/pass/{id}") - public R pass(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.pass(id)); - } - - @Operation(summary = "作废") - @GetMapping("/cancel/{id}") - public R cancel(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.cancel(id)); - } - - @Operation(summary = "驳回评分") - @GetMapping("/reject/{id}") - public R reject(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.reject(id)); - } - - @Operation(summary = "考核结果") - @GetMapping("/result/{id}") - public R> result(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.result(id)); - } - - @Operation(summary = "考核结果导出") - @GetMapping("/result/export") - public void resultExport(@RequestParam("id") @Parameter(description = "考核任务id") Long id, HttpServletResponse response) { - service.resultExport(id,response); - } - - @Operation(summary = "人员考核结果") - @PostMapping("/result/stat") - public R> resultStat(@Validated @RequestBody MonthRangeSo monthRangeSo) { - return R.ok(service.resultStat(monthRangeSo)); - } - - @Operation(summary = "等级统计") - @PostMapping("/level/stat") - public R> levelStat(@Validated @RequestBody MonthRangeSo monthRangeSo) { - return R.ok(service.levelStat(monthRangeSo)); - } - - @Override - public String getGroupId() { - return "assessTask"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AssessTeamRatingController.java b/src/main/java/com/gunshi/project/xyt/controller/AssessTeamRatingController.java deleted file mode 100644 index c31689b..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AssessTeamRatingController.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.db.dto.MonthRangeSo; -import com.gunshi.project.xyt.entity.so.AssessTaskPageSo; -import com.gunshi.project.xyt.entity.vo.AssessRatingVo; -import com.gunshi.project.xyt.entity.vo.AssessRectifyVo; -import com.gunshi.project.xyt.entity.vo.AssessScoreVo; -import com.gunshi.project.xyt.model.AssessTeamRating; -import com.gunshi.project.xyt.service.AssessTeamRatingService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - * 描述: 考核评分详情 - * author: xusan - * date: 2024-09-05 14:20:04 - */ -@Tag(name = "考核评分详情") -@RestController -@RequestMapping(value="/assessTeamRating") -public class AssessTeamRatingController extends AbstractCommonFileController{ - - @Autowired - private AssessTeamRatingService service; - - - @Operation(summary = "完成评分") - @PostMapping("/score") - public R score(@Validated @RequestBody AssessScoreVo vo) { - return R.ok(service.score(vo)); - } - - @Operation(summary = "保存评分") - @PostMapping("/saveScore") - public R saveScore(@Validated @RequestBody AssessScoreVo vo) { - return R.ok(service.saveScore(vo)); - } - - @Operation(summary = "我的待办/已办-查看评分详情") - @GetMapping("/do/detail/{teamId}") - public R> doDetail(@Schema(name = "teamId") @PathVariable("teamId") Long teamId) { - return R.ok(service.doDetail(teamId)); - } - - @Operation(summary = "考核任务清单-查看评分详情") - @GetMapping("/scoreDetail/{objectId}") - public R>> scoreDetail(@Schema(name = "objectId") @PathVariable("objectId") Long objectId) { - return R.ok(service.scoreDetail(objectId)); - } - - @Operation(summary = "考核问题整改") - @PostMapping("/list/page") - public R> listPage(@Validated @RequestBody AssessTaskPageSo page) { - return R.ok(service.listPage(page)); - } - - @Operation(summary = "整改") - @PostMapping("/rectify") - public R rectify(@Validated @RequestBody AssessTeamRating rating) { - return R.ok(service.rectify(rating)); - } - - @Operation(summary = "整改统计") - @PostMapping("/rectify/stat") - public R> rectifyStat(@Validated @RequestBody MonthRangeSo monthRangeSo) { - return R.ok(service.rectifyStat(monthRangeSo)); - } - - @Override - public String getGroupId() { - return "assessTeamRating"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AssessTemplateController.java b/src/main/java/com/gunshi/project/xyt/controller/AssessTemplateController.java deleted file mode 100644 index a6919c0..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AssessTemplateController.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.dto.InspectItemDto; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.model.AssessIndicator; -import com.gunshi.project.xyt.model.AssessTemplate; -import com.gunshi.project.xyt.service.AssessTemplateService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -/** - * 描述: 考核模板 - * author: xusan - * date: 2024-09-04 13:42:40 - */ -@Tag(name = "考核模板") -@RestController -@RequestMapping(value="/assessTemplate") -public class AssessTemplateController { - - @Autowired - private AssessTemplateService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AssessTemplate dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AssessTemplate dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "启停") - @PostMapping("/startStop") - public R startStop(@RequestBody InspectItemDto dto) { - return R.ok(service.startStop(dto)); - } - - @Operation(summary = "列表") - @PostMapping("/listByType/{templateFreq}") - public R> listByType(@Schema(name = "templateFreq") @PathVariable("templateFreq") Integer templateFreq) { - return R.ok(service.listByType(templateFreq)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated AttCctvBasePage page) { - return R.ok(service.pageQuery(page)); - } - - @Operation(summary = "根据模板id查询模板详情") - @GetMapping("/detail/{id}") - public R detail(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.getById(id)); - } - - @Operation(summary = "根据模板id查询关联的指标") - @GetMapping("/queryIndicators/{id}") - public R> queryIndicators(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.queryIndicators(id)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttCctvBaseController.java b/src/main/java/com/gunshi/project/xyt/controller/AttCctvBaseController.java deleted file mode 100644 index dcfef1c..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttCctvBaseController.java +++ /dev/null @@ -1,187 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.entity.vo.CctvControlVo; -import com.gunshi.project.xyt.model.AttCctvBase; -import com.gunshi.project.xyt.model.CctvBMenu; -import com.gunshi.project.xyt.service.AttCctvBaseService; -import com.gunshi.project.xyt.service.CctvBMenuService; -import com.gunshi.project.xyt.util.OkHttpUtil; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.Response; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.IOException; -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 视频基本信息表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "视频基本信息表") -@RestController -@RequestMapping(value="/attCctvBase") -public class AttCctvBaseController { - - @Autowired - private AttCctvBaseService service; - - @Autowired - private CctvBMenuService menuService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AttCctvBase dto) { - dto.setId(IdWorker.getId()); - dto.setCreateTime(new Date()); - if (StringUtils.isNotBlank(dto.getName()) && service.lambdaQuery().eq(AttCctvBase::getName,dto.getName()) - .count() > 0){ - throw new IllegalArgumentException("当前名称已存在"); - } - if (Objects.nonNull(dto.getMenuId()) && menuService.lambdaQuery().eq(CctvBMenu::getId,dto.getMenuId()) - .count() == 0 - ){ - throw new IllegalArgumentException("当前视频点目录不存在"); - } - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttCctvBase dto) { - - if (Objects.isNull(service.getById(dto.getId()))){ - throw new RuntimeException("当前数据不存在"); - } - if (StringUtils.isNotBlank(dto.getName()) && service.lambdaQuery().eq(AttCctvBase::getName,dto.getName()) - .ne(AttCctvBase::getId,dto.getId()) - .count() > 0){ - throw new IllegalArgumentException("当前名称已存在"); - } - - if (Objects.nonNull(dto.getMenuId()) && menuService.lambdaQuery().eq(CctvBMenu::getId,dto.getMenuId()) - .count() == 0 - ){ - throw new IllegalArgumentException("当前视频点目录不存在"); - } - dto.setCreateTime(null); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))){ - throw new RuntimeException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated AttCctvBasePage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - if (ObjectUtils.isNotNull(page.getCode())) { - query.like(AttCctvBase::getIndexCode, page.getCode()); - } - if (ObjectUtils.isNotNull(page.getMenuId())) { - query.eq(AttCctvBase::getMenuId, page.getMenuId()); - } - if (ObjectUtils.isNotNull(page.getName())) { - query.like(AttCctvBase::getName, page.getName()); - } - if (ObjectUtils.isNotNull(page.getType())) { - query.eq(AttCctvBase::getType, Integer.valueOf(page.getType())); - } - query.orderByDesc(AttCctvBase::getCreateTime); - Page basePage = service.page(page.getPageSo().toPage(), query); - List records = basePage.getRecords(); - if (CollectionUtils.isNotEmpty(records)){ - List list = menuService.list(); - if (CollectionUtils.isNotEmpty(list)){ - Map> listMap = list.stream(). - collect(Collectors.groupingBy(CctvBMenu::getId, Collectors.mapping(CctvBMenu::getName, Collectors.toList()))); - - records.forEach(item -> { - if (Objects.nonNull(item.getMenuId())){ - item.setMenuName(listMap.get(item.getMenuId()).getFirst()); - } - }); - } - basePage.setRecords(records); - } - return R.ok(basePage); - } - - @Operation(summary = "获取预览地址") - @GetMapping("/preview/{indexCode}") - public R preview(@PathVariable("indexCode") String indexCode) { - String api = "http://223.75.53.141:81/isc/liveAddressLimited?cameraIndexCode=%s&protocol=ws&token=111"; - OkHttpClient client = OkHttpUtil.build(); - String ret = null; - try { - Response resp = client.newCall(new Request.Builder().url(String.format(api, indexCode)).build()).execute(); - String respStr = resp.body().string(); - ObjectMapper om = new ObjectMapper(); - Map map = om.readValue(respStr, Map.class); - ret = map.get("data").toString(); - } catch (IOException e) { - throw new RuntimeException(e); - } - return R.ok(ret); - } - - @Operation(summary = "云台控制") - @PostMapping("/control") - public R control(@RequestBody CctvControlVo vo) { - String indexCode = vo.getIndexCode(); - Integer action = vo.getAction(); - Integer speed = vo.getSpeed(); - String command = vo.getCommand(); - String api = "http://223.75.53.141:81/isc/controlling?cameraIndexCode="+indexCode+"&action="+action+"&speed="+speed+"&command="+command+"&token=111"; - OkHttpClient client = OkHttpUtil.build(); - String ret = null; - try { - Response resp = client.newCall(new Request.Builder().url(api).build()).execute(); - ret = resp.body().string(); - } catch (IOException e) { - throw new RuntimeException(e); - } - return R.ok(ret); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttDamBaseController.java b/src/main/java/com/gunshi/project/xyt/controller/AttDamBaseController.java deleted file mode 100644 index f804b31..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttDamBaseController.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.GeneralDataPage; -import com.gunshi.project.xyt.model.AttDamBase; -import com.gunshi.project.xyt.service.AttDamBaseService; -import com.gunshi.project.xyt.service.AttResBaseService; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 大坝表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "大坝表") -@RestController -@RequestMapping(value="/attDamBase") -public class AttDamBaseController extends AbstractCommonFileController{ - - @Autowired - private AttDamBaseService service; - - @Autowired - private FileAssociationsService fileService; - - @Autowired - private AttResBaseService resService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AttDamBase dto) { - if (StringUtils.isNotBlank(dto.getResCode()) && Objects.isNull(resService.getById(dto.getResCode()))){ - throw new RuntimeException("当前水库不存在"); - } - dto.setDamCode(IdWorker.get32UUID()); - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getDamCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttDamBase dto) { - if (StringUtils.isNotBlank(dto.getResCode()) && Objects.isNull(resService.getById(dto.getResCode()))){ - throw new RuntimeException("当前水库不存在"); - } - if (Objects.isNull(service.getById(dto.getDamCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = service.updateById(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getDamCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = service.removeById(id); - if (data){ - fileService.deleteFile(getGroupId(),id.toString()); - } - return R.ok(data); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "获取主副坝,拦洪坝信息") - @GetMapping("/info") - public R> info(@Schema(name = "isMain",description = "是否主坝(0否 1是 2拦洪坝)") @RequestParam(name = "isMain") Integer isMain) { - return R.ok(service.lambdaQuery().eq(AttDamBase::getIsMain,isMain).list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated GeneralDataPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - if (ObjectUtils.isNotNull(page.getCode())){ - query.like(AttDamBase::getDamCode, page.getCode()); - } - if (ObjectUtils.isNotNull(page.getName())){ - query.like(AttDamBase::getDamName, page.getName()); - } - return R.ok(service.page(page.getPageSo().toPage(),query)); - } - @Operation(summary = "查看详情") - @GetMapping("/get/{id}") - public R page(@PathVariable("id") Serializable id) { - AttDamBase data = service.getById(id); - if (Objects.nonNull(data)){ - data.setFiles(fileService.getFiles(getGroupId(),data.getDamCode())); - } - return R.ok(data); - } - - @Override - public String getGroupId() { - return "attDamBase"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttDamProfileController.java b/src/main/java/com/gunshi/project/xyt/controller/AttDamProfileController.java deleted file mode 100644 index eb0f5a9..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttDamProfileController.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.GeneralDataPage; -import com.gunshi.project.xyt.entity.vo.ProfilePressTreeVo; -import com.gunshi.project.xyt.model.AttDamProfile; -import com.gunshi.project.xyt.service.AttDamProfileService; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 监测断面信息表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "监测断面信息表") -@RestController -@RequestMapping(value="/attDamProfile") -public class AttDamProfileController extends AbstractCommonFileController{ - - @Autowired - private AttDamProfileService service; - - @Autowired - private FileAssociationsService fileService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AttDamProfile dto) { - if (Objects.nonNull(service.getById(dto.getProfileCode()))) { - throw new IllegalArgumentException("当前编号已存在"); - }else{ - dto.setProfileCode(String.valueOf(IdWorker.getId())); - } - if (StringUtils.isNotBlank(dto.getProfileName())){ - if (service.lambdaQuery().eq(AttDamProfile::getProfileName,dto.getProfileName()).count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - } - - boolean result = service.save(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getProfileCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttDamProfile dto) { - if (Objects.isNull(service.getById(dto.getProfileCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - - if (StringUtils.isNotBlank(dto.getProfileName())){ - if (service.lambdaQuery().eq(AttDamProfile::getProfileName,dto.getProfileName()) - .ne(AttDamProfile::getProfileCode,dto.getProfileCode()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - } - boolean result = service.updateById(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getProfileCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - LambdaQueryWrapper wq = new LambdaQueryWrapper(); - wq.orderByAsc(AttDamProfile::getProfileCode); - List list = service.list(wq); - return R.ok(list); - } - - @Operation(summary = "断面渗压树") - @PostMapping("/tree") - public R> tree() { - return R.ok(service.tree()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated GeneralDataPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - if (ObjectUtils.isNotNull(page.getName())) { - query.like(AttDamProfile::getProfileName, page.getName()); - } - - Page data = service.page(page.getPageSo().toPage(), query); - data.getRecords().forEach(o -> o.setFiles( - fileService.getFiles(getGroupId(),o.getProfileCode()) - )); - return R.ok(data); - } - - - @Override - public String getGroupId() { - return "AttDamProfile"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttGateBController.java b/src/main/java/com/gunshi/project/xyt/controller/AttGateBController.java deleted file mode 100644 index 24647fe..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttGateBController.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.GateMonitorDataVo; -import com.gunshi.project.xyt.model.AttGateB; -import com.gunshi.project.xyt.service.AttGateBService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 水闸基本情况调查表 - * author: xusan - * date: 2024-09-26 10:44:06 - */ -@Tag(name = "水闸基本情况调查表") -@RestController -@RequestMapping(value="/attGateB") -public class AttGateBController { - - @Autowired - private AttGateBService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AttGateB dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttGateB dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.queryList()); - } - - @Operation(summary = "监测数据") - @GetMapping("/data") - public R> dataList(@Schema(name = "gateCode",description = "水闸编码") @RequestParam("gateCode") String gateCode) { - return R.ok(service.dataList(gateCode)); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttGateValveController.java b/src/main/java/com/gunshi/project/xyt/controller/AttGateValveController.java deleted file mode 100644 index 1745878..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttGateValveController.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.GeneralDataPage; -import com.gunshi.project.xyt.model.AttGateValve; -import com.gunshi.project.xyt.service.AttGateValveService; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 闸阀信息表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "闸阀信息表") -@RestController -@RequestMapping(value="/attGateValve") -public class AttGateValveController extends AbstractCommonFileController{ - - @Autowired - private AttGateValveService service; - - @Autowired - private FileAssociationsService fileService; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AttGateValve dto) { - dto.setValveCode(IdWorker.get32UUID()); - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getValveCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttGateValve dto) { - if (Objects.isNull(service.getById(dto.getValveCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = service.updateById(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getValveCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = service.removeById(id); - if (data){ - fileService.deleteFile(getGroupId(),id.toString()); - } - return R.ok(data); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated GeneralDataPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - if (ObjectUtils.isNotNull(page.getCode())){ - query.like(AttGateValve::getValveCode, page.getCode()); - } - if (ObjectUtils.isNotNull(page.getName())){ - query.like(AttGateValve::getValveName, page.getName()); - } - query.orderByDesc(AttGateValve::getCreateTime); - return R.ok(service.page(page.getPageSo().toPage(),query)); - } - - @Operation(summary = "详情") - @GetMapping("/detail") - public R detail(@Schema(name = "valveCode",description = "闸阀编码") @RequestParam("valveCode") String valveCode) { - return R.ok(service.getById(valveCode)); - } - - @Operation(summary = "查看详情") - @GetMapping("/get/{id}") - public R getDetail(@PathVariable("id") Serializable id) { - AttGateValve data = service.getById(id); - if (Objects.nonNull(data)){ - data.setFiles(fileService.getFiles(getGroupId(),data.getValveCode())); - } - return R.ok(data); - } - - - @Override - public String getGroupId() { - return "attGateValve"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttMeaWeirController.java b/src/main/java/com/gunshi/project/xyt/controller/AttMeaWeirController.java deleted file mode 100644 index b3abf72..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttMeaWeirController.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.GeneralDataPage; -import com.gunshi.project.xyt.model.AttMeaWeir; -import com.gunshi.project.xyt.service.AttMeaWeirService; -import com.gunshi.project.xyt.service.StAddvcdDService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 量水堰表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "量水堰表") -@RestController -@RequestMapping(value="/attMeaWeir") -public class AttMeaWeirController { - - @Autowired - private AttMeaWeirService service; - - @Autowired - private StAddvcdDService stAddvcdDService; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AttMeaWeir dto) { - dto.setWeirCode(IdWorker.get32UUID()); - dto.setCreateTime(new Date()); - if (StringUtils.isNotBlank(dto.getAdcd()) && Objects.isNull(stAddvcdDService.getById(dto.getAdcd()))){ - throw new IllegalArgumentException("当前行政区划不存在"); - } - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttMeaWeir dto) { - if (Objects.isNull(service.getById(dto.getWeirCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - - if (StringUtils.isNotBlank(dto.getAdcd()) && Objects.isNull(stAddvcdDService.getById(dto.getAdcd()))){ - throw new IllegalArgumentException("当前行政区划不存在"); - } - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated GeneralDataPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - if (ObjectUtils.isNotNull(page.getCode())) { - query.like(AttMeaWeir::getWeirCode, page.getCode()); - } - if (ObjectUtils.isNotNull(page.getName())) { - query.like(AttMeaWeir::getWeirName, page.getName()); - } - query.orderByDesc(AttMeaWeir::getCreateTime); - return R.ok(service.page(page.getPageSo().toPage(), query)); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttResBaseController.java b/src/main/java/com/gunshi/project/xyt/controller/AttResBaseController.java deleted file mode 100644 index bb1ebf0..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttResBaseController.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.service.AttResBaseService; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 水库基本信息表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水库基本信息表") -@RestController -@RequestMapping(value="/attResBase") -public class AttResBaseController extends AbstractCommonFileController { - - @Autowired - private AttResBaseService service; - - @Autowired - private FileAssociationsService fileService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AttResBase dto) { - if (Objects.nonNull(service.getById(dto.getResCode()))) { - throw new IllegalArgumentException("当前编号已存在"); - } - if (StringUtils.isNotBlank(dto.getResName())){ - if (service.lambdaQuery().eq(AttResBase::getResName,dto.getResName()).count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - } - boolean result = service.save(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttResBase dto) { - if (Objects.isNull(service.getById(dto.getResCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - - if (StringUtils.isNotBlank(dto.getResName())){ - if (service.lambdaQuery() - .eq(AttResBase::getResName,dto.getResName()) - .ne(AttResBase::getResCode,dto.getResCode()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - } - boolean result = service.updateById(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = service.removeById(id); - if (data){ - fileService.deleteFile(getGroupId(),id.toString()); - } - return R.ok(data); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - List list = service.lambdaQuery().list(); - if (CollectionUtils.isNotEmpty(list)){ - list.forEach(o -> o.setFiles(fileService.getFiles(getGroupId(),o.getResCode()))); - } - return R.ok(list); - } - - @Operation(summary = "设计图纸和资料文件上传") - @PostMapping("/updateFile") - public R updateFile(@Validated(Update.class) @RequestBody AttResBase dto) { - if (Objects.isNull(service.getById(dto.getResCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - List files = dto.getFiles(); - fileService.saveFileNotDel(files, getGroupId(), dto.getResCode(),"1"); - return R.ok(dto); - } - - @Operation(summary = "设计图纸和资料列表") - @GetMapping("/fileList/{resCode}") - public R> list(@PathVariable("resCode") String resCode) { - List files = fileService.getFiles(getGroupId(), resCode); - if (CollectionUtils.isEmpty(files)){ - return R.ok(files); - } - List datas = files.stream().filter(o -> "1".equals(o.getType())) - .collect(Collectors.toList()); - return R.ok(datas); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - @Override - public String getGroupId() { - return "attResBase"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttResBuildingController.java b/src/main/java/com/gunshi/project/xyt/controller/AttResBuildingController.java deleted file mode 100644 index 0f6374e..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttResBuildingController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.AttResBuilding; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.service.AttResBaseService; -import com.gunshi.project.xyt.service.AttResBuildingService; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 水库基本信息表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水库基本信息表") -@RestController -@RequestMapping(value="/attResBuilding") -public class AttResBuildingController extends AbstractCommonFileController { - - @Autowired - private AttResBuildingService attResBuildingService; - - @Autowired - private FileAssociationsService fileService; - - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttResBuilding dto) { -// if (Objects.isNull(attResBuildingService.getById(dto.getId()))) { -// throw new IllegalArgumentException("当前数据不存在"); -// } - boolean result = attResBuildingService.updateById(dto); -// if (result){ -// fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode()); -// } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @GetMapping("/info") - public R info() { - List list = attResBuildingService.list(); - - if (CollectionUtils.isEmpty(list)) { - throw new IllegalArgumentException("当前数据不存在"); - } - AttResBuilding byId = list.stream().findFirst().orElse(null); - //boolean result = attResBuildingService.updateById(dto); -// if (result){ -// fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode()); -// } - return R.ok(byId); - } - -// @Operation(summary = "设计图纸和资料文件上传") -// @PostMapping("/updateFile") -// public R updateFile(@Validated(Update.class) @RequestBody AttResBase dto) { -// if (Objects.isNull(service.getById(dto.getResCode()))) { -// throw new IllegalArgumentException("当前数据不存在"); -// } -// List files = dto.getFiles(); -// fileService.saveFileNotDel(files, getGroupId(), dto.getResCode(),"1"); -// return R.ok(dto); -// } - - @Operation(summary = "设计图纸和资料列表") - @GetMapping("/fileList/{resCode}") - public R> list(@PathVariable("resCode") String resCode) { - List files = fileService.getFiles(getGroupId(), resCode); - if (CollectionUtils.isEmpty(files)){ - return R.ok(files); - } - List datas = files.stream().filter(o -> "1".equals(o.getType())) - .collect(Collectors.toList()); - return R.ok(datas); - } - - @Override - public String getGroupId() { - return "attResBase"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttSpillwayBaseController.java b/src/main/java/com/gunshi/project/xyt/controller/AttSpillwayBaseController.java deleted file mode 100644 index 2a1d016..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttSpillwayBaseController.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.GeneralDataPage; -import com.gunshi.project.xyt.model.AttSpillwayBase; -import com.gunshi.project.xyt.service.AttSpillwayBaseService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 溢洪道 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "溢洪道") -@RestController -@RequestMapping(value="/attSpillwayBase") -public class AttSpillwayBaseController { - - @Autowired - private AttSpillwayBaseService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AttSpillwayBase dto) { - dto.setCode(String.valueOf(IdWorker.getId())); - - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttSpillwayBase dto) { - if (Objects.isNull(service.getById(dto.getCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated GeneralDataPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getCode())){ - query.like(AttSpillwayBase::getCode, page.getCode()); - } - if (ObjectUtils.isNotNull(page.getName())){ - query.like(AttSpillwayBase::getName, page.getName()); - } - return R.ok(service.page(page.getPageSo().toPage(),query)); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttWaterItemController.java b/src/main/java/com/gunshi/project/xyt/controller/AttWaterItemController.java deleted file mode 100644 index 9895b5c..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/AttWaterItemController.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.AttWaterItem; -import com.gunshi.project.xyt.service.AttWaterItemService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 水质整编展示项目表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水质整编展示项目表") -@RestController -@RequestMapping(value="/attWaterItem") -public class AttWaterItemController { - - @Autowired - private AttWaterItemService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody AttWaterItem dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody AttWaterItem dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - LambdaQueryWrapper wrapper = new QueryWrapper().lambda() - .eq(true, AttWaterItem::getIsEnable, "0") - .orderBy(true, true, AttWaterItem::getSort); - return R.ok(service.list(wrapper)); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/BroadcastStationController.java b/src/main/java/com/gunshi/project/xyt/controller/BroadcastStationController.java deleted file mode 100644 index 1900b33..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/BroadcastStationController.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.BroadcastStation; -import com.gunshi.project.xyt.service.BroadcastStationService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: - * author: xusan - * date: 2024-09-25 10:12:34 - */ -@Tag(name = "广播站") -@RestController -@RequestMapping(value="/broadcastStation") -public class BroadcastStationController { - - @Autowired - private BroadcastStationService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody BroadcastStation dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody BroadcastStation dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().orderByAsc(BroadcastStation::getOrderIndex).list()); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/BroadcastTemplateController.java b/src/main/java/com/gunshi/project/xyt/controller/BroadcastTemplateController.java deleted file mode 100644 index 7aa409e..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/BroadcastTemplateController.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.BroadcastTemplate; -import com.gunshi.project.xyt.service.BroadcastTemplateService; -import com.gunshi.project.xyt.validate.markers.Insert; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: - * author: xusan - * date: 2024-09-25 10:12:13 - */ -@Tag(name = "广播模板") -@RestController -@RequestMapping(value="/broadcastTemplate") -public class BroadcastTemplateController { - - @Autowired - private BroadcastTemplateService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody BroadcastTemplate dto) { - return R.ok(service.saveData(dto)); - } - - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().orderByAsc(BroadcastTemplate::getOrderIndex).list()); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/BroadcastWarnController.java b/src/main/java/com/gunshi/project/xyt/controller/BroadcastWarnController.java deleted file mode 100644 index a955be3..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/BroadcastWarnController.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.BroadcastWarnPageSo; -import com.gunshi.project.xyt.model.BroadcastWarn; -import com.gunshi.project.xyt.service.BroadcastWarnService; -import com.gunshi.project.xyt.validate.markers.Insert; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 描述: - * author: xusan - * date: 2024-09-25 10:12:51 - */ -@Tag(name = "广播预警") -@RestController -@RequestMapping(value="/broadcastWarn") -public class BroadcastWarnController { - - @Autowired - private BroadcastWarnService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody BroadcastWarn dto) { - return R.ok(service.saveData(dto)); - } - - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@Validated @RequestBody BroadcastWarnPageSo page) { - return R.ok(service.pageQuery(page)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/CctvBMenuController.java b/src/main/java/com/gunshi/project/xyt/controller/CctvBMenuController.java deleted file mode 100644 index de27f03..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/CctvBMenuController.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.CctvBMenu; -import com.gunshi.project.xyt.service.CctvBMenuService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 视频点目录 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "视频点目录") -@RestController -@RequestMapping(value="/cctvBMenu") -public class CctvBMenuController { - - @Autowired - private CctvBMenuService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody CctvBMenu dto) { - if (Objects.isNull(dto.getParentId())){ - dto.setParentId(0L); - } - if (StringUtils.isNotBlank(dto.getName()) && service.lambdaQuery().eq(CctvBMenu::getName,dto.getName()) - .count() > 0){ - throw new IllegalArgumentException("当前名称已存在"); - } - dto.setId(IdWorker.getId()); - if (Objects.isNull(dto.getOrderIndex())){ - CctvBMenu one = service.lambdaQuery() - .select(CctvBMenu::getOrderIndex) - .orderByDesc(CctvBMenu::getOrderIndex) - .one(); - if (Objects.nonNull(one)){ - dto.setOrderIndex(one.getOrderIndex() + 1); - } - } - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody CctvBMenu dto) { - if (StringUtils.isNotBlank(dto.getName()) && service.lambdaQuery().eq(CctvBMenu::getName,dto.getName()) - .ne(CctvBMenu::getId,dto.getId()) - .count() > 0){ - throw new IllegalArgumentException("当前名称已存在"); - } - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "树") - @GetMapping("/tree") - public R> tree() { - return R.ok(service.tree()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/DeptempController.java b/src/main/java/com/gunshi/project/xyt/controller/DeptempController.java deleted file mode 100644 index a8df7a1..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/DeptempController.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.github.pagehelper.PageInfo; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.AppVersionRecord; -import com.gunshi.project.xyt.service.AppVersionRecordService; -import com.gunshi.project.xyt.service.DeptempService; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.constant.HttpStatus; -import com.ruoyi.common.core.domain.entity.SysDept; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.utils.PageUtils; -import com.ruoyi.common.utils.file.FileUploadUtils; -import com.ruoyi.system.service.ISysDeptService; -import com.ruoyi.system.service.ISysUserService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * - */ -@Tag(name = "dept") -@RestController -@RequestMapping(value="/deptemp") -public class DeptempController { - - @Autowired - private DeptempService deptempService; - - @GetMapping("/deptlist") - public R> deptlist(SysDept dept) - { - List depts = deptempService.selectDeptList(dept); - return R.ok(depts); - } - - @GetMapping("/userlist") - public TableDataInfo userlist(SysUser user) - { - PageUtils.startPage(); - List list = deptempService.selectUserList(user); - return getDataTable(list); - } - - private TableDataInfo getDataTable(List list) - { - TableDataInfo rspData = new TableDataInfo(); - rspData.setCode(HttpStatus.SUCCESS); - rspData.setMsg("查询成功"); - rspData.setRows(list); - rspData.setTotal(new PageInfo(list).getTotal()); - return rspData; - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/DispatchRecordController.java b/src/main/java/com/gunshi/project/xyt/controller/DispatchRecordController.java deleted file mode 100644 index df43e22..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/DispatchRecordController.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.DispatchRecordPageSo; -import com.gunshi.project.xyt.model.DispatchRecord; -import com.gunshi.project.xyt.service.DispatchRecordService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * 描述: 调度记录 - * author: xusan - * date: 2024-10-09 09:56:28 - */ -@Tag(name = "调度记录") -@RestController -@RequestMapping(value="/dispatchRecord") -public class DispatchRecordController extends AbstractCommonFileController{ - - @Autowired - private DispatchRecordService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody DispatchRecord dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody DispatchRecord dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @PostMapping("/del") - public R del(@RequestBody @Validated List ids) { - return R.ok(service.delData(ids)); - } - - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated DispatchRecordPageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Operation(summary = "导出") - @PostMapping("/export") - public void export(@RequestBody @Validated DispatchRecordPageSo page, HttpServletResponse response) { - service.export(page,response); - } - - @Override - public String getGroupId() { - return "dispatchRecord"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/FileAssociationsController.java b/src/main/java/com/gunshi/project/xyt/controller/FileAssociationsController.java deleted file mode 100644 index 4013586..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/FileAssociationsController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 文件关联业务表 - * author: xusan - * date: 2024-07-17 10:09:40 - */ -@Tag(name = "文件关联业务表") -@RestController -@RequestMapping(value="/fileAssociations") -public class FileAssociationsController { - - @Autowired - private FileAssociationsService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody FileAssociations dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody FileAssociations dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/ForecastKController.java b/src/main/java/com/gunshi/project/xyt/controller/ForecastKController.java deleted file mode 100644 index 9fe834e..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ForecastKController.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.ForecastK; -import com.gunshi.project.xyt.service.ForecastKService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 预报_前期影响雨量折减系数表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Tag(name = "预报_前期影响雨量折减系数表") -@RestController -@RequestMapping(value="/forecastK") -public class ForecastKController { - - @Autowired - private ForecastKService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ForecastK dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ForecastK dto) { - ForecastK oldK = service.getById(dto.getMonth()); - if (Objects.isNull(oldK)) { - throw new IllegalArgumentException("当前数据不存在"); - } - dto.setChtm(oldK.getChtm()); - dto.setUpdateTime(new Date()); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated ForecastK forecastK) { - QueryWrapper wrapper = new QueryWrapper(); - if(StringUtils.isNotBlank(forecastK.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastK.getIsAsc()) ? false : forecastK.getIsAsc(), forecastK.getOrderField()); - } - return R.ok(service.list(wrapper)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated ForecastK forecastK) { - QueryWrapper wrapper = new QueryWrapper(); - if(StringUtils.isNotBlank(forecastK.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastK.getIsAsc()) ? false : forecastK.getIsAsc(), forecastK.getOrderField()); - } - return R.ok(service.page(forecastK.getPageSo().toPage(), wrapper)); - } - - @Operation(summary = "批量保存") - @PostMapping("/saveBatch") - public R saveBatch(@RequestBody List dtos) { - boolean result = false; - if (CollectionUtils.isNotEmpty(dtos)) { - boolean remove = service.remove(new QueryWrapper<>()); - if (remove) { - result = service.saveBatch(dtos); - } - } - return R.ok(result); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ForecastPPaRController.java b/src/main/java/com/gunshi/project/xyt/controller/ForecastPPaRController.java deleted file mode 100644 index 9570ac3..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ForecastPPaRController.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.ForecastPPaR; -import com.gunshi.project.xyt.service.ForecastPPaRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 预报_降雨径流关系表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Tag(name = "预报_降雨径流关系表") -@RestController -@RequestMapping(value="/forecastPPaR") -public class ForecastPPaRController { - - @Autowired - private ForecastPPaRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ForecastPPaR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ForecastPPaR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - List PPaRList = service.handleList(); - return R.ok(PPaRList); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated ForecastPPaR forecastPPaR) { - QueryWrapper wrapper = new QueryWrapper(); - if(StringUtils.isNotBlank(forecastPPaR.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastPPaR.getIsAsc()) ? false : forecastPPaR.getIsAsc(), forecastPPaR.getOrderField()); - } - return R.ok(service.page(forecastPPaR.getPageSo().toPage(), wrapper)); - } - - @Operation(summary = "批量保存") - @PostMapping("/saveBatch") - public R saveBatch(@RequestBody List PPaRList) { - if (PPaRList.size() == 0) { - throw new IllegalArgumentException("数据格式不正确"); - } - boolean result = service.handleSaveBatch(PPaRList); - return R.ok(result); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ForecastPaController.java b/src/main/java/com/gunshi/project/xyt/controller/ForecastPaController.java deleted file mode 100644 index 7745706..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ForecastPaController.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.ForecastPa; -import com.gunshi.project.xyt.service.ForecastPaService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 预报_土壤含水量表 - * author: cxw - * date: 2024-08-02 12:23:07 - */ -@Tag(name = "预报_土壤含水量表") -@RestController -@RequestMapping(value="/forecastPa") -public class ForecastPaController { - - @Autowired - private ForecastPaService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ForecastPa dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ForecastPa dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ForecastProjectController.java b/src/main/java/com/gunshi/project/xyt/controller/ForecastProjectController.java deleted file mode 100644 index fee7c64..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ForecastProjectController.java +++ /dev/null @@ -1,178 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.ForecastResultVo; -import com.gunshi.project.xyt.model.ForecastProject; -import com.gunshi.project.xyt.model.ForecastResults; -import com.gunshi.project.xyt.service.ForecastProjectService; -import com.gunshi.project.xyt.service.ForecastResultsService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 预报_预测方案管理表 - * author: cxw - * date: 2024-08-05 11:41:45 - */ -@Tag(name = "预报_预测方案管理表") -@RestController -@RequestMapping(value="/forecastProject") -public class ForecastProjectController { - - private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - @Autowired - private ForecastProjectService service; - - @Autowired - private ForecastResultsService forecastResultsService; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ForecastProject dto) { - dto.setId(IdWorker.getId()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ForecastProject dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - boolean b = service.removeById(id); - // 级联删除 - if(b){ - forecastResultsService.remove(new QueryWrapper().eq("project_id", id)); - } - return R.ok(b); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated ForecastProject forecastProject) { - QueryWrapper wrapper = new QueryWrapper() - .like(ObjectUtils.isNotNull(forecastProject.getName()), "name", forecastProject.getName()) - .like(ObjectUtils.isNotNull(forecastProject.getType()), "type", forecastProject.getType()) - .ge(ObjectUtils.isNotNull(forecastProject.getStartTm()), "forecast_tm", forecastProject.getStartTm()) - .le(ObjectUtils.isNotNull(forecastProject.getEndTm()), "forecast_tm", forecastProject.getEndTm()); - if(StringUtils.isNotBlank(forecastProject.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastProject.getIsAsc()) ? false : forecastProject.getIsAsc(), forecastProject.getOrderField()); - } - List list = service.list(wrapper); - if (list.size() > 0) { - for (ForecastProject fp : list) { - if (StringUtils.isNotEmpty(fp.getUserId()) && fp.getUserId().contains("_")) { - fp.setUserId(fp.getUserId().substring(fp.getUserId().indexOf("_") + 1)); - } - } - } - return R.ok(list); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated ForecastProject forecastProject) { - QueryWrapper wrapper = new QueryWrapper() - .like(ObjectUtils.isNotNull(forecastProject.getName()), "name", forecastProject.getName()) - .like(ObjectUtils.isNotNull(forecastProject.getType()), "type", forecastProject.getType()) - .ge(ObjectUtils.isNotNull(forecastProject.getStartTm()), "forecast_tm", forecastProject.getStartTm()) - .le(ObjectUtils.isNotNull(forecastProject.getEndTm()), "forecast_tm", forecastProject.getEndTm()); - if(StringUtils.isNotBlank(forecastProject.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastProject.getIsAsc()) ? false : forecastProject.getIsAsc(), forecastProject.getOrderField()); - } - Page page = service.page(forecastProject.getPageSo().toPage(), wrapper); - if (page.getRecords().size() > 0) { - for (ForecastProject fp : page.getRecords()) { - if (StringUtils.isNotEmpty(fp.getUserId()) && fp.getUserId().contains("_")) { - fp.setUserId(fp.getUserId().substring(fp.getUserId().indexOf("_") + 1)); - } - } - } - return R.ok(page); - } - - - @Operation(summary = "保存人工交互洪水预报结果") - @PostMapping("/saveHumanForecastResults") - public R saveHumanForecastResults(@RequestBody @Validated ForecastProject forecastProject) throws ParseException { - if (CollectionUtils.isEmpty(forecastProject.getVoList())) { - throw new IllegalArgumentException("数据格式不正确"); - } - forecastProject.setId(IdWorker.getId()); - boolean result = service.save(forecastProject); - if (result) { - service.saveForecastResults(forecastProject); - } - return R.ok(result ? forecastProject : null); - } - - - @Operation(summary = "根据方案id查看方案洪水预报结果") - @GetMapping("/getForecastProjectResults") - public R getForecastProjectResults(@Schema(name = "projectId", description = "预测方案id") @RequestParam("projectId") String projectId) { - ForecastProject forecastProject = service.getById(projectId); - if (Objects.isNull(forecastProject)) { - throw new IllegalArgumentException("当前数据不存在"); - } - List resultList = forecastResultsService.list(new QueryWrapper().eq("project_id", projectId).orderBy(true, true, "tm")); - if (CollectionUtils.isNotEmpty(resultList)) { - List vos = resultList.stream() - .map(result -> { - ForecastResultVo vo = new ForecastResultVo(); - vo.setTm(sdf.format(result.getTm())); - vo.setYcRkQValue(result.getYcRkQValue()); - vo.setRealRkQValue(result.getRealRkQValue()); - vo.setYcCkQValue(result.getYcCkQValue()); - vo.setRealCkQValue(result.getRealCkQValue()); - vo.setYcSwHValue(result.getYcSwHValue()); - vo.setRealSwHValue(result.getRealSwHValue()); - BigDecimal ycSwHValue = result.getYcSwHValue() == null ? BigDecimal.ZERO : result.getYcSwHValue(); - BigDecimal realSwHValue = result.getRealSwHValue() == null ? BigDecimal.ZERO : result.getRealSwHValue(); - vo.setSwHDValue(ycSwHValue.subtract(realSwHValue));// 处理预测与实测水位差 - vo.setDrp(result.getDrp()); - vo.setIspreDrp(result.getIspreDrp()); - vo.setR(result.getR()); - vo.setFlLowLimLev(result.getFlLowLimLev()); - vo.setCurrentYdgdyjz(result.getCurrentYdgdyjz()); - vo.setPa(result.getPa()); - return vo; - }).collect(Collectors.toList()); - forecastProject.setVoList(vos); - forecastResultsService.handleVoList(forecastProject); - } - return R.ok(forecastProject); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ForecastResultsController.java b/src/main/java/com/gunshi/project/xyt/controller/ForecastResultsController.java deleted file mode 100644 index 7537208..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ForecastResultsController.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.ForecastResultVo; -import com.gunshi.project.xyt.model.ForecastProject; -import com.gunshi.project.xyt.model.ForecastResults; -import com.gunshi.project.xyt.model.ForecastTask; -import com.gunshi.project.xyt.service.ForecastResultsService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.util.List; - -/** - * 描述: 预报_预测结果表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Tag(name = "预报_预测结果表") -@RestController -@RequestMapping(value="/forecastResults") -public class ForecastResultsController { - - @Autowired - private ForecastResultsService service; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ForecastResults dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ForecastResults dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated ForecastResults forecastResults) { - QueryWrapper wrapper = new QueryWrapper(); - if(StringUtils.isNotBlank(forecastResults.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastResults.getIsAsc()) ? false : forecastResults.getIsAsc(), forecastResults.getOrderField()); - } - return R.ok(service.list(wrapper)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated ForecastResults forecastResults) { - QueryWrapper wrapper = new QueryWrapper<>(); - if(StringUtils.isNotBlank(forecastResults.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastResults.getIsAsc()) ? false : forecastResults.getIsAsc(), forecastResults.getOrderField()); - } - return R.ok(service.page(forecastResults.getPageSo().toPage(), wrapper)); - } - - @Operation(summary = "获取人工交互洪水预报结果") - @PostMapping("/getHumanForecastResult") - public R getHumanForecastResult(@RequestBody ForecastTask forecastTask) { - ForecastProject forecastProject = new ForecastProject(); - List voList = service.getHumanForecastResult(forecastTask); - forecastProject.setType("2"); - forecastProject.setForecastTm(forecastTask.getForecastTime()); - forecastProject.setProjectTm(forecastTask.getNowTime()); - forecastProject.setStartTm(forecastTask.getStartTime()); - forecastProject.setEndTm(forecastTask.getEndTime()); - forecastProject.setForecastPeriod(forecastTask.getForecastPeriod()); - forecastProject.setForecastWarm(forecastTask.getForecastWarm()); - forecastProject.setVoList(voList); - if (CollectionUtils.isNotEmpty(voList)) { - service.handleVoList(forecastProject); - } - return R.ok(forecastProject); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ForecastTaskController.java b/src/main/java/com/gunshi/project/xyt/controller/ForecastTaskController.java deleted file mode 100644 index a91caa0..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ForecastTaskController.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.ForecastTask; -import com.gunshi.project.xyt.schedule.TaskGroupHandler; -import com.gunshi.project.xyt.service.ForecastTaskService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 预报_预测自动任务管理表 - * author: cxw - * date: 2024-08-05 11:41:45 - */ -@Tag(name = "预报_预测自动任务管理表") -@RestController -@RequestMapping(value="/forecastTask") -public class ForecastTaskController { - - @Autowired - private ForecastTaskService service; - - @Autowired - private TaskGroupHandler taskGroupHandler; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ForecastTask dto) { - dto.setId(IdWorker.getId()); - boolean result = service.save(dto); - if (result) { - taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ForecastTask dto) { - ForecastTask oldTask = service.getById(dto.getId()); - if (Objects.isNull(oldTask)) { - throw new IllegalArgumentException("当前数据不存在"); - } - dto.setChtm(oldTask.getChtm()); - dto.setUpdateTm(new Date()); - boolean result = service.updateById(dto); - if (result) { - // 先删除,再重新添加 - taskGroupHandler.removeCronJob(String.valueOf(dto.getId())); - taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - boolean b = service.removeById(id); - if (b) { - taskGroupHandler.removeCronJob((String) id); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated ForecastTask forecastTask) { - QueryWrapper wrapper = new QueryWrapper() - .in("status", "0", "1")// 只返回启用和暂停的 - .like(ObjectUtils.isNotNull(forecastTask.getName()), "name", forecastTask.getName()); - if(StringUtils.isNotBlank(forecastTask.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastTask.getIsAsc()) ? false : forecastTask.getIsAsc(), forecastTask.getOrderField()); - } - List list = service.list(wrapper); - if (list.size() > 0) { - for (ForecastTask task : list) { - if (StringUtils.isNotEmpty(task.getUserId()) && task.getUserId().contains("_")) { - task.setUserName(task.getUserId().substring(task.getUserId().indexOf("_") + 1)); - } - } - } - return R.ok(list); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated ForecastTask forecastTask) { - QueryWrapper wrapper = new QueryWrapper() - .in("status", "0", "1")// 只返回启用和暂停的 - .like(ObjectUtils.isNotNull(forecastTask.getName()), "name", forecastTask.getName()); - if(StringUtils.isNotBlank(forecastTask.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastTask.getIsAsc()) ? false : forecastTask.getIsAsc(), forecastTask.getOrderField()); - } - Page page = service.page(forecastTask.getPageSo().toPage(), wrapper); - if (page.getRecords().size() > 0) { - for (ForecastTask task : page.getRecords()) { - if (StringUtils.isNotEmpty(task.getUserId()) && task.getUserId().contains("_")) { - task.setUserName(task.getUserId().substring(task.getUserId().indexOf("_") + 1)); - } - } - } - return R.ok(page); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ForecastUController.java b/src/main/java/com/gunshi/project/xyt/controller/ForecastUController.java deleted file mode 100644 index b8c9de9..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ForecastUController.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.ForecastU; -import com.gunshi.project.xyt.service.ForecastUService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 预报_时段单位线表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Tag(name = "预报_时段单位线表") -@RestController -@RequestMapping(value="/forecastU") -public class ForecastUController { - - @Autowired - private ForecastUService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ForecastU dto) { - dto.setId(IdWorker.getId()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ForecastU dto) { - ForecastU oldU = service.getById(dto.getId()); - if (Objects.isNull(oldU)) { - throw new IllegalArgumentException("当前数据不存在"); - } - dto.setChtm(oldU.getChtm()); - dto.setUpdateTime(new Date()); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated ForecastU forecastU) { - QueryWrapper wrapper = new QueryWrapper(); - if(StringUtils.isNotBlank(forecastU.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastU.getIsAsc()) ? false : forecastU.getIsAsc(), forecastU.getOrderField()); - } - return R.ok(service.list(wrapper)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated ForecastU forecastU) { - QueryWrapper wrapper = new QueryWrapper(); - if(StringUtils.isNotBlank(forecastU.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastU.getIsAsc()) ? false : forecastU.getIsAsc(), forecastU.getOrderField()); - } - return R.ok(service.page(forecastU.getPageSo().toPage(), wrapper)); - } - - @Operation(summary = "批量保存") - @PostMapping("/saveBatch") - public R saveBatch(@RequestBody List dtos) { - boolean result = false; - if (CollectionUtils.isNotEmpty(dtos)) { - boolean remove = service.remove(new QueryWrapper<>()); - if (remove) { - for (ForecastU u : dtos) { - u.setId(IdWorker.getId()); - } - result = service.saveBatch(dtos); - } - } - return R.ok(result); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ForecastUseparamController.java b/src/main/java/com/gunshi/project/xyt/controller/ForecastUseparamController.java deleted file mode 100644 index e0ebdc5..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ForecastUseparamController.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.ForecastU; -import com.gunshi.project.xyt.model.ForecastUseparam; -import com.gunshi.project.xyt.service.ForecastUService; -import com.gunshi.project.xyt.service.ForecastUseparamService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 预报_通用参数管理 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Tag(name = "预报_通用参数管理") -@RestController -@RequestMapping(value="/forecastUseparam") -public class ForecastUseparamController { - - @Autowired - private ForecastUseparamService service; - - @Autowired - private ForecastUService forecastUService; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ForecastUseparam dto) { - dto.setId(IdWorker.getId()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ForecastUseparam dto) { - ForecastUseparam oldData = service.getById(dto.getId()); - if (Objects.isNull(oldData)) { - throw new IllegalArgumentException("当前数据不存在"); - } - dto.setChtm(oldData.getChtm()); - dto.setUpdateTime(new Date()); - boolean result = service.updateById(dto); - // 修改计算单位线的参数时,需要重新计算一次 - if (result && (dto.getParamCode().equals("cymj") || dto.getParamCode().equals("hdc") || dto.getParamCode().equals("hdpj") || dto.getParamCode().equals("dt") || dto.getParamCode().equals("h")) && !dto.getParamValue().equals(oldData.getParamValue())) { - // 承雨面积areaF:"cymj", 河道长lengthL:"hdc", 河道坡降j:"hdpj", 时段∆t:"dt", h毫米净雨:"h" - QueryWrapper qw = new QueryWrapper().in("param_code", "cymj", "hdc", "hdpj", "dt", "h"); - List> uMaps = service.listMaps(qw); - Map uMap = uMaps.stream().collect(Collectors.toMap(map -> (String) map.get("param_code"), map -> (String) map.get("param_value"))); - if (uMap.containsKey("cymj") && StringUtils.isNotEmpty(uMap.get("cymj")) - && uMap.containsKey("hdc") && StringUtils.isNotEmpty(uMap.get("hdc")) - && uMap.containsKey("hdpj") && StringUtils.isNotEmpty(uMap.get("hdpj")) - && uMap.containsKey("dt") && StringUtils.isNotEmpty(uMap.get("dt"))) { - List uParam = service.calcU(new BigDecimal(uMap.get("cymj")), - new BigDecimal(uMap.get("hdc")), - new BigDecimal(uMap.get("hdpj")), - Double.valueOf(uMap.get("dt")), - StringUtils.isNotEmpty(uMap.get("h")) ? new BigDecimal(uMap.get("h")) : BigDecimal.ONE, StringUtils.isNotEmpty(uMap.get("swfq")) ? uMap.get("swfq") : "I"); - if (CollectionUtils.isNotEmpty(uParam)) { - forecastUService.remove(new UpdateWrapper<>()); - List uList = new ArrayList<>(); - Date date = new Date(); - for (BigDecimal u : uParam) { - ForecastU forecastU = new ForecastU(); - forecastU.setId(IdWorker.getId()); - forecastU.setUValue(u); - forecastU.setChtm(date); - forecastU.setUpdateTime(date); - uList.add(forecastU); - } - forecastUService.saveBatch(uList); - } - } - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated ForecastUseparam forecastUseparam) { - QueryWrapper wrapper = new QueryWrapper(); - if(StringUtils.isNotBlank(forecastUseparam.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastUseparam.getIsAsc()) ? false : forecastUseparam.getIsAsc(), forecastUseparam.getOrderField()); - } - return R.ok(service.list(wrapper)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated ForecastUseparam forecastUseparam) { - QueryWrapper wrapper = new QueryWrapper(); - if(StringUtils.isNotBlank(forecastUseparam.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(forecastUseparam.getIsAsc()) ? false : forecastUseparam.getIsAsc(), forecastUseparam.getOrderField()); - } - return R.ok(service.page(forecastUseparam.getPageSo().toPage(), wrapper)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/GatePoreController.java b/src/main/java/com/gunshi/project/xyt/controller/GatePoreController.java deleted file mode 100644 index 94cad1b..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/GatePoreController.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.GatePore; -import com.gunshi.project.xyt.service.GatePoreService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 闸孔信息表 - * author: xusan - * date: 2024-09-26 10:44:57 - */ -@Tag(name = "闸孔信息表") -@RestController -@RequestMapping(value="/gatePore") -public class GatePoreController { - - @Autowired - private GatePoreService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody GatePore dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody GatePore dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "通过stcd获取闸孔开度") - @GetMapping("/listByStcd") - public R> list(@Schema(name = "stcd",description = "测站编码") @RequestParam("stcd") String stcd) { - return R.ok(service.lambdaQuery().eq(GatePore::getStcd,stcd).orderByAsc(GatePore::getGateNumber).list()); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/GateValveCctvRelController.java b/src/main/java/com/gunshi/project/xyt/controller/GateValveCctvRelController.java deleted file mode 100644 index a2a9981..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/GateValveCctvRelController.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.GateValveCctvRelPage; -import com.gunshi.project.xyt.entity.vo.GateValveCctvRelVo; -import com.gunshi.project.xyt.model.GateValveCctvRel; -import com.gunshi.project.xyt.service.GateValveCctvRelService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 闸阀关联视频点 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "闸阀关联视频点") -@RestController -@RequestMapping(value="/gateValveCctvRel") -public class GateValveCctvRelController { - - @Autowired - private GateValveCctvRelService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class)@RequestBody GateValveCctvRel dto) { - if (service.lambdaQuery() - .eq(GateValveCctvRel::getValveCode,dto.getValveCode()) - .eq(GateValveCctvRel::getIndexCode,dto.getIndexCode()) - .count() > 0) { - throw new IllegalArgumentException("当前编号已关联"); - } - dto.setId(IdWorker.getId()); - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody GateValveCctvRel dto) { - if (Objects.isNull(service.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - if (service.lambdaQuery() - .eq(GateValveCctvRel::getValveCode,dto.getValveCode()) - .eq(GateValveCctvRel::getIndexCode,dto.getIndexCode()) - .ne(GateValveCctvRel::getId,dto.getId()) - .count() > 0) { - throw new IllegalArgumentException("当前编号已关联"); - } - dto.setCreateTime(null); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestParam(value = "valveCode",required = false) @Parameter(description = "闸阀编码") String valveCode) { - return R.ok(service.queryList(valveCode)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody GateValveCctvRelPage page) { - return R.ok(service.pages(page)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/GateValveRController.java b/src/main/java/com/gunshi/project/xyt/controller/GateValveRController.java deleted file mode 100644 index 1a79540..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/GateValveRController.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.GateHisPageSo; -import com.gunshi.project.xyt.entity.vo.GateStautsVo; -import com.gunshi.project.xyt.model.GateValveR; -import com.gunshi.project.xyt.service.GateValveRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 闸阀开关历史表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "闸阀开关历史表") -@RestController -@RequestMapping(value="/gateValveR") -public class GateValveRController { - - @Autowired - private GateValveRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody GateValveR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody GateValveR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody GateHisPageSo so) { - return R.ok(service.pageQuery(so)); - } - - @Operation(summary = "导出") - @PostMapping("/export") - public void export(@RequestBody GateHisPageSo so, HttpServletResponse response) { - service.export(so,response); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/GateValveRealController.java b/src/main/java/com/gunshi/project/xyt/controller/GateValveRealController.java deleted file mode 100644 index 6b039d4..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/GateValveRealController.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import cn.hutool.core.collection.CollectionUtil; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.write.metadata.style.WriteCellStyle; -import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; -import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.GateHisPageSo; -import com.gunshi.project.xyt.entity.vo.GateStautsVo; -import com.gunshi.project.xyt.entity.vo.GateValveOplogVo; -import com.gunshi.project.xyt.model.GateValveKey; -import com.gunshi.project.xyt.model.GateValveOplog; -import com.gunshi.project.xyt.model.GateValveReal; -import com.gunshi.project.xyt.service.GateValveRealService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import com.ruoyi.web.controller.common.CommonController; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.apache.poi.ss.usermodel.FillPatternType; -import org.apache.poi.ss.usermodel.IndexedColors; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.net.URLEncoder; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 描述: 闸阀开关表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "闸阀开关表") -@RestController -@RequestMapping(value="/gateValveReal") -public class GateValveRealController { - - private static final Logger log = LoggerFactory.getLogger(GateValveRealController.class); - - - @Autowired - private GateValveRealService service; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody GateValveReal dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody GateValveReal dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.gateStatusList()); - } - - @Operation(summary = "通过闸阀查询实时流量") - @GetMapping("/realQ") - public R realQ(@RequestParam("valveCode") @Parameter(description = "闸阀编码") String valveCode) { - return R.ok(service.realQ(valveCode)); - } - - @Operation(summary = "调节闸阀") - @PostMapping("/control") - public R control(@RequestBody GateValveKey gateValveKey) { - return R.ok(service.control(gateValveKey)); - } - - @Operation(summary = "闸阀操作日志-分页") - @PostMapping("/log/page") - public R> logPage(@RequestBody GateHisPageSo so) { - return R.ok(service.logPage(so)); - } - - @Operation(summary = "闸阀操作日志-导出") - @PostMapping("/log/exp") - public void logexp(@RequestBody GateHisPageSo so, HttpServletResponse response) { - so.getPageSo().setPageSize(1000000); - Page gateValveOplogVoPage = service.logPage(so); - - try { -// 设置响应 - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setCharacterEncoding("utf-8"); - String fileName = URLEncoder.encode("闸阀操作日志_" + System.currentTimeMillis(), "UTF-8") - .replaceAll("\\+", "%20"); - response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); - - // 自定义表头样式 - WriteCellStyle headStyle = new WriteCellStyle(); - headStyle.setFillForegroundColor(IndexedColors.SKY_BLUE.getIndex()); - headStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND); - - // 自定义内容样式 - WriteCellStyle contentStyle = new WriteCellStyle(); - contentStyle.setWrapped(true); // 自动换行 - List> headlist= Arrays.asList( - Arrays.asList("闸阀名称"), - Arrays.asList("操作人"), - Arrays.asList("操作时间"), - Arrays.asList("操作内容"), - Arrays.asList("设定开度"), - Arrays.asList("操作前开度") - ); - // 构建导出器 - EasyExcel.write(response.getOutputStream()) - .head(headlist) // 自定义表头 - .registerWriteHandler(new HorizontalCellStyleStrategy(headStyle, contentStyle)) - .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 自动列宽 - .sheet("闸阀操作日志") - .doWrite(gateValveOplogVoPage.getRecords()); - }catch (Exception e){ - log.error("导出异常", e); - } - } - - @Operation(summary = "闸阀操作日志-分页") - @PostMapping("/log/loglist") - public R> loglist(@RequestBody GateHisPageSo so) { - List gateStautsVos = service.gateStatusList(); - if(CollectionUtil.isEmpty(gateStautsVos)){ - return R.ok(null); - } - List collect = gateStautsVos.stream().map(e -> { - GateValveOplogVo vo = new GateValveOplogVo(); - GateValveOplog loginfo = service.loginfo(e.getValveCode()); - if(Objects.nonNull(loginfo)){ - BeanUtils.copyProperties(loginfo, vo); - } - vo.setValveCode(e.getValveCode()); - vo.setValveName(e.getValveName()); - return vo; - }).collect(Collectors.toList()); - return R.ok(collect); - } - - - - - @Operation(summary = "闸阀操作日志-导出") - @PostMapping("/log/export") - public void logExport(@RequestBody GateHisPageSo so, HttpServletResponse response) { - service.logExport(so,response); - } - - @Operation(summary = "预计可供水时间") - @GetMapping("/supply/time") - public R> supplyTime(@RequestParam(value = "year",required = false) @Parameter(description = "年份") Integer year,@RequestParam(value = "month",required = false) @Parameter(description = "月份") Integer month) { - return R.ok(service.supplyTime(year,month)); - } - - @Operation(summary = "预测来水量") - @GetMapping("/predict/water") - public R predictWater(@RequestParam(value = "year") @Parameter(description = "年份") Integer year, @RequestParam(value = "month") @Parameter(description = "月份") Integer month) { - return R.ok(service.predictWater(year,month)); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/ICommonDeleteByIdWithAttach.java b/src/main/java/com/gunshi/project/xyt/controller/ICommonDeleteByIdWithAttach.java deleted file mode 100644 index 1002749..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ICommonDeleteByIdWithAttach.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.db.dao.BaseDao; -import com.gunshi.db.dao.IMapper; -import com.gunshi.project.xyt.service.AbstractModelWithAttachService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; - -import java.io.Serializable; - -/** - * 通用按id删除 - * - * @author lyf - * @version 1.0.0 - * @since 2024-01-31 - */ -public interface ICommonDeleteByIdWithAttach, AutoDao extends BaseDao, - AttachModel, AttachModelAutoMapper extends IMapper, AttachModelAutoDao extends BaseDao> { - - AbstractModelWithAttachService getModelService(); - - Serializable getId(Serializable id); - - @Operation(summary = "按id删除") - @GetMapping("/deleteById/{id}") - default R commonDeleteById(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(getModelService().removeById(getId(id))); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ICommonFileController.java b/src/main/java/com/gunshi/project/xyt/controller/ICommonFileController.java deleted file mode 100644 index e67b4cb..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ICommonFileController.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.file.controller.IFileController; -import com.gunshi.file.model.FileDescriptor; -import io.swagger.v3.oas.annotations.Parameter; -import jakarta.servlet.http.HttpServletRequest; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-03-12 - */ -public interface ICommonFileController extends IFileController { - - String getGroupId(); - - String getBusinessType(); - - R uploadSingle( - @Parameter(description = "文件") @RequestPart("file") MultipartFile file, - @Parameter(description = "上传者用户id", hidden = true) @RequestParam(value = "userId", required = false) Long userId, - @Parameter(hidden = true) HttpServletRequest request) throws Exception; -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ICommonInsertWithAttach.java b/src/main/java/com/gunshi/project/xyt/controller/ICommonInsertWithAttach.java deleted file mode 100644 index 2aae795..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ICommonInsertWithAttach.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.db.dao.BaseDao; -import com.gunshi.db.dao.IMapper; -import com.gunshi.project.xyt.service.AbstractModelWithAttachService; -import com.gunshi.project.xyt.validate.markers.Insert; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-03-19 - */ -public interface ICommonInsertWithAttach, AutoDao extends BaseDao, - AttachModel, AttachModelAutoMapper extends IMapper, AttachModelAutoDao extends BaseDao> { - AbstractModelWithAttachService getModelService(); - - void customSetFieldForInsert(Model model); - - @Operation(summary = "实体类新增") - @PostMapping("/insert") - default R commonInsert(@Validated(Insert.class) @RequestBody Model model) { - customSetFieldForInsert(model); - boolean result = getModelService().save(model); - return R.ok(result ? model : null); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ICommonQueryAttach.java b/src/main/java/com/gunshi/project/xyt/controller/ICommonQueryAttach.java deleted file mode 100644 index 326a90b..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ICommonQueryAttach.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.gunshi.core.result.R; -import com.gunshi.db.dao.BaseDao; -import com.gunshi.db.dao.IMapper; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; - -import java.io.Serializable; -import java.util.List; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-03-19 - */ -public interface ICommonQueryAttach, AutoDao extends BaseDao> { - AutoDao getAttachAutoDao(); - - String getAttachBzIdName(); - - IdType getId(Serializable id); - - @Operation(summary = "按id查询") - @GetMapping("/attach/getById/{id}") - default R commonGetAttachById(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(getAttachAutoDao().getById(id)); - } - - @Operation(summary = "按bzId查询") - @GetMapping("/attach/getByBzId/{bzId}") - default R> commonGetAttachByBzId(@Schema(name = "bzId") @PathVariable("bzId") Serializable bzId) { - return R.ok(getAttachAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), getId(bzId)))); - } - - @Operation(summary = "列表查询") - @GetMapping("/attach/find") - default R> commonFind(@Schema(name = "bzId") @PathVariable("bzId") Serializable bzId) { - return R.ok(getAttachAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), getId(bzId)))); - } -} - diff --git a/src/main/java/com/gunshi/project/xyt/controller/ICommonUpdateByIdWithAttach.java b/src/main/java/com/gunshi/project/xyt/controller/ICommonUpdateByIdWithAttach.java deleted file mode 100644 index 0240975..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ICommonUpdateByIdWithAttach.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.db.dao.BaseDao; -import com.gunshi.db.dao.IMapper; -import com.gunshi.project.xyt.service.AbstractModelWithAttachService; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; - -/** - * 通用实体类新增 - * - * @author lyf - * @version 1.0.0 - * @since 2024-02-19 - */ -public interface ICommonUpdateByIdWithAttach, AutoDao extends BaseDao, - AttachModel, AttachModelAutoMapper extends IMapper, AttachModelAutoDao extends BaseDao> { - - AbstractModelWithAttachService getModelService(); - - void customSetFieldForUpdate(Model model); - - @Operation(summary = "实体类修改") - @PostMapping("/update") - default R commonUpdateById(@Validated(Update.class) @RequestBody Model model) { - customSetFieldForUpdate(model); - boolean result = getModelService().updateById(model); - return R.ok(result ? model : null); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/IaCBsnssinfoController.java b/src/main/java/com/gunshi/project/xyt/controller/IaCBsnssinfoController.java deleted file mode 100644 index 35ebab0..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/IaCBsnssinfoController.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.google.common.collect.Lists; -import com.gunshi.core.result.R; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.entity.vo.HomeIaCBsnssinfoVo; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.model.IaCBsnssinfo; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.IaCBsnssinfoService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 防治区企事业单位汇总表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "防治区企事业单位汇总表") -@RestController -@RequestMapping(value="/iaCBsnssinfo") -public class IaCBsnssinfoController extends AbstractCommonFileController{ - - @Autowired - private IaCBsnssinfoService service; - - @Autowired - private FileAssociationsService fileService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody IaCBsnssinfo dto) { - if (Objects.nonNull(service.getById(dto.getEicd()))) { - throw new IllegalArgumentException("当前编号已存在"); - } - if (StringUtils.isNotBlank(dto.getName())){ - if (service.lambdaQuery().eq(IaCBsnssinfo::getName,dto.getName()).count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - } - - boolean result = service.save(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getEicd()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody IaCBsnssinfo dto) { - if (Objects.isNull(service.getById(dto.getEicd()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = service.updateById(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getEicd()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = service.removeById(id); - - if (data){ - fileService.deleteFile(getGroupId(),id.toString()); - } - - return R.ok(data); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - @Operation(summary = "详情和行政区划数据查询") - @PostMapping("/getDetailsAndAddvcdDataList") - public R> getDetailsAndMonitoringDataList() { - List list = service.getDetailsAndMonitoringDataLis(); - if (CollectionUtils.isNotEmpty(list)){ - list.forEach(o -> o.setFiles(fileService.getFiles(getGroupId(),o.getEicd()))); - } - return R.ok(list); - } - - @Operation(summary = "上传相关图片文件") - @PostMapping(path = "/setImgFile", consumes = "multipart/form-data") - public R setImgFile(@Parameter(description = "文件") @RequestPart("files") MultipartFile[] files) throws Exception { - - for (MultipartFile file : files) { - - String fileName = file.getOriginalFilename(); - String eicd = fileName.split("\\.")[0]; - - FileDescriptor fd = new FileDescriptor(); - fd.setBusinessType(getBusinessType()); - fd.setGroupId(getGroupId()); - fd.setUserId(1L); - fd.setAccessGroup(getService().getAccessGroup()); - fd.setFilePath(generateFilePath(getProperty().getAppCode(), getBusinessType(), 1L, getGroupId(), fileName)); - fd.setFileName(fileName); - fd.setFileLength(file.getSize()); - - getService().upload(fd, file.getInputStream()); - - FileAssociations fileAssociations = new FileAssociations(); - fileAssociations.setFileId(fd.getFileId()); - - fileService.saveFile(Lists.newArrayList(fileAssociations), getGroupId(), eicd); - } - - - return R.ok(); - } - - - - @Override - public String getGroupId() { - return "iaCBsnssinfo"; - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/IaCDanadController.java b/src/main/java/com/gunshi/project/xyt/controller/IaCDanadController.java deleted file mode 100644 index a2a8ae0..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/IaCDanadController.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.HomeIaCDanadVo; -import com.gunshi.project.xyt.model.IaCDanad; -import com.gunshi.project.xyt.service.IaCDanadService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 危险区基本情况调查成果汇总表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "危险区基本情况调查成果汇总表") -@RestController -@RequestMapping(value="/iaCDanad") -public class IaCDanadController { - - @Autowired - private IaCDanadService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody IaCDanad dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody IaCDanad dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "详情") - @GetMapping("/detail/{id}") - public R detail(@Schema(name = "id") @PathVariable("id") String id) { - return R.ok(service.detail(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - - @Operation(summary = "详情和行政区划数据查询") - @PostMapping("/getDetailsAndAddvcdDataList") - public R> getDetailsAndMonitoringDataList() { - return R.ok(service.getDetailsAndMonitoringDataLis()); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/IaCFlrvvlgController.java b/src/main/java/com/gunshi/project/xyt/controller/IaCFlrvvlgController.java deleted file mode 100644 index abc8ffd..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/IaCFlrvvlgController.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.google.common.collect.Lists; -import com.gunshi.core.result.R; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.entity.vo.HomeIaCFlrvvlgVo; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.model.IaCFlrvvlg; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.IaCFlrvvlgService; -import com.gunshi.project.xyt.service.StAddvcdDService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 重要沿河村落居民户调查成果表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "重要沿河村落居民户调查成果表") -@RestController -@RequestMapping(value="/iaCFlrvvlg") -public class IaCFlrvvlgController extends AbstractCommonFileController{ - - @Autowired - private IaCFlrvvlgService service; - - @Autowired - private StAddvcdDService stAddvcdDService; - - @Autowired - private FileAssociationsService fileService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody IaCFlrvvlg dto) { - if (Objects.isNull(stAddvcdDService.getById(dto.getAdcd()))) { - throw new RuntimeException("请输入正确的行政区划代码"); - } - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody IaCFlrvvlg dto) { - - if (Objects.isNull( service.getById(dto.getAvrcd()))){ - throw new RuntimeException("请输入正确的沿河村落居民户编码"); - } - if (Objects.isNull(stAddvcdDService.getById(dto.getAdcd()))) { - throw new RuntimeException("请输入正确的行政区划代码"); - } - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(stAddvcdDService.getById(id))) { - throw new RuntimeException("请输入正确的行政区划代码"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - - @Operation(summary = "详情和行政区划数据查询") - @PostMapping("/getDetailsAndAddvcdDataList") - public R> getDetailsAndMonitoringDataList() { - return R.ok(service.getDetailsAndMonitoringDataLis()); - } - - - - @Operation(summary = "上传相关图片文件") - @PostMapping(path = "/setImgFile", consumes = "multipart/form-data") - public R setImgFile(@Parameter(description = "文件") @RequestPart("files") MultipartFile[] files) throws Exception { - - for (MultipartFile file : files) { - - String fileName = file.getOriginalFilename(); - String eicd = fileName.split("\\.")[0]; - - FileDescriptor fd = new FileDescriptor(); - fd.setBusinessType(getBusinessType()); - fd.setGroupId(getGroupId()); - fd.setUserId(1L); - fd.setAccessGroup(getService().getAccessGroup()); - fd.setFilePath(generateFilePath(getProperty().getAppCode(), getBusinessType(), 1L, getGroupId(), fileName)); - fd.setFileName(fileName); - fd.setFileLength(file.getSize()); - - getService().upload(fd, file.getInputStream()); - - FileAssociations fileAssociations = new FileAssociations(); - fileAssociations.setFileId(fd.getFileId()); - - fileService.saveFile(Lists.newArrayList(fileAssociations), getGroupId(), eicd); - } - - - return R.ok(); - } - - @Override - public String getGroupId() { - return "iaCFlrvvlg"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/InspectItemController.java b/src/main/java/com/gunshi/project/xyt/controller/InspectItemController.java deleted file mode 100644 index d924988..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectItemController.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.dto.InspectItemDto; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.model.InspectItem; -import com.gunshi.project.xyt.service.InspectItemService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -/** - * 描述: 巡检项 - * author: xusan - * date: 2024-08-29 09:58:10 - */ -@Tag(name = "巡检项") -@RestController -@RequestMapping(value="/inspectItem") -public class InspectItemController { - - @Autowired - private InspectItemService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody InspectItem dto) { - dto.setId(IdWorker.getId()); - dto.setStatus(0); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody InspectItem dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "启停") - @PostMapping("/startStop") - public R startStop(@RequestBody InspectItemDto dto) { - return R.ok(service.startStop(dto)); - } - - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated AttCctvBasePage page) { - return R.ok(service.pageQuery(page)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/InspectPointController.java b/src/main/java/com/gunshi/project/xyt/controller/InspectPointController.java deleted file mode 100644 index 51a31cc..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectPointController.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.InspectPoint; -import com.gunshi.project.xyt.service.InspectPointService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 巡检点 - * author: xusan - * date: 2024-08-29 09:57:47 - */ -@Tag(name = "巡检点") -@RestController -@RequestMapping(value="/inspect/point") -public class InspectPointController { - - @Autowired - private InspectPointService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody InspectPoint dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody InspectPoint dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "列表") - @GetMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().orderByAsc(InspectPoint::getOrderIndex).list()); - } - - @Operation(summary = "列表(带巡检项)") - @GetMapping("/listWithItem") - public R> listWithItem() { - return R.ok(service.listWithItem()); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskController.java b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskController.java deleted file mode 100644 index f0169ba..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskController.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.InspectTaskPageSo; -import com.gunshi.project.xyt.entity.so.InspectTaskSo; -import com.gunshi.project.xyt.entity.vo.InspectTaskVo; -import com.gunshi.project.xyt.model.InspectTask; -import com.gunshi.project.xyt.service.InspectTaskService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 描述: 巡检任务 - * author: xusan - * date: 2024-08-29 14:21:15 - */ -@Tag(name = "巡检任务") -@RestController -@RequestMapping(value="/inspect/task") -public class InspectTaskController extends AbstractCommonFileController{ - - @Autowired - private InspectTaskService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody InspectTask dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody InspectTask dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated InspectTaskPageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Operation(summary = "开始巡检") - @GetMapping("/startInspect/{id}") - public R startInspect(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.startInspect(id)); - } - - @Operation(summary = "APP-保存/结束巡查") - @PostMapping("/finish") - public R finish(@RequestBody @Validated InspectTaskVo vo) { - return R.ok(service.finish(vo)); - } - - @Operation(summary = "APP-我的巡查任务") - @PostMapping("/list") - public R> list(@RequestBody @Validated InspectTaskSo so) { - return R.ok(service.listQuery(so)); - } - - @Operation(summary = "本月巡查记录") - @PostMapping("/month") - public R> month() { - return R.ok(service.month()); - } - - @Operation(summary = "本年巡查") - @PostMapping("/year") - public R year() { - return R.ok(service.year()); - } - - - @Override - public String getGroupId() { - return "inspectTask"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskDetailController.java b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskDetailController.java deleted file mode 100644 index 549b87b..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskDetailController.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.InspectProblemPageSo; -import com.gunshi.project.xyt.entity.vo.InspectProblemVo; -import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo; -import com.gunshi.project.xyt.model.InspectTaskDetail; -import com.gunshi.project.xyt.service.InspectTaskDetailService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -/** - * 描述: 巡查信息 - * author: xusan - * date: 2024-08-29 14:21:45 - */ -@Tag(name = "巡查信息") -@RestController -@RequestMapping(value="/inspect/detail") -public class InspectTaskDetailController{ - - @Autowired - private InspectTaskDetailService service; - - @Operation(summary = "编辑详情") - @GetMapping("/getByTaskId") - public R> getByTaskId(@Schema(name = "taskId",description = "任务id") @RequestParam(name = "taskId") Long taskId) { - return R.ok(service.getByTaskId(taskId)); - } - - @Operation(summary = "巡查任务详情-巡查信息") - @GetMapping("/info") - public R> inspectInfo(@Schema(name = "taskId",description = "任务id") @RequestParam(name = "taskId") Long taskId) { - return R.ok(service.inspectInfo(taskId)); - } - - @Operation(summary = "巡检问题处理分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated InspectProblemPageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Operation(summary = "APP-处理") - @PostMapping("/handle") - public R handle(@RequestBody @Validated InspectProblemVo vo) { - return R.ok(service.handle(vo)); - } - - - @Operation(summary = "待处理问题清单") - @PostMapping("/handle/list") - public R> handelList() { - return R.ok(service.handelList()); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskTrackController.java b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskTrackController.java deleted file mode 100644 index b65451e..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskTrackController.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.InspectTaskTrack; -import com.gunshi.project.xyt.service.InspectTaskTrackService; -import com.gunshi.project.xyt.validate.markers.Insert; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Date; -import java.util.List; -/** - * 描述: 巡查轨迹 - * author: xusan - * date: 2024-09-18 13:59:21 - */ -@Tag(name = "巡查轨迹") -@RestController -@RequestMapping(value="/inspectTaskTrack") -public class InspectTaskTrackController { - - @Autowired - private InspectTaskTrackService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody InspectTaskTrack dto) { - dto.setCreateTime(new Date()); - dto.setId(IdWorker.getId()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@Schema(name = "taskId",description = "任务id") @RequestParam(name = "taskId") Long taskId) { - return R.ok(service.lambdaQuery().eq(InspectTaskTrack::getTaskId,taskId).orderByAsc(InspectTaskTrack::getCreateTime).list()); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/MaintainServiceController.java b/src/main/java/com/gunshi/project/xyt/controller/MaintainServiceController.java deleted file mode 100644 index 91b49f7..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/MaintainServiceController.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.MaintainPageSo; -import com.gunshi.project.xyt.model.MaintainService; -import com.gunshi.project.xyt.service.MaintainServiceService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 维修养护 - * author: xusan - * date: 2024-08-27 15:15:14 - */ -@Tag(name = "维修养护") -@RestController -@RequestMapping(value="/maintain/service") -public class MaintainServiceController extends AbstractCommonFileController{ - - @Autowired - private MaintainServiceService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody MaintainService dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody MaintainService dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody MaintainPageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Override - public String getGroupId() { - return "maintainService"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/MessageCenterController.java b/src/main/java/com/gunshi/project/xyt/controller/MessageCenterController.java deleted file mode 100644 index 292a10c..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/MessageCenterController.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.entity.so.MessageCenterPageSo; -import com.gunshi.project.xyt.model.MessageCenter; -import com.gunshi.project.xyt.service.MessageCenterService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 描述: 消息中心 - * author: xusan - * date: 2024-09-19 10:39:29 - */ -@Tag(name = "消息中心") -@RestController -@RequestMapping(value="/messageCenter") -public class MessageCenterController { - - @Autowired - private MessageCenterService service; - - @Operation(summary = "分页查询") - @PostMapping("/list/page") - public R> listPage(@Validated @RequestBody MessageCenterPageSo page) { - return R.ok(service.listPage(page)); - } - - @Operation(summary = "已读") - @PostMapping("/update") - public R update(@Validated @RequestBody MessageCenter dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "全部标注已读") - @GetMapping("/all/read") - public R allRead() { - return R.ok(service.allRead()); - } - - @Operation(summary = "APP-消息中心") - @PostMapping("/list") - public R> listMes(@Validated @RequestBody DateTimeRangeSo dateTimeRangeSo) { - return R.ok(service.listMes(dateTimeRangeSo)); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticFlowDeviceController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticFlowDeviceController.java deleted file mode 100644 index 783db4f..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticFlowDeviceController.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.OsmoticDevicePage; -import com.gunshi.project.xyt.entity.vo.HomeOsmoticFlowDeviceVo; -import com.gunshi.project.xyt.model.OsmoticFlowDevice; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.OsmoticFlowDeviceService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 渗流设备表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "渗流设备表") -@RestController -@RequestMapping(value="/osmoticFlowDevice") -public class OsmoticFlowDeviceController extends AbstractCommonFileController{ - - @Autowired - private OsmoticFlowDeviceService service; - - - @Autowired - private FileAssociationsService fileService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticFlowDevice dto) { - if (Objects.nonNull(service.getById(dto.getStationCode()))) { - throw new IllegalArgumentException("当前编号已存在"); - } - - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getStationCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticFlowDevice dto) { - if (Objects.isNull(service.getById(dto.getStationCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - dto.setCreateTime(null); - boolean result = service.updateById(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getStationCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated OsmoticDevicePage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getStationCode())) { - query.like(OsmoticFlowDevice::getStationCode, page.getStationCode()); - } - if (ObjectUtils.isNotNull(page.getDeviceCode())) { - query.like(OsmoticFlowDevice::getDeviceName, page.getDeviceCode()); - } - query.orderByDesc(OsmoticFlowDevice::getCreateTime); - - Page data = service.page(page.getPageSo().toPage(), query); - data.getRecords().forEach(o -> o.setFiles( - fileService.getFiles(getGroupId(),o.getStationCode()) - )); - return R.ok(data); - } - - @Operation(summary = "详情和监测数据查询") - @PostMapping("/getDetailsAndMonitoringDataList") - public R> getDetailsAndMonitoringDataList() { - return R.ok(service.getDetailsAndMonitoringDataList()); - } - - @Override - public String getGroupId() { - return "OsmoticFlowDevice"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticFlowRController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticFlowRController.java deleted file mode 100644 index f8ebbba..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticFlowRController.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo; -import com.gunshi.project.xyt.model.OsmoticFlowR; -import com.gunshi.project.xyt.service.OsmoticFlowRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 渗流监测记录表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "渗流监测记录表") -@RestController -@RequestMapping(value="/osmoticFlowR") -public class OsmoticFlowRController { - - @Autowired - private OsmoticFlowRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticFlowR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticFlowR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody OsmoticQueryPageSo osmoticQueryPageSo) { - return R.ok(service.queryPage(osmoticQueryPageSo)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressDeviceController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressDeviceController.java deleted file mode 100644 index 727bf42..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressDeviceController.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.OsmoticDevicePage; -import com.gunshi.project.xyt.entity.vo.HomeOsmoticPressDeviceVo; -import com.gunshi.project.xyt.model.OsmoticPressDevice; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.OsmoticPressDeviceService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 渗压设备表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "渗压设备表") -@RestController -@RequestMapping(value="/osmoticPressDevice") -public class OsmoticPressDeviceController extends AbstractCommonFileController{ - - @Autowired - private OsmoticPressDeviceService service; - - @Autowired - private FileAssociationsService fileService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticPressDevice dto) { - if (Objects.nonNull(service.getById(dto.getStationCode()))) { - throw new IllegalArgumentException("当前编号已存在"); - } - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getStationCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticPressDevice dto) { - if (Objects.isNull(service.getById(dto.getStationCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - dto.setCreateTime(null); - boolean result = service.updateById(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getStationCode()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated OsmoticDevicePage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - if (ObjectUtils.isNotNull(page.getStationCode())) { - query.like(OsmoticPressDevice::getStationCode, page.getStationCode()); - } - if (ObjectUtils.isNotNull(page.getDeviceCode())) { - query.like(OsmoticPressDevice::getDeviceName, page.getDeviceCode()); - } - - query.orderByDesc(OsmoticPressDevice::getCreateTime); - - Page data = service.page(page.getPageSo().toPage(), query); - data.getRecords().forEach(o -> o.setFiles( - fileService.getFiles(getGroupId(),o.getStationCode()) - )); - return R.ok(data); - } - - - @Operation(summary = "详情和监测数据查询") - @PostMapping("/getDetailsAndMonitoringDataList") - public R> getDetailsAndMonitoringDataList() { - return R.ok(service.getDetailsAndMonitoringDataList()); - } - - @Override - public String getGroupId() { - return "OsmoticPressDevice"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressRController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressRController.java deleted file mode 100644 index 876192e..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressRController.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.OsmoticDetailQuerySo; -import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo; -import com.gunshi.project.xyt.entity.so.OsmoticQuerySo; -import com.gunshi.project.xyt.entity.vo.OsmoticChartVo; -import com.gunshi.project.xyt.entity.vo.OsmoticPressDetailVo; -import com.gunshi.project.xyt.entity.vo.OsmoticPressVo; -import com.gunshi.project.xyt.entity.vo.OsmoticStationVo; -import com.gunshi.project.xyt.model.OsmoticPressDevice; -import com.gunshi.project.xyt.model.OsmoticPressR; -import com.gunshi.project.xyt.service.OsmoticPressDeviceService; -import com.gunshi.project.xyt.service.OsmoticPressRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import com.ruoyi.common.utils.DateUtils; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 渗压监测记录表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "渗压监测记录表") -@RestController -@RequestMapping(value="/osmoticPressR") -public class OsmoticPressRController { - - @Autowired - private OsmoticPressRService service; - - @Autowired - private OsmoticPressDeviceService osmoticPressDeviceService; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticPressR dto) { -// // 通过时间戳去除毫秒 -// long currentTime = System.currentTimeMillis(); -// long seconds = currentTime / 1000; // 去掉毫秒部分 -// Date dateWithoutMillis = new Date(seconds * 1000); // 转回毫秒时间戳 -// dto.setTm(dateWithoutMillis); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticPressR dto) { - LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); - wrapper.eq(OsmoticPressR::getTm, dto.getTm()) - .eq(OsmoticPressR::getStationCode, dto.getStationCode()) - .set(OsmoticPressR::getPress, dto.getPress()) - .set(OsmoticPressR::getVib, dto.getVib()) - .set(OsmoticPressR::getTemp, dto.getTemp()) - .set(OsmoticPressR::getValue, dto.getValue()) - .set(OsmoticPressR::getChan, dto.getChan()); - boolean update = service.update(null, wrapper); - return R.ok(update ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}/{tm}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id,@Schema(name = "tm") @PathVariable("tm") Serializable tm) { - if(Objects.isNull(id) || Objects.isNull(tm)){ - return R.ok(false); - } - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("station_code", id).eq("tm", tm); - return R.ok(service.remove(wrapper)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody OsmoticQueryPageSo osmoticQueryPageSo) { - Page osmoticPressRPage = service.queryPage(osmoticQueryPageSo); - List records = osmoticPressRPage.getRecords(); - if(CollectionUtils.isEmpty(records)){ - return R.ok(osmoticPressRPage); - } - List collect = records.stream().peek(e -> { - LambdaQueryWrapper wq = new LambdaQueryWrapper(); - wq.eq(OsmoticPressDevice::getStationCode, e.getStationCode()); - List list = osmoticPressDeviceService.list(wq); - if (CollectionUtils.isNotEmpty(list)) { - OsmoticPressDevice osmoticPressDevice = list.stream().findFirst().orElse(null); - e.setProfileCode(osmoticPressDevice.getProfileCode()); - } - }).collect(Collectors.toList()); - osmoticPressRPage.setRecords(collect); - return R.ok(osmoticPressRPage); - } - - @Operation(summary = "大屏-大坝安全监测统计") - @GetMapping("/stat") - public R> stat() { - return R.ok(service.stat()); - } - - @Operation(summary = "布置图-渗压/渗流监测") - @GetMapping("/list/value") - public R> listValue(@Schema(name = "type",description = "类型(1渗压 2渗流)") @RequestParam("type") Integer type) { - return R.ok(service.listValue(type)); - } - - @Operation(summary = "布置图-按测站查询渗压/渗流监测数据") - @PostMapping("/detail/value") - public R> detailValue(@RequestBody @Validated OsmoticDetailQuerySo so) { - return R.ok(service.detailValue(so)); - } - - @Operation(summary = "测值查询(数据表)") - @PostMapping("/query/value") - public R> queryValue(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { - return R.ok(service.queryValue(osmoticQuerySo,null)); - } - - @Operation(summary = "测值查询(多图单表)") - @PostMapping("/query/chart") - public R> queryChart(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { - return R.ok(service.queryChart(osmoticQuerySo,null)); - } - - @Operation(summary = "浸润线查询") - @PostMapping("/infiltra/line") - public R> infiltraLine(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { - return R.ok(service.infiltraLine(osmoticQuerySo)); - } - - @Operation(summary = "浸润线导出") - @PostMapping( "/export") - public void export(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { - service.export(osmoticQuerySo,response); - } - - @Operation(summary = "年度渗压/渗流统计(表格)") - @PostMapping("/year/stat") - public R> yearStat(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { - return R.ok(service.yearStat(osmoticQuerySo)); - } - - @Operation(summary = "年度渗压/渗流统计(全年度特征值统计)") - @PostMapping("/year/stat/value") - public R> yearStatValue(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { - return R.ok(service.yearStatValue(osmoticQuerySo)); - } - - @Operation(summary = "年度渗压/渗流统计导出") - @PostMapping( "/year/stat/export") - public void yearStatExport(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { - service.yearStatExport(osmoticQuerySo,response); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftDeviceController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftDeviceController.java deleted file mode 100644 index e4c57ea..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftDeviceController.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.HomeOsmoticShiftDeviceVo; -import com.gunshi.project.xyt.model.OsmoticShiftDevice; -import com.gunshi.project.xyt.service.OsmoticShiftDeviceService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 位移监测记录表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "位移设备表") -@RestController -@RequestMapping(value="/osmoticShiftDevice") -public class OsmoticShiftDeviceController { - - @Autowired - private OsmoticShiftDeviceService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticShiftDevice dto) { - if (Objects.nonNull(service.getById(dto.getStationCode()))) { - throw new IllegalArgumentException("当前编号已存在"); - } - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticShiftDevice dto) { - if (Objects.isNull(service.getById(dto.getStationCode()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - dto.setCreateTime(null); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - - @Operation(summary = "详情和监测数据查询(暂无设备表,无法使用)") - @PostMapping("/getDetailsAndMonitoringDataList") - public R> getDetailsAndMonitoringDataList() { - return R.ok(service.getDetailsAndMonitoringDataList()); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftRController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftRController.java deleted file mode 100644 index 81fbfe7..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftRController.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.OsmoticDetailQuerySo; -import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo; -import com.gunshi.project.xyt.entity.so.OsmoticQuerySo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.model.OsmoticPressR; -import com.gunshi.project.xyt.model.OsmoticShiftR; -import com.gunshi.project.xyt.service.OsmoticShiftRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 位移监测记录表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "位移监测记录表") -@RestController -@RequestMapping(value="/osmoticShiftR") -public class OsmoticShiftRController { - - @Autowired - private OsmoticShiftRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticShiftR dto) { - // dto.setTm(new Date()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticShiftR dto) { - LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); - wrapper.eq(OsmoticShiftR::getStationCode, dto.getStationCode()) - .eq(OsmoticShiftR::getTm, dto.getTm()) - .set(OsmoticShiftR::getX, dto.getX()) - .set(OsmoticShiftR::getY, dto.getY()) - .set(OsmoticShiftR::getH, dto.getH()); - boolean update = service.update(null, wrapper); - return R.ok(update ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}/{tm}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id,@Schema(name = "tm") @PathVariable("tm") Serializable tm) { - - if(Objects.isNull(id) || Objects.isNull(tm)){ - return R.ok(false); - } - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("station_code", id).eq("tm", tm); - return R.ok(service.remove(wrapper)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody OsmoticQueryPageSo osmoticQueryPageSo) { - return R.ok(service.queryPage(osmoticQueryPageSo)); - } - - @Operation(summary = "年度位移统计(表格)") - @PostMapping("/year/stat") - public R> yearStat(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { - return R.ok(service.yearStat(osmoticQuerySo)); - } - - @Operation(summary = "年度位移统计(全年度特征值统计)") - @PostMapping("/year/stat/value") - public R> yearStatValue(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { - return R.ok(service.yearStatValue(osmoticQuerySo)); - } - - @Operation(summary = "年度位移统计导出") - @PostMapping( "/year/stat/export") - public void yearStatExport(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { - service.yearStatExport(osmoticQuerySo,response); - } - - @Operation(summary = "布置图-位移监测") - @GetMapping("/list/value") - public R> listValue() { - return R.ok(service.listValue()); - } - - @Operation(summary = "布置图-按测站查询位移监测数据") - @PostMapping("/detail/value") - public R> detailValue(@RequestBody @Validated OsmoticDetailQuerySo so) { - return R.ok(service.detailValue(so)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticWarnRController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticWarnRController.java deleted file mode 100644 index 3eb83c4..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticWarnRController.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.WarnPageSo; -import com.gunshi.project.xyt.entity.so.WarnSo; -import com.gunshi.project.xyt.entity.vo.OsmoticWarnVo; -import com.gunshi.project.xyt.model.OsmoticWarnR; -import com.gunshi.project.xyt.service.OsmoticWarnRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Map; - -/** - * 描述: 隐患预警记录表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "隐患预警记录表") -@RestController -@RequestMapping(value="/osmoticWarnR") -public class OsmoticWarnRController { - - @Autowired - private OsmoticWarnRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticWarnR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticWarnR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "统计") - @PostMapping("/stat") - public R> stat(@RequestBody WarnSo warnSo) { - return R.ok(service.stat(warnSo)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody WarnPageSo warnPageSo) { - return R.ok(service.queryPage(warnPageSo)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticWarnRuleController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticWarnRuleController.java deleted file mode 100644 index 5f56550..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticWarnRuleController.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.WarnRulePageSo; -import com.gunshi.project.xyt.model.OsmoticWarnRule; -import com.gunshi.project.xyt.service.OsmoticWarnRuleService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Date; -import java.util.List; -/** - * 描述: 预警规则配置表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "预警规则配置表") -@RestController -@RequestMapping(value="/osmoticWarnRule") -public class OsmoticWarnRuleController { - - @Autowired - private OsmoticWarnRuleService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticWarnRule dto) { - checkParam(dto); - dto.setId(IdWorker.getId()); - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - private void checkParam(OsmoticWarnRule dto) { - Long id = dto.getId(); - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(OsmoticWarnRule::getStationCode,dto.getStationCode()) - .eq(OsmoticWarnRule::getLevel,dto.getLevel()); - if(dto.getType() == 3){ - queryWrapper.eq(OsmoticWarnRule::getDirection,dto.getDirection()); - } - if(id != null){ - queryWrapper.ne(OsmoticWarnRule::getId,id); - } - if(service.count(queryWrapper ) > 0){ - throw new IllegalArgumentException("该测点已存在该类型的告警"); - } - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticWarnRule dto) { - checkParam(dto); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody WarnRulePageSo warnRulePageSo) { - return R.ok(service.queryPage(warnRulePageSo)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticWaterRController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticWaterRController.java deleted file mode 100644 index e07a9bd..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticWaterRController.java +++ /dev/null @@ -1,218 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.alibaba.fastjson2.JSON; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.OsmoticWaterRVo; -import com.gunshi.project.xyt.listener.OsmoticWaterRImportListener; -import com.gunshi.project.xyt.model.OsmoticWaterR; -import com.gunshi.project.xyt.model.OsmoticWaterRule; -import com.gunshi.project.xyt.service.OsmoticWaterRService; -import com.gunshi.project.xyt.service.OsmoticWaterRuleService; -import com.gunshi.project.xyt.util.ConvertUtil; -import com.gunshi.project.xyt.util.DateUtil; -import com.gunshi.project.xyt.util.ExcelUtil; -import com.gunshi.project.xyt.util.ResultJson; -import com.gunshi.project.xyt.util.excel.ExcelResult; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.MediaType; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.Serializable; -import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * 描述: 水质采样记录表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水质采样记录表") -@RestController -@RequestMapping(value="/osmoticWaterR") -public class OsmoticWaterRController { - - @Autowired - private OsmoticWaterRService service; - - @Autowired - private OsmoticWaterRuleService osmoticWaterRuleService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticWaterR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticWaterR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "获取最新一条数据") - @PostMapping("/getLastData") - public R> getLastData() { - Map resMap = new HashMap<>(); - QueryWrapper qw = new QueryWrapper<>(); - qw.orderBy(true, false, "tm").last(" limit 1"); - OsmoticWaterR osmoticWaterR = service.getOne(qw); - if(ObjectUtils.isNotEmpty(osmoticWaterR)){ - resMap = JSON.parseObject(JSON.toJSONString(osmoticWaterR), Map.class); - // 获取标准值 - List list = osmoticWaterRuleService.list(); - if(CollectionUtils.isNotEmpty(list)){ - for (OsmoticWaterRule rule : list){ - String code = rule.getCode(); - String codeStandard = code + "Standard"; - if(resMap.containsKey(code)){ - if("~".equals(rule.getCondition())){ - resMap.put(codeStandard, "(" + rule.getOne() + rule.getCondition() + rule.getTwo() + ")"); - } else { - String codeLevel = resMap.get(code + "Level").toString(); - if(codeLevel.contains("Ⅰ")){ - resMap.put(codeStandard, "(" + rule.getCondition() + rule.getOne() + ")"); - } else if (codeLevel.contains("Ⅱ")){ - resMap.put(codeStandard, "(" + rule.getCondition() + rule.getTwo() + ")"); - } else if (codeLevel.contains("Ⅲ")){ - resMap.put(codeStandard, "(" + rule.getCondition() + rule.getThree() + ")"); - } else if (codeLevel.contains("Ⅳ")){ - resMap.put(codeStandard, "(" + rule.getCondition() + rule.getFour() + ")"); - } else if (codeLevel.contains("Ⅴ")){ - resMap.put(codeStandard, "(" + rule.getCondition() + rule.getFive() + ")"); - } - } - } - } - } - } - return R.ok(resMap); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated OsmoticWaterR osmoticWaterR) { - QueryWrapper wrapper = new QueryWrapper() - .ge(ObjectUtils.isNotNull(osmoticWaterR.getStartTime()), "tm", osmoticWaterR.getStartTime()) - .le(ObjectUtils.isNotNull(osmoticWaterR.getEndTime()), "tm", osmoticWaterR.getEndTime()); - if(StringUtils.isNotBlank(osmoticWaterR.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(osmoticWaterR.getIsAsc()) ? false : osmoticWaterR.getIsAsc(), osmoticWaterR.getOrderField()); - } - return R.ok(service.list(wrapper)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated OsmoticWaterR osmoticWaterR) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.ge(ObjectUtils.isNotNull(osmoticWaterR.getStartTime()), "tm", osmoticWaterR.getStartTime()) - .le(ObjectUtils.isNotNull(osmoticWaterR.getEndTime()), "tm", osmoticWaterR.getEndTime()); - if(StringUtils.isNotBlank(osmoticWaterR.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(osmoticWaterR.getIsAsc()) ? false : osmoticWaterR.getIsAsc(), osmoticWaterR.getOrderField()); - } - return R.ok(service.page(osmoticWaterR.getPageSo().toPage(), wrapper)); - } - - /** - * 获取导入模板 - */ - @Operation(summary = "获取导入模板") - @PostMapping("/importTemplate") - public void importTemplate(HttpServletResponse response) { - ExcelUtil.exportExcel(new ArrayList<>(), "水质整编表", OsmoticWaterRVo.class, response, "水质整编表"); - } - - /** - * 导入数据 - * - * @param file 导入文件 - * - */ - @Operation(summary = "导入数据") - @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public ResultJson importData(@RequestPart("file") MultipartFile file) throws Exception { - ExcelResult result = ExcelUtil.importExcel(file.getInputStream(), OsmoticWaterRVo.class, new OsmoticWaterRImportListener()); - return ResultJson.ok(result.getAnalysis()); - } - - @Operation(summary = "导出") - @PostMapping("/exportOsmoticWaterRDataExcel") - @CrossOrigin - public void exportOsmoticWaterRDataExcel(@RequestBody @Validated OsmoticWaterR osmoticWaterR, HttpServletResponse response) { - String filename = "水质整编表"; - if (ObjectUtils.isNotEmpty(osmoticWaterR.getStartTime())) { - filename.concat("_").concat(DateUtil.convertDateToString(osmoticWaterR.getStartTime())); - } - if (ObjectUtils.isNotEmpty(osmoticWaterR.getStartTime())) { - filename.concat("_").concat(DateUtil.convertDateToString(osmoticWaterR.getEndTime())); - } - List vos = ConvertUtil.entityToVoList(this.list(osmoticWaterR).getData(), OsmoticWaterRVo.class); - ExcelUtil.exportExcel(vos, filename, OsmoticWaterRVo.class, response, "水质整编表"); - } - - - @Operation(summary = "文件下载") - @PostMapping("/downloadFile") - @CrossOrigin - public void downloadFile(HttpServletResponse response) throws IOException { - String filePath = "doc/2002年6月1日_GB3838-2002地表水环境质量标准.pdf"; - File file = new File(filePath); - if (!file.exists()) { - new FileNotFoundException("文件不存在!"); - } - response.setCharacterEncoding("utf-8"); - response.setContentType("application/octet-stream; charset=UTF-8"); - response.setHeader("content-disposition", "attachment;filename*=utf-8'zh_cn'" + URLEncoder.encode("GB3838-2002地表水环境质量标准.pdf", "UTF-8")); - InputStream inputStream = null; - OutputStream outputStream = null; - try { - inputStream = this.getClass().getClassLoader().getResourceAsStream(filePath); - outputStream = response.getOutputStream(); - byte[] buffer = new byte[1024]; - int len = 0; - while ((len = inputStream.read(buffer)) != -1) { - outputStream.write(buffer, 0, len); - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - inputStream.close(); - outputStream.close(); - } - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticWaterRuleController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticWaterRuleController.java deleted file mode 100644 index 9d11d21..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticWaterRuleController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.OsmoticWaterRule; -import com.gunshi.project.xyt.service.OsmoticWaterRuleService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 水质质量标准规则表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水质质量标准规则表") -@RestController -@RequestMapping(value="/osmoticWaterRule") -public class OsmoticWaterRuleController { - - @Autowired - private OsmoticWaterRuleService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody OsmoticWaterRule dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody OsmoticWaterRule dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanController.java b/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanController.java deleted file mode 100644 index 5f7dc5d..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanController.java +++ /dev/null @@ -1,295 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.PersonnelPlanPage; -import com.gunshi.project.xyt.model.PersonnelPlan; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.PersonnelPlanService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import com.ruoyi.common.utils.poi.ExcelUtil; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.MediaType; -import org.springframework.util.ObjectUtils; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@Tag(name = "培训计划表") -@RestController -@RequestMapping(value = "/personnelPlan") -public class PersonnelPlanController extends AbstractCommonFileController { - - - @Autowired - private PersonnelPlanService service; - - @Autowired - private FileAssociationsService fileService; - - @Override - public String getGroupId() { - return "personnelPlan"; - } - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody PersonnelPlan dto) { - - LambdaQueryChainWrapper query = service.lambdaQuery() - .eq(PersonnelPlan::getType, dto.getType()) - .eq(PersonnelPlan::getName, dto.getName()); - if (query.count() > 0) { - throw new IllegalArgumentException("当前培训主题培训班名称重复"); - } - - if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm()) && dto.getStm().compareTo(dto.getEtm()) > 0) { - throw new IllegalArgumentException("开始时间不能大于结束时间"); - } - - dto.setId(IdWorker.getId()); - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody PersonnelPlan dto) { - - LambdaQueryChainWrapper query = service.lambdaQuery() - .ne(PersonnelPlan::getId, dto.getId()) - .eq(PersonnelPlan::getType, dto.getType()) - .eq(PersonnelPlan::getName, dto.getName()); - if (query.count() > 0) { - throw new IllegalArgumentException("当前培训主题培训班名称重复"); - } - - if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm()) && dto.getStm().compareTo(dto.getEtm()) > 0) { - throw new IllegalArgumentException("开始时间不能大于结束时间"); - } - - dto.setCreateTime(null); - dto.setCreateBy(null); - dto.setCreateName(null); - dto.setUpdateTime(new Date()); - boolean result = service.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); - } - return R.ok(result ? dto : null); - } - - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - boolean data = service.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - } - return R.ok(data); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated PersonnelPlanPage dto) { - LambdaQueryChainWrapper query = service.lambdaQuery(); - if (StringUtils.isNotBlank(dto.getName())){ - query.like(PersonnelPlan::getName, dto.getName()); - } - return R.ok(query - .eq(PersonnelPlan::getStatus, 1) - .list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated PersonnelPlanPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - Date stm = page.getStm(); - Date etm = page.getEtm(); - - if (Objects.nonNull(etm) && Objects.nonNull(stm)) { - query.nested(o -> o.between(PersonnelPlan::getStm, stm, etm).or().between(PersonnelPlan::getEtm, stm, etm)); - } else { - - if (Objects.nonNull(stm)) { - query.ge(PersonnelPlan::getStm, stm); - } - - if (Objects.nonNull(etm)) { - query.le(PersonnelPlan::getEtm, etm); - } - } - - - String name = page.getName(); - if (StringUtils.isNotBlank(name)) { - query.like(PersonnelPlan::getName, name); - } - - String applicant = page.getApplicant(); - if (StringUtils.isNotBlank(applicant)) { - query.like(PersonnelPlan::getApplicant, applicant); - } - query.orderByDesc(PersonnelPlan::getStm).orderByDesc(PersonnelPlan::getCreateTime); - Page data = service.page(page.getPageSo().toPage(), query); - data.getRecords().forEach(item -> - item.setFiles(fileService.getFiles(getGroupId(), item.getId().toString())) - ); - return R.ok(data); - } - - - @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - @Operation(summary = "上传") - public R> uploading(@RequestPart("file") MultipartFile file) throws IOException { - - //判断文件是否有数据 - if (ObjectUtils.isEmpty(file) || file.getSize() <= 0) { - throw new IllegalArgumentException("上传文件为空"); - } - - ExcelUtil util = new ExcelUtil<>(PersonnelPlan.class); - - List plans = util.importExcel(file.getInputStream()); - - if (CollectionUtils.isNotEmpty(plans)) { - checkData(plans); - Date regDate = new Date(); - plans.forEach(o -> o.setId(IdWorker.getId()) - .setRegDate(regDate) - .setStatus(1) -// .setApplicant(SecurityUtils.getUsername()) - ); - boolean b = service.saveBatch(plans); - if (!b) { - throw new IllegalArgumentException("上传失败"); - } - } - - return R.ok(plans); - } - - /** - * 校验上传的数据 - * name type,stm ,etm , , addr, unit, content,numPeople,scope 不能为空 - * stm etm 进行时间格式校验 - */ - private void checkData(List list) { - if (CollectionUtils.isEmpty(list)) { - throw new IllegalArgumentException("上传数据为空"); - } - - int rowNumber = 1; - for (PersonnelPlan o : list) { - if (StringUtils.isBlank(o.getName())) { - throw new IllegalArgumentException("第" + rowNumber + "行的培训班名称不能为空"); - } - if (Objects.isNull(o.getType())) { - throw new IllegalArgumentException("第" + rowNumber + "行的培训主题不能为空"); - } - if (Objects.isNull(o.getStm())) { - throw new IllegalArgumentException("第" + rowNumber + "行的开始培训时间不能为空"); - } - if (Objects.isNull(o.getEtm())) { - throw new IllegalArgumentException("第" + rowNumber + "行的结束培训时间不能为空"); - } - if (StringUtils.isBlank(o.getAddr())) { - throw new IllegalArgumentException("第" + rowNumber + "行的培训地点不能为空"); - } - if (StringUtils.isBlank(o.getUnit())) { - throw new IllegalArgumentException("第" + rowNumber + "行的培训单位不能为空"); - } - if (StringUtils.isBlank(o.getContent())) { - throw new IllegalArgumentException("第" + rowNumber + "行的培训内容不能为空"); - } - if (o.getNumPeople() == null || o.getNumPeople() <= 0) { - throw new IllegalArgumentException("第" + rowNumber + "行的参训人数必须大于0"); - } - if (StringUtils.isBlank(o.getScope())) { - throw new IllegalArgumentException("第" + rowNumber + "行的培训范围不能为空"); - } - rowNumber++; - } - } - - @PostMapping("/download") - @Operation(summary = "下载") - public void download(@RequestBody PersonnelPlanPage page, HttpServletResponse response) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - Date stm = page.getStm(); - Date etm = page.getEtm(); - - if (Objects.nonNull(etm) && Objects.nonNull(stm)) { - query.nested(o -> o.between(PersonnelPlan::getStm, stm, etm).or().between(PersonnelPlan::getEtm, stm, etm)); - } else { - - if (Objects.nonNull(stm)) { - query.ge(PersonnelPlan::getStm, stm); - } - - if (Objects.nonNull(etm)) { - query.le(PersonnelPlan::getEtm, etm); - } - } - - - String name = page.getName(); - if (StringUtils.isNotBlank(name)) { - query.like(PersonnelPlan::getName, name); - } - - String applicant = page.getApplicant(); - if (StringUtils.isNotBlank(applicant)) { - query.like(PersonnelPlan::getApplicant, applicant); - } - query.orderByDesc(PersonnelPlan::getStm).orderByDesc(PersonnelPlan::getCreateTime); - - List list = service.list(query); - - ExcelUtil util = new ExcelUtil<>(PersonnelPlan.class); - - util.exportExcel(response, list, "培训计划"); - - } - - @GetMapping("/template") - @Operation(summary = "下载模板") - public void download(HttpServletResponse response) { - ExcelUtil util = new ExcelUtil<>(PersonnelPlan.class); - - util.importTemplateExcel(response, "培训计划"); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanLogController.java b/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanLogController.java deleted file mode 100644 index 3ad36cd..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanLogController.java +++ /dev/null @@ -1,268 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.google.common.collect.Maps; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.PersonnelPlanLogPage; -import com.gunshi.project.xyt.entity.vo.PersonnelPlanLogStatisticsVo; -import com.gunshi.project.xyt.model.PersonnelPlan; -import com.gunshi.project.xyt.model.PersonnelPlanLog; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.PersonnelPlanLogService; -import com.gunshi.project.xyt.service.PersonnelPlanService; -import com.gunshi.project.xyt.util.DateUtil; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.time.LocalDate; -import java.util.*; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@Tag(name = "培训记录表") -@RestController -@RequestMapping(value = "/personnelPlanLog") -public class PersonnelPlanLogController extends AbstractCommonFileController{ - - - @Autowired - private PersonnelPlanLogService service; - - - @Autowired - private PersonnelPlanService planService; - - - @Autowired - private FileAssociationsService fileService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody PersonnelPlanLog dto) { - - if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm()) && dto.getStm().compareTo(dto.getEtm()) >= 0){ - throw new IllegalArgumentException("开始时间不能大于结束时间"); - } - - LambdaQueryChainWrapper query = service.lambdaQuery() - .eq(PersonnelPlanLog::getPlanDate, dto. getPlanDate()) - .eq(PersonnelPlanLog::getName, dto.getName()); - if (query.count() > 0){ - throw new IllegalArgumentException("当前培训日期标题名称重复"); - } - - if (Objects.nonNull(dto.getPlanId()) && planService.lambdaQuery().eq(PersonnelPlan::getId, dto.getPlanId()).count() == 0) { - throw new IllegalArgumentException("培训计划不存在"); - } - dto.setId(IdWorker.getId()); - dto.setCreateTime(new Date()); - boolean result = service.save(dto); - - if (result){ - fileService.saveFile(dto.getFiles1(), getGroupId(), String.valueOf( dto.getId()),"1"); - fileService.saveFile(dto.getFiles2(), getGroupId(), String.valueOf( dto.getId()),"2"); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody PersonnelPlanLog dto) { - - if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm()) && dto.getStm().compareTo(dto.getEtm()) >= 0){ - throw new IllegalArgumentException("开始时间不能大于结束时间"); - } - - LambdaQueryChainWrapper query = service.lambdaQuery() - .ne(PersonnelPlanLog::getId, dto.getId()) - .eq(PersonnelPlanLog::getPlanDate, dto. getPlanDate()) - .eq(PersonnelPlanLog::getName, dto.getName()); - if (query.count() > 0){ - throw new IllegalArgumentException("当前培训日期标题名称重复"); - } - if (Objects.nonNull(dto.getPlanId()) && planService.lambdaQuery().eq(PersonnelPlan::getId, dto.getPlanId()).count() == 0) { - throw new IllegalArgumentException("培训计划不存在"); - } - - dto.setCreateTime(null); - dto.setCreateBy(null); - dto.setCreateName(null); - dto.setUpdateTime(new Date()); - boolean result = service.updateById(dto); - if (result){ - fileService.saveFile(dto.getFiles1(), getGroupId(), String.valueOf( dto.getId()),"1"); - fileService.saveFile(dto.getFiles2(), getGroupId(), String.valueOf( dto.getId()),"2"); - } - return R.ok(result ? dto : null); - } - - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - @Operation(summary = "获取详情(包括文件信息)") - @GetMapping("/get/{id}") - public R get(@Schema(name = "id") @PathVariable("id") Serializable id) { - PersonnelPlanLog o = service.getById(id); - if (Objects.isNull(o)) { - throw new IllegalArgumentException("当前数据不存在"); - } - - o.setFiles1(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"1")); - o.setFiles2(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"2")); - return R.ok(o); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery() - .list()); - } - - @Operation(summary = "统计") - @GetMapping("/statistics/{year}") - public R statistics(@PathVariable("year") Integer year) { - if (year < 1970 || year > LocalDate.now().getYear()) { - throw new IllegalArgumentException("年份不合法"); - } - //plan planLog - Date stm = DateUtil.convertStringToDate(year + "-01-01 00:00:00"); - Date etm = DateUtil.convertStringToDate(year + "-12-31 23:59:59"); - List planLogs = service.lambdaQuery() - .between(PersonnelPlanLog::getPlanDate, stm, etm) - .list(); - List plans = planService.lambdaQuery() - .between(PersonnelPlan::getStm, stm, etm) - .list(); - - PersonnelPlanLogStatisticsVo vo = new PersonnelPlanLogStatisticsVo(); - -// Map map1 = Maps.newHashMap(); -// Calendar calendar = Calendar.getInstance(); -// int month = calendar.get(Calendar.MONTH) + 1; - if (CollectionUtils.isNotEmpty(planLogs)) { - - vo.setNumberOfPeriods1(planLogs.size()); - vo.setNumberOfPeriods2(plans.stream().mapToInt(PersonnelPlan::getNum).sum()); - vo.setPersonNum1(planLogs.stream().mapToInt(PersonnelPlanLog::getNumPeople).sum()); - vo.setPersonNum2(plans.stream() - .map( - item -> item.getNumPeople() * item.getNum() - ).mapToInt(Integer::intValue).sum() - ); - - Calendar calendar = Calendar.getInstance(); - List logStatPerMonth = new ArrayList<>(); - for (int i = 0; i < 12; i++) { - int month = i; //calendar的月份是从0开始 - List logsPerMonth = planLogs.stream().filter(log -> { - Date planDate = log.getPlanDate(); - calendar.setTime(planDate); - return month == calendar.get(Calendar.MONTH); - }).toList(); - - //month num1实际人数 num2实际期数 - PersonnelPlanLogStatisticsVo.EchartsData chartItem = new PersonnelPlanLogStatisticsVo.EchartsData(); - chartItem.setMonth(i + 1); //calendar的月份是从0开始 - chartItem.setNum1(logsPerMonth.stream().mapToInt(PersonnelPlanLog::getNumPeople).sum()); - chartItem.setNum2(logsPerMonth.size()); - - logStatPerMonth.add(chartItem); -// PersonnelPlanLogStatisticsVo.EchartsData echartsData1 = map1.get(i); -// if (Objects.isNull(echartsData1)) { -// echartsData1 = new PersonnelPlanLogStatisticsVo.EchartsData(); -// } -// int finalI = i; -// List list = planLogs.stream() -// .filter(item -> -// { -// calendar.setTime(item.getPlanDate()); -// return month == finalI; -// }) -// .toList(); -// -// echartsData1.setMonth(finalI) -// .setNum1(list.stream().mapToInt(PersonnelPlanLog::getNumPeople).sum()) -// .setNum2(list.size()); -// map1.put(i, echartsData1); - } - vo.setList1(logStatPerMonth); - } - - - return R.ok(vo); - } - - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated PersonnelPlanLogPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - Date stm = page.getStm(); - if (Objects.nonNull(stm)) { - query.ge(PersonnelPlanLog::getPlanDate, stm); - } - - Date etm = page.getEtm(); - if (Objects.nonNull(etm)) { - query.le(PersonnelPlanLog::getPlanDate, etm); - } - - Integer type = page.getType(); - if (Objects.nonNull(type)) { - query.eq(PersonnelPlanLog::getType, type); - } - - Long planId = page.getPlanId(); - if (Objects.nonNull(planId)) { - query.eq(PersonnelPlanLog::getPlanId, planId); - } - - String trainees = page.getTrainees(); - if (StringUtils.isNotBlank(trainees)) { - query.like(PersonnelPlanLog::getTrainees, trainees); - } - - String unit = page.getUnit(); - if (StringUtils.isNotBlank(unit)) { - query.like(PersonnelPlanLog::getUnit, unit); - } - - query.orderByDesc(PersonnelPlanLog::getPlanDate); - - Page data = service.page(page.getPageSo().toPage(), query); - data.getRecords().forEach(o -> { - o.setFiles1(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"1")); - o.setFiles2(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"2")); - }); - return R.ok(data); - } - - @Override - public String getGroupId() { - return "personnelPlanLog"; - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ProjectEventsController.java b/src/main/java/com/gunshi/project/xyt/controller/ProjectEventsController.java deleted file mode 100644 index b243ec7..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ProjectEventsController.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo; -import com.gunshi.project.xyt.entity.vo.ProjectEventsVo; -import com.gunshi.project.xyt.model.ProjectEvents; -import com.gunshi.project.xyt.service.ProjectEventsService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; - -/** - * 描述: 工程大事记 - * author: wanyan - * date: 2024-08-20 17:40:37 - */ -@Tag(name = "工程大事记") -@RestController -@RequestMapping(value="/projectEvents") -public class ProjectEventsController extends AbstractCommonFileController{ - - @Autowired - private ProjectEventsService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ProjectEvents dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ProjectEvents dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated CommonDataPageSo so) { - return R.ok(service.queryList(so)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated CommonDataPageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Operation(summary = "全周期档案") - @PostMapping("/doc/page") - public R> filePage(@RequestBody @Validated CommonDataPageSo page) { - return R.ok(service.filePage(page)); - } - - @Operation(summary = "导出") - @PostMapping("/export") - public void export(@RequestBody @Validated CommonDataPageSo page, HttpServletResponse response) { - service.export(page,response); - } - - @Override - public String getGroupId() { - return "ProjectEvents"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/RainBasinDivisionController.java b/src/main/java/com/gunshi/project/xyt/controller/RainBasinDivisionController.java deleted file mode 100644 index 90205bd..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/RainBasinDivisionController.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.annotation.Get; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.StPptnSo; -import com.gunshi.project.xyt.entity.vo.CartogramVo; -import com.gunshi.project.xyt.entity.vo.StPptnDetailsVo; -import com.gunshi.project.xyt.entity.vo.StPptnVo; -import com.gunshi.project.xyt.model.StPptnRReal; -import com.gunshi.project.xyt.service.RainBasinDivisionService; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - - -@RestController -@RequestMapping("/attResBase") -@Tag(name = "雨情站详细信息查询接口") -public class RainBasinDivisionController { - - @Autowired - private RainBasinDivisionService rainBasinDivisionService; - - - @Post(path = "/rainBasinDivision/queryStStbprpPerHour/StcdAndStartTimeAndEndTime",summary = "根据测站编码查询时间段内每小时的雨量") - public R> queryStPptnPerHourByStcdAndStartTimeAndEndTime(@RequestBody @Validated StPptnSo stPptnSo){ - return R.ok(rainBasinDivisionService.queryStPptnPerHourByStcdAndStartTimeAndEndTime(stPptnSo)); - } - - @Post(path = "/rainBasinDivision/queryStStbprpPerHourChart/StcdAndStartTimeAndEndTime",summary = "根据测站编码查询时间段内每小时的雨量统计") - public R queryStPptnPerHourChartByStcdAndStartTimeAndEndTime(@RequestBody @Validated StPptnSo stPptnSo){ - return R.ok(rainBasinDivisionService.queryStPptnPerHourChartByStcdAndStartTimeAndEndTime(stPptnSo)); - } - - @Post(path = "/rainBasinDivision/queryStStbprpPerDay/StcdAndStartTimeAndEndTime",summary = "根据测站编码查询时间段内每天的雨量") - public R> queryStPptnPerDayByStcdAndStartTimeAndEndTime(@RequestBody @Validated StPptnSo stPptnSo){ - return R.ok(rainBasinDivisionService.queryStPptnPerDayByStcdAndStartTimeAndEndTime(stPptnSo).reversed()); - } - - @Post(path = "/rainBasinDivision/queryStStbprpPerDayChart/StcdAndStartTimeAndEndTime",summary = "根据测站编码查询时间段内每天的雨量统计") - public R queryStPptnPerDayChartChartByStcdAndStartTimeAndEndTime(@RequestBody @Validated StPptnSo stPptnSo){ - return R.ok(rainBasinDivisionService.queryStPptnPerDayChartChartByStcdAndStartTimeAndEndTime(stPptnSo)); - } - - @Get(path = "/rainBasinDivision/queryStPptnDetails/stcd",summary = "根据测站编码查询详细雨量情况") - public R queryStPptnDetailsByStcd(@RequestParam("stcd") @Parameter(description = "测站编码") String stcd){ - return R.ok(rainBasinDivisionService.queryStPptnDetailsByStcd(stcd)); - } - - @Post(path = "/maxRain",summary = "根据测站编码查询时间段内最大小时雨量") - public R maxRain(@RequestBody @Validated StPptnSo stPptnSo){ - return R.ok(rainBasinDivisionService.maxRain(stPptnSo)); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/RealRainController.java b/src/main/java/com/gunshi/project/xyt/controller/RealRainController.java deleted file mode 100644 index c75720a..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/RealRainController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.RealRainBaseSo; -import com.gunshi.project.xyt.entity.vo.RealRainListVo; -import com.gunshi.project.xyt.service.RealRainService; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.Data; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - - -@RestController -@RequestMapping("/real/rain") -@Tag(name = "降雨信息查询接口") -@Data -public class RealRainController { - - @Autowired - private RealRainService realRainService; - - @Post(path="/list", summary = "实时雨情-降雨信息-查询接口") - public R> getRealRainList(@RequestBody RealRainBaseSo realRainBaseSo) { - List list = realRainService.getRealRainList(realRainBaseSo); - //按RealRainListVo.drp倒序排列,null的排在最后面 - list.sort((o1, o2) -> { - if (o1.getDrp() == null) { - return 1; - } - if (o2.getDrp() == null) { - return -1; - } - return o2.getDrp().compareTo(o1.getDrp()); - }); - return R.ok(list); - } - - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ResBriefController.java b/src/main/java/com/gunshi/project/xyt/controller/ResBriefController.java deleted file mode 100644 index 66fd1b6..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ResBriefController.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.project.xyt.model.ResBriefR; -import com.gunshi.project.xyt.service.ResBriefRService; -import com.ruoyi.common.core.domain.R; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Date; -import java.util.List; - -/** - * @author lyf - * @since 2025-04-25 - */ -@Tag(name = "汛情简报接口") -@RestController -@RequestMapping(value="/resBrief") -public class ResBriefController { - @Autowired - private ResBriefRService resBriefRService; - - @GetMapping("/getResBriefList") - public R> getResBriefList( - @RequestParam(value = "startDate") @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, - @RequestParam(value = "endDate") @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate - ) { - if (startDate.after(endDate)) { - return R.fail("开始日期不能大于结束日期"); - } - return R.ok(resBriefRService.getResBriefList(startDate, endDate)); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ResFloodRoadController.java b/src/main/java/com/gunshi/project/xyt/controller/ResFloodRoadController.java deleted file mode 100644 index a94e63c..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ResFloodRoadController.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.ResFloodRoad; -import com.gunshi.project.xyt.service.ResFloodRoadService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 防汛道路 - * author: xusan - * date: 2024-11-14 10:37:15 - */ -@Tag(name = "防汛道路") -@RestController -@RequestMapping(value="/resFloodRoad") -public class ResFloodRoadController { - - @Autowired - private ResFloodRoadService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ResFloodRoad dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ResFloodRoad dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/ResMangUnitController.java b/src/main/java/com/gunshi/project/xyt/controller/ResMangUnitController.java deleted file mode 100644 index 089aa80..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ResMangUnitController.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.ResCodeSo; -import com.gunshi.project.xyt.model.ResMangUnit; -import com.gunshi.project.xyt.service.ResMangUnitService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 水库管理单位表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水库管理单位表") -@RestController -@RequestMapping(value="/resMangUnit") -public class ResMangUnitController { - - @Autowired - private ResMangUnitService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ResMangUnit dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ResMangUnit dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@Validated @RequestBody ResCodeSo so) { - return R.ok(service.lambdaQuery().eq(ResMangUnit::getResCode,so.getResCode()).list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/ResMonthEcoFlowController.java b/src/main/java/com/gunshi/project/xyt/controller/ResMonthEcoFlowController.java deleted file mode 100644 index df92526..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ResMonthEcoFlowController.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.ResMonthEcoFlowListSo; -import com.gunshi.project.xyt.model.ResMonthEcoFlow; -import com.gunshi.project.xyt.service.ResMonthEcoFlowService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 水库月核定生态流量表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水库月核定生态流量表") -@RestController -@RequestMapping(value="/resMonthEcoFlow") -public class ResMonthEcoFlowController { - - @Autowired - private ResMonthEcoFlowService service; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ResMonthEcoFlow dto) { - dto.setModitime(new Date()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ResMonthEcoFlow dto) { - if (Objects.isNull(service.getById(dto.getId()))){ - throw new IllegalArgumentException("当前数据不存在"); - } - dto.setModitime(null); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "批量修改") - @PostMapping("/updates") - public R updates(@Validated(Update.class) @RequestBody List dto) { - - dto = dto.stream().map(x -> x.setModitime(new Date())).collect(Collectors.toList()); - boolean result = service.updateBatchById(dto); - - return R.ok(result); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))){ - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@Validated @RequestBody ResMonthEcoFlowListSo vo) { - LocalDateTime stm = LocalDateTime.of(vo.getYear(), 1, 1, 0, 0, 0); - LocalDateTime etm = LocalDateTime.of(vo.getYear(), 12, 31, 23, 59, 59); - return R.ok(service.lambdaQuery().between(ResMonthEcoFlow::getModitime,stm,etm).orderByAsc(ResMonthEcoFlow::getMonth).list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/ResPersonController.java b/src/main/java/com/gunshi/project/xyt/controller/ResPersonController.java deleted file mode 100644 index 72d6c6e..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ResPersonController.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.ResPersonPage; -import com.gunshi.project.xyt.model.ResPerson; -import com.gunshi.project.xyt.service.ResPersonService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@Tag(name = "责任人表") -@RestController -@RequestMapping(value="/resPerson") -public class ResPersonController { - - - @Autowired - private ResPersonService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ResPerson dto) { - - LambdaQueryChainWrapper query = service.lambdaQuery() - .eq(ResPerson::getType, dto.getType()) - .eq(ResPerson::getName, dto.getName()); - if (query.count() > 0){ - throw new IllegalArgumentException("当前责任类型名字重复"); - } - - dto.setCreateTime(new Date()); - dto.setId(IdWorker.getId()); - - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ResPerson dto) { - - LambdaQueryChainWrapper query = service.lambdaQuery() - .ne(ResPerson::getId, dto.getId()) - .eq(ResPerson::getType, dto.getType()) - .eq(ResPerson::getName, dto.getName()); - if (query.count() > 0){ - throw new IllegalArgumentException("当前责任类型名字重复"); - } - dto.setCreateTime(null); - dto.setCreateBy(null); - dto.setCreateName(null); - dto.setUpdateTime(new Date()); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated ResPersonPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - Integer type = page.getType(); - if (Objects.nonNull(type)){ - query.eq(ResPerson::getType, type); - } - - String name = page.getName(); - if (StringUtils.isNotBlank(name)){ - query.like(ResPerson::getName, name); - } - - String contactInfo = page.getContactInfo(); - if (StringUtils.isNotBlank(contactInfo)){ - query.like(ResPerson::getContactInfo, contactInfo); - } - - return R.ok(service.page(page.getPageSo().toPage(),query)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ResPlanBController.java b/src/main/java/com/gunshi/project/xyt/controller/ResPlanBController.java deleted file mode 100644 index c2e199e..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ResPlanBController.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.ResCodeSo; -import com.gunshi.project.xyt.model.ResPlanB; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.ResPlanBService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 水库预案表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水库预案表") -@RestController -@RequestMapping(value="/resPlanB") -public class ResPlanBController extends AbstractCommonFileController{ - - @Autowired - private ResPlanBService service; - - @Autowired - private FileAssociationsService fileService; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ResPlanB dto) { - dto.setId(IdWorker.getId()); - dto.setModitime(new Date()); - boolean result = service.save(dto); - - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf( dto.getId())); - } - - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ResPlanB dto) { - if (Objects.isNull(service.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = service.updateById(dto); - - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf( dto.getId())); - } - - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = service.removeById(id); - - if (data){ - fileService.deleteFile(getGroupId(),id.toString()); - } - - return R.ok(data); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@Validated @RequestBody ResCodeSo so) { - LambdaQueryChainWrapper query = service.lambdaQuery(); - if (StringUtils.isNotBlank(so.getResCode())){ - query.eq(ResPlanB::getResCode, so.getResCode()); - } - if (StringUtils.isNotBlank(so.getType())){ - query.eq(ResPlanB::getType, so.getType()); - } - query.orderByDesc(ResPlanB::getModitime); - List list = query.list(); - - if (CollectionUtils.isNotEmpty(list)){ - list.forEach(o -> o.setFiles(fileService.getFiles(getGroupId(),String.valueOf( o.getId())))); - } - - return R.ok(list); - } -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - @Override - public String getGroupId() { - return "ResPlanB"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/ResProjectImgController.java b/src/main/java/com/gunshi/project/xyt/controller/ResProjectImgController.java deleted file mode 100644 index a6d0f03..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ResProjectImgController.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.ResCodeSo; -import com.gunshi.project.xyt.model.ResProjectImg; -import com.gunshi.project.xyt.service.AttResBaseService; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.ResProjectImgService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 水库工程图片 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水库工程图片") -@RestController -@RequestMapping(value="/resProjectImg") -public class ResProjectImgController extends AbstractCommonFileController{ - - @Autowired - private ResProjectImgService service; - - @Autowired - private FileAssociationsService fileService; - - @Autowired - private AttResBaseService resService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ResProjectImg dto) { - if (Objects.isNull(resService.getById(dto.getResCode()))){ - throw new RuntimeException("当前水库不存在"); - } - dto.setId(IdWorker.getId()); - dto.setModitime(new Date()); - boolean result = service.save(dto); - if (result){ - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf( dto.getId())); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ResProjectImg dto) { - if (Objects.isNull(resService.getById(dto.getResCode()))){ - throw new RuntimeException("当前水库不存在"); - } - if (Objects.isNull(service.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = service.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf( dto.getId())); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = service.removeById(id); - - if (data){ - fileService.deleteFile(getGroupId(),id.toString()); - } - - return R.ok(data); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@Validated @RequestBody ResCodeSo so) { - List list = service.lambdaQuery().eq(ResProjectImg::getResCode, so.getResCode()) - .orderByAsc(ResProjectImg::getSortOn) - .orderByDesc(ResProjectImg::getModitime) - .list(); - if (CollectionUtils.isNotEmpty(list)){ - list.forEach(o -> o.setFiles(fileService.getFiles(getGroupId(),String.valueOf( o.getId())))); - } - return R.ok(list); - } -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - @Override - public String getGroupId() { - return "ResProjectImg"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/ResSafePersonBController.java b/src/main/java/com/gunshi/project/xyt/controller/ResSafePersonBController.java deleted file mode 100644 index f645da0..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ResSafePersonBController.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.ResCodeSo; -import com.gunshi.project.xyt.model.ResSafePersonB; -import com.gunshi.project.xyt.service.AttResBaseService; -import com.gunshi.project.xyt.service.ResSafePersonBService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 水库责任体系表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水库责任体系表") -@RestController -@RequestMapping(value="/resSafePersonB") -public class ResSafePersonBController { - - @Autowired - private ResSafePersonBService service; - - @Autowired - private AttResBaseService resService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ResSafePersonB dto) { - if (Objects.isNull(resService.getById(dto.getResCode()))){ - throw new RuntimeException("当前水库不存在"); - } - dto.setModitime(new Date()); - dto.setId(IdWorker.getId()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ResSafePersonB dto) { - if (Objects.isNull(resService.getById(dto.getResCode()))){ - throw new RuntimeException("当前水库不存在"); - } - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))){ - throw new RuntimeException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@Validated @RequestBody ResCodeSo so) { - return R.ok(service.lambdaQuery().eq(ResSafePersonB::getResCode,so.getResCode()).list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/ResTunnelController.java b/src/main/java/com/gunshi/project/xyt/controller/ResTunnelController.java deleted file mode 100644 index 9131efc..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ResTunnelController.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.ResTunnel; -import com.gunshi.project.xyt.service.ResTunnelService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 水库建筑物 - 放空洞/灌溉发电洞 - * author: xusan - * date: 2024-11-14 10:34:11 - */ -@Tag(name = "水库建筑物 - 放空洞/灌溉发电洞") -@RestController -@RequestMapping(value="/resTunnel") -public class ResTunnelController { - - @Autowired - private ResTunnelService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ResTunnel dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ResTunnel dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @GetMapping("/list") - public R> list(@Schema(name = "type",description = "类型(1放空洞 2灌溉发电洞)") @RequestParam(name = "type") Integer type) { - return R.ok(service.lambdaQuery().eq(ResTunnel::getType,type).list()); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/RescueGoodsBController.java b/src/main/java/com/gunshi/project/xyt/controller/RescueGoodsBController.java deleted file mode 100644 index 1b9b475..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/RescueGoodsBController.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.annotation.Get; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.entity.so.RescueGoodsPageSo; -import com.gunshi.project.xyt.model.RescueGoodsB; -import com.gunshi.project.xyt.model.RescueGoodsFile; -import com.gunshi.project.xyt.model.RescueGoodsFileAutoDao; -import com.gunshi.project.xyt.model.RescueGoodsFileAutoMapper; -import com.gunshi.project.xyt.service.AbstractModelWithAttachService; -import com.gunshi.project.xyt.service.RescueGoodsService; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/3/18 - * - * @author wanyan - * @version 1.0 - */ -@Tag(name = "抢险物资") -@RestController -@RequestMapping("/rescue/goods") -public class RescueGoodsBController extends AbstractCommonFileController implements - ICommonInsertWithAttach, - ICommonUpdateByIdWithAttach, - ICommonDeleteByIdWithAttach, - ICommonQueryAttach -{ - - - @Autowired - private RescueGoodsFileAutoDao fileAutoDao; - - @Autowired - private RescueGoodsService rescueGoodsService; - - - @Override - public void customSetFieldForUpdate(RescueGoodsB model) { - model.setTm(new Date()); - } - - @Override - public RescueGoodsFileAutoDao getAttachAutoDao() { - return fileAutoDao; - } - - @Override - public String getAttachBzIdName() { - return "goods_id"; - } - - @Override - public Long getId(Serializable id) { - return Long.valueOf(id.toString()); - } - - @Override - public AbstractModelWithAttachService getModelService() { - return rescueGoodsService; - } - - @Override - public void customSetFieldForInsert(RescueGoodsB model) { - long id = IdWorker.getId(); - model.setGoodsId(id); - model.setTm(new Date()); - } - - @Override - public String getGroupId() { - return "rescueGoodsB"; - } - - - /** - * 分页查询 - */ - @Post(path = "/page/query", summary = "分页查询") - public R> pageQuery(@RequestBody @Validated RescueGoodsPageSo RescueGoodsPageSo) { - return R.ok(rescueGoodsService.pageQuery(RescueGoodsPageSo)); - } - - /** - * 详情 - */ - @Get(path = "/detail", summary = "详情") - public R> detail(@Schema(name = "goodsId",description = "物资id") @RequestParam(name = "goodsId") Long goodsId) { - return R.ok(rescueGoodsService.detail(goodsId)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/RescueTeamBController.java b/src/main/java/com/gunshi/project/xyt/controller/RescueTeamBController.java deleted file mode 100644 index bd7627d..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/RescueTeamBController.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.annotation.Get; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.RescueTeamPageSo; -import com.gunshi.project.xyt.entity.vo.RescueTeamVo; -import com.gunshi.project.xyt.model.RescueTeamB; -import com.gunshi.project.xyt.model.RescueTeamBAutoMapper; -import com.gunshi.project.xyt.model.RescueTeamFile; -import com.gunshi.project.xyt.model.RescueTeamFileAutoDao; -import com.gunshi.project.xyt.service.AbstractModelWithAttachService; -import com.gunshi.project.xyt.service.RescueTeamService; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -/** - * 描述: 抢险队伍 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "抢险队伍") -@RestController -@RequestMapping("/rescue/team") -public class RescueTeamBController extends AbstractCommonFileController implements - ICommonInsertWithAttach, - ICommonUpdateByIdWithAttach, - ICommonDeleteByIdWithAttach, - ICommonQueryAttach -{ - - @Autowired - private RescueTeamBAutoMapper rescueTeamBAutoMapper; - - @Autowired - private RescueTeamFileAutoDao attachAutoDao; - - @Autowired - private RescueTeamService rescueTeamService; - - - @Override - public Long getId(Serializable id) { - return Long.valueOf(id.toString()); - } - - @Override - public void customSetFieldForUpdate(RescueTeamB model) { - model.setTm(new Date()); - rescueTeamService.updateDetailAndObj(model); - } - - @Override - public AbstractModelWithAttachService getModelService() { - return rescueTeamService; - } - - @Override - public void customSetFieldForInsert(RescueTeamB model) { - long teamId = IdWorker.getId(); - model.setTeamId(teamId); - model.setTm(new Date()); - rescueTeamService.saveDetailAndObj(model,teamId); - } - - @Override - public String getGroupId() { - return "rescueTeamB"; - } - - - /** - * 防汛准备-分页查询 - */ - @Post(path = "/page/query", summary = "防汛准备-分页查询") - public R> pageQuery(@RequestBody @Validated RescueTeamPageSo RescueTeamPageSo) { - return R.ok(rescueTeamService.pageQuery(RescueTeamPageSo)); - } - - - /** - * 列表查询 - */ - @Get(path = "/list", summary = "列表查询") - public R> list(@Schema(name = "teamName",description = "队伍名称") @RequestParam(name = "teamName",required = false) String teamName) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - if(StringUtils.isNotEmpty(teamName)){ - queryWrapper.like(RescueTeamB::getTeamName,teamName); - } - return R.ok(rescueTeamBAutoMapper.selectList(queryWrapper)); - } - - /** - * 详情 - */ - @Get(path = "/detail", summary = "详情") - public R detail(@Schema(name = "teamId",description = "队伍ID") @RequestParam(name = "teamId") Long teamId) { - return R.ok(rescueTeamService.detail(teamId)); - } - - @Get(path ="/delete/{id}", summary = "删除") - public R delete(@Schema(name = "teamId") @PathVariable("teamId") Long teamId) { - return R.ok(rescueTeamService.delete(teamId)); - } - - @Override - public RescueTeamFileAutoDao getAttachAutoDao() { - return attachAutoDao; - } - - @Override - public String getAttachBzIdName() { - return "team_id"; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/ReservoirWaterController.java b/src/main/java/com/gunshi/project/xyt/controller/ReservoirWaterController.java deleted file mode 100644 index 4b2743b..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ReservoirWaterController.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.gunshi.project.xyt.controller; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.annotation.Get; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.DataQueryCommonSo; -import com.gunshi.project.xyt.entity.so.PicQuerySo; -import com.gunshi.project.xyt.entity.so.RealRainBaseSo; -import com.gunshi.project.xyt.entity.so.ReservoirWaterCommonSo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.model.*; -import com.gunshi.project.xyt.service.*; -import com.ruoyi.common.utils.DateUtils; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.math.BigDecimal; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * Description: - * Created by wanyan on 2024/2/20 - * - * @author wanyan - * @version 1.0 - */ -@RestController -@RequestMapping("/reservoir/water") -@Tag(name = "水库水情") -public class ReservoirWaterController { - - - @Autowired - private ReservoirWaterService reservoirWaterService; - - @Autowired - private RealRainService realRainService; - - @Autowired - private StWaterRRealService stWaterRRealService; - - @Autowired - private ResMonthEcoFlowService resMonthEcoFlowService; - - @Autowired - private StRsvrRService stRsvrRService; - - @Autowired - private StPptnRService stPptnRService; - - @Post(path = "/rz", summary = "水库水位") - public R rz(@RequestBody ReservoirWaterCommonSo reservoirWaterCommonSo) { - return R.ok(reservoirWaterService.rz(reservoirWaterCommonSo)); - } - - @Post(path = "/list", summary = "水库水情列表") - public R> list() { - return R.ok(reservoirWaterService.list()); - } - - - @Post(path = "/listV2", summary = "水库水情列表") - public R> listV2() { - return R.ok(reservoirWaterService.listV2()); - } - - @Get(path = "/image/channel", summary = "图像监测视角下拉") - public R> channel(@Schema(name = "resCode") @RequestParam("resCode") String resCode) { - return R.ok(reservoirWaterService.channel(resCode)); - } - - @Post(path = "/image/info", summary = "图片信息") - public R> imageInfo(@RequestBody @Validated PicQuerySo picQuerySo) { - return R.ok(reservoirWaterService.imageInfo(picQuerySo)); - } - - @Post(path = "/real/img", summary = "水库实时图像") - public R> realImg(@RequestBody ReservoirWaterCommonSo reservoirWaterCommonSo) { - return R.ok(reservoirWaterService.realImg(reservoirWaterCommonSo)); - } - - @Post(path = "/monitor/data", summary = "监测数据") - public R> monitorData(@RequestBody @Validated DataQueryCommonSo dataQueryCommonSo) { - return R.ok(reservoirWaterService.monitorData(dataQueryCommonSo)); - } - - @Post(path = "/data", summary = "闸阀总览-库容曲线") - public R> data(@RequestBody @Validated DataQueryCommonSo dataQueryCommonSo) { - dataQueryCommonSo.setStcd("61610700");//檀树岗水库 - return R.ok(reservoirWaterService.data(dataQueryCommonSo)); - } - - @Post(path = "/waterInfo", summary = "闸阀总览-库容曲线") - public R waterInfo(@RequestBody DataQueryCommonSo dataQueryCommonSo) { - AttResMonitorVo attResMonitorVo = new AttResMonitorVo(); - - LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); - qw.eq(StRsvrR::getStcd,dataQueryCommonSo.getStcd()).orderByDesc(StRsvrR::getTm).last(" limit 1"); - List list1 = stRsvrRService.list(qw); - if(CollectionUtils.isNotEmpty(list1)){ - attResMonitorVo.setRz(new BigDecimal(list1.get(0).getRz())); - attResMonitorVo.setTm(list1.get(0).getTm()); - } - LambdaQueryWrapper qw2= new LambdaQueryWrapper<>(); - qw2.eq(StPptnR::getStcd,dataQueryCommonSo.getStcd()).orderByDesc(StPptnR::getTm).last(" limit 1"); - List list3 = stPptnRService.list(qw2); - if(CollectionUtils.isNotEmpty(list3)){ - attResMonitorVo.setTodayRainNum(new BigDecimal(list3.get(0).getDrp())); - attResMonitorVo.setTodayRainNumTm(list3.get(0).getTm()); - } - - List list2 = stWaterRRealService.listRelated(); - if(CollectionUtils.isNotEmpty(list2)){ - // 获取当月核定流量 - ResMonthEcoFlow resMonthEcoFlow = resMonthEcoFlowService.getOne(new QueryWrapper().eq("month", Calendar.getInstance().get(Calendar.MONTH) + 1)); - if(ObjectUtils.isNotEmpty(resMonthEcoFlow)){ - for(StWaterRReal real : list2){ - real.setResMonthEcoFlow(resMonthEcoFlow); - } - } - StWaterRReal stWaterRReal = list2.stream().max((o1, o2) -> o1.getTm().compareTo(o2.getTm())).orElse(new StWaterRReal()); - attResMonitorVo.setOutPowerNum(stWaterRReal.getQ()); - attResMonitorVo.setOutPowerNumTm(stWaterRReal.getTm()); - } - return R.ok(attResMonitorVo); - } - - @Post(path = "/data/page", summary = "分页库容曲线") - public R> dataPage(@RequestBody @Validated PicQuerySo picQuerySo) { - return R.ok(reservoirWaterService.dataPage(picQuerySo)); - } - - @Get(path = "/detail", summary = "监测详细数据(下方表格)") - public R detail(@Schema(name = "stcd") @RequestParam("stcd") String stcd) { - return R.ok(reservoirWaterService.detail(stcd)); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/RiskControlInfoController.java b/src/main/java/com/gunshi/project/xyt/controller/RiskControlInfoController.java deleted file mode 100644 index c67a25d..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/RiskControlInfoController.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.model.RiskControlInfo; -import com.gunshi.project.xyt.service.RiskControlInfoService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -/** - * 描述: 风险管控清单 - * author: xusan - * date: 2024-08-22 14:17:28 - */ -@Tag(name = "风险管控清单") -@RestController -@RequestMapping(value="/risk/info") -public class RiskControlInfoController extends AbstractCommonFileController{ - - @Autowired - private RiskControlInfoService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody RiskControlInfo dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody RiskControlInfo dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated AttCctvBasePage page) { - return R.ok(service.pageQuery(page)); - } - - - @Override - public String getGroupId() { - return "riskControlInfo"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/RiskControlMenuController.java b/src/main/java/com/gunshi/project/xyt/controller/RiskControlMenuController.java deleted file mode 100644 index 4b32bde..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/RiskControlMenuController.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.RiskControlMenu; -import com.gunshi.project.xyt.service.RiskControlMenuService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 风险管控目录 - * author: xusan - * date: 2024-08-22 14:16:35 - */ -@Tag(name = "风险管控目录") -@RestController -@RequestMapping(value="/risk/menu") -public class RiskControlMenuController { - - @Autowired - private RiskControlMenuService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody RiskControlMenu dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody RiskControlMenu dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "树") - @PostMapping("/tree") - public R> tree() { - return R.ok(service.tree()); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/RiverWaterController.java b/src/main/java/com/gunshi/project/xyt/controller/RiverWaterController.java deleted file mode 100644 index a120c63..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/RiverWaterController.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.annotation.Get; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.DataQueryCommonSo; -import com.gunshi.project.xyt.entity.vo.AttRvBaseVo; -import com.gunshi.project.xyt.entity.vo.AttRvMonitorDetailVo; -import com.gunshi.project.xyt.entity.vo.AttRvMonitorVo; -import com.gunshi.project.xyt.model.StZqrlB; -import com.gunshi.project.xyt.service.RiverWaterService; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/2/21 - * - * @author wanyan - * @version 1.0 - */ -@RestController -@RequestMapping("/river/water") -@Tag(name = "河道水情") -public class RiverWaterController { - - @Autowired - private RiverWaterService riverWaterService; - - @Post(path = "/list", summary = "河道水情列表") - public R> list() { - return R.ok(riverWaterService.list()); - } - - @Get(path = "/zqrl", summary = "水位流量关系") - public R> zqrl(@Schema(name = "stcd") @RequestParam("stcd") String stcd) { - return R.ok(riverWaterService.zqrl(stcd)); - } - - - @Post(path = "/monitor/data", summary = "监测数据") - public R> monitorData(@RequestBody @Validated DataQueryCommonSo dataQueryCommonSo) { - return R.ok(riverWaterService.monitorData(dataQueryCommonSo)); - } - - @Get(path = "/detail", summary = "监测详细数据(下方表格)") - public R detail(@Schema(name = "stcd") @RequestParam("stcd") String stcd) { - return R.ok(riverWaterService.detail(stcd)); - } - - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/RotaController.java b/src/main/java/com/gunshi/project/xyt/controller/RotaController.java deleted file mode 100644 index 59e0d96..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/RotaController.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.alibaba.excel.EasyExcel; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.gunshi.core.annotation.Get; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.dto.RotaDto; -import com.gunshi.project.xyt.entity.vo.RotaVo; -import com.gunshi.project.xyt.listener.RotaImportListener; -import com.gunshi.project.xyt.model.RotaB; -import com.gunshi.project.xyt.service.RotaService; -import com.gunshi.project.xyt.util.ExcelUtil; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.http.MediaType; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * Description: - * Created by wanyan on 2024/3/25 - * - * @author wanyan - * @version 1.0 - */ -@RestController -@RequestMapping("/rota") -@Tag(name = "值班表") -public class RotaController { - - @Resource - private RotaService rotaService; - - - @Get(path = "/query", summary = "按年月查询") - public R>> query(@Schema(name = "yearMonth",description = "年月",example = "2024-03") @RequestParam(name = "yearMonth") String yearMonth) { - return R.ok(rotaService.query(yearMonth)); - } - - - @Post(path = "/edit/info", summary = "编辑值班信息") - public R editInfo(@RequestBody @Validated RotaDto rotaDto) { - return R.ok(rotaService.editInfo(rotaDto)); - } - - @Get(path = "/date/list", summary = "按年月日查询") - public R> dateList(@Schema(name = "rotaDate",description = "年月日",example = "2024-08-19") @RequestParam(name = "rotaDate") String rotaDate) { - return R.ok(rotaService.dateList(rotaDate)); - } - - /** - * 获取导入模板 - */ - @Operation(summary = "获取导入模板") - @PostMapping("/importTemplate") - public void importTemplate(HttpServletResponse response) { - ExcelUtil.exportExcel(new ArrayList<>(), "值班表", RotaVo.class, response, "值班表"); - } - - /** - * 导入数据 - * - * @param file 导入文件 - * - */ - @Operation(summary = "导入数据") - @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public R importData(@RequestPart("file") MultipartFile file) throws Exception { - //获取正确数据 - ArrayList successArrayList = new ArrayList<>(); - //获取错误数据 - ArrayList errorArrayList = new ArrayList<>(); - EasyExcel.read(file.getInputStream()) - .head(RotaVo.class) - .registerReadListener(new RotaImportListener( - // 监听器中doAfterAllAnalysed执行此方法;所有读取完成之后处理逻辑 - successArrayList::addAll, errorArrayList::addAll)) - // 设置sheet,默认读取第一个 - .sheet() - // 设置标题(字段列表)所在行数 - .headRowNumber(2) - .doRead(); - if(CollectionUtils.isNotEmpty(errorArrayList)){ - List errMsg = errorArrayList.stream().map(RotaVo::getErrorMsg).collect(Collectors.toList()); - return R.error(400,String.join(";",errMsg)); - } - if(CollectionUtils.isNotEmpty(successArrayList)){ - rotaService.saveImportData(successArrayList); - return R.ok(); - } - return R.ok(); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/RotaLogController.java b/src/main/java/com/gunshi/project/xyt/controller/RotaLogController.java deleted file mode 100644 index 9853c5a..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/RotaLogController.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.RotaLogPageSo; -import com.gunshi.project.xyt.model.RotaLog; -import com.gunshi.project.xyt.service.RotaLogService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -/** - * Description: - * Created by wanyan on 2024/3/25 - * - * @author wanyan - * @version 1.0 - */ -@RestController -@RequestMapping("/rota/log") -@Tag(name = "值班日志") -public class RotaLogController { - - @Resource - private RotaLogService service; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody RotaLog dto) { - checkParam(dto); - dto.setId(IdWorker.getId()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody RotaLog dto) { - checkParam(dto); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.removeById(id)); - } - - private void checkParam(RotaLog dto) { - Long id = dto.getId(); - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(RotaLog::getRotaDate,dto.getRotaDate()); - if(id != null){ - queryWrapper.ne(RotaLog::getId,id); - } - if(service.count(queryWrapper ) > 0){ - throw new IllegalArgumentException("该日期已存在值班日志"); - } - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody RotaLogPageSo rotaLogPageSo) { - return R.ok(service.queryPage(rotaLogPageSo)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/SafetyAccidentRegController.java b/src/main/java/com/gunshi/project/xyt/controller/SafetyAccidentRegController.java deleted file mode 100644 index 9937bbf..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SafetyAccidentRegController.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo2; -import com.gunshi.project.xyt.model.SafetyAccidentReg; -import com.gunshi.project.xyt.service.SafetyAccidentRegService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; - -/** - * 描述: 安全事故登记 - * author: xusan - * date: 2024-08-21 14:45:44 - */ -@Tag(name = "安全事故登记") -@RestController -@RequestMapping(value="/safety/accident/reg") -public class SafetyAccidentRegController extends AbstractCommonFileController { - - @Autowired - private SafetyAccidentRegService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SafetyAccidentReg dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SafetyAccidentReg dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody CommonDataPageSo2 page) { - return R.ok(service.pageQuery(page)); - } - - @Override - public String getGroupId() { - return "safetyAccidentReg"; - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/SafetyCheckController.java b/src/main/java/com/gunshi/project/xyt/controller/SafetyCheckController.java deleted file mode 100644 index f578c73..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SafetyCheckController.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo; -import com.gunshi.project.xyt.model.SafetyCheck; -import com.gunshi.project.xyt.service.SafetyCheckService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; - -/** - * 描述: 安全检查管理 - * author: wanyan - * date: 2024-08-20 17:40:37 - */ -@Tag(name = "安全检查管理") -@RestController -@RequestMapping(value="/safety/check") -public class SafetyCheckController extends AbstractCommonFileController{ - - @Autowired - private SafetyCheckService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SafetyCheck dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SafetyCheck dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated CommonDataPageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Override - public String getGroupId() { - return "safetyCheck"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/SafetyHazardInvestController.java b/src/main/java/com/gunshi/project/xyt/controller/SafetyHazardInvestController.java deleted file mode 100644 index 1112fee..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SafetyHazardInvestController.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo; -import com.gunshi.project.xyt.model.SafetyHazardInvest; -import com.gunshi.project.xyt.service.SafetyHazardInvestService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; - -/** - * 描述: 安全隐患排查 - * author: wanyan - * date: 2024-08-20 17:40:37 - */ -@Tag(name = "安全隐患排查") -@RestController -@RequestMapping(value="/safety/hazard/invest") -public class SafetyHazardInvestController extends AbstractCommonFileController{ - - @Autowired - private SafetyHazardInvestService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SafetyHazardInvest dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SafetyHazardInvest dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated CommonDataPageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Override - public String getGroupId() { - return "safetyHazardInvest"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/SafetyIdentifyController.java b/src/main/java/com/gunshi/project/xyt/controller/SafetyIdentifyController.java deleted file mode 100644 index 96aea91..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SafetyIdentifyController.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.db.dto.PageSo; -import com.gunshi.project.xyt.model.SafetyIdentify; -import com.gunshi.project.xyt.service.SafetyIdentifyService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -/** - * 描述: 安全鉴定台账 - * author: xusan - * date: 2024-08-21 14:45:44 - */ -@Tag(name = "安全鉴定台账") -@RestController -@RequestMapping(value="/safety/identify") -public class SafetyIdentifyController extends AbstractCommonFileController { - - @Autowired - private SafetyIdentifyService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SafetyIdentify dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SafetyIdentify dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody PageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Override - public String getGroupId() { - return "safetyIdentify"; - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/SafetyReinforcementController.java b/src/main/java/com/gunshi/project/xyt/controller/SafetyReinforcementController.java deleted file mode 100644 index 33dcbf5..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SafetyReinforcementController.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.db.dto.PageSo; -import com.gunshi.project.xyt.model.SafetyReinforcement; -import com.gunshi.project.xyt.service.SafetyReinforcementService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -/** - * 描述: 除险加固台账 - * author: xusan - * date: 2024-08-22 11:27:44 - */ -@Tag(name = "除险加固台账") -@RestController -@RequestMapping(value="/safety/reinforcement") -public class SafetyReinforcementController extends AbstractCommonFileController{ - - @Autowired - private SafetyReinforcementService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SafetyReinforcement dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SafetyReinforcement dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody PageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Override - public String getGroupId() { - return "safetyReinforcement"; - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/ShpPlacementController.java b/src/main/java/com/gunshi/project/xyt/controller/ShpPlacementController.java deleted file mode 100644 index 298bc46..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/ShpPlacementController.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.HomeShpPlacementVo; -import com.gunshi.project.xyt.model.ShpPlacement; -import com.gunshi.project.xyt.service.ShpPlacementService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 安置点 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "安置点") -@RestController -@RequestMapping(value="/shpPlacement") -public class ShpPlacementController { - - @Autowired - private ShpPlacementService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody ShpPlacement dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody ShpPlacement dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - - - @Operation(summary = "详情和行政区划数据查询") - @PostMapping("/getDetailsAndAddvcdDataList") - public R> getDetailsAndMonitoringDataList() { - return R.ok(service.getDetailsAndMonitoringDataLis()); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/SoilMoistureController.java b/src/main/java/com/gunshi/project/xyt/controller/SoilMoistureController.java deleted file mode 100644 index 26abd61..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SoilMoistureController.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.annotation.Get; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.SoilMoisturePageSo; -import com.gunshi.project.xyt.entity.vo.SoilMoistureVO; -import com.gunshi.project.xyt.model.SoilMoistureData; -import com.gunshi.project.xyt.model.SoilMoistureStation; -import com.gunshi.project.xyt.service.SoilMoistureDataService; -import com.gunshi.project.xyt.service.SoilMoistureStationService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -/** - * 土壤墒情 - */ -@RestController -@RequestMapping("/soilMoisture") -@Tag(name = "土壤墒情") -public class SoilMoistureController { - - @Autowired - private SoilMoistureStationService soilMoistureStationService; - - @Autowired - private SoilMoistureDataService soilMoistureDataService; - - @Get(path = "/stationList", summary = "站点列表") - public R> listStation() { - List list = soilMoistureStationService.list(); - if(CollectionUtil.isEmpty(list)){ - return R.ok(list); - } - List collect = list.stream().peek(e -> { - LambdaQueryWrapper qw = new LambdaQueryWrapper(); - qw.eq(SoilMoistureData::getStcd,e.getStcd()).orderByDesc(SoilMoistureData::getCreateTime).last(" limit 1"); - SoilMoistureData one = soilMoistureDataService.getOne(qw); - e.setTm(one.getCreateTime()); - e.setVal(one.getVal()); - }).collect(Collectors.toList()); - return R.ok(collect); - } - - @Post(path = "/page", summary = "分页") - public R> page(@RequestBody SoilMoisturePageSo page) { - return R.ok(soilMoistureDataService.pageQuery(page)); - } - - @GetMapping("/count/{stcd}") - public R count(@Schema(name = "stcd") @PathVariable("stcd") Serializable stcd) { - return R.ok(soilMoistureDataService.count(stcd.toString())); - } - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SoilMoistureData dto) { - boolean result = soilMoistureDataService.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SoilMoistureData dto) { - boolean result = soilMoistureDataService.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(soilMoistureDataService.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(soilMoistureDataService.lambdaQuery().list()); - } - - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StAddvcdDController.java b/src/main/java/com/gunshi/project/xyt/controller/StAddvcdDController.java deleted file mode 100644 index 7d5651e..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StAddvcdDController.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.annotation.Get; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.StAddvcdTreeVo; -import com.gunshi.project.xyt.model.StAddvcdD; -import com.gunshi.project.xyt.service.StAddvcdDService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 行政区划表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "行政区划表") -@RestController -@RequestMapping(value="/stAddvcdD") -public class StAddvcdDController { - - @Autowired - private StAddvcdDService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StAddvcdD dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StAddvcdD dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - /** - * 行政区划树 - */ - @Get(path = "/tree", summary = "行政区划树") - public R> tree(@Schema(description = "以根节点为基础,返回数据的深度,最低到组(自然村)") @RequestParam("level") String level) { - return R.ok(service.tree(level)); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StImgRController.java b/src/main/java/com/gunshi/project/xyt/controller/StImgRController.java deleted file mode 100644 index ab627cd..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StImgRController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StImgR; -import com.gunshi.project.xyt.service.StImgRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 图像历史表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "图像历史表") -@RestController -@RequestMapping(value="/stImgR") -public class StImgRController { - - @Autowired - private StImgRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StImgR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StImgR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StImgRRealController.java b/src/main/java/com/gunshi/project/xyt/controller/StImgRRealController.java deleted file mode 100644 index 4330877..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StImgRRealController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StImgRReal; -import com.gunshi.project.xyt.service.StImgRRealService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 图像表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "图像表") -@RestController -@RequestMapping(value="/stImgRReal") -public class StImgRRealController { - - @Autowired - private StImgRRealService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StImgRReal dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StImgRReal dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StImgWarnRController.java b/src/main/java/com/gunshi/project/xyt/controller/StImgWarnRController.java deleted file mode 100644 index 69b03f8..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StImgWarnRController.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.ImgWarnPageSo; -import com.gunshi.project.xyt.model.StImgWarnR; -import com.gunshi.project.xyt.service.StImgWarnRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: AI告警表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "AI告警表") -@RestController -@RequestMapping(value="/stImgWarnR") -public class StImgWarnRController { - - @Autowired - private StImgWarnRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StImgWarnR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StImgWarnR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody ImgWarnPageSo imgWarnPageSo) { - return R.ok(service.pageQuery(imgWarnPageSo)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StPptnRController.java b/src/main/java/com/gunshi/project/xyt/controller/StPptnRController.java deleted file mode 100644 index 1e5aa67..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StPptnRController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StPptnR; -import com.gunshi.project.xyt.service.StPptnRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 降水量表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "降水量表") -@RestController -@RequestMapping(value="/stPptnR") -public class StPptnRController { - - @Autowired - private StPptnRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StPptnR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StPptnR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StPptnRDController.java b/src/main/java/com/gunshi/project/xyt/controller/StPptnRDController.java deleted file mode 100644 index 15d977d..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StPptnRDController.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StPptnRD; -import com.gunshi.project.xyt.service.StPptnRDService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 降水量天表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "降水量天表") -@RestController -@RequestMapping(value="/stPptnRD") -public class StPptnRDController { - - @Autowired - private StPptnRDService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StPptnRD dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StPptnRD dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - @Operation(summary = "整编降雨历史降雨情况") - @PostMapping("/reorganizeStPptnRD") - public void reorganizeStPptnRD(@Schema(name = "stcdList", description = "站码列表") @RequestParam("stcdList") List stcdList, @Schema(name = "startDateStr", description = "开始时间") @RequestParam("startDateStr") String startDateStr) { - service.reorganizeStPptnRD(stcdList, startDateStr); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StPptnRHController.java b/src/main/java/com/gunshi/project/xyt/controller/StPptnRHController.java deleted file mode 100644 index 5e8cca6..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StPptnRHController.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StPptnRH; -import com.gunshi.project.xyt.service.StPptnRHService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 降雨量小时表 - * author: cxw - * date: 2024-09-02 09:34:31 - */ -@Tag(name = "降雨量小时表") -@RestController -@RequestMapping(value="/stPptnRH") -public class StPptnRHController { - - @Autowired - private StPptnRHService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StPptnRH dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StPptnRH dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StPptnRRealController.java b/src/main/java/com/gunshi/project/xyt/controller/StPptnRRealController.java deleted file mode 100644 index f1e3f05..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StPptnRRealController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StPptnRReal; -import com.gunshi.project.xyt.service.StPptnRRealService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 降水量历史表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "降水量历史表") -@RestController -@RequestMapping(value="/stPptnRReal") -public class StPptnRRealController { - - @Autowired - private StPptnRRealService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StPptnRReal dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StPptnRReal dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.queryList()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StQxWarnRController.java b/src/main/java/com/gunshi/project/xyt/controller/StQxWarnRController.java deleted file mode 100644 index 1c89429..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StQxWarnRController.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.entity.vo.HomeWarnVo; -import com.gunshi.project.xyt.model.StQxWarnR; -import com.gunshi.project.xyt.service.StQxWarnRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 气象预警表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "气象预警表") -@RestController -@RequestMapping(value="/stQxWarnR") -public class StQxWarnRController { - - @Autowired - private StQxWarnRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StQxWarnR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StQxWarnR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody DateTimeRangeSo dateTimeRangeSo) { - return R.ok(service.lambdaQuery() - .ge(StQxWarnR::getTm,dateTimeRangeSo.getStart()).lt(StQxWarnR::getTm,dateTimeRangeSo.getEnd()).list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - - - @Operation(summary = "首页-告警") - @PostMapping("/home/warn") - public R homeWarn(@RequestBody DateTimeRangeSo dateTimeRangeSo) { - return R.ok(service.homeWarn(dateTimeRangeSo)); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StRiverRController.java b/src/main/java/com/gunshi/project/xyt/controller/StRiverRController.java deleted file mode 100644 index 7549a98..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StRiverRController.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StRiverR; -import com.gunshi.project.xyt.service.StRiverRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: - * author: cxw - * date: 2024-09-24 14:01:07 - */ -@Tag(name = "") -@RestController -@RequestMapping(value="/stRiverR") -public class StRiverRController { - - @Autowired - private StRiverRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StRiverR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StRiverR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StRiverRRealController.java b/src/main/java/com/gunshi/project/xyt/controller/StRiverRRealController.java deleted file mode 100644 index c963609..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StRiverRRealController.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StRiverRReal; -import com.gunshi.project.xyt.service.StRiverRRealService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: - * author: cxw - * date: 2024-09-24 14:01:07 - */ -@Tag(name = "") -@RestController -@RequestMapping(value="/stRiverRReal") -public class StRiverRRealController { - - @Autowired - private StRiverRRealService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StRiverRReal dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StRiverRReal dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StRsvrRController.java b/src/main/java/com/gunshi/project/xyt/controller/StRsvrRController.java deleted file mode 100644 index 16abb16..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StRsvrRController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StRsvrR; -import com.gunshi.project.xyt.service.StRsvrRService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 水库历史水位表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水库历史水位表") -@RestController -@RequestMapping(value="/stRsvrR") -public class StRsvrRController { - - @Autowired - private StRsvrRService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StRsvrR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StRsvrR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StRsvrRRealController.java b/src/main/java/com/gunshi/project/xyt/controller/StRsvrRRealController.java deleted file mode 100644 index edf0dc2..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StRsvrRRealController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StRsvrRReal; -import com.gunshi.project.xyt.service.StRsvrRRealService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 水库水位实时数据表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水库水位实时数据表") -@RestController -@RequestMapping(value="/stRsvrRReal") -public class StRsvrRRealController { - - @Autowired - private StRsvrRRealService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StRsvrRReal dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StRsvrRReal dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StStbprpBController.java b/src/main/java/com/gunshi/project/xyt/controller/StStbprpBController.java deleted file mode 100644 index d429872..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StStbprpBController.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.HomeStStbprpBSo; -import com.gunshi.project.xyt.entity.so.StStbprpBPage; -import com.gunshi.project.xyt.entity.so.StStbprpBSo; -import com.gunshi.project.xyt.entity.vo.HomeStStbprpBVo; -import com.gunshi.project.xyt.entity.vo.StStatusListVo; -import com.gunshi.project.xyt.entity.vo.StStatusVo; -import com.gunshi.project.xyt.model.StStbprpB; -import com.gunshi.project.xyt.service.StStbprpBService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 测站基础信息表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "测站基础信息表") -@RestController -@RequestMapping(value="/stStbprpB") -public class StStbprpBController { - - @Autowired - private StStbprpBService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StStbprpB dto) { - if (Objects.nonNull(service.getById(dto.getStcd()))){ - throw new RuntimeException("测站编号已存在"); - } - dto.setModitime(new Date()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StStbprpB dto) { - if (Objects.isNull(service.getById(dto.getStcd()))){ - throw new RuntimeException("当前数据不存在"); - } - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))){ - throw new RuntimeException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody StStbprpBSo dto) { - LambdaQueryChainWrapper query = service.lambdaQuery(); - query - .eq(StStbprpB::getSttp,dto.getSttp()) - .eq(StStbprpB::getStcd,dto.getStcd()) - .like(StStbprpB::getStnm,dto.getStnm()) - .like(StStbprpB::getRvnm,dto.getRvnm()) - .like(StStbprpB::getHnnm,dto.getHnnm()) - .like(StStbprpB::getBsnm,dto.getBsnm()) - ; - return R.ok(query.list()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated StStbprpBPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getCode())) { - query.like(StStbprpB::getStcd, page.getCode()); - } - if (ObjectUtils.isNotNull(page.getName())) { - query.like(StStbprpB::getStnm, page.getName()); - } - if (ObjectUtils.isNotNull(page.getAgreement())) { - query.like(StStbprpB::getAgreement, page.getAgreement()); - } - query.orderByDesc(StStbprpB::getModitime); - return R.ok(service.page(page.getPageSo().toPage(), query)); - } - - @Operation(summary = "雨量站详情带雨量列表") - @PostMapping("/rainfallStationDetails/rainfallList") - public R> rainfallStationDetailsList(@RequestBody @Validated HomeStStbprpBSo dto) { - return R.ok(service.rainfallStationDetailsList(dto)); - } - - @Operation(summary = "水库站点详情带实时水位列表") - @PostMapping("/reservoirStationDetails/realTimeWaterLevelList") - public R> reservoirStationDetailsList() { - return R.ok(service.reservoirStationDetailsList()); - } - - @Operation(summary = "输/放水管流量站点详情带实时流量列表") - @PostMapping("/trafficSiteDetails/realTimeTrafficList") - public R> trafficStationDetailsList() { - return R.ok(service.flowStationDetailsList()); - } - - - @Operation(summary = "监测设备状态") - @PostMapping("/status/list") - public R statusList() { - return R.ok(service.statusList()); - } - - @Operation(summary = "雨情站点下拉") - @PostMapping("/rain/list") - public R> rainList() { - return R.ok(service.rainList()); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StStbprpBElemController.java b/src/main/java/com/gunshi/project/xyt/controller/StStbprpBElemController.java deleted file mode 100644 index cc53ee3..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StStbprpBElemController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.StStbprpBElem; -import com.gunshi.project.xyt.service.StStbprpBElemService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 测站监测值类型 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "测站监测值类型") -@RestController -@RequestMapping(value="/stStbprpBElem") -public class StStbprpBElemController { - - @Autowired - private StStbprpBElemService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StStbprpBElem dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StStbprpBElem dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.lambdaQuery().list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StStbprpCctvController.java b/src/main/java/com/gunshi/project/xyt/controller/StStbprpCctvController.java deleted file mode 100644 index 9e10f73..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StStbprpCctvController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.annotation.Get; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.StStbprpCctvVo; -import com.gunshi.project.xyt.service.StStbprpCctvService; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -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; - -/** - * 站点与视频关系 - * Created by wanyan on 2024/4/9 - * - * @author wanyan - * @version 1.0 - */ -@RestController -@RequestMapping("/stbprp/cctv") -@Tag(name = "站点与视频关系") -public class StStbprpCctvController { - - - @Autowired - private StStbprpCctvService stStbprpCctvService; - - - - @Get(path = "/listByStcd/{stcd}", summary = "按stcd查询") - public R> listByStcd(@PathVariable("stcd") String stcd) { - return R.ok(stStbprpCctvService.listByStcd(stcd)); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StWaterRController.java b/src/main/java/com/gunshi/project/xyt/controller/StWaterRController.java deleted file mode 100644 index e2aa818..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StWaterRController.java +++ /dev/null @@ -1,184 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.entity.vo.StWaterRVo; -import com.gunshi.project.xyt.model.ResMonthEcoFlow; -import com.gunshi.project.xyt.model.StStbprpB; -import com.gunshi.project.xyt.model.StWaterR; -import com.gunshi.project.xyt.service.ResMonthEcoFlowService; -import com.gunshi.project.xyt.service.StStbprpBService; -import com.gunshi.project.xyt.service.StWaterRService; -import com.gunshi.project.xyt.util.ConvertUtil; -import com.gunshi.project.xyt.util.DateUtil; -import com.gunshi.project.xyt.util.ExcelUtil; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.apache.commons.lang3.time.DateUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: 供水量表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "供水量表") -@RestController -@RequestMapping(value="/stWaterR") -public class StWaterRController { - - @Autowired - private StWaterRService service; - - @Autowired - private ResMonthEcoFlowService resMonthEcoFlowService; - - @Autowired - private StStbprpBService stStbprpBService; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StWaterR dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StWaterR dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated StWaterR stWaterR) { - QueryWrapper wrapper = new QueryWrapper() - .eq(StringUtils.isNotBlank(stWaterR.getStcd()), "stcd", stWaterR.getStcd()) - .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime()) - .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime()); - if(StringUtils.isNotBlank(stWaterR.getOrderField())){ - wrapper.orderByDesc("tm"); - } - return R.ok(service.list(wrapper)); - } - - @Operation(summary = "获取月核定流量") - @GetMapping("/getResMonthEcoFlow") - public R> getResMonthEcoFlow(@Schema(name = "startTime", description = "开始时间") @RequestParam("startTime") String startTime, @Schema(name = "endTime", description = "开始时间") @RequestParam("endTime") String endTime) { - Map resMap = new HashMap<>(); - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.orderByAsc("month"); - if(StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)){ - List monthsBetweenDates = DateUtil.getMonthsBetweenDates(startTime, endTime); - wrapper.in("month", monthsBetweenDates); - } - List list = resMonthEcoFlowService.list(wrapper); - if(CollectionUtils.isNotEmpty(list)){ - resMap = list.stream().collect(Collectors.toMap(ResMonthEcoFlow::getMonth, ResMonthEcoFlow::getValue)); - } - return R.ok(resMap); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated StWaterR stWaterR) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(stWaterR.getStcd()), "stcd", stWaterR.getStcd()) - .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime()) - .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime()); - if(StringUtils.isNotBlank(stWaterR.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getOrderField()); - } - return R.ok(service.page(stWaterR.getPageSo().toPage(), wrapper)); - } - - @Operation(summary = "导出") - @PostMapping("/exportWaterRDataExcel") - @CrossOrigin - public void exportWaterRDataExcel(@RequestBody @Validated StWaterR stWaterR, HttpServletResponse response) { - String filename = "供水流量表" + DateUtil.convertDateToString(stWaterR.getStartTime()) + "_" + DateUtil.convertDateToString(stWaterR.getEndTime()); - List vos = ConvertUtil.entityToVoList(this.list(stWaterR).getData(), StWaterRVo.class); - ExcelUtil.exportExcel(vos, filename, StWaterRVo.class, response, "供水流量表"); - } - - @Operation(summary = "闸阀总览-供水统计") - @PostMapping("/stat") - public R> stat(@RequestBody @Validated DateTimeRangeSo dateTimeRangeSo) { - return R.ok(service.stat(dateTimeRangeSo)); - } - - - @Operation(summary = "生态流量监控-列表") - @PostMapping("/ecologyFlowList") - public R> ecologyFlowList(@RequestBody @Validated StWaterR stWaterR) { - List list = new ArrayList<>(); - // 查询生态(放水管流量站QQ) - StStbprpB stStbprpB = stStbprpBService.getOne(new QueryWrapper().eq("sttp", "QQ").last(" limit 1")); - if(ObjectUtils.isEmpty(stStbprpB) || StringUtils.isEmpty(stStbprpB.getStcd())){ - return R.ok(list); - } - QueryWrapper wrapper = new QueryWrapper() - .eq("stcd", stStbprpB.getStcd()) - .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime()) - .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime()); - if(StringUtils.isNotBlank(stWaterR.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getOrderField()); - } - list = service.list(wrapper); - List resMonthEcoFlows = resMonthEcoFlowService.list(); - if(CollectionUtils.isNotEmpty(list) && CollectionUtils.isNotEmpty(resMonthEcoFlows)){ - Map resMonthEcoFlowMap = resMonthEcoFlows.stream().collect(Collectors.toMap(ResMonthEcoFlow::getMonth, ResMonthEcoFlow::getValue)); - list.stream().forEach(w -> { - BigDecimal value = resMonthEcoFlowMap.get(w.getTm().getMonth() + 1); - w.setApprovalV(value); - w.setIsStandard(w.getQ().compareTo(value) >= 0 ? true : false); - }); - } - return R.ok(list); - } - - @Operation(summary = "生态流量监控-分页") - @PostMapping("/ecologyFlowPage") - public R> ecologyFlowPage(@RequestBody @Validated StWaterR stWaterR) { - // 查询生态(放水管流量站QQ) - StStbprpB stStbprpB = stStbprpBService.getOne(new QueryWrapper().eq("sttp", "QQ").last(" limit 1")); - if(ObjectUtils.isEmpty(stStbprpB) || StringUtils.isEmpty(stStbprpB.getStcd())){ - return R.ok(new Page<>()); - } - QueryWrapper wrapper = new QueryWrapper() - .eq("stcd", stStbprpB.getStcd()) - .ge(ObjectUtils.isNotNull(stWaterR.getStartTime()), "tm", stWaterR.getStartTime()) - .le(ObjectUtils.isNotNull(stWaterR.getEndTime()), "tm", stWaterR.getEndTime()); - if(StringUtils.isNotBlank(stWaterR.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterR.getIsAsc()) ? false : stWaterR.getIsAsc(), stWaterR.getOrderField()); - } - return R.ok(service.page(stWaterR.getPageSo().toPage(), wrapper)); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StWaterRRealController.java b/src/main/java/com/gunshi/project/xyt/controller/StWaterRRealController.java deleted file mode 100644 index 6aa0d6f..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StWaterRRealController.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import java.io.Serializable; -import java.util.Calendar; -import java.util.List; - -import org.jetbrains.annotations.NotNull; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.ResMonthEcoFlow; -import com.gunshi.project.xyt.model.StWaterRReal; -import com.gunshi.project.xyt.service.ResMonthEcoFlowService; -import com.gunshi.project.xyt.service.StStbprpBService; -import com.gunshi.project.xyt.service.StWaterRRealService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; - -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -/** - * 描述: 供水量实时表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "供水量实时表") -@RestController -@RequestMapping(value="/stWaterRReal") -public class StWaterRRealController { - - @Autowired - private StStbprpBService stStbprpBService; - - @Autowired - private StWaterRRealService service; - - @Autowired - private ResMonthEcoFlowService resMonthEcoFlowService; - - @Operation(summary = "根据测站编码查询实时供水量") - @PostMapping("/getByStcd/{stcd}") - public R getById(@Schema(name = "stcd", description = "测站编码")@PathVariable("stcd") @NotNull String stcd) { - QueryWrapper qw = new QueryWrapper<>(); - qw.eq("stcd", stcd).orderBy(true, false, "tm"); - StWaterRReal result = service.getOne(qw); - // 获取当月核定流量 - if (ObjectUtils.isNotEmpty(result)) { - ResMonthEcoFlow resMonthEcoFlow = resMonthEcoFlowService.getOne( - new QueryWrapper().eq("month", Calendar.getInstance().get(Calendar.MONTH) + 1)); - result.setResMonthEcoFlow(resMonthEcoFlow); - } - return R.ok(result); - } - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StWaterRReal dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StWaterRReal dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - List list = service.listRelated(); - if(CollectionUtils.isNotEmpty(list)){ - // 获取当月核定流量 - ResMonthEcoFlow resMonthEcoFlow = resMonthEcoFlowService.getOne(new QueryWrapper().eq("month", Calendar.getInstance().get(Calendar.MONTH) + 1)); - if(ObjectUtils.isNotEmpty(resMonthEcoFlow)){ - for(StWaterRReal real : list){ - real.setResMonthEcoFlow(resMonthEcoFlow); - } - } - } - return R.ok(list); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StWaterRReorganizeController.java b/src/main/java/com/gunshi/project/xyt/controller/StWaterRReorganizeController.java deleted file mode 100644 index 794904a..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StWaterRReorganizeController.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.vo.StWaterRReorganizeVo; -import com.gunshi.project.xyt.entity.vo.StWaterRReorganizeYearVo; -import com.gunshi.project.xyt.model.StWaterRReorganize; -import com.gunshi.project.xyt.service.StWaterRReorganizeService; -import com.gunshi.project.xyt.util.ConvertUtil; -import com.gunshi.project.xyt.util.DateUtil; -import com.gunshi.project.xyt.util.ExcelUtil; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; -/** - * 描述: 供水量整编表 - * author: cxw - * date: 2024-07-24 11:22:46 - */ -@Tag(name = "供水量整编表") -@RestController -@RequestMapping(value="/stWaterRReorganize") -public class StWaterRReorganizeController { - - @Autowired - private StWaterRReorganizeService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StWaterRReorganize dto) { - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StWaterRReorganize dto) { - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody @Validated StWaterRReorganize stWaterRReorganize) { - String searchType = stWaterRReorganize.getSearchType(); - String groupBy = ""; - if("2".equals(searchType)){ - groupBy = "LEFT(tm, 10)"; - } else if("3".equals(searchType)){ - groupBy = "LEFT(tm, 7)"; - } else if("4".equals(searchType)){ - groupBy = "LEFT(tm, 4)"; - } else { - groupBy = "LEFT(tm, 13)"; - } - QueryWrapper wrapper = new QueryWrapper() - .select(groupBy + " tm,ROUND( AVG ( ecology_q ), 2 ) ecology_q,SUM ( ecology_v ) ecology_v,ROUND( AVG ( life_q ), 2 ) life_q,SUM ( life_v ) life_v,SUM ( sum_v ) sum_v") - .ge(ObjectUtils.isNotNull(stWaterRReorganize.getStartTime()), "tm", stWaterRReorganize.getStartTime()) - .le(ObjectUtils.isNotNull(stWaterRReorganize.getEndTime()), "tm", stWaterRReorganize.getEndTime()) - .groupBy(groupBy); - if(StringUtils.isNotBlank(stWaterRReorganize.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterRReorganize.getIsAsc()) ? false : stWaterRReorganize.getIsAsc(), stWaterRReorganize.getOrderField()); - } - List list = service.list(wrapper); - if(CollectionUtils.isNotEmpty(list)){ - for(StWaterRReorganize dto : list){ - dto.setSumV(dto.getEcologyV().add(dto.getLifeV())); - } - } - return R.ok(list); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated StWaterRReorganize stWaterRReorganize) { - String searchType = stWaterRReorganize.getSearchType(); - String groupBy = ""; - if("2".equals(searchType)){ - groupBy = "LEFT(tm, 10)"; - } else if("3".equals(searchType)){ - groupBy = "LEFT(tm, 7)"; - } else if("4".equals(searchType)){ - groupBy = "LEFT(tm, 4)"; - } else { - groupBy = "LEFT(tm, 13)"; - } - QueryWrapper wrapper = new QueryWrapper() - .select(groupBy + " tm,ROUND( AVG ( ecology_q ), 2 ) ecology_q,SUM ( ecology_v ) ecology_v,ROUND( AVG ( life_q ), 2 ) life_q,SUM ( life_v ) life_v,SUM ( sum_v ) sum_v") - .ge(ObjectUtils.isNotNull(stWaterRReorganize.getStartTime()), "tm", stWaterRReorganize.getStartTime()) - .le(ObjectUtils.isNotNull(stWaterRReorganize.getEndTime()), "tm", stWaterRReorganize.getEndTime()) - .groupBy(groupBy); - if(StringUtils.isNotBlank(stWaterRReorganize.getOrderField())){ - wrapper.orderBy(true, ObjectUtils.isEmpty(stWaterRReorganize.getIsAsc()) ? false : stWaterRReorganize.getIsAsc(), stWaterRReorganize.getOrderField()); - } - Page page = service.page(stWaterRReorganize.getPageSo().toPage(), wrapper); - if(CollectionUtils.isNotEmpty(page.getRecords())){ - for(StWaterRReorganize dto : page.getRecords()){ - dto.setSumV(dto.getEcologyV().add(dto.getLifeV())); - } - } - return R.ok(page); - } - - @Operation(summary = "供水水方数据导出") - @PostMapping("/exportWaterRReorganizeDataExcel") - @CrossOrigin - public void exportWaterRReorganizeDataExcel(@RequestBody @Validated StWaterRReorganize stWaterRReorganize, HttpServletResponse response) { - String searchType = stWaterRReorganize.getSearchType(); - String start = DateUtil.convertDateToMDSString(stWaterRReorganize.getStartTime()); - String end = DateUtil.convertDateToMDSString(stWaterRReorganize.getEndTime()); - if("2".equals(searchType)){ - start = start.substring(0, 10); - end = end.substring(0, 10); - } else if("3".equals(searchType)){ - start = start.substring(0, 7); - end = end.substring(0, 7); - } else if("4".equals(searchType)){ - start = start.substring(0, 4); - end = end.substring(0, 4); - } else { - start = start.substring(0, 13); - end = end.substring(0, 13); - } - String filename = "供水水方表" + start + "_" + end; - List vos = ConvertUtil.entityToVoList(this.list(stWaterRReorganize).getData(), StWaterRReorganizeVo.class); - ExcelUtil.exportExcel(vos, filename, StWaterRReorganizeVo.class, response, "供水水方表"); - } - - @Operation(summary = "统计分析") - @PostMapping("/getYearStatisticAnalysis") - public R> getYearStatisticAnalysis(@Schema(name = "year", description = "年度") @RequestParam("year") int year) { - List resList = new ArrayList<>(); - service.getYearStatisticAnalysis(year, resList); - return R.ok(resList); - } - - @Operation(summary = "统计分析数据导出") - @PostMapping("/exportYearStatisticAnalysisExcel") - @CrossOrigin - public void exportYearStatisticAnalysisExcel(@Schema(name = "year", description = "年度") @RequestParam("year") int year, HttpServletResponse response) { - String filename = year + "年度统计分析"; - List resList = new ArrayList<>(); - service.getYearStatisticAnalysis(year, resList); - ExcelUtil.exportExcel(resList, filename, StWaterRReorganizeYearVo.class, response, "统计分析"); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/StZqrlBController.java b/src/main/java/com/gunshi/project/xyt/controller/StZqrlBController.java deleted file mode 100644 index 1b9cbb3..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StZqrlBController.java +++ /dev/null @@ -1,161 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.dto.StZqrlBDto; -import com.gunshi.project.xyt.entity.vo.StZqrlBCount24Vo; -import com.gunshi.project.xyt.entity.vo.StZqrlBCountVo; -import com.gunshi.project.xyt.entity.vo.StZqrlBVo; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.StZqrlB; -import com.gunshi.project.xyt.service.AttResBaseService; -import com.gunshi.project.xyt.service.StStbprpBService; -import com.gunshi.project.xyt.service.StZqrlBService; -import com.gunshi.project.xyt.service.StZvarlBService; -import com.gunshi.project.xyt.validate.markers.Delete; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 水位流量关系曲线表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "水位流量关系曲线表") -@RestController -@RequestMapping(value="/stZqrlB") -public class StZqrlBController { - - @Autowired - private StZqrlBService service; - - @Autowired - private AttResBaseService resBaseService; - - @Autowired - private StStbprpBService stStbprpBService; - - @Autowired - private StZvarlBService stZvarlBService; - - - @Post(path = "/flowList", summary = "集合") - public R> flowList(@RequestBody StZqrlBDto obj) { - return R.ok(stStbprpBService.flowList(obj)); - } - - @GetMapping(path = "/count/{stcd}") - public R count(@Schema(name = "stcd") @PathVariable("stcd") Serializable stcd) { - return R.ok(stStbprpBService.count(stcd)); - } - - - @GetMapping(path = "/count24/{stcd}") - public R count24(@Schema(name = "stcd") @PathVariable("stcd") Serializable stcd) { - return R.ok(stStbprpBService.count24(stcd)); - } - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StZqrlB dto) { - if (StringUtils.isNotBlank(dto.getResCode())){ - AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one(); - if (Objects.isNull(one)){ - throw new IllegalArgumentException("水库编码不存在"); - } - if (StringUtils.isBlank(dto.getStcd())){ - dto.setStcd(one.getStcd()); - } - } - if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ - throw new IllegalArgumentException("测站编码不存在"); - } - - if (service.lambdaQuery() - .eq(StZqrlB::getStcd, dto.getStcd()) - .eq(StZqrlB::getZ, dto.getZ()) - .eq(StZqrlB::getQ, dto.getQ()) - .count() > 0) { - throw new IllegalArgumentException("当前数据已存在"); - } - dto.setId(IdWorker.getId()); - dto.setModitime(new Date()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StZqrlB dto) { - if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ - throw new IllegalArgumentException("测站编码不存在"); - } - - if (service.lambdaQuery() - .eq(StZqrlB::getStcd, dto.getStcd()) - .eq(StZqrlB::getZ, dto.getZ()) - .eq(StZqrlB::getQ, dto.getQ()) - .ne(StZqrlB::getId,dto.getId()) - .count() > 0) { - throw new IllegalArgumentException("当前数据已存在"); - } - - - - boolean result = service.lambdaUpdate() - .set(StZqrlB::getZ, dto.getZ()) - .set(StZqrlB::getQ, dto.getQ()) - .eq(StZqrlB::getId, dto.getId()) - .update(); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @PostMapping("/del") - public R del(@Validated(Delete.class) @RequestBody StZqrlB dto) { - if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ - throw new IllegalArgumentException("测站编码不存在"); - } - if (service.lambdaQuery() - .eq(StZqrlB::getId, dto.getId()) - .count() == 0) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.lambdaUpdate() - .eq(StZqrlB::getId, dto.getId()) - .remove() ); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody StZqrlB dto) { - LambdaQueryChainWrapper q = service.lambdaQuery().orderByAsc(StZqrlB::getZ); - String stcd = dto.getStcd(); - if (StringUtils.isNotBlank(stcd)){ - q.eq(StZqrlB::getStcd, stcd); - } - return R.ok(q.list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StZvarlBController.java b/src/main/java/com/gunshi/project/xyt/controller/StZvarlBController.java deleted file mode 100644 index db71200..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StZvarlBController.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.StZvarlB; -import com.gunshi.project.xyt.service.AttResBaseService; -import com.gunshi.project.xyt.service.StStbprpBService; -import com.gunshi.project.xyt.service.StZvarlBService; -import com.gunshi.project.xyt.validate.markers.Delete; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 库( 湖)容曲线表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "库( 湖)容曲线表") -@RestController -@RequestMapping(value="/stZvarlB") -public class StZvarlBController { - - @Autowired - private StZvarlBService service; - - @Autowired - private AttResBaseService resBaseService; - - @Autowired - private StStbprpBService stStbprpBService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody StZvarlB dto) { - if (StringUtils.isNotBlank(dto.getResCode())){ - AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one(); - if (Objects.isNull(one)){ - throw new IllegalArgumentException("水库编码不存在"); - } - if (StringUtils.isBlank(dto.getStcd())){ - dto.setStcd(one.getStcd()); - } - } - if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ - throw new IllegalArgumentException("测站编码不存在"); - } - if (service.lambdaQuery() - .eq(StZvarlB::getStcd, dto.getStcd()) - .eq(StZvarlB::getRz, dto.getRz()) - .eq(StZvarlB::getW, dto.getW()) - .count() > 0) { - throw new IllegalArgumentException("当前数据已存在"); - } - dto.setId(IdWorker.getId()); - dto.setModitime(new Date()); - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody StZvarlB dto) { - if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ - throw new IllegalArgumentException("测站编码不存在"); - } - - - if (service.lambdaQuery() - .eq(StZvarlB::getStcd, dto.getStcd()) - .eq(StZvarlB::getRz, dto.getRz()) - .eq(StZvarlB::getW, dto.getW()) - .ne(StZvarlB::getId, dto.getId()) - .count() > 0) { - throw new IllegalArgumentException("当前数据已存在"); - } - - - boolean result = service.lambdaUpdate() - .set(StZvarlB::getRz, dto.getRz()) - .set(StZvarlB::getW, dto.getW()) - .set(StZvarlB::getWsfa, dto.getWsfa()) - .eq(StZvarlB::getId, dto.getId()) - .update(); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @PostMapping("/del") - public R del(@Validated(Delete.class) @RequestBody StZvarlB dto) { - if (service.lambdaQuery() - .eq(StZvarlB::getId, dto.getId()) - .count() == 0) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.lambdaUpdate() - .eq(StZvarlB::getId, dto.getId()) - .remove() ); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list(@RequestBody StZvarlB dto) { - LambdaQueryChainWrapper q = service.lambdaQuery().orderByAsc(StZvarlB::getRz); - String stcd = dto.getStcd(); - if (StringUtils.isNotBlank(stcd)){ - q.eq(StZvarlB::getStcd, stcd); - } - return R.ok(q.list()); - } - -// @Operation(summary = "分页") -// @PostMapping("/page") - public R> page() { - return R.ok(service.page(null,null)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/StatisticsController.java b/src/main/java/com/gunshi/project/xyt/controller/StatisticsController.java deleted file mode 100644 index 5bb1f88..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/StatisticsController.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.db.dto.DateRangeSo; -import com.gunshi.project.xyt.entity.so.StatisticsQuerySo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.service.StatisticsService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * 描述: 报图报表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "报图报表") -@RestController -@RequestMapping(value="/statistics") -public class StatisticsController{ - - @Autowired - private StatisticsService service; - - @Operation(summary = "时段降雨日报表") - @PostMapping("/sdJyRb") - public R> sdJyRb(@Validated @RequestBody DateRangeSo dateRangeSo) { - return R.ok(service.sdJyRb(dateRangeSo)); - } - - @Operation(summary = "时段降雨日报表导出") - @PostMapping( "/sdJyRb/export") - public void export(@RequestBody @Validated DateRangeSo dateRangeSo, HttpServletResponse response) { - service.sdJyRbExport(dateRangeSo,response); - } - - @Operation(summary = "时段水位日报表") - @PostMapping("/sdSwRb") - public R> sdSwRb(@Validated @RequestBody DateRangeSo dateRangeSo) { - return R.ok(service.sdSwRb(dateRangeSo)); - } - - @Operation(summary = "时段水位日报表导出") - @PostMapping("/sdSwRb/export") - public void sdSwRbExport(@Validated @RequestBody DateRangeSo dateRangeSo, HttpServletResponse response) { - service.sdSwRbExport(dateRangeSo,response); - } - - @Operation(summary = "日降雨年报表(上方表格)") - @PostMapping("/rjyNb") - public R> rjyNb(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo) { - return R.ok(service.rjyNb(statisticsQuerySo,null)); - } - - @Operation(summary = "日降雨年报表(下方统计)") - @PostMapping("/rjyNb/stat") - public R rjyNbStat(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo) { - return R.ok(service.rjyNbStat(statisticsQuerySo)); - } - - @Operation(summary = "日降雨年报表导出") - @PostMapping("/rjyNb/export") - public void rjyNbExport(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo, HttpServletResponse response) { - service.rjyNbExport(statisticsQuerySo,response); - } - - @Operation(summary = "日均水位年报表(上方表格)") - @PostMapping("/rjswNb") - public R> rjswNb(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo) { - return R.ok(service.rjswNb(statisticsQuerySo)); - } - - @Operation(summary = "日均水位年报表(下方统计)") - @PostMapping("/rjswNb/stat") - public R rjswNbStat(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo) { - return R.ok(service.rjswNbStat(statisticsQuerySo)); - } - - @Operation(summary = "日均水位年报表导出") - @PostMapping("/rjswNb/export") - public void rjswNbExport(@Validated @RequestBody StatisticsQuerySo statisticsQuerySo, HttpServletResponse response) { - service.rjswNbExport(statisticsQuerySo,response); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/SysDictBController.java b/src/main/java/com/gunshi/project/xyt/controller/SysDictBController.java deleted file mode 100644 index 9569eda..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SysDictBController.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import com.gunshi.project.xyt.model.SysDictB; -import com.gunshi.project.xyt.service.SysDictBService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 系统字典表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "系统字典表") -@RestController -@RequestMapping(value="/sysDictB") -public class SysDictBController { - - @Autowired - private SysDictBService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SysDictB dto) { - - if (StringUtils.isNotBlank(dto.getDictNm())){ - if (service.lambdaQuery().eq(SysDictB::getDictNm,dto.getDictNm()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - } - if (Objects.nonNull(dto.getPid()) && !"0".equals(dto.getPid()) ){ - if (service.lambdaQuery().eq(SysDictB::getId,dto.getPid()) - .count() == 0) { - throw new IllegalArgumentException("当父级不存在"); - } - } - if (null == dto.getPid()){ - dto.setPid(0L); - } - dto.setCreateTm(new Date()); - dto.setId(IdWorker.getId()); - - boolean result = service.save(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SysDictB dto) { - - if (StringUtils.isNotBlank(dto.getDictNm())){ - if (service.lambdaQuery().eq(SysDictB::getDictNm,dto.getDictNm()) - .ne(SysDictB::getId,dto.getId()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - } - if (Objects.nonNull(dto.getPid()) && !"0".equals(dto.getPid()) ){ - if (service.lambdaQuery().eq(SysDictB::getId,dto.getPid()) - .count() == 0) { - throw new IllegalArgumentException("当父级不存在"); - } - } - dto.setTm(new Date()); - boolean result = service.updateById(dto); - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "列表 通过父id查子项") - @PostMapping("/list") - public R> list(@RequestBody SysDictB dto) { - LambdaQueryChainWrapper query = service.lambdaQuery(); - Long pid = dto.getPid(); - if (Objects.nonNull(pid)){ - query.eq(SysDictB::getPid, pid); - } - return R.ok(query.list()); - } - - @Operation(summary = "列表 通过父编码查子项") - @GetMapping("/listByCd") - public R> listByCd(@Schema(name = "dictCd",description = "父编码") @RequestParam(name = "dictCd") String dictCd) { - return R.ok(service.listByCd(dictCd)); - } - - @Operation(summary = "分页 只查父项") - @PostMapping("/page") - public R> page(@RequestBody GenericPageParams page) { - - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - - Page data = service.page(page.getPageSo().toPage(), queryWrapper.eq(SysDictB::getPid,0L)); - - data.getRecords().forEach( o-> o.setChildren(service.lambdaQuery().eq(SysDictB::getPid,o.getId()).list())); - - return R.ok(data); - } - - @Operation(summary = "树") - @GetMapping("/tree") - public R> tree() { - return R.ok(service.tree()); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/SzCaseController.java b/src/main/java/com/gunshi/project/xyt/controller/SzCaseController.java deleted file mode 100644 index b781b7c..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SzCaseController.java +++ /dev/null @@ -1,272 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.google.common.collect.Maps; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.SzCasePage; -import com.gunshi.project.xyt.entity.vo.SzCaseStatisticsVo; -import com.gunshi.project.xyt.model.SzCase; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.SzCaseService; -import com.gunshi.project.xyt.util.DateUtil; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.compress.utils.Lists; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 描述: 案件登记表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "案件登记表") -@RestController -@RequestMapping(value="/szCase") -public class SzCaseController extends AbstractCommonFileController{ - - @Autowired - private SzCaseService service; - - @Autowired - private FileAssociationsService fileService; - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SzCase dto) { - - if (service.lambdaQuery().eq(SzCase::getCaseName,dto.getCaseName()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - - dto.setCreateTime(new Date()); - dto.setId(IdWorker.getId()); - - boolean result = service.save(dto); - - - if (result){ - fileService.saveFile(dto.getFiles1(), getGroupId(), String.valueOf( dto.getId()),"1"); - fileService.saveFile(dto.getFiles2(), getGroupId(), String.valueOf( dto.getId()),"2"); - fileService.saveFile(dto.getFiles3(), getGroupId(), String.valueOf( dto.getId()),"3"); - fileService.saveFile(dto.getFiles4(), getGroupId(), String.valueOf( dto.getId()),"4"); - fileService.saveFile(dto.getFiles5(), getGroupId(), String.valueOf( dto.getId()),"5"); - fileService.saveFile(dto.getFiles6(), getGroupId(), String.valueOf( dto.getId()),"6"); - fileService.saveFile(dto.getFiles7(), getGroupId(), String.valueOf( dto.getId()),"7"); - fileService.saveFile(dto.getFiles8(), getGroupId(), String.valueOf( dto.getId()),"8"); - fileService.saveFile(dto.getFiles9(), getGroupId(), String.valueOf( dto.getId()),"9"); - } - - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SzCase dto) { - - - if (service.lambdaQuery() - .ne(SzCase::getId,dto.getId()) - .eq(SzCase::getCaseName,dto.getCaseName()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - - dto.setCreateTime(null); - dto.setCreateBy(null); - dto.setCreateName(null); - dto.setUpdateTime(new Date()); - boolean result = service.updateById(dto); - - if (result){ - fileService.saveFile(dto.getFiles1(), getGroupId(), String.valueOf( dto.getId()),"1"); - fileService.saveFile(dto.getFiles2(), getGroupId(), String.valueOf( dto.getId()),"2"); - fileService.saveFile(dto.getFiles3(), getGroupId(), String.valueOf( dto.getId()),"3"); - fileService.saveFile(dto.getFiles4(), getGroupId(), String.valueOf( dto.getId()),"4"); - fileService.saveFile(dto.getFiles5(), getGroupId(), String.valueOf( dto.getId()),"5"); - fileService.saveFile(dto.getFiles6(), getGroupId(), String.valueOf( dto.getId()),"6"); - fileService.saveFile(dto.getFiles7(), getGroupId(), String.valueOf( dto.getId()),"7"); - fileService.saveFile(dto.getFiles8(), getGroupId(), String.valueOf( dto.getId()),"8"); - fileService.saveFile(dto.getFiles9(), getGroupId(), String.valueOf( dto.getId()),"9"); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated SzCasePage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - if (Objects.nonNull(page.getCaseType())){ - query.eq(SzCase::getCaseType, page.getCaseType()); - } - - if (Objects.nonNull(page.getCaseName())){ - query.like(SzCase::getCaseName, page.getCaseName()); - } - - if (Objects.nonNull(page.getCaseId())){ - query.like(SzCase::getCaseId, page.getCaseId()); - } - - if (Objects.nonNull(page.getStm())){ - query.ge(SzCase::getCreateTime, page.getStm()); - } - - if (Objects.nonNull(page.getEtm())){ - query.le(SzCase::getCreateTime, page.getEtm()); - } - - query.orderByDesc(SzCase::getCreateTime); - return R.ok(service.page(page.getPageSo().toPage(),query)); - } - - @Operation(summary = "获取详情(包含文件)") - @GetMapping("/get/{id}") - public R getFiles(@Schema(name = "id") @PathVariable("id") Serializable id) { - SzCase o = service.getById(id); - if (Objects.isNull(o)) { - throw new IllegalArgumentException("当前数据不存在"); - } - - o.setFiles1(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"1")); - o.setFiles2(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"2")); - o.setFiles3(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"3")); - o.setFiles4(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"4")); - o.setFiles5(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"5")); - o.setFiles6(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"6")); - o.setFiles7(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"7")); - o.setFiles8(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"8")); - o.setFiles9(fileService.getFiles(getGroupId(),String.valueOf(o.getId()),"9")); - - return R.ok(o); - } - - @Operation(summary = "案件统计") - @PostMapping("/statistics/{num}") - public R> statistics( - @Schema(name = "统计类型 0:案件来源,1:案件类型,2:执行类型") @PathVariable("num") Integer num, - @RequestBody @Validated SzCasePage page) { - LambdaQueryChainWrapper query = service.lambdaQuery(); - - if (Objects.nonNull(page.getStm())){ - query.ge(SzCase::getCreateTime, page.getStm()); - } - - if (Objects.nonNull(page.getEtm())){ - query.le(SzCase::getCreateTime, page.getEtm()); - } - - List vos = Lists.newArrayList(); - - List list = query.list(); - - if (CollectionUtils.isNotEmpty(list)){ - Map sourceCount = Maps.newHashMap(); - switch (num){ - case 0:{ // 案件来源 - sourceCount = list.stream() - .filter(o -> Objects.nonNull(o.getCaseSource())) - .collect(Collectors.groupingBy(SzCase::getCaseSource, Collectors.counting())); - break; - } - case 1:{ // 案件类型 - sourceCount = list.stream() - .filter(o -> Objects.nonNull(o.getCaseType())) - .collect(Collectors.groupingBy(SzCase::getCaseType, Collectors.counting())); - break; - } - case 2:{ // 执行类型 - sourceCount = list.stream() - .filter(o -> Objects.nonNull(o.getCaseImplementation())) - .collect(Collectors.groupingBy(SzCase::getCaseImplementation, Collectors.counting())); - break; - } - default:break; - } - - sourceCount.forEach((k,v) -> vos.add(new SzCaseStatisticsVo(null,k,v.intValue()))); - } - - return R.ok(vos); - } - - @Operation(summary = "案件数量趋势") - @GetMapping("/statisticsNum/{year}") - public R> statisticsNum(@Schema(name = "年份") @PathVariable("year") Integer year) { - LambdaQueryChainWrapper query = service.lambdaQuery(); - - query.ge(SzCase::getCreateTime, DateUtil.beginOfYearToDate(year)); - - query.le(SzCase::getCreateTime, DateUtil.endOfYearToDate(year)); - - List vos = Lists.newArrayList(); - - List list = query.list(); - - Calendar calendar = Calendar.getInstance(); - for (int i = 0; i < 12; i++) { - int month = i; - long cnt = list.stream().filter(item -> { - calendar.setTime(item.getCreateTime()); - return month == calendar.get(Calendar.MONTH); - }).count(); - vos.add(new SzCaseStatisticsVo(month + 1,null,Integer.valueOf(String.valueOf(cnt)))); - } -// -// Calendar calendar = Calendar.getInstance(); -// int currYear = calendar.get(Calendar.YEAR); -// int month = calendar.get(Calendar.MONTH) + 1; -// if(year.intValue() != currYear){ -// calendar.set(Calendar.YEAR,year); -// month = 12; -// } -// final int finalMonth = month; -// for (int i = 1; i <= finalMonth; i++) { -// int finalI = i; -// long count = 0; -// if(CollectionUtils.isNotEmpty(list)){ -// count = list.stream() -// .filter(item -> -// { -// calendar.setTime(item.getCaseDate()); -// return finalMonth == finalI; -// }) -// .count(); -// } -// vos.add(new SzCaseStatisticsVo(i,null,Integer.valueOf(String.valueOf(count)))); -// } - - return R.ok(vos); - } - - @Override - public String getGroupId() { - return "szCase"; - } - public String getGroupId(Integer num) { - return getGroupId() + num; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/SzRegulatoryFrameworkController.java b/src/main/java/com/gunshi/project/xyt/controller/SzRegulatoryFrameworkController.java deleted file mode 100644 index cbe3ff9..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SzRegulatoryFrameworkController.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.SzRegulatoryFrameworkPage; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.model.SzRegulatoryFramework; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.SzRegulatoryFrameworkService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.Optional; - -/** - * 描述: 案件登记表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "制度管理表") -@RestController -@RequestMapping(value = "/SzRegulatoryFramework") -public class SzRegulatoryFrameworkController extends AbstractCommonFileController { - - @Autowired - private SzRegulatoryFrameworkService service; - - @Autowired - private FileAssociationsService fileService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SzRegulatoryFramework dto) { - - if (service.lambdaQuery().eq(SzRegulatoryFramework::getName, dto.getName()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - - dto.setCreateTime(new Date()); - dto.setId(IdWorker.getId()); - - if (CollectionUtils.isNotEmpty(dto.getFiles())){ - dto.setUploadDate(new Date()); - } - boolean result = service.save(dto); - - - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SzRegulatoryFramework dto) { - - - if (service.lambdaQuery() - .ne(SzRegulatoryFramework::getId, dto.getId()) - .eq(SzRegulatoryFramework::getName, dto.getName()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - - if (CollectionUtils.isNotEmpty(dto.getFiles())){ - dto.setUploadDate(new Date()); - } - dto.setCreateBy(null); - dto.setCreateName(null); - dto.setUpdateTime(new Date()); - dto.setCreateTime(null); - boolean result = service.updateById(dto); - - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated SzRegulatoryFrameworkPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - - if (Objects.nonNull(page.getType())) { - query.eq(SzRegulatoryFramework::getType, page.getType()); - } - - if (Objects.nonNull(page.getName())) { - query.like(SzRegulatoryFramework::getName, page.getName()); - } - - if (Objects.nonNull(page.getFillUnit())) { - query.like(SzRegulatoryFramework::getFillUnit, page.getFillUnit()); - } - - if (Objects.nonNull(page.getStm())) { - query.ge(SzRegulatoryFramework::getReleaseDate, page.getStm()); - } - - if (Objects.nonNull(page.getEtm())) { - query.le(SzRegulatoryFramework::getReleaseDate, page.getEtm()); - } - - query.orderByDesc(SzRegulatoryFramework::getUploadDate); - Page data = service.page(page.getPageSo().toPage(), query); - data.getRecords().forEach(item -> { - List files = fileService.getFiles(getGroupId(), String.valueOf(item.getId())); - if(CollectionUtils.isNotEmpty(files)){ - Date minDate = files.stream() - .map(FileAssociations::getTm) // 提取每个对象的 tm 字段 - .min(Date::compareTo).orElse(null); // 找到最小的 Date - item.setMinUpTime(minDate); - } - item.setFiles(files); - }); - return R.ok(data); - } - - - - @Override - public String getGroupId() { - return "SzRegulatoryFramework"; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/SzRuleByLawController.java b/src/main/java/com/gunshi/project/xyt/controller/SzRuleByLawController.java deleted file mode 100644 index 74ded72..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SzRuleByLawController.java +++ /dev/null @@ -1,179 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.SzRuleByLawPage; -import com.gunshi.project.xyt.model.SzRuleByLaw; -import com.gunshi.project.xyt.service.FileAssociationsService; -import com.gunshi.project.xyt.service.SzRuleByLawService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.Calendar; -import java.util.Date; -import java.util.Objects; - -/** - * 描述: 法律法规管理表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "法律法规管理表") -@RestController -@RequestMapping(value = "/SzRuleByLaw") -public class SzRuleByLawController extends AbstractCommonFileController { - - @Autowired - private SzRuleByLawService service; - - @Autowired - private FileAssociationsService fileService; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SzRuleByLaw dto) { - - if (service.lambdaQuery().eq(SzRuleByLaw::getName, dto.getName()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - - dto.setId(IdWorker.getId()); - dto.setCreateTime(new Date()); - - if (CollectionUtils.isNotEmpty(dto.getFiles())){ - dto.setUploadDate(new Date()); - } - boolean result = service.save(dto); - - - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SzRuleByLaw dto) { - - - if (service.lambdaQuery() - .ne(SzRuleByLaw::getId, dto.getId()) - .eq(SzRuleByLaw::getName, dto.getName()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - - dto.setCreateTime(null); - dto.setCreateBy(null); - dto.setCreateName(null); - dto.setUpdateTime(new Date()); - - if (CollectionUtils.isNotEmpty(dto.getFiles())){ - dto.setUploadDate(new Date()); - } - - boolean result = service.updateById(dto); - - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return R.ok(result ? dto : null); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated SzRuleByLawPage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - Calendar calendar=Calendar.getInstance(); - - if (Objects.nonNull(page.getType())) { - query.eq(SzRuleByLaw::getType, page.getType()); - } - - if (Objects.nonNull(page.getName())) { - query.like(SzRuleByLaw::getName, page.getName()); - } - - if (Objects.nonNull(page.getFillUnit())) { - query.like(SzRuleByLaw::getFillUnit, page.getFillUnit()); - } - - if (Objects.nonNull(page.getTimeliness())) { - query.eq(SzRuleByLaw::getTimeliness, page.getTimeliness()); - } - - if (Objects.nonNull(page.getStmAd())) { - query.ge(SzRuleByLaw::getCreateTime, page.getStmAd()); - } - - Date etmAd = page.getEtmAd(); - if (Objects.nonNull(etmAd)) { - calendar.setTime(etmAd); - calendar.set(Calendar.HOUR,23); - calendar.set(Calendar.MINUTE,59); - calendar.set(Calendar.SECOND,59); - query.le(SzRuleByLaw::getCreateTime, calendar.getTime()); - } - - if (Objects.nonNull(page.getStmIm())) { - query.ge(SzRuleByLaw::getImplementationDate, page.getStmIm()); - } - - Date etmIm = page.getEtmIm(); - if (Objects.nonNull(etmIm)) { - calendar.setTime(etmIm); - calendar.set(Calendar.HOUR,23); - calendar.set(Calendar.MINUTE,59); - calendar.set(Calendar.SECOND,59); - query.le(SzRuleByLaw::getImplementationDate, calendar.getTime()); - } - - if (Objects.nonNull(page.getStmUd())) { - query.ge(SzRuleByLaw::getCreateTime, page.getStmUd()); - } - - Date etmUd = page.getEtmUd(); - if (Objects.nonNull(etmUd)) { - calendar.setTime(etmUd); - calendar.set(Calendar.HOUR,23); - calendar.set(Calendar.MINUTE,59); - calendar.set(Calendar.SECOND,59); - query.le(SzRuleByLaw::getCreateTime, calendar.getTime()); - } - - query.orderByDesc(SzRuleByLaw::getCreateTime); - Page data = service.page(page.getPageSo().toPage(), query); - data.getRecords() - .forEach(item -> item.setFiles(fileService.getFiles(getGroupId(), String.valueOf(item.getId())))); - return R.ok(data); - } - - - @Override - public String getGroupId() { - return "SzRuleByLaw"; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/SzTreatmentBasisController.java b/src/main/java/com/gunshi/project/xyt/controller/SzTreatmentBasisController.java deleted file mode 100644 index d8363c7..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/SzTreatmentBasisController.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.SzTreatmentBasis; -import com.gunshi.project.xyt.service.SzTreatmentBasisService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 描述: 案件登记表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "处理依据表") -@RestController -@RequestMapping(value="/szTreatmentBasis") -public class SzTreatmentBasisController{ - - @Autowired - private SzTreatmentBasisService service; - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody SzTreatmentBasis dto) { - - if (service.lambdaQuery().eq(SzTreatmentBasis::getLegalName,dto.getLegalName()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - - if (Objects.isNull(dto.getPId())){ - dto.setPId(0L); - } - - dto.setCreateTime(new Date()); - dto.setId(IdWorker.getId()); - - if (dto.getStatus() == 0) { - dto.setDisplay(0); - } else { - dto.setDisplay(1); - } - - boolean result = service.save(dto); - - return R.ok(result ? dto : null); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody SzTreatmentBasis dto) { - - - if (service.lambdaQuery() - .ne(SzTreatmentBasis::getId,dto.getId()) - .eq(SzTreatmentBasis::getLegalName,dto.getLegalName()) - .count() > 0) { - throw new IllegalArgumentException("当前名称已存在"); - } - - dto.setCreateTime(null); - dto.setCreateBy(null); - dto.setCreateName(null); - dto.setUpdateTime(new Date()); - if (dto.getStatus() == 0) { - dto.setDisplay(0); - } else { - dto.setDisplay(1); - } - boolean result = service.updateById(dto); - - return R.ok(result ? dto : null); - } - - @Operation(summary = "获取详情") - @GetMapping("/get/{id}") - public R get(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.getById(id)); - } - - @Operation(summary = "获取树") - @GetMapping("/get/tree") - public R> getTree() { - List list = service.list(); - if (CollectionUtils.isEmpty(list)){ - return R.ok(list); - } - Map> listMap = list.stream().collect(Collectors.groupingBy(SzTreatmentBasis::getPId)); - - list.forEach(o -> o.setChildren(listMap.get(o.getId()))); - List parentList = list.stream() - .filter(o -> 0L == o.getPId()) - .collect(Collectors.toList()); - - return R.ok(parentList); - } - - @Operation(summary = "获取树-不显示禁用的") - @GetMapping("/get/treeFiltered") - public R> getTreeFiltered() { - List list = service.list(); - if (CollectionUtils.isEmpty(list)){ - return R.ok(list); - } - Map> listMap = list.stream().collect(Collectors.groupingBy(SzTreatmentBasis::getPId)); - - list.forEach(o -> o.setChildren(listMap.get(o.getId()))); - List parentList = list.stream() - .filter(o -> 0L == o.getPId()) - .collect(Collectors.toList()); - - parentList.forEach(this::trim); - parentList.removeIf(node -> CollectionUtils.isEmpty(node.getChildren()) && (Integer.valueOf(0).equals(node.getDisplay()) || node.getDisplay() == null)); - - return R.ok(parentList); - } - - private boolean trim(SzTreatmentBasis node) { - List children = node.getChildren(); - boolean isMiddleNode = false; - if (CollectionUtils.isNotEmpty(children)) { - isMiddleNode = true; - children.removeIf(this::trim); - } - //没有子节点的节点,且display是0,是末端节点;没有子节点的节点,且曾经有过子节点,是中间节点 - //末端节点的display是0就删,中间节点没有子节点就删 - return CollectionUtils.isEmpty(children) && (isMiddleNode || Integer.valueOf(0).equals(node.getDisplay())); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - if (Objects.isNull(service.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - return R.ok(service.removeById(id)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java b/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java deleted file mode 100644 index c1c4a7d..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.mapper.TermiteSurveyMapper; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -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; - -/** - * 描述: 白蚁防治宣传 - * author: xusan - * date: 2024-08-28 10:29:58 - */ -@Tag(name = "白蚁防治宣传资料") -@RestController -@RequestMapping(value="/termite/adver") -public class TermiteAdverController extends AbstractCommonFileController{ - - @Autowired - private TermiteSurveyMapper termiteSurveyMapper; - - @Operation(summary = "宣传资料") - @GetMapping("/list") - public R> list() { - return R.ok(termiteSurveyMapper.queryFileList(getGroupId())); - } - - - @Override - public String getGroupId() { - return "termiteAdver"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverPicController.java b/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverPicController.java deleted file mode 100644 index 1a35d5f..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverPicController.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.model.TermiteAdverPic; -import com.gunshi.project.xyt.service.TermiteAdverPicService; -import com.gunshi.project.xyt.validate.markers.Insert; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.io.Serializable; -import java.util.List; -/** - * 描述: 白蚁防治宣传图片墙 - * author: xusan - * date: 2024-08-29 17:33:09 - */ -@Tag(name = "白蚁防治宣传图片墙") -@RestController -@RequestMapping(value="/termite/pic") -public class TermiteAdverPicController extends AbstractCommonFileController{ - - @Autowired - private TermiteAdverPicService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody TermiteAdverPic dto) { - return R.ok(service.saveData(dto)); - } - - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.queryList()); - } - - - @Override - public String getGroupId() { - return "termiteAdverPic"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/TermiteSurveyController.java b/src/main/java/com/gunshi/project/xyt/controller/TermiteSurveyController.java deleted file mode 100644 index 289ed19..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/TermiteSurveyController.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.db.dto.PageSo; -import com.gunshi.project.xyt.entity.so.TermiteSurveyPageSo; -import com.gunshi.project.xyt.model.TermiteSurvey; -import com.gunshi.project.xyt.model.TermiteSurveyDetail; -import com.gunshi.project.xyt.service.TermiteSurveyDetailService; -import com.gunshi.project.xyt.service.TermiteSurveyService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import com.ruoyi.common.utils.StringUtils; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 白蚁普查 - * author: xusan - * date: 2024-08-28 10:29:58 - */ -@Tag(name = "白蚁普查") -@RestController -@RequestMapping(value="/termite/survey") -public class TermiteSurveyController extends AbstractCommonFileController{ - - @Autowired - private TermiteSurveyService service; - @Autowired - private TermiteSurveyDetailService termiteSurveyDetailService; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody TermiteSurvey dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody TermiteSurvey dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.delData(id)); - } - - @Operation(summary = "详情") - @GetMapping("/detail/{id}") - public R detail(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.detail(id)); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> page(@RequestBody @Validated TermiteSurveyPageSo page) { - return R.ok(service.pageQuery(page)); - } - - @Operation(summary = "分页") - @PostMapping("/pageDetail") - public R> pageDetail(@RequestBody @Validated TermiteSurveyPageSo page) { - return R.ok(termiteSurveyDetailService.pageQuery(page)); - } - - @Operation(summary = "统计") - @PostMapping("/count") - public R> count(@RequestBody @Validated TermiteSurveyPageSo page) { - page.getPageSo().setPageSize(1000000); - Page termiteSurveyPage = termiteSurveyDetailService.pageQuery(page); - List records = termiteSurveyPage.getRecords(); - Map countMap = new HashMap<>(); - countMap.put("totalPoint",0l); - countMap.put("hasAnt",0l); - countMap.put("notAnt",0l); - countMap.put("noData",0l); - if(CollectionUtils.isEmpty(records)){ - return R.ok(countMap); - } - - page.getPageSo().setPageSize(1000000); - page.setPileNumber(null); - page.setSearchDate(null); - Page totalPage = termiteSurveyDetailService.pageQuery(page); - - if(CollectionUtils.isNotEmpty(totalPage.getRecords())){ - //所有点 去除空的 - long pileNumberCount = totalPage.getRecords().stream() - //.map(TermiteSurveyDetail::getPileNumber).filter(e -> StringUtils.isNotEmpty(e)) - .collect(Collectors.toSet()).stream().count(); - countMap.put("totalPoint", pileNumberCount); - } - - - //有危害 && 未处置 - long harmNumCount = records.stream() - .filter(e-> Objects.nonNull(e.getIsHarm()) && Objects.nonNull(e.getIsHandle()) - && e.getIsHarm().intValue() > 0 && e.getIsHandle().intValue()!=1).count(); - countMap.put("hasAnt", harmNumCount); - - //无危害 || (有危害&& 以处置) - long handleNummCount = records.stream() - .filter(e-> Objects.nonNull(e.getIsHarm()) && Objects.nonNull(e.getIsHandle()) - && (e.getIsHarm().intValue() == 0 || e.getIsHarm().intValue() > 0 && e.getIsHandle().intValue()==1)).count(); - - countMap.put("notAnt", handleNummCount); - - //无数据 - long count = records.stream().filter(e -> Objects.isNull(e.getIsHandle()) || e.getIsHandle().intValue() == 0).count(); - countMap.put("noData",count); - - return R.ok(countMap); - } - - - - @Override - public String getGroupId() { - return "termiteSurvey"; - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/TyYearRainfallController.java b/src/main/java/com/gunshi/project/xyt/controller/TyYearRainfallController.java deleted file mode 100644 index 68ffb80..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/TyYearRainfallController.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.TyYearRainfallPageSo; -import com.gunshi.project.xyt.entity.vo.TyYearRainfallVo; -import com.gunshi.project.xyt.service.TyYearRainfallService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -/** - * 描述: 典型年降雨资料表 - * author: xusan - * date: 2024-07-08 17:40:37 - */ -@Tag(name = "典型年降雨资料表") -@RestController -@RequestMapping(value="/tyYearRainfall") -public class TyYearRainfallController { - - @Autowired - private TyYearRainfallService service; - - - @Operation(summary = "新增") - @PostMapping("/insert") - public R insert(@Validated(Insert.class) @RequestBody TyYearRainfallVo dto) { - return R.ok(service.saveData(dto)); - } - - @Operation(summary = "修改") - @PostMapping("/update") - public R update(@Validated(Update.class) @RequestBody TyYearRainfallVo dto) { - return R.ok(service.updateData(dto)); - } - - @Operation(summary = "删除") - @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Long id) { - return R.ok(service.removeData(id)); - } - - @Operation(summary = "列表") - @PostMapping("/list") - public R> list() { - return R.ok(service.queryList()); - } - - @Operation(summary = "分页") - @PostMapping("/page") - public R> pageQuery(@RequestBody TyYearRainfallPageSo tyYearRainfallPageSo) { - return R.ok(service.pageQuery(tyYearRainfallPageSo)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/WeatherController.java b/src/main/java/com/gunshi/project/xyt/controller/WeatherController.java deleted file mode 100644 index c2e7047..0000000 --- a/src/main/java/com/gunshi/project/xyt/controller/WeatherController.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gunshi.project.xyt.controller; - -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.so.ShortWeatherSo; -import com.gunshi.project.xyt.entity.so.WeatherSo; -import com.gunshi.project.xyt.entity.vo.ForeRainVo; -import com.gunshi.project.xyt.service.ForecastService; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.annotation.Resource; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/3/11 - * - * @author wanyan - * @version 1.0 - */ -@RestController -@RequestMapping("/weather") -@Tag(name = "天气预报") -public class WeatherController { - - - @Resource - private ForecastService forecastService; - - - @Post(path = "/fore", summary = "24小时") - public R> fore(@RequestBody WeatherSo weatherSo) { - return R.ok(forecastService.fore(weatherSo)); - } - - - @Post(path = "/short/fore", summary = "短临预报") - public R> shortFore(@RequestBody ShortWeatherSo weatherSo) { - return R.ok(forecastService.shortFore(weatherSo)); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/MyConstant.java b/src/main/java/com/gunshi/project/xyt/entity/MyConstant.java deleted file mode 100644 index f3bb31e..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/MyConstant.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.entity; - -/** - * @author xusan - * @date 2023/4/27 9:41 - */ -public class MyConstant { - - public static final String - - // 删除 - DEL = "0", - - // 未删除 - REC = "1"; - - /** - * 数据-数据服务运维员 角色编码 - */ - public static final String ROLE_PUSH = "data_zh_om"; - public static final String REDIS_KEY = "xyt:"; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/SkSyncData.java b/src/main/java/com/gunshi/project/xyt/entity/SkSyncData.java deleted file mode 100644 index 8bcbf0a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/SkSyncData.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.gunshi.project.xyt.entity; - - -import com.gunshi.project.xyt.model.StPptnRD; -import lombok.Data; - -import java.util.List; - -/** - * @author Sun Lejun - * @version 1.0 - * @date 2024/2/23 - */ - -@Data -public class SkSyncData { - List stPptnRD; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/SkSyncResp.java b/src/main/java/com/gunshi/project/xyt/entity/SkSyncResp.java deleted file mode 100644 index 1cf61f2..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/SkSyncResp.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.gunshi.project.xyt.entity; - -import lombok.Data; - -/** - * @author Sun Lejun - * @version 1.0 - * @date 2024/2/26 - */ -@Data -public class SkSyncResp { - SkSyncData data; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/SyncDataReq.java b/src/main/java/com/gunshi/project/xyt/entity/SyncDataReq.java deleted file mode 100644 index 76c097b..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/SyncDataReq.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt.entity; - -import java.util.Date; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import lombok.Data; - -/** - * @author Sun Lejun - * @version 1.0 - * @date 2024/2/20 - */ - -@Data -public class SyncDataReq { - /** - * 抽取的行政区划编码 6位 - */ - private String adcd; - /** - * 抽取的开始时间 格式 yyyy-MM-dd - */ - private String startDate; - /** - * 抽取的结束时间 格式 yyyy-MM-dd - */ - private String endDate; - /** - * 抽取的类型 QX SW SK SH - */ - private String type; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/dto/InspectItemDto.java b/src/main/java/com/gunshi/project/xyt/entity/dto/InspectItemDto.java deleted file mode 100644 index f23d085..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/dto/InspectItemDto.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.entity.dto; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * 用户启停参数 - * Created by wanyan on 2024/1/22 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class InspectItemDto { - - @Schema(description = "id") - private Long id; - - @Schema(description = "状态(0启用 1停用)") - private Integer status; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/dto/RotaDto.java b/src/main/java/com/gunshi/project/xyt/entity/dto/RotaDto.java deleted file mode 100644 index f9d802d..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/dto/RotaDto.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.gunshi.project.xyt.entity.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.util.Date; -import java.util.List; - -/** - * 值班表人员参数 - * Created by wanyan on 2024/3/25 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class RotaDto { - - /** - * 日期 - */ - @Schema(description="日期",example = "2024-03-25") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - @NotNull(message = "日期不能为空") - private Date rotaDate; - - /** - * 是否节假日(0否 1是) - */ - @Schema(description="是否节假日(0否 1是)") - private Integer isHoliday; - - @Schema(description = "值班人员") - private List userDtoList; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/dto/RotaUserDto.java b/src/main/java/com/gunshi/project/xyt/entity/dto/RotaUserDto.java deleted file mode 100644 index 4cef55e..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/dto/RotaUserDto.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.entity.dto; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * 值班表参数 - * Created by wanyan on 2024/3/25 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class RotaUserDto { - - /** - * 类型(1带班领导 2值班人员) - */ - @Schema(description="类型(1带班领导 2值班人员)") - private Integer rotaType; - - /** - * 用户id - */ - @Schema(description="用户id") - private Long userId; - - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/dto/StZqrlBDto.java b/src/main/java/com/gunshi/project/xyt/entity/dto/StZqrlBDto.java deleted file mode 100644 index c4191b2..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/dto/StZqrlBDto.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.gunshi.project.xyt.entity.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.db.dto.DateRangeSo; -import com.gunshi.db.dto.DateTimeRangeSo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; - -/** - * 用户启停参数 - * Created by wanyan on 2024/1/22 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class StZqrlBDto { - - private String stcd; - - @Schema(description = "时间范围") - private DateTimeRangeSo dateSo; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/enums/SysFileType.java b/src/main/java/com/gunshi/project/xyt/entity/enums/SysFileType.java deleted file mode 100644 index fcbbe51..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/enums/SysFileType.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gunshi.project.xyt.entity.enums; - -import org.apache.commons.lang3.StringUtils; - -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -/** - * @author xusan - * @date 2022/7/14 16:55 - * 系统业务文件类型 对应 file_associations.type - */ -public enum SysFileType { - - SFT000("0", "水库基本信息-工程基础信息-工程特性表"), - SFT001("1", "水库基本信息-设计图纸和资料"), - SFT099("99", ""); - - - private String name; - private String value; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - private SysFileType(String name, String value) { - this.name = name; - this.value = value; - } - - public static Map map() { - Map map = new HashMap<>(); - SysFileType[] values = SysFileType.values(); - for (SysFileType e : values) { - map.put(e.getValue(), e); - } - return map; - } - - public static Map mapName() { - Map map = new HashMap<>(); - SysFileType[] values = SysFileType.values(); - for (SysFileType e : values) { - map.put(e.getName(), e); - } - return map; - } - - public static SysFileType getByValue(String value) { - if (Objects.isNull(value)) return null; - return map().get(value); - } - - public static SysFileType getByName(String name) { - if (StringUtils.isEmpty(name)) return null; - return mapName().get(name); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/page/GenericPageParams.java b/src/main/java/com/gunshi/project/xyt/entity/page/GenericPageParams.java deleted file mode 100644 index 4fd0025..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/page/GenericPageParams.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.entity.page; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * @author cxw - * @description: 通用分页参数 - * @classname GenericPageParams.java - * @create 2024-07-09, 星期二, 11:29:56 - */ -@Schema(description = "通用分页查询对象") -@Data -public class GenericPageParams { - - @Schema(description = "分页参数") - @TableField(exist = false) - private PageSo pageSo; - - @Schema(description = "排序字段") - @TableField(exist = false) - private String orderField; - - @Schema(description = "排序规则,是否升序") - @TableField(exist = false) - private Boolean isAsc; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/AssessTaskPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/AssessTaskPageSo.java deleted file mode 100644 index b8cb1d8..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/AssessTaskPageSo.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "考核任务分页查询对象") -public class AssessTaskPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="时段") - private DateRangeSo dateRangeSo; - - @Schema(description="考核任务名称") - private String taskName; - - @Schema(description="任务状态(0未启动 1评分中 2审核中 3已审核 5已作废);整改状态(0未整改 1已整改)") - private Integer status; - - @Schema(description="当前登录人id") - private Long userId; - - @Schema(description="整改对象") - private String objectUserName; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/AttCctvBasePage.java b/src/main/java/com/gunshi/project/xyt/entity/so/AttCctvBasePage.java deleted file mode 100644 index 8057093..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/AttCctvBasePage.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.baomidou.mybatisplus.annotation.TableField; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/17. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class AttCctvBasePage extends GeneralDataPage{ - - /** - * menu_id - */ - @Schema(description="menu_id") - private Long menuId; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/BroadcastWarnPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/BroadcastWarnPageSo.java deleted file mode 100644 index 08ad40d..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/BroadcastWarnPageSo.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "广播告警分页查询对象") -public class BroadcastWarnPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="时段") - private DateTimeRangeSo timeRangeSo; - - @Schema(description="站点id") - private Long stationId; - - @Schema(description="告警内容") - private String warnContent; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/CommonDataPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/CommonDataPageSo.java deleted file mode 100644 index e65fcf8..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/CommonDataPageSo.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "分页查询对象") -public class CommonDataPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="名称") - private String name; - - @Schema(description = "时间范围") - private DateRangeSo dateSo; - - @Schema(description = "类型(1大事记 2调度记录 3维修养护 4安全鉴定 5除险加固 6白蚁普查)") - private List types; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/CommonDataPageSo2.java b/src/main/java/com/gunshi/project/xyt/entity/so/CommonDataPageSo2.java deleted file mode 100644 index 095f921..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/CommonDataPageSo2.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateRangeSo; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "分页查询对象") -public class CommonDataPageSo2 { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="名称") - private String name; - - @Schema(description = "时间范围") - private DateTimeRangeSo dateSo; - - @Schema(description = "类型(1大事记 2调度记录 3维修养护 4安全鉴定 5除险加固 6白蚁普查)") - private List types; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/DataQueryCommonSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/DataQueryCommonSo.java deleted file mode 100644 index 5144be3..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/DataQueryCommonSo.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.Pattern; -import lombok.Data; - -/** - * - * Created by wanyan on 2024/2/2. - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "查询条件") -public class DataQueryCommonSo { - - @Schema(description="测站编码") - @NotEmpty(message = "测站编码不可为空") - private String stcd; - - @Schema(description = "开始时间") - @NotEmpty(message = "开始时间不能为空") - @Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$", message = "时间格式应为:yyyy-MM-dd HH:mm:ss") - private String stm; - - @Schema(description = "结束时间") - @NotEmpty(message = "结束时间不能为空") - @Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$", message = "时间格式应为:yyyy-MM-dd HH:mm:ss") - private String etm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/DispatchRecordPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/DispatchRecordPageSo.java deleted file mode 100644 index b439b97..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/DispatchRecordPageSo.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "分页查询对象") -public class DispatchRecordPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="操作人名称") - private String opUserName; - - @Schema(description = "时间范围") - private DateTimeRangeSo dateTimeSo; - - @Schema(description="状态(0执行中 1完成)") - private Integer status; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/GateHisPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/GateHisPageSo.java deleted file mode 100644 index 8a40c8f..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/GateHisPageSo.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "开关历史分页查询对象") -public class GateHisPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="时段") - private DateTimeRangeSo dateTimeRangeSo; - - @Schema(description="闸阀ID") - @NotEmpty(message = "闸阀代码不可为空") - private String valveCode; - - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/GateValveCctvRelPage.java b/src/main/java/com/gunshi/project/xyt/entity/so/GateValveCctvRelPage.java deleted file mode 100644 index af708e0..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/GateValveCctvRelPage.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/19. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class GateValveCctvRelPage extends GenericPageParams { - - /** - * 闸阀编号 - */ - @Schema(description="闸阀编号名称") - private String valveName; - - /** - * 视频点 - */ - @Schema(description="视频点名称") - private String indexName; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/GeneralDataPage.java b/src/main/java/com/gunshi/project/xyt/entity/so/GeneralDataPage.java deleted file mode 100644 index 1da0a3c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/GeneralDataPage.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: 数据通用查询 - * Created by XuSan on 2024/7/17. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class GeneralDataPage extends GenericPageParams { - - /** - * 代码 - */ - @Schema(description="代码") - private String code; - - /** - * 名称 - */ - @Schema(description="名称") - private String name; - - /** - * 类型 - */ - @Schema(description="类型") - private String type; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/HomeStStbprpBSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/HomeStStbprpBSo.java deleted file mode 100644 index 8499019..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/HomeStStbprpBSo.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.util.Date; - - -/** - * TODO - * - * @ClassName StPptnSo - * @Author Huang Qianxiang - * @Date 2024/2/21 14:20 - */ -@Data -@Schema(description = "首页站点查询参数") -public class HomeStStbprpBSo { - - - /** - * 开始时间 - */ - @Schema(description = "开始时间") - @NotNull(message = "开始时间不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date stm; - - /** - * 结束时间 - */ - @Schema(description="结束时间") - @NotNull(message = "结束时间不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date etm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/ImgWarnPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/ImgWarnPageSo.java deleted file mode 100644 index ae98202..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/ImgWarnPageSo.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "AI告警分页查询对象") -public class ImgWarnPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description = "告警时间") - private DateTimeRangeSo dateTimeRangeSo; - - @Schema(description="index_code") - private String indexCode; - - @Schema(description="告警类型(1人员闯入 2工程车辆识别 3漂浮物识别 4游泳识别)") - private Integer type; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/InspectProblemPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/InspectProblemPageSo.java deleted file mode 100644 index b695af4..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/InspectProblemPageSo.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "分页查询对象") -public class InspectProblemPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="巡查人id") - @NotNull(message = "巡查人id不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long inspectUserId; - - @Schema(description="是否处理(0否 1是)") - private Integer isHandle; - - @Schema(description = "时间范围") - private DateTimeRangeSo dateTimeRangeSo; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskPageSo.java deleted file mode 100644 index 19d6a1a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskPageSo.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "分页查询对象") -public class InspectTaskPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="创建人id") - @NotNull(message = "创建人id不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long createUserId; - - @Schema(description="状态(0未完成 1进行中 2已完成)") - private Integer status; - - @Schema(description="任务类型(1日常巡查 2特别检查 3汛前巡检)") - private Integer taskType; - - @Schema(description = "时间范围") - private DateTimeRangeSo dateTimeRangeSo; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskSo.java deleted file mode 100644 index cc4303f..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskSo.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.db.dto.DateRangeSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "巡检任务查询对象") -public class InspectTaskSo { - - - @Schema(description="巡查人id") - @NotNull(message = "巡查人id不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long inspectUserId; - - @Schema(description = "时间范围") - private DateRangeSo dateRangeSo; - - @Schema(description = "状态") - private List statusList; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/MaintainPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/MaintainPageSo.java deleted file mode 100644 index 19fa1f9..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/MaintainPageSo.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "分页查询对象") -public class MaintainPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="管护类型(1溢洪道淸障 2除草除杂 3设备养护 4环境清洁 5危险提示 6其他)") - private Integer maintainType; - - @Schema(description = "时间范围") - private DateTimeRangeSo dateTimeSo; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/MessageCenterPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/MessageCenterPageSo.java deleted file mode 100644 index 70a519c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/MessageCenterPageSo.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "消息中心分页查询对象") -public class MessageCenterPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="主题") - private String title; - - @Schema(description="发布人名字") - private String publishUserName; - - @Schema(description="接收人id") - @NotNull(message = "接收人id不可为空") - private Long receiveUserId; - - @Schema(description="是否已读(0否 1是)") - @NotNull(message = "是否已读不可为空") - private Integer status; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticDetailQuerySo.java b/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticDetailQuerySo.java deleted file mode 100644 index be1469a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticDetailQuerySo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateTimeRangeSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "布置图详细数据查询对象") -public class OsmoticDetailQuerySo { - - @Schema(description = "类型(2渗流 其他可不传)") - private Integer type = 1; - - @Schema(description = "时间") - private DateTimeRangeSo dateTimeRangeSo; - - @Schema(description = "测点编号") - @NotEmpty(message = "测点编号不可为空") - private String stationCode; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticDevicePage.java b/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticDevicePage.java deleted file mode 100644 index 6a31ded..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticDevicePage.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/18. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class OsmoticDevicePage extends GenericPageParams { - - /** - * 测点编号 - */ - @Schema(description="测点编号") - private String stationCode; - - /** - * 仪器编号 - */ - @Schema(description="仪器编号") - private String deviceCode; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQueryPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQueryPageSo.java deleted file mode 100644 index 9ce0fc9..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQueryPageSo.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "渗压/渗流/位移分页查询对象") -public class OsmoticQueryPageSo{ - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description = "上报时间") - private DateTimeRangeSo dateTimeRangeSo; - - @Schema(description = "监测断面") - private String profileCode; - - @Schema(description = "测点编号") - private String stationCode; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQuerySo.java b/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQuerySo.java deleted file mode 100644 index 4e44295..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQuerySo.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateTimeRangeSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import lombok.Data; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "测值查询对象") -public class OsmoticQuerySo { - - @Schema(description = "类型(1渗压 2渗流)") - private Integer type = 1; - - @Schema(description = "年度") - private Integer year; - - @Schema(description = "时间") - private DateTimeRangeSo dateTimeRangeSo; - - @Schema(description = "监测断面名称(只有导出时传)") - private String profileName; - - @Schema(description = "测点编号") - private List<@NotEmpty String> stationCodes; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/PersonnelPlanLogPage.java b/src/main/java/com/gunshi/project/xyt/entity/so/PersonnelPlanLogPage.java deleted file mode 100644 index 8b3505c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/PersonnelPlanLogPage.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class PersonnelPlanLogPage extends GenericPageParams { - - - /** - * 名字 - */ - @Schema(description="培训分类,0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他") - private Integer type; - - /** - * 参训人员 - */ - @Schema(description="参训人员") - private String trainees; - - /** - * 主办单位 - */ - @Schema(description="主办单位") - private String unit; - - /** - * 培训计划 - */ - @Schema(description="培训计划id") - private Long planId; - - /** - * 开始培训时间 - */ - @Schema(description="培训日期开始时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date stm; - - /** - * 结束培训时间 - */ - @Schema(description="培训日期结束时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date etm; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/PersonnelPlanPage.java b/src/main/java/com/gunshi/project/xyt/entity/so/PersonnelPlanPage.java deleted file mode 100644 index 3478b9e..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/PersonnelPlanPage.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class PersonnelPlanPage extends GenericPageParams { - - /** - * 联系方式 - */ - @Schema(description="填报人") - private String applicant; - - /** - * 名字 - */ - @Schema(description="培训班名称") - private String name; - - /** - * 开始培训时间 - */ - @Schema(description="开始培训时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date stm; - - /** - * 结束培训时间 - */ - @Schema(description="结束培训时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date etm; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/PicQuerySo.java b/src/main/java/com/gunshi/project/xyt/entity/so/PicQuerySo.java deleted file mode 100644 index b6b461c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/PicQuerySo.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.Pattern; -import lombok.Data; - -/** - * - * Created by wanyan on 2024/2/2. - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "查询条件") -public class PicQuerySo { - - @Schema(description="水库编码") - private String resCode; - - @Schema(description="测站编码") - private String stcd; - - @Schema(description = "开始时间") - @NotEmpty(message = "开始时间不能为空") - @Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$", message = "时间格式应为:yyyy-MM-dd HH:mm:ss") - private String stm; - - @Schema(description = "结束时间") - @NotEmpty(message = "结束时间不能为空") - @Pattern(regexp = "^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\\s+(20|21|22|23|[0-1]\\d):[0-5]\\d:[0-5]\\d$", message = "时间格式应为:yyyy-MM-dd HH:mm:ss") - private String etm; - - @Schema(description="分页参数") - private PageSo pageSo; - - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/RealRainBaseSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/RealRainBaseSo.java deleted file mode 100644 index b23e051..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/RealRainBaseSo.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import lombok.Data; - - -@Data -public class RealRainBaseSo { - @Schema(description="开始时间 格式:yyyy-MM-dd HH:mm:ss") - @NotBlank(message = "开始时间不能为空") - private String stm; - - @Schema(description="结束时间 格式:yyyy-MM-dd HH:mm:ss") - @NotBlank(message = "结束时间不能为空") - private String etm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/ResCodeSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/ResCodeSo.java deleted file mode 100644 index c813d69..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/ResCodeSo.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import lombok.Data; - -/** - * Description: - * Created by XuSan on 2024/7/15. - * - * @author XuSan - * @version 1.0 - */ -@Data -@Schema(description = "水库代码查询对象") -public class ResCodeSo { - - - /** - * 水库代码 - */ - @Schema(description="水库代码") - @NotBlank(message = "水库代码不能为空") - private String resCode; - - /** - * 水库代码 - */ - @Schema(description="类型(1防汛预案 2调度规程)") - private String type; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/ResMonthEcoFlowListSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/ResMonthEcoFlowListSo.java deleted file mode 100644 index 63464b5..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/ResMonthEcoFlowListSo.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by XuSan on 2024/7/15. - * - * @author XuSan - * @version 1.0 - */ -@Data -@Schema(description = "水库月核定生态流量列表查询对象") -public class ResMonthEcoFlowListSo { - - @NotNull(message = "年度不能为空") - @Schema(description = "年度") - private Integer year; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/ResPersonPage.java b/src/main/java/com/gunshi/project/xyt/entity/so/ResPersonPage.java deleted file mode 100644 index 413790c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/ResPersonPage.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/17. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class ResPersonPage extends GenericPageParams { - - - /** - * 联系方式 - */ - @Schema(description="联系方式") - private String contactInfo; - - /** - * 名字 - */ - @Schema(description="名字") - private String name; - - /** - * 类型,0:行政,1:主管部门,2:管理单位,3:巡查,4:技术 - */ - @Schema(description="类型,0:行政,1:主管部门,2:管理单位,3:巡查,4:技术") - private Integer type; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/RescueGoodsPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/RescueGoodsPageSo.java deleted file mode 100644 index a629bcf..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/RescueGoodsPageSo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "抢险物资分页查询对象") -public class RescueGoodsPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="物资名称") - private String goodsName; - - @Schema(description = "排序字段") - private String sortField; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/RescueTeamPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/RescueTeamPageSo.java deleted file mode 100644 index ae8586a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/RescueTeamPageSo.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "抢险队伍分页查询对象") -public class RescueTeamPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="队伍名称") - private String teamName; - - @Schema(description = "时间范围") - private DateRangeSo dateSo; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/ReservoirWaterCommonSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/ReservoirWaterCommonSo.java deleted file mode 100644 index 144d233..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/ReservoirWaterCommonSo.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import lombok.Data; - -/** - * - * Created by wanyan on 2024/2/2. - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "水库代码查询条件") -public class ReservoirWaterCommonSo { - - @Schema(description="水库代码") - @NotEmpty(message = "水库代码不可为空") - private String resCode; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/RotaLogPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/RotaLogPageSo.java deleted file mode 100644 index 7432d4b..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/RotaLogPageSo.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "值班日志分页查询对象") -public class RotaLogPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description = "时间范围") - private DateRangeSo dateSo; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/ShortWeatherSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/ShortWeatherSo.java deleted file mode 100644 index 2cd0b98..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/ShortWeatherSo.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.Pattern; -import lombok.Data; - - -@Data -public class ShortWeatherSo { - - - @Schema(description = "时间点(格式YYYYMMDDHHmm,mm只能取00和30)", example = "202402251100") - @NotEmpty(message = "时间点不能为空") - @Pattern(regexp = "^20[0-9]{6}[0-2][0-9]00|20[0-9]{6}[0-2][0-9]30", message = "时间格式应为:YYYYMMDDHHmm其中mm只能取00和30") - private String tm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/SoilMoisturePageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/SoilMoisturePageSo.java deleted file mode 100644 index f636e2b..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/SoilMoisturePageSo.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateRangeSo; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * - */ -@Data -@Schema(description = "考核任务分页查询对象") -public class SoilMoisturePageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="时段") - private DateRangeSo dateRangeSo; - - - @Schema(description="stcd") - private String stcd; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/StPptnSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/StPptnSo.java deleted file mode 100644 index 5ad33dd..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/StPptnSo.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; - - -/** - * TODO - * - * @ClassName StPptnSo - * @Author Huang Qianxiang - * @Date 2024/2/21 14:20 - */ -@Data -@Schema(description = "雨量站降雨量查询参数") -public class StPptnSo { - - - /** - * 测站名称 - */ - @Schema(description = "测站名称") - private String stnm; - - /** - * 时间段 - */ - @Schema(description = "时间段") - private Integer timeQuantum; - - /** - * 测站编码 - */ - @Schema(description="测站编码") - private String stcd; - - /** - * 选择的起始时间 - */ - @Schema(description = "选择的起始时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date startTime; - - /** - * 选择的结束时间 - */ - @Schema(description = "选择的结束时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date endTime; - - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/StStbprpBPage.java b/src/main/java/com/gunshi/project/xyt/entity/so/StStbprpBPage.java deleted file mode 100644 index 96caf29..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/StStbprpBPage.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/17. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class StStbprpBPage extends GeneralDataPage{ - /** - * 归属协议 - */ - @Schema(description="归属协议") - private String agreement; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/StStbprpBSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/StStbprpBSo.java deleted file mode 100644 index 86bb11e..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/StStbprpBSo.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - - -/** - * TODO - * - * @ClassName StPptnSo - * @Author Huang Qianxiang - * @Date 2024/2/21 14:20 - */ -@Data -@Schema(description = "站点查询参数") -public class StStbprpBSo { - - - /** - * 测站名称 - */ - @Schema(description = "测站名称") - private String stnm; - - /** - * 测站编码 - */ - @Schema(description="测站编码") - private String stcd; - - /** - * 河流名称 - */ - @Schema(description="河流名称") - private String rvnm; - - /** - * 水系名称 - */ - @Schema(description="水系名称") - private String hnnm; - - /** - * 流域名称 - */ - @Schema(description="流域名称") - private String bsnm; - - - /** - * 站类,PP=雨量站,RR=水库水位站,ZQ=河道水位站,TX=图像站 - */ - @Schema(description="站类,PP=雨量站,RR=水库水位站,ZQ=河道水位站,TX=图像站") - private String sttp; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/StatisticsQuerySo.java b/src/main/java/com/gunshi/project/xyt/entity/so/StatisticsQuerySo.java deleted file mode 100644 index 9eb48b5..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/StatisticsQuerySo.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "报表统计查询对象") -public class StatisticsQuerySo { - - @Schema(description="年份") - private Integer year; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/SzCasePage.java b/src/main/java/com/gunshi/project/xyt/entity/so/SzCasePage.java deleted file mode 100644 index 38438d4..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/SzCasePage.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class SzCasePage extends GenericPageParams { - - @Schema(description="案件类型 0:违建,1:毁林垦荒,2:筑坝拦汊,3:填占库容,4:违法取水,5:其他") - private Integer caseType; - - @Schema(description="案件名称") - private String caseName; - - @Schema(description="案件编号") - private String caseId; - - @Schema(description="开始时间 格式:yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date stm; - - @Schema(description="结束时间 格式:yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date etm; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/SzRegulatoryFrameworkPage.java b/src/main/java/com/gunshi/project/xyt/entity/so/SzRegulatoryFrameworkPage.java deleted file mode 100644 index 0786bb6..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/SzRegulatoryFrameworkPage.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class SzRegulatoryFrameworkPage extends GenericPageParams { - - @Schema(description="制度类型 0:党支部工作制度,1:行政工作制度,2:部门工作制度,3:安全管理制度,4:工程管理制度,5:技术规程,6:岗位责任制") - private Integer type; - - @Schema(description="标题") - private String name; - - @Schema(description="发布单位") - private String fillUnit; - - @Schema(description="开始时间 格式:yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date stm; - - @Schema(description="结束时间 格式:yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date etm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/SzRuleByLawPage.java b/src/main/java/com/gunshi/project/xyt/entity/so/SzRuleByLawPage.java deleted file mode 100644 index 061e883..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/SzRuleByLawPage.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class SzRuleByLawPage extends GenericPageParams { - - @Schema(description="法律性质 0:宪法,1:法律,2:行政法规,3:督察法规,4:司法解释,5:地方性法规") - private Integer type; - - @Schema(description="标题") - private String name; - - @Schema(description="制定机关") - private String fillUnit; - - - /** - * 公布日期开始时间 - */ - @Schema(description="公布日期开始时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date stmAd; - - /** - * 公布日期结束时间 - */ - @Schema(description="公布日期结束时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date etmAd; - - - /** - * 施行日期开始时间 - */ - @Schema(description="施行日期开始时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date stmIm; - - /** - * 施行日期结束时间 - */ - @Schema(description="施行日期结束时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date etmIm; - - - /** - * 上传时间开始时间 - */ - @Schema(description="上传时间开始时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date stmUd; - - /** - * 施行日期结束时间 - */ - @Schema(description="施行日期结束时间 格式:yyyy-MM-dd") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date etmUd; - - - /** - * 时效性 - */ - @Schema(description="时效性 0:尚未生效,1:有效,2:已修改,3:已废止") - private Integer timeliness; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java deleted file mode 100644 index 3cbe185..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.sql.Date; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "白蚁普查分页查询对象") -public class TermiteSurveyPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="年份") - private String year; - - @Schema(description="危害情况(0无危害 1有危害)") - private Integer isHarm; - - @Schema(description = "监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date searchDate; - - @Schema(description = "监测点") - private String pileNumber; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/TyYearRainfallPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/TyYearRainfallPageSo.java deleted file mode 100644 index 3c0ef0a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/TyYearRainfallPageSo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "典型年降雨分页查询对象") -public class TyYearRainfallPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="丰平枯(1枯 2偏枯 3平 4偏丰 5丰)") - private Integer status; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/WarnPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/WarnPageSo.java deleted file mode 100644 index dd06f83..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/WarnPageSo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(description = "隐患预警分页查询对象") -public class WarnPageSo extends WarnSo{ - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/WarnRulePageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/WarnRulePageSo.java deleted file mode 100644 index 5826873..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/WarnRulePageSo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "预警规则配置分页查询对象") -public class WarnRulePageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="告警类型(1渗压监测 2渗流监测 3位移监测)") - private Integer type; - - @Schema(description="测点编号") - private String stationCode; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/WarnSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/WarnSo.java deleted file mode 100644 index 7fc0677..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/WarnSo.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import com.gunshi.db.dto.DateTimeRangeSo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "隐患预警查询对象") -public class WarnSo { - - @Schema(description = "时间段") - private DateTimeRangeSo dateTimeRangeSo; - - @Schema(description="告警类型(1渗压监测 2渗流监测 3位移监测)") - private Integer type; - - @Schema(description="测点编号") - private String stationCode; - - @Schema(description="告警级别(1黄色 2红色)") - private Integer level; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/WeatherSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/WeatherSo.java deleted file mode 100644 index 10ae5c7..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/so/WeatherSo.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.gunshi.project.xyt.entity.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.Pattern; -import lombok.Data; - - -@Data -public class WeatherSo { - - - @Schema(description = "时间点(tm格式YYYYMMDDHH,HH只能取08和20)",example = "2023062908") - @NotEmpty(message = "时间点不能为空") - @Pattern(regexp = "^20[0-9]{6}08|20[0-9]{6}20", message = "时间格式应为:YYYYMMDDHH其中HH只能为08或20") - private String tm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/ApiVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/ApiVo.java deleted file mode 100644 index 934fec7..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/ApiVo.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class ApiVo { - - @Schema(description = "开始时间, 格式应为:yyyy-MM-dd HH:mm:ss", example = "2023-06-15 08:00:00") - private String startTime; - - @Schema(description = "结束时间, 格式应为:yyyy-MM-dd HH:mm:ss", example = "2023-06-15 08:00:00") - private String endTime; - - @Schema(description = "页数", example = "1") - private Integer pageNumber = 1; - - @Schema(description = "条数", example = "10") - private Integer pageSize = 10; - - @Schema(description = "过滤条件", example = "[]") - private List filter; - - @AllArgsConstructor - @NoArgsConstructor - @Data - public static class Filter { - - @Schema(description = "查询列名 publishUnit:发布单位,warnSignalType:类型,warnSignalLevel:级别", example = "publishUnit") - private String name; - - @Schema(description = "查询类型", example = "like") - private String condition; - - @Schema(description = "值", example = "%1%") - private String description; - - } -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRatingVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRatingVo.java deleted file mode 100644 index 788c325..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRatingVo.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.model.AssessIndicatorRating; -import com.gunshi.project.xyt.model.AssessTeamRating; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.List; - -@Data -public class AssessRatingVo extends AssessTeamRating { - - @Schema(description="考核类目id") - @JsonSerialize(using = ToStringSerializer.class) - private Long categoryId; - - @Schema(description="考核类目名称") - private String name; - - @Schema(description="指标名称") - private String indicatorName; - - @Schema(description="标准分数") - private Integer standardScore; - - @Schema(description="指标得分") - private BigDecimal indicatorScore; - - @Schema(description="考核成员id") - @JsonSerialize(using = ToStringSerializer.class) - private Long teamUserId; - - @Schema(description="考核成员") - private String teamUserName; - - @Schema(description = "评分细则") - private List indicatorRatings; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRectifyVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRectifyVo.java deleted file mode 100644 index b8743c5..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRectifyVo.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.model.AssessTeamRating; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Data -public class AssessRectifyVo extends AssessTeamRating { - - @Schema(description="考核类目id") - @JsonSerialize(using = ToStringSerializer.class) - private Long categoryId; - - @Schema(description="考核类目名称") - private String name; - - @Schema(description="指标名称") - private String indicatorName; - - @Schema(description="任务名称") - private String taskName; - - @Schema(description="考核对象id") - @JsonSerialize(using = ToStringSerializer.class) - private Long objectUserId; - - @Schema(description="考核对象") - private String objectUserName; - - @Schema(description="考核等级(1优秀 2良好 3合格)") - private Integer assessLevel; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessResultVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AssessResultVo.java deleted file mode 100644 index 5665a0b..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessResultVo.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnore; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import lombok.Data; - -import java.math.BigDecimal; - -@Data -@ExcelIgnoreUnannotated -public class AssessResultVo { - - @ExcelProperty({"考核对象"}) - @ColumnWidth(15) - private String objectUserName; - - @ExcelProperty({"考核类目"}) - @ColumnWidth(15) - private String categoryName; - - @ExcelProperty({"指标名称"}) - @ColumnWidth(15) - private String indicatorName; - - @ExcelProperty({"扣分"}) - private BigDecimal deductScore; - - @ExcelProperty({"考核得分"}) - @ColumnWidth(15) - private BigDecimal resScore; - - - @ExcelIgnore - @JsonSerialize(using = ToStringSerializer.class) - private Long objectId; - - @ExcelIgnore - @JsonSerialize(using = ToStringSerializer.class) - private Long indicatorId; - - @ExcelIgnore - private Integer standardScore; - - @ExcelIgnore - private BigDecimal assessScore; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessScoreVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AssessScoreVo.java deleted file mode 100644 index 5d1065d..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessScoreVo.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.AssessTeamRating; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.List; - -@Data -public class AssessScoreVo { - - @Schema(description="任务Id") - private Long taskId; - - @Schema(description="总分") - private BigDecimal score; - - @Schema(description="评分信息") - private List ratings; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AttResBaseVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AttResBaseVo.java deleted file mode 100644 index 31a39f6..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AttResBaseVo.java +++ /dev/null @@ -1,232 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 水库水情 - * Created by wanyan on 2024/2/20 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class AttResBaseVo { - - /** - * 测站编码 - */ - @Schema(description = "测站编码") - private String stcd; - - /** - * 测站名称 - */ - @Schema(description = "测站名称") - private String stnm; - - /** - * 站类 - */ - @Schema(description = "站类(RR水库水文站 ZQ,ZP河道水文站)") - private String sttp; - - /** - * 来源 - */ - @Schema(description = "来源") - private String source; - - /** - * 水库代码 - */ - @Schema(description = "水库代码") - private String resCode; - - /** - * 经度 - */ - @Schema(description = "经度") - private BigDecimal lgtd; - - /** - * 纬度 - */ - @Schema(description = "纬度") - private BigDecimal lttd; - - /** - * 行政区划代码 - */ - @Schema(description="行政区划代码") - private String adcd; - - /** - * 行政区划名称 - */ - @Schema(description="行政区划名称") - private String adnm; - - /** - * 站址 - */ - @Schema(description="站址") - private String stlc; - - - /** - * 主汛期防洪限制水位 - */ - @Schema(description = "主汛期防洪限制水位") - private BigDecimal flLowLimLev; - - /** - * 总库容 - */ - @Schema(description = "总库容") - private BigDecimal totCap; - - /** - * 流域名称 - */ - @Schema(description="流域名称") - private String lyname; - - /** - * 监测时间 - */ - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 监测水位 - */ - @Schema(description="监测水位") - private BigDecimal rz; - - @Schema(description="坝址控制流域面积") - private BigDecimal watShedArea; - - /** - * 超讯限 - */ - @Schema(description="超讯限") - private BigDecimal aFsltdz; - - /** - * 水位涨跌情况 - */ - @Schema(description="水位涨跌情况(0无变化 1涨 2跌)") - private Integer state; - - /** - * 设计洪水位 - */ - @Schema(description="设计洪水位") - private BigDecimal desFloodLev; - - /** - * 校核洪水位 - */ - @Schema(description = "校核洪水位") - private BigDecimal calFloodLev; - - - /** - * 正常蓄水位 - */ - @Schema(description = "正常蓄水位") - private BigDecimal normWatLev; - - - /** - * 死水位 - */ - @Schema(description = "死水位") - private BigDecimal deadLev; - - - /** - * 坝顶高程 - */ - @Schema(description = "坝顶高程") - private BigDecimal crestElev; - - @Schema(description="死库容") - private BigDecimal deadCap; - - /** - * 兴利库容 - */ - @Schema(description = "兴利库容") - private BigDecimal benResCap; - - /** - * 水库当前库容 - */ - @Schema(description = "水库当前库容") - private BigDecimal nowCap; - - - /** - * 雨量时间 - */ - @Schema(description="雨量时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date drpTm; - - /** - * 小时雨量 - */ - @Schema(description="小时雨量") - private BigDecimal h1; - - /** - * 3小时雨量 - */ - @Schema(description="3小时雨量") - private BigDecimal h3; - - /** - * 6小时雨量 - */ - @Schema(description="6小时雨量") - private BigDecimal h6; - - /** - * 12小时雨量 - */ - @Schema(description="12小时雨量") - private BigDecimal h12; - - - /** - * 24小时雨量 - */ - @Schema(description="24小时雨量") - private BigDecimal h24; - - /** - * 今日雨量 - */ - @Schema(description="今日雨量") - private BigDecimal today; - - @Schema(description = "是否超校核水位(0否 1是)") - private Integer calState; - - @Schema(description = "是否超设计水位(0否 1是)") - private Integer desState; - - @Schema(description = "是否超汛限水位(0否 1是)") - private Integer flState; - - @Schema(description = "建站日期") - private String esstym; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AttResMonitorVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AttResMonitorVo.java deleted file mode 100644 index b3879f9..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AttResMonitorVo.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 水库监测数据 - * Created by wanyan on 2024/2/20 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class AttResMonitorVo { - - /** - * 测站编码 - */ - @Schema(description = "测站编码") - private String stcd; - - /** - * 监测时间 - */ - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 雨量 - */ - @Schema(description="雨量") - private BigDecimal drp; - - /** - * 监测水位 - */ - @Schema(description="监测水位") - private BigDecimal rz; - - /** - * 库容 - */ - @Schema(description="库容") - private BigDecimal w; - - /** - * 今日雨量 - */ - @Schema(description="今日雨量") - private BigDecimal todayRainNum; - - /** - * 今日雨量 - */ - @Schema(description="今日雨量") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date todayRainNumTm; - - /** - * 灌溉发电流量 - */ - @Schema(description="灌溉发电流量") - private BigDecimal outPowerNum; - - /** - * 灌溉发电流量 - */ - @Schema(description="灌溉发电流量") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date outPowerNumTm; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AttRvBaseVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AttRvBaseVo.java deleted file mode 100644 index 025923c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AttRvBaseVo.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 河道水情 - * Created by wanyan on 2024/2/20 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class AttRvBaseVo { - - /** - * 测站编码 - */ - @Schema(description = "测站编码") - private String stcd; - - /** - * 测站名称 - */ - @Schema(description = "测站名称") - private String stnm; - - /** - * 站类 - */ - @Schema(description = "站类(RR水库水文站 ZQ,ZP河道水文站)") - private String sttp; - - /** - * 来源 - */ - @Schema(description = "来源") - private String source; - - /** - * 经度 - */ - @Schema(description = "经度") - private BigDecimal lgtd; - - /** - * 纬度 - */ - @Schema(description = "纬度") - private BigDecimal lttd; - - /** - * 行政区划代码 - */ - @Schema(description="行政区划代码") - private String adcd; - - /** - * 行政区划名称 - */ - @Schema(description="行政区划名称") - private String adnm; - - - /** - * 河流名称 - */ - @Schema(description = "河流名称") - private String rvnm; - - /** - * 流域名称 - */ - @Schema(description="流域名称") - private String lyname; - - /** - * 站址 - */ - @Schema(description="站址") - private String stlc; - - /** - * 监测时间 - */ - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 水位涨跌情况 - */ - @Schema(description="水位涨跌情况(0无变化 1涨 2跌)") - private Integer state; - - /** - * 监测水位 - */ - @Schema(description="监测水位") - private BigDecimal z; - - @Schema(description="警戒水位") - private BigDecimal wrz; - - @Schema(description="危险水位") - private BigDecimal grz; - - /** - * 图片路径 - */ - @Schema(description = "图片路径") - private String imgPath; - - @Schema(description="是否超危险水位(0否 1是)") - private Integer gstate; - - @Schema(description="是否超警戒水位(0否 1是)") - private Integer wstate; - - @Schema(description = "建站日期") - private String esstym; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AttRvMonitorDetailVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AttRvMonitorDetailVo.java deleted file mode 100644 index bd0740a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AttRvMonitorDetailVo.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.math.BigDecimal; - -/** - * 河道监测数据(下方表格) - * Created by wanyan on 2024/2/20 - * - * @author wanyan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class AttRvMonitorDetailVo extends StPptnDetailsVo { - - @Schema(description="24小时水位变幅(m)") - private BigDecimal rzDiff; - - @Schema(description="本年最高水位(m)") - private BigDecimal maxRz; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AttRvMonitorVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AttRvMonitorVo.java deleted file mode 100644 index bee4205..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AttRvMonitorVo.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 河道监测数据 - * Created by wanyan on 2024/2/20 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class AttRvMonitorVo { - - /** - * 测站编码 - */ - @Schema(description = "测站编码") - private String stcd; - - /** - * 监测时间 - */ - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 雨量 - */ - @Schema(description="雨量") - private BigDecimal drp; - - /** - * 监测水位 - */ - @Schema(description="监测水位") - private BigDecimal z; - - /** - * 实测流量 - */ - @Schema(description="实测流量") - private BigDecimal q; - - /** - * 转换流量 - */ - @Schema(description="转换流量") - private BigDecimal tq; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/CameraOnlineVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/CameraOnlineVo.java deleted file mode 100644 index 403af6c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/CameraOnlineVo.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/7/26 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class CameraOnlineVo { - - @Schema(description="摄像头code") - private String indexCode; - - @Schema(description="在线状态,0离线,1在线") - private Integer online; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/CartogramVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/CartogramVo.java deleted file mode 100644 index 31551ff..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/CartogramVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.List; - -/** - * TODO - * - * @ClassName CartogramVo - * @Author Huang Qianxiang - * @Date 2024/3/26 14:24 - */ -@Data -public class CartogramVo { - - @Schema(description = "时间") - private List time; - - @Schema(description = "实测") - private List actual; - - @Schema(description = "累计") - private List total; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/CctvControlVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/CctvControlVo.java deleted file mode 100644 index 0d78727..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/CctvControlVo.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/7/26 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class CctvControlVo { - - @Schema(description="摄像头code") - private String indexCode; - - @Schema(description="动作(0开始 1停止)") - private Integer action; - - @Schema(description="云台速度") - private Integer speed; - - @Schema(description="命令(LEFT 左转\n" + - "RIGHT右转\n" + - "UP 上转\n" + - "DOWN 下转\n" + - "ZOOM_IN 焦距变大\n" + - "ZOOM_OUT 焦距变小\n" + - "LEFT_UP 左上\n" + - "LEFT_DOWN 左下\n" + - "RIGHT_UP 右上\n" + - "RIGHT_DOWN 右下\n" + - "FOCUS_NEAR 焦点前移\n" + - "FOCUS_FAR 焦点后移\n" + - "IRIS_ENLARGE 光圈扩大\n" + - "IRIS_REDUCE 光圈缩小\n" + - "WIPER_SWITCH 接通雨刷开关\n" + - "START_RECORD_TRACK 开始记录运行轨迹\n" + - "STOP_RECORD_TRACK 停止记录运行轨迹\n" + - "START_TRACK 开始运行轨迹\n" + - "STOP_TRACK 停止运行轨迹;)") - private String command; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/DispatchRecordVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/DispatchRecordVo.java deleted file mode 100644 index 8a9fd92..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/DispatchRecordVo.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnore; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.format.DateTimeFormat; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; - -@Data -@ExcelIgnoreUnannotated -public class DispatchRecordVo { - - @Schema(description="调度开始时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @ExcelProperty({"调度开始时间"}) - @ColumnWidth(20) - @DateTimeFormat(DateFormatString.YYYY_MM_DD_HH_MM_SS) - private Date startTime; - - @Schema(description="调度结束时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @ExcelProperty({"调度结束时间"}) - @ColumnWidth(20) - @DateTimeFormat(DateFormatString.YYYY_MM_DD_HH_MM_SS) - private Date endTime; - - @Schema(description="状态(0执行中 1完成)") - @ExcelIgnore - private Integer status; - - @ExcelProperty({"调度原因"}) - @ColumnWidth(50) - private String dispatchReason; - - @Schema(description="调度详情") - @ExcelProperty({"调度详情"}) - @ColumnWidth(50) - private String dispatchDetail; - - @Schema(description="操作人") - @ExcelProperty({"操作人"}) - private String opUserName; - - @Schema(description="调度状态") - @ExcelProperty({"调度状态"}) - private String statusName; - - public void setStatus(Integer status){ - this.status = status; - if (this.status == 0) { - this.statusName = "执行中"; - } else if (this.status == 1) { - this.statusName = "完成"; - } - } -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/ForeRainStatVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/ForeRainStatVo.java deleted file mode 100644 index f466056..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/ForeRainStatVo.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.List; - -/** - * 天气预报-流域统计 - * Created by wanyan on 2024/3/13 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class ForeRainStatVo { - - @Schema(description = "id") - private String id; - - @Schema(description = "名称") - private String name; - - @Schema(description = "雨量") - private Double drp; - - @Schema(description="经度") - private BigDecimal lgtd; - - @Schema(description="纬度") - private BigDecimal lttd; - - @JsonIgnore - private List meshrainVos; - - @Schema(description = "逐小时雨量") - private List timeRainVos; - - @JsonIgnore - private String geom; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/ForeRainTimeVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/ForeRainTimeVo.java deleted file mode 100644 index f9cb9d9..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/ForeRainTimeVo.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Builder; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 天气预报-水库统计 - * Created by wanyan on 2024/3/13 - * - * @author wanyan - * @version 1.0 - */ -@Data -@Builder -public class ForeRainTimeVo { - - @Schema(description = "时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - - @Schema(description = "雨量") - private BigDecimal drp; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/ForeRainVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/ForeRainVo.java deleted file mode 100644 index 0552899..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/ForeRainVo.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.List; - - -@Data -public class ForeRainVo { - private String stcd; - - @Schema(description = "测站名称") - private String stnm; - - private String lgtd; - - private String lttd; - - @Schema(description = "1h(mm)") - private BigDecimal h1; - - @Schema(description = "3h(mm)") - private BigDecimal h3; - - @Schema(description = "6h(mm)") - private BigDecimal h6; - - @Schema(description = "12h(mm)") - private BigDecimal h12; - - @Schema(description = "24h(mm)") - private Double h24; - - @Schema(description = "2h(mm)") - private Double h2; - - @Schema(description = "逐小时雨量") - private List timeRainVos; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/ForecastResultVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/ForecastResultVo.java deleted file mode 100644 index 1b14ef7..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/ForecastResultVo.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** -*@description 预测结果VO -*@author cxw -*@classname ForecastResultVo.java -*@create 2024-07-31, 周三, 11:05:04 -*/ -@Schema(description="预测结果VO") -@Data -public class ForecastResultVo { - - /** - * 时间 - */ - @Schema(description="时间") - private String tm; - - /** - * 预测入库流量 - */ - @Schema(description="预测入库流量") - private BigDecimal ycRkQValue; - - /** - * 实际入库流量 - */ - @Schema(description="实际入库流量") - private BigDecimal realRkQValue; - - /** - * 预测出库流量 - */ - @Schema(description="预测出库流量") - private BigDecimal ycCkQValue; - - /** - * 实际出库流量 - */ - @Schema(description="实际出库流量") - private BigDecimal realCkQValue; - - /** - * 预测水库水位 - */ - @Schema(description="预测水库水位") - private BigDecimal ycSwHValue; - - /** - * 实际水库水位 - */ - @Schema(description="实际水库水位") - private BigDecimal realSwHValue; - - /** - * 水位:预测-实测 - */ - @Schema(description="水位:预测-实测") - private BigDecimal swHDValue; - - /** - * 降雨 - */ - @Schema(description="降雨") - private BigDecimal drp; - - /** - * 是否是预测雨量(0:真实 1:预测) - */ - @Schema(description="是否是预测雨量(0:真实 1:预测)") - private String ispreDrp; - - /** - * 径流深 - */ - @Schema(description="径流深") - private BigDecimal r; - - /** - * 主汛期防洪限制水位 - */ - @Schema(description="主汛期防洪限制水位") - private BigDecimal flLowLimLev; - - /** - * 当前堰顶高度预警值 - */ - @Schema(description="当前堰顶高度预警值") - private BigDecimal currentYdgdyjz; - - /** - * 土壤含水量 - */ - @Schema(description="土壤含水量") - private BigDecimal pa; - - /** - * 水库当前库容 - */ - @Schema(description = "水库当前库容") - private BigDecimal nowCap; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/GateMonitorDataVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/GateMonitorDataVo.java deleted file mode 100644 index 47b6d37..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/GateMonitorDataVo.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class GateMonitorDataVo { - - @Schema(description = "水闸编号") - private String gateCode; - - @Schema(description = "测站") - private String stcd; - - @Schema(description = "类型(1闸前水位站 2闸后水位站 3流量站)") - private Integer type; - - @Schema(description = "时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - @Schema(description = "值") - private BigDecimal value; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/GateStautsVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/GateStautsVo.java deleted file mode 100644 index d8ea9b1..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/GateStautsVo.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnore; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; - -/** - * Description: - * Created by wanyan on 2024/7/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class GateStautsVo { - - @Schema(description="闸阀ID") - @ExcelIgnore - private String valveCode; - - /** - * 闸阀名称 - */ - @Schema(description="闸阀名称") - @ExcelProperty({"闸阀名称"}) - @ColumnWidth(20) - private String valveName; - - - @Schema(description="开关状态") - @ExcelProperty({"开关状态"}) - @ColumnWidth(20) - private String status; - - /** - * 操作时间 - */ - @Schema(description="操作时间") - @ExcelProperty({"操作时间"}) - @ColumnWidth(25) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - @Schema(description = "监测时间是否离当前时间超过2小时(0否 1是)") - @ExcelIgnore - private Integer flag = 0; - - @Schema(description="是否可手动控制") - @ExcelIgnore - private Boolean manualOperation; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/GateValveCctvRelVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/GateValveCctvRelVo.java deleted file mode 100644 index 60b34af..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/GateValveCctvRelVo.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.GateValveCctvRel; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/19. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class GateValveCctvRelVo extends GateValveCctvRel { - /** - * 闸阀名称 - */ - @Schema(description="闸阀名称") - private String valveName; - - /** - * id - */ - @Schema(description="摄像头id") - private Long indexId; - - - /** - * 摄像头名称 - */ - @Schema(description="摄像头名称") - private String name; - - @Schema(description="类型(1球机 2枪机)") - private Integer type; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/GateValveOplogVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/GateValveOplogVo.java deleted file mode 100644 index b7707f9..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/GateValveOplogVo.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnore; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; - -/** - * Description: - * Created by wanyan on 2024/7/19 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class GateValveOplogVo { - - @Schema(description="闸阀ID") - @ExcelIgnore - private String valveCode; - - /** - * 闸阀名称 - */ - @Schema(description="闸阀名称") - @ExcelProperty({"闸阀名称"}) - @ColumnWidth(20) - private String valveName; - - /** - * 操作人 - */ - @Schema(description="操作人") - @ExcelProperty({"操作人"}) - private String opUserName; - - /** - * 操作时间 - */ - @Schema(description="操作时间") - @ExcelProperty({"操作时间"}) - @ColumnWidth(25) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - @Schema(description="操作内容") - @ExcelProperty({"操作内容"}) - @ColumnWidth(20) - private String opContent; - - @Schema(description="设定开度") - @ExcelProperty({"设定开度"}) - private String status; - - @Schema(description="操作前开度") - @ExcelProperty({"操作前开度"}) - private String beforeStatus; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeIaCBsnssinfoVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/HomeIaCBsnssinfoVo.java deleted file mode 100644 index ba73f80..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeIaCBsnssinfoVo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.IaCBsnssinfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/10. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class HomeIaCBsnssinfoVo extends IaCBsnssinfo { - - /** - * 行政区划名 - */ - @Schema(description="行政区划名") - private String adnm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeIaCDanadVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/HomeIaCDanadVo.java deleted file mode 100644 index 576ed7b..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeIaCDanadVo.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.IaCDanad; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/10. - * - * @author XuSan - * @version 1.0 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class HomeIaCDanadVo extends IaCDanad { - - /** - * 行政区划名 - */ - @Schema(description="行政区划名") - private String adnm; - - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeIaCFlrvvlgVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/HomeIaCFlrvvlgVo.java deleted file mode 100644 index 8f472b8..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeIaCFlrvvlgVo.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.IaCFlrvvlg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/10. - * - * @author XuSan - * @version 1.0 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class HomeIaCFlrvvlgVo extends IaCFlrvvlg { - - /** - * 行政区划名 - */ - @Schema(description="行政区划名") - private String adnm; - - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeOsmoticFlowDeviceVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/HomeOsmoticFlowDeviceVo.java deleted file mode 100644 index c3d5b2f..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeOsmoticFlowDeviceVo.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.model.OsmoticFlowDevice; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * Description: - * Created by XuSan on 2024/7/10. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class HomeOsmoticFlowDeviceVo extends OsmoticFlowDevice { - - - /** - * 管水位 - */ - @Schema(description="流量") - private String q; - - /** - * 监测时间 - */ - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeOsmoticPressDeviceVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/HomeOsmoticPressDeviceVo.java deleted file mode 100644 index 263331f..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeOsmoticPressDeviceVo.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.model.OsmoticPressDevice; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** -* 描述: 渗压设备表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@EqualsAndHashCode(callSuper = true) -@Data -public class HomeOsmoticPressDeviceVo extends OsmoticPressDevice { - - /** - * 管水位 - */ - @Schema(description="管水位") - private String value; - - /** - * 监测时间 - */ - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeOsmoticShiftDeviceVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/HomeOsmoticShiftDeviceVo.java deleted file mode 100644 index c2e1a54..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeOsmoticShiftDeviceVo.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.model.OsmoticShiftDevice; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * Description: - * Created by XuSan on 2024/7/10. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class HomeOsmoticShiftDeviceVo extends OsmoticShiftDevice { - - /** - * x方向 - */ - @Schema(description="x方向") - private String x; - - /** - * y方向 - */ - @Schema(description="y方向") - private String y; - - /** - * h方向 - */ - @Schema(description="h方向") - private String h; - - /** - * 监测时间 - */ - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeShpPlacementVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/HomeShpPlacementVo.java deleted file mode 100644 index f42da30..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeShpPlacementVo.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.ShpPlacement; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * Description: - * Created by XuSan on 2024/7/10. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class HomeShpPlacementVo extends ShpPlacement { - - /** - * 行政区划名 - */ - @Schema(description="行政区划名") - private String adnm; - - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeStStbprpBVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/HomeStStbprpBVo.java deleted file mode 100644 index e9129e7..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeStStbprpBVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.StStbprpB; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.math.BigDecimal; - -/** - * Description: - * Created by XuSan on 2024/7/10. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class HomeStStbprpBVo extends StStbprpB { - - - /** - * 数据 - */ - @Schema(description="数据") - private BigDecimal v; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeWarnVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/HomeWarnVo.java deleted file mode 100644 index f5c12fb..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/HomeWarnVo.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/7/17 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class HomeWarnVo { - - @Schema(description = "水位告警") - private String rzWarn; - - @Schema(description="气象告警") - private List qxWarn; - - @Schema(description="位移告警") - private List shiftWarn; - - @Schema(description="渗压告警") - private List pressWarn; - - @Schema(description="渗流告警") - private List flowWarn; - - @Schema(description="AI告警个数") - private Long aiWarnCount; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectProblemVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/InspectProblemVo.java deleted file mode 100644 index ba1765a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectProblemVo.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.model.InspectTaskDetail; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; -import java.util.List; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class InspectProblemVo extends InspectTaskDetail { - - @Schema(description="任务标题") - private String taskTitle; - - @Schema(description="巡查点名称") - private String name; - - @Schema(description="巡检项描述") - private String itemDesc; - - @Schema(description="巡查人id") - @JsonSerialize(using = ToStringSerializer.class) - private Long inspectUserId; - - @Schema(description="巡查人") - private String inspectUserName; - - @Schema(description="巡查完成时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date finishTime; - - @Schema(description = "巡查图片") - private List inspectPics; - - @Schema(description = "巡查视频") - private List inspectVideos; - - @Schema(description = "处理图片") - private List handlePics; - - @Schema(description = "处理视频") - private List handleVideos; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskDetailVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskDetailVo.java deleted file mode 100644 index 97c6281..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskDetailVo.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.model.InspectTaskDetail; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class InspectTaskDetailVo extends InspectTaskDetail { - - @Schema(description="巡查点名称") - private String name; - - @Schema(description="巡检项描述") - private String itemDesc; - - @Schema(description="巡检项问题描述") - private String itemProblemDesc; - - @Schema(description="处理建议") - private String handleSuggestion; - - @Schema(description="子集") - private List children; - - @Schema(description = "巡查图片") - private List inspectPics; - - @Schema(description = "巡查视频") - private List inspectVideos; - - @Schema(description = "处理图片") - private List handlePics; - - @Schema(description = "处理视频") - private List handleVideos; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskVo.java deleted file mode 100644 index e83b1aa..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskVo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; -import org.hibernate.validator.constraints.Range; - -import java.util.List; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class InspectTaskVo { - - @Schema(description="任务状态") - @Range(min = 1,max = 2) - @NotNull(message = "任务状态不可为空") - private Integer status; - - @Schema(description="巡查信息") - private List list; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/MeshrainVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/MeshrainVo.java deleted file mode 100644 index 7f2d6b3..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/MeshrainVo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * Description: - * Created by wanyan on 2024/3/13 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class MeshrainVo { - - @Schema(description = "水库/河流/行政区划编码") - private String code; - - @Schema(description = "行号") - private Integer rownum; - - @Schema(description = "列号") - private Integer colnum; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/NbStatVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/NbStatVo.java deleted file mode 100644 index 127d47d..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/NbStatVo.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Data -public class NbStatVo { - - @Schema(description="月份") - private String month; - - @Schema(description="最高") - private String max; - - @Schema(description="最高日期") - private String maxDate; - - @Schema(description="最低") - private String min; - - @Schema(description="最低日期") - private String minDate; - - @Schema(description="平均") - private String avg; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticChartDetailVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticChartDetailVo.java deleted file mode 100644 index a5b5587..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticChartDetailVo.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * - * Created by wanyan on 2024/3/13 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class OsmoticChartDetailVo { - - - /** - * 时间 - */ - @Schema(description="时间") - private String tm; - - /** - * 库水位 - */ - @Schema(description="库水位") - private BigDecimal rz; - - /** - * 管水位 - */ - @Schema(description="管水位") - private BigDecimal value; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticChartVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticChartVo.java deleted file mode 100644 index ac9d47b..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticChartVo.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/7/9 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class OsmoticChartVo { - - /** - * 测点编号 - */ - @Schema(description="测点编号") - private String stationCode; - - /** - * 最大值 - */ - @Schema(description="最大值") - private BigDecimal maxValue; - - /** - * 最大值时间 - */ - @Schema(description="最大值时间") - private String maxTm; - - /** - * 最小值 - */ - @Schema(description="最小值") - private BigDecimal minValue; - - /** - * 最小值时间 - */ - @Schema(description="最小值时间") - private String minTm; - - /** - * 变幅 - */ - @Schema(description="变幅") - private BigDecimal diff; - - @Schema(description = "数据") - private List detailVos; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticPressDetailVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticPressDetailVo.java deleted file mode 100644 index a722bf6..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticPressDetailVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * Description: - * Created by wanyan on 2024/7/9 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class OsmoticPressDetailVo { - - - @Schema(description="监测时间") - private String tm; - - @Schema(description="监测值") - private BigDecimal value; - - @Schema(description="库水位") - private BigDecimal rz; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticPressVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticPressVo.java deleted file mode 100644 index b38cfb3..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticPressVo.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * Description: - * Created by wanyan on 2024/7/9 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class OsmoticPressVo { - - @Schema(description="测点编码") - private String stationCode; - - @Schema(description = "断面名称") - private String profileName; - - @Schema(description="监测时间") - private String tm; - - @Schema(description="监测值") - private BigDecimal value; - - @Schema(description = "监测时间是否离当前时间超过2天(0否 1是)") - private Integer flag = 0; - - @Schema(description = "是否超过预警(0否 1是)") - private Integer status = 0; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftListVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftListVo.java deleted file mode 100644 index 9153df4..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftListVo.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * Description: - * Created by wanyan on 2024/7/9 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class OsmoticShiftListVo { - - /** - * 测点编号 - */ - @Schema(description="测点编号") - private String stationCode; - - /** - * 时间 - */ - @Schema(description="时间") - private String tm; - - @Schema(description = "监测时间是否离当前时间超过2天(0否 1是)") - private Integer flag = 0; - - /** - * x方向 - */ - @Schema(description="x方向") - private BigDecimal x; - - @Schema(description = "x方向是否超过预警(0否 1是)") - private Integer xStatus = 0; - - /** - * y方向 - */ - @Schema(description="y方向") - private BigDecimal y; - - @Schema(description = "y方向是否超过预警(0否 1是)") - private Integer yStatus = 0; - - /** - * h方向 - */ - @Schema(description="h方向") - private BigDecimal h; - - @Schema(description = "h方向是否超过预警(0否 1是)") - private Integer hStatus = 0; - - @JsonIgnore - private String direction; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftValueVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftValueVo.java deleted file mode 100644 index 460bad7..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftValueVo.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * Description: - * Created by wanyan on 2024/7/9 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class OsmoticShiftValueVo { - - /** - * 时间 - */ - @Schema(description="时间") - private String tm; - - /** - * 测点编号 - */ - @Schema(description="测点编号") - private String stationCode; - - /** - * x方向 - */ - @Schema(description="x方向") - private BigDecimal x; - - /** - * y方向 - */ - @Schema(description="y方向") - private BigDecimal y; - - /** - * h方向 - */ - @Schema(description="h方向") - private BigDecimal h; - - /** - * 库水位 - */ - @Schema(description="库水位") - private BigDecimal rz; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftVo.java deleted file mode 100644 index 38a24bd..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftVo.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/7/9 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class OsmoticShiftVo{ - - /** - * 时间 - */ - @Schema(description="时间") - private String tm; - - @Schema(description="测值") - private List list; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticStationVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticStationVo.java deleted file mode 100644 index d127347..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticStationVo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.math.BigDecimal; -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/7/9 - * - * @author wanyan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class OsmoticStationVo extends StRzVo { - - @Schema(description = "结果分析(0异常 1正常)") - private Integer status = 1; - - @Schema(description="测值") - private List list; - - @Schema(description = "降雨量") - private BigDecimal drp; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticValueVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticValueVo.java deleted file mode 100644 index d626e11..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticValueVo.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * - * Created by wanyan on 2024/3/13 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class OsmoticValueVo { - - /** - * 时间 - */ - @Schema(description="时间") - private String tm; - - /** - * 测点编号 - */ - @Schema(description="测点编号") - private String stationCode; - - /** - * 管水位 - */ - @Schema(description="管水位") - private BigDecimal value; - - /** - * 库水位 - */ - @Schema(description="库水位") - private BigDecimal rz; - - @Schema(description = "结果分析(0异常 1正常)") - private Integer status = 1; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticWarnVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticWarnVo.java deleted file mode 100644 index 08d5434..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticWarnVo.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.model.OsmoticWarnRule; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * Description: - * Created by wanyan on 2024/7/9 - * - * @author wanyan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class OsmoticWarnVo extends OsmoticWarnRule { - /** - * 主键 - */ - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 测点编号 - */ - @Schema(description="测点编号") - private String stationCode; - - /** - * 预警规则id - */ - @Schema(description="预警规则id") - private Long ruleId; - - /** - * 监测值 - */ - @Schema(description="监测值") - private BigDecimal value; - - /** - * 预警时间 - */ - @Schema(description="预警时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 监测类型(1渗压 2渗流 3位移) - */ - @Schema(description="监测类型(1渗压 2渗流 3位移)") - private Integer type; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticWaterRVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticWaterRVo.java deleted file mode 100644 index b9b46c3..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticWaterRVo.java +++ /dev/null @@ -1,209 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import lombok.Data; - -import java.util.Date; - -/** - * @author cxw - * @description: (描述这个类或者方法的作用) - * @classname OsmoticWaterRVo.java - * @create 2024-07-10, 星期三, 10:46:43 - */ -@Data -@ExcelIgnoreUnannotated -public class OsmoticWaterRVo { - private static final long serialVersionUID = 1L; - /** - * 采集时间 - */ - @ExcelProperty({"${title}", "时间"}) - @ColumnWidth(15) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 水温 - */ - @ExcelProperty({"${title}", "水温(℃)"}) - private String temp; - - /** - * PH - */ - @ExcelProperty({"${title}", "PH(mg/L)"}) - private String ph; - - /** - * 溶解氧 - */ - @ExcelProperty({"${title}", "溶解氧(mg/L)"}) - private String bod; - - /** - * 高锰酸钾指数 - */ - @ExcelProperty({"${title}", "高锰酸钾指数(mg/L)"}) - private String mn; - - /** - * 化学需氧量 - */ - @ExcelProperty({"${title}", "化学需氧量(mg/L)"}) - private String codcr; - - /** - * 五日生化需氧量 - */ - @ExcelProperty({"${title}", "五日生化需氧量(mg/L)"}) - private String bod5; - - /** - * 氨氮 - */ - @ExcelProperty({"${title}", "氨氮(mg/L)"}) - private String nh3n; - - /** - * 总磷 - */ - @ExcelProperty({"${title}", "总磷(mg/L)"}) - private String tp; - - /** - * 总氮 - */ - @ExcelProperty({"${title}", "总氮(mg/L)"}) - private String tn; - - /** - * 铜 - */ - @ExcelProperty({"${title}", "铜(mg/L)"}) - private String cu; - - /** - * 锌 - */ - @ExcelProperty({"${title}", "锌(mg/L)"}) - private String zn; - - /** - * 氟化物 - */ - @ExcelProperty({"${title}", "氟化物(mg/L)"}) - private String f; - - /** - * 硒 - */ - @ExcelProperty({"${title}", "硒(mg/L)"}) - private String se; - - /** - * 砷 - */ - @ExcelProperty({"${title}", "砷(mg/L)"}) - private String arsenic; - - /** - * 汞 - */ - @ExcelProperty({"${title}", "汞(mg/L)"}) - private String hg; - - /** - * 镉 - */ - @ExcelProperty({"${title}", "镉(mg/L)"}) - private String cd; - - /** - * 铬 - */ - @ExcelProperty({"${title}", "铬(mg/L)"}) - private String cr; - - /** - * 铅 - */ - @ExcelProperty({"${title}", "铅(mg/L)"}) - private String pb; - - /** - * 氰化物 - */ - @ExcelProperty({"${title}", "氰化物(mg/L)"}) - private String cn; - - /** - * 挥发酚 - */ - @ExcelProperty({"${title}", "挥发酚(mg/L)"}) - private String vlph; - - /** - * 石油类 - */ - @ExcelProperty({"${title}", "石油类(mg/L)"}) - private String oil; - - /** - * 阴离子表面活性剂 - */ - @ExcelProperty({"${title}", "阴离子表面活性剂(mg/L)"}) - private String las; - - /** - * 硫化物 - */ - @ExcelProperty({"${title}", "硫化物(mg/L)"}) - private String s; - - /** - * 大肠菌群数 - */ - @ExcelProperty({"${title}", "大肠菌群数(mg/L)"}) - private String tcg; - - /** - * 浊度 - */ - @ExcelProperty({"${title}", "浊度(NTU)"}) - private String turb; - - /** - * 电导率 - */ - @ExcelProperty({"${title}", "电导率(μs/cm)"}) - private String cond; - - /** - * 高锰酸盐 - */ - @ExcelProperty({"${title}", "高锰酸盐(mg/L)"}) - private String codmn; - - /** - * 叶绿素 - */ - @ExcelProperty({"${title}", "叶绿素(ug/L)"}) - private String chla; - - /** - * 水质类别 - */ - @ExcelProperty({"${title}", "水质类别"}) - private String level; - - /** - * 污染物及超标倍数 - */ - @ExcelProperty({"${title}", "污染物及超标倍数"}) - private String paem; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/PersonnelPlanLogStatisticsVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/PersonnelPlanLogStatisticsVo.java deleted file mode 100644 index 64e7713..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/PersonnelPlanLogStatisticsVo.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.math.BigDecimal; -import java.util.List; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@Tag(name = "人员计划日志统计") -@Data -public class PersonnelPlanLogStatisticsVo { - - @Schema(description="实际期数") - private Integer numberOfPeriods1; - - @Schema(description="计划期数") - private Integer numberOfPeriods2; - - @Schema(description="实际人次") - private Integer personNum1; - - @Schema(description="计划人次") - private Integer personNum2; - - - @Schema(description="期数图表数据") - private List list1; - - - @Schema(description="人次图表数据") - private List list2; - - - @Accessors(chain = true) // chain = true 实现链式调用 - @Data - public static class EchartsData{ - @Schema(description="月份") - private Integer month; - -// @Schema(description="实际数据") - @Schema(description="实际人数") - private Integer num1 = 0; - -// @Schema(description="计划数据") - @Schema(description="实际期数") - private Integer num2 = 0; - - @Deprecated - @Schema(description="完成率") - private BigDecimal rate = BigDecimal.ZERO; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/ProfilePressTreeVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/ProfilePressTreeVo.java deleted file mode 100644 index e7bd7bb..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/ProfilePressTreeVo.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/7/10 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class ProfilePressTreeVo { - - @Schema(description="断面编号") - private String profileCode; - - @Schema(description="断面名称") - private String profileName; - - @Schema(description = "测点") - private List children; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/ProjectEventsVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/ProjectEventsVo.java deleted file mode 100644 index f4b5ad8..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/ProjectEventsVo.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnore; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.format.DateTimeFormat; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.model.FileAssociations; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; -import java.util.List; - -@Data -@ExcelIgnoreUnannotated -public class ProjectEventsVo { - - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - @ExcelIgnore - private Long id; - - @Schema(description="发生日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - @ExcelProperty({"发生日期"}) - @ColumnWidth(20) - @DateTimeFormat(DateFormatString.YYYY_MM_DD) - private Date eventsDate; - - @Schema(description="类型(1大事记 2调度指令 3维修养护 4安全鉴定 5除险加固 6白蚁普查)") - @ExcelIgnore - private Integer type; - - @Schema(description="类型") - @ExcelProperty({"类型"}) - private String typeName; - - @Schema(description="事件内容描述") - @ExcelProperty({"事件内容描述"}) - @ColumnWidth(100) - private String eventsDesc; - - @TableField(exist = false) - @Schema(description = "文件集合") - @ExcelIgnore - private List files; - - - public void setType(Integer type){ - this.type = type; - if (this.type == 1) { - this.typeName = "大事记"; - } else if (this.type == 2) { - this.typeName = "调度记录"; - } else if (this.type == 3) { - this.typeName = "维修养护"; - }else if (this.type == 4) { - this.typeName = "安全鉴定"; - }else if (this.type == 5) { - this.typeName = "除险加固"; - }else if (this.type == 6) { - this.typeName = "白蚁普查"; - } - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/QXWarningVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/QXWarningVo.java deleted file mode 100644 index 23a8e6a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/QXWarningVo.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class QXWarningVo { - - @Schema(description = "是否播放报警声音") - private Boolean play; - - @Schema(description = "生成时间") - private String createTime; - - @Schema(description = "发布时间") - private String publishTime; - - @Schema(description = "起始时间") - private String startTime; - - @Schema(description = "终止时间") - private String endTime; - - @Schema(description = "发布单位") - private String publishUnit; - - @Schema(description = "预警类型") - private String warnSignalType; - - @Schema(description = "预警级别") - private String warnSignalLevel; - - @Schema(description = "区县名称") - private String cnnm; - - @Schema(description = "市名称") - private String ctnm; - - @Schema(description = "预警内容") - private String content; - - @Schema(description = "状态") - private String status; - - @Schema(description = "预警信息id") - private Integer warnid; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/RealRainListVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/RealRainListVo.java deleted file mode 100644 index be1cf3b..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/RealRainListVo.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - - -@Data -public class RealRainListVo { - private String stcd; - private String sttp; - private String stnm; - private String stlc; - @Schema(description = "时段雨量(mm)") - private Double drp; - private String adcd; - private String adnm; - private String resCode; - private String resName; - - private String lgtd; - private String lttd; - - @Schema(description="降雨量级 0:无降雨 1:小雨 2:中雨 3:大雨 4:暴雨 5:大暴雨 6:特大暴雨") - private Integer rainTag; - @Schema(description = "站点类型") - private String sType; - - - - public void setDrp(Double drp){ - this.drp = drp; - if (this.drp == 0) { - this.rainTag = 0; - } else if (this.drp > 0 && this.drp < 10) { - this.rainTag = 1; - } else if (this.drp >= 10 && this.drp < 25) { - this.rainTag = 2; - } else if (this.drp >= 25 && this.drp < 50) { - this.rainTag = 3; - } else if (this.drp >= 50 && this.drp < 100) { - this.rainTag = 4; - } else if (this.drp >= 100 && this.drp < 250) { - this.rainTag = 5; - } else if (this.drp >= 250) { - this.rainTag = 6; - } - } -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/ResBriefVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/ResBriefVo.java deleted file mode 100644 index 987eca2..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/ResBriefVo.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.ResBriefR; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * @author lyf - * @since 2025-04-25 - */ -@Data -public class ResBriefVo extends ResBriefR { - - - @Data - public static class PptnVo { - private String stcd; - private String stnm; - private BigDecimal drp24Sum; - private BigDecimal drp24Max; - private Date maxTm; - } - - @Data - public static class RsvrVo { - private String stcd; - private String stnm; - private BigDecimal rz8; - private BigDecimal rzYesterday8; - private BigDecimal w; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/RescueTeamVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/RescueTeamVo.java deleted file mode 100644 index bba48bb..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/RescueTeamVo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.RescueTeamB; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - - -@EqualsAndHashCode(callSuper = true) -@Data -public class RescueTeamVo extends RescueTeamB { - - /** - * 人员总数 - */ - @Schema(description="人员总数") - private Integer personCount; - - /** - * 是否有效 - */ - @Schema(description = "是否有效(0 否 1 是)") - private Integer isValid; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/RjswNbStatVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/RjswNbStatVo.java deleted file mode 100644 index 1523081..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/RjswNbStatVo.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.List; - -@Data -public class RjswNbStatVo { - - @Schema(description="最高水位") - private BigDecimal max; - - @Schema(description="最低水位") - private BigDecimal min; - - @Schema(description="平均水位") - private BigDecimal avg; - - @Schema(description = "统计数据") - private List list; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/RjswNbVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/RjswNbVo.java deleted file mode 100644 index 545a2b3..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/RjswNbVo.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import lombok.Data; - -@Data -@ExcelIgnoreUnannotated -public class RjswNbVo{ - - - @ExcelProperty({"${title}","日期"}) - @ColumnWidth(15) - private String theme; - - @ExcelProperty({"${title}","日期"}) - @ColumnWidth(15) - private String date; - - @ExcelProperty({"${title}","一月"}) - private String drpM1; - - - @ExcelProperty({"${title}","二月"}) - private String drpM2; - - - @ExcelProperty({"${title}","三月"}) - private String drpM3; - - - @ExcelProperty({"${title}","四月"}) - private String drpM4; - - - @ExcelProperty({"${title}","五月"}) - private String drpM5; - - - @ExcelProperty({"${title}","六月"}) - private String drpM6; - - - @ExcelProperty({"${title}","七月"}) - private String drpM7; - - - @ExcelProperty({"${title}","八月"}) - private String drpM8; - - - @ExcelProperty({"${title}","九月"}) - private String drpM9; - - - @ExcelProperty({"${title}","十月"}) - private String drpM10; - - - @ExcelProperty({"${title}","十一月"}) - private String drpM11; - - - @ExcelProperty({"${title}","十二月"}) - private String drpM12; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/RjyNbStatVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/RjyNbStatVo.java deleted file mode 100644 index 3a641a3..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/RjyNbStatVo.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.List; - -@Data -public class RjyNbStatVo { - - @Schema(description="降水量") - private BigDecimal drpSum; - - @Schema(description="降雨日数") - private Long dayCount; - - @Schema(description = "统计数据") - private List list; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/RjyNbVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/RjyNbVo.java deleted file mode 100644 index 95369d7..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/RjyNbVo.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import lombok.Data; - -@Data -@ExcelIgnoreUnannotated -public class RjyNbVo { - - - @ExcelProperty({"${title}","日期"}) - @ColumnWidth(15) - private String date; - - @ExcelProperty({"${title}","一月"}) - private String drpM1; - - - @ExcelProperty({"${title}","二月"}) - private String drpM2; - - - @ExcelProperty({"${title}","三月"}) - private String drpM3; - - - @ExcelProperty({"${title}","四月"}) - private String drpM4; - - - @ExcelProperty({"${title}","五月"}) - private String drpM5; - - - @ExcelProperty({"${title}","六月"}) - private String drpM6; - - - @ExcelProperty({"${title}","七月"}) - private String drpM7; - - - @ExcelProperty({"${title}","八月"}) - private String drpM8; - - - @ExcelProperty({"${title}","九月"}) - private String drpM9; - - - @ExcelProperty({"${title}","十月"}) - private String drpM10; - - - @ExcelProperty({"${title}","十一月"}) - private String drpM11; - - - @ExcelProperty({"${title}","十二月"}) - private String drpM12; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/RotaVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/RotaVo.java deleted file mode 100644 index 0f5c32b..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/RotaVo.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.util.excel.LengthValid; -import lombok.Data; - -import java.util.Date; - - -@Data -@ExcelIgnoreUnannotated -public class RotaVo { - private static final long serialVersionUID = 1L; - - /** - * 值班开始时间 - */ - @ExcelProperty({"${title}","值班开始时间"}) - @ColumnWidth(25) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date stm; - - /** - * 值班结束时间 - */ - @ExcelProperty({"${title}","值班结束时间"}) - @ColumnWidth(25) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date etm; - - /** - * 值班领导手机号 - */ - @LengthValid(length = 11,msg = "值班领导手机号长度不等于11!") - @ColumnWidth(25) - @ExcelProperty({"${title}","值班领导手机号"}) - private String leaderPhone; - - /** - * 值班人员手机号 - */ - @LengthValid(length = 11,msg = "值班人员手机号长度不等于11!") - @ColumnWidth(25) - @ExcelProperty({"${title}","值班人员手机号"}) - private String dutyPhone; - - private String errorMsg; - - private Long leaderUserId; - - private Long dutyUserId; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/RsvrComplexVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/RsvrComplexVo.java deleted file mode 100644 index 8b09039..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/RsvrComplexVo.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.NonNull; -import lombok.RequiredArgsConstructor; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * @author lyf - * @since 2025-04-08 - */ -@Data -@NoArgsConstructor -@RequiredArgsConstructor(staticName = "of") -public class RsvrComplexVo { - @NonNull - public BigDecimal rz; - @NonNull - public Date tm; - /** - * 水位查表流量 - */ - public BigDecimal q; - /** - * spilled volume 溢洪量,根据流量和时间乘算 - */ - public BigDecimal sv; - /** - * 水位查表库容 - */ - public BigDecimal w; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/SdJyRbVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/SdJyRbVo.java deleted file mode 100644 index 6fdd56e..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/SdJyRbVo.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import lombok.Data; - -import java.math.BigDecimal; - -@Data -@ExcelIgnoreUnannotated -public class SdJyRbVo { - - - /** - * 日期 - */ - @ExcelProperty({"${title}","日期"}) - @ColumnWidth(15) - private String date; - - /** - * 第9小时降水量 - */ - @ExcelProperty({"${title}","9时"}) - private BigDecimal drpH9; - - /** - * 第10小时降水量 - */ - @ExcelProperty({"${title}","10时"}) - private BigDecimal drpH10; - - /** - * 第11小时降水量 - */ - @ExcelProperty({"${title}","11时"}) - private BigDecimal drpH11; - - /** - * 第12小时降水量 - */ - @ExcelProperty({"${title}","12时"}) - private BigDecimal drpH12; - - /** - * 第13小时降水量 - */ - @ExcelProperty({"${title}","13时"}) - private BigDecimal drpH13; - - /** - * 第14小时降水量 - */ - @ExcelProperty({"${title}","14时"}) - private BigDecimal drpH14; - - /** - * 第15小时降水量 - */ - @ExcelProperty({"${title}","15时"}) - private BigDecimal drpH15; - - /** - * 第16小时降水量 - */ - @ExcelProperty({"${title}","16时"}) - private BigDecimal drpH16; - - /** - * 第17小时降水量 - */ - @ExcelProperty({"${title}","17时"}) - private BigDecimal drpH17; - - /** - * 第18小时降水量 - */ - @ExcelProperty({"${title}","18时"}) - private BigDecimal drpH18; - - /** - * 第19小时降水量 - */ - @ExcelProperty({"${title}","19时"}) - private BigDecimal drpH19; - - /** - * 第20小时降水量 - */ - @ExcelProperty({"${title}","20时"}) - private BigDecimal drpH20; - - /** - * 第21小时降水量 - */ - @ExcelProperty({"${title}","21时"}) - private BigDecimal drpH21; - - /** - * 第22小时降水量 - */ - @ExcelProperty({"${title}","22时"}) - private BigDecimal drpH22; - - /** - * 第23小时降水量 - */ - @ExcelProperty({"${title}","23时"}) - private BigDecimal drpH23; - - /** - * 第24小时降水量 - */ - @ExcelProperty({"${title}","24时"}) - private BigDecimal drpH24; - - - /** - * 第1小时降水量 - */ - @ExcelProperty({"${title}","1时"}) - private BigDecimal drpH1; - - /** - * 第2小时降水量 - */ - @ExcelProperty({"${title}","2时"}) - private BigDecimal drpH2; - - /** - * 第3小时降水量 - */ - @ExcelProperty({"${title}","3时"}) - private BigDecimal drpH3; - - /** - * 第4小时降水量 - */ - @ExcelProperty({"${title}","4时"}) - private BigDecimal drpH4; - - /** - * 第5小时降水量 - */ - @ExcelProperty({"${title}","5时"}) - private BigDecimal drpH5; - - /** - * 第6小时降水量 - */ - @ExcelProperty({"${title}","6时"}) - private BigDecimal drpH6; - - /** - * 第7小时降水量 - */ - @ExcelProperty({"${title}","7时"}) - private BigDecimal drpH7; - - /** - * 第8小时降水量 - */ - @ExcelProperty({"${title}","8时"}) - private BigDecimal drpH8; - - /** - * 日降水量 - */ - @ExcelProperty({"${title}","日累计"}) - @ColumnWidth(15) - private BigDecimal drpD; - - - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/SdSwRbVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/SdSwRbVo.java deleted file mode 100644 index 419400c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/SdSwRbVo.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import lombok.Data; - -import java.math.BigDecimal; - -@Data -@ExcelIgnoreUnannotated -public class SdSwRbVo { - - - /** - * 日期 - */ - @ExcelProperty({"${title}","日期"}) - @ColumnWidth(15) - private String date; - - /** - * 第0小时水位 - */ - @ExcelProperty({"${title}","0时"}) - private BigDecimal rzH24; - - - /** - * 第1小时水位 - */ - @ExcelProperty({"${title}","1时"}) - private BigDecimal rzH1; - - /** - * 第2小时水位 - */ - @ExcelProperty({"${title}","2时"}) - private BigDecimal rzH2; - - /** - * 第3小时水位 - */ - @ExcelProperty({"${title}","3时"}) - private BigDecimal rzH3; - - /** - * 第4小时水位 - */ - @ExcelProperty({"${title}","4时"}) - private BigDecimal rzH4; - - /** - * 第5小时水位 - */ - @ExcelProperty({"${title}","5时"}) - private BigDecimal rzH5; - - /** - * 第6小时水位 - */ - @ExcelProperty({"${title}","6时"}) - private BigDecimal rzH6; - - /** - * 第7小时水位 - */ - @ExcelProperty({"${title}","7时"}) - private BigDecimal rzH7; - - /** - * 第8小时水位 - */ - @ExcelProperty({"${title}","8时"}) - private BigDecimal rzH8; - - /** - * 第9小时水位 - */ - @ExcelProperty({"${title}","9时"}) - private BigDecimal rzH9; - - /** - * 第10小时水位 - */ - @ExcelProperty({"${title}","10时"}) - private BigDecimal rzH10; - - /** - * 第11小时水位 - */ - @ExcelProperty({"${title}","11时"}) - private BigDecimal rzH11; - - /** - * 第12小时水位 - */ - @ExcelProperty({"${title}","12时"}) - private BigDecimal rzH12; - - /** - * 第13小时水位 - */ - @ExcelProperty({"${title}","13时"}) - private BigDecimal rzH13; - - /** - * 第14小时水位 - */ - @ExcelProperty({"${title}","14时"}) - private BigDecimal rzH14; - - /** - * 第15小时水位 - */ - @ExcelProperty({"${title}","15时"}) - private BigDecimal rzH15; - - /** - * 第16小时水位 - */ - @ExcelProperty({"${title}","16时"}) - private BigDecimal rzH16; - - /** - * 第17小时水位 - */ - @ExcelProperty({"${title}","17时"}) - private BigDecimal rzH17; - - /** - * 第18小时水位 - */ - @ExcelProperty({"${title}","18时"}) - private BigDecimal rzH18; - - /** - * 第19小时水位 - */ - @ExcelProperty({"${title}","19时"}) - private BigDecimal rzH19; - - /** - * 第20小时水位 - */ - @ExcelProperty({"${title}","20时"}) - private BigDecimal rzH20; - - /** - * 第21小时水位 - */ - @ExcelProperty({"${title}","21时"}) - private BigDecimal rzH21; - - /** - * 第22小时水位 - */ - @ExcelProperty({"${title}","22时"}) - private BigDecimal rzH22; - - /** - * 第23小时水位 - */ - @ExcelProperty({"${title}","23时"}) - private BigDecimal rzH23; - - - - /** - * 日平均 - */ - @ExcelProperty({"${title}","平均"}) - @ColumnWidth(15) - private BigDecimal rzAvg; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/SoilMoistureVO.java b/src/main/java/com/gunshi/project/xyt/entity/vo/SoilMoistureVO.java deleted file mode 100644 index fc6a7bc..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/SoilMoistureVO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class SoilMoistureVO { - - private String stcd; - - private BigDecimal currVal; - - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - private BigDecimal nearWeekValMax; - private BigDecimal nearWeekValMin; - - private BigDecimal nearMonthValMax; - private BigDecimal nearMonthValMin; - - private BigDecimal nearThreeMonthValMax; - private BigDecimal nearThreeMonthValMin; - - private BigDecimal nearSixMonthValMax; - private BigDecimal nearSixMonthValMin; - - private BigDecimal nearYearValMax; - private BigDecimal nearYearValMin; - - private BigDecimal currWeekValMax; - private BigDecimal currWeekValMin; - - private BigDecimal currMonthValMax; - private BigDecimal currMonthValMin; - - private BigDecimal currYearValMax; - private BigDecimal currYearValMin; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StAddvcdTreeVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StAddvcdTreeVo.java deleted file mode 100644 index 3d70e5a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StAddvcdTreeVo.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.StAddvcdD; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/4/7 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class StAddvcdTreeVo extends StAddvcdD { - - @Schema(description = "行政区划数组") - private List children; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StPptnDetailsVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StPptnDetailsVo.java deleted file mode 100644 index 0b3ec58..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StPptnDetailsVo.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.model.StPptnRReal; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * TODO - * - * @ClassName StPptnDetailsVo - * @Author Huang Qianxiang - * @Date 2024/2/23 10:53 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class StPptnDetailsVo extends StPptnRReal { - - @Schema(description="昨日降雨量") - private BigDecimal yesterdayDrp; - - @Schema(description="本月降雨量") - private BigDecimal monthDrp; - - @Schema(description="本年降雨量") - private BigDecimal yearDrp; - - @Schema(description="本年降雨天数") - private Long yearDrpDay; - - @Schema(description="本年天数") - private Long yearDay; - - @Schema(description="本年最大日雨量") - private BigDecimal maxDrp; - - @Schema(description="本年最大日雨量时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date maxDrpTime; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StPptnVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StPptnVo.java deleted file mode 100644 index ec9289c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StPptnVo.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * TODO - * - * @ClassName StPptnVo - * @Author Huang Qianxiang - * @Date 2024/2/23 9:51 - */ -@Data -public class StPptnVo { - - /** - * 时段降雨量对应的时间 - */ - @Schema(description = "时段降雨量对应的时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date time; - - /** - * 选择时段降雨量 - */ - @Schema(description = "选择时段降雨量") - private BigDecimal sumDrp; - - @Schema(description = "时间格式化字符串") - private String timeStr; - - @Schema(description = "个数") - private Integer count; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StRsvrVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StRsvrVo.java deleted file mode 100644 index 70680da..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StRsvrVo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.StRsvrR; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.List; - -/** - * 水库水情 - * Created by wanyan on 2024/2/20 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class StRsvrVo { - - @Schema(description = "汛限水位") - private BigDecimal flLowLimLev; - - @Schema(description = "库水位") - private List list; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StRzVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StRzVo.java deleted file mode 100644 index 6ce0cf2..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StRzVo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * 水库水情 - * Created by wanyan on 2024/2/20 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class StRzVo { - - /** - * 时间 - */ - @Schema(description="时间") - private String tm; - - /** - * 库水位 - */ - @Schema(description="库水位") - private BigDecimal rz; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StStatusListVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StStatusListVo.java deleted file mode 100644 index 865a8b4..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StStatusListVo.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -@Data -public class StStatusListVo { - - - @Schema(description = "离线") - private List offLine; - - @Schema(description = "在线") - private List online; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StStatusVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StStatusVo.java deleted file mode 100644 index b2bafce..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StStatusVo.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Data -public class StStatusVo { - - @Schema(description = "最后数据时间") - private String tm; - - @Schema(description = "测站编码") - private String stcd; - - @Schema(description = "测站名称") - private String stnm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StStbprpCctvVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StStbprpCctvVo.java deleted file mode 100644 index 13a475a..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StStbprpCctvVo.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.StStbprpCctv; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@EqualsAndHashCode(callSuper = true) -@Data -public class StStbprpCctvVo extends StStbprpCctv { - - @Schema(description="站点名称") - private String stnm; - - @Schema(description="视频名称") - private String name; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StWaterRReorganizeVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StWaterRReorganizeVo.java deleted file mode 100644 index de24ea9..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StWaterRReorganizeVo.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import java.math.BigDecimal; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; - -import lombok.Data; - -/** -*@description -*@author cxw -*@classname StWaterRReorganizeVo.java -*@create 2024-07-24, 周三, 11:51:01 -*/ -@Data -@ExcelIgnoreUnannotated -public class StWaterRReorganizeVo { - - @ExcelProperty({"${title}", "时间"}) - @ColumnWidth(15) - private String tm; - - /** - * 流量(生态供水) - */ - @ExcelProperty({"${title}", "生态供水", "流量(m³/s)"}) - private BigDecimal ecologyQ; - - /** - * 水量(生态供水) - */ - @ExcelProperty({"${title}", "生态供水", "水量(万m³)"}) - private BigDecimal ecologyV; - - /** - * 流量(生活供水) - */ - @ExcelProperty({"${title}", "生活供水", "流量(m³/s)"}) - private BigDecimal lifeQ; - - /** - * 水量(生活供水) - */ - @ExcelProperty({"${title}", "生活供水", "水量(万m³)"}) - private BigDecimal lifeV; - - /** - * 水量小计 - */ - @ExcelProperty({"${title}", "小计(万m³)"}) - private BigDecimal sumV; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StWaterRReorganizeYearVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StWaterRReorganizeYearVo.java deleted file mode 100644 index 99ad674..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StWaterRReorganizeYearVo.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** -*@description -*@author cxw -*@classname StWaterRReorganizeYearVo.java -*@create 2024-07-24, 周三, 14:28:34 -*/ -@Data -@ExcelIgnoreUnannotated -public class StWaterRReorganizeYearVo { - - @Schema(description="时间") - @ExcelProperty({"${title}", "时间"}) - private String tm; - - /** - * 年度占比(生态供水) - */ - @Schema(description="年度占比(生态供水)") - @ExcelProperty({"${title}", "生态供水", "年度占比"}) - private String ecologyYearRateV; - - /** - * 水量(生态供水) - */ - @Schema(description="水量(生态供水)") - @ExcelProperty({"${title}", "生态供水", "水量"}) - private String ecologyV; - - /** - * 同比(生态供水) - */ - @Schema(description="同比(生态供水)") - @ExcelProperty({"${title}", "生态供水", "同比"}) - private String ecologyYoyV; - - /** - * 环比(生态供水) - */ - @Schema(description="环比(生态供水)") - @ExcelProperty({"${title}", "生态供水", "环比"}) - private String ecologyQoqV; - - /** - * 年度占比(生活供水) - */ - @Schema(description="年度占比(生活供水)") - @ExcelProperty({"${title}", "生活供水", "年度占比"}) - private String lifeYearRateV; - - /** - * 水量(生活供水) - */ - @Schema(description="水量(生活供水)") - @ExcelProperty({"${title}", "生活供水", "水量"}) - private String lifeV; - - /** - * 同比(生活供水) - */ - @Schema(description="同比(生活供水)") - @ExcelProperty({"${title}", "生活供水", "同比"}) - private String lifeYoyV; - - /** - * 环比(生活供水) - */ - @Schema(description="环比(生活供水)") - @ExcelProperty({"${title}", "生活供水", "环比"}) - private String lifeQoqV; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StWaterRVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StWaterRVo.java deleted file mode 100644 index 06e8e0c..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StWaterRVo.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * @author cxw - * @description: (描述这个类或者方法的作用) - * @classname StWaterRVo.java - * @create 2024-07-10, 星期三, 10:26:04 - */ -@Data -@ExcelIgnoreUnannotated -public class StWaterRVo { - - @ExcelProperty({"${title}", "站码"}) - @ColumnWidth(15) - private String stcd; - - @ExcelProperty({"${title}", "时间"}) - @ColumnWidth(15) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - @ExcelProperty({"${title}", "流量(m³/s)"}) - private BigDecimal q; - - @ExcelProperty({"${title}", "水量(m³)"}) - private BigDecimal v; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StZqrlBCount24Vo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StZqrlBCount24Vo.java deleted file mode 100644 index 354c619..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StZqrlBCount24Vo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class StZqrlBCount24Vo { - private String stcd; - - private BigDecimal currWaterLevel; - - private BigDecimal flowNum; - - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - private BigDecimal sum24; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StZqrlBCountVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StZqrlBCountVo.java deleted file mode 100644 index d53bf04..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StZqrlBCountVo.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class StZqrlBCountVo { - private String stcd; - - private BigDecimal val; - - private BigDecimal currDayValSum; - - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - private BigDecimal currMonthSum; - - private BigDecimal currYearSum; - - private Long currYearCount; - - private BigDecimal currYearMaxVal; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/StZqrlBVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/StZqrlBVo.java deleted file mode 100644 index 5ab2727..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/StZqrlBVo.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.Date; -import java.util.List; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class StZqrlBVo { - - private String stcd; - - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - private BigDecimal waterLevel; - - private BigDecimal flowNum; - - private BigDecimal boxNum; - - - @Schema(description="流量和") - @TableField(exist = false) - private BigDecimal qtotal; - - public LocalDateTime getModitimeAsLocalDateTime() { - if (tm == null) { - return null; - } - return tm.toInstant() - .atZone(ZoneId.systemDefault()) - .toLocalDateTime(); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/SysDepartTree.java b/src/main/java/com/gunshi/project/xyt/entity/vo/SysDepartTree.java deleted file mode 100644 index 4c2bf92..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/SysDepartTree.java +++ /dev/null @@ -1,55 +0,0 @@ -//package com.gunshi.project.xyt.entity.vo; -// -//import com.gunshi.project.xyt.model.SysDepart; -//import io.swagger.v3.oas.annotations.tags.Tag; -//import lombok.Data; -//import org.apache.commons.collections4.CollectionUtils; -// -//import java.util.List; -//import java.util.Objects; -// -///** -// * Description: -// * Created by XuSan on 2024/9/23. -// * -// * @author XuSan -// * @version 1.0 -// */ -//@Tag(name="组织机构表") -//@Data -//public class SysDepartTree { -// -// public static List buildTree(List list) { -// List dataList = list.stream() -// .filter(o -> Objects.nonNull(o.getPid())) -// .toList(); -// if (CollectionUtils.isEmpty(dataList)){ -// return null; -// } -// List pList = dataList.stream() -// .filter(o -> 0 == o.getPid()) -// .toList(); -// -// List cList = dataList.stream() -// .filter(o -> 0 != o.getPid()) -// .toList(); -// -// if (CollectionUtils.isNotEmpty(pList) && CollectionUtils.isNotEmpty(cList)){ -// pList.forEach(p -> findChild(p,cList)); -// return pList; -// } -// return null; -// } -// -// private static void findChild(SysDepart p, List cList) { -// List children = cList.stream() -// .filter(o -> p.getId().equals(o.getPid())) -// .toList(); -// if (CollectionUtils.isNotEmpty(children)){ -// p.setChildren(children); -// cList.forEach(c -> findChild(c,cList)); -// }else{ -// p.setChildren(null); -// } -// } -//} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/SzCaseStatisticsVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/SzCaseStatisticsVo.java deleted file mode 100644 index c48056d..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/SzCaseStatisticsVo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class SzCaseStatisticsVo { - - @Schema(description="月份") - private Integer month; - - @Schema(description="类型") - private Integer type; - - @Schema(description="数量") - private Integer count; - -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/TyYearRainfallVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/TyYearRainfallVo.java deleted file mode 100644 index aa3da6f..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/TyYearRainfallVo.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import com.gunshi.project.xyt.model.TyYearRainfall; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/7/15 - * - * @author wanyan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class TyYearRainfallVo extends TyYearRainfall { - - @Schema(description = "月降雨量") - private List list; -} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/WarningData.java b/src/main/java/com/gunshi/project/xyt/entity/vo/WarningData.java deleted file mode 100644 index 706e0b9..0000000 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/WarningData.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.gunshi.project.xyt.entity.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -/** - * @Author xusan - * @Date 2023/7/4 10:28 - * @Notes - **/ -@Data -public class WarningData { - - @Schema(description = "服务名") - private String effectArea; - - @Schema(description = "预警信息列表") - private List typeList; - - - @Data - public static class TypeList { - - @Schema(description = "预警信息详情") - private List warnList; - - @Schema(description = "预警信号") - private String type; - - } - - @Data - public static class Warning { - - @Schema(description = "ID") - private int id; - - @Schema(description = "创建时间") - private String createTime; - - @Schema(description = "发布时间") - private String publishTime; - - @Schema(description = "预警开始时间") - private String startTime; - - @Schema(description = "预警结束时间") - private String endTime; - - @Schema(description = "预警类型") - private String warnSignalType; - - @Schema(description = "预警级别") - private String warnSignalLevel; - - @Schema(description = "预警地区") - private String effectArea; - - @Schema(description = "发布单位") - private String publishUnit; - - @Schema(description = "预警内容") - private String content; - - } -} diff --git a/src/main/java/com/gunshi/project/xyt/grb/RainGrib2Layer.java b/src/main/java/com/gunshi/project/xyt/grb/RainGrib2Layer.java deleted file mode 100644 index 8f5f273..0000000 --- a/src/main/java/com/gunshi/project/xyt/grb/RainGrib2Layer.java +++ /dev/null @@ -1,155 +0,0 @@ -package com.gunshi.project.xyt.grb; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * Description: - * Created by wanyan on 2024/2/23 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class RainGrib2Layer { - - @Schema(description = "tmRange") - private TmRange tmRange; - - @Schema(description = "data") - public BigDecimal[][] data; - - @Schema(description = "图片base64数据") - private String base64; - - @Schema(description = "x1") - private BigDecimal x1; - - @Schema(description = "x2") - private BigDecimal x2; - - @Schema(description = "y1") - private BigDecimal y1; - - @Schema(description = "y2") - private BigDecimal y2; - - @Schema(description = "dw") - private BigDecimal dw; - - @Schema(description = "dh") - private BigDecimal dh; - - @Schema(description = "nw") - private int nw; - - @Schema(description = "nh") - private int nh; - -// public RainGrib2Layer createSubset(Double bx1, Double by1, Double bx2, Double by2) { -// int ix1 = 0, ix2 = nw - 1, iy1 = 0, iy2 = nh - 1; -// if (bx1 != null && bx1 > x1) { -// ix1 = (int)((nw - 1) * (bx1 - x1) / (x2 - x1)); -// } -// if (by1 != null && by1 > y1) { -// iy1 = (int)((nh - 1) * (by1 - y1) / (y2 - y1)); -// } -// if (bx2 != null && bx2 < x2) { -// ix2 = (int)Math.ceil((nw - 1) * (bx2 - x1) / (x2 - x1)); -// } -// if (by2 != null && by2 < y2) { -// iy2 = (int)Math.ceil((nh - 1) * (by2 - y1) / (y2 - y1)); -// } -// -// RainGrib2Layer ret = new RainGrib2Layer(); -// -// ret.tmRange = (TmRange) tmRange.clone(); -// ret.x1 = x1 + ix1 * dw; -// ret.y1 = y1 + iy1 * dh; -// ret.x2 = x1 + ix2 * dw; -// ret.y2 = y1 + iy2 * dh; -// ret.nw = ix2 - ix1 + 1; -// ret.nh = iy2 - iy1 + 1; -// ret.dw = dw; -// ret.dh = dh; -// ret.data = new float[ret.nh][ret.nw]; -// for (int iy = iy1; iy <= iy2; iy += 1) { -// for (int ix = ix1; ix <= ix2; ix += 1) { -// ret.data[iy - iy1][ix - ix1] = data[iy][ix]; -// } -// } -// -// return ret; -// } -// -// boolean setContent(Grib2FrameParams frame, Grib2LayerParams layer, byte[] bin) { -// if (layer.calDataLen() != bin.length) { -// return false; -// } -// -// x1 = frame.x1; -// x2 = frame.x2; -// y1 = frame.y1; -// y2 = frame.y2; -// nw = frame.nw; -// nh = frame.nh; -// dw = frame.dw; -// dh = frame.dh; -// tmRange = (TmRange) layer.tmRange.clone(); -// data = new float[nh][nw]; -// -// float decimalScale = layer.getDecimalScale(); -// float binaryScale = layer.getBinaryScale(); -// -// boolean constValue = layer.numBits == 0; -// float RValue = layer.R; -// -// try { -// BitInputStream bis = new BitInputStream(new ByteArrayInputStream(bin),null); -// for (int iy = 0; iy < nh; iy++) { -// for (int ix = 0; ix < nw; ix++) { -// if (constValue) { -// data[iy][ix] = RValue; -// } else { -// long v = bis.readBits(layer.numBits); -// double value = decimalScale * (layer.R + v * binaryScale); -// -// data[iy][ix] = (float)value; -// } -// } -// } -// bis.close(); -// return true; -// } catch (Exception e) { -// e.printStackTrace(); -// return false; -// } -// } -// -// @Override -// public Object clone() { -// RainGrib2Layer ret = new RainGrib2Layer(); -// -// ret.tmRange = (TmRange) tmRange.clone(); -// ret.x1 = x1; -// ret.y1 = y1; -// ret.x2 = x2; -// ret.y2 = y2; -// ret.nw = nw; -// ret.nh = nh; -// ret.dw = dw; -// ret.dh = dh; -// ret.data = new float[nh][nw]; -// for (int iy = 0; iy < nh; iy += 1) { -// for (int ix = 0; ix < nw; ix += 1) { -// ret.data[iy][ix] = data[iy][ix]; -// } -// } -// -// return ret; -// } - - -} diff --git a/src/main/java/com/gunshi/project/xyt/grb/TmRange.java b/src/main/java/com/gunshi/project/xyt/grb/TmRange.java deleted file mode 100644 index e81b57d..0000000 --- a/src/main/java/com/gunshi/project/xyt/grb/TmRange.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.gunshi.project.xyt.grb; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; - -/** - * Description: - * Created by wanyan on 2024/2/23 - * - * @author wanyan - * @version 1.0 - */ -@Data -public class TmRange { - - public static final String TM_FORMAT = "yyyyMMddHH"; - - public static final String TM_FORMAT_RADAR = "yyyyMMddHHmm"; - - @Schema(description = "startTm") - private Date startTm; - - @Schema(description = "offset") - private int offset; - - @Schema(description = "interval") - private int interval; - - @Schema(description = "tm1") - private Date tm1; - - @Schema(description = "tm2") - private Date tm2; - - @Schema(description = "key") - private String key; - - - @Override - public Object clone() { - TmRange ret = new TmRange(); - ret.startTm = (Date)startTm.clone(); - ret.offset = offset; - ret.tm1 = (Date)tm1.clone(); - ret.tm2 = (Date)tm2.clone(); - ret.interval = interval; - ret.key = key; - return ret; - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/listener/OsmoticWaterRImportListener.java b/src/main/java/com/gunshi/project/xyt/listener/OsmoticWaterRImportListener.java deleted file mode 100644 index 0d4f4bb..0000000 --- a/src/main/java/com/gunshi/project/xyt/listener/OsmoticWaterRImportListener.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.gunshi.project.xyt.listener; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.gunshi.project.xyt.entity.vo.OsmoticWaterRVo; -import com.gunshi.project.xyt.model.OsmoticWaterR; -import com.gunshi.project.xyt.service.OsmoticWaterRService; -import com.gunshi.project.xyt.util.ConvertUtil; -import com.gunshi.project.xyt.util.ServiceException; -import com.gunshi.project.xyt.util.excel.ExcelListener; -import com.gunshi.project.xyt.util.excel.ExcelResult; -import com.gunshi.project.xyt.util.spring.SpringUtils; -import lombok.extern.slf4j.Slf4j; - -import java.util.List; - -/** - * @Author Hiram - * @Date 2023/03/14 10:23 - */ -@Slf4j -public class OsmoticWaterRImportListener extends AnalysisEventListener implements ExcelListener { - - private final OsmoticWaterRService osmoticWaterRService; - private int successNum = 0; - private int failureNum = 0; - private final StringBuilder successMsg = new StringBuilder(); - private final StringBuilder failureMsg = new StringBuilder(); - - public OsmoticWaterRImportListener() { - this.osmoticWaterRService = SpringUtils.getBean(OsmoticWaterRService.class); - } - - - /** - * 使用表格导入数据 - * @param osmoticWaterRVo - * @param analysisContext - */ - @Override - public void invoke(OsmoticWaterRVo osmoticWaterRVo, AnalysisContext analysisContext) { - OsmoticWaterR osmoticWaterR = ConvertUtil.entityToVo(osmoticWaterRVo, OsmoticWaterR.class); - osmoticWaterR.setId(IdWorker.getId()); - this.osmoticWaterRService.save(osmoticWaterR); - successNum++; -// successMsg.append("
").append(successNum).append("监测仪数据导入成功"); - } - - @Override - public void doAfterAllAnalysed(AnalysisContext analysisContext) { - - } - - /** - * 导入结果 - * @return - */ - @Override - public ExcelResult getExcelResult() { - return new ExcelResult() { - - @Override - public String getAnalysis() { - if (failureNum > 0) { - failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确"); - throw new ServiceException(failureMsg.toString()); - } else { - successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条"); - } - return successMsg.toString(); - } - - @Override - public List getList() { - return null; - } - - @Override - public List getErrorList() { - return null; - } - }; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/listener/RotaImportListener.java b/src/main/java/com/gunshi/project/xyt/listener/RotaImportListener.java deleted file mode 100644 index d0d29aa..0000000 --- a/src/main/java/com/gunshi/project/xyt/listener/RotaImportListener.java +++ /dev/null @@ -1,173 +0,0 @@ -package com.gunshi.project.xyt.listener; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.alibaba.excel.exception.ExcelDataConvertException; -import com.google.common.collect.Lists; -import com.gunshi.project.xyt.entity.vo.RotaVo; -import com.gunshi.project.xyt.service.RotaService; -import com.gunshi.project.xyt.util.excel.LengthValid; -import com.gunshi.project.xyt.util.spring.SpringUtils; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; - -import java.lang.reflect.Field; -import java.util.List; -import java.util.Map; -import java.util.function.Consumer; - -/** - * 读取excel数据 - */ -@Slf4j -public class RotaImportListener extends AnalysisEventListener { - - private final RotaService rotaService; - - - /**临时存储正常数据集合*/ - private List successDataList = Lists.newArrayList(); - - /**临时存错误储数据集合*/ - private List errorDataList = Lists.newArrayList(); - - /**自定义消费者函数接口用于自定义监听器中数据组装*/ - private final Consumer> successConsumer; - - private final Consumer> errorConsumer; - - public RotaImportListener(Consumer> successConsumer, Consumer> errorConsumer) { - this.successConsumer = successConsumer; - this.errorConsumer = errorConsumer; - this.rotaService = SpringUtils.getBean(RotaService.class); - } - - /**手机号格式异常日志处理*/ - @Override - public void onException(Exception exception, AnalysisContext context) { - log.error("异常信息:{}", exception.getMessage()); - // 如果是某一个单元格的转换异常 能获取到具体行号,如果要获取头的信息 配合invokeHeadMap使用 - if (exception instanceof ExcelDataConvertException) { - ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException) exception; - log.error("第{}行,第{}列解析异常,数据为:{}", excelDataConvertException.getRowIndex(), excelDataConvertException.getColumnIndex(), excelDataConvertException.getCellData()); - }else if (exception instanceof IllegalArgumentException){ - throw new IllegalArgumentException(exception.getMessage()); - } - } - - /** - * 在这里进行模板的判断 - * @param headMap 存放着导入表格的表头,键是索引,值是名称 - * @param context - */ - @Override - public void invokeHeadMap(Map headMap, AnalysisContext context) { - //只校验第三行表头是否正确 - Integer rowNum = context.getCurrentRowNum(); - if (rowNum == 2) { - // 获取数据实体的字段列表 - Field[] fields = RotaVo.class.getDeclaredFields(); - // 遍历字段进行判断 - for (Field field : fields) { - // 获取当前字段上的ExcelProperty注解信息 - ExcelProperty fieldAnnotation = field.getAnnotation(ExcelProperty.class); - // 判断当前字段上是否存在ExcelProperty注解 - if (fieldAnnotation != null) { - String value = fieldAnnotation.value()[1]; - // 存在ExcelProperty注解则根据注解的value值到表格中对比是否存在对应的表头 - if(!headMap.containsValue(value)){ - // 如果表格不包含模版类字段中的表头,则抛出异常不再往下执行 - throw new RuntimeException("模板错误,请检查导入模板"); - } - } - } - } - } - - - /**每行读取监听触发逻辑*/ - @SneakyThrows - @Override - public void invoke(RotaVo rotaVo, AnalysisContext analysisContext) { - //获取总行数 - Integer rowNumber = analysisContext.readSheetHolder().getApproximateTotalRowNumber(); - //行数 - int row = analysisContext.readRowHolder().getRowIndex() + 1; - log.info("第" + row + "行数据进行处理"); - // 手机号格式校验 - if(validParam(rotaVo,row)){ - successDataList.add(rotaVo); - }else{ - errorDataList.add(rotaVo); - } - } - - private Boolean validParam(RotaVo rotaVo, int row) throws IllegalAccessException { - // 参数校验 - Field[] fields = rotaVo.getClass().getDeclaredFields(); - Boolean flag = true; - String msg = ""; - for (Field field : fields) { - //设置可访问 - field.setAccessible(true); - //判断字段是否添加校验 - boolean valid = field.isAnnotationPresent(LengthValid.class); - if (valid) { - String name = field.getName(); - - //获取注解信息 - LengthValid annotation = field.getAnnotation(LengthValid.class); - int cell = 4; - if("leaderPhone".equals(name)){ - cell = 3; - } - //行数列数 - msg += "第" + row + "行的第" + cell + "列:"; - //值 - String value = (String) field.get(rotaVo); - System.out.println("value = "+value); - if(value.length() != annotation.length()){ - //错误信息 - msg += annotation.msg(); - flag = false; - } - Long userId = rotaService.checkPhone(value); - if(userId == null){ - //错误信息 - String err = "手机号"+value+"未找到对应的系统用户,请先核实用户手机号再进行模板导入!"; - msg += err; - flag = false; - }else{ - if(cell == 3){ - rotaVo.setLeaderUserId(userId); - }else { - rotaVo.setDutyUserId(userId); - } - } - } - rotaVo.setErrorMsg(msg); - } - return flag; - } - - @Override - public void doAfterAllAnalysed(AnalysisContext analysisContext) { - if (CollectionUtils.isNotEmpty(successDataList)) { - successConsumer.accept(successDataList); - } - if (CollectionUtils.isNotEmpty(errorDataList)) { - errorConsumer.accept(errorDataList); - } - } - - /** - *监听器的hasNext()方法时没有注意到默认返回的是false,导致一进监听器就判断已经没有下一条记录,直接跳出监听器,然后导入就完成,也不会报错,改成返回true即可解决 - */ - @Override - public boolean hasNext(AnalysisContext analysisContext) { - return true; - } -} - diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AppVersionRecordMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AppVersionRecordMapper.java deleted file mode 100644 index ef6428f..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AppVersionRecordMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AppVersionRecord; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: APP版本记录 - * author: xusan - * date: 2024-11-12 10:14:50 - */ -@Mapper -public interface AppVersionRecordMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessCategoryMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessCategoryMapper.java deleted file mode 100644 index 7e63bee..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessCategoryMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AssessCategory; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 考核类目 - * author: xusan - * date: 2024-09-03 17:46:30 - */ -@Mapper -public interface AssessCategoryMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorMapper.java deleted file mode 100644 index 5703690..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorMapper.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.model.AssessIndicator; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * 描述: 考核指标 - * author: xusan - * date: 2024-09-03 17:46:56 - */ -@Mapper -public interface AssessIndicatorMapper extends BaseMapper { - - @Select(""" - - """) - Page choosePage(Page page,@Param("obj") AttCctvBasePage page1); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorRatingMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorRatingMapper.java deleted file mode 100644 index 2fd7722..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorRatingMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AssessIndicatorRating; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 考核指标评分细则 - * author: xusan - * date: 2024-09-03 17:47:17 - */ -@Mapper -public interface AssessIndicatorRatingMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessObjectMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessObjectMapper.java deleted file mode 100644 index 3001a5c..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessObjectMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AssessObject; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 考核对象 - * author: xusan - * date: 2024-09-05 14:19:30 - */ -@Mapper -public interface AssessObjectMapper extends BaseMapper { - - @Select(""" - - """) - List queryObjectByTaskId(@Param("taskId") Long taskId); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessObjectRatingMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessObjectRatingMapper.java deleted file mode 100644 index 7759a1a..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessObjectRatingMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AssessObjectRating; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 考核对象指标得分详情 - * author: xusan - * date: 2024-09-10 10:44:14 - */ -@Mapper -public interface AssessObjectRatingMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessTaskMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessTaskMapper.java deleted file mode 100644 index 37f1789..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessTaskMapper.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.db.dto.MonthRangeSo; -import com.gunshi.project.xyt.entity.so.AssessTaskPageSo; -import com.gunshi.project.xyt.entity.vo.AssessResultVo; -import com.gunshi.project.xyt.model.AssessIndicator; -import com.gunshi.project.xyt.model.AssessObject; -import com.gunshi.project.xyt.model.AssessTask; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 考核任务 - * author: xusan - * date: 2024-09-05 14:19:04 - */ -@Mapper -public interface AssessTaskMapper extends BaseMapper { - - @Select(""" - - """) - List queryIndicators(@Param("templateId") Long templateId); - - @Select(""" - - """) - Page myTodo(Page page,@Param("obj") AssessTaskPageSo page1); - - @Select(""" - - """) - Page myDone(Page page,@Param("obj") AssessTaskPageSo page1,@Param("taskIds") List taskIds); - - @Select(""" - - """) - List selectObject(@Param("taskId") Long id,@Param("userId") Long userId); - - @Select(""" - - """) - List result(@Param("taskId") Long id); - - @Select(""" - - """) - List myDoneTask(@Param("userId") Long userId); - - @Select(""" - - """) - List resultStat(@Param("obj") MonthRangeSo monthRangeSo); - - @Select(""" - - """) - Page listPage(Page page,@Param("obj") AssessTaskPageSo page1); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamMapper.java deleted file mode 100644 index 3d60526..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AssessTeam; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 考核组成员 - * author: xusan - * date: 2024-09-05 14:19:47 - */ -@Mapper -public interface AssessTeamMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamRatingMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamRatingMapper.java deleted file mode 100644 index 0813f03..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamRatingMapper.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.db.dto.MonthRangeSo; -import com.gunshi.project.xyt.entity.so.AssessTaskPageSo; -import com.gunshi.project.xyt.entity.vo.AssessRatingVo; -import com.gunshi.project.xyt.entity.vo.AssessRectifyVo; -import com.gunshi.project.xyt.model.AssessTeamRating; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 考核评分详情 - * author: xusan - * date: 2024-09-05 14:20:04 - */ -@Mapper -public interface AssessTeamRatingMapper extends BaseMapper { - - @Select(""" - - """) - List scoreDetail(@Param("teamId") Long teamId); - - @Select(""" - - """) - List scoreByObjectId(@Param("objectId") Long objectId); - - @Select(""" - - """) - Page listPage(Page page,@Param("obj") AssessTaskPageSo page1); - - @Select(""" - - """) - List rectifyStat(@Param("obj") MonthRangeSo monthRangeSo); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateIndicatorRelMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateIndicatorRelMapper.java deleted file mode 100644 index 27ef4e3..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateIndicatorRelMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AssessTemplateIndicatorRel; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 模板关联指标 - * author: xusan - * date: 2024-09-04 13:43:05 - */ -@Mapper -public interface AssessTemplateIndicatorRelMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateMapper.java deleted file mode 100644 index 9b2d715..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AssessIndicator; -import com.gunshi.project.xyt.model.AssessTemplate; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 考核模板 - * author: xusan - * date: 2024-09-04 13:42:40 - */ -@Mapper -public interface AssessTemplateMapper extends BaseMapper { - - @Select(""" - - """) - List queryIndicators(@Param("id") Long id); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttCctvBaseMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttCctvBaseMapper.java deleted file mode 100644 index 904240e..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttCctvBaseMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AttCctvBase; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 视频基本信息表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface AttCctvBaseMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttDamBaseMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttDamBaseMapper.java deleted file mode 100644 index e0b9a1e..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttDamBaseMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AttDamBase; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 大坝表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface AttDamBaseMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttDamProfileMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttDamProfileMapper.java deleted file mode 100644 index d317f4a..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttDamProfileMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AttDamProfile; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 监测断面信息表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface AttDamProfileMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttGateBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttGateBMapper.java deleted file mode 100644 index a223a51..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttGateBMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.GateMonitorDataVo; -import com.gunshi.project.xyt.model.AttGateB; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 水闸基本情况调查表 - * author: xusan - * date: 2024-09-26 10:44:06 - */ -@Mapper -public interface AttGateBMapper extends BaseMapper { - - @Select(""" - - """) - List dataList(@Param("gateCode") String gateCode); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttGateValveMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttGateValveMapper.java deleted file mode 100644 index 231e2db..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttGateValveMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AttGateValve; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 闸阀信息表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface AttGateValveMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttMeaWeirMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttMeaWeirMapper.java deleted file mode 100644 index 290077d..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttMeaWeirMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AttMeaWeir; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 量水堰表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface AttMeaWeirMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttResBaseMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttResBaseMapper.java deleted file mode 100644 index c8e8dd8..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttResBaseMapper.java +++ /dev/null @@ -1,249 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.DataQueryCommonSo; -import com.gunshi.project.xyt.entity.so.PicQuerySo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.model.*; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** - * 描述: 水库基本信息表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface AttResBaseMapper extends BaseMapper { - @Select(""" - - """) - List queryList(); - - @Select(""" - - """) - List queryListV2(); - - @Select(""" - - """) - List drpData(@Param("obj") DataQueryCommonSo dataQueryCommonSo); - - @Select(""" - - """) - List rzData(@Param("obj") DataQueryCommonSo dataQueryCommonSo); - - @Select(""" - - """) - List realImg(@Param("resCode") String resCode); - - @Select(""" - - """) - List queryRzList(@Param("stcd") String stcd, @Param("stm") String startTime, @Param("etm") String endTime); - - @Select(""" - - """) - AttResMonitorVo latestRz(@Param("stcd") String stcd); - - - @Select(""" - - """) - BigDecimal oldRz(@Param("stcd") String stcd,@Param("type") Integer type, @Param("dateTime") Date dateTime); - - @Select(""" - - """) - BigDecimal queryMaxRzByStcdAndTime(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime); - - @Select(""" - - """) - BigDecimal queryRiverMaxRz(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime); - - @Select(""" - - """) - List channel(@Param("resCode") String resCode); - - @Select(""" - - """) - Page imageInfo(@Param("page") Page page ,@Param("obj") PicQuerySo picQuerySo); - - @Select(""" - - """) - List queryWaterList(); - - @Select(""" - - """) - List drp(@Param("obj") DataQueryCommonSo dataQueryCommonSo); - - @Select(""" - - """) - List rz(@Param("obj") DataQueryCommonSo dataQueryCommonSo); - - @Select(""" - - """) - AttRvMonitorVo newRz(@Param("stcd") String stcd); - - @Select(""" - - """) - Page rzDataPage(Page page,@Param("obj") PicQuerySo picQuerySo); - - @Select(""" - select * from public.dam_brief_r dbr - where 1=1 - and date=#{todayStr} - order by date desc - limit 1; - """) - ResBriefVo getBrief(String todayStr); - - @Select(""" - select * from public.dam_brief_r dbr - where 1=1 - and date between #{startDate} and #{endDate} - order by date desc - """) - List getBriefList(String startDate, String endDate); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttResBuildingMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttResBuildingMapper.java deleted file mode 100644 index eecfb79..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttResBuildingMapper.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.DataQueryCommonSo; -import com.gunshi.project.xyt.entity.so.PicQuerySo; -import com.gunshi.project.xyt.entity.vo.AttResBaseVo; -import com.gunshi.project.xyt.entity.vo.AttResMonitorVo; -import com.gunshi.project.xyt.entity.vo.AttRvBaseVo; -import com.gunshi.project.xyt.entity.vo.AttRvMonitorVo; -import com.gunshi.project.xyt.model.*; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** - * 描述: 水库基本信息表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface AttResBuildingMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttSpillwayBaseMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttSpillwayBaseMapper.java deleted file mode 100644 index 2bfadcf..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttSpillwayBaseMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AttSpillwayBase; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 溢洪道 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface AttSpillwayBaseMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AttWaterItemMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AttWaterItemMapper.java deleted file mode 100644 index 74c6730..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/AttWaterItemMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AttWaterItem; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水质整编展示项目表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface AttWaterItemMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/BroadcastStationMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/BroadcastStationMapper.java deleted file mode 100644 index 21883ab..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/BroadcastStationMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.BroadcastStation; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: - * author: xusan - * date: 2024-09-25 10:12:34 - */ -@Mapper -public interface BroadcastStationMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/BroadcastTemplateMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/BroadcastTemplateMapper.java deleted file mode 100644 index 8659d6c..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/BroadcastTemplateMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.BroadcastTemplate; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: - * author: xusan - * date: 2024-09-25 10:12:13 - */ -@Mapper -public interface BroadcastTemplateMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/BroadcastWarnMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/BroadcastWarnMapper.java deleted file mode 100644 index 456ea88..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/BroadcastWarnMapper.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.BroadcastWarnPageSo; -import com.gunshi.project.xyt.model.BroadcastWarn; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * 描述: - * author: xusan - * date: 2024-09-25 10:12:51 - */ -@Mapper -public interface BroadcastWarnMapper extends BaseMapper { - - @Select(""" - - """) - Page pageQuery(Page page,@Param("obj") BroadcastWarnPageSo page1); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/BzDictRelMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/BzDictRelMapper.java deleted file mode 100644 index 11b4744..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/BzDictRelMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.BzDictRel; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 业务关联字典 - * author: xusan - * date: 2024-08-28 10:05:21 - */ -@Mapper -public interface BzDictRelMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/CctvBMenuMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/CctvBMenuMapper.java deleted file mode 100644 index 0c541df..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/CctvBMenuMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.CctvBMenu; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 视频点目录 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface CctvBMenuMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/DispatchRecordMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/DispatchRecordMapper.java deleted file mode 100644 index 6e1582d..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/DispatchRecordMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.DispatchRecord; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 调度记录 - * author: xusan - * date: 2024-10-09 09:56:28 - */ -@Mapper -public interface DispatchRecordMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/FileAssociationsMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/FileAssociationsMapper.java deleted file mode 100644 index 1b5ce84..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/FileAssociationsMapper.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.FileAssociations; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 文件关联业务表 - * author: xusan - * date: 2024-07-17 10:09:40 - */ -@Mapper -public interface FileAssociationsMapper extends BaseMapper { - - @Select(""" - - """) - List getFiles(@Param("tableName") String tableName,@Param("businessId") String businessId); - @Select(""" - - """) - List getFiles1(@Param("tableName") String tableName,@Param("businessId") String businessId,@Param("type") String type); - - @Select(""" - - """) - List queryFileList(@Param("businessId") String businessId,@Param("tableName") String tableName,@Param("type") String type); - - @Select(""" - - """) - List getFilesByIds(@Param("ids") List ids); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ForecastKMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ForecastKMapper.java deleted file mode 100644 index ad2c440..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ForecastKMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ForecastK; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 预报_前期影响雨量折减系数表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Mapper -public interface ForecastKMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ForecastPPaRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ForecastPPaRMapper.java deleted file mode 100644 index 40159ca..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ForecastPPaRMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ForecastPPaR; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 预报_降雨径流关系表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Mapper -public interface ForecastPPaRMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ForecastPaMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ForecastPaMapper.java deleted file mode 100644 index 4f31792..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ForecastPaMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ForecastPa; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 预报_土壤含水量表 - * author: cxw - * date: 2024-08-02 12:23:07 - */ -@Mapper -public interface ForecastPaMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ForecastProjectMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ForecastProjectMapper.java deleted file mode 100644 index d840fd6..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ForecastProjectMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ForecastProject; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 预报_预测方案管理表 - * author: cxw - * date: 2024-08-05 11:41:45 - */ -@Mapper -public interface ForecastProjectMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ForecastResultsMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ForecastResultsMapper.java deleted file mode 100644 index f487b68..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ForecastResultsMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ForecastResults; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 预报_预测结果表 - * author: cxw - * date: 2024-08-05 11:41:45 - */ -@Mapper -public interface ForecastResultsMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ForecastTaskMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ForecastTaskMapper.java deleted file mode 100644 index d4f3832..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ForecastTaskMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ForecastTask; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 预报_预测自动任务管理表 - * author: cxw - * date: 2024-08-05 11:41:45 - */ -@Mapper -public interface ForecastTaskMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ForecastUMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ForecastUMapper.java deleted file mode 100644 index 5ddbb3c..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ForecastUMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ForecastU; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 预报_时段单位线表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Mapper -public interface ForecastUMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ForecastUseparamMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ForecastUseparamMapper.java deleted file mode 100644 index 0b9e0c2..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ForecastUseparamMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ForecastUseparam; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 预报_通用参数管理 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Mapper -public interface ForecastUseparamMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/GatePoreMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/GatePoreMapper.java deleted file mode 100644 index 436fab2..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/GatePoreMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.GatePore; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 闸孔信息表 - * author: xusan - * date: 2024-09-26 10:44:57 - */ -@Mapper -public interface GatePoreMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/GateValveCctvRelMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/GateValveCctvRelMapper.java deleted file mode 100644 index 0a8f6b0..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/GateValveCctvRelMapper.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.GateValveCctvRelPage; -import com.gunshi.project.xyt.entity.vo.GateValveCctvRelVo; -import com.gunshi.project.xyt.model.GateValveCctvRel; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 闸阀关联视频点 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface GateValveCctvRelMapper extends BaseMapper { - - @Select(""" - - """) - Page pages(@Param("page") Page page,@Param("obj") GateValveCctvRelPage obj); - - @Select(""" - - """) - List queryList(@Param("valveCode") String valveCode); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/GateValveRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/GateValveRMapper.java deleted file mode 100644 index 52be573..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/GateValveRMapper.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.GateHisPageSo; -import com.gunshi.project.xyt.entity.vo.GateStautsVo; -import com.gunshi.project.xyt.model.GateValveR; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 闸阀开关历史表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface GateValveRMapper extends BaseMapper { - - @Select(""" - - """) - Page pageQuery(Page page,@Param("obj") GateHisPageSo so); - - @Select(""" - - """) - List hisList(@Param("obj") GateHisPageSo so); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/GateValveRealMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/GateValveRealMapper.java deleted file mode 100644 index f4ecd7a..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/GateValveRealMapper.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.GateHisPageSo; -import com.gunshi.project.xyt.entity.vo.GateStautsVo; -import com.gunshi.project.xyt.entity.vo.GateValveOplogVo; -import com.gunshi.project.xyt.model.GateValveReal; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.math.BigDecimal; -import java.util.List; - -/** - * 描述: 闸阀开关表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface GateValveRealMapper extends BaseMapper { - - @Select(""" - - """) - List gateStatusList(); - - @Select(""" - - """) - BigDecimal realQ(@Param("valveCode") String valveCode); - - @Select(""" - - """) - Page logPage(Page page,@Param("obj") GateHisPageSo so); - - @Select(""" - - """) - List logList(@Param("obj") GateHisPageSo so); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/IaCBsnssinfoMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/IaCBsnssinfoMapper.java deleted file mode 100644 index e0891f3..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/IaCBsnssinfoMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.HomeIaCBsnssinfoVo; -import com.gunshi.project.xyt.model.IaCBsnssinfo; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 防治区企事业单位汇总表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface IaCBsnssinfoMapper extends BaseMapper { - - @Select(""" - - """) - List getDetailsAndMonitoringDataLis(); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/IaCDanadMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/IaCDanadMapper.java deleted file mode 100644 index 236969c..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/IaCDanadMapper.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.HomeIaCDanadVo; -import com.gunshi.project.xyt.model.IaCDanad; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 危险区基本情况调查成果汇总表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface IaCDanadMapper extends BaseMapper { - - - @Select(""" - - """) - List getDetailsAndMonitoringDataLis(); - - @Select(""" - - """) - HomeIaCDanadVo detail(@Param("id") String id); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/IaCFlrvvlgMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/IaCFlrvvlgMapper.java deleted file mode 100644 index 4eabc2f..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/IaCFlrvvlgMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.HomeIaCFlrvvlgVo; -import com.gunshi.project.xyt.model.IaCFlrvvlg; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 重要沿河村落居民户调查成果表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface IaCFlrvvlgMapper extends BaseMapper { - - - @Select(""" - - """) - List getDetailsAndMonitoringDataLis(); - - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/InspectItemMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/InspectItemMapper.java deleted file mode 100644 index 289ad9e..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/InspectItemMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.InspectItem; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 巡检项 - * author: xusan - * date: 2024-08-29 09:58:10 - */ -@Mapper -public interface InspectItemMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/InspectPointMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/InspectPointMapper.java deleted file mode 100644 index b2395d3..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/InspectPointMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.InspectPoint; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 巡检点 - * author: xusan - * date: 2024-08-29 09:57:48 - */ -@Mapper -public interface InspectPointMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskDetailMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskDetailMapper.java deleted file mode 100644 index 787f95c..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskDetailMapper.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.InspectProblemPageSo; -import com.gunshi.project.xyt.entity.vo.InspectProblemVo; -import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo; -import com.gunshi.project.xyt.model.InspectTaskDetail; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 巡查信息 - * author: xusan - * date: 2024-08-29 14:21:45 - */ -@Mapper -public interface InspectTaskDetailMapper extends BaseMapper { - - @Select(""" - - """) - List inspectInfo(@Param("id") Long id); - - @Select(""" - - """) - Page pageQuery(Page page,@Param("obj") InspectProblemPageSo page1); - - @Select(""" - - """) - List handleList(); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskMapper.java deleted file mode 100644 index 3ebe217..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskMapper.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.InspectTaskPageSo; -import com.gunshi.project.xyt.model.InspectTask; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 巡检任务 - * author: xusan - * date: 2024-08-29 14:21:15 - */ -@Mapper -public interface InspectTaskMapper extends BaseMapper { - - @Select(""" - - """) - Page pageQuery(Page page,@Param("obj") InspectTaskPageSo pageSo); - - @Select(""" - - """) - List month(@Param("month") String monthValue); - - @Select(""" - - """) - Integer year(@Param("year") String year); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskTrackMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskTrackMapper.java deleted file mode 100644 index 29fbd32..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskTrackMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.InspectTaskTrack; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 巡查轨迹 - * author: xusan - * date: 2024-09-18 13:59:21 - */ -@Mapper -public interface InspectTaskTrackMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/MaintainServiceMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/MaintainServiceMapper.java deleted file mode 100644 index 9c77fdd..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/MaintainServiceMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.MaintainService; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 维修养护 - * author: xusan - * date: 2024-08-27 15:15:14 - */ -@Mapper -public interface MaintainServiceMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/MessageCenterMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/MessageCenterMapper.java deleted file mode 100644 index a4970e4..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/MessageCenterMapper.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.MessageCenter; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 消息中心 - * author: xusan - * date: 2024-09-19 10:39:29 - */ -@Mapper -public interface MessageCenterMapper extends BaseMapper { - - @Select(""" - - """) - List queryUserIds(); - - @Select(""" - - """) - List queryTodayMes(@Param("date") String date,@Param("type") Integer type); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OriginMessageMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OriginMessageMapper.java deleted file mode 100644 index cbc8ef7..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OriginMessageMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.OriginMessage; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface OriginMessageMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticFlowDeviceMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticFlowDeviceMapper.java deleted file mode 100644 index 777e521..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticFlowDeviceMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.HomeOsmoticFlowDeviceVo; -import com.gunshi.project.xyt.model.OsmoticFlowDevice; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 渗流设备表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface OsmoticFlowDeviceMapper extends BaseMapper { - - @Select(""" - - """) - List getDetailsAndMonitoringDataList(); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticFlowRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticFlowRMapper.java deleted file mode 100644 index 0595419..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticFlowRMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.OsmoticFlowR; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 渗流监测记录表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface OsmoticFlowRMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressDeviceMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressDeviceMapper.java deleted file mode 100644 index 5294fe1..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressDeviceMapper.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.HomeOsmoticPressDeviceVo; -import com.gunshi.project.xyt.model.OsmoticPressDevice; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 渗压设备表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface OsmoticPressDeviceMapper extends BaseMapper { - - @Select(""" - - """) - List getDetailsAndMonitoringDataList(); - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressRMapper.java deleted file mode 100644 index 00028a3..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressRMapper.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.OsmoticDetailQuerySo; -import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo; -import com.gunshi.project.xyt.entity.so.OsmoticQuerySo; -import com.gunshi.project.xyt.entity.vo.OsmoticPressDetailVo; -import com.gunshi.project.xyt.entity.vo.OsmoticPressVo; -import com.gunshi.project.xyt.entity.vo.OsmoticValueVo; -import com.gunshi.project.xyt.entity.vo.StRzVo; -import com.gunshi.project.xyt.model.OsmoticPressR; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 渗压监测记录表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface OsmoticPressRMapper extends BaseMapper { - - @Select(""" - - """) - Page queryPage(Page page,@Param("obj") OsmoticQueryPageSo osmoticQueryPageSo); - - @Select(""" - - """) - List queryRz(@Param("obj") OsmoticQuerySo osmoticQuerySo,@Param("stcd") String stcd); - - @Select(""" - - """) - List queryValue(@Param("obj") OsmoticQuerySo osmoticQuerySo); - - @Select(""" - - """) - List queryLineRz(@Param("obj") OsmoticQuerySo osmoticQuerySo,@Param("stcd") String stcd); - - @Select(""" - - """) - List queryLineValue(@Param("obj") OsmoticQuerySo osmoticQuerySo); - - @Select(""" - - """) - List queryWarn(@Param("obj") OsmoticQuerySo osmoticQuerySo); - - @Select(""" - - """) - List queryDrp(@Param("year") Integer year,@Param("stcd") String stcd); - - @Select(""" - - """) - List listValue(); - - @Select(""" - - """) - List flowListValue(); - - @Select(""" - - """) - List detailValue(@Param("obj") OsmoticDetailQuerySo so); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftDeviceMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftDeviceMapper.java deleted file mode 100644 index f8d5310..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftDeviceMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.HomeOsmoticShiftDeviceVo; -import com.gunshi.project.xyt.model.OsmoticShiftDevice; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 位移监测记录表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface OsmoticShiftDeviceMapper extends BaseMapper { - - @Select(""" - - """) - List getDetailsAndMonitoringDataList(); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftRMapper.java deleted file mode 100644 index c89bbe1..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftRMapper.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.so.OsmoticDetailQuerySo; -import com.gunshi.project.xyt.entity.so.OsmoticQuerySo; -import com.gunshi.project.xyt.entity.vo.OsmoticShiftListVo; -import com.gunshi.project.xyt.entity.vo.OsmoticShiftValueVo; -import com.gunshi.project.xyt.model.OsmoticShiftR; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 位移监测记录表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface OsmoticShiftRMapper extends BaseMapper { - - @Select(""" - - """) - List queryValue(@Param("obj") OsmoticQuerySo osmoticQuerySo); - - @Select(""" - - """) - List listValue(); - - @Select(""" - - """) - List queryWarn(@Param("obj") OsmoticQuerySo so); - - @Select(""" - - """) - List detailValue(@Param("obj") OsmoticDetailQuerySo so); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWarnRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWarnRMapper.java deleted file mode 100644 index a871978..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWarnRMapper.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.WarnPageSo; -import com.gunshi.project.xyt.entity.vo.OsmoticWarnVo; -import com.gunshi.project.xyt.model.OsmoticWarnR; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * 描述: 隐患预警记录表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface OsmoticWarnRMapper extends BaseMapper { - - @Select(""" - - """) - Page queryPage(Page page,@Param("obj") WarnPageSo warnPageSo); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWarnRuleMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWarnRuleMapper.java deleted file mode 100644 index 972846b..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWarnRuleMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.OsmoticWarnRule; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 预警规则配置表 - * author: xusan - * date: 2024-07-08 15:44:07 - */ -@Mapper -public interface OsmoticWarnRuleMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWaterRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWaterRMapper.java deleted file mode 100644 index bfa51e4..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWaterRMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.OsmoticWaterR; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水质采样记录表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface OsmoticWaterRMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWaterRuleMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWaterRuleMapper.java deleted file mode 100644 index a138820..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticWaterRuleMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.OsmoticWaterRule; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水质质量标准规则表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface OsmoticWaterRuleMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/PersonnelPlanLogMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/PersonnelPlanLogMapper.java deleted file mode 100644 index 4727598..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/PersonnelPlanLogMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.PersonnelPlanLog; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -public interface PersonnelPlanLogMapper extends BaseMapper { -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/PersonnelPlanMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/PersonnelPlanMapper.java deleted file mode 100644 index d13b4a0..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/PersonnelPlanMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.PersonnelPlan; -import org.apache.ibatis.annotations.Mapper; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@Mapper -public interface PersonnelPlanMapper extends BaseMapper { -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ProjectEventsMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ProjectEventsMapper.java deleted file mode 100644 index 4ef5df7..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ProjectEventsMapper.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo; -import com.gunshi.project.xyt.entity.vo.ProjectEventsVo; -import com.gunshi.project.xyt.model.ProjectEvents; -import com.gunshi.project.xyt.model.TermiteSurvey; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -@Mapper -public interface ProjectEventsMapper extends BaseMapper { - - @Select(""" - - """) - List eventList(@Param("obj") CommonDataPageSo page); - - @Select(""" - - """) - List maintainList(@Param("obj") CommonDataPageSo page); - - @Select(""" - - """) - List safetyList(@Param("obj") CommonDataPageSo page); - - @Select(""" - - """) - List reinforceList(@Param("obj") CommonDataPageSo page); - - @Select(""" - - """) - List termiteList(@Param("obj") CommonDataPageSo page); - - @Select(""" - - """) - List queryTermiteDetail(@Param("id") Long id); - - @Select(""" - - """) - List dispatchList(@Param("obj") CommonDataPageSo page); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RealRainMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RealRainMapper.java deleted file mode 100644 index afce286..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RealRainMapper.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.gunshi.project.xyt.entity.vo.ForeRainVo; -import com.gunshi.project.xyt.entity.vo.RealRainListVo; -import com.gunshi.project.xyt.entity.vo.StPptnVo; -import com.gunshi.project.xyt.model.StPptnRD; -import com.gunshi.project.xyt.model.StPptnRReal; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.Date; -import java.util.List; - - -@Mapper -public interface RealRainMapper { - @Select(""" - - """) - List getRealRainList(@Param("stm") String stm, @Param("etm") String etm); - - - @Select(""" - - """) - List queryStPptnPerHourByStcdAndStartTimeAndEndTime(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime); - - @Select(""" - - """) - StPptnRD getStPptnRD(@Param("stcd") String stcd, @Param("tm") Date tm, @Param("year") Integer year); - - @Select(""" - - """) - StPptnRD getMaxOfYear(@Param("stcd") String stcd, @Param("year") Integer year); - - @Select(""" - - """) - Long getRainOfDayInYear(@Param("stcd") String stcd, @Param("year") Integer year); - - @Select(""" - - """) - StPptnRReal queryPptnByStcd(@Param("stcd") String stcd); - - @Select(""" - - """) - List querySttpList(); -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ResFloodRoadMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ResFloodRoadMapper.java deleted file mode 100644 index 9494157..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ResFloodRoadMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ResFloodRoad; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 防汛道路 - * author: xusan - * date: 2024-11-14 10:37:15 - */ -@Mapper -public interface ResFloodRoadMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ResMangUnitMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ResMangUnitMapper.java deleted file mode 100644 index 7880dc8..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ResMangUnitMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ResMangUnit; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水库管理单位表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface ResMangUnitMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ResMonthEcoFlowMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ResMonthEcoFlowMapper.java deleted file mode 100644 index 67cef19..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ResMonthEcoFlowMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ResMonthEcoFlow; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水库月核定生态流量表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface ResMonthEcoFlowMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ResPersonMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ResPersonMapper.java deleted file mode 100644 index 65e4f55..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ResPersonMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ResPerson; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -public interface ResPersonMapper extends BaseMapper { -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ResPlanBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ResPlanBMapper.java deleted file mode 100644 index 57c615c..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ResPlanBMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ResPlanB; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水库预案表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface ResPlanBMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ResProjectImgMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ResProjectImgMapper.java deleted file mode 100644 index 17ba7ce..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ResProjectImgMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ResProjectImg; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水库工程图片 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface ResProjectImgMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ResSafePersonBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ResSafePersonBMapper.java deleted file mode 100644 index 9bac0e4..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ResSafePersonBMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ResSafePersonB; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水库责任体系表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface ResSafePersonBMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ResTunnelMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ResTunnelMapper.java deleted file mode 100644 index de126e8..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ResTunnelMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.ResTunnel; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水库建筑物 - 放空洞/灌溉发电洞 - * author: xusan - * date: 2024-11-14 10:34:12 - */ -@Mapper -public interface ResTunnelMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RescueGoodsMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RescueGoodsMapper.java deleted file mode 100644 index 19d8c4d..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RescueGoodsMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.entity.so.RescueGoodsPageSo; -import com.gunshi.project.xyt.model.RescueGoodsB; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -@Mapper -public interface RescueGoodsMapper extends BaseMapper { - - - @Select(""" - - """) - Page pageQuery(@Param("page") Page page,@Param("obj") RescueGoodsPageSo RescueGoodsPageSo); - - @Select(""" - - """) - List detail(@Param("goodsId") Long goodsId); - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RescueTeamBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RescueTeamBMapper.java deleted file mode 100644 index d624878..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RescueTeamBMapper.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.RescueTeamPageSo; -import com.gunshi.project.xyt.entity.vo.RescueTeamVo; -import com.gunshi.project.xyt.model.RescueTeamB; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * 描述: 抢险队伍 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface RescueTeamBMapper extends BaseMapper { - @Select(""" - - """) - Page pageQuery(@Param("page") Page page, @Param("obj") RescueTeamPageSo rescueTeamPageSo); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RescueTeamDetailMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RescueTeamDetailMapper.java deleted file mode 100644 index c7cbbfc..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RescueTeamDetailMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.RescueTeamDetail; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 抢险队伍明细 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface RescueTeamDetailMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RescueTeamFileMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RescueTeamFileMapper.java deleted file mode 100644 index 3bf96f6..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RescueTeamFileMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.model.RescueTeamFile; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 抢险队伍-附件 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface RescueTeamFileMapper extends BaseMapper { - @Select(""" - - """) - List queryFiles(@Param("teamId") Long teamId); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RiskControlInfoMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RiskControlInfoMapper.java deleted file mode 100644 index 00ead3a..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RiskControlInfoMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.BzDictRel; -import com.gunshi.project.xyt.model.RiskControlInfo; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 风险管控清单 - * author: xusan - * date: 2024-08-22 14:17:28 - */ -@Mapper -public interface RiskControlInfoMapper extends BaseMapper { - - @Select(""" - - """) - List queryRelList(@Param("ids") List ids); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RiskControlMenuMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RiskControlMenuMapper.java deleted file mode 100644 index b7aa92a..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RiskControlMenuMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.RiskControlMenu; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 风险管控目录 - * author: xusan - * date: 2024-08-22 14:16:35 - */ -@Mapper -public interface RiskControlMenuMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RotaBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RotaBMapper.java deleted file mode 100644 index d754873..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RotaBMapper.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.RotaB; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -@Mapper -public interface RotaBMapper extends BaseMapper { - - - @Select(""" - - """) - List query(@Param("yearMonth") String yearMonth); - - @Select(""" - - """) - List dateList(@Param("rotaDate") String rotaDate); - - @Select(""" - - """) - Long queryUser(@Param("value") String value); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RotaLogMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RotaLogMapper.java deleted file mode 100644 index 42f6209..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RotaLogMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.RotaLogPageSo; -import com.gunshi.project.xyt.model.RotaLog; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -@Mapper -public interface RotaLogMapper extends BaseMapper { - - @Select(""" - - """) - Page queryPage(Page page,@Param("obj") RotaLogPageSo rotaLogPageSo); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SafetyAccidentRegMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SafetyAccidentRegMapper.java deleted file mode 100644 index afac10e..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SafetyAccidentRegMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SafetyAccidentReg; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 安全事故登记 - * author: xusan - * date: 2024-08-21 15:44:55 - */ -@Mapper -public interface SafetyAccidentRegMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SafetyCheckMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SafetyCheckMapper.java deleted file mode 100644 index f8348e6..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SafetyCheckMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SafetyCheck; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface SafetyCheckMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SafetyHazardInvestMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SafetyHazardInvestMapper.java deleted file mode 100644 index e5ee639..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SafetyHazardInvestMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SafetyHazardInvest; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface SafetyHazardInvestMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SafetyIdentifyMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SafetyIdentifyMapper.java deleted file mode 100644 index e959b9e..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SafetyIdentifyMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SafetyIdentify; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 安全鉴定台账 - * author: xusan - * date: 2024-08-21 14:45:44 - */ -@Mapper -public interface SafetyIdentifyMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SafetyReinforcementMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SafetyReinforcementMapper.java deleted file mode 100644 index 00ab8fe..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SafetyReinforcementMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SafetyReinforcement; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 除险加固台账 - * author: xusan - * date: 2024-08-22 11:27:44 - */ -@Mapper -public interface SafetyReinforcementMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ShpPlacementMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ShpPlacementMapper.java deleted file mode 100644 index 038c2e2..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/ShpPlacementMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.HomeShpPlacementVo; -import com.gunshi.project.xyt.model.ShpPlacement; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 安置点 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface ShpPlacementMapper extends BaseMapper { - - @Select(""" - - """) - List getDetailsAndMonitoringDataList(); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SoilMoistureDataMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SoilMoistureDataMapper.java deleted file mode 100644 index dceee62..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SoilMoistureDataMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SoilMoistureData; -import com.gunshi.project.xyt.model.SoilMoistureStation; -import org.apache.ibatis.annotations.Mapper; - -/** - */ -@Mapper -public interface SoilMoistureDataMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SoilMoistureStationMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SoilMoistureStationMapper.java deleted file mode 100644 index c78e1ce..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SoilMoistureStationMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.AppVersionRecord; -import com.gunshi.project.xyt.model.SoilMoistureStation; -import org.apache.ibatis.annotations.Mapper; - -/** - */ -@Mapper -public interface SoilMoistureStationMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StAddvcdDMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StAddvcdDMapper.java deleted file mode 100644 index b4a999d..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StAddvcdDMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StAddvcdD; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * 描述: 行政区划表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StAddvcdDMapper extends BaseMapper { - - @Select(""" - - """) - StAddvcdD selectByAdcd(@Param("adcd") String adcd); - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StImgRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StImgRMapper.java deleted file mode 100644 index 2357f5e..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StImgRMapper.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StImgR; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 描述: 图像历史表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StImgRMapper extends BaseMapper { - - List getStcdLastImgData(); -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StImgRRealMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StImgRRealMapper.java deleted file mode 100644 index 9317ebd..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StImgRRealMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StImgRReal; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 图像表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StImgRRealMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StImgWarnRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StImgWarnRMapper.java deleted file mode 100644 index 0fd9296..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StImgWarnRMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.ImgWarnPageSo; -import com.gunshi.project.xyt.model.StImgWarnR; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * 描述: AI告警表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StImgWarnRMapper extends BaseMapper { - - @Select(""" - - """) - Page pageQuery(Page page,@Param("obj") ImgWarnPageSo imgWarnPageSo); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StPptnRDMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StPptnRDMapper.java deleted file mode 100644 index ae19535..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StPptnRDMapper.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StPptnRD; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 描述: - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StPptnRDMapper extends BaseMapper { - - List getStcdLastPptnDayData(); - - StPptnRD getMaxData(@Param("stcd") String stcd); - - List reorganizePptnRDData(@Param("stcd") String stcd, @Param("maxData") StPptnRD maxData); -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StPptnRHMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StPptnRHMapper.java deleted file mode 100644 index 3f25741..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StPptnRHMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.StRzVo; -import com.gunshi.project.xyt.model.StPptnRD; -import com.gunshi.project.xyt.model.StPptnRH; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 描述: 降雨量小时表 - * author: cxw - * date: 2024-09-02 09:34:31 - */ -@Mapper -public interface StPptnRHMapper extends BaseMapper { - - List queryList(@Param("start") String start,@Param("end") String end); - - List queryRzList(@Param("start") String start,@Param("end") String end); - - List queryDayDrp(@Param("year") Integer year); - - List reorganizePptnRHData(@Param("stcd") String stcd, @Param("maxData") StPptnRH maxData); - - StPptnRH getMaxData(String stcd); - - List queryDayRz(@Param("year") String year); -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StPptnRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StPptnRMapper.java deleted file mode 100644 index a49c3eb..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StPptnRMapper.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StPptnR; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Map; - -/** - * 描述: 降水量表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StPptnRMapper extends BaseMapper { - @Select(""" - - """) - BigDecimal queryStPptnTimeQuantumByStcdAndTime(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime); - - List getStcdLastPptnData(); - - List> getPptnRDataList(@Param("stcd") String stcd, @Param("tm") String tm); - - List> getPptnRDataListByTask(@Param("resCode") String resCode, @Param("stcd") String stcd, @Param("tm") String tm); - - List getStcdFirstPptnData(); - - @Select(""" - select DISTINCT ON (r.stcd) r.stcd, r.drp, r.tm - from public.st_stbprp_b_elem b - join public.st_pptn_r r on b.stcd=r.stcd - ORDER BY r.stcd, r.tm DESC - """) - List getNewestDataOfEachStcd(); - - /** - * 根据stcd查询24小时总降水量 - */ - @Select(""" - select SUM(drp) from public.st_pptn_r - where stcd=#{stcd} and tm >= now() - interval '24 hours' - """) - BigDecimal getdrp24SumByStcd(String stcd); - - /** - * 根据stcd查询24小时内最大降水量 - */ - @Select(""" - SELECT * - FROM public.st_pptn_r - WHERE stcd = #{stcd} - AND drp = ( - SELECT MAX(drp) - FROM public.st_pptn_r - WHERE stcd = #{stcd} - AND tm >= NOW() - INTERVAL '24 hours' - ) - AND tm >= NOW() - INTERVAL '24 hours' - LIMIT 1 - """) - StPptnR getdrp24MaxByStcd(String stcd); -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StPptnRRealMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StPptnRRealMapper.java deleted file mode 100644 index b5b906a..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StPptnRRealMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StPptnRReal; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 降水量历史表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StPptnRRealMapper extends BaseMapper { - - int updatePptnRReal(@Param("stcd") String stcd); - - @Select(""" - - """) - List queryList(); -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StQxWarnRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StQxWarnRMapper.java deleted file mode 100644 index b9875d4..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StQxWarnRMapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.entity.vo.OsmoticWarnVo; -import com.gunshi.project.xyt.model.StQxWarnR; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 气象预警表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StQxWarnRMapper extends BaseMapper { - - @Select(""" - - """) - List queryOsmoticWarn(@Param("obj") DateTimeRangeSo dateTimeRangeSo); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StRiverRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StRiverRMapper.java deleted file mode 100644 index 31da48a..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StRiverRMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StRiverR; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: - * author: cxw - * date: 2024-09-24 14:01:07 - */ -@Mapper -public interface StRiverRMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StRiverRRealMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StRiverRRealMapper.java deleted file mode 100644 index 9e49e6a..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StRiverRRealMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StRiverRReal; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: - * author: cxw - * date: 2024-09-24 14:01:07 - */ -@Mapper -public interface StRiverRRealMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StRsvrRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StRsvrRMapper.java deleted file mode 100644 index a736806..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StRsvrRMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StRsvrR; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; - -import java.math.BigDecimal; -import java.util.List; - -/** - * 描述: 水库历史水位表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StRsvrRMapper extends BaseMapper { - - List getStcdLastRsvrData(); - - List getStcdFirstRsvrData(); - - /** - * 根据stcd获取8点的rz - */ - @Select(""" - select rz from public.st_rsvr_r - where stcd = #{stcd} - and tm = date_trunc('day', now()) + interval '8 hours' - """) - BigDecimal getRz8ByStcd(String stcd); - - /** - * 根据stcd获取昨日8点的rz - */ - @Select(""" - select rz from public.st_rsvr_r - where stcd = #{stcd} - and tm = date_trunc('day', now() - interval '1 day') + interval '8 hours' - """) - BigDecimal getRzYesterday8ByStcd(String stcd); -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StRsvrRRealMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StRsvrRRealMapper.java deleted file mode 100644 index 97c96b2..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StRsvrRRealMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StRsvrRReal; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水库水位实时数据表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StRsvrRRealMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StStbprpBElemMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StStbprpBElemMapper.java deleted file mode 100644 index a706a1e..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StStbprpBElemMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StStbprpBElem; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 测站监测值类型 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StStbprpBElemMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StStbprpBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StStbprpBMapper.java deleted file mode 100644 index 8059427..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StStbprpBMapper.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.dto.StZqrlBDto; -import com.gunshi.project.xyt.entity.so.HomeStStbprpBSo; -import com.gunshi.project.xyt.entity.vo.HomeStStbprpBVo; -import com.gunshi.project.xyt.entity.vo.StStatusVo; -import com.gunshi.project.xyt.entity.vo.StZqrlBVo; -import com.gunshi.project.xyt.model.StStbprpB; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: sttp 以水利标准来 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StStbprpBMapper extends BaseMapper { - - @Select(""" - - """) - List rainfallStationDetailsList(@Param("dto") HomeStStbprpBSo dto); - - @Select(""" - - """) - List reservoirStationDetailsList(); - - @Select(""" - - """) - List flowStationDetailsList(); - - @Select(""" - - """) - List realRainList(); - - @Select(""" - - """) - List rzList(); - - @Select(""" - - """) - List imgList(); - - @Select(""" - - """) - List rainList(); - -// @Select("") - @Select(""" - - """) - List flowList(@Param("obj") StZqrlBDto obj); - - @Select(""" - select * from public.st_stbprp_b b - join public.st_stbprp_b_elem e - on b.stcd = e.stcd - where e.elem='drp' - """) - List getPptnStations(); - - @Select(""" - select * from public.st_stbprp_b b - where b.sttp='RR' - """) - List getRsvrStations(); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StStbprpCctvMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StStbprpCctvMapper.java deleted file mode 100644 index 929a672..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StStbprpCctvMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.entity.vo.StStbprpCctvVo; -import com.gunshi.project.xyt.model.StStbprpCctv; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/4/9 - * - * @author wanyan - * @version 1.0 - */ -public interface StStbprpCctvMapper extends BaseMapper { - - - @Select(""" - - """) - List listByStcd(@Param("stcd") String stcd); -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StWaterRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StWaterRMapper.java deleted file mode 100644 index baa557e..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StWaterRMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.model.StWaterR; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 供水量表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StWaterRMapper extends BaseMapper { - - @Select(""" - - """) - List stat(@Param("obj") DateTimeRangeSo dateTimeRangeSo); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StWaterRRealMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StWaterRRealMapper.java deleted file mode 100644 index dc2ddab..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StWaterRRealMapper.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StWaterRReal; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 描述: 供水量实时表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StWaterRRealMapper extends BaseMapper { - - List listRelated(); -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StWaterRReorganizeMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StWaterRReorganizeMapper.java deleted file mode 100644 index 1baa727..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StWaterRReorganizeMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StWaterRReorganize; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 供水量整编表 - * author: cxw - * date: 2024-07-24 11:22:46 - */ -@Mapper -public interface StWaterRReorganizeMapper extends BaseMapper { - -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StZqrlBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StZqrlBMapper.java deleted file mode 100644 index 410523f..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StZqrlBMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StZqrlB; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 水位流量关系曲线表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StZqrlBMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StZvarlBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StZvarlBMapper.java deleted file mode 100644 index b07d92f..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/StZvarlBMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.StZvarlB; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 库( 湖)容曲线表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface StZvarlBMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SysDictBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SysDictBMapper.java deleted file mode 100644 index 0082f2b..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SysDictBMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SysDictB; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 系统字典表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface SysDictBMapper extends BaseMapper { - - @Select(""" - - """) - List listByCd(@Param("dictCd") String dictCd); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SzCaseMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SzCaseMapper.java deleted file mode 100644 index d976a38..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SzCaseMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SzCase; -import org.apache.ibatis.annotations.Mapper; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Mapper -public interface SzCaseMapper extends BaseMapper { -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SzRegulatoryFrameworkMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SzRegulatoryFrameworkMapper.java deleted file mode 100644 index da56f79..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SzRegulatoryFrameworkMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SzRegulatoryFramework; -import org.apache.ibatis.annotations.Mapper; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Mapper -public interface SzRegulatoryFrameworkMapper extends BaseMapper { -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SzRuleByLawMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SzRuleByLawMapper.java deleted file mode 100644 index 1448583..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SzRuleByLawMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SzRuleByLaw; -import org.apache.ibatis.annotations.Mapper; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Mapper -public interface SzRuleByLawMapper extends BaseMapper { -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SzTreatmentBasisMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SzTreatmentBasisMapper.java deleted file mode 100644 index a18da1f..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/SzTreatmentBasisMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.SzTreatmentBasis; -import org.apache.ibatis.annotations.Mapper; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Mapper -public interface SzTreatmentBasisMapper extends BaseMapper { -} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/TermiteAdverPicMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/TermiteAdverPicMapper.java deleted file mode 100644 index ebf3a4a..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/TermiteAdverPicMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.TermiteAdverPic; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 白蚁防治宣传图片墙 - * author: xusan - * date: 2024-08-29 17:33:09 - */ -@Mapper -public interface TermiteAdverPicMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyDetailMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyDetailMapper.java deleted file mode 100644 index f628833..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyDetailMapper.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.TermiteSurveyPageSo; -import com.gunshi.project.xyt.model.TermiteSurvey; -import com.gunshi.project.xyt.model.TermiteSurveyDetail; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * 描述: 白蚁普查明细 - * author: xusan - * date: 2024-08-28 10:25:17 - */ -@Mapper -public interface TermiteSurveyDetailMapper extends BaseMapper { - - @Select(""" - - """) - Page pageQuery(Page page,@Param("obj") TermiteSurveyPageSo page1); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java deleted file mode 100644 index da613a9..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.entity.so.TermiteSurveyPageSo; -import com.gunshi.project.xyt.model.TermiteSurvey; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 描述: 白蚁普查 - * author: xusan - * date: 2024-08-28 10:29:58 - */ -@Mapper -public interface TermiteSurveyMapper extends BaseMapper { - - @Select(""" - - """) - Page pageQuery(Page page,@Param("obj") TermiteSurveyPageSo page1); - - @Select(""" - - """) - List queryFileList(@Param("groupId") String groupId); - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/TyYearRainfallMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/TyYearRainfallMapper.java deleted file mode 100644 index dd794d4..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/TyYearRainfallMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.TyYearRainfallPageSo; -import com.gunshi.project.xyt.entity.vo.TyYearRainfallVo; -import com.gunshi.project.xyt.model.TyYearRainfall; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * 描述: 典型年降雨资料表 - * author: xusan - * date: 2024-07-08 15:44:08 - */ -@Mapper -public interface TyYearRainfallMapper extends BaseMapper { - - @Select(""" - - """) - Page pageQuery(Page page,@Param("obj") TyYearRainfallPageSo tyYearRainfallPageSo); -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AppVersionRecord.java b/src/main/java/com/gunshi/project/xyt/model/AppVersionRecord.java deleted file mode 100644 index 6806ecc..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AppVersionRecord.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: APP版本记录 -* author: xusan -* date: 2024-11-12 10:14:50 -*/ -@Schema(description="APP版本记录") -@Data -@TableName("public.app_version_record") -public class AppVersionRecord implements Serializable { - - public final static String thisTableName = "AppVersionRecord"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 版本号 - */ - @TableField(value="version") - @Schema(description="版本号") - @Size(max = 20,message = "版本号最大长度要小于 20") - private String version; - - /** - * 版本描述 - */ - @TableField(value="version_desc") - @Schema(description="版本描述") - private String versionDesc; - - /** - * url - */ - @TableField(value="url") - @Schema(description="地址") - private String url; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessCategory.java b/src/main/java/com/gunshi/project/xyt/model/AssessCategory.java deleted file mode 100644 index c098f2b..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessCategory.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 考核类目 -* author: xusan -* date: 2024-09-03 17:46:29 -*/ -@Schema(description="考核类目") -@Data -@TableName("public.assess_category") -public class AssessCategory implements Serializable { - - public final static String thisTableName = "AssessCategory"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 名称 - */ - @TableField(value="name") - @Schema(description="名称") - @Size(max = 255,message = "名称最大长度要小于 255") - @NotBlank(message = "名称不能为空") - private String name; - - /** - * 排序 - */ - @TableField(value="order_index") - @Schema(description="排序") - private Integer orderIndex; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessIndicator.java b/src/main/java/com/gunshi/project/xyt/model/AssessIndicator.java deleted file mode 100644 index 3990a1a..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessIndicator.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** -* 描述: 考核指标 -* author: xusan -* date: 2024-09-03 17:46:55 -*/ -@Schema(description="考核指标") -@Data -@TableName("public.assess_indicator") -public class AssessIndicator implements Serializable { - - public final static String thisTableName = "AssessIndicator"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 考核类目id - */ - @TableField(value="category_id") - @Schema(description="考核类目id") - @JsonSerialize(using = ToStringSerializer.class) - private Long categoryId; - - @TableField(exist = false) - @Schema(description="考核类目名称") - private String name; - - /** - * 指标名称 - */ - @TableField(value="indicator_name") - @Schema(description="指标名称") - @Size(max = 100,message = "指标名称最大长度要小于 100") - private String indicatorName; - - /** - * 指标编码 - */ - @TableField(value="indicator_code") - @Schema(description="指标编码") - @Size(max = 100,message = "指标编码最大长度要小于 100") - private String indicatorCode; - - /** - * 标准分数 - */ - @TableField(value="standard_score") - @Schema(description="标准分数") - private Integer standardScore; - - /** - * 排序号 - */ - @TableField(value="order_index") - @Schema(description="排序号") - private Integer orderIndex; - - /** - * 状态(0启用 1停用) - */ - @TableField(value="status") - @Schema(description="状态(0启用 1停用)") - private Integer status; - - /** - * 是否被使用(0否 1是) - */ - @TableField(exist = false) - @Schema(description="是否被使用(0否 1是)") - private Integer isUsed; - - @TableField(exist = false) - @Schema(description = "评分细则") - private List indicatorRatings; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessIndicatorRating.java b/src/main/java/com/gunshi/project/xyt/model/AssessIndicatorRating.java deleted file mode 100644 index 567f5ca..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessIndicatorRating.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 考核指标评分细则 -* author: xusan -* date: 2024-09-03 17:47:16 -*/ -@Schema(description="考核指标评分细则") -@Data -@TableName("public.assess_indicator_rating") -public class AssessIndicatorRating implements Serializable { - - public final static String thisTableName = "AssessIndicatorRating"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 指标id - */ - @TableField(value="indicator_id") - @Schema(description="指标id") - @JsonSerialize(using = ToStringSerializer.class) - private Long indicatorId; - - /** - * 描述 - */ - @TableField(value="rating_desc") - @Schema(description="描述") - @Size(max = 500,message = "描述最大长度要小于 500") - private String ratingDesc; - - /** - * 标准分数 - */ - @TableField(value="standard_score") - @Schema(description="标准分数") - private Integer standardScore; - - /** - * 排序号 - */ - @TableField(value="order_index") - @Schema(description="排序号") - private Integer orderIndex; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessObject.java b/src/main/java/com/gunshi/project/xyt/model/AssessObject.java deleted file mode 100644 index 85f09bd..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessObject.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* 描述: 考核对象 -* author: xusan -* date: 2024-09-05 14:19:30 -*/ -@Schema(description="考核对象") -@Data -@TableName("public.assess_object") -public class AssessObject implements Serializable { - - public final static String thisTableName = "AssessObject"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 考核任务id - */ - @TableField(value="task_id") - @Schema(description="考核任务id") - @JsonSerialize(using = ToStringSerializer.class) - private Long taskId; - - /** - * 考核对象id - */ - @TableField(value="object_user_id") - @Schema(description="考核对象id") - @JsonSerialize(using = ToStringSerializer.class) - private Long objectUserId; - - /** - * 考核对象 - */ - @TableField(value="object_user_name") - @Schema(description="考核对象") - @Size(max = 100,message = "考核对象最大长度要小于 100") - private String objectUserName; - - /** - * 标准得分 - */ - @TableField(value="standard_score") - @Schema(description="标准得分") - private Integer standardScore; - - /** - * 考核得分 - */ - @TableField(value="assess_score") - @Schema(description="考核得分") - private BigDecimal assessScore; - - /** - * 考核等级(1优秀 2良好 3合格) - */ - @TableField(value="assess_level") - @Schema(description="考核等级(1优秀 2良好 3合格)") - private Integer assessLevel; - - /** - * 状态(0未启动 1评分中 2已完成) - */ - @TableField(value="status") - @Schema(description="状态(0未启动 1评分中 2已完成)") - private Integer status; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessObjectRating.java b/src/main/java/com/gunshi/project/xyt/model/AssessObjectRating.java deleted file mode 100644 index 4358af5..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessObjectRating.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* 描述: 考核对象指标得分详情 -* author: xusan -* date: 2024-09-10 10:44:14 -*/ -@Schema(description="考核对象指标得分详情") -@Data -@TableName("public.assess_object_rating") -public class AssessObjectRating implements Serializable { - - public final static String thisTableName = "AssessObjectRating"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - private Long id; - - /** - * 考核对象id - */ - @TableField(value="object_id") - @Schema(description="考核对象id") - private Long objectId; - - /** - * 考核指标id - */ - @TableField(value="indicator_id") - @Schema(description="考核指标id") - private Long indicatorId; - - /** - * 标准分数 - */ - @TableField(value="standard_score") - @Schema(description="标准分数") - private Integer standardScore; - - /** - * 考核得分 - */ - @TableField(value="assess_score") - @Schema(description="考核得分") - private BigDecimal assessScore; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessTask.java b/src/main/java/com/gunshi/project/xyt/model/AssessTask.java deleted file mode 100644 index 9d769c4..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessTask.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 考核任务 -* author: xusan -* date: 2024-09-05 14:19:04 -*/ -@Schema(description="考核任务") -@Data -@TableName("public.assess_task") -public class AssessTask implements Serializable { - - public final static String thisTableName = "AssessTask"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 考核任务名称 - */ - @TableField(value="task_name") - @Schema(description="考核任务名称") - @Size(max = 100,message = "考核任务名称最大长度要小于 100") - private String taskName; - - /** - * 考核频次(1年度 2季度 3月度) - */ - @TableField(value="task_freq") - @Schema(description="考核频次(1年度 2季度 3月度)") - private Integer taskFreq; - - /** - * 综合计算得分方式(1取最低 2平均) - */ - @TableField(value="score_way") - @Schema(description="综合计算得分方式(1取最低 2平均)") - private Integer scoreWay; - - /** - * 模板id - */ - @TableField(value="template_id") - @Schema(description="模板id") - @JsonSerialize(using = ToStringSerializer.class) - private Long templateId; - - @TableField(exist = false) - @Schema(description="模板信息") - private String templateName; - - /** - * 考核批次 - */ - @TableField(value="assess_batch") - @Schema(description="考核批次") - @Size(max = 100,message = "考核批次最大长度要小于 100") - private String assessBatch; - - /** - * 考核周期开始日期 - */ - @TableField(value="start_date") - @Schema(description="考核周期开始日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date startDate; - - /** - * 考核周期结束日期 - */ - @TableField(value="end_date") - @Schema(description="考核周期结束日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date endDate; - - /** - * 状态(0未启动 1评分中 2审核中 3已审核 4已作废) - */ - @TableField(value="status") - @Schema(description="状态(0未启动 1评分中 2审核中 3已审核 4已作废)") - private Integer status; - - /** - * 创建人id - */ - @TableField(value="create_user_id") - @Schema(description="创建人id") - private Long createUserId; - - /** - * 创建人名称 - */ - @TableField(value="create_user_name") - @Schema(description="创建人名称") - @Size(max = 100,message = "创建人名称最大长度要小于 100") - private String createUserName; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - @TableField(exist = false) - @Schema(description = "考核组成员") - private List assessTeams; - - @TableField(exist = false) - @Schema(description = "考核对象") - private List assessObjects; - - @TableField(exist = false) - @Schema(description = "考核方案") - private List files; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessTeam.java b/src/main/java/com/gunshi/project/xyt/model/AssessTeam.java deleted file mode 100644 index 625c42a..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessTeam.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* 描述: 考核组成员 -* author: xusan -* date: 2024-09-05 14:19:46 -*/ -@Schema(description="考核组成员") -@Data -@TableName("public.assess_team") -public class AssessTeam implements Serializable { - - public final static String thisTableName = "AssessTeam"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 考核对象id - */ - @TableField(value="task_id") - @Schema(description="考核任务id") - @JsonSerialize(using = ToStringSerializer.class) - private Long taskId; - - /** - * 考核对象id - */ - @TableField(value="object_id") - @Schema(description="考核对象id") - @JsonSerialize(using = ToStringSerializer.class) - private Long objectId; - - /** - * 考核成员id - */ - @TableField(value="team_user_id") - @Schema(description="考核成员id") - @JsonSerialize(using = ToStringSerializer.class) - private Long teamUserId; - - /** - * 考核成员 - */ - @TableField(value="team_user_name") - @Schema(description="考核成员") - @Size(max = 100,message = "考核成员最大长度要小于 100") - private String teamUserName; - - /** - * 标准得分 - */ - @TableField(value="standard_score") - @Schema(description="标准得分") - private Integer standardScore; - - /** - * 考核得分 - */ - @TableField(value="assess_score") - @Schema(description="考核得分") - private BigDecimal assessScore; - - /** - * 考核等级(1优秀 2良好 3合格) - */ - @TableField(value="assess_level") - @Schema(description="考核等级(1优秀 2良好 3合格)") - private Integer assessLevel; - - /** - * 状态(0未启动 1评分中 2已完成 9评分保存) - */ - @TableField(value="status") - @Schema(description="状态(0未启动 1评分中 2已完成 9评分保存)") - private Integer status; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessTeamRating.java b/src/main/java/com/gunshi/project/xyt/model/AssessTeamRating.java deleted file mode 100644 index 890e179..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessTeamRating.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 考核评分详情 -* author: xusan -* date: 2024-09-05 14:20:03 -*/ -@Schema(description="考核评分详情") -@Data -@TableName("public.assess_team_rating") -public class AssessTeamRating implements Serializable { - - public final static String thisTableName = "AssessTeamRating"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 考核成员id - */ - @TableField(value="team_id") - @Schema(description="考核成员id") - @JsonSerialize(using = ToStringSerializer.class) - private Long teamId; - - /** - * 考核指标id - */ - @TableField(value="indicator_id") - @Schema(description="考核指标id") - @JsonSerialize(using = ToStringSerializer.class) - private Long indicatorId; - - /** - * 标准分数 - */ - @TableField(value="standard_score") - @Schema(description="标准分数") - private Integer standardScore; - - /** - * 考核得分 - */ - @TableField(value="assess_score") - @Schema(description="考核得分") - private BigDecimal assessScore; - - /** - * 是否需要整改(0否 1是) - */ - @TableField(value="is_need_rectify") - @Schema(description="是否需要整改(0否 1是)") - private Integer isNeedRectify; - - /** - * 问题描述 - */ - @TableField(value="problem_desc") - @Schema(description="问题描述") - @Size(max = 500,message = "问题描述最大长度要小于 500") - private String problemDesc; - - /** - * 整改要求 - */ - @TableField(value="rectify_requirement") - @Schema(description="整改要求") - @Size(max = 500,message = "整改要求最大长度要小于 500") - private String rectifyRequirement; - - /** - * 整改期限 - */ - @TableField(value="rectify_last_date") - @Schema(description="整改期限") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date rectifyLastDate; - - /** - * 整改状态(0未整改 1已整改) - */ - @TableField(value="rectify_status") - @Schema(description="整改状态(0未整改 1已整改)") - private Integer rectifyStatus; - - /** - * 完成日期 - */ - @TableField(value="finish_date") - @Schema(description="完成日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date finishDate; - - /** - * 整改说明 - */ - @TableField(value="rectify_desc") - @Schema(description="整改说明") - @Size(max = 500,message = "整改说明最大长度要小于 500") - private String rectifyDesc; - - @TableField(exist = false) - @Schema(description = "现场图片") - private List files; - - @TableField(exist = false) - @Schema(description = "整改附件") - private List rectifyFiles; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessTemplate.java b/src/main/java/com/gunshi/project/xyt/model/AssessTemplate.java deleted file mode 100644 index 3f289ab..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessTemplate.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 考核模板 -* author: xusan -* date: 2024-09-04 13:42:39 -*/ -@Schema(description="考核模板") -@Data -@TableName("public.assess_template") -public class AssessTemplate implements Serializable { - - public final static String thisTableName = "AssessTemplate"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 模板名称 - */ - @TableField(value="template_name") - @Schema(description="模板名称") - @Size(max = 100,message = "模板名称最大长度要小于 100") - private String templateName; - - /** - * 考核频次(1年度 2季度 3月度) - */ - @TableField(value="template_freq") - @Schema(description="考核频次(1年度 2季度 3月度)") - private Integer templateFreq; - - /** - * 标准分数 - */ - @TableField(value="standard_score") - @Schema(description="标准分数") - private Integer standardScore; - - /** - * 优秀分 - */ - @TableField(value="excellent_score") - @Schema(description="优秀分") - private BigDecimal excellentScore; - - /** - * 良好分 - */ - @TableField(value="good_score") - @Schema(description="良好分") - private BigDecimal goodScore; - - /** - * 合格分 - */ - @TableField(value="pass_score") - @Schema(description="合格分") - private BigDecimal passScore; - - /** - * 状态(0启用 1停用) - */ - @TableField(value="status") - @Schema(description="状态(0启用 1停用)") - private Integer status; - - /** - * 创建人id - */ - @TableField(value="create_user_id") - @Schema(description="创建人id") - private Long createUserId; - - /** - * 创建人名称 - */ - @TableField(value="create_user_name") - @Schema(description="创建人名称") - @Size(max = 100,message = "创建人名称最大长度要小于 100") - private String createUserName; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - /** - * 是否被使用(0否 1是) - */ - @TableField(exist = false) - @Schema(description="是否被使用(0否 1是)") - private Integer isUsed; - - @TableField(exist = false) - @Schema(description = "关联的考核指标") - private List indicatorIds; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessTemplateIndicatorRel.java b/src/main/java/com/gunshi/project/xyt/model/AssessTemplateIndicatorRel.java deleted file mode 100644 index c354f93..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AssessTemplateIndicatorRel.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 模板关联指标 -* author: xusan -* date: 2024-09-04 13:43:04 -*/ -@Schema(description="模板关联指标") -@Data -@TableName("public.assess_template_indicator_rel") -public class AssessTemplateIndicatorRel implements Serializable { - - public final static String thisTableName = "AssessTemplateIndicatorRel"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 模板id - */ - @TableField(value="template_id") - @Schema(description="模板id") - @JsonSerialize(using = ToStringSerializer.class) - private Long templateId; - - /** - * 指标id - */ - @TableField(value="indicator_id") - @Schema(description="指标id") - @JsonSerialize(using = ToStringSerializer.class) - private Long indicatorId; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AttCctvBase.java b/src/main/java/com/gunshi/project/xyt/model/AttCctvBase.java deleted file mode 100644 index 178f1fb..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttCctvBase.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 视频基本信息表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="视频基本信息表") -@Data -@TableName("public.att_cctv_base") -public class AttCctvBase implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * id - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="id") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 序列号 - */ - @TableField(value="index_code") - @Schema(description="序列号") - @Size(max = 150,message = "序列号最大长度要小于 150") - @NotBlank(message = "序列号不能为空",groups = {Insert.class, Update.class}) - private String indexCode; - - /** - * 摄像头名称 - */ - @TableField(value="name") - @Schema(description="摄像头名称") - @Size(max = 150,message = "摄像头名称最大长度要小于 150") - private String name; - - /** - * ip端口 - */ - @TableField(value="ip_address") - @Schema(description="ip端口") - @Size(max = 20,message = "ip端口最大长度要小于 20") - private String ipAddress; - - /** - * 通道号 - */ - @TableField(value="chan") - @Schema(description="通道号") - @Size(max = 150,message = "通道号最大长度要小于 150") - private String chan; - - /** - * 类型(1球机 2枪机) - */ - @TableField(value="type") - @Schema(description="类型(1球机 2枪机)") - private Integer type; - - /** - * 建成日期 - */ - @TableField(value="build_date") - @Schema(description="建成日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date buildDate; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - private String lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - private String lttd; - - /** - * menu_id - */ - @TableField(value="menu_id") - @Schema(description="menu_id") - private Long menuId; - - /** - * menu_id - */ - @TableField(exist = false) - @Schema(description="所在区域") - private String menuName; - - /** - * 备注 - */ - @TableField(value="remark") - @Schema(description="备注") - @Size(max = 500,message = "备注最大长度要小于 500") - private String remark; - - /** - * create_time - */ - @TableField(value="create_time") - @Schema(description="create_time") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AttDamBase.java b/src/main/java/com/gunshi/project/xyt/model/AttDamBase.java deleted file mode 100644 index b362f38..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttDamBase.java +++ /dev/null @@ -1,155 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Delete; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 大坝表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="大坝表") -@Data -@TableName("public.att_dam_base") -public class AttDamBase implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="dam_code", type= IdType.AUTO) - @Schema(description="主键") - @Size(max = 32,message = "主键最大长度要小于 32") - @NotBlank(message = "主键不能为空",groups = { Update.class, Delete.class}) - private String damCode; - - /** - * 大坝名称 - */ - @TableField(value="dam_name") - @Schema(description="大坝名称") - @Size(max = 30,message = "大坝名称最大长度要小于 30") - private String damName; - - /** - * 水库编码 - */ - @TableField(value="res_code") - @Schema(description="水库编码") - @Size(max = 32,message = "水库编码最大长度要小于 32") - private String resCode; - - /** - * 是否主坝(0否 1是) - */ - @TableField(value="is_main") - @Schema(description="是否主坝(0否 1是 2拦洪坝)") - private Integer isMain; - - /** - * 建筑物型式 - */ - @TableField(value="build_type") - @Schema(description="建筑物型式") - @Size(max = 30,message = "建筑物型式最大长度要小于 30") - private String buildType; - - /** - * 地基特性 - */ - @TableField(value="found_character") - @Schema(description="地基特性") - @Size(max = 30,message = "地基特性最大长度要小于 30") - private String foundCharacter; - - /** - * 最大坝高(m) - */ - @TableField(value="dam_max_heig") - @Schema(description="最大坝高(m)") - private String damMaxHeig; - - /** - * 坝顶高程(m) - */ - @TableField(value="dam_top_elev") - @Schema(description="坝顶高程(m)") - private String damTopElev; - - /** - * 坝顶长度(m) - */ - @TableField(value="dam_top_len") - @Schema(description="坝顶长度(m)") - private String damTopLen; - - /** - * 坝顶宽度(m) - */ - @TableField(value="dam_top_wid") - @Schema(description="坝顶宽度(m)") - private String damTopWid; - - /** - * 防浪墙顶高程 - */ - @TableField(value="dam_wave_wall") - @Schema(description="防浪墙顶高程") - private String damWaveWall; - - /** - * 开工日期 - */ - @TableField(value="start_date") - @Schema(description="开工日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date startDate; - - /** - * 竣工日期 - */ - @TableField(value="end_date") - @Schema(description="竣工日期") - // @Size(max = 0,message = "竣工日期最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date endDate; - - /** - * 蓄水日期 - */ - @TableField(value="storage_date") - @Schema(description="蓄水日期") - // @Size(max = 0,message = "蓄水日期最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date storageDate; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - // @Size(max = 0,message = "创建时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AttDamProfile.java b/src/main/java/com/gunshi/project/xyt/model/AttDamProfile.java deleted file mode 100644 index 06d8b82..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttDamProfile.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** -* 描述: 监测断面信息表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="监测断面信息表") -@Data -@TableName("public.att_dam_profile") -public class AttDamProfile implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 断面编号 - */ - @TableId(value="profile_code", type= IdType.AUTO) - @Schema(description="断面编号") - @Size(max = 100,message = "断面编号最大长度要小于 100") - @NotBlank(message = "断面编号不能为空") - private String profileCode; - - /** - * 断面名称 - */ - @TableField(value="profile_name") - @Schema(description="断面名称") - @Size(max = 200,message = "断面名称最大长度要小于 200") - private String profileName; - - /** - * 大坝编号 - */ - @TableField(value="dam_code") - @Schema(description="大坝编号") - @Size(max = 32,message = "大坝编号最大长度要小于 32") - private String damCode; - - /** - * 备注/描述 - */ - @TableField(value="remark") - @Schema(description="备注/描述") - @Size(max = 250,message = "备注/描述最大长度要小于 250") - private String remark; - - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AttGateB.java b/src/main/java/com/gunshi/project/xyt/model/AttGateB.java deleted file mode 100644 index 96ef0fe..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttGateB.java +++ /dev/null @@ -1,405 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 水闸基本情况调查表 -* author: xusan -* date: 2024-09-26 10:44:05 -*/ -@Schema(description="水闸基本情况调查表") -@Data -@TableName("public.att_gate_b") -public class AttGateB implements Serializable { - - public final static String thisTableName = "AttGateB"; - - private static final long serialVersionUID = 1L; - - /** - * 水闸工程代码 - */ - @TableId(value="gate_code", type= IdType.AUTO) - @Schema(description="水闸工程代码") - @Size(max = 20,message = "水闸工程代码最大长度要小于 20") - @NotBlank(message = "水闸工程代码不能为空") - private String gateCode; - - /** - * 水闸名称 - */ - @TableField(value="gate_name") - @Schema(description="水闸名称") - @Size(max = 100,message = "水闸名称最大长度要小于 100") - @NotBlank(message = "水闸名称不能为空") - private String gateName; - - /** - * 管理单位 - */ - @TableField(value="eng_man_name") - @Schema(description="管理单位") - @Size(max = 255,message = "管理单位最大长度要小于 255") - private String engManName; - - /** - * 所属行政位置 - */ - @TableField(value="ad_namee") - @Schema(description="所属行政位置") - @Size(max = 255,message = "所属行政位置最大长度要小于 255") - private String adNamee; - - /** - * 所在渠道 - */ - @TableField(value="chan_name") - @Schema(description="所在渠道") - @Size(max = 255,message = "所在渠道最大长度要小于 255") - private String chanName; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - private BigDecimal lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - private BigDecimal lttd; - - /** - * 桩号 - */ - @TableField(value="bnch") - @Schema(description="桩号") - @Size(max = 12,message = "桩号最大长度要小于 12") - private String bnch; - - /** - * 闸孔数量 - */ - @TableField(value="gaor_num") - @Schema(description="闸孔数量") - private Integer gaorNum; - - /** - * 水闸类别:1分(泄)洪闸,2节制闸,3排(退)水闸,4引(进)水闸,5 挡潮闸,6 船闸,9其他 - */ - @TableField(value="waga_type") - @Schema(description="水闸类别:1分(泄)洪闸,2节制闸,3排(退)水闸,4引(进)水闸,5 挡潮闸,6 船闸,9其他") - @Size(max = 50,message = "水闸类别:1分(泄)洪闸,2节制闸,3排(退)水闸,4引(进)水闸,5 挡潮闸,6 船闸,9其他最大长度要小于 50") - private String wagaType; - - /** - * 闸门类型 - */ - @TableField(value="gate_tp") - @Schema(description="闸门类型") - @Size(max = 30,message = "闸门类型最大长度要小于 30") - private String gateTp; - - /** - * 闸门尺寸(m) - */ - @TableField(value="gate_size") - @Schema(description="闸门尺寸(m)") - @Size(max = 255,message = "闸门尺寸(m)最大长度要小于 255") - private String gateSize; - - /** - * 动力类型:1手动,2电动,3手电两用 - */ - @TableField(value="pwr_tp") - @Schema(description="动力类型:1手动,2电动,3手电两用") - @Size(max = 50,message = "动力类型:1手动,2电动,3手电两用最大长度要小于 50") - private String pwrTp; - - /** - * 启闭设备类型:1卷扬式,2螺杆式,3凹轮式,4涡轮式,5丝杆式 - */ - @TableField(value="hdgr_tp") - @Schema(description="启闭设备类型:1卷扬式,2螺杆式,3凹轮式,4涡轮式,5丝杆式") - @Size(max = 50,message = "启闭设备类型:1卷扬式,2螺杆式,3凹轮式,4涡轮式,5丝杆式最大长度要小于 50") - private String hdgrTp; - - /** - * 进口高程(m) - */ - @TableField(value="in_ele") - @Schema(description="进口高程(m)") - private BigDecimal inEle; - - /** - * 出口高程(m) - */ - @TableField(value="out_ele") - @Schema(description="出口高程(m)") - private BigDecimal outEle; - - /** - * 设计流量(m3/s) - */ - @TableField(value="dsfl") - @Schema(description="设计流量(m3/s)") - private BigDecimal dsfl; - - /** - * 实达流量(m3/s) - */ - @TableField(value="stfl") - @Schema(description="实达流量(m3/s)") - private BigDecimal stfl; - - /** - * 建成时间 - */ - @TableField(value="comp_date") - @Schema(description="建成时间") - @Size(max = 10,message = "建成时间最大长度要小于 10") - private String compDate; - - /** - * 更新或维修时间 - */ - @TableField(value="updser_date") - @Schema(description="更新或维修时间") - @Size(max = 10,message = "更新或维修时间最大长度要小于 10") - private String updserDate; - - /** - * 更新或维修原因 - */ - @TableField(value="updser_rsn") - @Schema(description="更新或维修原因") - @Size(max = 50,message = "更新或维修原因最大长度要小于 50") - private String updserRsn; - - /** - * 更新或维修投资 - */ - @TableField(value="updser_invst") - @Schema(description="更新或维修投资") - private BigDecimal updserInvst; - - /** - * 工程等别:1Ⅰ,2Ⅱ,3Ⅲ,4Ⅳ,5Ⅴ - */ - @TableField(value="eng_grad") - @Schema(description="工程等别:1Ⅰ,2Ⅱ,3Ⅲ,4Ⅳ,5Ⅴ") - @Size(max = 50,message = "工程等别:1Ⅰ,2Ⅱ,3Ⅲ,4Ⅳ,5Ⅴ最大长度要小于 50") - private String engGrad; - - /** - * 运行情况:1在用良好,2在用故障,3停用 - */ - @TableField(value="run_stat") - @Schema(description="运行情况:1在用良好,2在用故障,3停用") - @Size(max = 50,message = "运行情况:1在用良好,2在用故障,3停用最大长度要小于 50") - private String runStat; - - /** - * 备注 - */ - @TableField(value="note") - @Schema(description="备注") - @Size(max = 255,message = "备注最大长度要小于 255") - private String note; - - /** - * 起点经度 - */ - @TableField(value="start_long") - @Schema(description="起点经度") - private BigDecimal startLong; - - /** - * 起点纬度 - */ - @TableField(value="start_lat") - @Schema(description="起点纬度") - private BigDecimal startLat; - - /** - * 终点经度 - */ - @TableField(value="end_long") - @Schema(description="终点经度") - private BigDecimal endLong; - - /** - * 终点纬度 - */ - @TableField(value="end_lat") - @Schema(description="终点纬度") - private BigDecimal endLat; - - /** - * 水闸用途 - */ - @TableField(value="waga_use") - @Schema(description="水闸用途") - @Size(max = 255,message = "水闸用途最大长度要小于 255") - private String wagaUse; - - /** - * 取水水源类型:1水库,2湖泊,3河流,4其他 - */ - @TableField(value="wain_waso_type") - @Schema(description="取水水源类型:1水库,2湖泊,3河流,4其他") - @Size(max = 50,message = "取水水源类型:1水库,2湖泊,3河流,4其他最大长度要小于 50") - private String wainWasoType; - - /** - * 最大过闸流量(m3/s) - */ - @TableField(value="lock_disc") - @Schema(description="最大过闸流量(m3/s)") - private BigDecimal lockDisc; - - /** - * 装机功率(kw) - */ - @TableField(value="ins_pow") - @Schema(description="装机功率(kw)") - private BigDecimal insPow; - - /** - * 设计装机总容量(mw) - */ - @TableField(value="des_tot_ins_cap") - @Schema(description="设计装机总容量(mw)") - @Size(max = 255,message = "设计装机总容量(mw)最大长度要小于 255") - private String desTotInsCap; - - /** - * 工程建设情况:0未建,1在建,2已建 - */ - @TableField(value="eng_stat") - @Schema(description="工程建设情况:0未建,1在建,2已建") - @Size(max = 50,message = "工程建设情况:0未建,1在建,2已建最大长度要小于 50") - private String engStat; - - /** - * 开工时间 - */ - @TableField(value="start_date") - @Schema(description="开工时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date startDate; - - /** - * 归口管理部门:1水利部门,2电力部门,3农业部门,4 林业部门,5城建部门,6航运部门,7环保部门,9其他部门 - */ - @TableField(value="adm_dep") - @Schema(description="归口管理部门:1水利部门,2电力部门,3农业部门,4 林业部门,5城建部门,6航运部门,7环保部门,9其他部门") - @Size(max = 1,message = "归口管理部门:1水利部门,2电力部门,3农业部门,4 林业部门,5城建部门,6航运部门,7环保部门,9其他部门最大长度要小于 1") - private String admDep; - - /** - * 属性采集时间 - */ - @TableField(value="coll_date") - @Schema(description="属性采集时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date collDate; - - /** - * 属性更新时间 - */ - @TableField(value="upd_date") - @Schema(description="属性更新时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date updDate; - - /** - * 是否可控 0 否 1 是 - */ - @TableField(value="ctrl_type") - @Schema(description="是否可控 0 否 1 是") - private Integer ctrlType; - - /** - * 闸控代码 - */ - @TableField(value="stcd") - @Schema(description="闸控代码") - @Size(max = 10,message = "闸控代码最大长度要小于 10") - private String stcd; - - /** - * 独立密码 - */ - @TableField(value="ctrl_pass") - @Schema(description="独立密码") - @Size(max = 16,message = "独立密码最大长度要小于 16") - @NotBlank(message = "独立密码不能为空") - private String ctrlPass; - - /** - * max_hgt - */ - @TableField(value="max_hgt") - @Schema(description="max_hgt") - private BigDecimal maxHgt; - - /** - * min_hgt - */ - @TableField(value="min_hgt") - @Schema(description="min_hgt") - private BigDecimal minHgt; - - /** - * protocol - */ - @TableField(value="protocol") - @Schema(description="protocol") - @Size(max = 50,message = "protocol最大长度要小于 50") - private String protocol; - - /** - * plc控制版本,1自动令,2手动令,空非plc - */ - @TableField(value="plc_type") - @Schema(description="plc控制版本,1自动令,2手动令,空非plc") - private Integer plcType; - - /** - * sort_order - */ - @TableField(value="sort_order") - @Schema(description="sort_order") - private Integer sortOrder; - - /** - * 楚禹rtu摄像头数量 - */ - @TableField(value="camera_num") - @Schema(description="楚禹rtu摄像头数量") - private Integer cameraNum; - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AttGateValve.java b/src/main/java/com/gunshi/project/xyt/model/AttGateValve.java deleted file mode 100644 index 1943a41..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttGateValve.java +++ /dev/null @@ -1,177 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 闸阀信息表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="闸阀信息表") -@Data -@TableName("public.att_gate_valve") -public class AttGateValve implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 闸阀编码 - */ - @TableId(value="valve_code", type= IdType.AUTO) - @Schema(description="闸阀编码") - @Size(max = 20,message = "闸阀编码最大长度要小于 32") - @NotBlank(message = "闸阀编码不能为空",groups = {Update.class}) - private String valveCode; - - /** - * 闸阀名称 - */ - @TableField(value="valve_name") - @Schema(description="闸阀名称") - @Size(max = 200,message = "闸阀名称最大长度要小于 200") - private String valveName; - - /** - * 所在位置 - */ - @TableField(value="gtlc") - @Schema(description="所在位置") - @Size(max = 200,message = "所在位置最大长度要小于 200") - private String gtlc; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - private String lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - private String lttd; - - /** - * 产品类型 dict_id - */ - @TableField(value="type") - @Schema(description="产品类型 dict_id") - private Long type; - - /** - * 产品型号 - */ - @TableField(value="model") - @Schema(description="产品型号") - @Size(max = 200,message = "产品型号最大长度要小于 200") - private String model; - - /** - * 产品规格 - */ - @TableField(value="spe") - @Schema(description="产品规格") - @Size(max = 200,message = "产品规格最大长度要小于 200") - private String spe; - - /** - * 结构长度 - */ - @TableField(value="len") - @Schema(description="结构长度") - @Size(max = 200,message = "结构长度最大长度要小于 200") - private String len; - /** - * 概化图X - */ - @TableField(value="img_x") - @Schema(description="概化图X") - @Size(max = 200,message = "概化图X最大长度要小于 200") - private String imgX; - - /** - * 概化图Y - */ - @TableField(value="img_y") - @Schema(description="概化图Y") - @Size(max = 200,message = "概化图Y最大长度要小于 200") - private String imgY; - - /** - * remark - */ - @TableField(value="remark") - @Schema(description="remark") - @Size(max = 250,message = "remark最大长度要小于 250") - private String remark; - - /** - * create_time - */ - @TableField(value="create_time") - @Schema(description="create_time") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - - /** - * 法兰尺寸 - */ - @TableField(value="flange_len") - @Schema(description="法兰尺寸") - @Size(max = 200,message = "法兰尺寸最大长度要小于 200") - private String flangeLen; - - /** - * 生产厂家 - */ - @TableField(value="manufacturer") - @Schema(description="生产厂家") - @Size(max = 200,message = "生产厂家最大长度要小于 200") - private String manufacturer; - - /** - * 联系电话 - */ - @TableField(value="contact_cell") - @Schema(description="联系电话") - @Size(max = 200,message = "联系电话最大长度要小于 200") - private String contactCell; - - /** - * 联系人 - */ - @TableField(value="contacts") - @Schema(description="联系人") - @Size(max = 200,message = "联系人最大长度要小于 200") - private String contacts; - - /** - * 是否可手动控制 - */ - @TableField(value="manual_operation") - @Schema(description="是否可手动控制") - private Boolean manualOperation; - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AttMeaWeir.java b/src/main/java/com/gunshi/project/xyt/model/AttMeaWeir.java deleted file mode 100644 index aa3d902..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttMeaWeir.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 量水堰表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="量水堰表") -@Data -@TableName("public.att_mea_weir") -public class AttMeaWeir implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="weir_code", type= IdType.AUTO) - @Schema(description="主键") - @Size(max = 32,message = "主键最大长度要小于 32") - @NotBlank(message = "主键不能为空",groups = {Update.class}) - private String weirCode; - - /** - * 量水堰名称 - */ - @TableField(value="weir_name") - @Schema(description="量水堰名称") - @Size(max = 30,message = "量水堰名称最大长度要小于 30") - private String weirName; - - /** - * 行政区划 - */ - @TableField(value="adcd") - @Schema(description="行政区划") - @Size(max = 100,message = "行政区划最大长度要小于 100") - private String adcd; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - private String lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - private String lttd; - - /** - * 设施类别 - */ - @TableField(value="type") - @Schema(description="设施类别") - private Integer type; - - /** - * 所在位置 - */ - @TableField(value="location") - @Schema(description="所在位置") - @Size(max = 300,message = "所在位置最大长度要小于 300") - private String location; - - /** - * 结构形式 - */ - @TableField(value="style") - @Schema(description="结构形式") - @Size(max = 100,message = "结构形式最大长度要小于 100") - private String style; - - /** - * 建成日期 - */ - @TableField(value="build_date") - @Schema(description="建成日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date buildDate; - - /** - * 设计流量 - */ - @TableField(value="des_q") - @Schema(description="设计流量") - // @Size(max = 0,message = "设计流量最大长度要小于 0") - private String desQ; - - /** - * 实达流量 - */ - @TableField(value="real_q") - @Schema(description="实达流量") - // @Size(max = 0,message = "实达流量最大长度要小于 0") - private String realQ; - - /** - * 备注 - */ - @TableField(value="remark") - @Schema(description="备注") - @Size(max = 500,message = "备注最大长度要小于 500") - private String remark; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - // @Size(max = 0,message = "创建时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AttResBase.java b/src/main/java/com/gunshi/project/xyt/model/AttResBase.java deleted file mode 100644 index e15ea2e..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttResBase.java +++ /dev/null @@ -1,611 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 水库基本信息表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水库基本信息表") -@Data -@TableName("public.att_res_base") -public class AttResBase implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 水库代码 - */ - @TableId(value="res_code", type= IdType.AUTO) - @Schema(description="水库代码") - @Size(max = 32,message = "水库代码最大长度要小于 32") - @NotBlank(message = "水库代码不能为空") - private String resCode; - - /** - * 水库名称 - */ - @TableField(value="res_name") - @Schema(description="水库名称") - @Size(max = 100,message = "水库名称最大长度要小于 100") - @NotBlank(message = "水库名称不能为空") - private String resName; - - /** - * 左下角经度 - */ - @TableField(value="low_left_long") - @Schema(description="左下角经度") - private BigDecimal lowLeftLong; - - /** - * 左下角纬度 - */ - @TableField(value="low_left_lat") - @Schema(description="左下角纬度") - private BigDecimal lowLeftLat; - - /** - * 右上角经度 - */ - @TableField(value="up_right_long") - @Schema(description="右上角经度") - private BigDecimal upRightLong; - - /** - * 右上角纬度 - */ - @TableField(value="up_right_lat") - @Schema(description="右上角纬度") - private BigDecimal upRightLat; - - /** - * 水库所在位置 - */ - @TableField(value="res_loc") - @Schema(description="水库所在位置") - @Size(max = 256,message = "水库所在位置最大长度要小于 256") - private String resLoc; - - /** - * 水库类型 山丘水库 1 平原水库 2 地下水库 3 - */ - @TableField(value="res_type") - @Schema(description="水库类型 山丘水库 1 平原水库 2 地下水库 3") - @Size(max = 1,message = "水库类型 山丘水库 1 平原水库 2 地下水库 3最大长度要小于 1") - private String resType; - - /** - * 工程等别 Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5 - */ - @TableField(value="eng_grad") - @Schema(description="工程等别 Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5") - @Size(max = 1,message = "工程等别 Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5最大长度要小于 1") - private String engGrad; - - /** - * 工程规模 大 (1)型 1 大 (2)型 2 中型 3 小 (1)型 4 小 (2)型 5 其他 9 - */ - @TableField(value="eng_scal") - @Schema(description="工程规模 大 (1)型 1 大 (2)型 2 中型 3 小 (1)型 4 小 (2)型 5 其他 9") - @Size(max = 1,message = "工程规模 大 (1)型 1 大 (2)型 2 中型 3 小 (1)型 4 小 (2)型 5 其他 9最大长度要小于 1") - private String engScal; - - /** - * 坝址控制流域面积 - */ - @TableField(value="wat_shed_area") - @Schema(description="坝址控制流域面积") - private BigDecimal watShedArea; - - /** - * 防洪高水位 - */ - @TableField(value="upp_lev_flco") - @Schema(description="防洪高水位") - private BigDecimal uppLevFlco; - - /** - * 正常蓄水位 - */ - @TableField(value="norm_wat_lev") - @Schema(description="正常蓄水位") - // @Size(max = 0,message = "正常蓄水位最大长度要小于 0") - private BigDecimal normWatLev; - - /** - * 正常蓄水位相应水面面积 - */ - @TableField(value="norm_pool_stag_area") - @Schema(description="正常蓄水位相应水面面积") - // @Size(max = 0,message = "正常蓄水位相应水面面积最大长度要小于 0") - private BigDecimal normPoolStagArea; - - /** - * 正常蓄水位相应库容 - */ - @TableField(value="norm_pool_stag_cap") - @Schema(description="正常蓄水位相应库容") - // @Size(max = 0,message = "正常蓄水位相应库容最大长度要小于 0") - private BigDecimal normPoolStagCap; - - /** - * 主汛期防洪限制水位 - */ - @TableField(value="fl_low_lim_lev") - @Schema(description="主汛期防洪限制水位") - private BigDecimal flLowLimLev; - - /** - * 防洪限制水位库容 - */ - @TableField(value="fl_low_lim_lev_cap") - @Schema(description="防洪限制水位库容") - // @Size(max = 0,message = "防洪限制水位库容最大长度要小于 0") - private BigDecimal flLowLimLevCap; - - /** - * 死水位 - */ - @TableField(value="dead_lev") - @Schema(description="死水位") - // @Size(max = 0,message = "死水位最大长度要小于 0") - private BigDecimal deadLev; - - /** - * 总库容 - */ - @TableField(value="tot_cap") - @Schema(description="总库容") - // @Size(max = 0,message = "总库容最大长度要小于 0") - private BigDecimal totCap; - - /** - * 兴利库容 - */ - @TableField(value="ben_res_cap") - @Schema(description="兴利库容") - // @Size(max = 0,message = "兴利库容最大长度要小于 0") - private BigDecimal benResCap; - - /** - * 死库容 - */ - @TableField(value="dead_cap") - @Schema(description="死库容") - // @Size(max = 0,message = "死库容最大长度要小于 0") - private BigDecimal deadCap; - - /** - * 调洪库容 - */ - @TableField(value="stor_fl_cap") - @Schema(description="调洪库容") - // @Size(max = 0,message = "调洪库容最大长度要小于 0") - private BigDecimal storFlCap; - - /** - * 防洪库容 - */ - @TableField(value="flco_cap") - @Schema(description="防洪库容") - // @Size(max = 0,message = "防洪库容最大长度要小于 0") - private BigDecimal flcoCap; - - /** - * 工程建设情况 在建 0 已建 1 - */ - @TableField(value="eng_stat") - @Schema(description="工程建设情况 在建 0 已建 1") - @Size(max = 1,message = "工程建设情况 在建 0 已建 1最大长度要小于 1") - private String engStat; - - /** - * 开工时间 - */ - @TableField(value="start_date") - @Schema(description="开工时间") - // @Size(max = 0,message = "开工时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date startDate; - - /** - * 建成时间 - */ - @TableField(value="comp_date") - @Schema(description="建成时间") - // @Size(max = 0,message = "建成时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date compDate; - - /** - * 归口管理部门 水利部门 1 电力部门 2 农业部门 3 林业部门 4 城建部门 5 航运部门 6 环保部门 7 其他部门 9 - */ - @TableField(value="adm_dep") - @Schema(description="归口管理部门 水利部门 1 电力部门 2 农业部门 3 林业部门 4 城建部门 5 航运部门 6 环保部门 7 其他部门 9") - @Size(max = 1,message = "归口管理部门 水利部门 1 电力部门 2 农业部门 3 林业部门 4 城建部门 5 航运部门 6 环保部门 7 其他部门 9最大长度要小于 1") - private String admDep; - - /** - * 备注 - */ - @TableField(value="note") - @Schema(description="备注") - @Size(max = 256,message = "备注最大长度要小于 256") - private String note; - - /** - * 记录生效时间 - */ - @TableField(value="eff_date") - @Schema(description="记录生效时间") - // @Size(max = 0,message = "记录生效时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date effDate; - - /** - * 记录失效时间 - */ - @TableField(value="expr_date") - @Schema(description="记录失效时间") - // @Size(max = 0,message = "记录失效时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date exprDate; - - /** - * 所在行政区划 行政区划名称 格式:省-市-县-镇 - */ - @TableField(value="adnm") - @Schema(description="所在行政区划 行政区划名称 格式:省-市-县-镇") - @Size(max = 256,message = "所在行政区划 行政区划名称 格式:省-市-县-镇最大长度要小于 256") - private String adnm; - - /** - * 所在流域 流域名称 - */ - @TableField(value="bas_name") - @Schema(description="所在流域 流域名称") - @Size(max = 256,message = "所在流域 流域名称最大长度要小于 256") - private String basName; - - /** - * 所在水系 水系名称 - */ - @TableField(value="ws_name") - @Schema(description="所在水系 水系名称") - @Size(max = 256,message = "所在水系 水系名称最大长度要小于 256") - private String wsName; - - /** - * 所在河流名称 - */ - @TableField(value="rv_name") - @Schema(description="所在河流名称") - @Size(max = 256,message = "所在河流名称最大长度要小于 256") - private String rvName; - - /** - * 注册时间 - */ - @TableField(value="reg_time") - @Schema(description="注册时间") - // @Size(max = 0,message = "注册时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date regTime; - - /** - * 注册登记号 - */ - @TableField(value="reg_sn") - @Schema(description="注册登记号") - @Size(max = 256,message = "注册登记号最大长度要小于 256") - private String regSn; - - /** - * 管理单位 管理单位名称 - */ - @TableField(value="manag_name") - @Schema(description="管理单位 管理单位名称") - @Size(max = 256,message = "管理单位 管理单位名称最大长度要小于 256") - private String managName; - - /** - * 高程基准面 基面名称 - */ - @TableField(value="elev_dat") - @Schema(description="高程基准面 基面名称") - @Size(max = 256,message = "高程基准面 基面名称最大长度要小于 256") - private BigDecimal elevDat; - - /** - * 水库功能 功能名称 - */ - @TableField(value="rsv_function") - @Schema(description="水库功能 功能名称") - @Size(max = 256,message = "水库功能 功能名称最大长度要小于 256") - private String rsvFunction; - - /** - * 溢洪道是否有闸 1:有 0:无 - */ - @TableField(value="spillway_gate") - @Schema(description="溢洪道是否有闸 1:有 0:无") - @Size(max = 1,message = "溢洪道是否有闸 1:有 0:无最大长度要小于 1") - private String spillwayGate; - - /** - * 校核洪水位 - */ - @TableField(value="cal_flood_lev") - @Schema(description="校核洪水位") - // @Size(max = 0,message = "校核洪水位最大长度要小于 0") - private BigDecimal calFloodLev; - - /** - * 设计洪水位 - */ - @TableField(value="des_flood_lev") - @Schema(description="设计洪水位") - // @Size(max = 0,message = "设计洪水位最大长度要小于 0") - private BigDecimal desFloodLev; - - /** - * 坝顶高程 - */ - @TableField(value="crest_elev") - @Schema(description="坝顶高程") - // @Size(max = 0,message = "坝顶高程最大长度要小于 0") - private BigDecimal crestElev; - - /** - * 最大坝高 - */ - @TableField(value="max_dam_heig") - @Schema(description="最大坝高") - // @Size(max = 0,message = "最大坝高最大长度要小于 0") - private BigDecimal maxDamHeig; - - /** - * 设计洪水位时最大下泄流量 - */ - @TableField(value="max_des_flood_flow") - @Schema(description="设计洪水位时最大下泄流量") - // @Size(max = 0,message = "设计洪水位时最大下泄流量最大长度要小于 0") - private BigDecimal maxDesFloodFlow; - - /** - * 校核洪水位时最大下泄流量 - */ - @TableField(value="max_cal_flood_flow") - @Schema(description="校核洪水位时最大下泄流量") - // @Size(max = 0,message = "校核洪水位时最大下泄流量最大长度要小于 0") - private BigDecimal maxCalFloodFlow; - - /** - * 下游河道安全流量 - */ - @TableField(value="ds_saft_flow") - @Schema(description="下游河道安全流量") - // @Size(max = 0,message = "下游河道安全流量最大长度要小于 0") - private BigDecimal dsSaftFlow; - - /** - * 工程概况 - */ - @TableField(value="proj_overview") - @Schema(description="工程概况") - @Size(max = 1000,message = "工程概况最大长度要小于 1000") - private String projOverview; - - /** - * 关联测站 - */ - @TableField(value="stcd") - @Schema(description="关联测站") - @Size(max = 18,message = "关联测站最大长度要小于 18") - private String stcd; - - /** - * 是否病险 1:病 - */ - @TableField(value="is_danger") - @Schema(description="是否病险 1:病 ") - // @Size(max = 0,message = "是否病险 1:病 最大长度要小于 0") - private Integer isDanger; - - /** - * 病险概况 - */ - @TableField(value="danger_overview") - @Schema(description="病险概况") - // @Size(max = 0,message = "病险概况最大长度要小于 0") - private BigDecimal dangerOverview; - - /** - * 重点水库 - */ - @TableField(value="is_important") - @Schema(description="重点水库") - // @Size(max = 0,message = "重点水库最大长度要小于 0") - private Integer isImportant; - - /** - * 经度 (°) - */ - @TableField(value="lgtd") - @Schema(description="经度 (°)") - // @Size(max = 0,message = "经度 (°)最大长度要小于 0") - private BigDecimal lgtd; - - /** - * 纬度 (°) - */ - @TableField(value="lttd") - @Schema(description="纬度 (°)") - // @Size(max = 0,message = "纬度 (°)最大长度要小于 0") - private BigDecimal lttd; - - /** - * geojson - */ - @TableField(value="geometry") - @Schema(description="geojson") - // @Size(max = 0,message = "geojson最大长度要小于 0") - private BigDecimal geometry; - - /** - * 是否有大坝安监数据 - */ - @TableField(value="has_wypress") - @Schema(description="是否有大坝安监数据") - // @Size(max = 0,message = "是否有大坝安监数据最大长度要小于 0") - private Integer hasWypress; - - /** - * adcd - */ - @TableField(value="adcd") - @Schema(description="adcd") - @Size(max = 255,message = "adcd最大长度要小于 255") - private String adcd; - - /** - * 堰顶高程,m - */ - @TableField(value="wcrstel") - @Schema(description="堰顶高程,m") - private BigDecimal wcrstel; - - /** - * feedPop - */ - @TableField(value="feed_pop") - @Schema(description="受益人口(人)") - private Integer feedPop; - - /** - * design_irr_area - */ - @TableField(value="design_irr_area") - @Schema(description="设计灌溉面积(亩)") - private BigDecimal designIrrArea; - - /** - * actual_irr_area - */ - @TableField(value="actual_irr_area") - @Schema(description="实际灌溉面积(亩)") - private BigDecimal actualIrrArea; - - /** - * actual_irr_area - */ - @TableField(value="benefit") - @Schema(description="供水效益") - private String benefit; - - /** - * 全流域面积 - */ - @TableField(value="bas_area") - @Schema(description="全流域面积") - private BigDecimal basArea; - - /** - * 坝址以上主河床长度 - */ - @TableField(value="wat_river_len") - @Schema(description="坝址以上主河床长度") - private BigDecimal watRiverLen; - - /** - * 坝址以上主河床坡降 - */ - @TableField(value="wat_river_slope") - @Schema(description="坝址以上主河床坡降") - private BigDecimal watRiverSlope; - - /** - * 多年平均降雨量(坝址处) - */ - @TableField(value="annual_avg_drp") - @Schema(description="多年平均降雨量(坝址处)") - private BigDecimal annualAvgDrp; - - /** - * 多年平均气温 - */ - @TableField(value="annual_avg_tem") - @Schema(description="多年平均气温") - private BigDecimal annualAvgTem; - - /** - * 保护人口(人) - */ - @TableField(value="protect_population") - @Schema(description="保护人口(人)") - private Double protectPopulation; - - /** - * 保护农田(亩) - */ - @TableField(value="protect_farmland") - @Schema(description="保护农田(亩)") - private Double protectFarmland; - - /** - * 地震基本烈度Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5 VI 6 - */ - @TableField(value="seismic_intensity") - @Schema(description="地震基本烈度Ⅰ 1 Ⅱ 2 Ⅲ 3 Ⅳ 4 Ⅴ 5 VI 6") - private Integer seismicIntensity; - - /** - * 地震动参数设计值 - */ - @TableField(value="seismic_parm") - @Schema(description="地震动参数设计值") - private BigDecimal seismicParm; - - /** - * 设计洪水标准及洪峰流量 - */ - @TableField(value="des_flood_peak_flow") - @Schema(description="设计洪水标准及洪峰流量") - private BigDecimal desFloodPeakFlow; - - /** - * 校核洪水标准及洪峰流量 - */ - @TableField(value="cal_flood_peak_flow") - @Schema(description="校核洪水标准及洪峰流量") - private BigDecimal calFloodPeakFlow; - - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; - - @TableField(value="brief_tpl") - @JsonIgnore - private String briefTpl; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/AttResBuilding.java b/src/main/java/com/gunshi/project/xyt/model/AttResBuilding.java deleted file mode 100644 index 1b0ec24..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttResBuilding.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 水库基本信息表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水库基本信息表") -@Data -@TableName("public.att_res_building") -public class AttResBuilding implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 水库代码 - */ - @TableId(value="id", type= IdType.INPUT) - private Integer id; - - // 主坝字段 (prefix: main_) - private String mainType; // 主坝-坝型 - private BigDecimal mainCrestElevation; // 主坝-坝顶高程(m) - private BigDecimal mainCrestLength; // 主坝-坝顶长度(m) - private BigDecimal mainCrestWidth; // 主坝-坝顶宽度(m) - private BigDecimal mainMaxHeight; // 主坝-最大坝高(m) - - // 副坝字段 (prefix: aux_) - private String auxType; // 副坝-坝型 - private BigDecimal auxCrestElevation; // 副坝-坝顶高程(m) - private BigDecimal auxCrestLength; // 副坝-坝顶长度(m) - private BigDecimal auxCrestWidth; // 副坝-坝顶宽度(m) - private BigDecimal auxMaxHeight; // 副坝-最大坝高(m) - - // 溢洪道字段 (prefix: spillway_) - private String spillwayType; // 溢洪道-型式 - private String spillwayCrestType; // 溢洪道-堰顶型式 - private String spillwayFoundation; // 溢洪道-地基特性 - private BigDecimal spillwayCrestElevation; // 溢洪道-溢流堰顶高程(m) - private BigDecimal spillwayNetWidth; // 溢洪道-溢流堰净宽(m) - private String spillwayEnergyDissipation; // 溢洪道-消能型式 - private BigDecimal spillwayCheckFloodDischarge; // 溢洪道-校核洪水下泄流量(m³/s) - private BigDecimal spillwayDesignFloodDischarge; // 溢洪道-设计洪水下泄流量(m³/s) - private BigDecimal spillwayScouringDischarge; // 溢洪道-消能防冲下泄流量(m³/s) - - // 灌溉发电洞字段 (prefix: irrigation_) - private String irrigationType; // 灌溉发电洞-型式 - private String irrigationLiningType; // 灌溉发电洞-衬砌型式 - private String irrigationFoundation; // 灌溉发电洞-地基特性 - private BigDecimal irrigationInletElevation; // 灌溉发电洞-进口底板高程(m) - private String irrigationCrossSection; // 灌溉发电洞-断面尺寸(m) - private BigDecimal irrigationLength; // 灌溉发电洞-洞长(m) - private BigDecimal irrigationDesignFlow; // 灌溉发电洞-设计流量(m³/s) - private String irrigationGateType; // 灌溉发电洞-进口闸门型式 - private String irrigationHoistType; // 灌溉发电洞-进口启闭机型式 - - // 放空洞字段 (prefix: emptying_) - private String emptyingType; // 放空洞-型式 - private String emptyingLiningType; // 放空洞-衬砌型式 - private String emptyingFoundation; // 放空洞-地基特性 - private BigDecimal emptyingInletElevation; // 放空洞-进口底板高程(m) - private String emptyingCrossSection; // 放空洞-断面尺寸(m) - private BigDecimal emptyingLength; // 放空洞-洞长(m) - private BigDecimal emptyingDesignFlow; // 放空洞-设计流量(m³/s) - private String emptyingGateType; // 放空洞-进口闸门型式 - private String emptyingHoistType; // 放空洞-进口启闭机型式 - - // 拦洪坝字段 (prefix: flood_control_) - private String floodControlType; // 拦洪坝-坝型 - private BigDecimal floodControlCrestElevation; // 拦洪坝-坝顶高程(m) - private BigDecimal floodControlCrestLength; // 拦洪坝-坝顶长度(m) - private BigDecimal floodControlCrestWidth; // 拦洪坝-坝顶宽度(m) - private BigDecimal floodControlMaxHeight; // 拦洪坝-最大坝高(m) - - // 防汛道路字段 (prefix: road_) - private BigDecimal roadLength; // 防汛道路-防汛路长度(m) - private BigDecimal roadWidth; // 防汛道路-路面宽度(m) -} diff --git a/src/main/java/com/gunshi/project/xyt/model/AttSpillwayBase.java b/src/main/java/com/gunshi/project/xyt/model/AttSpillwayBase.java deleted file mode 100644 index e963e5a..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttSpillwayBase.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Delete; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 溢洪道 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="溢洪道") -@Data -@TableName("public.att_spillway_base") -public class AttSpillwayBase implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 溢洪道代码 - */ - @TableId(value="code", type= IdType.AUTO) - @Schema(description="溢洪道代码") - @Size(max = 32,message = "溢洪道代码最大长度要小于 32") - @NotBlank(message = "溢洪道代码不能为空",groups = { Update.class, Delete.class}) - private String code; - - /** - * 溢洪道名称 - */ - @TableField(value="name") - @Schema(description="溢洪道名称") - @Size(max = 30,message = "溢洪道名称最大长度要小于 30") - private String name; - - /** - * 型式 - */ - @TableField(value="build_type") - @Schema(description="型式") - @Size(max = 30,message = "型式最大长度要小于 30") - private String buildType; - - /** - * 堰顶型式 - */ - @TableField(value="crest_type") - @Schema(description="堰顶型式") - @Size(max = 30,message = "堰顶型式最大长度要小于 30") - private String crestType; - - /** - * 地基特性 - */ - @TableField(value="found_character") - @Schema(description="地基特性") - @Size(max = 30,message = "地基特性最大长度要小于 30") - private String foundCharacter; - - /** - * 堰顶高程(m) - */ - @TableField(value="crest_ele") - @Schema(description="堰顶高程(m)") - private String crestEle; - - /** - * 总净宽 - */ - @TableField(value="net_width") - @Schema(description="总净宽") - @Size(max = 30,message = "总净宽最大长度要小于 30") - private String netWidth; - - /** - * 消能方式 - */ - @TableField(value="elim_method") - @Schema(description="消能方式") - @Size(max = 18,message = "消能方式最大长度要小于 18") - private String elimMethod; - - /** - * 消能防冲流量 - */ - @TableField(value="elim_q") - @Schema(description="消能防冲流量") - private String elimQ; - - /** - * 最大单宽流量 - */ - @TableField(value="bwid_q") - @Schema(description="最大单宽流量") - private String bwidQ; - - /** - * 设计泄洪流量(m3/s) - */ - @TableField(value="des_q") - @Schema(description="设计泄洪流量(m3/s)") - private String desQ; - - /** - * 校核泄洪流量(m3/s) - */ - @TableField(value="cali_q") - @Schema(description="校核泄洪流量(m3/s)") - private String caliQ; - - /** - * 备注 - */ - @TableField(value="remark") - @Schema(description="备注") - @Size(max = 500,message = "备注最大长度要小于 500") - private String remark; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AttWaterItem.java b/src/main/java/com/gunshi/project/xyt/model/AttWaterItem.java deleted file mode 100644 index bfbc178..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/AttWaterItem.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 水质整编展示项目表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水质整编展示项目表") -@Data -@TableName("public.att_water_item") -public class AttWaterItem implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - private Long id; - - /** - * 字段名 - */ - @TableField(value="en_name") - @Schema(description="字段名") - @Size(max = 10,message = "字段名最大长度要小于 10") - private String enName; - - /** - * 中文名 - */ - @TableField(value="cn_name") - @Schema(description="中文名") - @Size(max = 10,message = "中文名最大长度要小于 10") - private String cnName; - - /** - * 单位 - */ - @TableField(value="unit") - @Schema(description="单位") - @Size(max = 10,message = "单位最大长度要小于 10") - private String unit; - - /** - * 是否显示 - */ - @TableField(value="is_show") - @Schema(description="是否显示(0 显示;1 隐藏)") - private String isShow; - - /** - * 是否启用 - */ - @TableField(value="is_enable") - @Schema(description="是否启用(0 启动;1 禁用)") - private String isEnable; - - /** - * 排序 - */ - @TableField(value="sort") - @Schema(description="排序") - private String sort; - - /** - * 是否比较(0 比较;1 不比较) - */ - @TableField(value="is_compare") - @Schema(description="是否比较(0 比较;1 不比较)") - private String isCompare; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/BroadcastStation.java b/src/main/java/com/gunshi/project/xyt/model/BroadcastStation.java deleted file mode 100644 index dca4e46..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/BroadcastStation.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 广播预警站 -* author: xusan -* date: 2024-09-25 10:19:15 -*/ -@Schema(description="广播预警站") -@Data -@TableName("public.broadcast_station") -public class BroadcastStation implements Serializable { - - public final static String thisTableName = "BroadcastStation"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 站点名称 - */ - @TableField(value="name") - @Schema(description="站点名称") - @Size(max = 100,message = "站点名称最大长度要小于 100") - @NotBlank(message = "站点名称不能为空") - private String name; - - /** - * 排序 - */ - @TableField(value="order_index") - @Schema(description="排序") - private Integer orderIndex; - - /** - * 独立密码 - */ - @TableField(value="ctrl_pass") - @Schema(description="独立密码") - @Size(max = 16,message = "独立密码最大长度要小于 16") - private String ctrlPass; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/BroadcastTemplate.java b/src/main/java/com/gunshi/project/xyt/model/BroadcastTemplate.java deleted file mode 100644 index 91b0d27..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/BroadcastTemplate.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 广播模板 -* author: xusan -* date: 2024-09-25 10:19:00 -*/ -@Schema(description="广播模板") -@Data -@TableName("public.broadcast_template") -public class BroadcastTemplate implements Serializable { - - public final static String thisTableName = "BroadcastTemplate"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 内容 - */ - @TableField(value="content") - @Schema(description="内容") - @Size(max = 500,message = "内容最大长度要小于 500") - @NotBlank(message = "内容不能为空") - private String content; - - /** - * 排序 - */ - @TableField(value="order_index") - @Schema(description="排序") - private Integer orderIndex; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/BroadcastWarn.java b/src/main/java/com/gunshi/project/xyt/model/BroadcastWarn.java deleted file mode 100644 index af52f24..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/BroadcastWarn.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 广播预警信息 -* author: xusan -* date: 2024-09-25 10:17:53 -*/ -@Schema(description="广播预警信息") -@Data -@TableName("public.broadcast_warn") -public class BroadcastWarn implements Serializable { - - public final static String thisTableName = "BroadcastWarn"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 站点id - */ - @TableField(value="station_id") - @Schema(description="站点id") - @JsonSerialize(using = ToStringSerializer.class) - private Long stationId; - - @TableField(exist = false) - @Schema(description="站点名称") - private String name; - - @TableField(exist = false) - @Schema(description="站点id集合") - private List stationIds; - - /** - * 告警内容 - */ - @TableField(value="warn_content") - @Schema(description="告警内容") - @Size(max = 500,message = "告警内容最大长度要小于 500") - private String warnContent; - - /** - * 创建人id - */ - @TableField(value="create_user_id") - @Schema(description="创建人id") - private Long createUserId; - - /** - * 创建人名称 - */ - @TableField(value="create_user_name") - @Schema(description="创建人名称") - @Size(max = 100,message = "创建人名称最大长度要小于 100") - private String createUserName; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - /** - * 密码 - */ - @TableField(exist = false) - @Schema(description="密码") - private String ctrlPass; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/BzDictRel.java b/src/main/java/com/gunshi/project/xyt/model/BzDictRel.java deleted file mode 100644 index 2672a73..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/BzDictRel.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 业务关联字典 -* author: xusan -* date: 2024-08-28 10:05:20 -*/ -@Schema(description="业务关联字典") -@Data -@TableName("public.bz_dict_rel") -public class BzDictRel implements Serializable { - - public final static String thisTableName = "BzDictRel"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 业务id - */ - @TableField(value="business_id") - @Schema(description="业务id") - @JsonSerialize(using = ToStringSerializer.class) - private Long businessId; - - /** - * 字典id - */ - @TableField(value="sys_dict_id") - @Schema(description="字典id") - @JsonSerialize(using = ToStringSerializer.class) - private Long sysDictId; - - /** - * 业务类型 - */ - @TableField(value="group_id") - @Schema(description="业务类型") - @Size(max = 100,message = "业务类型最大长度要小于 100") - private String groupId; - - @TableField(exist = false) - @Schema(description = "字典名称") - private String dictNm; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/CctvBMenu.java b/src/main/java/com/gunshi/project/xyt/model/CctvBMenu.java deleted file mode 100644 index 55b9f01..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/CctvBMenu.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** -* 描述: 视频点目录 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="视频点目录") -@Data -@TableName("public.cctv_b_menu") -public class CctvBMenu implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * id - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="id") - @NotNull(message = "id不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * parent_id - */ - @TableField(value="parent_id") - @Schema(description="parent_id") - @JsonSerialize(using = ToStringSerializer.class) - private Long parentId; - - /** - * name - */ - @TableField(value="name") - @Schema(description="name") - @Size(max = 255,message = "name最大长度要小于 255") - @NotBlank(message = "name不能为空") - private String name; - - /** - * 排序 - */ - @TableField(value="order_index") - @Schema(description="排序") - private Integer orderIndex; - - @TableField(exist = false) - @Schema(description="子集") - private List children; - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/CommCreate.java b/src/main/java/com/gunshi/project/xyt/model/CommCreate.java deleted file mode 100644 index 52a8f18..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/CommCreate.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.util.Date; - -/** - * Description: - * Created by XuSan on 2024/9/25. - * - * @author XuSan - * @version 1.0 - */ -@Schema(description="新增公共模型") -@Data -public class CommCreate { - - - /** - * 创建人Id - */ - @TableField(value="create_by" ,updateStrategy = FieldStrategy.NOT_NULL) - @Schema(description="填报人Id") - @JsonSerialize(using = ToStringSerializer.class) - private Long createBy; - - /** - * 创建人名字 - */ - @TableField(value="create_name" ,updateStrategy = FieldStrategy.NOT_NULL) - @Schema(description="填报人名字") - @Size(max = 30,message = "填报人名字最大长度要小于 30") - private String createName; - - /** - * 创建人时间 - */ - @Schema(description="填报时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) - @TableField(value="create_time" ,updateStrategy = FieldStrategy.NOT_NULL) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/CommUpdate.java b/src/main/java/com/gunshi/project/xyt/model/CommUpdate.java deleted file mode 100644 index 3b4cea5..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/CommUpdate.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * Description: - * Created by XuSan on 2024/9/25. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Schema(description="修改公共模型") -@Data -public class CommUpdate extends CommCreate{ - - - /** - * 更新人Id - */ - @TableField(value="update_by" ,updateStrategy = FieldStrategy.NOT_NULL) - @Schema(description="更新人Id") - @JsonSerialize(using = ToStringSerializer.class) - private Long updateBy; - - /** - * 更新人名字 - */ - @TableField(value="update_name" ,updateStrategy = FieldStrategy.NOT_NULL) - @Schema(description="更新人名字") - @Size(max = 30,message = "更新人名字最大长度要小于 30") - private String updateName; - - /** - * 更新时间 - */ - @Schema(description="更新时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) - @TableField(value="update_time" ,updateStrategy = FieldStrategy.NOT_NULL) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date updateTime; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/DispatchRecord.java b/src/main/java/com/gunshi/project/xyt/model/DispatchRecord.java deleted file mode 100644 index 4e3ca8a..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/DispatchRecord.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 调度记录 -* author: xusan -* date: 2024-10-09 09:56:28 -*/ -@Schema(description="调度记录") -@Data -@TableName("public.dispatch_record") -public class DispatchRecord implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "id不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 调度开始时间 - */ - @TableField(value="start_time") - @Schema(description="调度开始时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date startTime; - - /** - * 调度结束时间 - */ - @TableField(value="end_time") - @Schema(description="调度结束时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date endTime; - - /** - * 状态(0执行中 1完成) - */ - @TableField(value="status") - @Schema(description="状态(0执行中 1完成)") - private Integer status; - - /** - * 操作人id - */ - @TableField(value="op_user_id") - @Schema(description="操作人id") - @JsonSerialize(using = ToStringSerializer.class) - private Long opUserId; - - /** - * 操作人名称 - */ - @TableField(value="op_user_name") - @Schema(description="操作人名称") - @Size(max = 100,message = "操作人名称最大长度要小于 100") - private String opUserName; - - /** - * 调度原因 - */ - @TableField(value="dispatch_reason") - @Schema(description="调度原因") - @Size(max = 500,message = "dispatch_reason最大长度要小于 500") - private String dispatchReason; - - /** - * 调度详情 - */ - @TableField(value="dispatch_detail") - @Schema(description="调度详情") - @Size(max = 500,message = "dispatch_detail最大长度要小于 500") - private String dispatchDetail; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - @TableField(exist = false) - @Schema(description = "附件") - private List files; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/FileAssociations.java b/src/main/java/com/gunshi/project/xyt/model/FileAssociations.java deleted file mode 100644 index f50599f..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/FileAssociations.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 文件关联业务表 -* author: xusan -* date: 2024-07-17 10:09:40 -*/ -@Schema(description="文件关联业务表") -@Data -@TableName("public.file_associations") -public class FileAssociations implements Serializable { - - public final static String thisTableName = "file_associations"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 业务id - */ - @TableField(value="business_id") - @Schema(description="业务id") - @NotBlank(message = "业务id不能为空") - private String businessId; - - /** - * 文件id - */ - @TableField(value="file_id") - @Schema(description="文件id") - @NotBlank(message = "文件id不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long fileId; - - /** - * 序号 - */ - @TableField(value="sort_on") - @Schema(description="序号") - private Integer sortOn; - - /** - * 时间戳 - */ - @TableField(value="tm") - @Schema(description="时间戳") - @NotBlank(message = "时间戳不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 业务表名 - */ - @TableField(value="table_name") - @Schema(description="业务表名") - @Size(max = 255,message = "业务表名最大长度要小于 255") - @NotBlank(message = "业务表名不能为空") - private String tableName; - /** - * 业务表名 - */ - @TableField(value="del") - @Size(max = 1,message = "删除标识最大长度要小于 2") - @Schema(description="删除标识1: 未删除,0:已删除") - @NotBlank(message = "删除标识不能为空") - private String del; - - - @TableField(value = "type") - @Schema(description = "业务文件类型 " + - "0:水库基本信息-工程基础信息-工程特性表," + - "1:水库基本信息-设计图纸和资料" + - "大坝 图片文件type:3 , 视频文件type:4") - private String type; - - - @TableField(exist = false) - @Schema(description = "文件路径") - private String filePath; - - @TableField(exist = false) - @Schema(description = "文件名称") - private String fileName; - - @TableField(exist = false) - @Schema(description = "文件大小 (byte)") - private String fileSize; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/ForecastK.java b/src/main/java/com/gunshi/project/xyt/model/ForecastK.java deleted file mode 100644 index 4f912b6..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ForecastK.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 预报_前期影响雨量折减系数表 -* author: cxw -* date: 2024-07-30 10:02:24 -*/ -@EqualsAndHashCode(callSuper = true) -@Schema(description="预报_前期影响雨量折减系数表") -@Data -@TableName("public.forecast_k") -public class ForecastK extends GenericPageParams implements Serializable { - - public final static String thisTableName = "ForecastK"; - - private static final long serialVersionUID = 1L; - - /** - * 月份 - */ - @TableId(value="month", type= IdType.NONE) - @Schema(description="月份") - private Integer month; - - /** - * k值 - */ - @TableField(value="k_value") - @Schema(description="k值") - private BigDecimal kValue; - - /** - * 创建时间 - */ - @TableField(value="chtm") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * 修改时间 - */ - @TableField(value="update_time") - @Schema(description="修改时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date updateTime; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ForecastPPaR.java b/src/main/java/com/gunshi/project/xyt/model/ForecastPPaR.java deleted file mode 100644 index c353dd9..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ForecastPPaR.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* 描述: 预报_降雨径流关系表 -* author: cxw -* date: 2024-07-30 10:02:24 -*/ -@EqualsAndHashCode(callSuper = true) -@Schema(description="预报_降雨径流关系表") -@Data -@TableName("public.forecast_p_pa_r") -public class ForecastPPaR extends GenericPageParams implements Serializable { - - public final static String thisTableName = "ForecastPPaR"; - - private static final long serialVersionUID = 1L; - - /** - * r - */ - @TableField(value="r") - @Schema(description="r") - private BigDecimal r; - - /** - * psum - */ - @TableField(value="psum") - @Schema(description="psum") - private BigDecimal psum; - - /** - * rsum - */ - @TableField(value="rsum") - @Schema(description="rsum") - private BigDecimal rsum; - - /** - * pa - */ - @TableField(value="pa") - @Schema(description="pa") - private BigDecimal pa; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ForecastPa.java b/src/main/java/com/gunshi/project/xyt/model/ForecastPa.java deleted file mode 100644 index aec9ecf..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ForecastPa.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 预报_土壤含水量表 -* author: cxw -* date: 2024-08-02 12:23:07 -*/ -@Schema(description="预报_土壤含水量表") -@Data -@TableName("public.forecast_pa") -public class ForecastPa implements Serializable { - - public final static String thisTableName = "ForecastPa"; - - private static final long serialVersionUID = 1L; - - /** - * 测站编码 - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="测站编码") - @Size(max = 255,message = "测站编码最大长度要小于 255") - @NotBlank(message = "测站编码不能为空") - @NotNull(message = "测站编码不能为空") - private String stcd; - - /** - * 日期 - */ - @TableField(value="tm") - @Schema(description="日期") - @Size(max = 10,message = "日期最大长度要小于 10") - @NotBlank(message = "日期不能为空") - @NotNull(message = "日期不能为空") - private String tm; - - /** - * 蒸发率 - */ - @TableField(value="k") - @Schema(description="蒸发率") - private BigDecimal k; - - /** - * 昨天土壤含水量 - */ - @TableField(value="pa0") - @Schema(description="昨天土壤含水量") - private BigDecimal pa0; - - /** - * 最大初损值 - */ - @TableField(value="im") - @Schema(description="最大初损值") - private BigDecimal im; - - /** - * 昨天降雨值 - */ - @TableField(value="pt0") - @Schema(description="昨天降雨值") - private BigDecimal pt0; - - /** - * 当天土壤含水量 - */ - @TableField(value="pa") - @Schema(description="当天土壤含水量") - private BigDecimal pa; - - /** - * 入库时间 - */ - @TableField(value="chtm") - @Schema(description="入库时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ForecastProject.java b/src/main/java/com/gunshi/project/xyt/model/ForecastProject.java deleted file mode 100644 index 03e3c9c..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ForecastProject.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import com.gunshi.project.xyt.entity.vo.ForecastResultVo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 预报_预测方案管理表 -* author: cxw -* date: 2024-08-05 11:41:45 -*/ -@EqualsAndHashCode(callSuper = true) -@Schema(description="预报_预测方案管理表") -@Data -@TableName("public.forecast_project") -public class ForecastProject extends GenericPageParams implements Serializable { - - public final static String thisTableName = "ForecastProject"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 预报任务名称 - */ - @TableField(value="name") - @Schema(description="预报任务名称") - @Size(max = 255,message = "预报任务名称最大长度要小于 255") - private String name; - - /** - * 类型(1:自动 2:手动) - */ - @TableField(value="type") - @Schema(description="类型(1:自动 2:手动)") - @Size(max = 1,message = "类型(1:自动 2:手动)最大长度要小于 1") - private String type; - - /** - * 预报时间 - */ - @TableField(value="forecast_tm") - @Schema(description="预报时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date forecastTm; - - /** - * 方案执行的当前时间 - */ - @TableField(value="project_tm") - @Schema(description="方案执行的当前时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date projectTm; - - /** - * 开始时间 - */ - @TableField(value="start_tm") - @Schema(description="开始时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date startTm; - - /** - * 结束时间 - */ - @TableField(value="end_tm") - @Schema(description="结束时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date endTm; - - /** - * 操作人id - */ - @TableField(value="user_id") - @Schema(description="操作人id") - private String userId; - - /** - * 预见期(小时) - */ - @TableField(value="forecast_period") - @Schema(description="预见期(小时)") - private Integer forecastPeriod; - - /** - * 预热期(天) - */ - @TableField(value="forecast_warm") - @Schema(description="预热期(天)") - private Integer forecastWarm; - - /** - * 方案制作时间 - */ - @TableField(value="chtm") - @Schema(description="方案制作时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * 修改时间 - */ - @TableField(value="update_tm") - @Schema(description="修改时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date updateTm; - - /** - * 任务时间间隔(小时) - */ - @TableField(value="time_interval") - @Schema(description="任务时间间隔(小时)") - private BigDecimal timeInterval; - - /** - * 自动任务id(type为1时有值) - */ - @TableField(value="task_id") - @Schema(description="自动任务id(type为1时有值)") - private Long taskId; - - /** - * 预报结果voList - */ - @Schema(description = "预报结果voList") - @TableField(exist = false) - private List voList; - - /** - * 预报最高调洪水位(m) - */ - @Schema(description = "预报最高调洪水位(m)") - @TableField(exist = false) - private BigDecimal ycMaxSwH; - - /** - * 预报最大入库流量(m³/s) - */ - @Schema(description = "预报最大入库流量") - @TableField(exist = false) - private BigDecimal ycMaxRkQ; - - /** - * 预报最大下泄流量(m³/s) - */ - @Schema(description = "预报最大下泄流量(m³/s)") - @TableField(exist = false) - private BigDecimal ycMaxCkQ; - - /** - * 预报洪水总量(万m³) - */ - @Schema(description = "预报洪水总量(万m³)") - @TableField(exist = false) - private BigDecimal ycSumFlood; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ForecastResults.java b/src/main/java/com/gunshi/project/xyt/model/ForecastResults.java deleted file mode 100644 index 2e5e5b9..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ForecastResults.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.alibaba.fastjson2.annotation.JSONField; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 预报_预测结果表 -* author: cxw -* date: 2024-08-05 11:41:45 -*/ -@EqualsAndHashCode(callSuper = true) -@Schema(description="预报_预测结果表") -@Data -@TableName("public.forecast_results") -public class ForecastResults extends GenericPageParams implements Serializable { - - public final static String thisTableName = "ForecastResults"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - private Long id; - - /** - * 时间 - */ - @TableField(value="tm") - @Schema(description="时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @JSONField(format = DateFormatString.YYYY_MM_DD_HH_MM_SS) - private Date tm; - - /** - * 预测入库流量 - */ - @TableField(value="yc_rk_q_value") - @Schema(description="预测入库流量") - private BigDecimal ycRkQValue; - - /** - * 实际入库流量 - */ - @TableField(value="real_rk_q_value") - @Schema(description="实际入库流量") - private BigDecimal realRkQValue; - - /** - * 预测出库流量 - */ - @TableField(value="yc_ck_q_value") - @Schema(description="预测出库流量") - private BigDecimal ycCkQValue; - - /** - * 实际出库流量 - */ - @TableField(value="real_ck_q_value") - @Schema(description="实际出库流量") - private BigDecimal realCkQValue; - - /** - * 预测水库水位 - */ - @TableField(value="yc_sw_h_value") - @Schema(description="预测水库水位") - private BigDecimal ycSwHValue; - - /** - * 实际水库水位 - */ - @TableField(value="real_sw_h_value") - @Schema(description="实际水库水位") - private BigDecimal realSwHValue; - - /** - * 降雨 - */ - @TableField(value="drp") - @Schema(description="降雨") - private BigDecimal drp; - - /** - * 是否是预测雨量(0:真实 1:预测) - */ - @TableField(value="ispre_drp") - @Schema(description="是否是预测雨量(0:真实 1:预测)") - private String ispreDrp; - - /** - * 径流深 - */ - @TableField(value="r") - @Schema(description="径流深") - private BigDecimal r; - - /** - * 方案id - */ - @TableField(value="project_id") - @Schema(description="方案id") - private Long projectId; - - /** - * 方案制作时间 - */ - @TableField(value="chtm") - @Schema(description="方案制作时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * 修改时间 - */ - @TableField(value="update_tm") - @Schema(description="修改时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date updateTm; - - /** - * 主汛期防洪限制水位 - */ - @TableField(value="fl_low_lim_lev") - @Schema(description="主汛期防洪限制水位") - private BigDecimal flLowLimLev; - - /** - * 当前堰顶高度预警值 - */ - @Schema(description="当前堰顶高度预警值") - private BigDecimal currentYdgdyjz; - - /** - * 土壤含水量 - */ - @TableField(value="pa") - @Schema(description="土壤含水量") - private BigDecimal pa; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ForecastTask.java b/src/main/java/com/gunshi/project/xyt/model/ForecastTask.java deleted file mode 100644 index a7544eb..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ForecastTask.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 预报_预测自动任务管理表 -* author: cxw -* date: 2024-08-05 11:41:44 -*/ -@EqualsAndHashCode(callSuper = true) -@Schema(description="预报_预测自动任务管理表") -@Data -@TableName("public.forecast_task") -public class ForecastTask extends GenericPageParams implements Serializable { - - public final static String thisTableName = "ForecastTask"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 预报任务名称 - */ - @TableField(value="name") - @Schema(description="预报任务名称") - @Size(max = 255,message = "预报任务名称最大长度要小于 255") - private String name; - - /** - * 操作人id - */ - @TableField(value="user_id") - @Schema(description="操作人id") - private String userId; - - @TableField(exist = false) - @Schema(description="操作人姓名") - private String userName; - - /** - * 预见期(小时) - */ - @TableField(value="forecast_period") - @Schema(description="预见期(小时)") - private Integer forecastPeriod; - - /** - * 预热期(天) - */ - @TableField(value="forecast_warm") - @Schema(description="预热期(天)") - private Integer forecastWarm; - - /** - * 方案制作时间 - */ - @TableField(value="chtm") - @Schema(description="方案制作时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * 修改时间 - */ - @TableField(value="update_tm") - @Schema(description="修改时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date updateTm; - - /** - * 任务状态(0:正常 1:暂停 2:删除) - */ - @TableField(value="status") - @Schema(description="任务状态(0:正常 1:暂停 2:删除)") - @Size(max = 1,message = "任务状态(0:正常 1:暂停 2:删除)最大长度要小于 1") - private String status; - - /** - * 任务时间间隔(小时) - */ - @TableField(value="time_interval") - @Schema(description="任务时间间隔(小时)") - private BigDecimal timeInterval; - - /** - * 选择的预报时间 - */ - @Schema(description = "选择的预报时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date forecastTime; - - /** - * 选择的执行当前时间 - */ - @Schema(description = "选择的执行当前时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date nowTime; - - /** - * 选择的起始时间 - */ - @Schema(description = "选择的起始时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date startTime; - - /** - * 选择的结束时间 - */ - @Schema(description = "选择的结束时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date endTime; - - /** - * 上一次执行时间 - */ - @TableField(value="last_excute_tm") - @Schema(description="上一次执行时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date lastExcuteTm; - - /** - * 上一次结果保存时间 - */ - @TableField(value="last_resultsave_tm") - @Schema(description="上一次结果保存时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date lastResultsaveTm; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ForecastU.java b/src/main/java/com/gunshi/project/xyt/model/ForecastU.java deleted file mode 100644 index 035b623..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ForecastU.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 预报_时段单位线表 -* author: cxw -* date: 2024-07-30 10:02:24 -*/ -@EqualsAndHashCode(callSuper = true) -@Schema(description="预报_时段单位线表") -@Data -@TableName("public.forecast_u") -public class ForecastU extends GenericPageParams implements Serializable { - - public final static String thisTableName = "ForecastU"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * u值 - */ - @TableField(value="u_value") - @Schema(description="u值") - private BigDecimal uValue; - - /** - * 创建时间 - */ - @TableField(value="chtm") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * 修改时间 - */ - @TableField(value="update_time") - @Schema(description="修改时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date updateTime; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ForecastUseparam.java b/src/main/java/com/gunshi/project/xyt/model/ForecastUseparam.java deleted file mode 100644 index 7b8881c..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ForecastUseparam.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 预报_通用参数管理 -* author: cxw -* date: 2024-07-30 10:02:24 -*/ -@EqualsAndHashCode(callSuper = true) -@Schema(description="预报_通用参数管理") -@Data -@TableName("public.forecast_useparam") -public class ForecastUseparam extends GenericPageParams implements Serializable { - - public final static String thisTableName = "ForecastUseparam"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 参数名称 - */ - @TableField(value="param_name") - @Schema(description="参数名称") - @Size(max = 255,message = "参数名称最大长度要小于 255") - private String paramName; - - /** - * 参数名 - */ - @TableField(value="param_code") - @Schema(description="参数名") - @Size(max = 255,message = "参数名最大长度要小于 255") - private String paramCode; - - /** - * 参数值 - */ - @TableField(value="param_value") - @Schema(description="参数值") - @Size(max = 255,message = "参数值最大长度要小于 255") - private String paramValue; - - /** - * 参数排序 - */ - @TableField(value="param_sort") - @Schema(description="参数排序") - private Integer paramSort; - - /** - * 参数描述 - */ - @TableField(value="param_desc") - @Schema(description="参数描述") - @Size(max = 255,message = "参数描述最大长度要小于 255") - private String paramDesc; - - /** - * 创建时间 - */ - @TableField(value="chtm") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * 修改时间 - */ - @TableField(value="update_time") - @Schema(description="修改时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date updateTime; - - /** - * 参数类型(1:普通类型,一对一;2:一对多,k;3:多对多,PPaR) - */ - @TableField(value="param_type") - @Schema(description="参数类型(1:普通类型,一对一;2:一对多;3多对多)") - private String paramType; - - /** - * 功能码(前端调用引导) - */ - @TableField(value="ability_code") - @Schema(description="功能码(前端调用引导)") - @Size(max = 255,message = "功能码最大长度要小于 255") - private String abilityCode; - - /** - * 备注 - */ - @TableField(value="remarks") - @Schema(description="备注") - @Size(max = 255,message = "备注最大长度要小于 255") - private String remarks; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/GatePore.java b/src/main/java/com/gunshi/project/xyt/model/GatePore.java deleted file mode 100644 index c663e18..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/GatePore.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 闸孔信息表 -* author: xusan -* date: 2024-09-26 10:44:56 -*/ -@Schema(description="闸孔信息表") -@Data -@TableName("public.gate_pore") -public class GatePore implements Serializable { - - public final static String thisTableName = "GatePore"; - - private static final long serialVersionUID = 1L; - - /** - * stcd - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="stcd") - @Size(max = 16,message = "stcd最大长度要小于 16") - @NotBlank(message = "stcd不能为空") - private String stcd; - - /** - * 第几个闸门 - */ - @TableField(value="gate_number") - @Schema(description="第几个闸门") - private Integer gateNumber; - - /** - * 实际开度 - */ - @TableField(value="real_aperture") - @Schema(description="实际开度") - private BigDecimal realAperture; - - /** - * 设定开度 - */ - @TableField(value="set_aperture") - @Schema(description="设定开度") - private BigDecimal setAperture; - - /** - * 传感器水位 - */ - @TableField(value="sensor_lever") - @Schema(description="传感器水位") - private BigDecimal sensorLever; - - /** - * 海拔水位 - */ - @TableField(value="altitude_lever") - @Schema(description="海拔水位") - private BigDecimal altitudeLever; - - /** - * 闸门远控信号,如果是0,则不能通过指令控制 - */ - @TableField(value="remote_signal") - @Schema(description="闸门远控信号,如果是0,则不能通过指令控制") - private Integer remoteSignal; - - /** - * 闸门电源故障信号 - */ - @TableField(value="power_signal") - @Schema(description="闸门电源故障信号") - private Integer powerSignal; - - /** - * 闸门开闸中 - */ - @TableField(value="opening_signal") - @Schema(description="闸门开闸中") - private Integer openingSignal; - - /** - * 闸门关闸中 - */ - @TableField(value="closeing_signal") - @Schema(description="闸门关闸中") - private Integer closeingSignal; - - /** - * 闸门故障 - */ - @TableField(value="error_signal") - @Schema(description="闸门故障") - private Integer errorSignal; - - /** - * 闸门全开 - */ - @TableField(value="opened_signal") - @Schema(description="闸门全开") - private Integer openedSignal; - - /** - * 闸门全关 - */ - @TableField(value="closed_signal") - @Schema(description="闸门全关") - private Integer closedSignal; - - /** - * tm - */ - @TableField(value="tm") - @Schema(description="tm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/GateValveCctvRel.java b/src/main/java/com/gunshi/project/xyt/model/GateValveCctvRel.java deleted file mode 100644 index 06a5c63..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/GateValveCctvRel.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 闸阀关联视频点 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="闸阀关联视频点") -@Data -@TableName("public.gate_valve_cctv_rel") -public class GateValveCctvRel implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * id - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="id") - @NotNull(message = "id不能为空", groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 闸阀编号 - */ - @TableField(value="valve_code") - @Schema(description="闸阀编号") - @Size(max = 100,message = "闸阀编号最大长度要小于 100") - @NotBlank(message = "闸阀编号不能为空", groups = {Insert.class,Update.class}) - private String valveCode; - - /** - * 视频点 - */ - @TableField(value="index_code") - @Schema(description="视频点") - @Size(max = 100,message = "视频点最大长度要小于 100") - @NotBlank(message = "视频点不能为空", groups = {Insert.class,Update.class}) - private String indexCode; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/GateValveKey.java b/src/main/java/com/gunshi/project/xyt/model/GateValveKey.java deleted file mode 100644 index 78bb69a..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/GateValveKey.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 闸阀密码表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="闸阀密码表") -@Data -@TableName("public.gate_valve_key") -public class GateValveKey implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 闸阀编号 - */ - @TableId(value="valve_code", type= IdType.AUTO) - @Schema(description="闸阀编号") - private String valveCode; - - /** - * 密码 - */ - @TableField(value="key") - @Schema(description="密码") - private String key; - - @TableField(exist = false) - @Schema(description="开关状态") - private String status; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/GateValveOplog.java b/src/main/java/com/gunshi/project/xyt/model/GateValveOplog.java deleted file mode 100644 index 7d4d9b1..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/GateValveOplog.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 闸阀操作日志表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="闸阀操作日志表") -@Data -@TableName("public.gate_valve_oplog") -public class GateValveOplog implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 闸阀ID - */ - @TableField(value="valve_code") - @Schema(description="闸阀ID") - private String valveCode; - - /** - * 设定开度 - */ - @TableField(value="status") - @Schema(description="设定开度") - private String status; - - /** - * 操作前开度 - */ - @TableField(value="before_status") - @Schema(description="操作前开度") - private String beforeStatus; - - /** - * 操作内容 - */ - @TableField(value="op_content") - @Schema(description="操作内容") - private String opContent; - - /** - * 操作人id - */ - @TableField(value="op_user_id") - @Schema(description="操作人id") - private Long opUserId; - - /** - * 操作人 - */ - @TableField(value="op_user_name") - @Schema(description="操作人") - private String opUserName; - - /** - * 操作时间 - */ - @TableField(value="tm") - @Schema(description="操作时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/GateValveR.java b/src/main/java/com/gunshi/project/xyt/model/GateValveR.java deleted file mode 100644 index df35dfd..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/GateValveR.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.github.jeffreyning.mybatisplus.anno.MppMultiId; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 闸阀开关历史表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="闸阀开关历史表") -@Data -@TableName("public.gate_valve_r") -public class GateValveR implements Serializable { - - - private static final long serialVersionUID = 1L; - - - /** - * 闸阀ID - */ - @MppMultiId - @TableField(value="valve_code") - @Schema(description="闸阀ID") - @Size(max = 20,message = "闸阀ID最大长度要小于 20") - private String valveCode; - - /** - * 开关状态 - */ - @TableField(value="status") - @Schema(description="开关状态") - private String status; - - /** - * 操作时间 - */ - @MppMultiId - @TableField(value="tm") - @Schema(description="操作时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/GateValveReal.java b/src/main/java/com/gunshi/project/xyt/model/GateValveReal.java deleted file mode 100644 index 9a0ce56..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/GateValveReal.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.github.jeffreyning.mybatisplus.anno.MppMultiId; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 闸阀开关表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="闸阀开关表") -@Data -@TableName("public.gate_valve_real") -public class GateValveReal implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 闸阀ID - */ - @MppMultiId - @TableField(value="valve_code") - @Schema(description="闸阀ID") - @Size(max = 20,message = "闸阀ID最大长度要小于 20") - private String valveCode; - - /** - * 开关状态 - */ - @TableField(value="status") - @Schema(description="开关状态") - private String status; - - /** - * 操作时间 - */ - @MppMultiId - @TableField(value="tm") - @Schema(description="操作时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/IaCBsnssinfo.java b/src/main/java/com/gunshi/project/xyt/model/IaCBsnssinfo.java deleted file mode 100644 index 0fa4060..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/IaCBsnssinfo.java +++ /dev/null @@ -1,198 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 防治区企事业单位汇总表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="防治区企事业单位汇总表") -@Data -@TableName("public.ia_c_bsnssinfo") -public class IaCBsnssinfo implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 单位编码 - */ - @TableId(value="eicd", type= IdType.AUTO) - @Schema(description="单位编码") - @Size(max = 50,message = "单位编码最大长度要小于 50") - @NotBlank(message = "单位编码不能为空") - private String eicd; - - /** - * 单位名称 - */ - @TableField(value="name") - @Schema(description="单位名称") - @Size(max = 50,message = "单位名称最大长度要小于 50") - private String name; - - /** - * 小流域代码 - */ - @TableField(value="wscd") - @Schema(description="小流域代码") - @Size(max = 18,message = "小流域代码最大长度要小于 18") - private String wscd; - - /** - * 行政区划代码 - */ - @TableField(value="adcd") - @Schema(description="行政区划代码") - @Size(max = 15,message = "行政区划代码最大长度要小于 15") - @NotBlank(message = "行政区划代码不能为空") - private String adcd; - - /** - * 危险区代码 - */ - @TableField(value="dand") - @Schema(description="危险区代码") - @Size(max = 30,message = "危险区代码最大长度要小于 30") - private String dand; - - /** - * 经度 (°) - */ - @TableField(value="lgtd") - @Schema(description="经度 (°)") - // @Size(max = 0,message = "经度 (°)最大长度要小于 0") - private String lgtd; - - /** - * 纬度 (°) - */ - @TableField(value="lttd") - @Schema(description="纬度 (°)") - // @Size(max = 0,message = "纬度 (°)最大长度要小于 0") - private String lttd; - - /** - * 单位类别 1:事业单位,2:企业单位 - */ - @TableField(value="type") - @Schema(description="单位类别 1:事业单位,2:企业单位") - @Size(max = 1,message = "单位类别 1:事业单位,2:企业单位最大长度要小于 1") - private String type; - - /** - * 组织机构代码 - */ - @TableField(value="ocode") - @Schema(description="组织机构代码") - @Size(max = 30,message = "组织机构代码最大长度要小于 30") - private String ocode; - - /** - * 地址 - */ - @TableField(value="address") - @Schema(description="地址") - @Size(max = 50,message = "地址最大长度要小于 50") - private String address; - - /** - * 占地面积 (亩) - */ - @TableField(value="area") - @Schema(description="占地面积 (亩)") - // @Size(max = 0,message = "占地面积 (亩)最大长度要小于 0") - private String area; - - /** - * 在岗人数(人) - */ - @TableField(value="pcount") - @Schema(description="在岗人数(人)") - // @Size(max = 0,message = "在岗人数(人)最大长度要小于 0") - private Integer pcount; - - /** - * 房屋数量(座) - */ - @TableField(value="hcount") - @Schema(description="房屋数量(座)") - // @Size(max = 0,message = "房屋数量(座)最大长度要小于 0") - private Integer hcount; - - /** - * 固定资产(万元) - */ - @TableField(value="avalue") - @Schema(description="固定资产(万元)") - // @Size(max = 0,message = "固定资产(万元)最大长度要小于 0") - private String avalue; - - /** - * 年产值(万元) - */ - @TableField(value="ovalue") - @Schema(description="年产值(万元)") - // @Size(max = 0,message = "年产值(万元)最大长度要小于 0") - private String ovalue; - - /** - * 填写人姓名 - */ - @TableField(value="signer") - @Schema(description="填写人姓名") - @Size(max = 10,message = "填写人姓名最大长度要小于 10") - private String signer; - - /** - * 审核批次号 - */ - @TableField(value="audid") - @Schema(description="审核批次号") - @Size(max = 20,message = "审核批次号最大长度要小于 20") - private String audid; - - /** - * 审核状态 - */ - @TableField(value="status") - @Schema(description="审核状态") - @Size(max = 4,message = "审核状态最大长度要小于 4") - private String status; - - /** - * 备注 - */ - @TableField(value="comments") - @Schema(description="备注") - @Size(max = 200,message = "备注最大长度要小于 200") - private String comments; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/IaCDanad.java b/src/main/java/com/gunshi/project/xyt/model/IaCDanad.java deleted file mode 100644 index f75153d..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/IaCDanad.java +++ /dev/null @@ -1,204 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 危险区基本情况调查成果汇总表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="危险区基本情况调查成果汇总表") -@Data -@TableName("public.ia_c_danad") -public class IaCDanad implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 危险区代码 - */ - @TableId(value="dand", type= IdType.AUTO) - @Schema(description="危险区代码") - @Size(max = 20,message = "危险区代码最大长度要小于 20") - @NotBlank(message = "危险区代码不能为空") - private String dand; - - /** - * 危险区名称 - */ - @TableField(value="name") - @Schema(description="危险区名称") - @Size(max = 50,message = "危险区名称最大长度要小于 50") - @NotBlank(message = "危险区名称不能为空") - private String name; - - /** - * 小流域代码 - */ - @TableField(value="wscd") - @Schema(description="小流域代码") - @Size(max = 50,message = "小流域代码最大长度要小于 50") - @NotBlank(message = "小流域代码不能为空") - private String wscd; - - /** - * 行政区划代码 - */ - @TableField(value="adcd") - @Schema(description="行政区划代码") - @Size(max = 15,message = "行政区划代码最大长度要小于 15") - @NotBlank(message = "行政区划代码不能为空") - private String adcd; - - /** - * 危险区内人口(人) - */ - @TableField(value="ptcount") - @Schema(description="危险区内人口(人)") - // @Size(max = 0,message = "危险区内人口(人)最大长度要小于 0") - private Integer ptcount; - - /** - * 危险区内总户数(户) - */ - @TableField(value="etcount") - @Schema(description="危险区内总户数(户)") - // @Size(max = 0,message = "危险区内总户数(户)最大长度要小于 0") - private Integer etcount; - - /** - * 危险区内ⅰ类经济户数(户) - */ - @TableField(value="ecount1") - @Schema(description="危险区内ⅰ类经济户数(户)") - // @Size(max = 0,message = "危险区内ⅰ类经济户数(户)最大长度要小于 0") - private Integer ecount1; - - /** - * 危险区内ⅱ类经济户数(户) - */ - @TableField(value="ecount2") - @Schema(description="危险区内ⅱ类经济户数(户)") - // @Size(max = 0,message = "危险区内ⅱ类经济户数(户)最大长度要小于 0") - private Integer ecount2; - - /** - * 危险区内ⅲ类经济户数(户) - */ - @TableField(value="ecount3") - @Schema(description="危险区内ⅲ类经济户数(户)") - // @Size(max = 0,message = "危险区内ⅲ类经济户数(户)最大长度要小于 0") - private Integer ecount3; - - /** - * 危险区内ⅳ类经济户数(户) - */ - @TableField(value="ecount4") - @Schema(description="危险区内ⅳ类经济户数(户)") - // @Size(max = 0,message = "危险区内ⅳ类经济户数(户)最大长度要小于 0") - private Integer ecount4; - - /** - * 危险区内总房屋数(座) - */ - @TableField(value="htcount") - @Schema(description="危险区内总房屋数(座)") - // @Size(max = 0,message = "危险区内总房屋数(座)最大长度要小于 0") - private Integer htcount; - - /** - * 危险区内ⅰ类房屋数(座) - */ - @TableField(value="hcount1") - @Schema(description="危险区内ⅰ类房屋数(座)") - // @Size(max = 0,message = "危险区内ⅰ类房屋数(座)最大长度要小于 0") - private Integer hcount1; - - /** - * 危险区内ⅱ类房屋数(座) - */ - @TableField(value="hcount2") - @Schema(description="危险区内ⅱ类房屋数(座)") - // @Size(max = 0,message = "危险区内ⅱ类房屋数(座)最大长度要小于 0") - private Integer hcount2; - - /** - * 危险区内ⅲ类房屋数(座) - */ - @TableField(value="hcount3") - @Schema(description="危险区内ⅲ类房屋数(座)") - // @Size(max = 0,message = "危险区内ⅲ类房屋数(座)最大长度要小于 0") - private Integer hcount3; - - /** - * 危险区内ⅳ类房屋数(座) - */ - @TableField(value="hcount4") - @Schema(description="危险区内ⅳ类房屋数(座)") - // @Size(max = 0,message = "危险区内ⅳ类房屋数(座)最大长度要小于 0") - private Integer hcount4; - - /** - * 填写人姓名 - */ - @TableField(value="signer") - @Schema(description="填写人姓名") - @Size(max = 50,message = "填写人姓名最大长度要小于 50") - private String signer; - - /** - * 审核批次号 - */ - @TableField(value="audid") - @Schema(description="审核批次号") - @Size(max = 20,message = "审核批次号最大长度要小于 20") - private String audid; - - /** - * 审核状态 - */ - @TableField(value="status") - @Schema(description="审核状态") - @Size(max = 1,message = "审核状态最大长度要小于 1") - private String status; - - /** - * 备注 - */ - @TableField(value="comments") - @Schema(description="备注") - @Size(max = 200,message = "备注最大长度要小于 200") - private String comments; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - - /** - * geojson - */ - @TableField(value="geometry") - @Schema(description="geojson") - // @Size(max = 0,message = "geojson最大长度要小于 0") - private String geometry; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/IaCFlrvvlg.java b/src/main/java/com/gunshi/project/xyt/model/IaCFlrvvlg.java deleted file mode 100644 index d5a18d6..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/IaCFlrvvlg.java +++ /dev/null @@ -1,209 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 重要沿河村落居民户调查成果表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="重要沿河村落居民户调查成果表") -@Data -@TableName("public.ia_c_flrvvlg") -public class IaCFlrvvlg implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 沿河村落居民户编码 - */ - @TableId(value="avrcd", type= IdType.AUTO) - @Schema(description="沿河村落居民户编码") - @Size(max = 30,message = "沿河村落居民户编码最大长度要小于 30") - @NotBlank(message = "沿河村落居民户编码不能为空") - private String avrcd; - - /** - * 户主名称 - */ - @TableField(value="name") - @Schema(description="户主名称") - @Size(max = 50,message = "户主名称最大长度要小于 50") - private String name; - - /** - * 联系电话 - */ - @TableField(value="phone") - @Schema(description="联系电话") - private String phone; - - /** - * 行政区划代码 - */ - @TableField(value="adcd") - @Schema(description="行政区划代码") - @Size(max = 15,message = "行政区划代码最大长度要小于 15") - @NotBlank(message = "行政区划代码不能为空") - private String adcd; - - /** - * 小流域代码 - */ - @TableField(value="wscd") - @Schema(description="小流域代码") - @Size(max = 20,message = "小流域代码最大长度要小于 20") - private String wscd; - - /** - * 基准点经度 (°) - */ - @TableField(value="blgtd") - @Schema(description="基准点经度 (°) ") - // @Size(max = 0,message = "基准点经度 (°) 最大长度要小于 0") - private String blgtd; - - /** - * 基准点纬度 (°) - */ - @TableField(value="blttd") - @Schema(description="基准点纬度 (°) ") - // @Size(max = 0,message = "基准点纬度 (°) 最大长度要小于 0") - private String blttd; - - /** - * 基准点高程(m) - */ - @TableField(value="bele") - @Schema(description="基准点高程(m)") - // @Size(max = 0,message = "基准点高程(m)最大长度要小于 0") - private String bele; - - /** - * 家庭人口(人) - */ - @TableField(value="ptcount") - @Schema(description="家庭人口(人)") - // @Size(max = 0,message = "家庭人口(人)最大长度要小于 0") - private Integer ptcount; - - /** - * 建筑面积 - */ - @TableField(value="area") - @Schema(description="建筑面积") - // @Size(max = 0,message = "建筑面积最大长度要小于 0") - private String area; - - /** - * 建筑类型 住宅建筑类型分为4 类,1: 1 层住宅;2:2 层住宅;3:3 层住宅;4:3层以上住宅。 - */ - @TableField(value="btype") - @Schema(description="建筑类型 住宅建筑类型分为4 类,1: 1 层住宅;2:2 层住宅;3:3 层住宅;4:3层以上住宅。") - @Size(max = 6,message = "建筑类型 住宅建筑类型分为4 类,1: 1 层住宅;2:2 层住宅;3:3 层住宅;4:3层以上住宅。最大长度要小于 6") - private String btype; - - /** - * 结构形式 建筑根据承重的主要构件可分为 4 类,1:钢筋混凝土结构;2:混合结构;3:砖木结构;4:其他结构。 - */ - @TableField(value="stype") - @Schema(description="结构形式 建筑根据承重的主要构件可分为 4 类,1:钢筋混凝土结构;2:混合结构;3:砖木结构;4:其他结构。") - @Size(max = 7,message = "结构形式 建筑根据承重的主要构件可分为 4 类,1:钢筋混凝土结构;2:混合结构;3:砖木结构;4:其他结构。最大长度要小于 7") - private String stype; - - /** - * 宅基经度 (°) - */ - @TableField(value="lgtd") - @Schema(description="宅基经度 (°) ") - // @Size(max = 0,message = "宅基经度 (°) 最大长度要小于 0") - private String lgtd; - - /** - * 宅基纬度 (°) - */ - @TableField(value="lttd") - @Schema(description="宅基纬度 (°) ") - // @Size(max = 0,message = "宅基纬度 (°) 最大长度要小于 0") - private String lttd; - - /** - * 宅基高程(m) - */ - @TableField(value="hele") - @Schema(description="宅基高程(m)") - // @Size(max = 0,message = "宅基高程(m)最大长度要小于 0") - private String hele; - - /** - * 临水 村落居民住房是否邻近河边水流,“1”为“是”,“0”为“否”。 - */ - @TableField(value="bwater") - @Schema(description="临水 村落居民住房是否邻近河边水流,“1”为“是”,“0”为“否”。 ") - @Size(max = 8,message = "临水 村落居民住房是否邻近河边水流,“1”为“是”,“0”为“否”。 最大长度要小于 8") - private String bwater; - - /** - * 切坡 村落居民住房是否切山坡修建的,“1”为“是”,“0”为“否”。 - */ - @TableField(value="bhill") - @Schema(description="切坡 村落居民住房是否切山坡修建的,“1”为“是”,“0”为“否”。") - @Size(max = 9,message = "切坡 村落居民住房是否切山坡修建的,“1”为“是”,“0”为“否”。最大长度要小于 9") - private String bhill; - - /** - * 填写人姓名 - */ - @TableField(value="signer") - @Schema(description="填写人姓名") - @Size(max = 10,message = "填写人姓名最大长度要小于 10") - private String signer; - - /** - * 审核批次号 - */ - @TableField(value="audid") - @Schema(description="审核批次号") - @Size(max = 20,message = "审核批次号最大长度要小于 20") - private String audid; - - /** - * 审核状态 - */ - @TableField(value="status") - @Schema(description="审核状态") - @Size(max = 6,message = "审核状态最大长度要小于 6") - private String status; - - /** - * 备注 - */ - @TableField(value="comments") - @Schema(description="备注") - @Size(max = 200,message = "备注最大长度要小于 200") - private String comments; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/InspectItem.java b/src/main/java/com/gunshi/project/xyt/model/InspectItem.java deleted file mode 100644 index 1fd2703..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/InspectItem.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 巡检项 -* author: xusan -* date: 2024-08-29 09:58:09 -*/ -@Schema(description="巡检项") -@Data -@TableName("public.inspect_item") -public class InspectItem implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 巡检点id - */ - @TableField(value="point_id") - @Schema(description="巡检点id") - @JsonSerialize(using = ToStringSerializer.class) - private Long pointId; - - /** - * 巡检项描述 - */ - @TableField(value="item_desc") - @Schema(description="巡检项描述") - @Size(max = 500,message = "巡检项描述最大长度要小于 500") - private String itemDesc; - - /** - * 问题描述 - */ - @TableField(value="problem_desc") - @Schema(description="问题描述") - @Size(max = 500,message = "问题描述最大长度要小于 500") - private String problemDesc; - - /** - * 处理建议 - */ - @TableField(value="handle_suggestion") - @Schema(description="处理建议") - @Size(max = 500,message = "处理建议最大长度要小于 500") - private String handleSuggestion; - - /** - * 排序号 - */ - @TableField(value="order_index") - @Schema(description="排序号") - private Integer orderIndex; - - /** - * 状态(0启用 1停用) - */ - @TableField(value="status") - @Schema(description="状态(0启用 1停用)") - private Integer status; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/InspectPoint.java b/src/main/java/com/gunshi/project/xyt/model/InspectPoint.java deleted file mode 100644 index d1dc027..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/InspectPoint.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** -* 描述: 巡检点 -* author: xusan -* date: 2024-08-29 09:57:47 -*/ -@Schema(description="巡检点") -@Data -@TableName("public.inspect_point") -public class InspectPoint implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 名称 - */ - @TableField(value="name") - @Schema(description="名称") - @Size(max = 255,message = "名称最大长度要小于 255") - @NotBlank(message = "名称不能为空") - private String name; - - /** - * 排序 - */ - @TableField(value="order_index") - @Schema(description="排序") - private Integer orderIndex; - - @TableField(exist = false) - @Schema(description = "巡检项") - private List children; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/InspectTask.java b/src/main/java/com/gunshi/project/xyt/model/InspectTask.java deleted file mode 100644 index ba7fb08..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/InspectTask.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 巡检任务 -* author: xusan -* date: 2024-08-29 14:21:14 -*/ -@Schema(description="巡检任务") -@Data -@TableName("public.inspect_task") -public class InspectTask implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 任务类型(1日常巡查 2特别检查 3汛前巡检) - */ - @TableField(value="task_type") - @Schema(description="任务类型(1日常巡查 2特别检查 3汛前巡检)") - private Integer taskType; - - /** - * 任务标题 - */ - @TableField(value="task_title") - @Schema(description="任务标题") - @Size(max = 100,message = "任务标题最大长度要小于 100") - private String taskTitle; - - /** - * 巡查人id - */ - @TableField(value="inspect_user_id") - @Schema(description="巡查人id") - @JsonSerialize(using = ToStringSerializer.class) - private Long inspectUserId; - - /** - * 巡查人 - */ - @TableField(value="inspect_user_name") - @Schema(description="巡查人") - @Size(max = 100,message = "巡查人最大长度要小于 100") - private String inspectUserName; - - /** - * 任务内容 - */ - @TableField(value="task_content") - @Schema(description="任务内容") - @Size(max = 500,message = "任务内容最大长度要小于 500") - private String taskContent; - - /** - * 开始日期 - */ - @TableField(value="start_date") - @Schema(description="开始日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date startDate; - - /** - * 结束日期 - */ - @TableField(value="end_date") - @Schema(description="结束日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date endDate; - - /** - * 接收时间 - */ - @TableField(value="receive_time") - @Schema(description="接收时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date receiveTime; - - /** - * 完成时间 - */ - @TableField(value="finish_time") - @Schema(description="完成时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date finishTime; - - /** - * 状态(0未完成 1进行中 2已完成) - */ - @TableField(value="status") - @Schema(description="状态(0未完成 1进行中 2已完成)") - private Integer status; - - /** - * 创建人id - */ - @TableField(value="create_user_id") - @Schema(description="创建人id") - @JsonSerialize(using = ToStringSerializer.class) - private Long createUserId; - - /** - * 创建人 - */ - @TableField(value="create_user_name") - @Schema(description="创建人") - @Size(max = 100,message = "创建人最大长度要小于 100") - private String createUserName; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - @TableField(exist = false) - @Schema(description="问题数量") - private Integer problemNum = 0; - - @TableField(exist = false) - @Schema(description="待处理数量") - private Integer handleNum = 0; - - @TableField(exist = false) - @Schema(description="巡检项") - private List items; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/InspectTaskDetail.java b/src/main/java/com/gunshi/project/xyt/model/InspectTaskDetail.java deleted file mode 100644 index 379e821..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/InspectTaskDetail.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 巡查信息 -* author: xusan -* date: 2024-08-29 15:21:24 -*/ -@Schema(description="巡查信息") -@Data -@TableName("public.inspect_task_detail") -public class InspectTaskDetail implements Serializable { - - public final static String thisTableName = "InspectTaskDetail"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 任务id - */ - @TableField(value="task_id") - @Schema(description="任务id") - @JsonSerialize(using = ToStringSerializer.class) - private Long taskId; - - /** - * 巡查点id - */ - @TableField(value="point_id") - @Schema(description="巡查点id") - @JsonSerialize(using = ToStringSerializer.class) - private Long pointId; - - /** - * 巡查项id - */ - @TableField(value="item_id") - @Schema(description="巡查项id") - @JsonSerialize(using = ToStringSerializer.class) - private Long itemId; - - /** - * 是否正常(0否 1是) - */ - @TableField(value="is_normal") - @Schema(description="是否正常(0否 1是)") - private Integer isNormal; - - /** - * 巡查问题描述 - */ - @TableField(value="problem_desc") - @Schema(description="巡查问题描述") - @Size(max = 500,message = "巡查问题描述最大长度要小于 500") - private String problemDesc; - - /** - * 是否处理(0否 1是) - */ - @TableField(value="is_handle") - @Schema(description="是否处理(0否 1是)") - private Integer isHandle; - - /** - * 处理人id - */ - @TableField(value="handle_user_id") - @Schema(description="处理人id") - @JsonSerialize(using = ToStringSerializer.class) - private Long handleUserId; - - /** - * 处理人 - */ - @TableField(value="handle_user_name") - @Schema(description="处理人") - @Size(max = 100,message = "处理人最大长度要小于 100") - private String handleUserName; - - /** - * 处理描述 - */ - @TableField(value="handle_desc") - @Schema(description="处理描述") - @Size(max = 500,message = "处理描述最大长度要小于 500") - private String handleDesc; - - /** - * 处理时间 - */ - @TableField(value="handle_time") - @Schema(description="处理时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date handleTime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/InspectTaskTrack.java b/src/main/java/com/gunshi/project/xyt/model/InspectTaskTrack.java deleted file mode 100644 index eb8df30..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/InspectTaskTrack.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 巡查轨迹 -* author: xusan -* date: 2024-09-18 13:59:21 -*/ -@Schema(description="巡查轨迹") -@Data -@TableName("public.inspect_task_track") -public class InspectTaskTrack implements Serializable { - - public final static String thisTableName = "InspectTaskTrack"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 任务id - */ - @TableField(value="task_id") - @Schema(description="任务id") - @JsonSerialize(using = ToStringSerializer.class) - private Long taskId; - - /** - * 经度 (°) - */ - @TableField(value="lgtd") - @Schema(description="经度 (°)") - private BigDecimal lgtd; - - /** - * 纬度 (°) - */ - @TableField(value="lttd") - @Schema(description="纬度 (°)") - private BigDecimal lttd; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/MaintainService.java b/src/main/java/com/gunshi/project/xyt/model/MaintainService.java deleted file mode 100644 index 03f71c7..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/MaintainService.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 维修养护 -* author: xusan -* date: 2024-08-27 15:15:13 -*/ -@Schema(description="维修养护") -@Data -@TableName("public.maintain_service") -public class MaintainService implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 上报时间 - */ - @TableField(value="report_time") - @Schema(description="上报时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date reportTime; - - /** - * 管护类型(1溢洪道淸障 2除草除杂 3设备养护 4环境清洁 5危险提示 6其他) - */ - @TableField(value="maintain_type") - @Schema(description="管护类型(1溢洪道淸障 2除草除杂 3设备养护 4环境清洁 5危险提示 6其他)") - private Integer maintainType; - - /** - * 内容 - */ - @TableField(value="maintain_content") - @Schema(description="内容") - @Size(max = 500,message = "内容最大长度要小于 500") - private String maintainContent; - - /** - * 上报人id - */ - @TableField(value="report_user_id") - @Schema(description="上报人id") - private Long reportUserId; - - /** - * 上报人 - */ - @TableField(value="report_user_name") - @Schema(description="上报人") - @Size(max = 50,message = "上报人最大长度要小于 50") - private String reportUserName; - - @TableField(exist = false) - @Schema(description = "现场图片") - private List pics; - - @TableField(exist = false) - @Schema(description = "现场视频") - private List videos; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/MessageCenter.java b/src/main/java/com/gunshi/project/xyt/model/MessageCenter.java deleted file mode 100644 index cee2cc8..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/MessageCenter.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 消息中心 -* author: xusan -* date: 2024-09-19 10:39:29 -*/ -@Schema(description="消息中心") -@Data -@TableName("public.message_center") -public class MessageCenter implements Serializable { - - public final static String thisTableName = "MessageCenter"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 主题 - */ - @TableField(value="title") - @Schema(description="主题") - @Size(max = 100,message = "主题最大长度要小于 100") - private String title; - - /** - * 发布人id - */ - @TableField(value="publish_user_id") - @Schema(description="发布人id") - @JsonSerialize(using = ToStringSerializer.class) - private Long publishUserId; - - /** - * 发布人名字 - */ - @TableField(value="publish_user_name") - @Schema(description="发布人名字") - @Size(max = 100,message = "发布人名字最大长度要小于 100") - private String publishUserName; - - /** - * 发布时间 - */ - @TableField(value="publish_time") - @Schema(description="发布时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date publishTime; - - /** - * 内容 - */ - @TableField(value="content") - @Schema(description="内容") - @Size(max = 500,message = "内容最大长度要小于 500") - private String content; - - /** - * 接收人id - */ - @TableField(value="receive_user_id") - @Schema(description="接收人id") - @JsonSerialize(using = ToStringSerializer.class) - private Long receiveUserId; - - /** - * 是否已读(0否 1是) - */ - @TableField(value="status") - @Schema(description="是否已读(0否 1是)") - private Integer status; - - /** - * 类型(1超校核 2超设计 3超汛限) - */ - @TableField(value="type") - @Schema(description="类型(1超校核 2超设计 3超汛限)") - private Integer type; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/OriginMessage.java b/src/main/java/com/gunshi/project/xyt/model/OriginMessage.java deleted file mode 100644 index 6bab7e1..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OriginMessage.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; - -/** - * Description: - * Created by wanyan on 2024/8/2 - * - * @author wanyan - * @version 1.0 - */ -@Schema(description="原始报文表") -@Data -@TableName("public.origin_message") -public class OriginMessage { - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - @TableField(value="protocol") - @Schema(description="协议") - private String protocol; - - @TableField(value="address") - @Schema(description="设备地址") - private String address; - - @TableField(value="func_code") - @Schema(description="功能码") - private String funcCode; - - @TableField(value="data_time") - @Schema(description="数据时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date dataTime; - - @TableField(value="message") - @Schema(description="报文") - private String message; - - @TableField(value="tm") - @Schema(description="时间戳") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticFlowDevice.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticFlowDevice.java deleted file mode 100644 index af0999a..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticFlowDevice.java +++ /dev/null @@ -1,200 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 渗流设备表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="渗流设备表") -@Data -@TableName("public.osmotic_flow_device") -public class OsmoticFlowDevice implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测点编号 - */ - @TableId(value="station_code", type= IdType.AUTO) - @Schema(description="测点编号") - @Size(max = 50,message = "测点编号最大长度要小于 50") - @NotBlank(message = "测点编号不能为空",groups = {Insert.class, Update.class}) - private String stationCode; - - /** - * 仪器编号 - */ - @TableField(value="device_code") - @Schema(description="仪器编号") - @Size(max = 50,message = "仪器编号最大长度要小于 50") - private String deviceCode; - - /** - * 仪器名称 - */ - @TableField(value="device_name") - @Schema(description="仪器名称") - @Size(max = 50,message = "仪器名称最大长度要小于 50") - private String deviceName; - - /** - * 仪器型号 - */ - @TableField(value="model") - @Schema(description="仪器型号") - @Size(max = 50,message = "仪器型号最大长度要小于 50") - private String model; - - /** - * 所属监测断面 - */ - @TableField(value="profile_code") - @Schema(description="所属监测断面") - @Size(max = 100,message = "所属监测断面最大长度要小于 100") - private String profileCode; - - /** - * 仪器厂家 - */ - @TableField(value="manufactor") - @Schema(description="仪器厂家") - @Size(max = 100,message = "仪器厂家最大长度要小于 100") - private String manufactor; - - /** - * 测量范围 - */ - @TableField(value="measuring_range") - @Schema(description="测量范围") - @Size(max = 100,message = "测量范围最大长度要小于 100") - private String measuringRange; - - /** - * 检验气温 - */ - @TableField(value="check_temp") - @Schema(description="检验气温") - // @Size(max = 0,message = "检验气温最大长度要小于 0") - private String checkTemp; - - /** - * 检验气压 - */ - @TableField(value="check_pre") - @Schema(description="检验气压") - // @Size(max = 0,message = "检验气压最大长度要小于 0") - private String checkPre; - - /** - * 检验日期 - */ - @TableField(value="check_date") - @Schema(description="检验日期") - // @Size(max = 0,message = "检验日期最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date checkDate; - - /** - * 灵敏度 - */ - @TableField(value="sensitivity") - @Schema(description="灵敏度") - // @Size(max = 0,message = "灵敏度最大长度要小于 0") - private String sensitivity; - - /** - * 绝缘电阻 - */ - @TableField(value="in_res") - @Schema(description="绝缘电阻") - // @Size(max = 0,message = "绝缘电阻最大长度要小于 0") - private String inRes; - - /** - * 耐水压 - */ - @TableField(value="wp") - @Schema(description="耐水压") - // @Size(max = 0,message = "耐水压最大长度要小于 0") - private String wp; - - /** - * 非直线度 - */ - @TableField(value="l") - @Schema(description="非直线度") - // @Size(max = 0,message = "非直线度最大长度要小于 0") - private String l; - - /** - * 不重复度 - */ - @TableField(value="r") - @Schema(description="不重复度") - // @Size(max = 0,message = "不重复度最大长度要小于 0") - private String r; - - /** - * 滞后 - */ - @TableField(value="h") - @Schema(description="滞后") - // @Size(max = 0,message = "滞后最大长度要小于 0") - private String h; - - /** - * 综合误差 - */ - @TableField(value="ec") - @Schema(description="综合误差") - // @Size(max = 0,message = "综合误差最大长度要小于 0") - private String ec; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - // @Size(max = 0,message = "经度最大长度要小于 0") - private String lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - // @Size(max = 0,message = "纬度最大长度要小于 0") - private String lttd; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticFlowR.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticFlowR.java deleted file mode 100644 index 33a9c16..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticFlowR.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.github.jeffreyning.mybatisplus.anno.MppMultiId; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 渗流监测记录表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="渗流监测记录表") -@Data -@TableName("public.osmotic_flow_r") -public class OsmoticFlowR implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测点编码 - */ - @TableField(value="station_code") - @MppMultiId - @Schema(description="测点编码") - private String stationCode; - - /** - * 监测时间 - */ - @MppMultiId - @TableField(value="tm") - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 通道号 - */ - @TableField(value="chan") - @Schema(description="通道号") - private String chan; - - /** - * 水深 - */ - @TableField(value="l") - @Schema(description="水深") - private BigDecimal l; - - /** - * 流量 - */ - @TableField(value="q") - @Schema(description="流量") - private BigDecimal q; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticPressDevice.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticPressDevice.java deleted file mode 100644 index a763bfa..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticPressDevice.java +++ /dev/null @@ -1,237 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 渗压设备表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="渗压设备表") -@Data -@TableName("public.osmotic_press_device") -public class OsmoticPressDevice implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测点编号 - */ - @TableId(value="station_code", type= IdType.AUTO) - @Schema(description="测点编号") - @Size(max = 50,message = "测点编号最大长度要小于 50") - @NotBlank(message = "测点编号不能为空",groups = {Insert.class, Update.class}) - private String stationCode; - - /** - * 仪器编号 - */ - @TableField(value="device_code") - @Schema(description="仪器编号") - @Size(max = 50,message = "仪器编号最大长度要小于 50") - private String deviceCode; - - /** - * 仪器名称 - */ - @TableField(value="device_name") - @Schema(description="仪器名称") - @Size(max = 50,message = "仪器名称最大长度要小于 50") - private String deviceName; - - /** - * 仪器型号 - */ - @TableField(value="model") - @Schema(description="仪器型号") - @Size(max = 50,message = "仪器型号最大长度要小于 50") - private String model; - - /** - * 所属监测断面 - */ - @TableField(value="profile_code") - @Schema(description="所属监测断面") - @Size(max = 100,message = "所属监测断面最大长度要小于 100") - private String profileCode; - - /** - * 仪器厂家 - */ - @TableField(value="manufactor") - @Schema(description="仪器厂家") - @Size(max = 100,message = "仪器厂家最大长度要小于 100") - private String manufactor; - - /** - * 测量范围 - */ - @TableField(value="measuring_range") - @Schema(description="测量范围") - @Size(max = 100,message = "测量范围最大长度要小于 100") - private String measuringRange; - - /** - * 检验气温 - */ - @TableField(value="check_temp") - @Schema(description="检验气温") - // @Size(max = 0,message = "检验气温最大长度要小于 0") - private String checkTemp; - - /** - * 检验气压 - */ - @TableField(value="check_pre") - @Schema(description="检验气压") - // @Size(max = 0,message = "检验气压最大长度要小于 0") - private String checkPre; - - /** - * 无压读数 - */ - @TableField(value="no_pre") - @Schema(description="无压读数") - // @Size(max = 0,message = "无压读数最大长度要小于 0") - private String noPre; - - /** - * 检验日期 - */ - @TableField(value="check_date") - @Schema(description="检验日期") - // @Size(max = 0,message = "检验日期最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date checkDate; - - /** - * 灵敏度 - */ - @TableField(value="sensitivity") - @Schema(description="灵敏度") - // @Size(max = 0,message = "灵敏度最大长度要小于 0") - private BigDecimal sensitivity; - - /** - * 温度修正系数 - */ - @TableField(value="temp_cor_coe") - @Schema(description="温度修正系数") - // @Size(max = 0,message = "温度修正系数最大长度要小于 0") - private BigDecimal tempCorCoe; - - /** - * 温度实时测量值T - */ - @TableField(value="t") - @Schema(description="温度实时测量值T") - private BigDecimal t; - - /** - * 温度的基准值T₀ - */ - @TableField(value="t0") - @Schema(description="温度的基准值T₀") - private BigDecimal t0; - - /** - * 气压的基准值Q₀ - */ - @TableField(value="q0") - @Schema(description="气压的基准值Q₀") - private BigDecimal q0; - - /** - * 气压实时测量值Q - */ - @TableField(value="q") - @Schema(description="气压实时测量值Q") - private BigDecimal q; - - /** - * 非直线度 - */ - @TableField(value="l") - @Schema(description="非直线度") - // @Size(max = 0,message = "非直线度最大长度要小于 0") - private BigDecimal l; - - /** - * 不重复度 - */ - @TableField(value="r") - @Schema(description="不重复度") - // @Size(max = 0,message = "不重复度最大长度要小于 0") - private BigDecimal r; - - /** - * 滞后 - */ - @TableField(value="h") - @Schema(description="滞后") - // @Size(max = 0,message = "滞后最大长度要小于 0") - private BigDecimal h; - - /** - * 综合误差 - */ - @TableField(value="ec") - @Schema(description="综合误差") - // @Size(max = 0,message = "综合误差最大长度要小于 0") - private BigDecimal ec; - - /** - * 分辨力 - */ - @TableField(value="re") - @Schema(description="分辨力") - // @Size(max = 0,message = "分辨力最大长度要小于 0") - private BigDecimal re; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - // @Size(max = 0,message = "经度最大长度要小于 0") - private String lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - // @Size(max = 0,message = "纬度最大长度要小于 0") - private String lttd; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticPressR.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticPressR.java deleted file mode 100644 index 051b2ad..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticPressR.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.github.jeffreyning.mybatisplus.anno.MppMultiId; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 渗压监测记录表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="渗压监测记录表") -@Data -@TableName("public.osmotic_press_r") -public class OsmoticPressR implements Serializable { - - - private static final long serialVersionUID = 1L; - - - /** - * 测点编码 - */ - @TableField(value="station_code") - @MppMultiId - @Schema(description="测点编码") - private String stationCode; - - /** - * 监测时间 - */ - @MppMultiId - @TableField(value="tm") - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 通道号 - */ - @TableField(value="chan") - @Schema(description="通道号") - private String chan; - - /** - * 管水位 - */ - @TableField(value="value") - @Schema(description="管水位") - private BigDecimal value; - - /** - * 渗压 - */ - @TableField(value="press") - @Schema(description="渗压") - private BigDecimal press; - - /** - * 振弦 - */ - @TableField(value="vib") - @Schema(description="振弦") - private BigDecimal vib; - - /** - * 温度 - */ - @TableField(value="temp") - @Schema(description="温度") - private BigDecimal temp; - - @TableField(exist = false) - @Schema(description = "断面名称") - private String profileName; - - @TableField(exist = false) - @Schema(description = "断面编号") - private String profileCode; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftDevice.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftDevice.java deleted file mode 100644 index aba1f5e..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftDevice.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** - * 描述: 位移设备表 - * author: xusan - * date: 2024-07-08 17:34:26 - */ -@Schema(description="位移设备表") -@Data -@TableName("public.osmotic_shift_device") -public class OsmoticShiftDevice implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 测点编号 - */ - @TableId(value="station_code", type= IdType.AUTO) - @Schema(description="测点编号") - @Size(max = 50,message = "测点编号最大长度要小于 50") - @NotBlank(message = "测点编号不能为空",groups = {Insert.class, Update.class}) - private String stationCode; - - /** - * 仪器编号 - */ - @TableField(value="device_code") - @Schema(description="仪器编号") - @Size(max = 50,message = "仪器编号最大长度要小于 50") - private String deviceCode; - - /** - * 仪器名称 - */ - @TableField(value="device_name") - @Schema(description="仪器名称") - @Size(max = 50,message = "仪器名称最大长度要小于 50") - private String deviceName; - - /** - * 仪器型号 - */ - @TableField(value="model") - @Schema(description="仪器型号") - @Size(max = 50,message = "仪器型号最大长度要小于 50") - private String model; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - private BigDecimal lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - private BigDecimal lttd; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftR.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftR.java deleted file mode 100644 index 93f8756..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftR.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.github.jeffreyning.mybatisplus.anno.MppMultiId; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 位移监测记录表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="位移监测记录表") -@Data -@TableName("public.osmotic_shift_r") -public class OsmoticShiftR implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测点编码 - */ - @TableField(value="station_code") - @MppMultiId - @Schema(description="测点编码") - private String stationCode; - - /** - * 监测时间 - */ - @MppMultiId - @TableField(value="tm") - @Schema(description="监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * x方向 - */ - @TableField(value="x") - @Schema(description="x方向") - private BigDecimal x; - - /** - * y方向 - */ - @TableField(value="y") - @Schema(description="y方向") - private BigDecimal y; - - /** - * h方向 - */ - @TableField(value="h") - @Schema(description="h方向") - private BigDecimal h; - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticWarnR.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticWarnR.java deleted file mode 100644 index 9e6017b..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticWarnR.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 隐患预警记录表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="隐患预警记录表") -@Data -@TableName("public.osmotic_warn_r") -public class OsmoticWarnR implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - private Long id; - - /** - * 测点编号 - */ - @TableField(value="station_code") - @Schema(description="测点编号") - @Size(max = 32,message = "测点编号最大长度要小于 32") - private String stationCode; - - /** - * 预警规则id - */ - @TableField(value="rule_id") - @Schema(description="预警规则id") - private Long ruleId; - - /** - * 监测值 - */ - @TableField(value="value") - @Schema(description="监测值") - private BigDecimal value; - - /** - * 预警时间 - */ - @TableField(value="tm") - @Schema(description="预警时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 监测类型(1渗压 2渗流 3位移) - */ - @TableField(value="type") - @Schema(description="监测类型(1渗压 2渗流 3位移)") - private Integer type; - - /** - * 告警级别(1黄色 2红色) - */ - @TableField(value="level") - @Schema(description="告警级别(1黄色 2红色)") - private Integer level; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticWarnRule.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticWarnRule.java deleted file mode 100644 index 4310044..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticWarnRule.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.Getter; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 预警规则配置表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="预警规则配置表") -@Data -@TableName("public.osmotic_warn_rule") -public class OsmoticWarnRule implements Serializable { - - @Getter - public enum Type { - PRESS(1), FLOW(2), SHIFT(3); - - private final int type; - - Type(int type) { - this.type = type; - } - - } - - @Getter - public enum Status { - DISABLE(0), ENABLE(1); - - private final int status; - - Status(int status) { - this.status = status; - } - } - - @Getter - public enum Relation { - AND(1), OR(2); - - private final int rel; - - Relation(int rel) { - this.rel = rel; - } - - public static Relation match(int rel) { - for (Relation value : values()) { - if (value.rel == rel) { - return value; - } - } - return null; - } - } - - public enum Condition { - GT(">"), GTE(">="), LT("<"), LTE("<="), EQ("="), NE("!="); - - private final String condition; - - Condition(String condition) { - this.condition = condition; - } - - public static Condition match(String condition) { - for (Condition value : values()) { - if (value.condition.equals(condition)) { - return value; - } - } - return null; - } - } - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 测点编号 - */ - @TableField(value="station_code") - @Schema(description="测点编号") - @Size(max = 32,message = "测点编号最大长度要小于 32") - @NotBlank(message = "测点编号不能为空") - private String stationCode; - - /** - * 告警类型(1渗压监测 2渗流监测 3位移监测) - */ - @TableField(value="type") - @Schema(description="告警类型(1渗压监测 2渗流监测 3位移监测)") - private Integer type; - - /** - * 告警级别(1黄色 2红色) - */ - @TableField(value="level") - @Schema(description="告警级别(1黄色 2红色)") - private Integer level; - - /** - * 校验规则描述 - */ - @TableField(value="rule_desc") - @Schema(description="校验规则描述") - @Size(max = 32,message = "校验规则描述最大长度要小于 32") - private String ruleDesc; - - /** - * 位移方向(x,y,z) - */ - @TableField(value="direction") - @Schema(description="位移方向(x,y,h)") - private String direction; - - /** - * condition_one - */ - @TableField(value="condition_one") - @Schema(description="condition_one") - @Size(max = 32,message = "condition_one最大长度要小于 32") - private String conditionOne; - - /** - * value_one - */ - @TableField(value="value_one") - @Schema(description="value_one") - private BigDecimal valueOne; - - /** - * condition_two - */ - @TableField(value="condition_two") - @Schema(description="condition_two") - @Size(max = 32,message = "condition_two最大长度要小于 32") - private String conditionTwo; - - /** - * 1且 2或 - */ - @TableField(value="condition") - @Schema(description="1且 2或") - private Integer condition; - - /** - * value_two - */ - @TableField(value="value_two") - @Schema(description="value_two") - private BigDecimal valueTwo; - - /** - * 是否启用(0否 1是) - */ - @TableField(value="status") - @Schema(description="是否启用(0否 1是)") - private BigDecimal status; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticWaterR.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticWaterR.java deleted file mode 100644 index 8420ed0..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticWaterR.java +++ /dev/null @@ -1,501 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 水质采样记录表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水质采样记录表") -@Data -@TableName("public.osmotic_water_r") -@EqualsAndHashCode(callSuper = true) -public class OsmoticWaterR extends GenericPageParams implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - // @Size(max = 0,message = "主键最大长度要小于 0") - @NotNull(message = "主键不能为空") - private Long id; - - /** - * 采集时间 - */ - @TableField(value="tm") - @Schema(description="采集时间") - // @Size(max = 0,message = "采集时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 水温 - */ - @TableField(value="temp") - @Schema(description="水温") - // @Size(max = 0,message = "水温最大长度要小于 0") - private String temp; - - /** - * PH - */ - @TableField(value="ph") - @Schema(description="PH") - // @Size(max = 0,message = "PH最大长度要小于 0") - private String ph; - - /** - * 溶解氧 - */ - @TableField(value="bod") - @Schema(description="溶解氧") - // @Size(max = 0,message = "溶解氧最大长度要小于 0") - private String bod; - - /** - * 高锰酸钾指数 - */ - @TableField(value="mn") - @Schema(description="高锰酸钾指数") - // @Size(max = 0,message = "高锰酸钾指数最大长度要小于 0") - private String mn; - - /** - * 化学需氧量 - */ - @TableField(value="codcr") - @Schema(description="化学需氧量") - // @Size(max = 0,message = "化学需氧量最大长度要小于 0") - private String codcr; - - /** - * 五日生化需氧量 - */ - @TableField(value="bod5") - @Schema(description="五日生化需氧量") - // @Size(max = 0,message = "五日生化需氧量最大长度要小于 0") - private String bod5; - - /** - * 氨氮 - */ - @TableField(value="nh3n") - @Schema(description="氨氮") - // @Size(max = 0,message = "氨氮最大长度要小于 0") - private String nh3n; - - /** - * 总磷 - */ - @TableField(value="tp") - @Schema(description="总磷") - // @Size(max = 0,message = "总磷最大长度要小于 0") - private String tp; - - /** - * 总氮 - */ - @TableField(value="tn") - @Schema(description="总氮") - // @Size(max = 0,message = "总氮最大长度要小于 0") - private String tn; - - /** - * 铜 - */ - @TableField(value="cu") - @Schema(description="铜") - // @Size(max = 0,message = "铜最大长度要小于 0") - private String cu; - - /** - * 锌 - */ - @TableField(value="zn") - @Schema(description="锌") - // @Size(max = 0,message = "锌最大长度要小于 0") - private String zn; - - /** - * 氟化物 - */ - @TableField(value="f") - @Schema(description="氟化物") - // @Size(max = 0,message = "氟化物最大长度要小于 0") - private String f; - - /** - * 硒 - */ - @TableField(value="se") - @Schema(description="硒") - // @Size(max = 0,message = "硒最大长度要小于 0") - private String se; - - /** - * 砷 - */ - @TableField(value="arsenic") - @Schema(description="砷") - // @Size(max = 0,message = "砷最大长度要小于 0") - private String arsenic; - - /** - * 汞 - */ - @TableField(value="hg") - @Schema(description="汞") - // @Size(max = 0,message = "汞最大长度要小于 0") - private String hg; - - /** - * 镉 - */ - @TableField(value="cd") - @Schema(description="镉") - // @Size(max = 0,message = "镉最大长度要小于 0") - private String cd; - - /** - * 铬 - */ - @TableField(value="cr") - @Schema(description="铬") - // @Size(max = 0,message = "铬最大长度要小于 0") - private String cr; - - /** - * 铅 - */ - @TableField(value="pb") - @Schema(description="铅") - // @Size(max = 0,message = "铅最大长度要小于 0") - private String pb; - - /** - * 氰化物 - */ - @TableField(value="cn") - @Schema(description="氰化物 ") - // @Size(max = 0,message = "氰化物 最大长度要小于 0") - private String cn; - - /** - * 挥发酚 - */ - @TableField(value="vlph") - @Schema(description="挥发酚 ") - // @Size(max = 0,message = "挥发酚 最大长度要小于 0") - private String vlph; - - /** - * 石油类 - */ - @TableField(value="oil") - @Schema(description="石油类") - // @Size(max = 0,message = "石油类最大长度要小于 0") - private String oil; - - /** - * 阴离子表面活性剂 - */ - @TableField(value="las") - @Schema(description="阴离子表面活性剂 ") - // @Size(max = 0,message = "阴离子表面活性剂 最大长度要小于 0") - private String las; - - /** - * 硫化物 - */ - @TableField(value="s") - @Schema(description="硫化物") - // @Size(max = 0,message = "硫化物最大长度要小于 0") - private String s; - - /** - * 大肠菌群数 - */ - @TableField(value="tcg") - @Schema(description="大肠菌群数 ") - // @Size(max = 0,message = "大肠菌群数 最大长度要小于 0") - private String tcg; - - /** - * 浊度 - */ - @TableField(value="turb") - @Schema(description="浊度") - // @Size(max = 0,message = "浊度最大长度要小于 0") - private String turb; - - /** - * 电导率 - */ - @TableField(value="cond") - @Schema(description="电导率") - // @Size(max = 0,message = "电导率最大长度要小于 0") - private String cond; - - /** - * 高锰酸盐 - */ - @TableField(value="codmn") - @Schema(description="高锰酸盐") - // @Size(max = 0,message = "高锰酸盐最大长度要小于 0") - private String codmn; - - /** - * 叶绿素 - */ - @TableField(value="chla") - @Schema(description="叶绿素") - // @Size(max = 0,message = "叶绿素最大长度要小于 0") - private String chla; - - /** - * 水质类别 - */ - @TableField(value="level") - @Schema(description="水质类别") - @Size(max = 10,message = "水质类别最大长度要小于 10") - private String level; - /** - * 选择的起始时间 - */ - @Schema(description = "选择的起始时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date startTime; - - /** - * 选择的结束时间 - */ - @Schema(description = "选择的结束时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date endTime; - - /** - * PH类别 - */ - @TableField(value = "ph_level") - @Schema(description = "PH类别") - private String phLevel; - - /** - * 溶解氧类别 - */ - @TableField(value = "bod_level") - @Schema(description = "溶解氧类别") - private String bodLevel; - - /** - * 高锰酸钾类别 - */ - @TableField(value = "mn_level") - @Schema(description = "高锰酸钾类别") - private String mnLevel; - - /** - * 水温类别 - */ - @TableField(value = "temp_level") - @Schema(description = "水温类别") - private String tempLevel; - - /** - * 化学需氧量类别 - */ - @TableField(value = "codcr_level") - @Schema(description = "化学需氧量类别") - private String codcrLevel; - - /** - * 五日生化需氧量类别 - */ - @TableField(value = "bod5_level") - @Schema(description = "五日生化需氧量类别") - private String bod5Level; - - /** - * 氨氮类别 - */ - @TableField(value = "nh3n_level") - @Schema(description = "氨氮类别") - private String nh3nLevel; - - /** - * 总磷类别 - */ - @TableField(value = "tp_level") - @Schema(description = "总磷类别") - private String tpLevel; - - /** - * 总氮类别 - */ - @TableField(value = "tn_level") - @Schema(description = "总氮类别") - private String tnLevel; - - /** - * 铜类别 - */ - @TableField(value = "cu_level") - @Schema(description = "铜类别") - private String cuLevel; - - /** - * 锌类别 - */ - @TableField(value = "zn_level") - @Schema(description = "锌类别") - private String znLevel; - - /** - * 氟化物类别 - */ - @TableField(value = "f_level") - @Schema(description = "氟化物类别") - private String fLevel; - - /** - * 硒类别 - */ - @TableField(value = "se_level") - @Schema(description = "硒类别") - private String seLevel; - - /** - * 砷类别 - */ - @TableField(value = "arsenic_level") - @Schema(description = "砷类别") - private String arsenicLevel; - - /** - * 汞类别 - */ - @TableField(value = "hg_level") - @Schema(description = "汞类别") - private String hgLevel; - - /** - * 镉类别 - */ - @TableField(value = "cd_level") - @Schema(description = "镉类别") - private String cdLevel; - - /** - * 铬类别 - */ - @TableField(value = "cr_level") - @Schema(description = "铬类别") - private String crLevel; - - /** - * 铅类别 - */ - @TableField(value = "pb_level") - @Schema(description = "铅类别") - private String pbLevel; - - /** - * 氰化物类别 - */ - @TableField(value = "cn_level") - @Schema(description = "氰化物类别") - private String cnLevel; - - /** - * 挥发酚类别 - */ - @TableField(value = "vlph_level") - @Schema(description = "挥发酚类别") - private String vlphLevel; - - /** - * 石油类类别 - */ - @TableField(value = "oil_level") - @Schema(description = "石油类类别") - private String oilLevel; - - /** - * 阴离子表面活性剂类别 - */ - @TableField(value = "las_level") - @Schema(description = "阴离子表面活性剂类别") - private String lasLevel; - - /** - * 硫化物类别 - */ - @TableField(value = "s_level") - @Schema(description = "硫化物类别") - private String sLevel; - - /** - * 大肠菌群数类别 - */ - @TableField(value = "tcg_level") - @Schema(description = "大肠菌群数类别") - private String tcgLevel; - - /** - * 浊度类别 - */ - @TableField(value = "turb_level") - @Schema(description = "浊度类别") - private String turbLevel; - - /** - * 电导率类别 - */ - @TableField(value = "cond_level") - @Schema(description = "电导率类别") - private String condLevel; - - /** - * 高锰酸盐类别 - */ - @TableField(value = "codmn_level") - @Schema(description = "高锰酸盐类别") - private String codmnLevel; - - /** - * 叶绿素类别 - */ - @TableField(value = "chla_level") - @Schema(description = "叶绿素类别") - private String chlaLevel; - - /** - * 污染物及超标倍数 - */ - @TableField(value = "paem") - @Schema(description = "污染物及超标倍数") - private String paem; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticWaterRule.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticWaterRule.java deleted file mode 100644 index b26a826..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticWaterRule.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 水质质量标准规则表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水质质量标准规则表") -@Data -@TableName("public.osmotic_water_rule") -public class OsmoticWaterRule implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 项目编号 - */ - @TableId(value="code", type= IdType.AUTO) - @Schema(description="项目编号") - @Size(max = 20,message = "项目编号最大长度要小于 20") - @NotBlank(message = "项目编号不能为空") - private String code; - - /** - * 项目名称 - */ - @TableField(value="name") - @Schema(description="项目名称") - @Size(max = 20,message = "项目名称最大长度要小于 20") - private String name; - - /** - * 条件 - */ - @TableField(value="condition") - @Schema(description="条件") - @Size(max = 20,message = "条件最大长度要小于 20") - private String condition; - - /** - * I - */ - @TableField(value="one") - @Schema(description="I") - // @Size(max = 0,message = "I最大长度要小于 0") - private String one; - - /** - * II - */ - @TableField(value="two") - @Schema(description="II") - // @Size(max = 0,message = "II最大长度要小于 0") - private String two; - - /** - * III - */ - @TableField(value="three") - @Schema(description="III") - // @Size(max = 0,message = "III最大长度要小于 0") - private String three; - - /** - * IV - */ - @TableField(value="four") - @Schema(description="IV") - // @Size(max = 0,message = "IV最大长度要小于 0") - private String four; - - /** - * V - */ - @TableField(value="five") - @Schema(description="V") - // @Size(max = 0,message = "V最大长度要小于 0") - private String five; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/PersonnelPlan.java b/src/main/java/com/gunshi/project/xyt/model/PersonnelPlan.java deleted file mode 100644 index 15fee12..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/PersonnelPlan.java +++ /dev/null @@ -1,216 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import com.ruoyi.common.annotation.Excel; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Pattern; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Schema(description="培训计划表") -@Accessors(chain = true) // chain = true 实现链式调用 -@Data -@TableName("public.personnel_plan") -public class PersonnelPlan extends CommUpdate implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 培训班名称 - */ - @Excel(name = "培训班名称",sort = 1) - @TableField(value="name") - @Schema(description="培训班名称") - @Size(max = 30,message = "培训班名称最大长度要小于 30") - @NotBlank(message = "培训班名称不能为空",groups = {Insert.class, Update.class}) - private String name; - - /** - * 培训主题分类,0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他 - */ - @TableField(value="type") - @Excel(name = "培训主题",sort = 2,readConverterExp = "1=水利,2=岗前培训,3=在岗培训,4=政治学习教育,5=其他") - @Schema(description="培训主题分类,1:水利,2:岗前培训,3:在岗培训,4:政治学习教育,5:其他") - @NotNull(message = "培训主题不能为空",groups = {Insert.class, Update.class}) - @Pattern(regexp = "^[0-4]$", message = "培训主题分类应为:1:水利,2:岗前培训,3:在岗培训,4:政治学习教育,5:其他") - private Integer type; - - /** - * 主办单位 - */ - @Excel(name = "主办单位",sort = 5) - @TableField(value="unit") - @Schema(description="主办单位") - @Size(max = 100,message = "主办单位最大长度要小于 100") - @NotBlank(message = "主办单位不能为空",groups = {Insert.class, Update.class}) - private String unit; - - /** - * 开始培训时间 - */ - @Excel(name = "开始培训时间",sort = 3,dateFormat = DateFormatString.YYYY_MM_DD) - @Schema(description="开始培训时间 格式:yyyy-MM-dd") - @NotNull(message = "开始培训时间不能为空") - @TableField(value="stm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date stm; - - /** - * 结束培训时间 - */ - @Excel(name = "结束培训时间",sort = 4,dateFormat = DateFormatString.YYYY_MM_DD) - @Schema(description="结束培训时间 格式:yyyy-MM-dd") - @NotNull(message = "结束培训时间不能为空") - @TableField(value="etm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date etm; - - /** - * 培训天数(天) - */ - @Excel(name = "培训天数(天)",sort = 9) - @Schema(description="培训天数(天)") - @TableField(value="day") - private Integer day; - - /** - * 培训期数(期) - */ - @Excel(name = "培训期数(期)",sort = 8) - @Schema(description="培训期数(期)") - @TableField(value="num") - private Integer num; - - /** - * 培训地点 - */ - @Excel(name = "培训地点",sort = 7) - @Schema(description="培训地点") - @TableField(value="addr") - @Size(max = 200,message = "主办单位最大长度要小于 200") - @NotBlank(message = "培训地点不能为空",groups = {Insert.class, Update.class}) - private String addr; - - /** - * 培训内容 - */ - @Excel(name = "培训内容",sort = 6) - @Schema(description="培训内容") - @TableField(value="content") - @Size(max = 500,message = "培训内容最大长度要小于 500") - @NotBlank(message = "培训内容不能为空",groups = {Insert.class, Update.class}) - private String content; - - /** - * 培训范围 - */ - @Excel(name = "培训范围",sort = 10) - @Schema(description="培训范围") - @TableField(value="scope") - @Size(max = 500,message = "培训范围最大长度要小于 500") - @NotBlank(message = "培训范围不能为空",groups = {Insert.class, Update.class}) - private String scope; - - /** - * 参训人员 - */ - @Excel(name = "参训人员",sort = 11) - @Schema(description="参训人员") - @TableField(value="trainees") - @Size(max = 200,message = "参训人员最大长度要小于 200") - private String trainees; - - /** - * 参训人数(人) - */ - @Excel(name = "参训人数(人)",sort = 12) - @Schema(description="参训人数(人)") - @TableField(value="num_people") - @Size(max = 200,message = "参训人员最大长度要小于 200") - @NotNull(message = "参训人数不能为空",groups = {Insert.class, Update.class}) - private Integer numPeople; - - /** - * 联系人 - */ - @Excel(name = "联系人",sort = 13) - @Schema(description="联系人") - @TableField(value="contacts") - @Size(max = 50,message = "联系人最大长度要小于 50") - private String contacts; - - /** - * 联系电话 - */ - @Excel(name = "联系电话",sort = 14) - @Schema(description="联系电话") - @TableField(value="contact_number") - @Size(max = 30,message = "联系电话最大长度要小于 30") - private String contactNumber; - - /** - * 填报人 - */ - @Schema(description="填报人") - @TableField(value="applicant") - @Size(max = 50,message = "填报人最大长度要小于 50") - @Excel(name = "填报人",sort = 7) - private String applicant; - - /** - * 状态 - */ - @Schema(description="状态 0:无效 1:有效") - @TableField(value="status") - @Size(max = 2,message = "状态最大长度要小于 2") - @NotNull(message = "状态不能为空",groups = {Insert.class, Update.class}) - @Pattern(regexp = "^[0-1]$", message = "状态应为:0:无效 1:有效") - private Integer status; - - /** - * 登记日期 - */ - @Schema(description="登记日期") - @TableField(value="reg_date") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date regDate; - - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/PersonnelPlanLog.java b/src/main/java/com/gunshi/project/xyt/model/PersonnelPlanLog.java deleted file mode 100644 index e3aaccf..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/PersonnelPlanLog.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Pattern; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Schema(description="培训记录表") -@Data -@TableName("public.personnel_plan_log") -public class PersonnelPlanLog extends CommUpdate implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 培训计划主键 - */ - @TableField(value="plan_id") - @Schema(description="培训计划主键") - @JsonSerialize(using = ToStringSerializer.class) -// @NotNull(message = "培训计划不能为空",groups = {Insert.class, Update.class}) - private Long planId; - - /** - * 培训日期 - */ - @TableField(value="plan_date") - @Schema(description="培训日期 格式:yyyy-MM-dd") - @NotNull(message = "培训日期不能为空",groups = {Insert.class, Update.class}) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date planDate; - - /** - * 标题名称 - */ - @TableField(value="name") - @Schema(description="标题名称") - @Size(max = 30,message = "标题名称最大长度要小于 30") - @NotBlank(message = "标题名称不能为空",groups = {Insert.class, Update.class}) - private String name; - - /** - * 培训分类,0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他 - */ - @TableField(value="type") - @Schema(description="培训分类,0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他") - @Pattern(regexp = "^[0-4]$", message = "培训主题分类应为:0:水利,1:岗前培训,2:在岗培训,3:政治学习教育,4:其他") - private Integer type; - - - /** - * 开始培训时间 - */ - @Schema(description="培训时段开始时间 格式:HH:mm:ss") - @TableField(value="stm") - @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8") - private Date stm; - - /** - * 结束培训时间 - */ - @Schema(description="培训时段结束时间 格式:HH:mm:ss") - @TableField(value="etm") - @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8") - private Date etm; - - /** - * 培训时长(小时) - */ - @Schema(description="培训时长(小时)") - @TableField(value="hour") - private Integer hour; - - /** - * 培训地点 - */ - @Schema(description="培训地点") - @TableField(value="addr") - @Size(max = 200,message = "主办单位最大长度要小于 200") - @NotBlank(message = "培训地点不能为空",groups = {Insert.class, Update.class}) - private String addr; - - /** - * 主办单位 - */ - @TableField(value="unit") - @Schema(description="主办单位") - @Size(max = 100,message = "主办单位最大长度要小于 100") - @NotBlank(message = "主办单位不能为空",groups = {Insert.class, Update.class}) - private String unit; - - - /** - * 培训内容 - */ - @Schema(description="培训内容") - @TableField(value="content") - @Size(max = 500,message = "培训内容最大长度要小于 500") - @NotBlank(message = "培训内容不能为空",groups = {Insert.class, Update.class}) - private String content; - - /** - * 参训人员 - */ - @Schema(description="参训人员") - @TableField(value="trainees") - @Size(max = 200,message = "参训人员最大长度要小于 200") - private String trainees; - - /** - * 参训人数(人) - */ - @Schema(description="参训人数(人)") - @TableField(value="num_people") - @Size(max = 200,message = "参训人员最大长度要小于 200") - @NotNull(message = "参训人数不能为空",groups = {Insert.class, Update.class}) - private Integer numPeople; - - /** - * 填报人 - */ - @Schema(description="填报人") - @TableField(value="applicant") - @Size(max = 50,message = "填报人最大长度要小于 50") - private String applicant; - - /** - * 登记日期 - */ - @Schema(description="登记日期") - @TableField(value="reg_date") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date regDate; - - @TableField(exist = false) - @Schema(description = "签到培训表") - private List files1; - - @TableField(exist = false) - @Schema(description = "附件") - private List files2; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ProjectEvents.java b/src/main/java/com/gunshi/project/xyt/model/ProjectEvents.java deleted file mode 100644 index 3576334..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ProjectEvents.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * 工程大事记 - */ -@Schema(description="工程大事记") -@Data -@TableName(value = "public.project_events") -public class ProjectEvents implements Serializable { - /** - * 主键 - */ - @TableId(value = "id", type = IdType.INPUT) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - @TableField(value = "name") - @Schema(description="名称") - @NotEmpty(message = "名称不可为空",groups = {Insert.class,Update.class}) - private String name; - - /** - * 发生日期 - */ - @TableField(value = "events_date") - @Schema(description="发生日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - @NotNull(message = "日期不能为空",groups = {Insert.class,Update.class}) - private Date eventsDate; - - /** - * 类型(1综合大事记 2专题大事记) - */ - @TableField(value = "events_type") - @Schema(description="类型(1综合大事记 2专题大事记)") - private Integer eventsType; - - - @TableField(value = "events_desc") - @Schema(description="事件内容描述") - @NotEmpty(message = "事件内容描述不可为空",groups = {Insert.class,Update.class}) - private String eventsDesc; - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; - - private static final long serialVersionUID = 1L; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/ResBriefR.java b/src/main/java/com/gunshi/project/xyt/model/ResBriefR.java deleted file mode 100644 index 3357691..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ResBriefR.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.text.SimpleDateFormat; -import java.util.Date; - -/** - * @author lyf - * @since 2025-04-25 - */ -@Data -@TableName("public.res_brief_r") -@Slf4j -public class ResBriefR { - @TableId(value="id", type= IdType.AUTO) - private Integer id; - @TableField - private BigDecimal drp24Sum; - @TableField - private String sumStnm; - @TableField - private BigDecimal drp24Max; - @TableField - private String maxStnm; - @TableField - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date maxTm; - @TableField - private BigDecimal rz8; - @TableField - private BigDecimal rzYesterday8; - @TableField - private BigDecimal w; - @TableField - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date date; - @TableField - //设计洪水位 - private BigDecimal flLowLimLev; - @TableField(exist = false) - private String brief; - - public String getBrief() { - - SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日"); - SimpleDateFormat sdf2 = new SimpleDateFormat("dd日HH时"); - BigDecimal gap; - if (rz8 != null && rzYesterday8 != null) { - gap = rz8.subtract(rzYesterday8); - } else { - gap = null; - } - String dir; - if (gap != null && gap.compareTo(BigDecimal.ZERO) > 0) { - dir = "上涨"; - } else if (gap != null && gap.compareTo(BigDecimal.ZERO) < 0) { - dir = "下跌"; - } else { - dir = "上涨"; - } - return String.format("%s08时,过去24小时最大累计降雨量%smm(%s),最大点雨量%smm/h(%s,%s)。当前水库水位%sm(汛限水位%sm),较昨日%s%sm,库容达%s万m³", - date == null ? "" : sdf1.format(date), - drp24Sum == null ? "" : drp24Sum.setScale(1, RoundingMode.DOWN), - sumStnm == null ? "" : sumStnm, - drp24Max == null ? "" : drp24Max.setScale(1, RoundingMode.DOWN), - maxStnm == null ? "" : maxStnm, - maxTm == null ? "" : sdf2.format(maxTm), - rz8 == null ? "" : rz8.setScale(2, RoundingMode.DOWN), - flLowLimLev == null ? "" : flLowLimLev.setScale(0, RoundingMode.DOWN), - gap == null ? "" :dir, - gap == null ? "" : gap.setScale(2, RoundingMode.DOWN), - w == null ? "" : w.setScale(2, RoundingMode.DOWN) - ); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ResFloodRoad.java b/src/main/java/com/gunshi/project/xyt/model/ResFloodRoad.java deleted file mode 100644 index fb2ec19..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ResFloodRoad.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* 描述: 防汛道路 -* author: xusan -* date: 2024-11-14 10:37:15 -*/ -@Schema(description="防汛道路") -@Data -@TableName("public.res_flood_road") -public class ResFloodRoad implements Serializable { - - public final static String thisTableName = "ResFloodRoad"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 水库代码 - */ - @TableField(value="res_code") - @Schema(description="水库代码") - @Size(max = 32,message = "水库代码最大长度要小于 32") - private String resCode; - - /** - * 名称 - */ - @TableField(value="name") - @Schema(description="名称") - @Size(max = 30,message = "名称最大长度要小于 30") - private String name; - - /** - * 防汛路长度 - */ - @TableField(value="flood_road_len") - @Schema(description="防汛路长度") - private BigDecimal floodRoadLen; - - /** - * 路面宽度 - */ - @TableField(value="road_width") - @Schema(description="路面宽度") - @Size(max = 30,message = "路面宽度最大长度要小于 30") - private String roadWidth; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/ResMangUnit.java b/src/main/java/com/gunshi/project/xyt/model/ResMangUnit.java deleted file mode 100644 index 3fdaec8..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ResMangUnit.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 水库管理单位表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水库管理单位表") -@Data -@TableName("public.res_mang_unit") -public class ResMangUnit implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - private Long id; - - /** - * 水库代码 - */ - @TableField(value="res_code") - @Schema(description="水库代码") - @Size(max = 32,message = "水库代码最大长度要小于 32") - @NotBlank(message = "水库代码不能为空") - private String resCode; - - /** - * 管理单位名称 - */ - @TableField(value="mang_unit_name") - @Schema(description="管理单位名称") - @Size(max = 50,message = "管理单位名称最大长度要小于 50") - private String mangUnitName; - - /** - * 单位性质(1公益林 2民间组织 3企业 4其他) - */ - @TableField(value="type") - @Schema(description="单位性质(1公益林 2民间组织 3企业 4其他)") - // @Size(max = 0,message = "单位性质(1公益林 2民间组织 3企业 4其他)最大长度要小于 0") - private Integer type; - - /** - * 职工人数 - */ - @TableField(value="person_num") - @Schema(description="职工人数") - // @Size(max = 0,message = "职工人数最大长度要小于 0") - private Integer personNum; - - /** - * 人员经费来源 - */ - @TableField(value="person_funds_source") - @Schema(description="人员经费来源") - // @Size(max = 0,message = "人员经费来源最大长度要小于 0") - private Integer personFundsSource; - - /** - * 维修养护经费来源 - */ - @TableField(value="repair_funds_source") - @Schema(description="维修养护经费来源") - // @Size(max = 0,message = "维修养护经费来源最大长度要小于 0") - private Integer repairFundsSource; - - /** - * 行政主管单位 - */ - @TableField(value="adm_unit") - @Schema(description="行政主管单位") - @Size(max = 50,message = "行政主管单位最大长度要小于 50") - private String admUnit; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/ResMonthEcoFlow.java b/src/main/java/com/gunshi/project/xyt/model/ResMonthEcoFlow.java deleted file mode 100644 index 37356b3..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ResMonthEcoFlow.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 水库月核定生态流量表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水库月核定生态流量表") -@Data -@TableName("public.res_month_eco_flow") -@Accessors(chain = true) // chain = true 实现链式调用 -public class ResMonthEcoFlow implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - private Long id; - - /** - * 水库代码 - */ - @TableField(value="res_code") - @Schema(description="水库代码") - @Size(max = 32,message = "水库代码最大长度要小于 32",groups = {Update.class, Insert.class}) - @NotBlank(message = "水库代码不能为空",groups = {Update.class, Insert.class}) - private String resCode; - - /** - * 月份 - */ - @TableField(value="month") - @Schema(description="月份") - // @Size(max = 0,message = "月份最大长度要小于 0") - private Integer month; - - /** - * 流量 - */ - @TableField(value="value") - @Schema(description="流量") - // @Size(max = 0,message = "流量最大长度要小于 0") - private BigDecimal value; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/ResPerson.java b/src/main/java/com/gunshi/project/xyt/model/ResPerson.java deleted file mode 100644 index 289ceb3..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ResPerson.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Schema(description="责任人表") -@Data -@TableName("public.res_person") -public class ResPerson extends CommUpdate implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 名字 - */ - @TableField(value="name") - @Schema(description="名字") - @Size(max = 30,message = "名字最大长度要小于 30") - @NotBlank(message = "姓名不能为空") - private String name; - - /** - * 类型,0:行政,1:主管部门,2:管理单位,3:巡查,4:技术 - */ - @TableField(value="type") - @Schema(description="类型,0:行政,1:主管部门,2:管理单位,3:巡查,4:技术") - @NotNull(message = "责任类型不能为空") - private Integer type; - - /** - * 单位 - */ - @TableField(value="unit") - @Schema(description="单位") - @Size(max = 50,message = "单位最大长度要小于 50") - private String unit; - - /** - * 职务 - */ - @TableField(value="duty") - @Schema(description="职务") - @Size(max = 50,message = "职务最大长度要小于 50") - private String duty; - - /** - * 联系方式 - */ - @TableField(value="contact_info") - @Schema(description="联系方式") - @Size(max = 100,message = "联系方式最大长度要小于 100") - private String contactInfo; - - /** - * 职责范围 - */ - @TableField(value="duty_bound") - @Schema(description="职责范围") - @Size(max = 200,message = "职责范围最大长度要小于 200") - private String dutyBound; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/ResPlanB.java b/src/main/java/com/gunshi/project/xyt/model/ResPlanB.java deleted file mode 100644 index 512b5b9..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ResPlanB.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 水库预案表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水库预案表") -@Data -@TableName("public.res_plan_b") -public class ResPlanB implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - @JsonSerialize(using = ToStringSerializer.class) - @JsonFormat(shape = JsonFormat.Shape.STRING) - private Long id; - - /** - * 水库代码 - */ - @TableField(value="res_code") - @Schema(description="水库代码") - @Size(max = 32,message = "水库代码最大长度要小于 32") - @NotBlank(message = "水库代码不能为空") - private String resCode; - - /** - * 预案/调度规程名称 - */ - @TableField(value="plan_name") - @Schema(description="预案/调度规程名称") - @Size(max = 50,message = "预案/调度规程名称最大长度要小于 50") - private String planName; - - /** - * 编制时间 - */ - @TableField(value="prep_time") - @Schema(description="编制时间") - // @Size(max = 0,message = "编制时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date prepTime; - - /** - * 编制单位 - */ - @TableField(value="prep_org") - @Schema(description="编制单位") - @Size(max = 30,message = "编制单位最大长度要小于 30") - private String prepOrg; - - /** - * 批复时间 - */ - @TableField(value="appr_time") - @Schema(description="批复时间") - // @Size(max = 0,message = "批复时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date apprTime; - - /** - * 批复部门 - */ - @TableField(value="appr_org") - @Schema(description="批复部门") - @Size(max = 30,message = "批复部门最大长度要小于 30") - private String apprOrg; - - /** - * 文件id - */ - @TableField(value="file_id") - @Schema(description="文件id") - // @Size(max = 0,message = "文件id最大长度要小于 0") - private Long fileId; - - /** - * 类型(1防汛预案 2调度规程) - */ - @TableField(value="type") - @Schema(description="类型(1防汛预案 2调度规程)") - // @Size(max = 0,message = "类型(1防汛预案 2调度规程)最大长度要小于 0") - private Integer type; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/ResProjectImg.java b/src/main/java/com/gunshi/project/xyt/model/ResProjectImg.java deleted file mode 100644 index caaab07..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ResProjectImg.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 水库工程图片 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水库工程图片") -@Data -@TableName("public.res_project_img") -public class ResProjectImg implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - // @Size(max = 0,message = "主键最大长度要小于 0") - @NotNull(message = "主键不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 水库代码 - */ - @TableField(value="res_code") - @Schema(description="水库代码") - @Size(max = 32,message = "水库代码最大长度要小于 32") - @NotBlank(message = "水库代码不能为空") - private String resCode; - - /** - * 序号 - */ - @TableField(value="sort_on") - @Schema(description="序号") - // @Size(max = 0,message = "序号最大长度要小于 0") - private Integer sortOn; - - /** - * 工程图片类别 1:枢纽全景彩照 2:枢纽平面配置图 3:泄水建筑物设计图及现场图片 4:主坝设计图及现场照片 5:输水建筑物设计图及现场照片 9:其他图纸和照片 - */ - @TableField(value="proj_type") - @Schema(description="工程图片类别 1:枢纽全景彩照 2:枢纽平面配置图 3:泄水建筑物设计图及现场图片 4:主坝设计图及现场照片 5:输水建筑物设计图及现场照片 9:其他图纸和照片") - // @Size(max = 0,message = "工程图片类别 1:枢纽全景彩照 2:枢纽平面配置图 3:泄水建筑物设计图及现场图片 4:主坝设计图及现场照片 5:输水建筑物设计图及现场照片 9:其他图纸和照片最大长度要小于 0") - private Integer projType; - - /** - * 工程图片类别 1:枢纽全景彩照 2:枢纽平面配置图 3:泄水建筑物设计图及现场图片 4:主坝设计图及现场照片 5:输水建筑物设计图及现场照片 9:其他图纸和照片 - */ - @TableField(value="proj_type_str") - @Schema(description="工程图片类别 枢纽全景彩照 枢纽平面配置图 泄水建筑物设计图及现场图片 主坝设计图及现场照片 输水建筑物设计图及现场照片 其他图纸和照片") - private String projTypeStr; - - /** - * 文件id - */ - @TableField(value="file_id") - @Schema(description="文件id") - // @Size(max = 0,message = "文件id最大长度要小于 0") - private Long fileId; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/ResSafePersonB.java b/src/main/java/com/gunshi/project/xyt/model/ResSafePersonB.java deleted file mode 100644 index 8467138..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ResSafePersonB.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 水库责任体系表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水库责任体系表") -@Data -@TableName("public.res_safe_person_b") -public class ResSafePersonB implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - // @Size(max = 0,message = "主键最大长度要小于 0") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 水库代码 - */ - @TableField(value="res_code") - @Schema(description="水库代码") - @Size(max = 32,message = "水库代码最大长度要小于 32") - @NotBlank(message = "水库代码不能为空") - private String resCode; - - /** - * 责任人类型 1:行政责任人 2:技术责任人 3:巡查责任人 4:主管部门责任人 5:管理单位责任人 - */ - @TableField(value="rep_type") - @Schema(description="责任人类型 1:行政责任人 2:技术责任人 3:巡查责任人 4:主管部门责任人 5:管理单位责任人") - // @Size(max = 0,message = "责任人类型 1:行政责任人 2:技术责任人 3:巡查责任人 4:主管部门责任人 5:管理单位责任人最大长度要小于 0") - private Integer repType; - - /** - * 姓名 - */ - @TableField(value="person_name") - @Schema(description="姓名") - @Size(max = 20,message = "姓名最大长度要小于 20") - private String personName; - - /** - * 单位 - */ - @TableField(value="org_name") - @Schema(description="单位") - @Size(max = 20,message = "单位最大长度要小于 20") - private String orgName; - - /** - * 职务 - */ - @TableField(value="position") - @Schema(description="职务") - @Size(max = 20,message = "职务最大长度要小于 20") - private String position; - - /** - * 联系方式 - */ - @TableField(value="tel") - @Schema(description="联系方式") - @Size(max = 20,message = "联系方式最大长度要小于 20") - private String tel; - - /** - * 序号 - */ - @TableField(value="sort_on") - @Schema(description="序号") - // @Size(max = 0,message = "序号最大长度要小于 0") - private Integer sortOn; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/ResTunnel.java b/src/main/java/com/gunshi/project/xyt/model/ResTunnel.java deleted file mode 100644 index f4d7a0d..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ResTunnel.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* 描述: 水库建筑物 - 放空洞/灌溉发电洞 -* author: xusan -* date: 2024-11-14 10:34:11 -*/ -@Schema(description="水库建筑物 - 放空洞/灌溉发电洞") -@Data -@TableName("public.res_tunnel") -public class ResTunnel implements Serializable { - - public final static String thisTableName = "ResTunnel"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 水库代码 - */ - @TableField(value="res_code") - @Schema(description="水库代码") - @Size(max = 32,message = "水库代码最大长度要小于 32") - private String resCode; - - /** - * 建筑物名称 - */ - @TableField(value="name") - @Schema(description="建筑物名称") - @Size(max = 30,message = "建筑物名称最大长度要小于 30") - private String name; - - /** - * 型式 - */ - @TableField(value="build_type") - @Schema(description="型式") - @Size(max = 30,message = "型式最大长度要小于 30") - private String buildType; - - /** - * 衬砌型式 - */ - @TableField(value="lining_type") - @Schema(description="衬砌型式") - @Size(max = 30,message = "衬砌型式最大长度要小于 30") - private String liningType; - - /** - * 地基特性 - */ - @TableField(value="found_character") - @Schema(description="地基特性") - @Size(max = 30,message = "地基特性最大长度要小于 30") - private String foundCharacter; - - /** - * 进口底板高程(m) - */ - @TableField(value="inlet_ele") - @Schema(description="进口底板高程(m)") - private BigDecimal inletEle; - - /** - * 断面尺寸 - */ - @TableField(value="section_size") - @Schema(description="断面尺寸") - private BigDecimal sectionSize; - - /** - * 洞长 - */ - @TableField(value="tunnel_len") - @Schema(description="洞长") - private BigDecimal tunnelLen; - - /** - * 设计流量(m3/s) - */ - @TableField(value="des_q") - @Schema(description="设计流量(m3/s)") - private BigDecimal desQ; - - /** - * 进口闸门型式 - */ - @TableField(value="valve_type") - @Schema(description="进口闸门型式") - @Size(max = 30,message = "进口闸门型式最大长度要小于 30") - private String valveType; - - /** - * 进口启闭机型式 - */ - @TableField(value="oc_type") - @Schema(description="进口启闭机型式") - @Size(max = 18,message = "进口启闭机型式最大长度要小于 18") - private String ocType; - - /** - * 类型(1放空洞 2灌溉发电洞) - */ - @TableField(value="type") - @Schema(description="类型(1放空洞 2灌溉发电洞)") - private Integer type; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RescueGoodsB.java b/src/main/java/com/gunshi/project/xyt/model/RescueGoodsB.java deleted file mode 100644 index 6f7355f..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/RescueGoodsB.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.service.AbstractModelWithAttachService; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** - * 抢险物资 - */ -@Schema(description="抢险物资") -@Data -@TableName(value = "public.rescue_goods_b") -public class RescueGoodsB implements Serializable, AbstractModelWithAttachService.GetFileIds { - /** - * 主键 - */ - @TableId(value = "goods_id", type = IdType.INPUT) - @Schema(description="主键") - @NotNull(message = "主键不能为空", groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long goodsId; - - /** - * 物资名称 - */ - @TableField(value = "goods_name") - @Schema(description="物资名称") - @Size(max = 100,message = "物资名称最大长度要小于 100") - @NotEmpty(message = "物资名称不能为空", groups = {Insert.class, Update.class}) - private String goodsName; - - /** - * 物资类型(1抢险物资 2救生器材) - */ - @TableField(value = "goods_type") - @Schema(description="物资类型(1抢险物资 2救生器材)") - @NotNull(message = "物资类型不能为空", groups = {Insert.class, Update.class}) - private Integer goodsType; - - /** - * 规格 - */ - @TableField(value = "specs") - @Schema(description="规格") - private String specs; - - /** - * 单位(1个 2件 3米 4把 5台 6套 7副 8箱 9卷 10立方米 11平方米) - */ - @TableField(value = "unit") - @Schema(description="单位(1个 2件 3米 4把 5台 6套 7副 8箱 9卷 10立方米 11平方米)") - private Integer unit; - - /** - * 库存数量 - */ - @TableField(value = "store_quantity") - @Schema(description="库存数量") - @NotNull(message = "库存数量不能为空", groups = {Insert.class, Update.class}) - private BigDecimal storeQuantity; - - /** - * 存放地点 - */ - @TableField(value = "store_location") - @Schema(description="存放地点") - private String storeLocation; - - /** - * 联系人 - */ - @TableField(value = "contact_person") - @Schema(description="联系人") - @Size(max = 150,message = "联系人最大长度要小于 150", groups = {Insert.class, Update.class}) - private String contactPerson; - - /** - * 联系电话 - */ - @TableField(value = "phone") - @Schema(description="联系电话") - @Size(max = 20,message = "联系电话最大长度要小于 20", groups = {Insert.class, Update.class}) - private String phone; - - - /** - * 时间戳 - */ - @TableField(value = "tm") - @Schema(description="时间戳") - @NotNull(message = "时间戳不能为空") - private Date tm; - - @TableField(exist = false) - @Schema(description = "文件id集合") - private List fileIds; - - - private static final long serialVersionUID = 1L; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RescueGoodsFile.java b/src/main/java/com/gunshi/project/xyt/model/RescueGoodsFile.java deleted file mode 100644 index e280e10..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/RescueGoodsFile.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * 抢险物资-附件 - */ -@Schema(description="抢险物资-附件") -@Data -@TableName(value = "public.rescue_goods_file") -public class RescueGoodsFile implements Serializable { - /** - * 主键 - */ - @TableId(value = "id", type = IdType.INPUT) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - private Long id; - - /** - * 抢险物资id - */ - @TableField(value = "goods_id") - @Schema(description="抢险物资id") - private Long goodsId; - - /** - * 文件id - */ - @TableField(value = "file_id") - @Schema(description="文件id") - @JsonSerialize(using = ToStringSerializer.class) - private Long fileId; - - /** - * 序号 - */ - @TableField(value = "sort_on") - @Schema(description="序号") - private Integer sortOn; - - /** - * 时间戳 - */ - @TableField(value = "tm") - @Schema(description="时间戳") - @NotNull(message = "时间戳不能为空") - private Date tm; - - private static final long serialVersionUID = 1L; - - public static final String COL_ID = "id"; - - public static final String COL_GOODS_ID = "goods_id"; - - public static final String COL_FILE_ID = "file_id"; - - public static final String COL_SORT_ON = "sort_on"; - - public static final String COL_TM = "tm"; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RescueTeamB.java b/src/main/java/com/gunshi/project/xyt/model/RescueTeamB.java deleted file mode 100644 index 37ad8a9..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/RescueTeamB.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.service.AbstractModelWithAttachService; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 抢险队伍 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="抢险队伍") -@Data -@TableName("public.rescue_team_b") -public class RescueTeamB implements Serializable, AbstractModelWithAttachService.GetFileIds { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="team_id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long teamId; - - /** - * 队伍名称 - */ - @TableField(value="team_name") - @Schema(description="队伍名称") - @Size(max = 100,message = "队伍名称最大长度要小于 100") - private String teamName; - - /** - * 地址 - */ - @TableField(value="address") - @Schema(description="地址") - @Size(max = 150,message = "地址最大长度要小于 150") - private String address; - - /** - * 经度 (°) - */ - @TableField(value="lgtd") - @Schema(description="经度 (°)") - private BigDecimal lgtd; - - /** - * 纬度 (°) - */ - @TableField(value="lttd") - @Schema(description="纬度 (°)") - private BigDecimal lttd; - - /** - * 管理单位 - */ - @TableField(value="management_unit") - @Schema(description="管理单位") - @Size(max = 150,message = "管理单位最大长度要小于 150") - private String managementUnit; - - /** - * 队伍负责人 - */ - @TableField(value="team_leader") - @Schema(description="队伍负责人") - @Size(max = 150,message = "队伍负责人最大长度要小于 150") - private String teamLeader; - - /** - * 联系电话 - */ - @TableField(value="phone") - @Schema(description="联系电话") - @Size(max = 20,message = "联系电话最大长度要小于 20") - private String phone; - - /** - * 登记日期 - */ - @TableField(value="register_date") - @Schema(description="登记日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date registerDate; - - /** - * 有效期开始时间 - */ - @TableField(value="valid_start_date") - @Schema(description="有效期开始时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date validStartDate; - - /** - * 有效期结束时间 - */ - @TableField(value="valid_end_date") - @Schema(description="有效期结束时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date validEndDate; - - /** - * 时间戳 - */ - @TableField(value="tm") - @Schema(description="时间戳") - @NotNull(message = "时间戳不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - @TableField(exist = false) - @Schema(description = "文件id集合") - private List fileIds; - - /** - * 文件上传数据 - */ - @Schema(description="文件上传数据") - @TableField(exist = false) - private List files; - - /** - * 队伍明细 - */ - @Schema(description="队伍明细") - @TableField(exist = false) - private List details; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RescueTeamDetail.java b/src/main/java/com/gunshi/project/xyt/model/RescueTeamDetail.java deleted file mode 100644 index df3f76b..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/RescueTeamDetail.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 抢险队伍明细 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="抢险队伍明细") -@Data -@TableName("public.rescue_team_detail") -public class RescueTeamDetail implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="detail_id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long detailId; - - /** - * 队伍id - */ - @TableField(value="team_id") - @Schema(description="队伍id") - @JsonSerialize(using = ToStringSerializer.class) - private Long teamId; - - /** - * 姓名 - */ - @TableField(value="name") - @Schema(description="姓名") - @Size(max = 100,message = "姓名最大长度要小于 100") - private String name; - - /** - * 性别,F女,M男 - */ - @TableField(value="sex") - @Schema(description="性别,F女,M男") - @Size(max = 1,message = "性别,F女,M男最大长度要小于 1") - private String sex; - - /** - * 年龄 - */ - @TableField(value="age") - @Schema(description="年龄") - private Integer age; - - /** - * 工作单位 - */ - @TableField(value="work_unit") - @Schema(description="工作单位") - @Size(max = 150,message = "工作单位最大长度要小于 150") - private String workUnit; - - /** - * 职务 - */ - @TableField(value="duty") - @Schema(description="职务") - @Size(max = 20,message = "职务最大长度要小于 20") - private String duty; - - /** - * 联系方式 - */ - @TableField(value="phone") - @Schema(description="联系方式") - @Size(max = 20,message = "联系方式最大长度要小于 20") - private String phone; - - /** - * 时间戳 - */ - @TableField(value="tm") - @Schema(description="时间戳") - @NotNull(message = "时间戳不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RescueTeamFile.java b/src/main/java/com/gunshi/project/xyt/model/RescueTeamFile.java deleted file mode 100644 index 3609232..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/RescueTeamFile.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 抢险队伍-附件 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="抢险队伍-附件") -@Data -@TableName("public.rescue_team_file") -public class RescueTeamFile implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 抢险队伍id - */ - @TableField(value="team_id") - @Schema(description="抢险队伍id") - private Long teamId; - - /** - * 文件id - */ - @TableField(value="file_id") - @Schema(description="文件id") - @JsonSerialize(using = ToStringSerializer.class) - private Long fileId; - - /** - * 序号 - */ - @TableField(value="sort_on") - @Schema(description="序号") - private Integer sortOn; - - /** - * 时间戳 - */ - @TableField(value="tm") - @Schema(description="时间戳") - @NotNull(message = "时间戳不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RiskControlInfo.java b/src/main/java/com/gunshi/project/xyt/model/RiskControlInfo.java deleted file mode 100644 index 9339fe8..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/RiskControlInfo.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 风险管控清单 -* author: xusan -* date: 2024-08-22 14:17:27 -*/ -@Schema(description="风险管控清单") -@Data -@TableName("public.risk_control_info") -public class RiskControlInfo implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 目录id - */ - @TableField(value="menu_id") - @Schema(description="目录id") - @NotNull(message = "目录id不能为空",groups = {Insert.class,Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long menuId; - - /** - * 风险辨识名称 - */ - @TableField(value="name") - @Schema(description="风险辨识名称") - @Size(max = 255,message = "风险辨识名称最大长度要小于 255") - private String name; - - /** - * 风险等级(1低风险 2一般风险 3较大风险 4重大风险) - */ - @TableField(value="risk_level") - @Schema(description="风险等级(1低风险 2一般风险 3较大风险 4重大风险)") - private Integer riskLevel; - - /** - * 责任人id - */ - @TableField(value="reponser_id") - @Schema(description="责任人id") - private Long reponserId; - - /** - * 责任人 - */ - @TableField(value="reponser_name") - @Schema(description="责任人") - @Size(max = 100,message = "责任人最大长度要小于 100") - private String reponserName; - - /** - * 主要防范措施 - */ - @TableField(value="prevent_measure") - @Schema(description="主要防范措施") - @Size(max = 255,message = "主要防范措施最大长度要小于 255") - private String preventMeasure; - - /** - * 创建日期 - */ - @TableField(value="create_date") - @Schema(description="创建日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createDate; - - @TableField(exist = false) - @Schema(description = "可能导致的后果") - private List result; - - @TableField(exist = false) - @Schema(description = "现场图片") - private List files; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RiskControlMenu.java b/src/main/java/com/gunshi/project/xyt/model/RiskControlMenu.java deleted file mode 100644 index 16994e8..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/RiskControlMenu.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** -* 描述: 风险管控目录 -* author: xusan -* date: 2024-08-22 14:16:34 -*/ -@Schema(description="风险管控目录") -@Data -@TableName("public.risk_control_menu") -public class RiskControlMenu implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 父id - */ - @TableField(value="parent_id") - @Schema(description="父id") - @JsonSerialize(using = ToStringSerializer.class) - private Long parentId; - - /** - * 名称 - */ - @TableField(value="name") - @Schema(description="名称") - @Size(max = 255,message = "名称最大长度要小于 255") - @NotBlank(message = "名称不能为空") - private String name; - - /** - * 排序 - */ - @TableField(value="order_index") - @Schema(description="排序") - private Integer orderIndex; - - - @TableField(exist = false) - @Schema(description="子集") - private List children; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RotaB.java b/src/main/java/com/gunshi/project/xyt/model/RotaB.java deleted file mode 100644 index 691d374..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/RotaB.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * 值班表 - */ -@Schema(description="值班表") -@Data -@TableName(value = "public.rota_b") -public class RotaB implements Serializable { - /** - * 主键 - */ - @TableId(value = "id", type = IdType.INPUT) - @Schema(description="主键") - @NotNull(message = "主键不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 日期 - */ - @TableField(value = "rota_date") - @Schema(description="日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - @NotNull(message = "日期不能为空") - private Date rotaDate; - - /** - * 类型(1带班领导 2值班人员) - */ - @TableField(value = "rota_type") - @Schema(description="类型(1带班领导 2值班人员)") - private Integer rotaType; - - /** - * 用户id - */ - @TableField(value = "user_id") - @Schema(description="用户id") - @JsonSerialize(using = ToStringSerializer.class) - private Long userId; - - /** - * 是否节假日(0否 1是) - */ - @TableField(value = "is_holiday") - @Schema(description="是否节假日(0否 1是)") - private Integer isHoliday; - - - @Schema(description="用户姓名") - @TableField(exist = false) - private String userName; - - private static final long serialVersionUID = 1L; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RotaLog.java b/src/main/java/com/gunshi/project/xyt/model/RotaLog.java deleted file mode 100644 index 64eef96..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/RotaLog.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * 值班日志 - */ -@Schema(description="值班日志") -@Data -@TableName(value = "public.rota_log") -public class RotaLog implements Serializable { - /** - * 主键 - */ - @TableId(value = "id", type = IdType.INPUT) - @Schema(description="主键") - @NotNull(message = "主键不能为空", groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 日期 - */ - @TableField(value = "rota_date") - @Schema(description="日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - @NotNull(message = "日期不能为空", groups = {Insert.class, Update.class}) - private Date rotaDate; - - @TableField(value = "weather") - @Schema(description="天气") - private String weather; - - /** - * 带班领导id - */ - @TableField(value = "leader_user_id") - @Schema(description="带班领导id") - @JsonSerialize(using = ToStringSerializer.class) - private Long leaderUserId; - - @Schema(description="带班领导姓名") - @TableField(exist = false) - private String leaderUserName; - - /** - * 值班人员id - */ - @TableField(value = "duty_user_id") - @Schema(description="值班人员id") - @JsonSerialize(using = ToStringSerializer.class) - private Long dutyUserId; - - @Schema(description="值班人员姓名") - @TableField(exist = false) - private String dutyUserName; - - @TableField(value = "duty_situation") - @Schema(description="值班情况") - private String dutySituation; - - @TableField(value = "todo_list") - @Schema(description="待处理事项") - private String todoList; - - private static final long serialVersionUID = 1L; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/SafetyAccidentReg.java b/src/main/java/com/gunshi/project/xyt/model/SafetyAccidentReg.java deleted file mode 100644 index 31d1578..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SafetyAccidentReg.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 安全事故登记 -* author: xusan -* date: 2024-08-21 15:44:54 -*/ -@Schema(description="安全事故登记") -@Data -@TableName("public.safety_accident_reg") -public class SafetyAccidentReg implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 事故名称 - */ - @TableField(value="name") - @Schema(description="事故名称") - @Size(max = 200,message = "事故名称最大长度要小于 200") - private String name; - - /** - * 事故发生时间 - */ - @TableField(value="accident_date") - @Schema(description="事故发生时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM, timezone = "GMT+8") - private Date accidentDate; - - /** - * 事故级别(1一般事故2较大事故3重大事故4特别重大事故) - */ - @TableField(value="accident_level") - @Schema(description="事故级别(1一般事故2较大事故3重大事故4特别重大事故)") - private Integer accidentLevel; - - /** - * 事故情况描述 - */ - @TableField(value="accident_desc") - @Schema(description="事故情况描述") - @Size(max = 500,message = "事故情况描述最大长度要小于 500") - private String accidentDesc; - - /** - * 直接经济损失(万元) - */ - @TableField(value="economic_losses") - @Schema(description="直接经济损失(万元)") - private BigDecimal economicLosses; - - /** - * 死亡人数 - */ - @TableField(value="dead_number") - @Schema(description="死亡人数") - private Integer deadNumber; - - /** - * 受伤人数 - */ - @TableField(value="injure_number") - @Schema(description="受伤人数") - private Integer injureNumber; - - /** - * 事故调查单位 - */ - @TableField(value="invest_org") - @Schema(description="事故调查单位") - @Size(max = 200,message = "事故调查单位最大长度要小于 200") - private String investOrg; - - /** - * 事故结案日期 - */ - @TableField(value="close_case_date") - @Schema(description="事故结案日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date closeCaseDate; - - /** - * 事故调查情况 - */ - @TableField(value="invest_desc") - @Schema(description="事故调查情况") - @Size(max = 500,message = "事故调查情况最大长度要小于 500") - private String investDesc; - - /** - * 处理结果 - */ - @TableField(value="handle_result") - @Schema(description="处理结果") - @Size(max = 500,message = "处理结果最大长度要小于 500") - private String handleResult; - - @TableField(exist = false) - @Schema(description = "现场图片") - private List accidentPic; - - @TableField(exist = false) - @Schema(description = "事故调查与处理资料") - private List accidentHandle; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/SafetyCheck.java b/src/main/java/com/gunshi/project/xyt/model/SafetyCheck.java deleted file mode 100644 index 5cb8832..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SafetyCheck.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * 安全检查管理 - */ -@Schema(description="安全检查管理") -@Data -@TableName(value = "public.safety_check") -public class SafetyCheck implements Serializable { - /** - * 主键 - */ - @TableId(value = "id", type = IdType.INPUT) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - @TableField(value = "check_date") - @Schema(description="检查日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - @NotNull(message = "检查日期不能为空",groups = {Insert.class,Update.class}) - private Date checkDate; - - @TableField(value = "check_type") - @Schema(description="检查类型(1日常检查 2年度检查 3特别检查 4临时检查)") - private Integer checkType; - - @TableField(value = "name") - @Schema(description="名称") - @NotNull(message = "名称不能为空",groups = {Insert.class,Update.class}) - private String name; - - @TableField(value = "check_org") - @Schema(description="检查单位") - private String checkOrg; - - @TableField(value = "check_user") - @Schema(description="检查人员") - private String checkUser; - - @TableField(value = "check_content") - @Schema(description="主要检查内容") - private String checkContent; - - @TableField(value = "main_problem") - @Schema(description="发现的主要问题") - private String mainProblem; - - @TableField(value = "handle_suggestion") - @Schema(description="处理意见与建议") - private String handleSuggestion; - - @TableField(value = "recity_desc") - @Schema(description="问题整改情况") - private String recityDesc; - - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; - - private static final long serialVersionUID = 1L; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/SafetyHazardInvest.java b/src/main/java/com/gunshi/project/xyt/model/SafetyHazardInvest.java deleted file mode 100644 index a71d6fe..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SafetyHazardInvest.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * 安排隐患排查 - */ -@Schema(description="安排隐患排查") -@Data -@TableName(value = "public.safety_hazard_invest") -public class SafetyHazardInvest implements Serializable { - /** - * 主键 - */ - @TableId(value = "id", type = IdType.INPUT) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - @TableField(value = "hazard_desc") - @Schema(description="隐患描述") - @NotEmpty(message = "隐患描述不可为空",groups = {Insert.class,Update.class}) - private String hazardDesc; - - /** - * 隐患发现日期 - */ - @TableField(value = "hazard_date") - @Schema(description="隐患发现日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - @NotNull(message = "隐患发现日期不能为空",groups = {Insert.class,Update.class}) - private Date hazardDate; - - @TableField(value = "location_desc") - @Schema(description="事件内容描述") - private String locationDesc; - - @TableField(value = "recity_finish_date") - @Schema(description="整改完成时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date recityFinishDate; - - @TableField(value = "recity_desc") - @Schema(description="整改完成情况") - private String recityDesc; - - @TableField(value = "report_user_id") - @Schema(description="上报人id") - @JsonSerialize(using = ToStringSerializer.class) - private Long reportUserId; - - @TableField(value = "report_user_name") - @Schema(description="上报人") - private String reportUserName; - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; - - private static final long serialVersionUID = 1L; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/SafetyIdentify.java b/src/main/java/com/gunshi/project/xyt/model/SafetyIdentify.java deleted file mode 100644 index 4a83196..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SafetyIdentify.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 安全鉴定台账 -* author: xusan -* date: 2024-08-21 14:45:43 -*/ -@Schema(description="安全鉴定台账") -@Data -@TableName("public.safety_identify") -public class SafetyIdentify implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 鉴定日期 - */ - @TableField(value="identify_date") - @Schema(description="鉴定日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date identifyDate; - - /** - * 大坝安全评定类别(1一类坝 2二类坝 3三类坝) - */ - @TableField(value="identify_type") - @Schema(description="大坝安全评定类别(1一类坝 2二类坝 3三类坝)") - private Integer identifyType; - - /** - * 鉴定承担单位(1勘察设计2工程咨询3部门认定) - */ - @TableField(value="identify_org") - @Schema(description="鉴定承担单位") - @Size(max = 200,message = "鉴定承担单位最大长度要小于 200") - private String identifyOrg; - - /** - * 承担单位类型(1甲级2乙级3丙级4其他) - */ - @TableField(value="identify_org_type") - @Schema(description="承担单位类型(1勘察设计2工程咨询3部门认定)") - private Integer identifyOrgType; - - /** - * 承担单位资质 - */ - @TableField(value="identify_org_qua") - @Schema(description="承担单位资质(1甲级2乙级3丙级4其他)") - private Integer identifyOrgQua; - - /** - * 鉴定审定部门 - */ - @TableField(value="identify_audit_org") - @Schema(description="鉴定审定部门") - @Size(max = 200,message = "鉴定审定部门最大长度要小于 200") - private String identifyAuditOrg; - - /** - * 报告书印发日期 - */ - @TableField(value="report_print_date") - @Schema(description="报告书印发日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date reportPrintDate; - - /** - * 报告书印发文号 - */ - @TableField(value="report_print_number") - @Schema(description="报告书印发文号") - @Size(max = 100,message = "报告书印发文号最大长度要小于 100") - private String reportPrintNumber; - - /** - * 工程存在主要问题 - */ - @TableField(value="main_problem") - @Schema(description="工程存在主要问题") - @Size(max = 500,message = "工程存在主要问题最大长度要小于 500") - private String mainProblem; - - /** - * 安全鉴定结论 - */ - @TableField(value="identify_result") - @Schema(description="安全鉴定结论") - @Size(max = 500,message = "安全鉴定结论最大长度要小于 500") - private String identifyResult; - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/SafetyReinforcement.java b/src/main/java/com/gunshi/project/xyt/model/SafetyReinforcement.java deleted file mode 100644 index 1fceaad..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SafetyReinforcement.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 除险加固台账 -* author: xusan -* date: 2024-08-22 11:27:43 -*/ -@Schema(description="除险加固台账") -@Data -@TableName("public.safety_reinforcement") -public class SafetyReinforcement implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @NotNull(message = "主键不能为空",groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 组织方式(1地方自行组织 2中央规划) - */ - @TableField(value="organization_way") - @Schema(description="组织方式(1地方自行组织 2中央规划)") - @NotNull(message = "主键不能为空",groups = {Insert.class,Update.class}) - private Integer organizationWay; - - /** - * 工程状态(1施工中 2已完工) - */ - @TableField(value="project_status") - @Schema(description="工程状态(1施工中 2已完工)") - @NotNull(message = "工程状态不能为空",groups = {Insert.class,Update.class}) - private Integer projectStatus; - - /** - * 开工日期 - */ - @TableField(value="start_date") - @Schema(description="开工日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date startDate; - - /** - * 竣工日期 - */ - @TableField(value="finish_date") - @Schema(description="竣工日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date finishDate; - - /** - * 投运日期 - */ - @TableField(value="operation_date") - @Schema(description="投运日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date operationDate; - - /** - * 总投资(万元) - */ - @TableField(value="total_investment") - @Schema(description="总投资(万元)") - private BigDecimal totalInvestment; - - /** - * 设计单位 - */ - @TableField(value="design_org") - @Schema(description="设计单位") - @Size(max = 100,message = "设计单位最大长度要小于 100") - private String designOrg; - - /** - * 施工单位 - */ - @TableField(value="construct_org") - @Schema(description="施工单位") - @Size(max = 100,message = "施工单位最大长度要小于 100") - private String constructOrg; - - /** - * 监理单位 - */ - @TableField(value="control_org") - @Schema(description="监理单位") - @Size(max = 100,message = "监理单位最大长度要小于 100") - private String controlOrg; - - /** - * 主要建设内容 - */ - @TableField(value="construct_content") - @Schema(description="主要建设内容") - @Size(max = 500,message = "主要建设内容最大长度要小于 500") - private String constructContent; - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/ShpPlacement.java b/src/main/java/com/gunshi/project/xyt/model/ShpPlacement.java deleted file mode 100644 index e75dd99..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/ShpPlacement.java +++ /dev/null @@ -1,193 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 安置点 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="安置点") -@Data -@TableName("public.shp_placement") -public class ShpPlacement implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * gid - */ - @TableId(value="gid", type= IdType.AUTO) - @Schema(description="gid") - // @Size(max = 0,message = "gid最大长度要小于 0") - @NotNull(message = "gid不能为空") - private Integer gid; - - /** - * adcd - */ - @TableField(value="adcd") - @Schema(description="adcd") - @Size(max = 15,message = "adcd最大长度要小于 15") - private String adcd; - - /** - * pid - */ - @TableField(value="pid") - @Schema(description="pid") - @Size(max = 50,message = "pid最大长度要小于 50") - private String pid; - - /** - * name - */ - @TableField(value="name") - @Schema(description="name") - @Size(max = 50,message = "name最大长度要小于 50") - private String name; - - /** - * address - */ - @TableField(value="address") - @Schema(description="address") - @Size(max = 50,message = "address最大长度要小于 50") - private String address; - - /** - * lgtd - */ - @TableField(value="lgtd") - @Schema(description="lgtd") - // @Size(max = 0,message = "lgtd最大长度要小于 0") - private Double lgtd; - - /** - * lttd - */ - @TableField(value="lttd") - @Schema(description="lttd") - // @Size(max = 0,message = "lttd最大长度要小于 0") - private Double lttd; - - /** - * remark - */ - @TableField(value="remark") - @Schema(description="remark") - @Size(max = 200,message = "remark最大长度要小于 200") - private String remark; - - /** - * datestr - */ - @TableField(value="datestr") - @Schema(description="datestr") - @Size(max = 30,message = "datestr最大长度要小于 30") - private String datestr; - - /** - * isplot - */ - @TableField(value="isplot") - @Schema(description="isplot") - // @Size(max = 0,message = "isplot最大长度要小于 0") - private Long isplot; - - /** - * crtdate - */ - @TableField(value="crtdate") - @Schema(description="crtdate") - // @Size(max = 0,message = "crtdate最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date crtdate; - - /** - * crtuser - */ - @TableField(value="crtuser") - @Schema(description="crtuser") - @Size(max = 20,message = "crtuser最大长度要小于 20") - private String crtuser; - - /** - * picpath - */ - @TableField(value="picpath") - @Schema(description="picpath") - @Size(max = 100,message = "picpath最大长度要小于 100") - private String picpath; - - /** - * status - */ - @TableField(value="status") - @Schema(description="status") - // @Size(max = 0,message = "status最大长度要小于 0") - private Long status; - - /** - * cdefine1 - */ - @TableField(value="cdefine1") - @Schema(description="cdefine1") - @Size(max = 50,message = "cdefine1最大长度要小于 50") - private String cdefine1; - - /** - * population - */ - @TableField(value="population") - @Schema(description="population") - // @Size(max = 0,message = "population最大长度要小于 0") - private Integer population; - - /** - * dbver - */ - @TableField(value="dbver") - @Schema(description="dbver") - @Size(max = 20,message = "dbver最大长度要小于 20") - private String dbver; - - /** - * recordman - */ - @TableField(value="recordman") - @Schema(description="recordman") - @Size(max = 100,message = "recordman最大长度要小于 100") - private String recordman; - - /** - * zpid - */ - @TableField(value="zpid") - @Schema(description="zpid") - @Size(max = 30,message = "zpid最大长度要小于 30") - private String zpid; - - /** - * wscd - */ - @TableField(value="wscd") - @Schema(description="wscd") - @Size(max = 200,message = "wscd最大长度要小于 200") - private String wscd; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/SoilMoistureData.java b/src/main/java/com/gunshi/project/xyt/model/SoilMoistureData.java deleted file mode 100644 index 8aaed25..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SoilMoistureData.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* -*/ -@Schema(description="") -@Data -@TableName("public.soil_moisture_data") -public class SoilMoistureData implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - private String stcd; - private BigDecimal val; - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/SoilMoistureStation.java b/src/main/java/com/gunshi/project/xyt/model/SoilMoistureStation.java deleted file mode 100644 index 65cfac4..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SoilMoistureStation.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* -*/ -@Schema(description="") -@Data -@TableName("public.soil_moisture_station") -public class SoilMoistureStation implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - private String stcd; - private String stnm; - private BigDecimal lgtd; - private BigDecimal lttd; - private Integer status; - private String remark; - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - @TableField(exist = false) - private BigDecimal val; - - @TableField(exist = false) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java b/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java deleted file mode 100644 index c5de6c6..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 行政区划表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="行政区划表") -@Data -@TableName("public.st_addvcd_d") -public class StAddvcdD implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 行政区划编码 - */ - @TableId(value="adcd", type= IdType.AUTO) - @Schema(description="行政区划编码") - @Size(max = 15,message = "行政区划编码最大长度要小于 15") - @NotBlank(message = "行政区划编码不能为空") - private String adcd; - - /** - * 行政区划名称 - */ - @TableField(value="adnm") - @Schema(description="行政区划名称") - @Size(max = 200,message = "行政区划名称最大长度要小于 200") - @NotBlank(message = "行政区划名称不能为空") - private String adnm; - - /** - * 人口数 - */ - @TableField(value="population") - @Schema(description="人口数") - // @Size(max = 0,message = "人口数最大长度要小于 0") - private Integer population; - - /** - * 房屋数 - */ - @TableField(value="houses") - @Schema(description="房屋数") - // @Size(max = 0,message = "房屋数最大长度要小于 0") - private Integer houses; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - // @Size(max = 0,message = "经度最大长度要小于 0") - private String lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - // @Size(max = 0,message = "纬度最大长度要小于 0") - private String lttd; - - /** - * 时间戳 - */ - @TableField(value="tm") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @NotNull(message = "时间戳不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 总户数(户) - */ - @TableField(value="htcount") - @Schema(description="总户数(户)") - // @Size(max = 0,message = "总户数(户)最大长度要小于 0") - private Integer htcount; - - /** - * 土地面积 (km2) - */ - @TableField(value="ldarea") - @Schema(description="土地面积 (km2)") - // @Size(max = 0,message = "土地面积 (km2)最大长度要小于 0") - private String ldarea; - - /** - * 耕地面积(亩) - */ - @TableField(value="plarea") - @Schema(description="耕地面积(亩) ") - // @Size(max = 0,message = "耕地面积(亩) 最大长度要小于 0") - private Integer plarea; - - /** - * 防治区类型 确定行政区是否属于防治区和重点防治区,1:防治区;2:重点防治区。 - */ - @TableField(value="prevtp") - @Schema(description="防治区类型 确定行政区是否属于防治区和重点防治区,1:防治区;2:重点防治区。") - // @Size(max = 0,message = "防治区类型 确定行政区是否属于防治区和重点防治区,1:防治区;2:重点防治区。最大长度要小于 0") - private Integer prevtp; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StImgR.java b/src/main/java/com/gunshi/project/xyt/model/StImgR.java deleted file mode 100644 index 45e8805..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StImgR.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.github.jeffreyning.mybatisplus.anno.MppMultiId; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -@Schema -@Data -@TableName(value = "st_img_r") -@JsonIgnoreProperties(ignoreUnknown = true) -public class StImgR implements Serializable { - @TableField(value = "stcd") - @MppMultiId - @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 20") - @NotBlank(message = "测站编码不能为空") - private String stcd; - - @MppMultiId - @TableField(value = "tm") - @Schema(description="时间") - @NotNull(message = "时间不能为为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - @TableField(value = "chtm") - @Schema(description="") - @NotNull(message = "不能为null") - private Date chtm; - - @TableField(value = "img_path") - @Schema(description="图片路径") - @Size(max = 256,message = "图片路径最大长度要小于 256") - @NotBlank(message = "图片路径不能为空") - private String imgPath; - - @TableField(value = "chid") - @Schema(description="") - @Size(max = 10,message = "最大长度要小于 10") - @NotBlank(message = "不能为空") - private String chid; - - @TableField(value = "\"source\"") - @Schema(description="") - @Size(max = 50,message = "最大长度要小于 50") - private String source; - - @TableField(value = "mtmcd") - @Schema(description="") - @Size(max = 20,message = "最大长度要小于 20") - private String mtmcd; - - private static final long serialVersionUID = 1L; - - public static final String COL_STCD = "stcd"; - - public static final String COL_TM = "tm"; - - public static final String COL_CHTM = "chtm"; - - public static final String COL_IMG_PATH = "img_path"; - - public static final String COL_CHID = "chid"; - - public static final String COL_SOURCE = "source"; - - public static final String COL_MTMCD = "mtmcd"; - - - - @TableField(exist = false) - private Date stm;// 同步的数据的开始时间 - - @TableField(exist = false) - private Date etm;// 同步的数据的结束时间 -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StImgRReal.java b/src/main/java/com/gunshi/project/xyt/model/StImgRReal.java deleted file mode 100644 index 5333fdf..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StImgRReal.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gunshi.project.xyt.model; - -import java.io.Serializable; -import java.util.Date; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -@Schema -@Data -@TableName(value = "st_img_r_real") -@JsonIgnoreProperties(ignoreUnknown = true) -public class StImgRReal implements Serializable { - - - @TableField(value="stcd") - @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 20") - @NotBlank(message = "测站编码不能为空") - private String stcd; - - @TableField(value = "tm") - @Schema(description="") - @NotNull(message = "不能为null") - private Date tm; - - @TableField(value = "chtm") - @Schema(description="") - @NotNull(message = "不能为null") - private Date chtm; - - @TableField(value = "img_path") - @Schema(description="") - @Size(max = 256,message = "最大长度要小于 256") - @NotBlank(message = "不能为空") - private String imgPath; - - @TableId(value="chid", type = IdType.NONE) - @Schema(description="") - @Size(max = 10,message = "最大长度要小于 10") - @NotBlank(message = "不能为空") - private String chid; - - @TableField(value = "\"source\"") - @Schema(description="") - @Size(max = 50,message = "最大长度要小于 50") - private String source; - - private static final long serialVersionUID = 1L; - - public static final String COL_STCD = "stcd"; - - public static final String COL_TM = "tm"; - - public static final String COL_CHTM = "chtm"; - - public static final String COL_IMG_PATH = "img_path"; - - public static final String COL_CHID = "chid"; - - public static final String COL_SOURCE = "source"; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StImgWarnR.java b/src/main/java/com/gunshi/project/xyt/model/StImgWarnR.java deleted file mode 100644 index 357d928..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StImgWarnR.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.github.jeffreyning.mybatisplus.anno.MppMultiId; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: AI告警表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="AI告警表") -@Data -@TableName("public.st_img_warn_r") -public class StImgWarnR implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * index_code - */ - @MppMultiId - @TableField(value="index_code") - @Schema(description="index_code") - @Size(max = 150,message = "index_code最大长度要小于 150") - @NotBlank(message = "index_code不能为空") - private String indexCode; - - /** - * tm - */ - @MppMultiId - @TableField(value="tm") - @Schema(description="tm") - @NotNull(message = "tm不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * img_path - */ - @TableField(value="img_path") - @Schema(description="img_path") - @Size(max = 256,message = "img_path最大长度要小于 256") - private String imgPath; - - /** - * 告警类型(1人员闯入 2工程车辆识别 3漂浮物识别 4游泳识别) - */ - @TableField(value="type") - @Schema(description="告警类型(1人员闯入 2工程车辆识别 3漂浮物识别 4游泳识别)") - private Integer type; - - @TableField(exist = false) - @Schema(description = "摄像头名称") - private String name; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StPptnR.java b/src/main/java/com/gunshi/project/xyt/model/StPptnR.java deleted file mode 100644 index 4862419..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StPptnR.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import java.io.Serializable; -import java.util.Date; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.gunshi.core.dateformat.DateFormatString; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -/** -* 描述: 降水量表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="降水量表") -@Data -@TableName("public.st_pptn_r") -@JsonIgnoreProperties(ignoreUnknown = true) -public class StPptnR implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测站编码 - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 20") - @NotBlank(message = "测站编码不能为空") - private String stcd; - - /** - * 时段降水量 - */ - @TableField(value="drp") - @Schema(description="时段降水量") - private String drp; - - /** - * 时间 - */ - @TableField(value="tm") - @Schema(description="时间") - @NotNull(message = "时间不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 时段长 - */ - @TableField(value="intv") - @Schema(description="时段长") - private String intv; - - /** - * 降水历时 - */ - @TableField(value="pdr") - @Schema(description="降水历时") - private String pdr; - - /** - * 日降水量 - */ - @TableField(value="dyp") - @Schema(description="日降水量") - private String dyp; - - /** - * 天气状况 - */ - @TableField(value="wth") - @Schema(description="天气状况") - @Size(max = 1,message = "天气状况最大长度要小于 1") - private String wth; - - /** - * chtm - */ - @TableField(value="chtm") - @Schema(description="chtm") - // @Size(max = 0,message = "chtm最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - - @TableField(exist = false) - private Date stm;// 同步的数据的开始时间 - - @TableField(exist = false) - private Date etm;// 同步的数据的结束时间 - - @TableField(exist = false) - private String source;// 测站数据源 - - @TableField(exist = false) - private String sttp;// 测站类型 -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StPptnRAverage.java b/src/main/java/com/gunshi/project/xyt/model/StPptnRAverage.java deleted file mode 100644 index f2e268d..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StPptnRAverage.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; - -/** -* 描述: 降水量表-面雨量 -*/ -@Data -public class StPptnRAverage extends StPptnR { - - - /** - * 时段降水量 - */ - @Schema(description="时段降水量") - private String drp; - - /** - * 时间 - */ - @Schema(description="时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - public StPptnRAverage(Date tm, String drp) { - this.tm = tm; - this.drp = drp; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StPptnRD.java b/src/main/java/com/gunshi/project/xyt/model/StPptnRD.java deleted file mode 100644 index 3455ea3..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StPptnRD.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.github.jeffreyning.mybatisplus.anno.MppMultiId; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="") -@Data -@TableName("public.st_pptn_r_d") -@JsonIgnoreProperties(ignoreUnknown = true) -public class StPptnRD implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测站编码 - */ - @MppMultiId - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 20") - @NotBlank(message = "测站编码不能为空") - private String stcd; - - /** - * 时间 - */ - @MppMultiId - @TableField(value="tm") - @Schema(description="时间") - // @Size(max = 0,message = "时间最大长度要小于 0") - @NotNull(message = "时间不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 时段降水量 - */ - @TableField(value="drp") - @Schema(description="时段降水量") - // @Size(max = 0,message = "时段降水量最大长度要小于 0") - private BigDecimal drp; - - /** - * year - */ - @MppMultiId - @TableField(value="year") - @Schema(description="year") - @NotNull(message = "year不能为空") - private Integer year; - - /** - * 前一天是否降雨(0无雨 1有降雨) - */ - @TableField(value="last_day_isdrp") - @Schema(description="last_day_isdrp") - private String lastDayIsdrp; - - /** - * 之前有无雨的连续天数 - */ - @TableField(value="isdrp_count") - @Schema(description="isdrp_count") - private Integer isdrpCount; - - @TableField(exist = false) - private Date stm;// 同步的数据的开始时间 - - @TableField(exist = false) - private String adcd; - - @TableField(exist = false) - private String day; - - @TableField(exist = false) - private String month; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StPptnRH.java b/src/main/java/com/gunshi/project/xyt/model/StPptnRH.java deleted file mode 100644 index 7bf72a2..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StPptnRH.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 降雨量小时表 -* author: cxw -* date: 2024-09-02 09:34:31 -*/ -@Schema(description="降雨量小时表") -@Data -@TableName("public.st_pptn_r_h") -public class StPptnRH implements Serializable { - - public final static String thisTableName = "StPptnRH"; - - private static final long serialVersionUID = 1L; - - /** - * 测站编码 - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 20") - @NotBlank(message = "测站编码不能为空") - @NotNull(message = "测站编码不能为空") - private String stcd; - - /** - * 时间 - */ - @TableField(value="tm") - @Schema(description="时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 时段降水量 - */ - @TableField(value="drp") - @Schema(description="时段降水量") - private BigDecimal drp; - - /** - * 时段长 - */ - @TableField(value="intv") - @Schema(description="时段长") - private BigDecimal intv; - - /** - * 降水历时 - */ - @TableField(value="pdr") - @Schema(description="降水历时") - private BigDecimal pdr; - - /** - * 日降水量 - */ - @TableField(value="dyp") - @Schema(description="日降水量") - private BigDecimal dyp; - - /** - * 天气状况 - */ - @TableField(value="wth") - @Schema(description="天气状况") - @Size(max = 1,message = "天气状况最大长度要小于 1") - private String wth; - - /** - * 入库时间 - */ - @TableField(value="chtm") - @Schema(description="入库时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StPptnRReal.java b/src/main/java/com/gunshi/project/xyt/model/StPptnRReal.java deleted file mode 100644 index 1001894..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StPptnRReal.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 降水量历史表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="降水量历史表") -@Data -@TableName("public.st_pptn_r_real") -@JsonIgnoreProperties(ignoreUnknown = true) -public class StPptnRReal implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * stcd - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="stcd") - @Size(max = 20,message = "stcd最大长度要小于 20") - @NotBlank(message = "stcd不能为空") - private String stcd; - - /** - * tm - */ - @TableField(value="tm") - @Schema(description="tm") - // @Size(max = 0,message = "tm最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * drp - */ - @TableField(value="drp") - @Schema(description="drp") - // @Size(max = 0,message = "drp最大长度要小于 0") - private BigDecimal drp; - - /** - * today - */ - @TableField(value="today") - @Schema(description="today") - // @Size(max = 0,message = "today最大长度要小于 0") - private BigDecimal today; - - /** - * m10 - */ - @TableField(value="m10") - @Schema(description="m10") - // @Size(max = 0,message = "m10最大长度要小于 0") - private BigDecimal m10; - - /** - * m30 - */ - @TableField(value="m30") - @Schema(description="m30") - // @Size(max = 0,message = "m30最大长度要小于 0") - private BigDecimal m30; - - /** - * h1 - */ - @TableField(value="h1") - @Schema(description="h1") - // @Size(max = 0,message = "h1最大长度要小于 0") - private BigDecimal h1; - - /** - * h3 - */ - @TableField(value="h3") - @Schema(description="h3") - // @Size(max = 0,message = "h3最大长度要小于 0") - private BigDecimal h3; - - /** - * h6 - */ - @TableField(value="h6") - @Schema(description="h6") - // @Size(max = 0,message = "h6最大长度要小于 0") - private BigDecimal h6; - - /** - * h12 - */ - @TableField(value="h12") - @Schema(description="h12") - // @Size(max = 0,message = "h12最大长度要小于 0") - private BigDecimal h12; - - /** - * h24 - */ - @TableField(value="h24") - @Schema(description="h24") - // @Size(max = 0,message = "h24最大长度要小于 0") - private BigDecimal h24; - - /** - * h48 - */ - @TableField(value="h48") - @Schema(description="h48") - // @Size(max = 0,message = "h48最大长度要小于 0") - private BigDecimal h48; - - /** - * chtm - */ - @TableField(value="chtm") - @Schema(description="chtm") - // @Size(max = 0,message = "chtm最大长度要小于 0") - @NotNull(message = "chtm不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * warning - */ - @TableField(value="warning") - @Schema(description="warning") - // @Size(max = 0,message = "warning最大长度要小于 0") - private Integer warning; - - /** - * status - */ - @TableField(value="status") - @Schema(description="status") - // @Size(max = 0,message = "status最大长度要小于 0") - private Integer status; - - /** - * cluster - */ - @TableField(value="cluster") - @Schema(description="cluster") - @Size(max = 10,message = "cluster最大长度要小于 10") - private String cluster; - - @TableField(exist = false) - @Schema(description = "站点名称") - private String stnm; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StQxWarnR.java b/src/main/java/com/gunshi/project/xyt/model/StQxWarnR.java deleted file mode 100644 index 432a279..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StQxWarnR.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 气象预警表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="气象预警表") -@Data -@TableName("public.st_qx_warn_r") -public class StQxWarnR implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * id - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="id") - // @Size(max = 0,message = "id最大长度要小于 0") - @NotNull(message = "id不能为空") - private Long id; - - /** - * tm - */ - @TableField(value="tm") - @Schema(description="tm") - // @Size(max = 0,message = "tm最大长度要小于 0") - @NotNull(message = "tm不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * title - */ - @TableField(value="title") - @Schema(description="title") - @Size(max = 200,message = "title最大长度要小于 200") - private String title; - - /** - * content - */ - @TableField(value="content") - @Schema(description="content") - @Size(max = 500,message = "content最大长度要小于 500") - private String content; - - /** - * level - */ - @TableField(value="level") - @Schema(description="level") - // @Size(max = 0,message = "level最大长度要小于 0") - private Integer level; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StRiverR.java b/src/main/java/com/gunshi/project/xyt/model/StRiverR.java deleted file mode 100644 index 00bf7f2..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StRiverR.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: -* author: cxw -* date: 2024-09-24 14:01:07 -*/ -@Schema(description="") -@Data -@TableName("public.st_river_r") -public class StRiverR implements Serializable { - - public final static String thisTableName = "StRiverR"; - - private static final long serialVersionUID = 1L; - - /** - * stcd - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="stcd") - @Size(max = 20,message = "stcd最大长度要小于 20") - @NotBlank(message = "stcd不能为空") - @NotNull(message = "stcd不能为空") - private String stcd; - - /** - * tm - */ - @TableField(value="tm") - @Schema(description="tm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * z - */ - @TableField(value="z") - @Schema(description="z") - private BigDecimal z; - - /** - * q - */ - @TableField(value="q") - @Schema(description="q") - private BigDecimal q; - - /** - * xsa - */ - @TableField(value="xsa") - @Schema(description="xsa") - private BigDecimal xsa; - - /** - * xsavv - */ - @TableField(value="xsavv") - @Schema(description="xsavv") - private BigDecimal xsavv; - - /** - * xsmxv - */ - @TableField(value="xsmxv") - @Schema(description="xsmxv") - private BigDecimal xsmxv; - - /** - * flwchrcd - */ - @TableField(value="flwchrcd") - @Schema(description="flwchrcd") - @Size(max = 4,message = "flwchrcd最大长度要小于 4") - private String flwchrcd; - - /** - * wptn - */ - @TableField(value="wptn") - @Schema(description="wptn") - @Size(max = 4,message = "wptn最大长度要小于 4") - private String wptn; - - /** - * msqmt - */ - @TableField(value="msqmt") - @Schema(description="msqmt") - @Size(max = 4,message = "msqmt最大长度要小于 4") - private String msqmt; - - /** - * msamt - */ - @TableField(value="msamt") - @Schema(description="msamt") - @Size(max = 4,message = "msamt最大长度要小于 4") - private String msamt; - - /** - * msvmt - */ - @TableField(value="msvmt") - @Schema(description="msvmt") - @Size(max = 4,message = "msvmt最大长度要小于 4") - private String msvmt; - - /** - * chtm - */ - @TableField(value="chtm") - @Schema(description="chtm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * sendtm - */ - @TableField(value="sendtm") - @Schema(description="sendtm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date sendtm; - - /** - * receivetm - */ - @TableField(value="receivetm") - @Schema(description="receivetm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date receivetm; - - /** - * source_int - */ - @TableField(value="source_int") - @Schema(description="source_int") - private Integer sourceInt; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StRiverRReal.java b/src/main/java/com/gunshi/project/xyt/model/StRiverRReal.java deleted file mode 100644 index 7275207..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StRiverRReal.java +++ /dev/null @@ -1,164 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: -* author: cxw -* date: 2024-09-24 14:01:07 -*/ -@Schema(description="") -@Data -@TableName("public.st_river_r_real") -public class StRiverRReal implements Serializable { - - public final static String thisTableName = "StRiverRReal"; - - private static final long serialVersionUID = 1L; - - /** - * stcd - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="stcd") - @Size(max = 20,message = "stcd最大长度要小于 20") - @NotBlank(message = "stcd不能为空") - @NotNull(message = "stcd不能为空") - private String stcd; - - /** - * tm - */ - @TableField(value="tm") - @Schema(description="tm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * z - */ - @TableField(value="z") - @Schema(description="z") - private BigDecimal z; - - /** - * q - */ - @TableField(value="q") - @Schema(description="q") - private BigDecimal q; - - /** - * xsa - */ - @TableField(value="xsa") - @Schema(description="xsa") - private BigDecimal xsa; - - /** - * xsavv - */ - @TableField(value="xsavv") - @Schema(description="xsavv") - private BigDecimal xsavv; - - /** - * xsmxv - */ - @TableField(value="xsmxv") - @Schema(description="xsmxv") - private BigDecimal xsmxv; - - /** - * flwchrcdf - */ - @TableField(value="flwchrcdf") - @Schema(description="flwchrcdf") - @Size(max = 1,message = "flwchrcdf最大长度要小于 1") - private String flwchrcdf; - - /** - * wptn - */ - @TableField(value="wptn") - @Schema(description="wptn") - @Size(max = 1,message = "wptn最大长度要小于 1") - private String wptn; - - /** - * maxz - */ - @TableField(value="maxz") - @Schema(description="maxz") - private BigDecimal maxz; - - /** - * maxtm - */ - @TableField(value="maxtm") - @Schema(description="maxtm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date maxtm; - - /** - * msqmt - */ - @TableField(value="msqmt") - @Schema(description="msqmt") - @Size(max = 1,message = "msqmt最大长度要小于 1") - private String msqmt; - - /** - * msamt - */ - @TableField(value="msamt") - @Schema(description="msamt") - @Size(max = 1,message = "msamt最大长度要小于 1") - private String msamt; - - /** - * msvmt - */ - @TableField(value="msvmt") - @Schema(description="msvmt") - @Size(max = 1,message = "msvmt最大长度要小于 1") - private String msvmt; - - /** - * chtm - */ - @TableField(value="chtm") - @Schema(description="chtm") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * warning - */ - @TableField(value="warning") - @Schema(description="warning") - private Integer warning; - - /** - * status - */ - @TableField(value="status") - @Schema(description="status") - private Integer status; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StRsvrR.java b/src/main/java/com/gunshi/project/xyt/model/StRsvrR.java deleted file mode 100644 index 5bce3a8..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StRsvrR.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 水库历史水位表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水库历史水位表") -@Data -@TableName("public.st_rsvr_r") -@JsonIgnoreProperties(ignoreUnknown = true) -public class StRsvrR implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * stcd - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="stcd") - @Size(max = 20,message = "stcd最大长度要小于 20") - @NotBlank(message = "stcd不能为空") - private String stcd; - - /** - * tm - */ - @TableField(value="tm") - @Schema(description="tm") - @NotNull(message = "tm不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * rz - */ - @TableField(value="rz") - @Schema(description="rz") - private String rz; - - /** - * inq - */ - @TableField(value="inq") - @Schema(description="inq") - private String inq; - - /** - * w - */ - @TableField(value="w") - @Schema(description="w") - private String w; - - /** - * blrz - */ - @TableField(value="blrz") - @Schema(description="blrz") - private String blrz; - - /** - * otq - */ - @TableField(value="otq") - @Schema(description="otq") - private String otq; - - /** - * rwchrcd - */ - @TableField(value="rwchrcd") - @Schema(description="rwchrcd") - @Size(max = 4,message = "rwchrcd最大长度要小于 4") - private String rwchrcd; - - /** - * rwptn - */ - @TableField(value="rwptn") - @Schema(description="rwptn") - @Size(max = 4,message = "rwptn最大长度要小于 4") - private String rwptn; - - /** - * inqdr - */ - @TableField(value="inqdr") - @Schema(description="inqdr") - // @Size(max = 0,message = "inqdr最大长度要小于 0") - private String inqdr; - - /** - * msqmt - */ - @TableField(value="msqmt") - @Schema(description="msqmt") - @Size(max = 4,message = "msqmt最大长度要小于 4") - private String msqmt; - - /** - * chtm - */ - @TableField(value="chtm") - @Schema(description="chtm") - // @Size(max = 0,message = "chtm最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * sendtm - */ - @TableField(value="sendtm") - @Schema(description="sendtm") - // @Size(max = 0,message = "sendtm最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date sendtm; - - /** - * receivetm - */ - @TableField(value="receivetm") - @Schema(description="receivetm") - // @Size(max = 0,message = "receivetm最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date receivetm; - - /** - * source_int - */ - @TableField(value="source_int") - @Schema(description="source_int") - // @Size(max = 0,message = "source_int最大长度要小于 0") - private Integer sourceInt; - - - @TableField(exist = false) - private Date stm;// 同步的数据的开始时间 - - @TableField(exist = false) - private Date etm;// 同步的数据的结束时间 - - @TableField(exist = false) - private String source;// 测站数据源 - - @TableField(exist = false) - private String sttp;// 测站类型 - - @TableField(exist = false) - private String z;// 山洪河道水位 - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StRsvrRReal.java b/src/main/java/com/gunshi/project/xyt/model/StRsvrRReal.java deleted file mode 100644 index 10e8f68..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StRsvrRReal.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 水库水位实时数据表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水库水位实时数据表") -@Data -@TableName("public.st_rsvr_r_real") -@JsonIgnoreProperties(ignoreUnknown = true) -public class StRsvrRReal implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * stcd - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="stcd") - @Size(max = 20,message = "stcd最大长度要小于 20") - @NotBlank(message = "stcd不能为空") - private String stcd; - - /** - * tm - */ - @TableField(value="tm") - @Schema(description="tm") - // @Size(max = 0,message = "tm最大长度要小于 0") - @NotNull(message = "tm不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * rz - */ - @TableField(value="rz") - @Schema(description="rz") - // @Size(max = 0,message = "rz最大长度要小于 0") - private String rz; - - /** - * inq - */ - @TableField(value="inq") - @Schema(description="inq") - // @Size(max = 0,message = "inq最大长度要小于 0") - private String inq; - - /** - * w - */ - @TableField(value="w") - @Schema(description="w") - // @Size(max = 0,message = "w最大长度要小于 0") - private String w; - - /** - * blrz - */ - @TableField(value="blrz") - @Schema(description="blrz") - // @Size(max = 0,message = "blrz最大长度要小于 0") - private String blrz; - - /** - * otq - */ - @TableField(value="otq") - @Schema(description="otq") - // @Size(max = 0,message = "otq最大长度要小于 0") - private String otq; - - /** - * rwchrcd - */ - @TableField(value="rwchrcd") - @Schema(description="rwchrcd") - @Size(max = 1,message = "rwchrcd最大长度要小于 1") - private String rwchrcd; - - /** - * rwptn - */ - @TableField(value="rwptn") - @Schema(description="rwptn") - @Size(max = 1,message = "rwptn最大长度要小于 1") - private String rwptn; - - /** - * inqdr - */ - @TableField(value="inqdr") - @Schema(description="inqdr") - // @Size(max = 0,message = "inqdr最大长度要小于 0") - private String inqdr; - - /** - * msqmt - */ - @TableField(value="msqmt") - @Schema(description="msqmt") - @Size(max = 1,message = "msqmt最大长度要小于 1") - private String msqmt; - - /** - * chtm - */ - @TableField(value="chtm") - @Schema(description="chtm") - // @Size(max = 0,message = "chtm最大长度要小于 0") - @NotNull(message = "chtm不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date chtm; - - /** - * warning - */ - @TableField(value="warning") - @Schema(description="warning") - // @Size(max = 0,message = "warning最大长度要小于 0") - private Integer warning; - - /** - * status - */ - @TableField(value="status") - @Schema(description="status") - // @Size(max = 0,message = "status最大长度要小于 0") - private Integer status; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java b/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java deleted file mode 100644 index daed4ec..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java +++ /dev/null @@ -1,541 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: sttp 以水利标准来 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="sttp 以水利标准来") -@Data -@TableName("public.st_stbprp_b") -public class StStbprpB implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测站编码 - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="测站编码") - @Size(max = 32,message = "测站编码最大长度要小于 32") - @NotBlank(message = "测站编码不能为空",groups = {Insert.class, Update.class}) - private String stcd; - - /** - * 测站名称 - */ - @TableField(value="stnm") - @Schema(description="测站名称") - @Size(max = 150,message = "测站名称最大长度要小于 150") - private String stnm; - - /** - * 河流名称 - */ - @TableField(value="rvnm") - @Schema(description="河流名称") - @Size(max = 300,message = "河流名称最大长度要小于 300") - private String rvnm; - - /** - * 水系名称 - */ - @TableField(value="hnnm") - @Schema(description="水系名称") - @Size(max = 300,message = "水系名称最大长度要小于 300") - private String hnnm; - - /** - * 流域名称 - */ - @TableField(value="bsnm") - @Schema(description="流域名称") - @Size(max = 300,message = "流域名称最大长度要小于 300") - private String bsnm; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - // @Size(max = 0,message = "经度最大长度要小于 0") - private String lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - // @Size(max = 0,message = "纬度最大长度要小于 0") - private String lttd; - - /** - * 站址 - */ - @TableField(value="stlc") - @Schema(description="站址") - @Size(max = 500,message = "站址最大长度要小于 500") - private String stlc; - - - /** - * alt - */ - @TableField(value="alt") - @Schema(description="alt") - // @Size(max = 0,message = "alt最大长度要小于 0") - private String alt; - - /** - * mdbz - */ - @TableField(value="mdbz") - @Schema(description="mdbz") - // @Size(max = 0,message = "mdbz最大长度要小于 0") - private String mdbz; - - /** - * mdpr - */ - @TableField(value="mdpr") - @Schema(description="mdpr") - // @Size(max = 0,message = "mdpr最大长度要小于 0") - private String mdpr; - - /** - * 基面名称 - */ - @TableField(value="dtmnm") - @Schema(description="基面名称") - @Size(max = 160,message = "基面名称最大长度要小于 160") - private String dtmnm; - - /** - * 基面高程 - */ - @TableField(value="dtmel") - @Schema(description="基面高程") - // @Size(max = 0,message = "基面高程最大长度要小于 0") - private String dtmel; - - /** - * 基面修正值 - */ - @TableField(value="dtpr") - @Schema(description="基面修正值") - // @Size(max = 0,message = "基面修正值最大长度要小于 0") - private String dtpr; - - /** - * 站类,PP=雨量站,RR=水库水位站,ZQ=河道水位站,TX=图像站 - */ - @TableField(value="sttp") - @Schema(description="站类,MM=气象站,PP=雨量站,BB=蒸发站,ZQ=河道水文站,DD=堰闸水文站,ZZ=河道水位站,TT=潮位站,RR=水库水文站,DP=泵站,ZG=地下水站,SS=墒情站,ZB=分洪水位站,QQ=流量站,TX=图像站,ZI=渠道水位站,ZL=田间水层,QI=渠道流量站,ZT=塘堰,ZS=渗压渗流站,GT=闸位站,SZ=水质站,PQ=管道流量站") - @Size(max = 30,message = "站类,MM=气象站,PP=雨量站,BB=蒸发站,ZQ=河道水文站,DD=堰闸水文站,ZZ=河道水位站,TT=潮位站,RR=水库水文站,DP=泵站,ZG=地下水站,SS=墒情站,ZB=分洪水位站,QQ=流量站,TX=图像站,ZI=渠道水位站,ZL=田间水层,QI=渠道流量站,ZT=塘堰,ZS=渗压渗流站,GT=闸位站,SZ=水质站,PQ=管道流量站。最大长度要小于 30") - private String sttp; - - /** - * dfrtms - */ - @TableField(value="dfrtms") - @Schema(description="dfrtms") - // @Size(max = 0,message = "dfrtms最大长度要小于 0") - private String dfrtms; - - /** - * fritm - */ - @TableField(value="fritm") - @Schema(description="fritm") - @Size(max = 320,message = "fritm最大长度要小于 320") - private String fritm; - - /** - * 报汛等级 - */ - @TableField(value="frgrd") - @Schema(description="报汛等级") - @Size(max = 500,message = "报汛等级最大长度要小于 500") - private String frgrd; - - /** - * 建站年月 - */ - @TableField(value="esstym") - @Schema(description="建站年月") - @Size(max = 60,message = "建站年月最大长度要小于 60") - private String esstym; - - /** - * bgfrym - */ - @TableField(value="bgfrym") - @Schema(description="bgfrym") - @Size(max = 60,message = "bgfrym最大长度要小于 60") - private String bgfrym; - - /** - * edfrym - */ - @TableField(value="edfrym") - @Schema(description="edfrym") - @Size(max = 60,message = "edfrym最大长度要小于 60") - private String edfrym; - - /** - * 隶属行业单位 - */ - @TableField(value="atcunit") - @Schema(description="隶属行业单位") - @Size(max = 200,message = "隶属行业单位最大长度要小于 200") - private String atcunit; - - /** - * 信息管理单位 - */ - @TableField(value="admauth") - @Schema(description="信息管理单位") - @Size(max = 500,message = "信息管理单位最大长度要小于 500") - private String admauth; - - /** - * 交换管理单位 - */ - @TableField(value="locality") - @Schema(description="交换管理单位") - @Size(max = 200,message = "交换管理单位最大长度要小于 200") - private String locality; - - /** - * 测站岸别 - */ - @TableField(value="stbk") - @Schema(description="测站岸别") - @Size(max = 1,message = "测站岸别最大长度要小于 1") - private String stbk; - - /** - * 测站方位 - */ - @TableField(value="stazt") - @Schema(description="测站方位") - // @Size(max = 0,message = "测站方位最大长度要小于 0") - private String stazt; - - /** - * 至河口距离 - */ - @TableField(value="dstrvm") - @Schema(description="至河口距离") - // @Size(max = 0,message = "至河口距离最大长度要小于 0") - private String dstrvm; - - /** - * 集水面积 - */ - @TableField(value="drna") - @Schema(description="集水面积") - // @Size(max = 0,message = "集水面积最大长度要小于 0") - private String drna; - - /** - * 拼音码 - */ - @TableField(value="phcd") - @Schema(description="拼音码") - @Size(max = 60,message = "拼音码最大长度要小于 60") - private String phcd; - - /** - * 启用标志 - */ - @TableField(value="usfl") - @Schema(description="启用标志") - @Size(max = 1,message = "启用标志最大长度要小于 1") - private String usfl; - - /** - * 备注 - */ - @TableField(value="comments") - @Schema(description="备注") - @Size(max = 200,message = "备注最大长度要小于 200") - private String comments; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - - /** - * rem_gd - */ - @TableField(value="rem_gd") - @Schema(description="rem_gd") - @Size(max = 300,message = "rem_gd最大长度要小于 300") - private String remGd; - - /** - * ogid - */ - @TableField(value="ogid") - @Schema(description="ogid") - @Size(max = 100,message = "ogid最大长度要小于 100") - private String ogid; - - /** - * vlfl - */ - @TableField(value="vlfl") - @Schema(description="vlfl") - // @Size(max = 0,message = "vlfl最大长度要小于 0") - private String vlfl; - - /** - * atid - */ - @TableField(value="atid") - @Schema(description="atid") - @Size(max = 180,message = "atid最大长度要小于 180") - private String atid; - - /** - * sdfl - */ - @TableField(value="sdfl") - @Schema(description="sdfl") - @Size(max = 500,message = "sdfl最大长度要小于 500") - private String sdfl; - - /** - * rma - */ - @TableField(value="rma") - @Schema(description="rma") - @Size(max = 256,message = "rma最大长度要小于 256") - private String rma; - - /** - * mdps - */ - @TableField(value="mdps") - @Schema(description="mdps") - @Size(max = 300,message = "mdps最大长度要小于 300") - private String mdps; - - /** - * mddt - */ - @TableField(value="mddt") - @Schema(description="mddt") - // @Size(max = 0,message = "mddt最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date mddt; - - /** - * stindex - */ - @TableField(value="stindex") - @Schema(description="stindex") - // @Size(max = 0,message = "stindex最大长度要小于 0") - private String stindex; - - /** - * starea - */ - @TableField(value="starea") - @Schema(description="starea") - @Size(max = 500,message = "starea最大长度要小于 500") - private String starea; - - /** - * stlevel - */ - @TableField(value="stlevel") - @Schema(description="stlevel") - @Size(max = 1,message = "stlevel最大长度要小于 1") - private String stlevel; - - /** - * code - */ - @TableField(value="code") - @Schema(description="code") - @Size(max = 300,message = "code最大长度要小于 300") - private String code; - - /** - * ispbj - */ - @TableField(value="ispbj") - @Schema(description="ispbj") - @Size(max = 1,message = "ispbj最大长度要小于 1") - private String ispbj; - - /** - * issxst - */ - @TableField(value="issxst") - @Schema(description="issxst") - @Size(max = 1,message = "issxst最大长度要小于 1") - private String issxst; - - /** - * stpq - */ - @TableField(value="stpq") - @Schema(description="stpq") - @Size(max = 500,message = "stpq最大长度要小于 500") - private String stpq; - - /** - * sthday - */ - @TableField(value="sthday") - @Schema(description="sthday") - // @Size(max = 0,message = "sthday最大长度要小于 0") - private Integer sthday; - - /** - * source - */ - @TableField(value="source") - @Schema(description="站点来源,SH=山洪,SW=水文,QX=气象,SK=水库") - @Size(max = 12,message = "站点来源,SH=山洪,SW=水文,QX=气象,SK=水库最大长度要小于 12") - @NotBlank(message = "站点来源不能为空") - private String source; - - /** - * importancy - */ - @TableField(value="importancy") - @Schema(description="importancy") - // @Size(max = 0,message = "importancy最大长度要小于 0") - private Integer importancy; - - /** - * clgtd - */ - @TableField(value="clgtd") - @Schema(description="clgtd") - // @Size(max = 0,message = "clgtd最大长度要小于 0") - private String clgtd; - - /** - * clttd - */ - @TableField(value="clttd") - @Schema(description="clttd") - // @Size(max = 0,message = "clttd最大长度要小于 0") - private String clttd; - - /** - * elev - */ - @TableField(value="elev") - @Schema(description="elev") - // @Size(max = 0,message = "elev最大长度要小于 0") - private String elev; - - /** - * crucial - */ - @TableField(value="crucial") - @Schema(description="crucial") - // @Size(max = 0,message = "crucial最大长度要小于 0") - private Integer crucial; - - /** - * build_year - */ - @TableField(value="build_year") - @Schema(description="build_year") - @Size(max = 50,message = "build_year最大长度要小于 50") - private String buildYear; - - /** - * 行政区划编码 - */ - @TableField(value="adcd") - @Schema(description="行政区划编码") - @Size(max = 15,message = "行政区划编码最大长度要小于 15") - private String adcd; - - /** - * 流域编码 - */ - @TableField(value="lyid") - @Schema(description="流域编码") - @Size(max = 255,message = "流域编码最大长度要小于 255") - private String lyid; - - /** - * 水库编码 - */ - @TableField(value="res_code") - @Schema(description="水库编码") - @Size(max = 255,message = "水库编码最大长度要小于 255") - private String resCode; - - /** - * 河流编码 - */ - @TableField(value="rv_code") - @Schema(description="河流编码") - @Size(max = 255,message = "河流编码最大长度要小于 255") - private String rvCode; - - /** - * 测站状态 0无效 1有效 - */ - @TableField(value="status") - @Schema(description="测站状态 0无效 1有效") - // @Size(max = 0,message = "测站状态 0无效 1有效最大长度要小于 0") - private Integer status; - - /** - * 归属协议 - */ - @Schema(description="归属协议") - @TableField(value="agreement") - private String agreement; - - /** - * SIM卡 - */ - @Schema(description="SIM卡") - @TableField(value="sim_card") - private String simCard; - - /** - * 北斗卡号 - */ - @Schema(description="北斗卡号") - @TableField(value="bd_card") - private String bdCard; - - public static final String COL_STCD = "stcd"; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StStbprpBElem.java b/src/main/java/com/gunshi/project/xyt/model/StStbprpBElem.java deleted file mode 100644 index 70540c2..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StStbprpBElem.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; - -/** -* 描述: 测站监测值类型 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="测站监测值类型") -@Data -@TableName("public.st_stbprp_b_elem") -public class StStbprpBElem implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测站编码 - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="测站编码") - @Size(max = 32,message = "测站编码最大长度要小于 32") - @NotBlank(message = "测站编码不能为空") - private String stcd; - - /** - * 监测值类型, z是水位,drp是雨量,img是图像 - */ - @TableField(value="elem") - @Schema(description="监测值类型, z是水位,drp是雨量,img是图像") - @Size(max = 4,message = "监测值类型, z是水位,drp是雨量,img是图像最大长度要小于 4") - @NotBlank(message = "监测值类型, z是水位,drp是雨量,img是图像不能为空") - private String elem; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StStbprpCctv.java b/src/main/java/com/gunshi/project/xyt/model/StStbprpCctv.java deleted file mode 100644 index ae29f5a..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StStbprpCctv.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; - -/** - * Description: 测站与视频监控关联表 - * Created by XuSan on 2024/3/5. - * - * @author XuSan - * @version 1.0 - */ -@Schema -@Data -@TableName(value = "public.st_stbprp_cctv") -public class StStbprpCctv implements Serializable { - - @TableId(value = "id", type = IdType.INPUT) - @Schema(description="主键id") - @NotNull(message = "主键不能为空", groups = {Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - @TableField(value = "stcd") - @Schema(description="测站编码") - @NotBlank(message = "测站编码不能为空", groups = {Insert.class,Update.class}) - private String stcd; - - @TableField(value = "cam_id") - @Schema(description="视频id") - @NotBlank(message = "视频id不能为空", groups = {Insert.class,Update.class}) - private String camId; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StWaterR.java b/src/main/java/com/gunshi/project/xyt/model/StWaterR.java deleted file mode 100644 index 67100e7..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StWaterR.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 供水量表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="供水量表") -@Data -@TableName("public.st_water_r") -@EqualsAndHashCode(callSuper = true) -public class StWaterR extends GenericPageParams implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测站编码 - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 20") -// @NotBlank(message = "测站编码不能为空") - private String stcd; - - /** - * 时间 - */ - @TableField(value="tm") - @Schema(description="时间") - // @Size(max = 0,message = "时间最大长度要小于 0") -// @NotBlank(message = "时间不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 流量 - */ - @TableField(value="q") - @Schema(description="流量") - // @Size(max = 0,message = "流量最大长度要小于 0") - private BigDecimal q; - - /** - * 核定流量 - */ - @TableField(exist = false) - @Schema(description="核定流量") - private BigDecimal approvalV; - - /** - * 是否达标 - */ - @TableField(exist = false) - @Schema(description="是否达标") - private Boolean isStandard; - - /** - * 水量 - */ - @TableField(value="v") - @Schema(description="水量") - // @Size(max = 0,message = "水量最大长度要小于 0") - private BigDecimal v; - - - /** - * 选择的起始时间 - */ - @Schema(description = "选择的起始时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date startTime; - - /** - * 选择的结束时间 - */ - @Schema(description = "选择的结束时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date endTime; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StWaterRReal.java b/src/main/java/com/gunshi/project/xyt/model/StWaterRReal.java deleted file mode 100644 index 8a3632b..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StWaterRReal.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 供水量实时表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="供水量实时表") -@Data -@TableName("public.st_water_r_real") -public class StWaterRReal implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 测站编码 - */ - @TableId(value="stcd", type= IdType.AUTO) - @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 20") - @NotBlank(message = "测站编码不能为空") - private String stcd; - - /** - * 时间 - */ - @TableField(value="tm") - @Schema(description="时间") - // @Size(max = 0,message = "时间最大长度要小于 0") - @NotNull(message = "时间不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 流量 - */ - @TableField(value="q") - @Schema(description="流量") - // @Size(max = 0,message = "流量最大长度要小于 0") - private BigDecimal q; - - /** - * 水量 - */ - @TableField(value="v") - @Schema(description="水量") - // @Size(max = 0,message = "水量最大长度要小于 0") - private String v; - - // 站类 - @TableField(exist = false) - private String sttp; - - // 月核定流量 - @TableField(exist = false) - private ResMonthEcoFlow resMonthEcoFlow; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StWaterRReorganize.java b/src/main/java/com/gunshi/project/xyt/model/StWaterRReorganize.java deleted file mode 100644 index 44391dc..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StWaterRReorganize.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.page.GenericPageParams; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** -* 描述: 供水量整编表 -* author: cxw -* date: 2024-07-24 11:22:46 -*/ -@EqualsAndHashCode(callSuper = true) -@Schema(description="供水量整编表") -@Data -@TableName("public.st_water_r_reorganize") -public class StWaterRReorganize extends GenericPageParams implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 时间(年月日 时) - */ - @TableId(value="tm", type= IdType.NONE) - @Schema(description="时间(年月日 时)") - @Size(max = 13,message = "时间(年月日 时)最大长度要小于 13") -// @NotBlank(message = "时间(年月日 时)不能为空") -// @NotNull(message = "时间(年月日 时)不能为空") - private String tm; - - /** - * 流量(生态供水) - */ - @TableField(value="ecology_q") - @Schema(description="流量(生态供水)") - private BigDecimal ecologyQ; - - /** - * 水量(生态供水) - */ - @TableField(value="ecology_v") - @Schema(description="水量(生态供水)") - private BigDecimal ecologyV; - - /** - * 流量(生活供水) - */ - @TableField(value="life_q") - @Schema(description="流量(生活供水)") - private BigDecimal lifeQ; - - /** - * 水量(生活供水) - */ - @TableField(value="life_v") - @Schema(description="水量(生活供水)") - private BigDecimal lifeV; - - /** - * 水量小计 - */ - @TableField(value="sum_v") - @Schema(description="水量小计") - private BigDecimal sumV; - - /** - * 查询时间类型 - */ - @Schema(description = "查询时间类型searchType:1-小时 2-日 3-月 4-年") - @TableField(exist = false) - @NotNull(message = "查询时间类型searchType不能为空") - private String searchType; - - /** - * 选择的起始时间 - */ - @Schema(description = "选择的起始时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date startTime; - - /** - * 选择的结束时间 - */ - @Schema(description = "选择的结束时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @TableField(exist = false) - private Date endTime; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/StZqrlB.java b/src/main/java/com/gunshi/project/xyt/model/StZqrlB.java deleted file mode 100644 index 950401f..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StZqrlB.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Delete; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.Date; - -/** -* 描述: 水位流量关系曲线表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="水位流量关系曲线表") -@Data -@TableName("public.st_zqrl_b") -public class StZqrlB implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - /** - * 测站编码 - */ - @TableField(value="stcd") - @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 8") - @NotBlank(message = "测站编码不能为空") - private String stcd; - - /** - * 曲线名称 - */ - @TableField(value="lnnm") - @Schema(description="曲线名称") - @Size(max = 30,message = "曲线名称最大长度要小于 30") - private String lnnm; - - /** - * 启用时间 - */ - @TableField(value="bgtm") - @Schema(description="启用时间") - // @Size(max = 0,message = "启用时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date bgtm; - - /** - * 点序号 - */ - @TableField(value="ptno") - @Schema(description="点序号") - // @Size(max = 0,message = "点序号最大长度要小于 0") - private Integer ptno; - - /** - * 水位 - */ - @TableField(value="z") - @Schema(description="水位") - // @Size(max = 0,message = "水位最大长度要小于 0") - @NotNull(message = "水位不能为空",groups = {Insert.class, Update.class, Delete.class}) - private BigDecimal z; - - /** - * 流量 - */ - @TableField(value="q") - @Schema(description="流量") - // @Size(max = 0,message = "流量最大长度要小于 0") - @NotNull(message = "流量不能为空",groups = {Insert.class, Update.class, Delete.class}) - private BigDecimal q; - - /** - * 备注 - */ - @TableField(value="comments") - @Schema(description="备注") - @Size(max = 200,message = "备注最大长度要小于 200") - private String comments; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - - - @Schema(description="水库代码") - @TableField(exist = false) - private String resCode; - - @Schema(description="流量和") - @TableField(exist = false) - private BigDecimal qtotal; - - // 新增方法获取LocalDateTime - public LocalDateTime getModitimeAsLocalDateTime() { - if (moditime == null) { - return null; - } - return moditime.toInstant() - .atZone(ZoneId.systemDefault()) - .toLocalDateTime(); - } -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java b/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java deleted file mode 100644 index b017941..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Delete; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** -* 描述: 库( 湖)容曲线表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="库( 湖)容曲线表") -@Data -@TableName("public.st_zvarl_b") -public class StZvarlB implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 测站编码 - */ - @TableField(value="stcd") - @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 8") - private String stcd; - - /** - * 施测时间 - */ - @TableField(value="mstm") - @Schema(description="施测时间") - // @Size(max = 0,message = "施测时间最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date mstm; - - /** - * 点序号 - */ - @TableField(value="ptno") - @Schema(description="点序号") - // @Size(max = 0,message = "点序号最大长度要小于 0") - private Integer ptno; - - /** - * 库水位 - */ - @TableField(value="rz") - @Schema(description="库水位") - @NotNull(message = "库水位不能为空",groups = {Insert.class, Update.class, Delete.class}) - private BigDecimal rz; - - /** - * 蓄水量 - */ - @TableField(value="w") - @Schema(description="蓄水量") - @NotNull(message = "蓄水量不能为空",groups = {Insert.class, Update.class, Delete.class}) - private BigDecimal w; - - /** - * 水面面积 - */ - @TableField(value="wsfa") - @Schema(description="水面面积") - // @Size(max = 0,message = "水面面积最大长度要小于 0") - private BigDecimal wsfa; - - /** - * 时间戳 - */ - @TableField(value="moditime") - @Schema(description="时间戳") - // @Size(max = 0,message = "时间戳最大长度要小于 0") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date moditime; - - /** - * 库容(万m³) - */ - @TableField(value="tot_cap") - @Schema(description="库容(万m³)") - // @Size(max = 0,message = "库容(万m³)最大长度要小于 0") - private BigDecimal totCap; - - @Schema(description="水库代码") - @TableField(exist = false) - private String resCode; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/SysDictB.java b/src/main/java/com/gunshi/project/xyt/model/SysDictB.java deleted file mode 100644 index e683ad4..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SysDictB.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 系统字典表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="系统字典表") -@Data -@TableName("public.sys_dict_b") -public class SysDictB implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * ID - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="ID") - // @Size(max = 0,message = "ID最大长度要小于 0") - @NotNull(message = "ID不能为空",groups = { Update.class}) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 字典名称 - */ - @TableField(value="dict_nm") - @Schema(description="字典名称") - @Size(max = 250,message = "字典名称最大长度要小于 250") - @NotBlank(message = "字典名称不能为空",groups = {Insert.class, Update.class}) - private String dictNm; - - /** - * 字典编码 - */ - @TableField(value="dict_cd") - @Schema(description="字典编码") - @Size(max = 250,message = "字典编码最大长度要小于 250") - @NotBlank(message = "字典编码不能为空",groups = {Insert.class, Update.class}) - private String dictCd; - - /** - * 父id - */ - @TableField(value="pid") - @Schema(description="父id") - // @Size(max = 0,message = "父id最大长度要小于 0") - @JsonSerialize(using = ToStringSerializer.class) - private Long pid; - - /** - * 排序字段 - */ - @TableField(value="sort_on") - @Schema(description="排序字段") - // @Size(max = 0,message = "排序字段最大长度要小于 0") -// @NotNull(message = "排序字段不能为空",groups = {Insert.class, Update.class}) - private Integer sortOn; - - /** - * 创建时间 - */ - @TableField(value="create_tm") - @Schema(description="创建时间") - // @Size(max = 0,message = "创建时间最大长度要小于 0") -// @NotNull(message = "创建时间不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTm; - - /** - * 修改时间 - */ - @TableField(value="tm") - @Schema(description="修改时间") - // @Size(max = 0,message = "修改时间最大长度要小于 0") -// @NotBlank(message = "修改时间不能为空") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date tm; - - /** - * 状态 1:启用 0:禁用 - */ - @TableField(value="status") - @Schema(description="状态 1:启用 0:禁用") - // @Size(max = 0,message = "状态 1:启用 0:禁用最大长度要小于 0") - private Integer status; - - - @TableField(exist = false) - @Schema(description="子集") - private List children; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/SzCase.java b/src/main/java/com/gunshi/project/xyt/model/SzCase.java deleted file mode 100644 index f8b85a3..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SzCase.java +++ /dev/null @@ -1,354 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Schema(description="案件登记表") -@Data -@TableName("public.sz_case") -public class SzCase extends CommUpdate implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - -// /** -// * 填报人Id -// */ -// @TableField(value="create_by") -// @Schema(description="填报人Id") -// @NotNull(message = "填报人Id不能为空",groups = {Insert.class, Update.class}) -// @JsonSerialize(using = ToStringSerializer.class) -// private Long createBy; -// -// /** -// * 填报人名字 -// */ -// @TableField(value="create_name") -// @Schema(description="填报人名字") -// @Size(max = 30,message = "填报人名字最大长度要小于 30") -// @NotBlank(message = "填报人名字不能为空",groups = {Insert.class, Update.class}) -// private String createName; -// -// @Schema(description="填报时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) -// @NotNull(message = "填报时间不能为空") -// @TableField(value="create_time") -// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") -// private Date createTime; - - /** - * 案件编号 - */ - @TableField(value="case_id") - @Schema(description="案件编号") - @Size(max = 50,message = "案件编号最大长度要小于 50") - private String caseId; - - /** - * 案件名称 - */ - @TableField(value="case_name") - @Schema(description="案件名称") - @Size(max = 50,message = "案件名称最大长度要小于 50") - @NotBlank(message = "案件名称不能为空",groups = {Insert.class, Update.class}) - private String caseName; - - /** - * 案件类型 - */ - @TableField(value="case_type") - @Schema(description="案件类型 0:违建,1:毁林垦荒,2:筑坝拦汊,3:填占库容,4:违法取水,5:其他") - @Size(max = 1,message = "案件类型最大长度为 1") - @NotNull(message = "案件类型不能为空",groups = {Insert.class, Update.class}) - private Integer caseType; - - /** - * 经度 - */ - @TableField(value="lgtd") - @Schema(description="经度") - private String lgtd; - - /** - * 纬度 - */ - @TableField(value="lttd") - @Schema(description="纬度") - private String lttd; - - /** - * 发现时间 - */ - @TableField(value="case_date") - @Schema(description="发现时间") - @NotNull(message = "发现时间不能为空",groups = {Insert.class, Update.class}) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date caseDate; - - /** - * 发现地点 - */ - @TableField(value="case_address") - @Schema(description="发现地点") - @NotBlank(message = "发现地点不能为空",groups = {Insert.class, Update.class}) - @Size(max = 100,message = "案件类型最大长度要小于 100") - private String caseAddress; - - /** - * 案件来源 - */ - @TableField(value="case_source") - @Schema(description="案件来源 0:巡查上报,1:自主发现,2:公共举报,3:电话举报,4:其他") - @NotNull(message = "案件来源不能为空",groups = {Insert.class, Update.class}) - @Size(max = 1,message = "案件类型最大长度要小于 2") - private Integer caseSource; - - /** - * 违法时间 - */ - @TableField(value="illegal_date") - @Schema(description="违法时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date illegalDate; - - - /** - * 当事人类型 - */ - @TableField(value="party_type") - @Schema(description="当事人类型 0:自然人,1:法人或其他组织,2:待定") - @NotNull(message = "当事人类型不能为空",groups = {Insert.class, Update.class}) - @Size(max = 1,message = "当事人类型最大长度要小于 2") - private Integer partyType; - - /** - * 当事人姓名 - */ - @TableField(value="party_name") - @Schema(description="当事人姓名") - @Size(max = 10,message = "当事人姓名最大长度要小于 10") - private String partyName; - - /** - * 身份证号 - */ - @TableField(value="id_number") - @Schema(description="身份证号") - @Size(max = 30,message = "身份证号最大长度要小于 30") - private String idNumber; - - /** - * 当事人住址 - */ - @TableField(value="party_addr") - @Schema(description="当事人住址") - @Size(max = 50,message = "当事人住址最大长度要小于 50") - private String partyAddr; - - /** - * 简要案情 - */ - @TableField(value="intro") - @Schema(description="简要案情") - @Size(max = 500,message = "简要案情最大长度要小于 500") - private String intro; - - /** - * 处理程序 - */ - @TableField(value="processor") - @Schema(description="处理程序 0:简易程序,1:一般程序") - @Size(max = 1,message = "处理程序最大长度要小于 2") - private Integer processor; - - /** - * 处理依据 - */ - @TableField(value="treatment_basis") - @Schema(description="处理依据") - @Size(max = 50,message = "处理程序最大长度要小于 50") - private String treatmentBasis; - - /** - * 处理措施 - */ - @TableField(value="treatment_measure") - @Schema(description="处理措施") - @Size(max = 50,message = "处理措施最大长度要小于 50") - private String treatmentMeasure; - - /** - * 移送处理情况 - */ - @TableField(value="transfer") - @Schema(description="移送处理情况 0:不移送,1:移送单位") - @Size(max = 1,message = "移送处理情况最大长度要小于 2") - private Integer transfer; - - /** - * 案件执行情况 - */ - @TableField(value="caseImplementation") - @Schema(description="案件执行情况 0:当事人自动履行,1:行政强制执行") - @Size(max = 1,message = "案件执行情况最大长度要小于 2") - private Integer caseImplementation; - - /** - * 自动履行情况 - */ - @TableField(value="performance") - @Schema(description="自动履行情况") - @Size(max = 500,message = "自动履行情况最大长度要小于 500") - private String performance; - - /** - * 伤亡人数(人) - */ - @TableField(value="casualties") - @Schema(description="伤亡人数(人)") - private Integer casualties; - - /** - * 直接损失金额(万元) - */ - @TableField(value="direct_loss_amount") - @Schema(description="直接损失金额(万元)") - private BigDecimal directLossAmount; - - /** - * 结案情况 - */ - @TableField(value="close_status") - @Schema(description="结案情况 0:正常结案,1:其他方式结案,2:未结案") - private Integer closeStatus; - - /** - * 结案时间 - */ - @TableField(value="close_date") - @Schema(description="结案时间 " + DateFormatString.YYYY_MM_DD_HH_MM_SS) - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date closeDate; - - /** - * 文件编号及名称 - */ - @TableField(value="doc_num_name") - @Schema(description="文件编号及名称 ") - @Size(max = 100,message = "文件编号及名称最大长度要小于 100") - private String docNumName; - - /** - * 督办单位类型 - */ - @TableField(value="unit_type") - @Schema(description="督办单位类型 0:上级督办,1:本级河长督办") - private Integer unitType; - - /** - * 督办单位名称 - */ - @TableField(value="unit_name") - @Schema(description="督办单位名称") - private String unitName; - - /** - * 行政复议情况 - */ - @TableField(value="administrative_reconsideration") - @Schema(description="行政复议情况 0:维护,1:变更,2:撤销,3:和解,4:调解") - private Integer administrativeReconsideration; - - /** - * 行政应诉情况 - */ - @TableField(value="administrative_response") - @Schema(description="行政复议情况 0:驳回原告诉讼,1:撤销,2:变更,3:确认违法,4:确认无效,5:其他") - private Integer administrativeResponse; - - /** - * 保管人员 - */ - @TableField(value="custodian") - @Schema(description="保管人员") - private String custodian; - - /** - * 保管地点 - */ - @TableField(value="storage_location") - @Schema(description="保管地点") - private String storageLocation; - - - @TableField(exist = false) - @Schema(description = "基本情况文件集合") - private List files1; - - @TableField(exist = false) - @Schema(description = "处理情况文件集合") - private List files2; - - @TableField(exist = false) - @Schema(description = "办案卷宗-立案文件集合") - private List files3; - - @TableField(exist = false) - @Schema(description = "办案卷宗-调查取证文件集合") - private List files4; - - @TableField(exist = false) - @Schema(description = "办案卷宗-审查处理文件集合") - private List files5; - - @TableField(exist = false) - @Schema(description = "办案卷宗-送达执行文件集合") - private List files6; - - @TableField(exist = false) - @Schema(description = "办案卷宗-结案文件集合") - private List files7; - - @TableField(exist = false) - @Schema(description = "历史影像及图片-整改前文件集合") - private List files8; - - @TableField(exist = false) - @Schema(description = "历史影像及图片-整改后文件集合") - private List files9; - -} diff --git a/src/main/java/com/gunshi/project/xyt/model/SzRegulatoryFramework.java b/src/main/java/com/gunshi/project/xyt/model/SzRegulatoryFramework.java deleted file mode 100644 index 0a2cef7..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SzRegulatoryFramework.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Schema(description="制度管理表") -@Data -@TableName("public.sz_regulatory_framework") -public class SzRegulatoryFramework extends CommUpdate implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 标题 - */ - @TableField(value="name") - @Schema(description="标题") - @Size(max = 30,message = "标题最大长度要小于 30") - @NotBlank(message = "标题不能为空",groups = {Insert.class, Update.class}) - private String name; - - - /** - * 发布单位 - */ - @TableField(value="fill_unit") - @Schema(description="发布单位") - @Size(max = 50,message = "发布单位最大长度要小于 50") - private String fillUnit; - - /** - * 发布日期 - */ - @TableField(value="release_date") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - @Schema(description="发布日期") - private Date releaseDate; - - /** - * 制度类型 - */ - @TableField(value="type") - @Schema(description="制度类型 0:党支部工作制度,1:行政工作制度,2:部门工作制度,3:安全管理制度,4:工程管理制度,5:技术规程,6:岗位责任制") - @NotNull(message = "制度类型不能为空",groups = {Insert.class, Update.class}) - @Size(max = 1,message = "制度类型最大长度要小于 2") - private Integer type; - - - - /** - * 上传时间 - */ - @Schema(description="上传时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) - @TableField(value="upload_date") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date uploadDate; - - -// /** -// * 创建人Id -// */ -// @TableField(value="create_by") -// @Schema(description="填报人Id") -// @NotNull(message = "填报人Id不能为空",groups = {Insert.class, Update.class}) -// @JsonSerialize(using = ToStringSerializer.class) -// private Long createBy; -// -// /** -// * 创建人名字 -// */ -// @TableField(value="create_name") -// @Schema(description="填报人名字") -// @Size(max = 30,message = "填报人名字最大长度要小于 30") -// @NotBlank(message = "填报人名字不能为空",groups = {Insert.class, Update.class}) -// private String createName; -// -// /** -// * 创建人时间 -// */ -// @Schema(description="填报时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) -// @NotNull(message = "填报时间不能为空") -// @TableField(value="create_time") -// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") -// private Date createTime; -// -// /** -// * 更新人Id -// */ -// @TableField(value="update_by") -// @Schema(description="更新人Id") -// @JsonSerialize(using = ToStringSerializer.class) -// private Long updateBy; -// -// /** -// * 更新人名字 -// */ -// @TableField(value="update_name") -// @Schema(description="更新人名字") -// @NotBlank(message = "更新人名字不能为空",groups = {Insert.class, Update.class}) -// private String updateName; -// -// /** -// * 更新时间 -// */ -// @Schema(description="更新时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) -// @TableField(value="update_time") -// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") -// private Date updateTime; - - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; - - @TableField(exist = false) - @Schema(description = "第一次上次时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date minUpTime; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/SzRuleByLaw.java b/src/main/java/com/gunshi/project/xyt/model/SzRuleByLaw.java deleted file mode 100644 index 9e950a5..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SzRuleByLaw.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@EqualsAndHashCode(callSuper = true) -@Schema(description="法律法规管理表") -@Data -@TableName("public.sz_rule_by_law") -public class SzRuleByLaw extends CommUpdate implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 标题 - */ - @TableField(value="name") - @Schema(description="标题") - @Size(max = 30,message = "标题最大长度要小于 30") - @NotBlank(message = "标题不能为空",groups = {Insert.class, Update.class}) - private String name; - - /** - * 制定机关 - */ - @TableField(value="fill_unit") - @Schema(description="制定机关") - @Size(max = 50,message = "制定机关最大长度要小于 50") - private String fillUnit; - - /** - * 法律性质 - */ - @TableField(value="type") - @Schema(description="法律性质 0:宪法,1:法律,2:行政法规,3:督察法规,4:司法解释,5:地方性法规") - @NotNull(message = "法律性质不能为空",groups = {Insert.class, Update.class}) - @Size(max = 1,message = "法律性质最大长度要小于 2") - private Integer type; - - /** - * 时效性 - */ - @TableField(value="timeliness") - @Schema(description="时效性 0:尚未生效,1:有效,2:已修改,3:已废止") - @NotNull(message = "时效性不能为空",groups = {Insert.class, Update.class}) - @Size(max = 1,message = "时效性最大长度要小于 2") - private Integer timeliness; - - - /** - * 公布日期 - */ - @Schema(description="公布日期 格式:" + DateFormatString.YYYY_MM_DD) - @TableField(value="announcement_date") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date announcementDate; - - - - /** - * 施行日期 - */ - @Schema(description="施行日期 格式:" + DateFormatString.YYYY_MM_DD) - @TableField(value="implementation_date") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date implementationDate; - - /** - * 上传时间 - */ - @Schema(description="上传时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) - @TableField(value="upload_date") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date uploadDate; - - - @TableField(exist = false) - @Schema(description = "文件集合") - private List files; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/SzTreatmentBasis.java b/src/main/java/com/gunshi/project/xyt/model/SzTreatmentBasis.java deleted file mode 100644 index 6ef1385..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/SzTreatmentBasis.java +++ /dev/null @@ -1,153 +0,0 @@ -package com.gunshi.project.xyt.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.project.xyt.validate.markers.Insert; -import com.gunshi.project.xyt.validate.markers.Update; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Schema(description="处理依据表") -@Data -@TableName("public.sz_treatment_basis") -public class SzTreatmentBasis extends CommUpdate implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 节点id - */ - @TableField(value="p_id") - @Schema(description="节点id") - @JsonSerialize(using = ToStringSerializer.class) - private Long pId; - -// /** -// * 创建人Id -// */ -// @TableField(value="create_by") -// @Schema(description="填报人Id") -// @NotNull(message = "填报人Id不能为空",groups = {Insert.class, Update.class}) -// @JsonSerialize(using = ToStringSerializer.class) -// private Long createBy; -// -// /** -// * 创建人名字 -// */ -// @TableField(value="create_name") -// @Schema(description="填报人名字") -// @Size(max = 30,message = "填报人名字最大长度要小于 30") -// @NotBlank(message = "填报人名字不能为空",groups = {Insert.class, Update.class}) -// private String createName; -// -// /** -// * 创建人时间 -// */ -// @Schema(description="填报时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) -// @NotNull(message = "填报时间不能为空") -// @TableField(value="create_time") -// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") -// private Date createTime; - - /** - * 状态 - */ - @TableField(value="status") - @Schema(description="状态 0:启用,1:禁用") - @NotNull(message = "状态不能为空",groups = {Insert.class, Update.class}) - @Size(max = 1,message = "状态最大长度要小于 2") - private Integer status; - - /** - * 节点 - */ - @TableField(value="legal_name") - @Schema(description="法律名称") - @Size(max = 200,message = "法律名称最大长度要小于 200") - @NotBlank(message = "法律名称不能为空",groups = {Insert.class, Update.class}) - private String legalName; - - /** - * 法条内容 - */ - @TableField(value="legal_content") - @Schema(description="法条内容") - @Size(max = 2000,message = "法条内容最大长度要小于 2000") - private String legalContent; - - /** - * 违法行为描述 - */ - @TableField(value="violation_desc") - @Schema(description="违法行为描述") - @Size(max = 2000,message = "违法行为描述最大长度要小于 2000") - private String violationDesc; - - /** - * 处罚措施 - */ - @TableField(value="penalties") - @Schema(description="处罚措施") - @Size(max = 2000,message = "处罚措施最大长度要小于 2000") - private String penalties; - - @TableField(value="display") - @Schema(description="给需要不显示禁用的菜单项使用,0=不显示") - private Integer display; - -// /** -// * 更新人Id -// */ -// @TableField(value="update_by") -// @Schema(description="更新人Id") -// @NotNull(message = "更新人Id不能为空",groups = {Insert.class, Update.class}) -// @JsonSerialize(using = ToStringSerializer.class) -// private Long updateBy; -// -// /** -// * 更新人名字 -// */ -// @TableField(value="update_name") -// @Schema(description="更新人名字") -// @Size(max = 30,message = "更新人名字最大长度要小于 30") -// private String updateName; -// -// /** -// * 更新时间 -// */ -// @Schema(description="更新时间 格式:" + DateFormatString.YYYY_MM_DD_HH_MM_SS) -// @TableField(value="update_time") -// @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") -// private Date updateTime; - - - @TableField(exist = false) - @Schema(description = "子集") - private List children; -} diff --git a/src/main/java/com/gunshi/project/xyt/model/TermiteAdverPic.java b/src/main/java/com/gunshi/project/xyt/model/TermiteAdverPic.java deleted file mode 100644 index a800757..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/TermiteAdverPic.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** -* 描述: 白蚁防治宣传图片墙 -* author: xusan -* date: 2024-08-29 17:33:08 -*/ -@Schema(description="白蚁防治宣传图片墙") -@Data -@TableName("public.termite_adver_pic") -public class TermiteAdverPic implements Serializable { - - public final static String thisTableName = "TermiteAdverPic"; - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 图片标题 - */ - @TableField(value="pic_title") - @Schema(description="图片标题") - @Size(max = 50,message = "图片标题最大长度要小于 50") - private String picTitle; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - @TableField(exist = false) - @Schema(description = "图片") - private FileAssociations pic; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java b/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java deleted file mode 100644 index 6ac9e24..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** -* 描述: 白蚁普查 -* author: xusan -* date: 2024-08-28 10:29:58 -*/ -@Schema(description="白蚁普查") -@Data -@TableName("public.termite_survey") -public class TermiteSurvey implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 上报时间 - */ - @TableField(value="report_date") - @Schema(description="上报时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date reportDate; - - /** - * 普查类型(1日常检查排查 2定期普查 3专项调查) - */ - @TableField(value="survey_type") - @Schema(description="普查类型(1日常检查排查 2定期普查 3专项调查)") - private Integer surveyType; - - /** - * 普查方式(1人工排查法 2引诱法 3仪器探测法 4其它) - */ - @TableField(value="survey_way") - @Schema(description="普查方式(1人工排查法 2引诱法 3仪器探测法 4其它)") - private Integer surveyWay; - - /** - * 上报人id - */ - @TableField(value="report_user_id") - @Schema(description="上报人id") - @JsonSerialize(using = ToStringSerializer.class) - private Long reportUserId; - - /** - * 上报人 - */ - @TableField(value="report_user_name") - @Schema(description="上报人") - @Size(max = 50,message = "上报人最大长度要小于 50") - private String reportUserName; - - /** - * 创建时间 - */ - @TableField(value="create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - @TableField(exist = false) - @Schema(description = "白蚁危害处数") - private Integer harmNum = 0; - - @TableField(exist = false) - @Schema(description = "已处置处数") - private Integer handleNum = 0; - - @TableField(exist = false) - @Schema(description = "明细") - private List details; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/TermiteSurveyDetail.java b/src/main/java/com/gunshi/project/xyt/model/TermiteSurveyDetail.java deleted file mode 100644 index 9e507ae..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/TermiteSurveyDetail.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** -* 描述: 白蚁普查明细 -* author: xusan -* date: 2024-08-28 10:25:17 -*/ -@Schema(description="白蚁普查明细") -@Data -@TableName("public.termite_survey_detail") -public class TermiteSurveyDetail implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="主键") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 普查id - */ - @TableField(value="survey_id") - @Schema(description="普查id") - @JsonSerialize(using = ToStringSerializer.class) - private Long surveyId; - - /** - * 部位 - */ - @TableField(value="position") - @Schema(description="部位") - @Size(max = 50,message = "部位最大长度要小于 50") - private String position; - - /** - * 危害情况(0 无危害 1有危害) - */ - @TableField(value="is_harm") - @Schema(description="危害情况(0 无危害 1有危害)") - private Integer isHarm; - - /** - * 桩号 - */ - @TableField(value="pile_number") - @Schema(description="桩号") - @Size(max = 50,message = "桩号最大长度要小于 50") - private String pileNumber; - - /** - * 普查长度(m) - */ - @TableField(value="survey_len") - @Schema(description="普查长度(m)") - private BigDecimal surveyLen; - - /** - * 是否致险(0否 1是) - */ - @TableField(value="is_danger") - @Schema(description="是否致险(0否 1是)") - private Integer isDanger; - - /** - * 渗漏处数 - */ - @TableField(value="leakage") - @Schema(description="渗漏处数") - private Integer leakage; - - /** - * 穿坝处数 - */ - @TableField(value="dam_cross") - @Schema(description="穿坝处数") - private Integer damCross; - - /** - * 跌窝处数 - */ - @TableField(value="fall_nest") - @Schema(description="跌窝处数") - private Integer fallNest; - - /** - * 是否已处置(0否 1是) - */ - @TableField(value="is_handle") - @Schema(description="是否已处置(0否 1是)") - private Integer isHandle; - - /** - * 处置情况说明 - */ - @TableField(value="handle_desc") - @Schema(description="处置情况说明") - @Size(max = 500,message = "处置情况说明最大长度要小于 500") - private String handleDesc; - - @TableField(exist = false) - @Schema(description = "活动迹象") - private List actSign; - - @TableField(exist = false) - @Schema(description = "现场图片") - private List pics; - - @TableField(exist = false) - @Schema(description = "现场视频") - private List videos; - - @TableField(exist = false) - @Schema(description = "监测时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date reportDate; - - @TableField(exist = false) - @Schema(description = "记录时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/TyYearRainfall.java b/src/main/java/com/gunshi/project/xyt/model/TyYearRainfall.java deleted file mode 100644 index d9b5d74..0000000 --- a/src/main/java/com/gunshi/project/xyt/model/TyYearRainfall.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.gunshi.project.xyt.model; - - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** -* 描述: 典型年降雨资料表 -* author: xusan -* date: 2024-07-08 17:34:26 -*/ -@Schema(description="典型年降雨资料表") -@Data -@TableName("public.ty_year_rainfall") -public class TyYearRainfall implements Serializable { - - - private static final long serialVersionUID = 1L; - - /** - * id - */ - @TableId(value="id", type= IdType.AUTO) - @Schema(description="id") - @NotNull(message = "id不能为空") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 类型(1年 2月) - */ - @TableField(value="type") - @Schema(description="类型(1年 2月)") - private Integer type; - - /** - * 年 - */ - @TableField(value="year") - @Schema(description="年") - private Integer year; - - /** - * 月 - */ - @TableField(value="month") - @Schema(description="月") - private Integer month; - - /** - * 降雨量 - */ - @TableField(value="drp") - @Schema(description="降雨量") - private BigDecimal drp; - - /** - * 丰平枯(1枯 2偏枯 3平 4偏丰 5丰) - */ - @TableField(value="status") - @Schema(description="丰平枯(1枯 2偏枯 3平 4偏丰 5丰)") - private Integer status; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/schedule/SchedulerConfig.java b/src/main/java/com/gunshi/project/xyt/schedule/SchedulerConfig.java deleted file mode 100644 index 0d2ab1d..0000000 --- a/src/main/java/com/gunshi/project/xyt/schedule/SchedulerConfig.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.schedule; - - -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.SchedulingConfigurer; -import org.springframework.scheduling.config.ScheduledTaskRegistrar; - -/** - * @author cxw - * @description quartz配置 - * @classname SchedulerConfig.java - * @create 2024-07-30, 星期二, 9:41:34 - */ -@Configuration -public class SchedulerConfig implements SchedulingConfigurer { - - @Override - public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { - // 注意:这里配置的是Spring的@Scheduled任务,而不是Quartz的Scheduler - // 对于Quartz,你通常不需要在这里做任何配置,除非你有特殊需求 - } -} diff --git a/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupHandler.java b/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupHandler.java deleted file mode 100644 index fb510d0..0000000 --- a/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupHandler.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.gunshi.project.xyt.schedule; - -import com.gunshi.project.xyt.model.ForecastTask; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.quartz.CronScheduleBuilder; -import org.quartz.CronTrigger; -import org.quartz.JobBuilder; -import org.quartz.JobDataMap; -import org.quartz.JobDetail; -import org.quartz.JobKey; -import org.quartz.Scheduler; -import org.quartz.SchedulerException; -import org.quartz.TriggerBuilder; -import org.quartz.TriggerKey; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.GetMapping; - -import java.math.BigDecimal; - - -/** - * @author cxw - * @description 定时任务动态操作 - * @classname TaskGroupHandler.java - * @create 2024-07-30, 星期二, 9:42:04 - */ -@Component -@Slf4j -public class TaskGroupHandler { - - @Resource - private Scheduler scheduler; - - /** - * 新增定时任务 - * @param jobId - */ - public void addCronJob(String jobId, ForecastTask forecastTask) { - try { - TriggerKey triggerKey = TriggerKey.triggerKey(jobId, "FloodForecast"); - - //构建job信息 - JobDetail job = JobBuilder.newJob(TaskGroupJob.class).withIdentity(jobId, "FloodForecast") - .withDescription("任务组编排").build(); - JobDataMap jobDataMap = job.getJobDataMap(); - jobDataMap.put("jobId", jobId); - jobDataMap.put("forecastTask", forecastTask); - //CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("cron的表达式"); - String cronExpression = ""; - // 小于1,就是0.5小时,转为分钟 - if(forecastTask.getTimeInterval().compareTo(BigDecimal.ONE) < 0){ - cronExpression = "0 0/" + Integer.valueOf(forecastTask.getTimeInterval().multiply(new BigDecimal(60)).setScale(0).toString()) + " * * * ?"; - } else { - cronExpression = "0 0 */" + Integer.valueOf(forecastTask.getTimeInterval().setScale(0).toString()) + " * * ?"; - } - CronTrigger trigger = TriggerBuilder.newTrigger() - .withIdentity(triggerKey) - .startNow() - .withSchedule(CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionFireAndProceed()) - .build(); - - //SimpleScheduleBuilder.simpleSchedule().withRepeatCount(0).withIntervalInSeconds(20)//每隔多少秒执行一次; withRepeatCount 设置重复的次数 - //.startNow().withSchedule(cronScheduleBuilder) - //交由Scheduler安排触发 - scheduler.scheduleJob(job, trigger); - if(!scheduler.isStarted()){ - scheduler.start(); - } - log.info("添加定时任务成功, startJob:{}", jobId); - } catch (SchedulerException e) { - log.error("添加定时任务异常, jobId:{}", jobId, e); - throw new RuntimeException(e); - } - } - - /** - * 删除任务 - * @param jobId - * @return - */ - public void removeCronJob(String jobId) { - try { - // TriggerKey 定义了trigger的名称和组别 ,通过任务名和任务组名获取TriggerKey - TriggerKey triggerKey = TriggerKey.triggerKey(jobId,"FloodForecast"); - // 停止触发器 - scheduler.resumeTrigger(triggerKey); - // 移除触发器 - scheduler.unscheduleJob(triggerKey); - // 移除任务 - scheduler.deleteJob(JobKey.jobKey(jobId,"FloodForecast")); - log.info("删除定时任务成功, jobId:{}", jobId); - } catch (SchedulerException e) { - log.error("删除定时任务异常, jobId:{}", jobId, e); - } - } - - /** - * 暂停定时任务 - * @param jobId - */ - public void pauseJob(String jobId) { - try { - JobKey jobKey = JobKey.jobKey(jobId,"FloodForecast"); - // 暂停任务 - scheduler.pauseJob(jobKey); - log.info("暂停定时任务成功, jobId:{}", jobId); - } catch (SchedulerException e) { - log.error("暂停定时任务异常, jobId:{}", jobId, e); - } - } - - /** - * 继续定时任务 - * @param jobId - */ - @GetMapping("/resumeJob") - public void resumeJob(String jobId) { - try { - // 通过任务名和任务组名获取jobKey - JobKey jobKey = JobKey.jobKey(jobId,"FloodForecast"); - // 继续任务 - scheduler.resumeJob(jobKey); - log.info("继续定时任务成功, jobId:{}", jobId); - } catch (SchedulerException e) { - log.error("继续定时任务异常, jobId:{}", jobId, e); - } - } -} diff --git a/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJob.java b/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJob.java deleted file mode 100644 index 48a2da0..0000000 --- a/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJob.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.gunshi.project.xyt.schedule; - -import cn.hutool.core.map.MapUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.gunshi.project.xyt.entity.vo.ForecastResultVo; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.ForecastProject; -import com.gunshi.project.xyt.model.ForecastTask; -import com.gunshi.project.xyt.model.ForecastUseparam; -import com.gunshi.project.xyt.service.AttResBaseService; -import com.gunshi.project.xyt.service.ForecastProjectService; -import com.gunshi.project.xyt.service.ForecastResultsService; -import com.gunshi.project.xyt.service.ForecastTaskService; -import com.gunshi.project.xyt.service.ForecastUseparamService; -import lombok.extern.slf4j.Slf4j; -import org.quartz.Job; -import org.quartz.JobDataMap; -import org.quartz.JobExecutionContext; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.math.BigDecimal; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.Map; - -/** - * @author cxw - * @description 实现具体逻辑 - * @classname TaskGroupJob.java - * @create 2024-07-30, 星期二, 9:43:17 - */ -@Component -@Slf4j -public class TaskGroupJob implements Job { - - private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - private static SimpleDateFormat sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm:00"); - - private static SimpleDateFormat sdfTime = new SimpleDateFormat("yyyyMMddHHmm"); - - @Autowired - private ForecastResultsService forecastResultsService; - - @Autowired - private ForecastUseparamService forecastUseparamService; - - @Autowired - private AttResBaseService attResBaseService; - - @Autowired - private ForecastProjectService forecastProjectService; - @Autowired - private ForecastTaskService forecastTaskService; - - @Override - public void execute(JobExecutionContext context) { - Date nowDate = new Date(); - JobDataMap jdMap = context.getJobDetail().getJobDataMap(); - String jobId = (String) jdMap.get("jobId"); - ForecastTask forecastTask = (ForecastTask) jdMap.get("forecastTask"); - log.info("{}----TaskGroupJob-计划执行开始===>jobId:{}", sdf.format(nowDate), jobId); - forecastTask.setLastExcuteTm(nowDate); - try { - // 根据执行时间、预热期、预见期获取对应的预报、开始、结束时间 - Date nowTime = sdfMinute.parse(sdfMinute.format(nowDate)); - Date forecastTime = nowTime; - Date startTime; - Date endTime; - Integer forecastPeriod = forecastTask.getForecastPeriod();// 预见期:小时 - Integer forecastWarm = forecastTask.getForecastWarm();// 预热期:天 - Calendar calendar = Calendar.getInstance(); - calendar.setTime(nowTime); - // 预报时间就是当前时间 - forecastTask.setNowTime(nowTime); - forecastTask.setForecastTime(nowTime); - // 预热期:往前推 天 - calendar.add(calendar.DATE, - forecastWarm); - startTime = calendar.getTime(); - forecastTask.setStartTime(startTime); - // 预见期:先恢复,再往后推 小时 - calendar.setTime(nowTime); - calendar.add(calendar.HOUR_OF_DAY, forecastPeriod); - endTime = calendar.getTime(); - forecastTask.setEndTime(endTime); - List voList = forecastResultsService.autoFloodForecast(forecastTask); - // 符合条件就保存到数据库 - if (CollectionUtils.isNotEmpty(voList)) { - Map map = forecastUseparamService.getMap(new QueryWrapper().eq("param_code", "ydgdyjz"));// 获取安全值 - AttResBase attResBase = attResBaseService.getOne(new QueryWrapper<>());// 获取堰顶高程 - if (MapUtil.isNotEmpty(map) && ObjectUtils.isNotEmpty(attResBase) && ObjectUtils.isNotEmpty(attResBase.getWcrstel())) { - BigDecimal ydgdyjz = new BigDecimal(map.get("param_value").toString()); - BigDecimal wcrstel = attResBase.getWcrstel(); - Boolean isSave = false; - for (ForecastResultVo vo : voList) { - // 当计算的预报最高水位离堰顶高程小于此安全值,或者超过堰顶高度的值时,发送系统内消息提示。同时自动滚动预报保存方案结果 - if ((vo.getYcSwHValue().add(ydgdyjz)).compareTo(wcrstel) > 0) { - isSave = true; - break; - } - } - if (isSave) { - ForecastProject forecastProject = new ForecastProject(); - forecastProject.setId(IdWorker.getId()); - forecastProject.setName("未来" + forecastPeriod + "小时洪水预报-".concat(sdfTime.format(nowTime))); - forecastProject.setType("1"); - forecastProject.setForecastTm(forecastTime); - forecastProject.setProjectTm(nowTime); - forecastProject.setStartTm(startTime); - forecastProject.setEndTm(endTime); - forecastProject.setUserId("1_系统"); - forecastProject.setForecastPeriod(forecastPeriod); - forecastProject.setForecastWarm(forecastWarm); - forecastProject.setTimeInterval(forecastTask.getTimeInterval()); - forecastProject.setTaskId(forecastTask.getId()); - forecastProject.setVoList(voList); - boolean save = forecastProjectService.save(forecastProject); - if (save) { - forecastProjectService.saveForecastResults(forecastProject); - forecastTask.setLastResultsaveTm(nowDate); - } - } - } - } - forecastTaskService.updateById(forecastTask); - } catch (Exception e) { - throw new RuntimeException(e); - } - log.info("{}----TaskGroupJob-计划执行结束===>jobId:{}", sdf.format(new Date()), jobId); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJobRunner.java b/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJobRunner.java deleted file mode 100644 index bc410c6..0000000 --- a/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJobRunner.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.gunshi.project.xyt.schedule; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.gunshi.project.xyt.model.ForecastTask; -import com.gunshi.project.xyt.service.ForecastTaskService; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.CommandLineRunner; -import org.springframework.context.annotation.Profile; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Map; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * @author cxw - * @description 任务预热,预先加载数据库已经配置好的任务 - * @classname TaskGroupJobRunner.java - * @create 2024-07-30, 星期二, 9:42:39 - */ -@Component -@Slf4j -@Profile("prod") -public class TaskGroupJobRunner implements CommandLineRunner { - - @Resource - private TaskGroupHandler taskGroupHandler; - - @Autowired - private ForecastTaskService forecastTaskService; - - @Override - public void run(String... args) { - // 初始加载数据库里状态为正常的定时任务 - List taskList = forecastTaskService.list(new QueryWrapper().eq("status", "0")); - if (CollectionUtils.isNotEmpty(taskList)) { - Map jobMap = taskList.stream() - .collect(Collectors.toMap(ForecastTask::getId, Function.identity(), (key1, key2)->key2)); - for (Map.Entry entry : jobMap.entrySet()) { - taskGroupHandler.addCronJob(String.valueOf(entry.getKey()), entry.getValue()); - } - } - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/AbstractModelWithAttachService.java b/src/main/java/com/gunshi/project/xyt/service/AbstractModelWithAttachService.java deleted file mode 100644 index 7056f4d..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AbstractModelWithAttachService.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.db.dao.BaseDao; -import com.gunshi.db.dao.IMapper; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.List; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-03-19 - */ -public abstract class AbstractModelWithAttachService, AutoDao extends BaseDao, - AttachModel, AttachModelAutoMapper extends IMapper, AttachModelAutoDao extends BaseDao> { - abstract AutoDao getAutoDao(); - - abstract AttachModelAutoDao getAttachFileAutoDao(); - - abstract List createAttachList(Model model); - - - abstract Object getModelId(Model model); - - public abstract String getAttachBzIdName(); - - @Transactional - public boolean save(Model model) { - List attachList = createAttachList(model); - if (attachList != null) { - getAttachFileAutoDao().saveBatch(attachList); - } - - return getAutoDao().save(model); - } - - @Transactional - public boolean updateById(Model model) { - List attachList = getAttachFileAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), getModelId(model))); - getAttachFileAutoDao().removeByIds(attachList); - - attachList = createAttachList(model); - getAttachFileAutoDao().saveBatch(attachList); - - return getAutoDao().updateById(model); - } - - @Transactional - public boolean removeById(Serializable id) { - List attachList = getAttachFileAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), id)); - getAttachFileAutoDao().removeByIds(attachList); - - return getAutoDao().removeById(id); - } - - public Model getById(Serializable id) { - return getAutoDao().getById(id); - } - - public Page getPage(Page page) { - return getAutoDao().page(page); - } - - public AttachModel getAttachByAttachId(Serializable attachId) { - return getAttachFileAutoDao().getById(attachId); - } - - public List getAttachListByModelId(Serializable modelId) { - return getAttachFileAutoDao().list(new QueryWrapper().eq(getAttachBzIdName(), modelId)); - } - - - public interface GetFileIds { - List getFileIds(); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/AppVersionRecordService.java b/src/main/java/com/gunshi/project/xyt/service/AppVersionRecordService.java deleted file mode 100644 index 000ee24..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AppVersionRecordService.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AppVersionRecordMapper; -import com.gunshi.project.xyt.model.AppVersionRecord; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - -import java.util.Date; -import java.util.List; - -/** - * 描述: APP版本记录 - * author: xusan - * date: 2024-11-12 10:14:50 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AppVersionRecordService extends ServiceImpl -{ - - public boolean insertData(String version,String versionDesc,String url) { - AppVersionRecord record = new AppVersionRecord(); - record.setId(IdWorker.getId()); - record.setVersion(version); - record.setVersionDesc(versionDesc); - record.setUrl(url); - record.setCreateTime(new Date()); - return this.baseMapper.insert(record) > 0; - } - - public AppVersionRecord getLatest() { - AppVersionRecord record = null; - List list = this.lambdaQuery().orderByDesc(AppVersionRecord::getCreateTime).list(); - if(!CollectionUtils.isEmpty(list)){ - record = list.get(0); - } - return record; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessCategoryService.java b/src/main/java/com/gunshi/project/xyt/service/AssessCategoryService.java deleted file mode 100644 index e8baae6..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessCategoryService.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AssessCategoryMapper; -import com.gunshi.project.xyt.mapper.AssessIndicatorMapper; -import com.gunshi.project.xyt.model.AssessCategory; -import com.gunshi.project.xyt.model.AssessIndicator; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.Objects; - -/** - * 描述: 考核类目 - * author: xusan - * date: 2024-09-03 17:46:30 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessCategoryService extends ServiceImpl -{ - - @Autowired - private AssessIndicatorMapper indicatorMapper; - - public AssessCategory saveData(AssessCategory dto) { - dto.setId(IdWorker.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.orderBy(true, false, "order_index"); - AssessCategory lastOne = super.getOne(queryWrapper, false); - int order = 0; - if (lastOne == null) { - order = 1; - } else { - order = lastOne.getOrderIndex() + 1; - } - dto.setOrderIndex(order); - this.save(dto); - return dto; - } - - public AssessCategory updateData(AssessCategory dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - this.updateById(dto); - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - //判断是否关联指标 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(AssessIndicator::getCategoryId,id); - if(indicatorMapper.selectCount(wrapper) > 0){ - throw new IllegalArgumentException("请先删除关联的考核指标"); - } - return this.removeById(id); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorRatingService.java b/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorRatingService.java deleted file mode 100644 index 61ce3cd..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorRatingService.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AssessIndicatorRatingMapper; -import com.gunshi.project.xyt.model.AssessIndicatorRating; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 考核指标评分细则 - * author: xusan - * date: 2024-09-03 17:47:17 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessIndicatorRatingService extends ServiceImpl -{ - - public void saveRating(List indicatorRatings,Long id) { - indicatorRatings.stream().forEach(o->{ - o.setId(IdWorker.getId()); - o.setIndicatorId(id); - }); - this.saveBatch(indicatorRatings); - } - - public void updateRating(List indicatorRatings, Long id) { - delRating(id); - saveRating(indicatorRatings,id); - } - - public void delRating(Long indicatorId) { - this.remove(new QueryWrapper().eq("indicator_id",indicatorId)); - } - - public List queryRatingList(List ids) { - return this.list(new QueryWrapper().in("indicator_id",ids)); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorService.java b/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorService.java deleted file mode 100644 index bd389e2..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorService.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.dto.InspectItemDto; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.mapper.AssessIndicatorMapper; -import com.gunshi.project.xyt.mapper.AssessTemplateIndicatorRelMapper; -import com.gunshi.project.xyt.model.AssessIndicator; -import com.gunshi.project.xyt.model.AssessIndicatorRating; -import com.gunshi.project.xyt.model.AssessTemplateIndicatorRel; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 考核指标 - * author: xusan - * date: 2024-09-03 17:46:56 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessIndicatorService extends ServiceImpl { - @Autowired - private AssessIndicatorRatingService indicatorRatingService; - - @Autowired - private AssessTemplateIndicatorRelMapper relMapper; - - public String startStop(InspectItemDto dto) { - Integer status = dto.getStatus(); - AssessIndicator indicator = super.getById(dto.getId()); - if (indicator == null) { - throw new IllegalArgumentException("当前数据不存在"); - } - indicator.setStatus(status); - boolean flag = super.updateById(indicator); - if (flag) { - return status == 0 ? "启用成功" : "禁用成功"; - } - return status == 0 ? "启用失败" : "禁用失败"; - } - - public Page pageQuery(AttCctvBasePage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getMenuId())) { - query.eq(AssessIndicator::getCategoryId, page.getMenuId()); - } - query.orderByAsc(AssessIndicator::getStatus).orderByAsc(AssessIndicator::getOrderIndex); - Page res = this.page(page.getPageSo().toPage(), query); - if (res.getRecords() != null && res.getRecords().size() > 0) { - fillUsedInfo(res.getRecords()); - fillRating(res.getRecords()); - } - return res; - } - - private void fillUsedInfo(List records) { - List ids = records.stream().map(AssessIndicator::getId).collect(Collectors.toList()); - List list = relMapper.selectList(new QueryWrapper().in("indicator_id", ids)); - Map map = list.stream().collect(Collectors.groupingBy(AssessTemplateIndicatorRel::getIndicatorId, Collectors.counting())); - for (AssessIndicator record : records) { - record.setIsUsed(map.containsKey(record.getId()) ? 1 : 0); - } - } - - public void fillRating(List records) { - List ids = records.stream().map(AssessIndicator::getId).collect(Collectors.toList()); - List relList = indicatorRatingService.queryRatingList(ids); - Map> map = relList.stream().collect(Collectors.groupingBy(AssessIndicatorRating::getIndicatorId)); - for (AssessIndicator record : records) { - record.setIndicatorRatings(map.get(record.getId())); - } - } - - public AssessIndicator saveData(AssessIndicator dto) { - dto.setId(IdWorker.getId()); - dto.setStatus(0); - this.save(dto); - indicatorRatingService.saveRating(dto.getIndicatorRatings(),dto.getId()); - return dto; - } - - public AssessIndicator updateData(AssessIndicator dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - this.updateById(dto); - indicatorRatingService.updateRating(dto.getIndicatorRatings(),dto.getId()); - return dto; - } - - public Boolean delData(Long id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - Long count = relMapper.selectCount(new QueryWrapper().eq("indicator_id", id)); - if(count > 0){ - throw new IllegalArgumentException("该考核指标已被使用,不可删除"); - } - indicatorRatingService.delRating(id); - return this.removeById(id); - } - - public Page choosePage(AttCctvBasePage page) { - return this.baseMapper.choosePage(page.getPageSo().toPage(),page); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessObjectRatingService.java b/src/main/java/com/gunshi/project/xyt/service/AssessObjectRatingService.java deleted file mode 100644 index 7dd74c5..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessObjectRatingService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AssessObjectRatingMapper; -import com.gunshi.project.xyt.model.AssessObjectRating; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 考核对象指标得分详情 - * author: xusan - * date: 2024-09-10 10:44:14 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessObjectRatingService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessObjectService.java b/src/main/java/com/gunshi/project/xyt/service/AssessObjectService.java deleted file mode 100644 index 830245b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessObjectService.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AssessObjectMapper; -import com.gunshi.project.xyt.model.AssessObject; -import com.gunshi.project.xyt.model.AssessTeam; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; - -/** - * 描述: 考核对象 - * author: xusan - * date: 2024-09-05 14:19:30 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessObjectService extends ServiceImpl -{ - @Autowired - private AssessTeamService assessTeamService; - - public void saveObject(List assessObjects,List assessTeams, Long taskId) { - List teams = new ArrayList<>(); - assessObjects.stream().forEach(o->{ - long objectId = IdWorker.getId(); - o.setId(objectId); - o.setTaskId(taskId); - o.setStatus(0); - for(int i =0 ;i ().eq("task_id",taskId)); - this.remove(new QueryWrapper().eq("task_id",taskId)); - } - - public void updateObject(List assessObjects,List assessTeams, Long taskId) { - this.delObject(taskId); - this.saveObject(assessObjects,assessTeams,taskId); - } - - public List getObject(Long taskId) { - List list = this.list(new QueryWrapper().eq("task_id",taskId)); - return list; - } - - public List getTeam(Long taskId) { - List list = assessTeamService.list(new QueryWrapper().eq("task_id",taskId)); - return list; - } - - public void updateTeams(List teams) { - assessTeamService.updateBatchById(teams); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessTaskService.java b/src/main/java/com/gunshi/project/xyt/service/AssessTaskService.java deleted file mode 100644 index 610283a..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessTaskService.java +++ /dev/null @@ -1,255 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.db.dto.MonthRangeSo; -import com.gunshi.project.xyt.entity.so.AssessTaskPageSo; -import com.gunshi.project.xyt.entity.vo.AssessResultVo; -import com.gunshi.project.xyt.mapper.AssessObjectRatingMapper; -import com.gunshi.project.xyt.mapper.AssessTaskMapper; -import com.gunshi.project.xyt.mapper.AssessTemplateMapper; -import com.gunshi.project.xyt.model.*; -import com.gunshi.project.xyt.util.ExcelUtil; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 描述: 考核任务 - * author: xusan - * date: 2024-09-05 14:19:04 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessTaskService extends ServiceImpl -{ - @Autowired - private AssessObjectService assessObjectService; - - @Autowired - private FileAssociationsService fileService; - - @Autowired - private AssessTemplateMapper templateMapper; - - @Autowired - private AssessObjectRatingMapper objectRatingMapper; - - @Autowired - private AssessTeamRatingService teamRatingService; - - @Autowired - private MessageCenterService messageCenterService; - - public AssessTask saveData(AssessTask dto) { - dto.setId(IdWorker.getId()); - dto.setStatus(0); - dto.setCreateTime(new Date()); - assessObjectService.saveObject(dto.getAssessObjects(),dto.getAssessTeams(),dto.getId()); - this.save(dto); - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); - return dto; - } - - public String getGroupId() { - return "assessTask"; - } - - public Boolean delData(Long id) { - AssessTask task = this.getById(id); - if (Objects.isNull(task)) { - throw new IllegalArgumentException("当前数据不存在"); - } - if(task.getStatus() != 0){ - throw new IllegalArgumentException("只能删除未启动的考核任务"); - } - fileService.deleteFile(getGroupId(),id.toString()); - assessObjectService.delObject(id); - return this.removeById(id); - } - - public AssessTask updateData(AssessTask dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - assessObjectService.updateObject(dto.getAssessObjects(),dto.getAssessTeams(),dto.getId()); - } - return dto; - } - - public AssessTask detail(Long id) { - AssessTask task = this.getById(id); - AssessTemplate template = templateMapper.selectById(task.getTemplateId()); - task.setTemplateName(template.getTemplateName()); - task.setFiles(fileService.getFiles(getGroupId(),id.toString())); - List team = assessObjectService.getTeam(id); - task.setAssessTeams(team.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(AssessTeam::getTeamUserId))),ArrayList::new))); - task.setAssessObjects(assessObjectService.getObject(id)); - return task; - } - - public Page listPage(AssessTaskPageSo page) { - Page res = this.baseMapper.listPage(page.getPageSo().toPage(), page); - if (res.getRecords() != null && res.getRecords().size() > 0) { - for (AssessTask record : res.getRecords()) { - record.setAssessObjects(assessObjectService.getObject(record.getId())); - } - } - return res; - } - - public String start(Long id) { - AssessTask task = this.getById(id); - task.setStatus(1); - this.updateById(task); - //任务中的考核对象 - List objects = assessObjectService.getObject(id); - objects.stream().forEach(o->o.setStatus(1)); - assessObjectService.updateBatchById(objects); - //任务中的考核成员 - List teams = assessObjectService.getTeam(id); - teams.stream().forEach(o->o.setStatus(1)); - assessObjectService.updateTeams(teams); - //考核指标 - List ratings = new ArrayList<>(); - List teamUserIds = teams.stream().map(AssessTeam::getTeamUserId).distinct().collect(Collectors.toList()); - List messages = teamUserIds.stream().map(o->{ - MessageCenter center = new MessageCenter(); - center.setPublishUserId(task.getCreateUserId()); - center.setPublishUserName(task.getCreateUserName()); - center.setReceiveUserId(o); - center.setTitle("评分任务"); - center.setContent("您收到一条考核评分任务的提醒:"+task.getTaskName()+",请及时处理。"); - return center; - }).collect(Collectors.toList()); - List indicatorIds = this.baseMapper.queryIndicators(task.getTemplateId()); - for(AssessTeam team : teams){ - for(AssessIndicator indicator : indicatorIds){ - AssessTeamRating rating = new AssessTeamRating(); - rating.setId(IdWorker.getId()); - rating.setTeamId(team.getId()); - rating.setIndicatorId(indicator.getId()); - rating.setStandardScore(indicator.getStandardScore()); - ratings.add(rating); - } - } - teamRatingService.saveBatch(ratings); - messageCenterService.insertMessage(messages); - List list = new ArrayList<>(); - for(AssessObject object : objects){ - for(AssessIndicator indicator : indicatorIds){ - AssessObjectRating objectRating = new AssessObjectRating(); - objectRating.setId(IdWorker.getId()); - objectRating.setObjectId(object.getId()); - objectRating.setIndicatorId(indicator.getId()); - objectRating.setStandardScore(indicator.getStandardScore()); - list.add(objectRating); - } - } - teamRatingService.saveObjectRating(list); - return "启动成功"; - } - - public Page myTodo(AssessTaskPageSo page) { - Page res = this.baseMapper.myTodo(page.getPageSo().toPage(),page); - if (res.getRecords() != null && res.getRecords().size() > 0) { - fillObject(res.getRecords(),page.getUserId()); - } - return res; - } - - private void fillObject(List records,Long userId) { - for (AssessTask record : records) { - List list = this.baseMapper.selectObject(record.getId(),userId); - record.setAssessObjects(list); - } - } - - public Page myDone(AssessTaskPageSo page) { - List taskIds = this.baseMapper.myDoneTask(page.getUserId()); - if (CollectionUtils.isEmpty(taskIds)) { - return null; - } - Page res = this.baseMapper.myDone(page.getPageSo().toPage(), page,taskIds); - if (res.getRecords() != null && res.getRecords().size() > 0) { - fillObject(res.getRecords(),page.getUserId()); - } - return res; - } - - public String pass(Long id) { - AssessTask task = this.getById(id); - task.setStatus(3); - this.updateById(task); - return "审核通过"; - } - - public String cancel(Long id) { - AssessTask task = this.getById(id); - task.setStatus(4); - this.updateById(task); - return "作废成功"; - } - - public String reject(Long id) { - AssessTask task = this.getById(id); - task.setStatus(1); - this.updateById(task); - //任务中的考核对象 - List objects = assessObjectService.getObject(id); - objects.stream().forEach(o->o.setStatus(9)); - assessObjectService.updateBatchById(objects); - List objectIds = objects.stream().map(AssessObject::getId).collect(Collectors.toList()); - objectRatingMapper.delete(new QueryWrapper().in("object_id",objectIds)); - //任务中的考核成员 - List teams = assessObjectService.getTeam(id); - teams.stream().forEach(o->o.setStatus(1)); - assessObjectService.updateTeams(teams); - return "驳回评分成功"; - } - - public List result(Long id) { - List list = this.baseMapper.result(id); - list.stream().forEach(o->o.setDeductScore(new BigDecimal(o.getStandardScore()).subtract(o.getAssessScore()))); - return list.stream().filter(o->o.getDeductScore().compareTo(new BigDecimal(0)) > 0).collect(Collectors.toList()); - } - - public void resultExport(Long id, HttpServletResponse response) { - List list = this.result(id); - ExcelUtil.exportExcel(list,"考核结果",AssessResultVo.class,1,new int[]{0,4},response,"考核结果"); - } - - public List resultStat(MonthRangeSo monthRangeSo) { - List list = this.baseMapper.resultStat(monthRangeSo); - if (CollectionUtils.isNotEmpty(list)) { - for (AssessTask record : list) { - record.setAssessObjects(assessObjectService.getObject(record.getId())); - } - } - return list; - } - - public Map levelStat(MonthRangeSo monthRangeSo) { - List list = this.resultStat(monthRangeSo); - if(CollectionUtils.isEmpty(list)){ - return new HashMap<>(); - } - List objectList = list.stream().map(AssessTask::getAssessObjects).flatMap(List::stream).collect(Collectors.toList()); - return objectList.stream().collect(Collectors.groupingBy(AssessObject::getAssessLevel,Collectors.counting())); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessTeamRatingService.java b/src/main/java/com/gunshi/project/xyt/service/AssessTeamRatingService.java deleted file mode 100644 index fee3eef..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessTeamRatingService.java +++ /dev/null @@ -1,252 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.db.dto.MonthRangeSo; -import com.gunshi.project.xyt.entity.so.AssessTaskPageSo; -import com.gunshi.project.xyt.entity.vo.AssessRatingVo; -import com.gunshi.project.xyt.entity.vo.AssessRectifyVo; -import com.gunshi.project.xyt.entity.vo.AssessScoreVo; -import com.gunshi.project.xyt.mapper.*; -import com.gunshi.project.xyt.model.*; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.utils.SecurityUtils; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContext; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 考核评分详情 - * author: xusan - * date: 2024-09-05 14:20:04 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessTeamRatingService extends ServiceImpl { - @Autowired - private FileAssociationsService fileService; - - @Autowired - private AssessObjectMapper objectMapper; - - @Autowired - private AssessTaskMapper taskMapper; - - @Autowired - private AssessTeamMapper teamMapper; - - @Autowired - private AssessTemplateMapper templateMapper; - - @Autowired - private AssessObjectRatingService assessObjectRatingService; - - @Autowired - private AssessIndicatorRatingService indicatorRatingService; - - public Boolean saveScore(AssessScoreVo vo) { - return commonScore(vo, 9); - } - - private Boolean commonScore(AssessScoreVo vo, Integer status) { - List ratings = vo.getRatings(); - Long teamId = ratings.get(0).getTeamId(); - this.delData(teamId); - for (AssessTeamRating rating : ratings) { - rating.setId(IdWorker.getId()); - rating.setRectifyStatus(0); - fileService.save(rating.getFiles(), rating.getId().toString(), getGroupId(), getScoreType()); - } - AssessTask task = taskMapper.selectById(vo.getTaskId()); - //更新该考核人员对考核对象的状态为已评分 - AssessTeam assessTeam = teamMapper.selectById(teamId); - assessTeam.setStatus(status); - //获取模板信息 - AssessTemplate template = templateMapper.selectById(task.getTemplateId()); - //根据总得分计算等级 - Integer level = calcLevel(template, vo.getScore()); - assessTeam.setAssessScore(vo.getScore()); - assessTeam.setAssessLevel(level); - teamMapper.updateById(assessTeam); - Boolean res = this.saveBatch(ratings); - if (status == 2) { - updateObjectAndTask(assessTeam.getObjectId(), vo.getTaskId(), template, task); - } - return res; - } - - public Boolean score(AssessScoreVo vo) { - return commonScore(vo, 2); - } - - private void delData(Long teamId) { - List teamRatings = this.list(new QueryWrapper().eq("team_id", teamId)); - if (CollectionUtils.isNotEmpty(teamRatings)) { - List ratingIds = teamRatings.stream().map(AssessTeamRating::getId).map(Objects::toString).collect(Collectors.toList()); - fileService.remove(new QueryWrapper().in("business_id", ratingIds)); - this.remove(new QueryWrapper().eq("team_id", teamId)); - } - } - - private Integer calcLevel(AssessTemplate template, BigDecimal score) { - BigDecimal excellentScore = template.getExcellentScore(); - BigDecimal goodScore = template.getGoodScore(); - BigDecimal passScore = template.getPassScore(); - if (score.compareTo(excellentScore) >= 0) { - return 1; - } else if (score.compareTo(goodScore) >= 0 && score.compareTo(excellentScore) < 0) { - return 2; - } else if (score.compareTo(passScore) >= 0 && score.compareTo(goodScore) < 0) { - return 3; - } else { - return 4; - } - } - - private void updateObjectAndTask(Long objectId, Long taskId, AssessTemplate template, AssessTask task) { - //先判断该次评分是否是该考核对象的最后一次评分 - //如果为最后一次评分,就要计算该考核对象的最终得分 - List teams = teamMapper.selectList(new QueryWrapper().eq("object_id", objectId).eq("task_id", taskId)); - List finishTeams = teams.stream().filter(o -> o.getStatus() == 2).collect(Collectors.toList()); - if (teams.size() == finishTeams.size()) { - Integer scoreWay = task.getScoreWay(); - List teamIds = finishTeams.stream().map(AssessTeam::getId).collect(Collectors.toList()); - BigDecimal assessScore = calcScore(scoreWay, teamIds, objectId); - Integer level = calcLevel(template, assessScore); - AssessObject object = objectMapper.selectById(objectId); - object.setStatus(2); - object.setAssessScore(assessScore); - object.setAssessLevel(level); - objectMapper.updateById(object); - //判断该考核任务是否存在未打分的对象,不存在则更新考核任务的状态为已完成 - Long taskCount = objectMapper.selectCount(new QueryWrapper().eq("task_id", taskId).eq("status", 1)); - if (taskCount == 0) { - task.setStatus(2); - taskMapper.updateById(task); - } - } - } - - private BigDecimal calcScore(Integer scoreWay, List teamIds, Long objectId) { - assessObjectRatingService.remove(new QueryWrapper().eq("object_id", objectId)); - final BigDecimal[] score = {new BigDecimal(0)}; - List ratings = this.list(new QueryWrapper().in("team_id", teamIds)); - Map> map = ratings.stream().collect(Collectors.groupingBy(AssessTeamRating::getIndicatorId, Collectors.mapping(AssessTeamRating::getAssessScore, Collectors.toList()))); - Map> standardMap = ratings.stream().collect(Collectors.groupingBy(AssessTeamRating::getIndicatorId, Collectors.mapping(AssessTeamRating::getStandardScore, Collectors.toList()))); - List list = new ArrayList<>(); - map.entrySet().forEach(o -> { - List value = o.getValue(); - AssessObjectRating objectRating = new AssessObjectRating(); - objectRating.setId(IdWorker.getId()); - objectRating.setObjectId(objectId); - objectRating.setIndicatorId(o.getKey()); - objectRating.setStandardScore(standardMap.get(o.getKey()).get(0)); - if (scoreWay == 1) { - BigDecimal val = value.stream().min(BigDecimal::compareTo).get(); - objectRating.setAssessScore(val); - score[0] = score[0].add(val); - } else { - BigDecimal vide = value.stream().reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(value.size()), 2, RoundingMode.HALF_UP); - objectRating.setAssessScore(vide); - score[0] = score[0].add(vide); - } - list.add(objectRating); - }); - assessObjectRatingService.saveBatch(list); - return score[0]; - } - - public void saveObjectRating(List list) { - assessObjectRatingService.saveBatch(list); - } - - public String getGroupId() { - return "assessTeamRating"; - } - - public String getScoreType() { - return "assessScore"; - } - - public String getRectifyType() { - return "assessRectify"; - } - - public List doDetail(Long teamId) { - List list = this.baseMapper.scoreDetail(teamId); - fillRating(list); - return list; - } - - - public Map> scoreDetail(Long objectId) { - List list = this.baseMapper.scoreByObjectId(objectId); - fillRating(list); - return list.stream().collect(Collectors.groupingBy(AssessTeamRating::getIndicatorId)); - } - - private void fillRating(List list) { - List relList = indicatorRatingService.queryRatingList(list.stream().map(AssessRatingVo::getIndicatorId).distinct().collect(Collectors.toList())); - Map> map = relList.stream().collect(Collectors.groupingBy(AssessIndicatorRating::getIndicatorId)); - for (AssessRatingVo vo : list) { - vo.setIndicatorRatings(map.get(vo.getIndicatorId())); - if (vo.getIsNeedRectify() != null && vo.getIsNeedRectify() == 1) { - vo.setFiles(fileService.queryFileList(vo.getId().toString(), getGroupId(), getScoreType())); - } - } - } - - public Page listPage(AssessTaskPageSo page) { - /* 若以后需要根据当前登录人查询,则取消注释 - SecurityContext context = SecurityContextHolder.getContext(); - Authentication auth = context.getAuthentication(); - Object principal = auth.getPrincipal(); - log.info("principal is {}", principal); - LoginUser loginUser = (LoginUser) principal; - SysUser user = loginUser.getUser(); - boolean admin = SecurityUtils.isAdmin(user.getUserId()); - if (!admin) { - page.setUserId(user.getUserId()); - } - */ - Page res = this.baseMapper.listPage(page.getPageSo().toPage(), page); - if (res.getRecords() != null && res.getRecords().size() > 0) { - for (AssessRectifyVo record : res.getRecords()) { - record.setFiles(fileService.queryFileList(record.getId().toString(), getGroupId(), getScoreType())); - record.setRectifyFiles(fileService.queryFileList(record.getId().toString(), getGroupId(), getRectifyType())); - } - } - return res; - } - - public String rectify(AssessTeamRating rating) { - rating.setRectifyStatus(1); - this.updateById(rating); - fileService.save(rating.getRectifyFiles(), rating.getId().toString(), getGroupId(), getRectifyType()); - return "整改成功"; - } - - public Map rectifyStat(MonthRangeSo monthRangeSo) { - List list = this.baseMapper.rectifyStat(monthRangeSo); - return list.stream().collect(Collectors.groupingBy(AssessTeamRating::getRectifyStatus, Collectors.counting())); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessTeamService.java b/src/main/java/com/gunshi/project/xyt/service/AssessTeamService.java deleted file mode 100644 index 93ae666..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessTeamService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AssessTeamMapper; -import com.gunshi.project.xyt.model.AssessTeam; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 考核组成员 - * author: xusan - * date: 2024-09-05 14:19:47 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessTeamService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessTemplateIndicatorRelService.java b/src/main/java/com/gunshi/project/xyt/service/AssessTemplateIndicatorRelService.java deleted file mode 100644 index d8780dc..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessTemplateIndicatorRelService.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AssessTemplateIndicatorRelMapper; -import com.gunshi.project.xyt.model.AssessTemplateIndicatorRel; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 描述: 模板关联指标 - * author: xusan - * date: 2024-09-04 13:43:05 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessTemplateIndicatorRelService extends ServiceImpl -{ - - public void saveRel(List indicatorIds, Long id) { - List list = indicatorIds.stream().map(o -> { - AssessTemplateIndicatorRel rel = new AssessTemplateIndicatorRel(); - rel.setId(IdWorker.getId()); - rel.setTemplateId(id); - rel.setIndicatorId(o); - return rel; - }).collect(Collectors.toList()); - this.saveBatch(list); - } - - public void delRel(Long templateId) { - this.remove(new QueryWrapper().eq("template_id",templateId)); - } - - public void updateRel(List indicatorIds, Long id) { - this.delRel(id); - this.saveRel(indicatorIds,id); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessTemplateService.java b/src/main/java/com/gunshi/project/xyt/service/AssessTemplateService.java deleted file mode 100644 index a70f36a..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AssessTemplateService.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.dto.InspectItemDto; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.mapper.AssessTaskMapper; -import com.gunshi.project.xyt.mapper.AssessTemplateMapper; -import com.gunshi.project.xyt.model.AssessIndicator; -import com.gunshi.project.xyt.model.AssessTask; -import com.gunshi.project.xyt.model.AssessTemplate; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 考核模板 - * author: xusan - * date: 2024-09-04 13:42:40 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AssessTemplateService extends ServiceImpl -{ - @Autowired - private AssessTemplateIndicatorRelService relService; - - @Autowired - private AssessIndicatorService indicatorService; - - @Autowired - private AssessTaskMapper taskMapper; - - public AssessTemplate saveData(AssessTemplate dto) { - dto.setId(IdWorker.getId()); - dto.setStatus(0); - dto.setCreateTime(new Date()); - this.save(dto); - relService.saveRel(dto.getIndicatorIds(),dto.getId()); - return dto; - } - - public AssessTemplate updateData(AssessTemplate dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - this.updateById(dto); - relService.updateRel(dto.getIndicatorIds(),dto.getId()); - return dto; - } - - public Boolean delData(Long id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - relService.delRel(id); - return this.removeById(id); - - } - - public Page pageQuery(AttCctvBasePage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getName())) { - query.like(AssessTemplate::getTemplateName, page.getName()); - } - query.orderByAsc(AssessTemplate::getStatus).orderByDesc(AssessTemplate::getCreateTime); - Page res = this.page(page.getPageSo().toPage(), query); - if (res.getRecords() != null && res.getRecords().size() > 0) { - fillUsedInfo(res.getRecords()); - } - return res; - } - - private void fillUsedInfo(List records) { - List ids = records.stream().map(AssessTemplate::getId).collect(Collectors.toList()); - List list = taskMapper.selectList(new QueryWrapper().in("template_id", ids)); - Map map = list.stream().collect(Collectors.groupingBy(AssessTask::getTemplateId, Collectors.counting())); - for (AssessTemplate record : records) { - record.setIsUsed(map.containsKey(record.getId()) ? 1 : 0); - } - } - - public String startStop(InspectItemDto dto) { - Integer status = dto.getStatus(); - AssessTemplate template = super.getById(dto.getId()); - if (template == null) { - throw new IllegalArgumentException("当前数据不存在"); - } - template.setStatus(status); - boolean flag = super.updateById(template); - if (flag) { - return status == 0 ? "启用成功" : "禁用成功"; - } - return status == 0 ? "启用失败" : "禁用失败"; - } - - public List queryIndicators(Long id) { - List list = this.baseMapper.queryIndicators(id); - if(CollectionUtils.isEmpty(list)){ - return list; - } - indicatorService.fillRating(list); - return list; - } - - public List listByType(Integer templateFreq) { - return this.list(new QueryWrapper().eq("template_freq",templateFreq).eq("status",0)); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttCctvBaseService.java b/src/main/java/com/gunshi/project/xyt/service/AttCctvBaseService.java deleted file mode 100644 index de00a92..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttCctvBaseService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AttCctvBaseMapper; -import com.gunshi.project.xyt.model.AttCctvBase; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 视频基本信息表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttCctvBaseService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttDamBaseService.java b/src/main/java/com/gunshi/project/xyt/service/AttDamBaseService.java deleted file mode 100644 index 7bed784..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttDamBaseService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AttDamBaseMapper; -import com.gunshi.project.xyt.model.AttDamBase; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 大坝表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttDamBaseService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttDamProfileService.java b/src/main/java/com/gunshi/project/xyt/service/AttDamProfileService.java deleted file mode 100644 index 2125d43..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttDamProfileService.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.ProfilePressTreeVo; -import com.gunshi.project.xyt.mapper.AttDamProfileMapper; -import com.gunshi.project.xyt.model.AttDamProfile; -import com.gunshi.project.xyt.model.OsmoticPressDevice; -import com.gunshi.project.xyt.model.OsmoticPressDeviceAutoDao; -import com.gunshi.project.xyt.system.model.SysVisitMenuLog; -import com.gunshi.project.xyt.util.MyBeanUtil; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 描述: 监测断面信息表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttDamProfileService extends ServiceImpl -{ - @Resource - private OsmoticPressDeviceAutoDao pressDeviceAutoDao; - - public List tree() { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.orderByAsc(AttDamProfile::getProfileCode); - List list = this.list(queryWrapper); - List res = MyBeanUtil.collectionCopy(list,ProfilePressTreeVo.class); - for(ProfilePressTreeVo vo : res){ - List pressList = pressDeviceAutoDao.list(new LambdaQueryWrapper() - .eq(OsmoticPressDevice::getProfileCode, vo.getProfileCode()).orderByAsc(OsmoticPressDevice::getStationCode)); - vo.setChildren(pressList.stream().map(OsmoticPressDevice::getStationCode).sorted().collect(Collectors.toList())); - } - return res; - } - - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttGateBService.java b/src/main/java/com/gunshi/project/xyt/service/AttGateBService.java deleted file mode 100644 index e732854..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttGateBService.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.GateMonitorDataVo; -import com.gunshi.project.xyt.mapper.AttGateBMapper; -import com.gunshi.project.xyt.model.AttGateB; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 水闸基本情况调查表 - * author: xusan - * date: 2024-09-26 10:44:06 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttGateBService extends ServiceImpl -{ - @Autowired - private FileAssociationsService fileService; - - public List queryList() { - List list = this.list(); - if(CollectionUtils.isNotEmpty(list)){ - fillAttach(list); - } - return list; - } - - private void fillAttach(List list) { - for (AttGateB record : list) { - record.setFiles(fileService.getFiles(getGroupId(),record.getGateCode())); - } - } - - private String getGroupId() { - return "attGateB"; - } - - public List dataList(String gateCode) { - return this.baseMapper.dataList(gateCode); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttGateValveService.java b/src/main/java/com/gunshi/project/xyt/service/AttGateValveService.java deleted file mode 100644 index 39233e3..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttGateValveService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AttGateValveMapper; -import com.gunshi.project.xyt.model.AttGateValve; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 闸阀信息表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttGateValveService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttMeaWeirService.java b/src/main/java/com/gunshi/project/xyt/service/AttMeaWeirService.java deleted file mode 100644 index 9320f2c..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttMeaWeirService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AttMeaWeirMapper; -import com.gunshi.project.xyt.model.AttMeaWeir; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 量水堰表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttMeaWeirService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttResBaseService.java b/src/main/java/com/gunshi/project/xyt/service/AttResBaseService.java deleted file mode 100644 index 0d8d1d4..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttResBaseService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AttResBaseMapper; -import com.gunshi.project.xyt.model.AttResBase; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 水库基本信息表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttResBaseService extends ServiceImpl { - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttResBuildingService.java b/src/main/java/com/gunshi/project/xyt/service/AttResBuildingService.java deleted file mode 100644 index e7fc81b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttResBuildingService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AttResBaseMapper; -import com.gunshi.project.xyt.mapper.AttResBuildingMapper; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.AttResBuilding; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 水库基本信息表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttResBuildingService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttSpillwayBaseService.java b/src/main/java/com/gunshi/project/xyt/service/AttSpillwayBaseService.java deleted file mode 100644 index 768b2f9..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttSpillwayBaseService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AttSpillwayBaseMapper; -import com.gunshi.project.xyt.model.AttSpillwayBase; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 溢洪道 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttSpillwayBaseService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/AttWaterItemService.java b/src/main/java/com/gunshi/project/xyt/service/AttWaterItemService.java deleted file mode 100644 index ec5aad3..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/AttWaterItemService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AttWaterItemMapper; -import com.gunshi.project.xyt.model.AttWaterItem; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水质整编展示项目表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class AttWaterItemService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/BroadcastStationService.java b/src/main/java/com/gunshi/project/xyt/service/BroadcastStationService.java deleted file mode 100644 index 7834334..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/BroadcastStationService.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.BroadcastStationMapper; -import com.gunshi.project.xyt.model.BroadcastStation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 广播预警站 - * author: xusan - * date: 2024-09-25 10:19:15 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class BroadcastStationService extends ServiceImpl -{ - - public BroadcastStation saveData(BroadcastStation dto) { - dto.setId(IdWorker.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.orderBy(true, false, "order_index"); - BroadcastStation lastOne = super.getOne(queryWrapper, false); - int order = 0; - if (lastOne == null) { - order = 1; - } else { - order = lastOne.getOrderIndex() + 1; - } - dto.setOrderIndex(order); - this.save(dto); - return dto; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/BroadcastTemplateService.java b/src/main/java/com/gunshi/project/xyt/service/BroadcastTemplateService.java deleted file mode 100644 index ea6669c..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/BroadcastTemplateService.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.BroadcastTemplateMapper; -import com.gunshi.project.xyt.model.BroadcastTemplate; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 广播模板 - * author: xusan - * date: 2024-09-25 10:19:00 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class BroadcastTemplateService extends ServiceImpl -{ - - public BroadcastTemplate saveData(BroadcastTemplate dto) { - dto.setId(IdWorker.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.orderBy(true, false, "order_index"); - BroadcastTemplate lastOne = super.getOne(queryWrapper, false); - int order = 0; - if (lastOne == null) { - order = 1; - } else { - order = lastOne.getOrderIndex() + 1; - } - dto.setOrderIndex(order); - this.save(dto); - return dto; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/BroadcastWarnService.java b/src/main/java/com/gunshi/project/xyt/service/BroadcastWarnService.java deleted file mode 100644 index f97670c..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/BroadcastWarnService.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.BroadcastWarnPageSo; -import com.gunshi.project.xyt.mapper.BroadcastStationMapper; -import com.gunshi.project.xyt.mapper.BroadcastWarnMapper; -import com.gunshi.project.xyt.model.BroadcastStation; -import com.gunshi.project.xyt.model.BroadcastWarn; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 描述: 广播预警信息 - * author: xusan - * date: 2024-09-25 10:17:54 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class BroadcastWarnService extends ServiceImpl -{ - @Autowired - private BroadcastStationMapper stationMapper; - - public Page pageQuery(BroadcastWarnPageSo page) { - return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); - } - - public Boolean saveData(BroadcastWarn dto) { - String ctrlPass = dto.getCtrlPass(); - List stationIds = dto.getStationIds(); - BroadcastStation broadcastStation = stationMapper.selectById(stationIds.get(0)); - if(!ctrlPass.equals(broadcastStation.getCtrlPass())){ - throw new IllegalArgumentException("密码不正确"); - } - List list = stationIds.stream().map(stationId->{ - BroadcastWarn warn = new BroadcastWarn(); - BeanUtils.copyProperties(dto,warn); - warn.setId(IdWorker.getId()); - warn.setStationId(stationId); - warn.setCreateTime(new Date()); - return warn; - }).collect(Collectors.toList()); - return this.saveBatch(list); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/BzDictRelService.java b/src/main/java/com/gunshi/project/xyt/service/BzDictRelService.java deleted file mode 100644 index 6a6bf62..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/BzDictRelService.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.BzDictRelMapper; -import com.gunshi.project.xyt.model.BzDictRel; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 业务关联字典 - * author: xusan - * date: 2024-08-28 10:05:21 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class BzDictRelService extends ServiceImpl -{ - public void saveRel(List result, Long id,String groupId) { - if (CollectionUtils.isNotEmpty(result)) { - result.stream().forEach(rel->{ - rel.setId(IdWorker.getId()); - if(id != null){ - rel.setBusinessId(id); - } - rel.setGroupId(groupId); - }); - this.saveBatch(result); - } - } - - public void deleteRel(Long id) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(BzDictRel::getBusinessId,id); - this.remove(queryWrapper); - } - - public void updateRel(List result, Long id,String groupId) { - deleteRel(id); - saveRel(result,id,groupId); - } - - public void removeByBzIds(List detailIds) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.in(BzDictRel::getBusinessId,detailIds); - this.remove(queryWrapper); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/CctvBMenuService.java b/src/main/java/com/gunshi/project/xyt/service/CctvBMenuService.java deleted file mode 100644 index 341ae38..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/CctvBMenuService.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.CctvBMenuMapper; -import com.gunshi.project.xyt.model.CctvBMenu; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: 视频点目录 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class CctvBMenuService extends ServiceImpl -{ - - public List tree() { - List list = list(); - if (CollectionUtils.isEmpty(list)){ - return list; - } - - Map> listMap = list.stream().collect(Collectors.groupingBy(CctvBMenu::getParentId)); - - list.forEach(o -> o.setChildren(listMap.get(o.getId()))); - List parentList = list.stream().filter(o -> 0L == o.getParentId()).collect(Collectors.toList()); - return sorted(parentList); - } - - - private List sorted( List tree) { - - List sorteds = null; - - if (CollectionUtils.isNotEmpty(tree)){ - sorteds = tree.stream().sorted(Comparator.comparing(CctvBMenu::getOrderIndex) - ).collect(Collectors.toList()); - sorteds.forEach(o->{ - o.setChildren(sorted(o.getChildren())); - }); - } - - return sorteds; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/DeptempService.java b/src/main/java/com/gunshi/project/xyt/service/DeptempService.java deleted file mode 100644 index ec3636c..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/DeptempService.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AppVersionRecordMapper; -import com.gunshi.project.xyt.model.AppVersionRecord; -import com.ruoyi.common.core.domain.entity.SysDept; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.system.mapper.SysDeptMapper; -import com.ruoyi.system.mapper.SysUserMapper; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - -import java.util.Date; -import java.util.List; - -/** - * 描述: APP版本记录 - * author: xusan - * date: 2024-11-12 10:14:50 - */ -@Service -@Slf4j -public class DeptempService{ - @Autowired - private SysDeptMapper deptMapper; - - @Autowired - private SysUserMapper userMapper; - - public List selectUserList(SysUser user) - { - return userMapper.selectUserList(user); - } - - public List selectDeptList(SysDept dept) - { - return deptMapper.selectDeptList(dept); - } - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/DispatchRecordService.java b/src/main/java/com/gunshi/project/xyt/service/DispatchRecordService.java deleted file mode 100644 index 4e6570b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/DispatchRecordService.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.DispatchRecordPageSo; -import com.gunshi.project.xyt.entity.vo.DispatchRecordVo; -import com.gunshi.project.xyt.mapper.DispatchRecordMapper; -import com.gunshi.project.xyt.model.DispatchRecord; -import com.gunshi.project.xyt.util.ExcelUtil; -import com.gunshi.project.xyt.util.MyBeanUtil; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 调度记录 - * author: xusan - * date: 2024-10-09 09:56:28 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class DispatchRecordService extends ServiceImpl -{ - @Autowired - private FileAssociationsService fileService; - - public Page pageQuery(DispatchRecordPageSo page) { - Page res = this.page(page.getPageSo().toPage(), commonWrapper(page)); - if (res.getRecords() != null) { - fillAttach(res.getRecords()); - } - return res; - } - - private void fillAttach(List ret) { - for (DispatchRecord record : ret) { - record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); - } - } - - private LambdaQueryWrapper commonWrapper(DispatchRecordPageSo page){ - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - if(StringUtils.isNotEmpty(page.getOpUserName())){ - wrapper.like(DispatchRecord::getOpUserName,page.getOpUserName()); - } - if(page.getStatus() != null){ - wrapper.eq(DispatchRecord::getStatus,page.getStatus()); - } - if(page.getDateTimeSo() != null && page.getDateTimeSo().getStart() != null){ - wrapper.gt(DispatchRecord::getStartTime,page.getDateTimeSo().getStart()); - } - if(page.getDateTimeSo() != null && page.getDateTimeSo().getEnd() != null){ - wrapper.lt(DispatchRecord::getStartTime,page.getDateTimeSo().getEnd()); - } - wrapper.orderByDesc(DispatchRecord::getStartTime); - return wrapper; - } - - public void export(DispatchRecordPageSo page, HttpServletResponse response) { - List list = this.list(commonWrapper(page)); - List dispatchRecordVos = MyBeanUtil.collectionCopy(list, DispatchRecordVo.class); - ExcelUtil.exportExcel(dispatchRecordVos,"调度指令", DispatchRecordVo.class,response,"调度指令"); - } - - public DispatchRecord saveData(DispatchRecord dto) { - dto.setId(IdWorker.getId()); - dto.setCreateTime(new Date()); - this.save(dto); - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); - return dto; - } - - public String getGroupId() { - return "dispatchRecord"; - } - - public DispatchRecord updateData(DispatchRecord dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public Boolean delData(List ids) { - fileService.removeByBzIds(ids.stream().map(Objects::toString).collect(Collectors.toList())); - return this.removeBatchByIds(ids); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/FileAssociationsService.java b/src/main/java/com/gunshi/project/xyt/service/FileAssociationsService.java deleted file mode 100644 index 842fc4b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/FileAssociationsService.java +++ /dev/null @@ -1,247 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.FileAssociationsMapper; -import com.gunshi.project.xyt.model.FileAssociations; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.compress.utils.Lists; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -import static com.gunshi.project.xyt.entity.MyConstant.*; - - -/** - * 描述: 文件关联业务表 - * author: xusan - * date: 2024-07-17 10:09:40 - */ -@Slf4j -@Service -@Transactional -public class FileAssociationsService extends ServiceImpl { - - private static final String THIS_REDIS_KEY = REDIS_KEY + FileAssociations.thisTableName + ":"; - - @CacheEvict(value = THIS_REDIS_KEY, key = "#p1 +':*'", allEntries = true) - public void saveFile(List files, String tableName, String businessId) { - if (CollectionUtils.isEmpty(files)) { - log.info("fileIds is null!"); - } - - // 查询是否添加 - List dbList = this.lambdaQuery() - .eq(FileAssociations::getTableName, tableName) - .eq(FileAssociations::getBusinessId, businessId) - .eq(FileAssociations::getDel, REC) - .list(); - - if (CollectionUtils.isNotEmpty(dbList)) { - Set fileIds = dbList.stream().map(FileAssociations::getFileId) - .collect(Collectors.toSet()); - // 删除已添加数据, 删除重复数据 删除不成功即新数据 - files = files.stream() - .filter(fileAssociations -> !fileIds.remove(fileAssociations.getFileId())) - .collect(Collectors.toList()); - -// if (CollectionUtils.isNotEmpty(files)) { - - // 删除 - if (CollectionUtils.isNotEmpty(fileIds) && this.lambdaUpdate() - .set(FileAssociations::getDel, DEL) - .eq(FileAssociations::getTableName, tableName) - .eq(FileAssociations::getBusinessId, businessId) - .in(FileAssociations::getFileId, fileIds) - .update()) { - log.info("delete file {} success!", fileIds); - } - -// } - } - - - // 做新增 - if (CollectionUtils.isNotEmpty(files)) { - - files.forEach(fileId -> { - fileId.setId(IdWorker.getId()); - fileId.setTableName(tableName); - fileId.setBusinessId(businessId); - }); - - if (!this.saveBatch(files)) { - log.error("save file error!"); - } - - } - - } - - @CacheEvict(value = THIS_REDIS_KEY, key = "#p1 +':*'", allEntries = true) - public void saveFile(List files, String tableName, String businessId, String type) { - if (CollectionUtils.isEmpty(files)) { - log.info("fileIds is null!"); - files = Lists.newArrayList(); - } - - // 查询是否添加 - List dbList = this.lambdaQuery() - .eq(FileAssociations::getTableName, tableName) - .eq(FileAssociations::getBusinessId, businessId) - .eq(FileAssociations::getType, type) - .eq(FileAssociations::getDel, REC) - .list(); - - if (CollectionUtils.isNotEmpty(dbList)) { - Set fileIds = dbList.stream().map(FileAssociations::getFileId) - .collect(Collectors.toSet()); - // 删除已添加数据, 删除重复数据 删除不成功即新数据 - files = files.stream() - .filter(fileAssociations -> !fileIds.remove(fileAssociations.getFileId())) - .collect(Collectors.toList()); - -// if (CollectionUtils.isNotEmpty(files)) { - - // 删除 - if (CollectionUtils.isNotEmpty(fileIds) && this.lambdaUpdate() - .set(FileAssociations::getDel, DEL) - .eq(FileAssociations::getTableName, tableName) - .eq(FileAssociations::getBusinessId, businessId) - .eq(FileAssociations::getType, type) - .in(FileAssociations::getFileId, fileIds) - .update()) { - log.info("delete file {} success!", fileIds); - } - -// } - } - - - // 做新增 - if (CollectionUtils.isNotEmpty(files)) { - - files.forEach(fileId -> { - fileId.setId(IdWorker.getId()); - fileId.setTableName(tableName); - fileId.setType(type); - fileId.setBusinessId(businessId); - }); - - if (!this.saveBatch(files)) { - log.error("save file error!"); - } - - } - - } - - - @CacheEvict(value = THIS_REDIS_KEY, key = "#p1 +':*'", allEntries = true) - public void saveFileNotDel(List files, String tableName, String businessId, String type) { - - // 查询是否添加 - List dbList = this.lambdaQuery() - .eq(FileAssociations::getTableName, tableName) - .eq(FileAssociations::getBusinessId, businessId) - .eq(FileAssociations::getType, type) - .eq(FileAssociations::getDel, REC) - .list(); - - if (CollectionUtils.isEmpty(files) && CollectionUtils.isNotEmpty(dbList)) { - log.info("fileIds is null!"); - Set fileIds = dbList.stream().map(FileAssociations::getFileId) - .collect(Collectors.toSet()); - // 删除 - if (this.lambdaUpdate() - .set(FileAssociations::getDel, DEL) - .eq(FileAssociations::getTableName, tableName) - .eq(FileAssociations::getBusinessId, businessId) - .eq(FileAssociations::getType, type) - .in(FileAssociations::getFileId, fileIds) - .update()) { - log.info("delete file {} success!", fileIds); - return; - } - } - - - // 做新增 - if (CollectionUtils.isNotEmpty(files)) { - - files.forEach(fileId -> { - fileId.setId(IdWorker.getId()); - fileId.setTableName(tableName); - fileId.setType(type); - fileId.setBusinessId(businessId); - }); - - if (!this.saveBatch(files)) { - log.error("save file error!"); - } - - } - - } - - @CacheEvict(value = THIS_REDIS_KEY, key = "#p0 +':*'", allEntries = true) - public void deleteFile(String tableName, String businessId) { - // 删除 - if (this.lambdaUpdate() - .set(FileAssociations::getDel, DEL) - .eq(FileAssociations::getTableName, tableName) - .eq(FileAssociations::getBusinessId, businessId) - .update()) { - log.info("delete file {} success!", businessId); - } - } - - @Cacheable(value = THIS_REDIS_KEY, key = "#p0 +':'+ #p1", unless = "false") - public List getFiles(String tName, String bId) { - return this.baseMapper.getFiles(tName,bId); - } - - @Cacheable(value = THIS_REDIS_KEY, key = "#p0 +':'+ #p1 +':'+ #p2", unless = "false") - public List getFiles(String tName, String bId,String num) { - return this.baseMapper.getFiles1(tName,bId,num); - } - - public void save(List attachList,String businessId, String tableName,String type) { - if (attachList != null && !attachList.isEmpty()) { - for (FileAssociations attach : attachList) { - attach.setId(IdWorker.getId()); - if(StringUtils.isNotEmpty(businessId)){ - attach.setBusinessId(businessId); - } - attach.setTableName(tableName); - attach.setType(type); - } - this.saveBatch(attachList); - } - } - - public boolean removeByBzIdAndType(String businessId, String tableName,String type) { - return this.remove(new QueryWrapper().eq("business_id", businessId).eq("table_name", tableName).eq("type",type)); - } - - public List queryFileList(String businessId, String tableName,String type) { - return this.baseMapper.queryFileList(businessId,tableName,type); - } - - public boolean removeByBzIds(List businessIds) { - return this.remove(new QueryWrapper().in("business_id", businessIds)); - } - - public List getFilesByIds(List ids) { - return this.baseMapper.getFilesByIds(ids); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/ForecastKService.java b/src/main/java/com/gunshi/project/xyt/service/ForecastKService.java deleted file mode 100644 index 43af5b5..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ForecastKService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ForecastKMapper; -import com.gunshi.project.xyt.model.ForecastK; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 预报_前期影响雨量折减系数表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ForecastKService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ForecastPPaRService.java b/src/main/java/com/gunshi/project/xyt/service/ForecastPPaRService.java deleted file mode 100644 index 63658f9..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ForecastPPaRService.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ForecastPPaRMapper; -import com.gunshi.project.xyt.model.ForecastPPaR; -import com.gunshi.project.xyt.model.ForecastUseparam; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: 预报_降雨径流关系表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ForecastPPaRService extends ServiceImpl -{ - - @Autowired - private ForecastUseparamService forecastUseparamService; - - /** - * @description: 获取列表 - * @return: java.util.List - * @auther: cxw - * @date: 2024-08-07, 周三, 11:11:42 - */ - public List handleList() { - List PPaRList = new ArrayList<>(); - // 获取Im值,限制pa - BigDecimal Im; - Map paramMap = forecastUseparamService.getMap(new QueryWrapper().eq("param_code", "Im")); - if (paramMap != null && paramMap.size() > 0) { - Im = new BigDecimal(paramMap.get("param_value").toString()); - } else { - Im = BigDecimal.valueOf(120.0); - } - List forecastPPaRList = this.list(); - if (CollectionUtils.isNotEmpty(forecastPPaRList)) { - BigDecimal maxPa = forecastPPaRList.stream().map(ForecastPPaR::getPa).reduce(BigDecimal.ZERO, BigDecimal::max); - List pList = forecastPPaRList.stream().map(ForecastPPaR::getPsum).distinct().sorted().collect(Collectors.toList()); - List paList = forecastPPaRList.stream().map(ForecastPPaR::getPa).distinct().sorted().collect(Collectors.toList()); - Map rSumMap = forecastPPaRList.stream().collect(Collectors.toMap(k -> k.getPsum() + "-" + k.getPa(), value -> value.getRsum())); - // 如果pa最大值超过了Im,截取到Im的 - if (maxPa.compareTo(Im) > 0) { - paList = paList.stream().filter(bd -> bd.compareTo(Im) <= 0).collect(Collectors.toList()); - } - List sList = new ArrayList<>(); - // 先添加第一行的Pa - sList.add("P/R/Pa"); - sList.addAll(paList.stream().map(BigDecimal::toString).collect(Collectors.toList())); - PPaRList.add(sList.toArray(new String[0])); - for (int i = 0; i < pList.size(); i++) { - sList = new ArrayList<>(); - BigDecimal p = pList.get(i); - for (int j = 0; j < paList.size(); j++) { - BigDecimal pa = paList.get(j); - // 每次添加rSum时,先添加p - if (j == 0) { - sList.add(String.valueOf(p)); - } - sList.add(rSumMap.get(p + "-" + pa).stripTrailingZeros().toString()); - } - PPaRList.add(sList.toArray(new String[0])); - } - } - return PPaRList; - } - - /** - * @description: 处理批量保存 - * @param PPaRList - * @return: boolean - * @auther: cxw - * @date: 2024-08-06, 周二, 15:29:29 - */ - public boolean handleSaveBatch(List PPaRList) { - Boolean ret = false; - List paStr = new ArrayList<>(); - List pStr = new ArrayList<>(); - Map rSumMap = new HashMap<>(); - // 行 - for (int i = 0; i < PPaRList.size(); i++) { - String[] paArr = PPaRList.get(i); - String p = ""; - // 列 - for (int j = 0; j < paArr.length; j++) { - String pa = ""; - // 第一行:pa - if(i == 0 && j > 0){ - pa = paArr[j]; - paStr.add(pa); - } - // 第一列:p - if(i > 0 && j == 0){ - p = paArr[j]; - pStr.add(p); - } - // rSumMap:key=P-Pa - if (i > 0 && j > 0) { - rSumMap.put(p + "-" + paStr.get(j - 1), new BigDecimal(paArr[j])); - } - } - } - // 组装数据 - if (paStr.size() > 0 && pStr.size() > 0 && rSumMap.size() > 0) { - List forecastPPaRList = new ArrayList<>(); - // 外层pa - for (String pa : paStr) { - // 循环一次pa,r需要重置 - BigDecimal r = BigDecimal.ZERO; - BigDecimal lastRSum = BigDecimal.ZERO; - // 内层p - for (String p : pStr) { - ForecastPPaR forecastPPaR = new ForecastPPaR(); - BigDecimal rSum = rSumMap.get(p + "-" + pa); - forecastPPaR.setRsum(rSum.stripTrailingZeros()); - forecastPPaR.setPsum(new BigDecimal(p).stripTrailingZeros()); - // 循环累减 - r = rSum.subtract(lastRSum); - // 赋值 - lastRSum = rSum; - forecastPPaR.setR(r.stripTrailingZeros()); - forecastPPaR.setPa(new BigDecimal(pa).stripTrailingZeros()); - forecastPPaRList.add(forecastPPaR); - } - } - if (forecastPPaRList.size() > 0) { - // 先全部删除 - this.remove(new QueryWrapper<>()); - ret = this.saveBatch(forecastPPaRList); - } - } - return ret; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ForecastPaService.java b/src/main/java/com/gunshi/project/xyt/service/ForecastPaService.java deleted file mode 100644 index 438b53a..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ForecastPaService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ForecastPaMapper; -import com.gunshi.project.xyt.model.ForecastPa; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 预报_土壤含水量表 - * author: cxw - * date: 2024-08-02 12:23:07 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ForecastPaService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ForecastProjectService.java b/src/main/java/com/gunshi/project/xyt/service/ForecastProjectService.java deleted file mode 100644 index 7f1f851..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ForecastProjectService.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.ForecastResultVo; -import com.gunshi.project.xyt.mapper.ForecastProjectMapper; -import com.gunshi.project.xyt.model.ForecastProject; -import com.gunshi.project.xyt.model.ForecastResults; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.List; - -/** - * 描述: 预报_预测方案管理表 - * author: cxw - * date: 2024-08-05 11:41:45 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ForecastProjectService extends ServiceImpl -{ - - private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - @Autowired - private ForecastResultsService forecastResultsService; - - /** - * @description: 保存预报结果 - * @param forecastProject - * @return: void - * @auther: cxw - * @date: 2024-08-06, 周二, 10:06:40 - */ - public Boolean saveForecastResults(ForecastProject forecastProject) throws ParseException { - List retList = new ArrayList<>(); - List voList = forecastProject.getVoList(); - for (ForecastResultVo vo : voList) { - ForecastResults forecastResults = new ForecastResults(); - forecastResults.setId(IdWorker.getId()); - forecastResults.setTm(sdf.parse(vo.getTm())); - forecastResults.setYcRkQValue(vo.getYcRkQValue()); - forecastResults.setRealRkQValue(vo.getRealRkQValue()); - forecastResults.setYcCkQValue(vo.getYcCkQValue()); - forecastResults.setRealCkQValue(vo.getRealCkQValue()); - forecastResults.setYcSwHValue(vo.getYcSwHValue()); - forecastResults.setRealSwHValue(vo.getRealSwHValue()); - forecastResults.setDrp(vo.getDrp()); - forecastResults.setIspreDrp(vo.getIspreDrp()); - forecastResults.setR(vo.getR()); - forecastResults.setProjectId(forecastProject.getId()); - forecastResults.setFlLowLimLev(vo.getFlLowLimLev()); - forecastResults.setCurrentYdgdyjz(vo.getCurrentYdgdyjz()); - forecastResults.setPa(vo.getPa()); - retList.add(forecastResults); - } - return forecastResultsService.saveBatch(retList); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ForecastResultsService.java b/src/main/java/com/gunshi/project/xyt/service/ForecastResultsService.java deleted file mode 100644 index 9e1396d..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ForecastResultsService.java +++ /dev/null @@ -1,771 +0,0 @@ -package com.gunshi.project.xyt.service; - -import cn.hutool.core.map.MapUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.algorithm.RrainfallForecast; -import com.gunshi.algorithm.RunoffService; -import com.gunshi.model.vo.FloodAlgorithemVo; -import com.gunshi.project.xyt.entity.vo.ForeRainStatVo; -import com.gunshi.project.xyt.entity.vo.ForeRainTimeVo; -import com.gunshi.project.xyt.entity.vo.ForecastResultVo; -import com.gunshi.project.xyt.grb.RainGrib2Layer; -import com.gunshi.project.xyt.mapper.ForecastResultsMapper; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.ForecastPa; -import com.gunshi.project.xyt.model.ForecastProject; -import com.gunshi.project.xyt.model.ForecastResults; -import com.gunshi.project.xyt.model.ForecastTask; -import com.gunshi.project.xyt.model.ForecastU; -import com.gunshi.project.xyt.model.ForecastUseparam; -import com.gunshi.project.xyt.model.StPptnR; -import com.gunshi.project.xyt.model.StPptnRAverage; -import com.gunshi.project.xyt.model.StRsvrR; -import com.gunshi.project.xyt.model.StStbprpB; -import com.gunshi.project.xyt.model.StZqrlB; -import com.gunshi.project.xyt.model.StZvarlB; -import com.gunshi.project.xyt.util.BigdecimalUtil; -import com.gunshi.project.xyt.util.DataHandleUtil; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * 描述: 预报_预测结果表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ForecastResultsService extends ServiceImpl -{ - - private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - private static SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd"); - - private static SimpleDateFormat sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - - private static SimpleDateFormat eightSdf = new SimpleDateFormat("yyyy-MM-dd 08"); - - private static SimpleDateFormat sixteenSdf = new SimpleDateFormat("yyyy-MM-dd 16"); - - @Autowired - private ForecastUseparamService forecastUseparamService; - - @Autowired - private ForecastUService forecastUService; - - @Autowired - private StPptnRService stPptnRService; - - @Autowired - private StRsvrRService stRsvrRService; - - @Autowired - private ForecastService forecastService; - - @Autowired - private StStbprpBService stStbprpBService; - - @Autowired - private StZqrlBService stZqrlBService; - - @Autowired - private ForecastPaService forecastPaService; - - @Autowired - private AttResBaseService attResBaseService; - - @Autowired - private StZvarlBService stZvarlBService; - - - /** - * @description: 自动洪水预测 - * @param forecastTask - * @return: java.util.List - * @auther: cxw - * @date: 2024-07-30, 周二, 14:40:45 - */ - public List autoFloodForecast(ForecastTask forecastTask) throws Exception { - // 获取预测数据 - List voList = excuteForecast(forecastTask); - return voList; - } - - /** - * @description: 获取人工交互洪水预报结果 - * @param forecastTask - * @return: java.util.List - * @auther: cxw - * @date: 2024-07-31, 周三, 11:09:24 - */ - public List getHumanForecastResult(ForecastTask forecastTask) { - // 当前时间整点,作为获取雨量数据历史、预测分隔点 - Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - Date nowHourTime = calendar.getTime(); - forecastTask.setNowTime(nowHourTime); - List voList = null; - try { - voList = excuteForecast(forecastTask); - voList.sort(Comparator.comparing(ForecastResultVo::getTm)); - } catch (Exception e) { - e.printStackTrace(); - throw new IllegalArgumentException(e.getMessage()); - } - return voList; - } - - /** - * @description: 组装洪水预报ForecastResultVo - * @param forecastTask - * @return: java.util.List - * @auther: cxw - * @date: 2024-08-05, 周一, 17:14:52 - */ - private List excuteForecast(ForecastTask forecastTask) throws Exception { - List voList = new ArrayList<>(); - // 获取配置参数 - List paramList = forecastUseparamService.list(new QueryWrapper().isNotNull("param_code").isNotNull("param_value")); - if (CollectionUtils.isEmpty(paramList)) { - throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查入参是否缺失。"); - } - // 获取系统当前的水库站编码、汛限水位 - AttResBase attResBase = attResBaseService.getOne(new QueryWrapper<>()); - // 多站点水库面雨量 - List stbs = stStbprpBService.list(new QueryWrapper().eq("res_code", attResBase.getResCode())); - if (CollectionUtils.isEmpty(stbs)) { - return voList; - } - Date nowHourTime = forecastTask.getNowTime(); - Date startTime = forecastTask.getStartTime(); - Date endTime = forecastTask.getEndTime(); - // 获取整个时间线的降雨数据 - List pptnRAllList = new ArrayList<>(); - List pptnRFutureList = new ArrayList<>(); - QueryWrapper qwExisted = new QueryWrapper<>(); - Boolean isHaveFuturePPtn = true; - // 檀树岗修改:实测降雨查询表数据,预测降雨使用geom参数。最后按时间算数平均 -// for(StStbprpB b : stbs){ -// String stcd = b.getStcd(); -// // 如果结束时间在当前时间之前,降雨序列从历史降雨表获取 -// if (endTime.compareTo(nowHourTime) <= 0) { -// qwExisted = new QueryWrapper().eq("stcd", stcd).ge("tm", startTime).le("tm", endTime).orderBy(true, true, "tm"); -// } else { -// qwExisted = new QueryWrapper().eq("stcd", stcd).ge("tm", startTime).le("tm", nowHourTime).orderBy(true, true, "tm"); -// try { -// // 获取预报数据 -// pptnRFutureList = getForecastDrpData(nowHourTime, stcd); -// } catch (IllegalArgumentException e) { -// if(stcd.equals(attResBase.getStcd())){ -// isHaveFuturePPtn = false; -// } -// log.error("该时间无预报数据"); -// } -// } -// List pptnRExistedList = stPptnRService.list(qwExisted); -// pptnRAllList.addAll(pptnRExistedList); -// pptnRAllList.addAll(pptnRFutureList); -// } - if (endTime.compareTo(nowHourTime) <= 0) { - qwExisted = new QueryWrapper().in("stcd", stbs.stream().map(StStbprpB::getStcd).toArray(String[]::new)).ge("tm", startTime).le("tm", endTime).orderBy(true, true, "tm"); - } else { - qwExisted = new QueryWrapper().in("stcd", stbs.stream().map(StStbprpB::getStcd).toArray(String[]::new)).ge("tm", startTime).le("tm", nowHourTime).orderBy(true, true, "tm"); - // 获取预报数据 - try { - pptnRFutureList = getForecastDrpData(nowHourTime, ""); - if(CollectionUtils.isEmpty(pptnRFutureList)) { - isHaveFuturePPtn = false; - log.error("该时间无预报数据"); - } - } catch (IllegalArgumentException e) { - isHaveFuturePPtn = false; - log.error("该时间无预报数据"); - } - } - List pptnRExistedList = stPptnRService.list(qwExisted); - pptnRAllList.addAll(pptnRExistedList); - pptnRAllList.addAll(pptnRFutureList); - - if (CollectionUtils.isEmpty(pptnRAllList)) { - return voList; - } - // 多站点面雨量结果list - List polyPptnRList = pptnRAllList.stream() - .collect(Collectors.groupingBy( - StPptnR::getTm, - Collectors.mapping( - pptn -> Double.parseDouble(pptn.getDrp()), // 将String转换为double - Collectors.averagingDouble(d -> d) // 计算平均值 - ) - )) - .entrySet().stream() - .map(entry -> new StPptnRAverage(entry.getKey(), String.valueOf(entry.getValue()))) - .sorted(Comparator.comparing(StPptnRAverage::getTm)) - .collect(Collectors.toList()); - double dt = 0.0; - double Wm = 0.0; - double qOther = 0.0; - Map paramMap = paramList.stream().collect(Collectors.toMap(ForecastUseparam::getParamCode, ForecastUseparam::getParamValue)); - if (paramMap.get("dt").isEmpty()) { - throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查时间单元△T是否缺失。"); - } - if (paramMap.get("Im").isEmpty()) { - throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查最大初损值Im是否缺失。"); - } - if (!paramMap.get("qOther").isEmpty()) { - qOther = Double.parseDouble(paramMap.get("qOther")); - } - dt = Double.parseDouble(paramMap.get("dt")); - Wm = Double.parseDouble(paramMap.get("Im")); - List uList = forecastUService.list(); - if (CollectionUtils.isEmpty(uList)) { - throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查U(I)单位线是否缺失。"); - } - // 每小时的单位径流量,单位m³/s - double[] u = uList.stream().mapToDouble(forecastU -> forecastU.getUValue().doubleValue()).toArray(); - // 根据开始结束时间查询pa - Calendar cal = Calendar.getInstance(); - cal.setTime(startTime); - // 将日期往前推一天 - cal.add(Calendar.DATE, -1); - List paList = forecastPaService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).ge("tm", sdfDay.format(cal.getTime())).le("tm", sdfDay.format(endTime))); - if (CollectionUtils.isEmpty(paList)) { - throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查每日土壤含水量Pa是否缺失。"); - } - Map paMap = paList.stream().collect(Collectors.toMap(ForecastPa::getTm, entity -> entity)); - // 获取预测开始时间前的最后水库水位 - double H1 = 0.0;// 初始水库水位,可以根据H1->V1,H1->q1得到初始的水库库容和下泄流量 - StRsvrR rsvrR = stRsvrRService.getOne(new QueryWrapper().eq("stcd", attResBase.getStcd()).le("tm", startTime).orderBy(true, false, "tm").last("limit 1")); - if (ObjectUtils.isEmpty(rsvrR)) { - return voList; - } - H1 = Double.parseDouble(rsvrR.getRz()); - // 泄流量 - List stZqrlBList = stZqrlBService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).orderBy(true, true, "z")); - // 库容曲线 - List zvarlBS = stZvarlBService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).orderBy(true, true, "rz")); - // 水位历史数据 - List rsvrRRealList = stRsvrRService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).ge("tm", startTime).le("tm", endTime)); - List resultList = reorganizeRsvrRData(rsvrRRealList, dt); - List periods = splitByDay8To8(startTime, endTime); - for (Date[] period : periods) { - Calendar calNew = Calendar.getInstance(); - calNew.setTime(period[0]); - // 根据每段时间的开始时间,如果在08点前,则采用前一天的pa值计算 - if (isBeforeEightAM(period[0])) { - // 将日期往前推一天 - calNew.add(Calendar.DATE, -1); - } - ForecastPa forecastPa = paMap.get(sdfDay.format(calNew.getTime())); - if (ObjectUtils.isEmpty(forecastPa)) { - continue; -// throw new IllegalArgumentException("温馨提示:当前洪水预报所依赖的数据尚不完整,请检查每日土壤含水量Pa、K值是否缺失。"); - } - // 根据降雨数据,按照△t的颗粒度,均分 - // 筛选时间段内的降雨数据。不包前但包后 - List filterList = polyPptnRList.stream().filter(e -> e.getTm().compareTo(period[0]) >= 0).filter(e -> e.getTm().compareTo(period[1]) <= 0).collect(Collectors.toList()); - Map> retMap = new HashMap<>(); - if (CollectionUtils.isNotEmpty(filterList)) { - retMap = reorganizePptnRData(filterList, dt, period[0], period[1], nowHourTime, isHaveFuturePPtn); - } - if(ObjectUtils.isEmpty(retMap.get("listForForecast"))){ - continue; - } - List pForecastList = retMap.get("listForForecast").stream().map(s -> s.getDrp()).collect(Collectors.toList()); - if(pForecastList.size() == 0){ - continue; - } - if(ObjectUtils.isEmpty(retMap.get("listForReal"))){ - continue; - } - Map pRealMap = retMap.get("listForReal").stream().collect(Collectors.toMap(pptnR -> sdfMinute.format(pptnR.getTm()), StPptnR::getDrp)); - double[] PList = pForecastList.stream().mapToDouble(Double::parseDouble).toArray(); - // 预测执行 - List forecastVoList = RrainfallForecast.getData(sdf.format(period[0]), forecastPa.getK().doubleValue(), forecastPa.getPa0().doubleValue(), Wm, forecastPa.getPt0().doubleValue(), H1, dt, - forecastPa.getPa().doubleValue(), PList, u, attResBase.getStcd(), qOther); - if (CollectionUtils.isNotEmpty(forecastVoList)) { - // 筛选同时段的真实水位数据 - List realRsvrList = resultList.stream().filter(item -> item.getTm().compareTo(period[0]) >= 0 && item.getTm().compareTo(period[1]) <= 0).collect(Collectors.toList()); - Map realRsvrMap = realRsvrList.stream().collect(Collectors.toMap(rsvr -> sdfMinute.format(rsvr.getTm()), StRsvrR::getRz)); - forecastVoList = forecastVoList.subList(0, PList.length); - // 去除预测出来的最后一条与第二次实际的相同时间的数据 - if(voList.size() > 0 && voList.get(voList.size() - 1).getTm().equals(forecastVoList.get(0).getDateStr())){ - voList.remove(voList.size() - 1); - } - for (int j = 0; j < forecastVoList.size(); j++) { - FloodAlgorithemVo floodAlgorithemVo = forecastVoList.get(j); - String dateStr = floodAlgorithemVo.getDateStr(); - ForecastResultVo resultVo = new ForecastResultVo(); - resultVo.setTm(dateStr); - resultVo.setYcRkQValue(floodAlgorithemVo.getRq());// 预测入库流量 -// resultVo.setRealRkQValue();// 暂无真实入库流量 - resultVo.setYcCkQValue(floodAlgorithemVo.getCq());// 预测出库流量 - resultVo.setYcSwHValue(floodAlgorithemVo.getKh());// 预测水库水位 - H1 = resultVo.getYcSwHValue().doubleValue();// 以预测水位作为下一次预测段起始值 - String dateMinuteStr = dateStr.substring(0, dateStr.length() - 3);// 年月日 时分 - if (realRsvrMap.containsKey(dateMinuteStr)) { - BigDecimal realSwHValue = new BigDecimal(realRsvrMap.get(dateMinuteStr));// 根据时间取更准确 - resultVo.setRealSwHValue(realSwHValue);// 真实水库水位 - calculateCap(zvarlBS, resultVo, realSwHValue);// 有真实水位就用真实水位算(作为实测库容) - resultVo.setSwHDValue(resultVo.getYcSwHValue().subtract(resultVo.getRealSwHValue()));// 预测与真实水位差 - // 注释:修复跨8点时的陡升陡降 -// H1 = realSwHValue.doubleValue();// 如果有真实水位,将最后一条的真实水位作为下一次预测段的初始水位 - // 真实出库流量=真实水库水位与泄流量曲线差值法 - if (realSwHValue != null && CollectionUtils.isNotEmpty(stZqrlBList)) { - BigDecimal maxZ = stZqrlBList.stream().max(Comparator.comparing(StZqrlB::getZ)).get().getZ(); - BigDecimal minZ = stZqrlBList.stream().min(Comparator.comparing(StZqrlB::getZ)).get().getZ(); - if (realSwHValue.compareTo(minZ) < 0 || realSwHValue.compareTo(maxZ) > 0) { - resultVo.setRealCkQValue(BigDecimal.ZERO);// 真实出库流量 - } else { - Map stZvalMap = stZqrlBList.stream().collect(Collectors.toMap(StZqrlB::getZ, StZqrlB::getQ)); - List list = stZqrlBList.stream().map(StZqrlB::getZ).collect(Collectors.toList()); - resultVo.setRealCkQValue(DataHandleUtil.calcData(realSwHValue, stZvalMap, list));// 真实出库流量 - } - } - } else { - // 没有真实水位就用预测水位算(作为预测库容) - calculateCap(zvarlBS, resultVo, resultVo.getYcSwHValue()); - } - BigDecimal drp = new BigDecimal(pRealMap.get(dateMinuteStr));// 根据时间取更准确 - if (drp.compareTo(BigDecimal.ZERO) < 0) { - resultVo.setDrp(null); - } else { - resultVo.setDrp(drp); - } - Date dateTm = sdf.parse(floodAlgorithemVo.getDateStr()); - resultVo.setIspreDrp(dateTm.compareTo(nowHourTime) <= 0 ? "0" : "1");// 0:真实 1:预测 - resultVo.setR(floodAlgorithemVo.getR()); - resultVo.setFlLowLimLev(attResBase.getFlLowLimLev()); - resultVo.setCurrentYdgdyjz(MapUtil.get(paramMap, "ydgdyjz", BigDecimal.class, BigDecimal.ZERO)); - resultVo.setPa(floodAlgorithemVo.getPa()); - voList.add(resultVo); - } - } - } - return voList; - } - - /** - * @description: 根据水位计算库容 - * @param zvarlBS 库容曲线 - * @param resultVo vo - * @param rz 当前水位 - * @return: void - * @auther: cxw - * @date: 2024-10-14, 周一, 09:36:13 - */ - private void calculateCap(List zvarlBS, ForecastResultVo resultVo, BigDecimal rz){ - if(CollectionUtils.isNotEmpty(zvarlBS)){ - BigDecimal maxRz = zvarlBS.stream().max(Comparator.comparing(StZvarlB::getRz)).get().getRz(); - BigDecimal minRz = zvarlBS.stream().min(Comparator.comparing(StZvarlB::getRz)).get().getRz(); - if(rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0){ - return; - } - Map stZvalMap = zvarlBS.stream().collect(Collectors.toMap(StZvarlB::getRz, StZvarlB::getW)); - List list = zvarlBS.stream().map(StZvarlB::getRz).sorted().collect(Collectors.toList()); - resultVo.setNowCap(DataHandleUtil.calcData(rz,stZvalMap,list)); - } - } - - /** - * 计算时间的小时差值 - */ - private static double dateHourDifference(Date beforeDate, Date afterDate) { - long time1 = beforeDate.getTime(); // 获取第一个时间的毫秒时间戳 - long time2 = afterDate.getTime(); // 获取第二个时间的毫秒时间戳 - // 计算两个时间戳的差值 - long difference = time2 - time1; - // 将差值转换为小时 - double hours = difference / (60 * 60 * 1000); - return hours; - } - - /** - * 根据时间获取气象降雨预报 - */ - public List getForecastDrpData(Date now, String stcd) { - List pptnRFutureList = new ArrayList<>(); -// StStbprpB stStbprpB = stStbprpBService.getOne(new QueryWrapper().eq("stcd", stcd)); - ForecastUseparam forecastUseparam = forecastUseparamService.getOne(new QueryWrapper().eq("param_code", "geom")); - String tm = "";// 时间格式应为:YYYYMMDDHH其中HH只能为08或20,例如2023062908 - if (isBeforeEightAM(now)) { - tm = sixteenSdf.format(now); - } else { - tm = eightSdf.format(now); - } - tm = tm.replaceAll(" ", "").replaceAll("-", ""); - List gribList = forecastService.getGribData(tm, false); - if(CollectionUtils.isEmpty(gribList)){ - return pptnRFutureList; - } - //24小时每个网格的总量 - List total = gribList.stream().filter(o -> o.getTmRange().getInterval() == 24).collect(Collectors.toList()); - //24小时每个网格的逐小时雨量 - List detail = gribList.stream().filter(o -> o.getTmRange().getInterval() == 1).collect(Collectors.toList()); -// ForeRainVo vo = new ForeRainVo(); -// vo.setStcd(stcd); -// vo.setLgtd(stStbprpB.getLgtd()); -// vo.setLttd(stStbprpB.getLttd()); -// List data = forecastService.getData(vo, total, detail); - // 2024-10-14 改为获取水库整个面的降雨 - ForeRainStatVo vo = new ForeRainStatVo(); - String[] paramValue = forecastUseparam.getParamValue().split(",");// x1,y1,x2,y2 - vo.setGeom(buildRectangleGeoJson(Double.parseDouble(paramValue[0]), Double.parseDouble(paramValue[1]), Double.parseDouble(paramValue[2]), Double.parseDouble(paramValue[3]), total.get(0))); - List data = forecastService.getAreaData(vo, total, detail); - if (CollectionUtils.isNotEmpty(data)) { - for (ForeRainTimeVo foreRainTimeVo : data) { - // 只取当前时间之后的数据 - if (foreRainTimeVo.getTm().compareTo(now) > 0) { - StPptnR stPptnR = new StPptnR(); - stPptnR.setStcd(stcd); - stPptnR.setTm(foreRainTimeVo.getTm()); - stPptnR.setDrp(foreRainTimeVo.getDrp().toString()); - pptnRFutureList.add(stPptnR); - } - } - } - return pptnRFutureList; - } - - /** - * @description: 根据△T来整编实际水位数据 - * @param rsvrRRealList - * @param dt - * @return: java.util.List - * @auther: cxw - */ - private List reorganizeRsvrRData(List rsvrRRealList, double dt) { - // 只保留整小时的数据 - rsvrRRealList = rsvrRRealList.stream().filter(entity -> { - Date date = entity.getTm(); - return date.getMinutes() == 0 && date.getSeconds() == 0; - }).collect(Collectors.toMap( - e -> e.getStcd() + "_" + e.getTm(), // 使用属性组合作为键 - Function.identity(), - (existing, replacement) -> existing // 如果有冲突,保留现有的 - )).values().stream().collect(Collectors.toList()); - rsvrRRealList.sort(Comparator.comparing(StRsvrR::getTm)); - // 每次加0小时30分钟,根据dt设置,此时dt=0.5小时 - int totalMinutes = (int) Math.round(dt * 60); - // 计算小时数 - int hours = totalMinutes / 60; - // 计算剩余的分钟数(即不足一小时的部分) - int minutes = totalMinutes % 60; - List resultList = new ArrayList<>(); - for (int i = 0; i < rsvrRRealList.size(); i++) { - StRsvrR stRsvrR = rsvrRRealList.get(i); - resultList.add(stRsvrR); - Date tm = stRsvrR.getTm(); - String drp = stRsvrR.getRz(); - if (i + 1 == rsvrRRealList.size()) { - break; - } else { - StRsvrR stRsvrRNext = rsvrRRealList.get(i + 1); - // 两条数据的小时差 - double diffHours = dateHourDifference(stRsvrR.getTm(), stRsvrRNext.getTm()); - int floorNum = (int) Math.floor(diffHours / dt); - BigDecimal meanDifference = new BigDecimal(stRsvrRNext.getRz()).subtract(new BigDecimal(drp)).divide(new BigDecimal(floorNum), 3, BigDecimal.ROUND_HALF_UP); - for (int j = 1; j < floorNum; j++) { - // 增补出的数据 - StRsvrR suppleStRsvrR = new StRsvrR(); - BigDecimal add = new BigDecimal(drp).add(meanDifference.multiply(new BigDecimal(j))).setScale(3, BigDecimal.ROUND_HALF_UP); - try { - tm = sdf.parse(RunoffService.calc(sdf.format(tm), hours, minutes, true)); - suppleStRsvrR.setTm(tm); - } catch (ParseException e) { - throw new RuntimeException(e); - } - suppleStRsvrR.setRz(add.toString()); - suppleStRsvrR.setStcd(stRsvrR.getStcd()); - resultList.add(suppleStRsvrR); - } - } - } - return resultList; - } - - /** - * @description: 根据△T来整编雨量数据 - * @param filterList - * @param dt - * @param startTm - * @param endTm - * @param nowHourTime - * @param isHaveFuturePPtn - * @return: java.util.List - * @auther: cxw - */ - private Map> reorganizePptnRData(List filterList, double dt, Date startTm, Date endTm, Date nowHourTime, Boolean isHaveFuturePPtn) { - // 只保留整小时的数据 - filterList = filterList.stream().filter(entity -> { - Date date = entity.getTm(); - return date.getMinutes() == 0 && date.getSeconds() == 0; - }).collect(Collectors.toMap( - e -> e.getStcd() + "_" + e.getTm(), // 使用属性组合作为键 - Function.identity(), - (existing, replacement) -> existing // 如果有冲突,保留现有的 - )).values().stream().collect(Collectors.toList()); - filterList.sort(Comparator.comparing(StPptnR::getTm)); - Map> retMap = new HashMap<>(); - Map tmDrpMap = filterList.stream().collect(Collectors.toMap(pptnR -> sdfMinute.format(pptnR.getTm()), StPptnR::getDrp)); - List listForForecast = new ArrayList<>();// 传给预测程序使用,缺失的数据为0 - List listForReal = new ArrayList<>();// 返回给前端数据使用,缺失的数据为null - Calendar calendar = Calendar.getInstance(); - calendar.setTime(startTm); - Date dataTm = calendar.getTime(); - // 使用时间一直往后加时间 - while (dataTm.compareTo(endTm) < 0) { - // 当数据时间超过实时数据的最大时间并且没有预测雨量数据时,跳出 - if(dataTm.compareTo(nowHourTime) >= 0 && !isHaveFuturePPtn){ - break; - } - // 时间加1小时,得到应该拆数据的时间,后面往前推 - calendar.add(Calendar.HOUR_OF_DAY, 1); - String shareDrp = "";// 应该分的drp - // 如果下一小时不为空 - if (tmDrpMap.containsKey(sdfMinute.format(calendar.getTime()))) { - StPptnR stPptnRHalf = new StPptnR(); - StPptnR stPptnRHour = new StPptnR(); - stPptnRHour.setTm(calendar.getTime());// 整点时间 - String dataTmDrpHalf = tmDrpMap.get(sdfMinute.format(calendar.getTime())); - BigDecimal drp = new BigDecimal(dataTmDrpHalf).divide(new BigDecimal(2), 2, BigDecimal.ROUND_HALF_UP); - shareDrp = String.valueOf(drp); - stPptnRHalf.setDrp(shareDrp); - stPptnRHour.setDrp(shareDrp); - // 往前推半小时 - calendar.add(Calendar.MINUTE, -(int) (dt * 60)); - stPptnRHalf.setTm(calendar.getTime()); - // 先存半小时数据 - listForForecast.add(stPptnRHalf); - listForReal.add(stPptnRHalf); - // 再存整小时数据 - listForForecast.add(stPptnRHour); - listForReal.add(stPptnRHour); - } else { - StPptnR stPptnRHalfForecast = new StPptnR(); - StPptnR stPptnRHourForecast = new StPptnR(); - StPptnR stPptnRHalfReal = new StPptnR(); - StPptnR stPptnRHourReal = new StPptnR(); - stPptnRHourForecast.setTm(calendar.getTime());// 整点时间 - stPptnRHourReal.setTm(calendar.getTime());// 整点时间 - // 往前推半小时 - calendar.add(Calendar.MINUTE, -(int) (dt * 60)); - stPptnRHalfForecast.setTm(calendar.getTime()); - stPptnRHalfReal.setTm(calendar.getTime()); - // 先存半小时数据 - stPptnRHalfForecast.setDrp("0.00"); - listForForecast.add(stPptnRHalfForecast); - stPptnRHalfReal.setDrp("-1"); - listForReal.add(stPptnRHalfReal); - // 再存整小时数据 - stPptnRHourForecast.setDrp("0.00"); - listForForecast.add(stPptnRHourForecast); - stPptnRHourReal.setDrp("-1"); - listForReal.add(stPptnRHourReal); - } - // 往后推半小时复位 - calendar.add(Calendar.MINUTE, (int) (dt * 60)); - dataTm = calendar.getTime(); - } - retMap.put("listForForecast", listForForecast); - retMap.put("listForReal", listForReal); - return retMap; - } - - /** - * @description: 将两个时间按照早八点分割成多段 - * @param startDate - * @param endDate - * @return: java.util.List - * @auther: cxw - */ - public static List splitByDay8To8(Date startDate, Date endDate) { - List periods = new ArrayList<>(); - - Calendar cal = Calendar.getInstance(); - cal.setTime(startDate); - - // 第一个时间段特殊处理:从startDate到第二天的8点(如果startDate晚于当天8点) - // 或者如果startDate在当天8点之前,则直接包含在当前天的8点到下一个8点周期内 - if (cal.get(Calendar.HOUR_OF_DAY) >= 8) { - // startDate晚于或等于当天8点,但我们需要到第二天的8点作为结束 - cal.add(Calendar.DAY_OF_MONTH, 1); // 跳到下一天 - cal.set(Calendar.HOUR_OF_DAY, 8); - cal.set(Calendar.MINUTE, 0); - cal.set(Calendar.SECOND, 0); - cal.set(Calendar.MILLISECOND, 0); - Date endOfDay = cal.getTime(); - periods.add(new Date[]{startDate, endOfDay}); - cal.setTime(endOfDay); // 准备下一个时间段的开始 - } - - // 循环生成剩余的时间段 - while (!cal.getTime().after(endDate)) { - Date currentStart = cal.getTime(); - if (cal.get(Calendar.HOUR_OF_DAY) >= 8) { - cal.add(Calendar.DAY_OF_MONTH, 1); // 移到下一天 - } - cal.set(Calendar.HOUR_OF_DAY, 8); - cal.set(Calendar.MINUTE, 0); - cal.set(Calendar.SECOND, 0); - cal.set(Calendar.MILLISECOND, 0); - Date currentEnd = cal.getTime(); - // 如果currentEnd超出了endDate,则调整currentEnd为endDate - if (currentEnd.after(endDate)) { - currentEnd = endDate; - } - periods.add(new Date[]{currentStart, currentEnd}); - // 准备下一个时间段的开始(但在这个循环中它不会被使用,因为循环会终止) - } - return periods; - } - - - /** - * 判断date是否在早八点后还是前(true:在8:00前) - */ - public static boolean isBeforeEightAM(Date date) { - Calendar calendar = Calendar.getInstance(); - // 先设置当前时间 - calendar.setTime(date); - calendar.set(Calendar.HOUR_OF_DAY, 8); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - return date.before(calendar.getTime()); - } - - /** - * @description: 处理voList,获取预报最大属性值 - * @param forecastProject - * @return: void - * @auther: cxw - * @date: 2024-08-07, 周三, 15:52:19 - */ - public void handleVoList(ForecastProject forecastProject) { - Map paramMap = forecastUseparamService.getMap(new QueryWrapper().eq("param_code", "dt")); - if(paramMap != null){ - BigDecimal dt = new BigDecimal(paramMap.get("param_value").toString());// 时间间隔:小时h - BigDecimal ycMaxSwH = BigDecimal.ZERO;// 预报最高调洪水位 - BigDecimal ycMaxRkQ = BigDecimal.ZERO;// 预报最大入库流量 - BigDecimal ycMaxCkQ = BigDecimal.ZERO;// 预报最大下泄流量 - BigDecimal ycSumRkQ = BigDecimal.ZERO;// 预报入库流量累计和 - for (ForecastResultVo vo : forecastProject.getVoList()){ - BigDecimal ycSwHValue = vo.getYcSwHValue(); - if (ycSwHValue.compareTo(ycMaxSwH) > 0) { - ycMaxSwH = ycSwHValue; - } - BigDecimal ycRkQValue = vo.getYcRkQValue(); - if (ycRkQValue.compareTo(ycMaxRkQ) > 0) { - ycMaxRkQ = ycRkQValue; - } - BigDecimal ycCkQValue = vo.getYcCkQValue(); - if (ycCkQValue.compareTo(ycMaxCkQ) > 0) { - ycMaxCkQ = ycCkQValue; - } - ycSumRkQ = ycSumRkQ.add(ycRkQValue); - } - // 预报洪水总量(万m³)=预报入库流量累计和 X (dt*60*60) / 10000 - BigDecimal ycSumFlood = ycSumRkQ.multiply((dt.multiply(new BigDecimal(3600)))).divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP).stripTrailingZeros(); - forecastProject.setYcMaxSwH(ycMaxSwH); - forecastProject.setYcMaxRkQ(ycMaxRkQ); - forecastProject.setYcMaxCkQ(ycMaxCkQ); - forecastProject.setYcSumFlood(ycSumFlood); - } - } - - public static String buildRectangleGeoJson(double x1, double y1, double x2, double y2, RainGrib2Layer layer) { - // x1,y1和x2,y2的间隔必须要大于网格的最小长宽,才能相交 - BigDecimal dh = layer.getDh();// 单位高度 - BigDecimal dw = layer.getDw();// 单位宽度 - if(dw.compareTo(BigDecimal.valueOf(x2 - x1)) > 0 || dh.compareTo(BigDecimal.valueOf(y2 - y1)) > 0){ - throw new IllegalArgumentException("Geom参数区域范围不足预测降雨网格最小单位!!!"); - } - // 校验数据是否在最大允许范围(预测降雨所划定区域) - Double x11 = ForecastService.x1; - Double y11 = ForecastService.y1; - Double x22 = ForecastService.x2; - Double y22 = ForecastService.y2; - /* y - * ↑ x22,y22 - * ↑ x2,y2 - * ↑ - * ↑ x1,y1 - * ↑ x11,y11 - * ——>——>——>——>——>——>——>——>——>——>——>——> x - */ -// if(x11.compareTo(Double.valueOf(x1)) > 0 || y11.compareTo(Double.valueOf(y1)) > 0 || x22.compareTo(Double.valueOf(x2)) < 0 || y22.compareTo(Double.valueOf(y2)) < 0){ -// throw new IllegalArgumentException("Geom参数超出预测降雨范围!!!"); -// } - if (!(x11.compareTo(Double.valueOf(x1)) <= 0 && x11.compareTo(Double.valueOf(x2)) <= 0 && x22.compareTo(Double.valueOf(x1)) >= 0 && x22.compareTo(Double.valueOf(x2)) >= 0 - && y11.compareTo(Double.valueOf(y1)) <= 0 && y11.compareTo(Double.valueOf(y2)) <= 0 && y22.compareTo(Double.valueOf(y1)) >= 0 && x22.compareTo(Double.valueOf(y2)) >= 0)) { - throw new IllegalArgumentException("Geom参数超出预测降雨范围!!!"); - } - - double[] corner1 = {x1, y1}; - double[] corner2 = {x2, y2}; - // 构造矩形的四个顶点(这里假设corner1是左下,corner2是右上) - double[][][] coordinates2D = { - { - {corner1[0], corner1[1]}, // 左下角 - {corner2[0], corner1[1]}, // 右上角 - {corner2[0], corner2[1]}, // 右下角 - {corner1[0], corner2[1]}, // 左上角 - {corner1[0], corner1[1]} // 回到左下角,闭合多边形 - } - }; - - // 为了适应四层数组结构,我们添加一个额外的数组层 - double[][][][] customCoordinates = {coordinates2D}; - - // 构建自定义的JSON字符串(注意:这不是标准的GeoJSON) - StringBuilder jsonBuilder = new StringBuilder(); - jsonBuilder.append("{"); - jsonBuilder.append("\"type\": \"CustomPolygon\","); // 使用自定义类型 - jsonBuilder.append("\"coordinates\": "); - jsonBuilder.append("["); - - // 遍历并添加坐标到JSON字符串中 - for (double[][][] ring : customCoordinates) { - jsonBuilder.append("["); - for (double[][] line : ring) { - jsonBuilder.append("["); - for (double[] point : line) { - jsonBuilder.append("["); - jsonBuilder.append(point[0]); // 经度 - jsonBuilder.append(","); - jsonBuilder.append(point[1]); // 纬度 - jsonBuilder.append("],"); - } - jsonBuilder.append("]"); - } - jsonBuilder.append("]"); - } - - jsonBuilder.append("]"); // 闭合最外层的坐标数组 - jsonBuilder.append("}"); // 闭合JSON对象 - return jsonBuilder.toString(); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/ForecastService.java b/src/main/java/com/gunshi/project/xyt/service/ForecastService.java deleted file mode 100644 index 3e8658d..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ForecastService.java +++ /dev/null @@ -1,339 +0,0 @@ -package com.gunshi.project.xyt.service; - -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.gunshi.project.xyt.entity.so.ShortWeatherSo; -import com.gunshi.project.xyt.entity.so.WeatherSo; -import com.gunshi.project.xyt.entity.vo.ForeRainStatVo; -import com.gunshi.project.xyt.entity.vo.ForeRainTimeVo; -import com.gunshi.project.xyt.entity.vo.ForeRainVo; -import com.gunshi.project.xyt.entity.vo.MeshrainVo; -import com.gunshi.project.xyt.grb.RainGrib2Layer; -import com.gunshi.project.xyt.mapper.RealRainMapper; -import jakarta.annotation.Resource; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.client.HttpClient; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.http.util.EntityUtils; -import org.locationtech.jts.geom.Coordinate; -import org.locationtech.jts.geom.GeometryFactory; -import org.locationtech.jts.geom.Polygon; -import org.locationtech.jts.geom.impl.CoordinateArraySequence; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.*; -import java.util.stream.Collectors; - -/** - * Description: - * Created by wanyan on 2024/3/13 - * - * @author wanyan - * @version 1.0 - */ -@Service -@Data -@Slf4j -public class ForecastService { - - @Value("${shqxjsCloudowrCnPath}") - private String shqxjsCloudowrCnPath;//获取气象预报文件名接口 http://shqxjs.cloudowr.cn/service/ - - public static GeometryFactory factory = new GeometryFactory(); - - public static String grbgetName = "grb/get"; - - public static String radargetName = "radar/get"; - - public static String getData = "res/grblayerset"; - - public static String getRadarData = "res/radarlayer"; - - public static Double x1 = 114.364492; - public static Double y1 = 30.910941; - public static Double x2 = 114.872155; - public static Double y2 = 31.594063; - - public static String totalLayers = "00.24";//只取24小时每个网格的总量 - - public static String detailLayers = "00.24,00.01,01.01,02.01,03.01,04.01,05.01,06.01,07.01,08.01,09.01,10.01,11.01,12.01,13.01,14.01,15.01,16.01,17.01,18.01,19.01,20.01,21.01,22.01,23.01,24.01"; - - @Resource - private RealRainMapper realRainMapper; - - - - private List calcDrp(List gribList,List rainLevelVos){ - if(CollectionUtils.isEmpty(gribList)){ - throw new IllegalArgumentException("该时间无预报数据"); - } - RainGrib2Layer layer = gribList.get(0); - BigDecimal dh = layer.getDh(); - BigDecimal dw = layer.getDw(); - int nh = layer.getNh();//横向格子数 - int nw = layer.getNw();//纵向格子数 - //网格左下角经纬度 - BigDecimal x11 = layer.getX1(); - BigDecimal y11 = layer.getY1(); - harry : for(ForeRainVo vo : rainLevelVos){ - BigDecimal lgtd = new BigDecimal(vo.getLgtd()); - BigDecimal lttd = new BigDecimal(vo.getLttd()); - for(int i = 0;i < nw;i++){ - for(int j=0;j< nh;j++){ - BigDecimal xMin = x11.add(dh.multiply(BigDecimal.valueOf(i))); - BigDecimal xMax = x11.add(dh.multiply(BigDecimal.valueOf(i+1))); - BigDecimal yMin = y11.add(dw.multiply(BigDecimal.valueOf(j))); - BigDecimal yMax = y11.add(dw.multiply(BigDecimal.valueOf(j+1))); - if(lgtd.compareTo(xMin)>=0 && lgtd.compareTo(xMax)<0 && lttd.compareTo(yMin)>=0 && lttd.compareTo(yMax)<0){ - vo.setH2(layer.data[j][i].doubleValue()); - continue harry; - } - } - } - } - - return rainLevelVos; - } - - /** - * 获取24小时气象的网格数据 - * @param tm - * @return - */ - public List getGribData(String tm,Boolean isOnlyQueryTotal){ - List list = new ArrayList<>(); - String grbLatestUrl = shqxjsCloudowrCnPath + grbgetName + "?tm=" + tm; - HttpClient httpClient = HttpClientBuilder.create().build(); - HttpGet httpGet = new HttpGet(grbLatestUrl); - try { - HttpResponse httpResponse = httpClient.execute(httpGet); - HttpEntity entity = httpResponse.getEntity(); - JSONObject jsonObject = JSONUtil.parseObj(EntityUtils.toString(entity)); - JSONObject data = jsonObject.getJSONObject("data"); - if (data == null) { - throw new IllegalArgumentException("该时间无预报数据"); - }; - String rainFile = data.getStr("rainFile"); - String layers = detailLayers; - if(isOnlyQueryTotal){ - layers = totalLayers; - } - String grblayersetUrl = shqxjsCloudowrCnPath + getData + "?filename="+rainFile + "&x1=" + x1+ "&y1=" + y1+ "&x2=" + x2+ "&y2=" + y2+"&layers="+layers; - HttpGet grbData = new HttpGet(grblayersetUrl); - HttpResponse responseForGrb = httpClient.execute(grbData); - HttpEntity entityForGrb = responseForGrb.getEntity(); - - JSONObject grbObject = JSONUtil.parseObj(EntityUtils.toString(entityForGrb)); - - JSONArray grbArrData = grbObject.getJSONArray("data"); - if (grbArrData == null) return list; - list = grbArrData.toList(RainGrib2Layer.class); - - } catch (IOException e) { - e.printStackTrace(); - } - return list; - } - - - /** - * 获取短临气象的网格数据 - * @param tm - * @return - */ - private RainGrib2Layer getRadarData(String tm){ - RainGrib2Layer rainGrib2Layer = new RainGrib2Layer(); - String radarLatestUrl = shqxjsCloudowrCnPath + radargetName + "?tm=" + tm; - HttpClient httpClient = HttpClientBuilder.create().build(); - HttpGet httpGet = new HttpGet(radarLatestUrl); - try { - HttpResponse httpResponse = httpClient.execute(httpGet); - HttpEntity entity = httpResponse.getEntity(); - JSONObject jsonObject = JSONUtil.parseObj(EntityUtils.toString(entity)); - JSONObject data = jsonObject.getJSONObject("data"); - if (data == null) { - throw new IllegalArgumentException("该时间无预报数据"); - }; - String rainFile = data.getStr("rainFile"); - String radarUrl = shqxjsCloudowrCnPath + getRadarData + "?filename="+rainFile + "&x1=" + x1+ "&y1=" + y1+ "&x2=" + x2+ "&y2=" + y2; - HttpGet radarData = new HttpGet(radarUrl); - HttpResponse responseForRadar = httpClient.execute(radarData); - HttpEntity entityForRadar = responseForRadar.getEntity(); - JSONObject radarObject = JSONUtil.parseObj(EntityUtils.toString(entityForRadar)); - rainGrib2Layer = radarObject.get("data",RainGrib2Layer.class); - } catch (IOException e) { - e.printStackTrace(); - } - return rainGrib2Layer; - } - - - public List shortFore(ShortWeatherSo weatherSo) { - List rainLevelVos = realRainMapper.querySttpList(); - List gribList = Arrays.asList(getRadarData(weatherSo.getTm())); - return calcDrp(gribList,rainLevelVos); - } - - public List fore(WeatherSo weatherSo) { - List rainLevelVos = realRainMapper.querySttpList(); - return commonDataHandle(weatherSo,rainLevelVos); - } - - private List commonDataHandle(WeatherSo weatherSo,List list){ - List gribList = getGribData(weatherSo.getTm(),false); - if(CollectionUtils.isEmpty(list)){ - return list; - } - //24小时每个网格的总量 - List total = gribList.stream().filter(o -> o.getTmRange().getInterval() == 24).collect(Collectors.toList()); - //24小时每个网格的逐小时雨量 - List detail = gribList.stream().filter(o -> o.getTmRange().getInterval() == 1).collect(Collectors.toList()); - for(ForeRainVo vo : list){ - List resultList = getData(vo,total,detail); - vo.setTimeRainVos(resultList); - vo.setH1(resultList.get(0).getDrp()); - List list3=resultList.subList(0, Math.min(3, resultList.size())); - vo.setH3(list3.stream().map(ForeRainTimeVo::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add)); - List list6=resultList.subList(0, Math.min(6, resultList.size())); - vo.setH6(list6.stream().map(ForeRainTimeVo::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add)); - List list12=resultList.subList(0, Math.min(12, resultList.size())); - vo.setH12(list12.stream().map(ForeRainTimeVo::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add)); - } - return list.stream().sorted(Comparator.comparing(ForeRainVo::getH24).reversed()).collect(Collectors.toList()); - } - - public List getData(ForeRainVo vo, List total,List detail) { - List result = new ArrayList<>(); - RainGrib2Layer layer = total.get(0); - BigDecimal dh = layer.getDh(); - BigDecimal dw = layer.getDw(); - int nh = layer.getNh();//横向格子数 - int nw = layer.getNw();//纵向格子数 - //网格左下角经纬度 - BigDecimal x11 = layer.getX1(); - BigDecimal y11 = layer.getY1(); - BigDecimal lgtd = new BigDecimal(vo.getLgtd()); - BigDecimal lttd = new BigDecimal(vo.getLttd()); - int rownum = 0; - int colnum = 0; - for(int i = 0;i < nw;i++){ - for(int j=0;j< nh;j++){ - BigDecimal xMin = x11.add(dh.multiply(BigDecimal.valueOf(i))); - BigDecimal xMax = x11.add(dh.multiply(BigDecimal.valueOf(i+1))); - BigDecimal yMin = y11.add(dw.multiply(BigDecimal.valueOf(j))); - BigDecimal yMax = y11.add(dw.multiply(BigDecimal.valueOf(j+1))); - if(lgtd.compareTo(xMin)>=0 && lgtd.compareTo(xMax)<0 && lttd.compareTo(yMin)>=0 && lttd.compareTo(yMax)<0){ - rownum = j; - colnum = i; - vo.setH24(layer.data[rownum][colnum].doubleValue()); - break; - } - } - } - for(RainGrib2Layer lay : detail){ - result.add(ForeRainTimeVo.builder().tm(lay.getTmRange().getTm2()).drp(lay.data[rownum][colnum]).build()); - } - Map sumByGroup = result.stream() - .collect(Collectors.groupingBy(ForeRainTimeVo::getTm, Collectors.mapping(ForeRainTimeVo::getDrp, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)))); - List resultList = sumByGroup.entrySet().stream() - .map(entry -> ForeRainTimeVo.builder().tm(entry.getKey()).drp(entry.getValue().divide(new BigDecimal(1),1, RoundingMode.UP)).build()) - .sorted(Comparator.comparing(ForeRainTimeVo::getTm)) - .collect(Collectors.toList()); - return resultList; - } - - /** - * @description: 计算面降雨量 - * @param vo - * @param total - * @param detail - * @return: java.util.List - * @date: 2024-10-14, 周一, 17:52:27 - */ - public List getAreaData(ForeRainStatVo vo, List total, List detail) { - String geom = vo.getGeom(); - //处理面 - Polygon areaPolygon = handlePolygon(geom); - RainGrib2Layer layer = total.get(0); - BigDecimal dh = layer.getDh(); - BigDecimal dw = layer.getDw(); - int nh = layer.getNh();//横向格子数 - int nw = layer.getNw();//纵向格子数 - //网格左下角经纬度 - BigDecimal x11 = layer.getX1(); - BigDecimal y11 = layer.getY1(); - List meshrainVos = new ArrayList<>(); - for(int i = 0;i < nw;i++){ - for(int j=0;j< nh;j++){ - BigDecimal xMin = x11.add(dh.multiply(BigDecimal.valueOf(i))); - BigDecimal xMax = x11.add(dh.multiply(BigDecimal.valueOf(i+1))); - BigDecimal yMin = y11.add(dw.multiply(BigDecimal.valueOf(j))); - BigDecimal yMax = y11.add(dw.multiply(BigDecimal.valueOf(j+1))); - Coordinate[] c2 = { - new Coordinate(xMin.doubleValue(), yMin.doubleValue()), - new Coordinate(xMin.doubleValue(), yMax.doubleValue()), - new Coordinate(xMax.doubleValue(), yMax.doubleValue()), - new Coordinate(xMax.doubleValue(), yMin.doubleValue()), - new Coordinate(xMin.doubleValue(), yMin.doubleValue()) - }; - Polygon p2 = factory.createPolygon(new CoordinateArraySequence(c2)); - boolean intersects = areaPolygon.intersects(p2); - if(intersects){ - MeshrainVo meshrainVo = new MeshrainVo(); - meshrainVo.setColnum(i); - meshrainVo.setRownum(j); - meshrainVos.add(meshrainVo); - } - } - } - List result = new ArrayList<>(); - BigDecimal size = new BigDecimal(meshrainVos.size()); - for(MeshrainVo mesVo : meshrainVos){ - result.addAll(detail.stream().map(lay-> - ForeRainTimeVo.builder().tm(lay.getTmRange().getTm2()).drp(lay.data[mesVo.getRownum()][mesVo.getColnum()]).build() - ).collect(Collectors.toList())); - } - Map sumByGroup = result.stream() - .collect(Collectors.groupingBy(ForeRainTimeVo::getTm, Collectors.mapping(ForeRainTimeVo::getDrp, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)))); - List resultList = sumByGroup.entrySet().stream() - .map(entry -> ForeRainTimeVo.builder().tm(entry.getKey()).drp(entry.getValue().divide(size,1, RoundingMode.UP)).build()) - .sorted(Comparator.comparing(ForeRainTimeVo::getTm)) - .collect(Collectors.toList()); - vo.setDrp(calcSumDrp(meshrainVos,total)); - return resultList; - } - - private Polygon handlePolygon(String geom) { - JSONObject jsonObject = new JSONObject(geom); - JSONArray data = jsonObject.getJSONArray("coordinates"); - JSONArray data1 = data.getJSONArray(0); - JSONArray jsonArray = data1.getJSONArray(0); - Coordinate[] coords = new Coordinate[jsonArray.size()]; - for (int c = 0; c < jsonArray.size(); c++) { - BigDecimal x = (BigDecimal) jsonArray.getJSONArray(c).get(0); - BigDecimal y = (BigDecimal) jsonArray.getJSONArray(c).get(1); - coords[c] = new Coordinate(x.doubleValue(), y.doubleValue()); - } - return factory.createPolygon(new CoordinateArraySequence(coords)); - } - - private Double calcSumDrp(List meshrainVos, List total) { - BigDecimal size = new BigDecimal(meshrainVos.size()); - BigDecimal sumDrp = new BigDecimal(0); - for (MeshrainVo vo : meshrainVos){ - List drp = total.stream().map(o -> (o.getData()[vo.getRownum()][vo.getColnum()])).collect(Collectors.toList()); - sumDrp = drp.stream().reduce(sumDrp,BigDecimal::add); - } - return sumDrp.divide(size,1,RoundingMode.UP).doubleValue(); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/ForecastTaskService.java b/src/main/java/com/gunshi/project/xyt/service/ForecastTaskService.java deleted file mode 100644 index a66c939..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ForecastTaskService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ForecastTaskMapper; -import com.gunshi.project.xyt.model.ForecastTask; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 预报_预测自动任务管理表 - * author: cxw - * date: 2024-08-05 11:41:45 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ForecastTaskService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ForecastUService.java b/src/main/java/com/gunshi/project/xyt/service/ForecastUService.java deleted file mode 100644 index c0a118d..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ForecastUService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ForecastUMapper; -import com.gunshi.project.xyt.model.ForecastU; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 预报_时段单位线表 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ForecastUService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ForecastUseparamService.java b/src/main/java/com/gunshi/project/xyt/service/ForecastUseparamService.java deleted file mode 100644 index f4cdbbf..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ForecastUseparamService.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ForecastUseparamMapper; -import com.gunshi.project.xyt.model.ForecastUseparam; -import com.gunshi.project.xyt.util.BigdecimalUtil; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: 预报_通用参数管理 - * author: cxw - * date: 2024-07-30 10:02:24 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ForecastUseparamService extends ServiceImpl -{ - - /** - * @description: 计算时间单位线u参数 - * @param areaF 流域面积 k㎡(承雨面积) - * @param lengthL 主河道长度 km - * @param j 主河道加权平均比降 千分率‰(河道坡降) - * @param dt 时段∆t,时间间隔,例如0.5 - * @param h h毫米净雨,例如1、10等,默认为1 - * @param slice 水文分区 - * @return: java.util.List - * @auther: cxw - * @date: 2024-11-06, 周三, 10:16:26 - */ - public List calcU(BigDecimal areaF, BigDecimal lengthL, BigDecimal j, double dt, BigDecimal h, String slice) { - // 计算m1、n - Map m1AndNMap = calcM1AndN(areaF, lengthL, j, slice); - BigDecimal m1 = m1AndNMap.get("m1"); - BigDecimal n = m1AndNMap.get("n"); - // k = m1 / n。如果m1有非线性改正,则为改正后的值。算例保留1位小数 - BigDecimal k = m1.divide(n, 3, BigDecimal.ROUND_HALF_UP); - /* - * 瞬时单位线u(0,t)=(1/(k*Γ(n)))*((t/k)^(n-1))*e^(-t/k) - */ - List> mapList = new ArrayList<>(); - Map initMap = new HashMap<>(); - initMap.put("t", BigDecimal.ZERO); - initMap.put("tDevideK", BigDecimal.ZERO); - initMap.put("st", BigDecimal.ZERO); - initMap.put("utt", BigDecimal.ZERO); - initMap.put("qtt", BigDecimal.ZERO); - mapList.add(initMap); - for (int i = 1; i <= 11; i++) { - Map result = new HashMap<>(); - // 表1-5地表径流过程计算表:t - BigDecimal t = BigDecimal.valueOf(dt * i); - result.put("t", t); - - // 表1-5地表径流过程计算表:t/k - BigDecimal x = t.divide(k, 10, BigDecimal.ROUND_HALF_UP);// x - result.put("tDevideK", x); - - BigDecimal alpha = n;// α - BigDecimal beta = BigDecimal.ONE;// β - // 表1-5地表径流过程计算表:s(t) - BigDecimal gammaDist = BigDecimal.valueOf(BigdecimalUtil.gammaDist(x.doubleValue(), alpha.doubleValue(), beta.doubleValue(), true)).setScale(10, BigDecimal.ROUND_HALF_UP);// 伽马分布 - result.put("st", gammaDist); - // 表1-5地表径流过程计算表:s(t-∆t)。stt为上一行的st - BigDecimal stt = BigDecimal.ZERO; - stt = mapList.get(i - 1).get("st").setScale(10, BigDecimal.ROUND_HALF_UP); - result.put("stt", stt); - - // 表1-5地表径流过程计算表:u(∆t,t)。utt=st-stt - BigDecimal utt = gammaDist.subtract(stt).setScale(10, BigDecimal.ROUND_HALF_UP); - result.put("utt", utt); - - // 表1-5地表径流过程计算表:q(∆t,t)。qtt=Fh*utt/(3.6*∆t) - BigDecimal qtt = areaF.multiply(h).multiply(utt).divide(new BigDecimal(3.6).multiply(t), 3, BigDecimal.ROUND_HALF_UP); - result.put("qtt", qtt); - mapList.add(result); - } - mapList.remove(0);// 去除initMap - List uList = mapList.stream().map(map -> map.get("qtt")).collect(Collectors.toList()); - return uList; - } - - - /** - * @description: 计算m1和n参数 - * @param areaF - * @param lengthL - * @param j - * @param slice - * @return: void - * @auther: cxw - * @date: 2024-11-06, 周三, 13:16:24 - */ - private Map calcM1AndN(BigDecimal areaF, BigDecimal lengthL, BigDecimal j, String slice) { - BigDecimal m1 = BigDecimal.ZERO; - BigDecimal n = BigDecimal.ZERO; - // 所属片区(全省山丘区瞬时单位线分三个片进行参数的地区综合,第一片包括水文分区 1、2、4区即京广线两侧及鄂东黄冈、咸宁地区一带,(江汉平原湖区在外);第二片包括水文分区6、8、9、11区即鄂北,鄂西北及宜昌地区长江以北一带;第三片包括7、10水文分区即清江流域,恩施地区) - if (slice.toUpperCase().equals("I")) {// I片(1、2、4区) - if (areaF.compareTo(new BigDecimal("30")) > 0) {// areaF > 30 - // m1 = 0.82*F^0.29*L^0.23*j^-0.20 - m1 = new BigDecimal("0.82").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.29)).multiply(BigdecimalUtil.bigDecimalExponentiation(lengthL, 0.23)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, -0.20)); - } else if (areaF.compareTo(new BigDecimal("30")) <= 0) {// areaF <= 30 - // m1 = 1.38*F^0.27*L^0.216*j^-0.185 - m1 = new BigDecimal("1.38").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.27)).multiply(BigdecimalUtil.bigDecimalExponentiation(lengthL, 0.216)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, -0.185)); - } - if (j.compareTo(new BigDecimal("5")) > 0) {// j > 5 - // n = 0.34*F^0.35*j^0.1 - n = new BigDecimal("0.34").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.35)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, 0.1)); - } else if (j.compareTo(new BigDecimal("5")) <= 0) {// j <= 5 - // n = 1.04*F^0.3*j^0.1 - n = new BigDecimal("1.04").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.3)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, 0.1)); - } - } else if (slice.toUpperCase().equals("II")) {// II片(6、8、9、11区) - // m1 = 1.64*F^0.231*L^0.131*j^-0.08 - m1 = new BigDecimal("1.64").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.231)).multiply(BigdecimalUtil.bigDecimalExponentiation(lengthL, 0.131)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, -0.08)); - // n = 0.529*F^0.25*j^0.20 - n = new BigDecimal("0.529").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.25)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, 0.20)); - } else if (slice.toUpperCase().equals("III")) {// III片(7、10区) - // m1 = 0.8*F^0.3*L^0.1*j^-0.06 - m1 = new BigDecimal("0.8").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.3)).multiply(BigdecimalUtil.bigDecimalExponentiation(lengthL, 0.1)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, -0.06)); - // n = 0.69*F^0.224*j^0.092 - n = new BigDecimal("0.69").multiply(BigdecimalUtil.bigDecimalExponentiation(areaF, 0.224)).multiply(BigdecimalUtil.bigDecimalExponentiation(j, 0.092)); - } - // TODO 特殊流域适用的公式 - - // TODO 当设计雨强超过10mm/h时,除熔岩地区外一般应作参数m1外延的非线性改正 - - BigDecimal finalM1 = m1.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal finalN = n.setScale(3, BigDecimal.ROUND_HALF_UP); - return new HashMap<>() {{ - put("m1", finalM1); - put("n", finalN); - }}; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/GatePoreService.java b/src/main/java/com/gunshi/project/xyt/service/GatePoreService.java deleted file mode 100644 index 6184995..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/GatePoreService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.GatePoreMapper; -import com.gunshi.project.xyt.model.GatePore; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 闸孔信息表 - * author: xusan - * date: 2024-09-26 10:44:57 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class GatePoreService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/GateValveCctvRelService.java b/src/main/java/com/gunshi/project/xyt/service/GateValveCctvRelService.java deleted file mode 100644 index 621dc51..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/GateValveCctvRelService.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.GateValveCctvRelPage; -import com.gunshi.project.xyt.entity.vo.GateValveCctvRelVo; -import com.gunshi.project.xyt.mapper.GateValveCctvRelMapper; -import com.gunshi.project.xyt.model.GateValveCctvRel; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 闸阀关联视频点 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class GateValveCctvRelService extends ServiceImpl -{ - - public Page pages(GateValveCctvRelPage page){ - return getBaseMapper().pages(page.getPageSo().toPage(), page); - } - - public List queryList(String valveCode) { - return baseMapper.queryList(valveCode); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/GateValveRService.java b/src/main/java/com/gunshi/project/xyt/service/GateValveRService.java deleted file mode 100644 index f0db697..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/GateValveRService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.GateHisPageSo; -import com.gunshi.project.xyt.entity.vo.GateStautsVo; -import com.gunshi.project.xyt.mapper.GateValveRMapper; -import com.gunshi.project.xyt.model.GateValveR; -import com.gunshi.project.xyt.util.ExcelUtil; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 闸阀开关历史表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class GateValveRService extends ServiceImpl -{ - - public Page pageQuery(GateHisPageSo so) { - return baseMapper.pageQuery(so.getPageSo().toPage(),so); - } - - public void export(GateHisPageSo so, HttpServletResponse response) { - List list = baseMapper.hisList(so); - ExcelUtil.exportExcel(list,"闸阀开度历史",GateStautsVo.class,response,"闸阀开度历史"); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java b/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java deleted file mode 100644 index 14b1744..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/GateValveRealService.java +++ /dev/null @@ -1,194 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.GateHisPageSo; -import com.gunshi.project.xyt.entity.vo.AttResBaseVo; -import com.gunshi.project.xyt.entity.vo.GateStautsVo; -import com.gunshi.project.xyt.entity.vo.GateValveOplogVo; -import com.gunshi.project.xyt.mapper.GateValveRealMapper; -import com.gunshi.project.xyt.mapper.StWaterRRealMapper; -import com.gunshi.project.xyt.mapper.TyYearRainfallMapper; -import com.gunshi.project.xyt.model.*; -import com.gunshi.project.xyt.util.DataHandleUtil; -import com.gunshi.project.xyt.util.DateUtil; -import com.gunshi.project.xyt.util.ExcelUtil; -import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.time.LocalDate; -import java.util.*; - -/** - * 描述: 闸阀开关表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class GateValveRealService extends ServiceImpl -{ - @Resource - private com.gunshi.project.xyt.model.GateValveKeyAutoDao gateValveKeyAutoDao; - - @Resource - private com.gunshi.project.xyt.model.GateValveOplogAutoDao gateValveOplogAutoDao; - - @Resource - private ReservoirWaterService reservoirWaterService; - - @Resource - private StWaterRRealMapper stWaterRRealMapper; - - @Resource - private TyYearRainfallMapper tyYearRainfallMapper; - - public List gateStatusList() { - List list = baseMapper.gateStatusList(); - for(GateStautsVo vo : list){ - if(vo.getTm() != null && DateUtil.hoursBetweenDate(vo.getTm(), new Date()) > 2){ - vo.setFlag(1); - } - } - return list; - } - - public BigDecimal realQ(String valveCode) { - return baseMapper.realQ(valveCode); - } - - public String control(GateValveKey gateValveKey) { - //先判断密码是否正确 - String valveCode = gateValveKey.getValveCode(); - String key = gateValveKey.getKey(); - GateValveKey valveKey = gateValveKeyAutoDao.getById(valveCode); - if(valveKey == null || !key.equals(valveKey.getKey())){ - throw new IllegalArgumentException("密码不正确"); - } - //生成闸阀操作日志 - GateValveOplog oplog = new GateValveOplog(); - oplog.setId(IdWorker.getId()); - oplog.setStatus(gateValveKey.getStatus()); - oplog.setOpContent("设置闸阀开度为"+gateValveKey.getStatus()); - oplog.setValveCode(valveCode); - oplog.setTm(new Date()); - oplog.setOpUserId(1L); - oplog.setOpUserName("胡兵"); - - GateValveReal valveReal = this.getOne(new QueryWrapper().eq("valve_code", valveCode)); - oplog.setBeforeStatus(valveReal == null ? "-" : valveReal.getStatus()); - gateValveOplogAutoDao.save(oplog); - //todo 给闸阀下发调节指令 -// GateValveR gateValveR = new GateValveR(); -// BeanUtils.copyProperties(gateValveKey,gateValveR); -// gateValveR.setTm(new Date()); -// gateValveRMapper.insert(gateValveR); -// -// GateValveReal real = new GateValveReal(); -// BeanUtils.copyProperties(gateValveKey,real); -// real.setTm(new Date()); -// this.remove(new QueryWrapper().eq("valve_code",valveCode)); -// this.save(real); - return "调节闸阀成功"; - } - - public Page logPage(GateHisPageSo so) { - return baseMapper.logPage(so.getPageSo().toPage(),so); - } - - public GateValveOplog loginfo(String code) { - if(StringUtils.isBlank(code)){ - return null; - } - LambdaQueryWrapper qw = new LambdaQueryWrapper(); - qw.eq(GateValveOplogVo::getValveCode,code); - qw.orderByDesc(GateValveOplogVo::getTm).last("LIMIT 1"); - List list = gateValveOplogAutoDao.list(); - return list.isEmpty() ? null : list.get(0); - } - - public void logExport(GateHisPageSo so, HttpServletResponse response) { - List logList = baseMapper.logList(so); - ExcelUtil.exportExcel(logList,"闸阀操作日志",GateValveOplogVo.class,response,"闸阀操作日志"); - } - - public Map supplyTime(Integer year, Integer month) { - Map map = new HashMap<>(); - /** - * 可供水量= 实时库容 - 死库容 - * 小时水量= (输水管流量 + 放水管流量)*3600 - * 可供水小时数 = 可供水量 * 10000/ 小时水量 - * 可供水天数 = 可供水小时数换算为天数 - */ - List list = reservoirWaterService.list(); - if(CollectionUtils.isEmpty(list)){ - return map; - } - AttResBaseVo attResBaseVo = list.get(0); - BigDecimal nowCap = attResBaseVo.getNowCap() == null ? new BigDecimal(0) : attResBaseVo.getNowCap(); - BigDecimal deadCap = attResBaseVo.getDeadCap() == null ? new BigDecimal(0) : attResBaseVo.getDeadCap(); - - BigDecimal supplyV = nowCap.subtract(deadCap); - if(year != null){ - //计算预测来水量 - BigDecimal predictV = calcPredictV(year,month,attResBaseVo.getWatShedArea()); - supplyV = supplyV.add(predictV); - } - List water = stWaterRRealMapper.listRelated(); - //小时水量 - BigDecimal hourQ = water.stream().map(StWaterRReal::getQ).reduce(BigDecimal.ZERO, BigDecimal::add).multiply(new BigDecimal(3600)); - BigDecimal day = supplyV.multiply(new BigDecimal(10000)).divide(hourQ.multiply(new BigDecimal(24)),1, RoundingMode.HALF_UP); - long l = DataHandleUtil.BigDecimalIntegerPart(day); - String date = DateUtil.getPlusDate(new Date(), l); - map.put(day,date); - return map; - } - - private BigDecimal calcPredictV(Integer year, Integer month,BigDecimal watShedArea) { - LocalDate now = LocalDate.now(); - Integer nowMonth = now.getMonthValue(); - - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(TyYearRainfall::getYear,year) - .eq(TyYearRainfall::getType,2) - .ge(TyYearRainfall::getMonth,nowMonth) - .le(TyYearRainfall::getMonth,month); - List list = tyYearRainfallMapper.selectList(queryWrapper); - - //和当前月份相同的降雨量 - Optional first = list.stream().filter(o -> nowMonth == o.getMonth()).findFirst(); - BigDecimal drp = first.isPresent() ? first.get().getDrp() : new BigDecimal(0); - int dayOfMonth = now.getDayOfMonth(); - int total = now.lengthOfMonth(); - BigDecimal nowMonthDrp = new BigDecimal((total - dayOfMonth + 1)).multiply(drp).divide(new BigDecimal(total), 2, RoundingMode.HALF_UP); - - //当前月到预测月份的降雨量 - BigDecimal value = list.stream().filter(o -> nowMonth != o.getMonth()).map(TyYearRainfall::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add); - - //预测来水量 = 月降雨量和 * 水库坝址控制流域面积 - BigDecimal sum = nowMonthDrp.add(value).divide(new BigDecimal(1000),2,RoundingMode.HALF_UP); - return sum.multiply(watShedArea); - } - - public BigDecimal predictWater(Integer year, Integer month) { - List list = reservoirWaterService.list(); - if(CollectionUtils.isEmpty(list)){ - return new BigDecimal(0); - } - return calcPredictV(year,month,list.get(0).getWatShedArea()); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/IaCBsnssinfoService.java b/src/main/java/com/gunshi/project/xyt/service/IaCBsnssinfoService.java deleted file mode 100644 index 52d984b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/IaCBsnssinfoService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.HomeIaCBsnssinfoVo; -import com.gunshi.project.xyt.mapper.IaCBsnssinfoMapper; -import com.gunshi.project.xyt.model.IaCBsnssinfo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; -import java.util.List; - -/** - * 描述: 防治区企事业单位汇总表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class IaCBsnssinfoService extends ServiceImpl -{ - - public List getDetailsAndMonitoringDataLis() { - return baseMapper.getDetailsAndMonitoringDataLis(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/IaCDanadService.java b/src/main/java/com/gunshi/project/xyt/service/IaCDanadService.java deleted file mode 100644 index 57adae8..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/IaCDanadService.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.HomeIaCDanadVo; -import com.gunshi.project.xyt.mapper.IaCDanadMapper; -import com.gunshi.project.xyt.model.IaCDanad; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 危险区基本情况调查成果汇总表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class IaCDanadService extends ServiceImpl -{ - - public List getDetailsAndMonitoringDataLis() { - return baseMapper.getDetailsAndMonitoringDataLis(); - } - - public HomeIaCDanadVo detail(String id) { - return baseMapper.detail(id); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/IaCFlrvvlgService.java b/src/main/java/com/gunshi/project/xyt/service/IaCFlrvvlgService.java deleted file mode 100644 index 514542b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/IaCFlrvvlgService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.HomeIaCFlrvvlgVo; -import com.gunshi.project.xyt.mapper.IaCFlrvvlgMapper; -import com.gunshi.project.xyt.model.IaCFlrvvlg; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 重要沿河村落居民户调查成果表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class IaCFlrvvlgService extends ServiceImpl -{ - - public List getDetailsAndMonitoringDataLis() { - return baseMapper.getDetailsAndMonitoringDataLis(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/InspectItemService.java b/src/main/java/com/gunshi/project/xyt/service/InspectItemService.java deleted file mode 100644 index bab6fd6..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/InspectItemService.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.dto.InspectItemDto; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.mapper.InspectItemMapper; -import com.gunshi.project.xyt.mapper.InspectTaskDetailMapper; -import com.gunshi.project.xyt.model.InspectItem; -import com.gunshi.project.xyt.model.InspectTaskDetail; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Objects; - -/** - * 描述: 巡检项 - * author: xusan - * date: 2024-08-29 09:58:10 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class InspectItemService extends ServiceImpl -{ - @Autowired - private InspectTaskDetailMapper taskDetailMapper; - - public Page pageQuery(AttCctvBasePage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getMenuId())) { - query.eq(InspectItem::getPointId, page.getMenuId()); - } - query.orderByAsc(InspectItem::getStatus).orderByAsc(InspectItem::getOrderIndex); - Page res = this.page(page.getPageSo().toPage(), query); - return res; - } - - public String startStop(InspectItemDto dto) { - Integer status = dto.getStatus(); - InspectItem item = super.getById(dto.getId()); - if (item == null) { - throw new IllegalArgumentException("当前数据不存在"); - } - item.setStatus(status); - boolean flag = super.updateById(item); - if (flag) { - return status == 0 ? "启用成功" : "禁用成功"; - } - return status == 0 ? "启用失败" : "禁用失败"; - } - - public Boolean delData(Long id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - Long count = taskDetailMapper.selectCount(new QueryWrapper().eq("item_id", id)); - if(count > 0){ - throw new IllegalArgumentException("该巡检项已被巡检任务使用,不可删除"); - } - return this.removeById(id); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/InspectPointService.java b/src/main/java/com/gunshi/project/xyt/service/InspectPointService.java deleted file mode 100644 index 5286989..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/InspectPointService.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.InspectItemMapper; -import com.gunshi.project.xyt.mapper.InspectPointMapper; -import com.gunshi.project.xyt.model.InspectItem; -import com.gunshi.project.xyt.model.InspectPoint; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 巡检点 - * author: xusan - * date: 2024-08-29 09:57:48 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class InspectPointService extends ServiceImpl -{ - @Autowired - private InspectItemMapper inspectItemMapper; - - public InspectPoint saveData(InspectPoint dto) { - dto.setId(IdWorker.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.orderBy(true, false, "order_index"); - InspectPoint lastOne = super.getOne(queryWrapper, false); - int order = 0; - if (lastOne == null) { - order = 1; - } else { - order = lastOne.getOrderIndex() + 1; - } - dto.setOrderIndex(order); - this.save(dto); - return dto; - } - - public InspectPoint updateData(InspectPoint dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - this.updateById(dto); - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - //判断是否关联巡检项 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(InspectItem::getPointId,id); - if(inspectItemMapper.selectCount(wrapper) > 0){ - throw new IllegalArgumentException("请先删除关联的巡检项"); - } - return this.removeById(id); - } - - public List listWithItem() { - List list = this.lambdaQuery().orderByAsc(InspectPoint::getOrderIndex).list(); - for(InspectPoint point : list){ - point.setChildren(inspectItemMapper.selectList(new QueryWrapper().eq("point_id",point.getId()).orderByAsc("order_index"))); - } - return list; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java b/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java deleted file mode 100644 index 04ac317..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java +++ /dev/null @@ -1,165 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.InspectProblemPageSo; -import com.gunshi.project.xyt.entity.vo.InspectProblemVo; -import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo; -import com.gunshi.project.xyt.mapper.InspectTaskDetailMapper; -import com.gunshi.project.xyt.model.InspectTaskDetail; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: 巡查信息 - * author: xusan - * date: 2024-08-29 14:21:45 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class InspectTaskDetailService extends ServiceImpl -{ - @Autowired - private FileAssociationsService fileService; - - public void saveDetail(List items, Long taskId) { - items.stream().forEach(o->{ - o.setId(IdWorker.getId()); - o.setTaskId(taskId); - }); - this.saveBatch(items); - } - - public void updateDetail(List items, Long taskId) { - delDetail(taskId); - saveDetail(items,taskId); - } - - public void delDetail(Long taskId) { - this.remove(new QueryWrapper().eq("task_id",taskId)); - } - - public List getByTaskId(Long taskId) { - return this.list(new QueryWrapper().eq("task_id",taskId)); - } - - public List inspectInfo(Long id) { - List res = new ArrayList<>(); - List list = this.baseMapper.inspectInfo(id); - Map> map = list.stream().collect(Collectors.groupingBy(InspectTaskDetailVo::getPointId)); - map.entrySet().forEach(t->{ - InspectTaskDetailVo vo = new InspectTaskDetailVo(); - Long pointId = t.getKey(); - vo.setPointId(pointId); - List value = t.getValue(); - vo.setName(value.get(0).getName()); - fillFile(value); - vo.setChildren(value); - res.add(vo); - }); - return res; - } - - private void fillFile(List value) { - for (InspectTaskDetailVo record : value) { - record.setInspectPics(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); - record.setInspectVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getVideoType())); - if(record.getIsHandle() != null && record.getIsHandle() == 1){ - record.setHandlePics(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandlePicType())); - record.setHandleVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandleVideoType())); - } - } - } - - public Page pageQuery(InspectProblemPageSo page) { - Page res = this.baseMapper.pageQuery(page.getPageSo().toPage(),page); - if (res.getRecords() != null) { - fillAttach(res.getRecords()); - } - return res; - } - - private void fillAttach(List records) { - for (InspectProblemVo record : records) { - record.setInspectPics(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); - record.setInspectVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getVideoType())); - if(record.getIsHandle() != null && record.getIsHandle() == 1){ - record.setHandlePics(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandlePicType())); - record.setHandleVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandleVideoType())); - } - } - } - - public String getGroupId() { - return "inspectTask"; - } - - private String getPicType() { - return "inspectPic"; - } - - private String getVideoType() { - return "inspectVideo"; - } - - private String getHandlePicType() { - return "handlePic"; - } - - private String getHandleVideoType() { - return "handleVideo"; - } - - public void finish(List list) { - List res = new ArrayList<>(); - List ids = list.stream().map(InspectTaskDetailVo::getId).map(Object::toString).collect(Collectors.toList()); - if(CollectionUtils.isNotEmpty(ids)){ - fileService.removeByBzIds(ids); - } - for(InspectTaskDetailVo vo : list){ - InspectTaskDetail detail = new InspectTaskDetail(); - BeanUtils.copyProperties(vo,detail); - res.add(detail); - fileService.save(vo.getInspectPics(),vo.getId().toString(),getGroupId(),getPicType()); - fileService.save(vo.getInspectVideos(),vo.getId().toString(),getGroupId(),getVideoType()); - fileService.save(vo.getHandlePics(),vo.getId().toString(),getGroupId(),getHandlePicType()); - fileService.save(vo.getHandleVideos(),vo.getId().toString(),getGroupId(),getHandleVideoType()); - } - //更新任务巡检信息表 - this.updateBatchById(res); - } - - public String handle(InspectProblemVo vo) { - InspectTaskDetail detail = new InspectTaskDetail(); - BeanUtils.copyProperties(vo,detail,InspectTaskDetail.class); - detail.setIsHandle(1); - detail.setHandleTime(new Date()); - this.updateById(detail); - fileService.save(vo.getHandlePics(),vo.getId().toString(),getGroupId(),getHandlePicType()); - fileService.save(vo.getHandleVideos(),vo.getId().toString(),getGroupId(),getHandleVideoType()); - return "处理成功"; - } - - public List handelList() { - List list = this.baseMapper.handleList(); - if(CollectionUtils.isNotEmpty(list)){ - fillAttach(list); - } - return list; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/InspectTaskService.java b/src/main/java/com/gunshi/project/xyt/service/InspectTaskService.java deleted file mode 100644 index 7765ca8..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/InspectTaskService.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.InspectTaskPageSo; -import com.gunshi.project.xyt.entity.so.InspectTaskSo; -import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo; -import com.gunshi.project.xyt.entity.vo.InspectTaskVo; -import com.gunshi.project.xyt.mapper.InspectTaskMapper; -import com.gunshi.project.xyt.model.InspectTask; -import com.gunshi.project.xyt.model.MessageCenter; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDate; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 巡检任务 - * author: xusan - * date: 2024-08-29 14:21:15 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class InspectTaskService extends ServiceImpl -{ - - @Autowired - private InspectTaskDetailService inspectTaskDetailService; - - @Autowired - private MessageCenterService messageCenterService; - - public InspectTask saveData(InspectTask dto) { - dto.setId(IdWorker.getId()); - dto.setStatus(0); - dto.setCreateTime(new Date()); - this.save(dto); - inspectTaskDetailService.saveDetail(dto.getItems(),dto.getId()); - - MessageCenter center = new MessageCenter(); - center.setPublishUserId(dto.getCreateUserId()); - center.setPublishUserName(dto.getCreateUserName()); - center.setReceiveUserId(dto.getInspectUserId()); - center.setTitle("巡查任务"); - center.setContent("您收到一条巡查任务的提醒:" + dto.getTaskTitle() +",请及时处理。"); - messageCenterService.insertMessage(Arrays.asList(center)); - return dto; - } - - public InspectTask updateData(InspectTask dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - this.updateById(dto); - inspectTaskDetailService.updateDetail(dto.getItems(),dto.getId()); - return dto; - } - - public Boolean delData(Long id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - inspectTaskDetailService.delDetail(id); - return this.removeById(id); - } - - public Page pageQuery(InspectTaskPageSo page) { - return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); - } - - public Boolean startInspect(Long id) { - InspectTask task = this.getById(id); - if (Objects.isNull(task)) { - throw new IllegalArgumentException("当前数据不存在"); - } - task.setReceiveTime(new Date()); - task.setStatus(1); - return this.updateById(task); - } - - - public Boolean finish(InspectTaskVo vo) { - List list = vo.getList(); - InspectTask task = this.getById(list.get(0).getTaskId()); - inspectTaskDetailService.finish(list); - task.setFinishTime(vo.getStatus() == 2 ? new Date() : null); - task.setStatus(vo.getStatus()); - - List messageCenters = list.stream().filter(o -> o.getIsNormal() == 0 && o.getIsHandle() == 0).map(t->{ - MessageCenter center = new MessageCenter(); - center.setPublishUserId(task.getInspectUserId()); - center.setPublishUserName(task.getInspectUserName()); - center.setReceiveUserId(t.getHandleUserId()); - center.setTitle("巡查问题"); - center.setContent("您收到一条巡查任务未处理问题的提醒:"+task.getTaskTitle()+",请及时处理。"); - return center; - }).collect(Collectors.toList()); - messageCenterService.insertMessage(messageCenters); - return this.updateById(task); - } - - public List listQuery(InspectTaskSo so) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(InspectTask::getInspectUserId,so.getInspectUserId()) - .in(InspectTask::getStatus,so.getStatusList()); - if(so.getDateRangeSo() != null && so.getDateRangeSo().getStart() != null){ - queryWrapper.ge(InspectTask::getStartDate,so.getDateRangeSo().getStart()); - } - if(so.getDateRangeSo() != null && so.getDateRangeSo().getEnd() != null){ - queryWrapper.le(InspectTask::getStartDate,so.getDateRangeSo().getEnd()); - } - return this.list(queryWrapper); - } - - public List month() { - LocalDate now = LocalDate.now(); - String monthValue = String.valueOf(now.getMonthValue()); - if(now.getMonthValue() < 10){ - monthValue = "0"+monthValue; - } - return this.baseMapper.month(monthValue); - } - - public Integer year() { - LocalDate now = LocalDate.now(); - String year = String.valueOf(now.getYear()); - return this.baseMapper.year(year); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/InspectTaskTrackService.java b/src/main/java/com/gunshi/project/xyt/service/InspectTaskTrackService.java deleted file mode 100644 index 964b8d8..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/InspectTaskTrackService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.InspectTaskTrackMapper; -import com.gunshi.project.xyt.model.InspectTaskTrack; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 巡查轨迹 - * author: xusan - * date: 2024-09-18 13:59:21 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class InspectTaskTrackService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/MaintainServiceService.java b/src/main/java/com/gunshi/project/xyt/service/MaintainServiceService.java deleted file mode 100644 index 518d525..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/MaintainServiceService.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.MaintainPageSo; -import com.gunshi.project.xyt.mapper.MaintainServiceMapper; -import com.gunshi.project.xyt.model.MaintainService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 维修养护 - * author: xusan - * date: 2024-08-27 15:15:14 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class MaintainServiceService extends ServiceImpl -{ - @Autowired - private FileAssociationsService fileService; - - public MaintainService saveData(MaintainService dto) { - dto.setId(IdWorker.getId()); - boolean result = this.save(dto); - if (result) { - fileService.save(dto.getPics(), dto.getId().toString(), getGroupId(),getPicType()); - fileService.save(dto.getVideos(), dto.getId().toString(), getGroupId(),getVideoType()); - } - return dto; - } - - private String getVideoType() { - return "mainVideo"; - } - - private String getPicType() { - return "mainPic"; - } - - public MaintainService updateData(MaintainService dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.removeByBzIdAndType(dto.getId().toString(),getGroupId(),getPicType()); - fileService.save(dto.getPics(), dto.getId().toString(), getGroupId(),getPicType()); - fileService.removeByBzIdAndType(dto.getId().toString(),getGroupId(),getVideoType()); - fileService.save(dto.getVideos(), dto.getId().toString(), getGroupId(),getVideoType()); - } - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - } - return data; - } - - public String getGroupId() { - return "maintainService"; - } - - public Page pageQuery(MaintainPageSo page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getMaintainType())) { - query.eq(MaintainService::getMaintainType, page.getMaintainType()); - } - if (page.getDateTimeSo() != null && page.getDateTimeSo().getStart() != null) { - query.ge(MaintainService::getReportTime, page.getDateTimeSo().getStart()); - } - if (page.getDateTimeSo() != null && page.getDateTimeSo().getEnd() != null) { - query.le(MaintainService::getReportTime, page.getDateTimeSo().getEnd()); - } - query.orderByDesc(MaintainService::getReportTime); - Page res = this.page(page.getPageSo().toPage(), query); - if (res.getRecords() != null) { - fillAttach(res.getRecords()); - } - return res; - } - - private void fillAttach(List ret) { - for (MaintainService record : ret) { - record.setPics(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); - record.setVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getVideoType())); - } - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/MessageCenterService.java b/src/main/java/com/gunshi/project/xyt/service/MessageCenterService.java deleted file mode 100644 index 504932f..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/MessageCenterService.java +++ /dev/null @@ -1,196 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.entity.so.MessageCenterPageSo; -import com.gunshi.project.xyt.mapper.AttResBaseMapper; -import com.gunshi.project.xyt.mapper.MessageCenterMapper; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.MessageCenter; -import com.gunshi.project.xyt.model.OsmoticWarnR; -import com.gunshi.project.xyt.model.StRsvrR; -import com.gunshi.project.xyt.util.DateUtil; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.utils.SecurityUtils; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; - -/** - * 描述: 消息中心 - * author: xusan - * date: 2024-09-19 10:39:29 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class MessageCenterService extends ServiceImpl -{ - @Autowired - private AttResBaseMapper resBaseMapper; - - public void insertMessage(List messageCenters){ - for(MessageCenter messageCenter : messageCenters){ - messageCenter.setId(IdWorker.getId()); - messageCenter.setPublishTime(new Date()); - messageCenter.setStatus(0); - } - this.saveBatch(messageCenters); - } - - public Page listPage(MessageCenterPageSo page) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(MessageCenter::getReceiveUserId,page.getReceiveUserId()) - .eq(MessageCenter::getStatus,page.getStatus()); - if (ObjectUtils.isNotNull(page.getTitle())) { - queryWrapper.like(MessageCenter::getTitle, page.getTitle()); - } - if (ObjectUtils.isNotNull(page.getPublishUserName())) { - queryWrapper.like(MessageCenter::getPublishUserName, page.getPublishUserName()); - } - return this.page(page.getPageSo().toPage(),queryWrapper); - } - - public Boolean allRead() { - return this.lambdaUpdate() - .set(MessageCenter::getStatus, 1) - .eq(MessageCenter::getReceiveUserId, SecurityUtils.getUserId()) - .update(); - } - - - public void rzWarnMes(List rlist) { - AttResBase attResBase = resBaseMapper.selectById("42112230001"); - String stcd = attResBase.getStcd(); - Optional first = rlist.stream().filter(o -> o.getStcd().equals(stcd)).findFirst(); - if(first.isPresent()){ - BigDecimal rz = new BigDecimal(first.get().getRz()); - MessageCenter center =new MessageCenter(); - center.setPublishUserId(1L); - center.setPublishUserName("若依"); - center.setTitle("水位告警"); - String content = "系统检测到小玉潭水库水位"; - //校核水位 - BigDecimal calFloodLev = attResBase.getCalFloodLev(); - if(rz.compareTo(calFloodLev) > 0){ - center.setType(1); - content = content + "超校核"+ rz.subtract(calFloodLev) +"m"; - center.setContent(content); - addRzMessage(center,1); - return; - } - //设计水位 - BigDecimal desFloodLev = attResBase.getDesFloodLev(); - if(rz.compareTo(desFloodLev) > 0){ - center.setType(2); - content = content + "超设计"+ rz.subtract(desFloodLev) +"m"; - center.setContent(content); - addRzMessage(center,2); - return; - } - //汛限水位 - BigDecimal flLowLimLev = attResBase.getFlLowLimLev(); - if(rz.compareTo(flLowLimLev) > 0){ - center.setType(3); - content = content + "超汛限"+ rz.subtract(flLowLimLev) +"m"; - center.setContent(content); - addRzMessage(center,3); - } - - } - - } - - private void addRzMessage(MessageCenter center, Integer type) { - String date = DateUtil.convertDateToString(new Date()); - List list = this.baseMapper.queryTodayMes(date,type); - //如果当日不存在该类型的水位告警,则直接新增 - if(CollectionUtils.isEmpty(list)){ - rzMesHandle(center); - }else{ - this.removeBatchByIds(list); - rzMesHandle(center); - } - } - - private void rzMesHandle(MessageCenter center){ - //查找接收角色关联的人员 - List ids = this.baseMapper.queryUserIds(); - List mesList = ids.stream().map(o -> { - MessageCenter mes = new MessageCenter(); - BeanUtils.copyProperties(center, mes); - mes.setReceiveUserId(o); - return mes; - }).collect(Collectors.toList()); - this.insertMessage(mesList); - } - - - /** - * 生成渗压,渗流,位移告警 - * @param warnR - * @param desc - */ - public void osmoticWarnMes(OsmoticWarnR warnR,String desc) { - MessageCenter center = new MessageCenter(); - String stationCode = warnR.getStationCode(); - String title = null; - String content = "系统检测到"; - switch (warnR.getType()){ - case 1 : - title = "渗压告警"; - content = content + "渗压测点" + stationCode + desc +",请注意核实。"; - break; - case 2 : - title = "渗流告警"; - content = content + "渗流测点" + stationCode + desc +",请注意核实。"; - break; - case 3 : - title = "位移告警"; - content = content + "位移测点" + stationCode + desc +",请注意核实。"; - break; - } - center.setPublishUserId(1L); - center.setPublishUserName("若依"); - center.setTitle(title); - center.setContent(content); - rzMesHandle(center); - } - - public List listMes(DateTimeRangeSo dateTimeRangeSo) { - Long userId; - try { - userId = SecurityUtils.getUserId(); - } catch (Exception e) { - return null; - } - - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(MessageCenter::getReceiveUserId, userId); - if (ObjectUtils.isNotNull(dateTimeRangeSo) && ObjectUtils.isNotNull(dateTimeRangeSo.getStart())) { - queryWrapper.gt(MessageCenter::getPublishTime, dateTimeRangeSo.getStart()); - } - if (ObjectUtils.isNotNull(dateTimeRangeSo) && ObjectUtils.isNotNull(dateTimeRangeSo.getEnd())) { - queryWrapper.lt(MessageCenter::getPublishTime, dateTimeRangeSo.getEnd()); - } - queryWrapper.eq(MessageCenter::getStatus,0); - queryWrapper.orderByDesc(MessageCenter::getPublishTime); - return this.list(queryWrapper); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticFlowDeviceService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticFlowDeviceService.java deleted file mode 100644 index c7967a7..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticFlowDeviceService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.HomeOsmoticFlowDeviceVo; -import com.gunshi.project.xyt.mapper.OsmoticFlowDeviceMapper; -import com.gunshi.project.xyt.model.OsmoticFlowDevice; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 渗流设备表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticFlowDeviceService extends ServiceImpl -{ - - public List getDetailsAndMonitoringDataList() { - return baseMapper.getDetailsAndMonitoringDataList(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticFlowRService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticFlowRService.java deleted file mode 100644 index 52b5c07..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticFlowRService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo; -import com.gunshi.project.xyt.mapper.OsmoticFlowRMapper; -import com.gunshi.project.xyt.model.OsmoticFlowR; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: 渗流监测记录表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticFlowRService extends ServiceImpl -{ - - public Page queryPage(OsmoticQueryPageSo osmoticQueryPageSo) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getStart() != null){ - wrapper.ge(OsmoticFlowR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getStart()); - } - if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getEnd() != null){ - wrapper.le(OsmoticFlowR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getEnd()); - } - wrapper.orderByDesc(OsmoticFlowR::getTm); - return this.page(osmoticQueryPageSo.getPageSo().toPage(),wrapper); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressDeviceService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticPressDeviceService.java deleted file mode 100644 index 173d159..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressDeviceService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.HomeOsmoticPressDeviceVo; -import com.gunshi.project.xyt.mapper.OsmoticPressDeviceMapper; -import com.gunshi.project.xyt.model.OsmoticPressDevice; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 渗压设备表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticPressDeviceService extends ServiceImpl -{ - - public List getDetailsAndMonitoringDataList() { - return baseMapper.getDetailsAndMonitoringDataList(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java deleted file mode 100644 index f38b6d8..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java +++ /dev/null @@ -1,485 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.entity.so.OsmoticDetailQuerySo; -import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo; -import com.gunshi.project.xyt.entity.so.OsmoticQuerySo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.mapper.OsmoticPressRMapper; -import com.gunshi.project.xyt.model.OsmoticPressR; -import com.gunshi.project.xyt.util.DataHandleUtil; -import com.gunshi.project.xyt.util.DateUtil; -import com.gunshi.project.xyt.util.ExcelUtil; -import com.gunshi.project.xyt.util.MyBeanUtil; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -/** - * 描述: 渗压监测记录表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticPressRService extends ServiceImpl -{ - @Autowired - private OsmoticShiftRService shiftRService; - - public Page queryPage(OsmoticQueryPageSo osmoticQueryPageSo) { - return baseMapper.queryPage(osmoticQueryPageSo.getPageSo().toPage(),osmoticQueryPageSo); - } - - /** - * 测值查询,管水位和库水位数据固定查询每日早8点 - * @param osmoticQuerySo - * @return - */ - public List queryValue(OsmoticQuerySo osmoticQuerySo,Integer year) { - if(osmoticQuerySo.getType() == null) { - osmoticQuerySo.setType(1); - } - List resList = new ArrayList<>(); - if(CollectionUtils.isEmpty(osmoticQuerySo.getStationCodes())){ - return resList; - } - String stcd = shiftRService.getStcd(); - Boolean isDesc = true; - //查询测站降雨量 - Map drpMap = new HashMap<>(); - if(year != null){ - isDesc = false; - List drpList = baseMapper.queryDrp(year,stcd); - drpMap = drpList.stream().collect(Collectors.toMap(StRzVo::getTm, StRzVo::getRz)); - } - List dateList = DateUtil.getDatesBetween(osmoticQuerySo.getDateTimeRangeSo().getStart(), osmoticQuerySo.getDateTimeRangeSo().getEnd(),isDesc); - - //查询库水位 - List list = baseMapper.queryRz(osmoticQuerySo,stcd); - Map rzMap = list.stream().collect(Collectors.toMap(StRzVo::getTm, StRzVo::getRz)); - //查询测站管水位/渗流量 - List valueList = baseMapper.queryValue(osmoticQuerySo); - //数据处理 - for(String str : dateList){ - OsmoticStationVo vo = new OsmoticStationVo(); - vo.setTm(str); - vo.setRz(rzMap.get(str)); - vo.setDrp(drpMap.get(str)); - vo.setList(valueList.stream().filter(o->str.equals(o.getTm())).map(t->{ - t.setRz(vo.getRz()); - return t; - }).collect(Collectors.toList())); - resList.add(vo); - } - return resList; - } - - public List queryChart(OsmoticQuerySo osmoticQuerySo,Integer year) { - List resList = new ArrayList<>(); - List stationCodes = osmoticQuerySo.getStationCodes(); - if(CollectionUtils.isEmpty(stationCodes)){ - return resList; - } - String stcd = shiftRService.getStcd(); - //查询库水位 - List list = baseMapper.queryRz(osmoticQuerySo,stcd); - //查询测站管水位 - List valueList = baseMapper.queryValue(osmoticQuerySo); - //按测站分组 - Map> map = valueList.stream().collect(Collectors.groupingBy(OsmoticValueVo::getStationCode)); - for(String code : stationCodes){ - OsmoticChartVo vo = new OsmoticChartVo(); - vo.setStationCode(code); - if(map.containsKey(code)){ - List voList = map.get(code); - OsmoticValueVo max = voList.stream().max(Comparator.comparing(OsmoticValueVo::getValue)).get(); - OsmoticValueVo min = voList.stream().min(Comparator.comparing(OsmoticValueVo::getValue)).get(); - vo.setStationCode(code); - vo.setMaxValue(max.getValue()); - vo.setMaxTm(max.getTm()); - vo.setMinValue(min.getValue()); - vo.setMinTm(min.getTm()); - vo.setDiff(max.getValue().subtract(min.getValue())); - if(year == null){ - vo.setDetailVos(bindData(MyBeanUtil.collectionCopy(list,OsmoticChartDetailVo.class),MyBeanUtil.collectionCopy(voList,OsmoticChartDetailVo.class))); - } - }else { - vo.setDetailVos(new ArrayList<>()); - } - resList.add(vo); - } - //查询测站降雨量 - List drpList; - if(year != null){ - drpList = baseMapper.queryDrp(year,stcd); - OsmoticChartVo chartVo = new OsmoticChartVo(); - chartVo.setStationCode("rz"); - if(CollectionUtils.isNotEmpty(list)){ - StRzVo max = list.stream().max(Comparator.comparing(StRzVo::getRz)).get(); - StRzVo min = list.stream().min(Comparator.comparing(StRzVo::getRz)).get(); - chartVo.setMaxValue(max.getRz()); - chartVo.setMaxTm(max.getTm()); - chartVo.setMinValue(min.getRz()); - chartVo.setMinTm(min.getTm()); - chartVo.setDiff(max.getRz().subtract(min.getRz())); - resList.add(chartVo); - } - - if(CollectionUtils.isNotEmpty(drpList)){ - OsmoticChartVo drpVo = new OsmoticChartVo(); - drpVo.setStationCode("drp"); - StRzVo maxDrp = drpList.stream().max(Comparator.comparing(StRzVo::getRz)).get(); - StRzVo minDrp = drpList.stream().min(Comparator.comparing(StRzVo::getRz)).get(); - drpVo.setMaxValue(maxDrp.getRz()); - drpVo.setMaxTm(maxDrp.getTm()); - drpVo.setMinValue(minDrp.getRz()); - drpVo.setMinTm(minDrp.getTm()); - drpVo.setDiff(maxDrp.getRz().subtract(minDrp.getRz())); - resList.add(drpVo); - } - } - return resList; - } - - - - //根据监测时间合并管水位和库水位数据 - private List bindData(List tmRzList, List voList) { - HashSet strings = new HashSet<>(); - tmRzList.stream().forEach(v1 -> strings.add(v1.getTm())); - voList.stream().forEach(v1 -> strings.add(v1.getTm())); - - List result = new ArrayList<>(); - strings.stream().forEach(v1 ->{ - OsmoticChartDetailVo v = new OsmoticChartDetailVo(); - v.setTm(v1); - result.add(v); - }); - - List list = result.stream().map(v1 -> { - tmRzList.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setRz(v2.getRz()); - }); - - voList.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setValue(v2.getValue()); - }); - return v1; - }).collect(Collectors.toList()); - return list.stream().sorted(Comparator.comparing(OsmoticChartDetailVo::getTm)).collect(Collectors.toList()); - } - - public List infiltraLine(OsmoticQuerySo osmoticQuerySo) { - List resList = new ArrayList<>(); - String stcd = shiftRService.getStcd(); - //查询库水位 - List list = baseMapper.queryLineRz(osmoticQuerySo,stcd); - Map rzMap = list.stream().collect(Collectors.toMap(StRzVo::getTm, StRzVo::getRz)); - //查询测站管水位 - List valueList = baseMapper.queryLineValue(osmoticQuerySo); - //查询测站预警信息 - List warnList = baseMapper.queryWarn(osmoticQuerySo); - valueList.stream().map(vo->{ - Boolean b = warnList.stream().filter(o->o.getStationCode().equals(vo.getStationCode()) && o.getTm().equals(vo.getTm())).findAny().isPresent(); - if(b){ - vo.setStatus(0); - } - return vo; - }).collect(Collectors.toList()); - HashSet dateList = new HashSet<>(); - list.stream().forEach(v1 -> dateList.add(v1.getTm())); - valueList.stream().forEach(v1 -> dateList.add(v1.getTm())); - for(String str : dateList){ - OsmoticStationVo vo = new OsmoticStationVo(); - vo.setTm(str); - vo.setRz(rzMap.get(str)); - List newList = valueList.stream().filter(o->str.equals(o.getTm())).collect(Collectors.toList()); - vo.setList(newList); - if(CollectionUtils.isNotEmpty(newList) && newList.stream().filter(o->o.getStatus() == 0).findAny().isPresent()){ - vo.setStatus(0); - } - resList.add(vo); - } - return resList.stream().sorted(Comparator.comparing(OsmoticStationVo::getTm)).collect(Collectors.toList()); - } - - - public void export(OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { - //通过断面查询渗压设备 - List stationCodes = osmoticQuerySo.getStationCodes(); - //表头信息 - List heads = new ArrayList<>(); - heads.add("序号"); - heads.add("时间"); - heads.add("库水位(m)"); - heads.addAll(stationCodes); - heads.add("结果分析"); - - //表格数据 - List resList = infiltraLine(osmoticQuerySo); - List> list = new ArrayList<>(); - for (int j = 0;j < resList.size(); j++) { - OsmoticStationVo vo = resList.get(j); - Map test = new LinkedHashMap<>(); - test.put("t0",j+1); - test.put("t1", vo.getTm()); - test.put("t2", vo.getRz()); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - OsmoticValueVo valueVo = vo.getList().stream().filter(o->code.equals(o.getStationCode())).findFirst().orElse(null); - test.put(code,valueVo != null ? valueVo.getValue() : ""); - } - test.put("t4", vo.getStatus() == 0 ? "异常":"正常"); - list.add(test); - } - List> hs = new ArrayList<>(); - for (String s : heads) { - hs.add(Arrays.asList(s)); - } - ExcelUtil.exportExcel(hs, DataHandleUtil.tableData(list), "浸润线", response, "浸润线"); - } - - private OsmoticQuerySo commonQueryHandle(OsmoticQuerySo osmoticQuerySo){ - Integer year = osmoticQuerySo.getYear(); - Date start = DateUtil.convertStringToDate(year + "-01-01 00:00:00"); - Date end = DateUtil.convertStringToDate(year + "-12-31 00:00:00"); - DateTimeRangeSo so = new DateTimeRangeSo(); - so.setStart(start); - so.setEnd(end); - osmoticQuerySo.setDateTimeRangeSo(so); - return osmoticQuerySo; - } - - public List yearStat(OsmoticQuerySo osmoticQuerySo) { - commonQueryHandle(osmoticQuerySo); - return queryValue(osmoticQuerySo,osmoticQuerySo.getYear()); - } - - public List yearStatValue(OsmoticQuerySo osmoticQuerySo) { - commonQueryHandle(osmoticQuerySo); - return queryChart(osmoticQuerySo,osmoticQuerySo.getYear()); - } - - public void yearStatExport(OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { - String headName = osmoticQuerySo.getProfileName() + "断面测压管水位(m)"; - String fileName = "断面年度渗压统计"; - String sheetName = "年度渗压统计"; - if(osmoticQuerySo.getType() == 1){ - fileName = osmoticQuerySo.getProfileName() + fileName; - }else { - headName = "渗流量(L/s)"; - fileName = "年度渗流统计"; - sheetName = "年度渗流统计"; - } - - //上方表格数据 - List resList = yearStat(osmoticQuerySo); - //下方特征值数据 - List chartList = queryChart(osmoticQuerySo,osmoticQuerySo.getYear()); - List stationCodes = osmoticQuerySo.getStationCodes(); - //表头信息 - List> headList = new ArrayList<>(); - List heads1 = new ArrayList<>(); - heads1.add("序号"); - heads1.add("序号"); - headList.add(heads1); - - List heads2 = new ArrayList<>(); - heads2.add("监测日期"); - heads2.add("监测日期"); - headList.add(heads2); - - for(String code : stationCodes){ - List heads = new ArrayList<>(); - heads.add(headName); - heads.add(code); - headList.add(heads); - } - - List heads3 = new ArrayList<>(); - heads3.add("库水位(m)"); - heads3.add("库水位(m)"); - headList.add(heads3); - - List heads4 = new ArrayList<>(); - heads4.add("降雨量(mm)"); - heads4.add("降雨量(mm)"); - headList.add(heads4); - - List> list = new ArrayList<>(); - for (int j = 0;j < resList.size(); j++) { - OsmoticStationVo vo = resList.get(j); - Map test = new LinkedHashMap<>(); - test.put("t0",j+1); - test.put("t1", vo.getTm()); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - OsmoticValueVo valueVo = vo.getList().stream().filter(o->code.equals(o.getStationCode())).findFirst().orElse(null); - test.put(code,valueVo != null ? valueVo.getValue() : ""); - } - test.put("t2", vo.getRz()); - test.put("t3", vo.getDrp()); - list.add(test); - } - - Map max = new LinkedHashMap<>(); - max.put("t0","全年度特征值统计"); - max.put("t1", "最大值"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - max.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getMaxValue()); - } - max.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getMaxValue()); - max.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getMaxValue()); - list.add(max); - - Map maxTm = new LinkedHashMap<>(); - maxTm.put("t0","全年度特征值统计"); - maxTm.put("t1", "日期"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - maxTm.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getMaxTm()); - } - maxTm.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getMaxTm()); - maxTm.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getMaxTm()); - list.add(maxTm); - - Map min = new LinkedHashMap<>(); - min.put("t0","全年度特征值统计"); - min.put("t1", "最小值"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - min.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getMinValue()); - } - min.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getMinValue()); - min.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getMinValue()); - list.add(min); - - Map minTm = new LinkedHashMap<>(); - minTm.put("t0","全年度特征值统计"); - minTm.put("t1", "日期"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - minTm.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getMinTm()); - } - minTm.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getMinTm()); - minTm.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getMinTm()); - list.add(minTm); - - Map diff = new LinkedHashMap<>(); - diff.put("t0","全年度特征值统计"); - diff.put("t1", "年变幅"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - diff.put(code,chartList.stream().filter(o->code.equals(o.getStationCode())).findFirst().get().getDiff()); - } - diff.put("t2", chartList.stream().filter(o->"rz".equals(o.getStationCode())).findFirst().get().getDiff()); - diff.put("t3", chartList.stream().filter(o->"drp".equals(o.getStationCode())).findFirst().get().getDiff()); - list.add(diff); - - ExcelUtil.exportExcel(headList, DataHandleUtil.tableData(list),2,new int[]{0},fileName,response,sheetName); - } - - public List listValue(Integer type) { - List list; - if(type == 1){ - list = baseMapper.listValue(); - }else { - list = baseMapper.flowListValue(); - } - OsmoticQuerySo so = new OsmoticQuerySo(); - List stationCodes = list.stream().map(OsmoticPressVo::getStationCode).collect(Collectors.toList()); - if(list.stream().filter(o->o.getTm() != null).collect(Collectors.toList()).size() > 0 ){ - String maxTm = list.stream().filter(o->o.getTm() != null).max(Comparator.comparing(OsmoticPressVo::getTm)).get().getTm(); - String minTm = list.stream().filter(o->o.getTm() != null).min(Comparator.comparing(OsmoticPressVo::getTm)).get().getTm(); - so.setStationCodes(stationCodes); - DateTimeRangeSo dateTimeRangeSo = new DateTimeRangeSo(); - dateTimeRangeSo.setStart(DateUtil.convertStringToDate(minTm)); - dateTimeRangeSo.setEnd(DateUtil.convertStringToDate(maxTm)); - so.setDateTimeRangeSo(dateTimeRangeSo); - List warnList = baseMapper.queryWarn(so); - list.stream().map(o->{ - if(o.getTm() != null && DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(o.getTm()), new Date()) > 48){ - o.setFlag(1); - } - Boolean b = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm())).findAny().isPresent(); - if(b){ - o.setStatus(1); - } - return o; - }).collect(Collectors.toList()); - } - return list; - } - - public List detailValue(OsmoticDetailQuerySo so) { - List list = baseMapper.detailValue(so); - if(so.getType() == 2){ - return list; - } - OsmoticQuerySo osmoticQuerySo = new OsmoticQuerySo(); - BeanUtils.copyProperties(so,osmoticQuerySo); - List stRzVos = baseMapper.queryLineRz(osmoticQuerySo,shiftRService.getStcd()); - return bindPressDetail(list,stRzVos); - } - - private List bindPressDetail(List list, List stRzVos) { - HashSet strings = new HashSet<>(); - list.stream().forEach(v1 -> strings.add(v1.getTm())); - stRzVos.stream().forEach(v1 -> strings.add(v1.getTm())); - - List result = new ArrayList<>(); - strings.stream().forEach(v1 ->{ - OsmoticPressDetailVo v = new OsmoticPressDetailVo(); - v.setTm(v1); - result.add(v); - }); - - List resList = result.stream().map(v1 -> { - stRzVos.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setRz(v2.getRz()); - }); - - list.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setValue(v2.getValue()); - }); - return v1; - }).collect(Collectors.toList()); - return resList.stream().sorted(Comparator.comparing(OsmoticPressDetailVo::getTm)).collect(Collectors.toList()); - } - - public Map stat() { - Map map = new HashMap<>(); - List press = this.listValue(1); - Integer pressSize = press.size(); - Long pressWarn = press.stream().filter(o -> o.getStatus() == 1).collect(Collectors.counting()); - - List flow = this.listValue(2); - Integer flowSize = flow.size(); - Long flowWarn = flow.stream().filter(o -> o.getStatus() == 1).collect(Collectors.counting()); - - List shift = shiftRService.listValue(); - Integer shiftSize = shift.size(); - Long shiftWarn = shift.stream().filter(o -> o.getXStatus() == 1 || o.getYStatus() ==1 || o.getHStatus() == 1).collect(Collectors.counting()); - - Integer size = pressSize + flowSize + shiftSize; - Integer warn = Stream.of(pressWarn, flowWarn, shiftWarn).mapToInt(Long::intValue).sum(); - map.put(warn,size); - return map; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticShiftDeviceService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticShiftDeviceService.java deleted file mode 100644 index fc4b933..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticShiftDeviceService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.HomeOsmoticShiftDeviceVo; -import com.gunshi.project.xyt.mapper.OsmoticShiftDeviceMapper; -import com.gunshi.project.xyt.model.OsmoticShiftDevice; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 位移监测记录表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticShiftDeviceService extends ServiceImpl -{ - - public List getDetailsAndMonitoringDataList() { - return baseMapper.getDetailsAndMonitoringDataList(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticShiftRService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticShiftRService.java deleted file mode 100644 index 8077ef0..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticShiftRService.java +++ /dev/null @@ -1,334 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.entity.so.OsmoticDetailQuerySo; -import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo; -import com.gunshi.project.xyt.entity.so.OsmoticQuerySo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.mapper.AttResBaseMapper; -import com.gunshi.project.xyt.mapper.OsmoticPressRMapper; -import com.gunshi.project.xyt.mapper.OsmoticShiftRMapper; -import com.gunshi.project.xyt.model.OsmoticShiftR; -import com.gunshi.project.xyt.util.DataHandleUtil; -import com.gunshi.project.xyt.util.DateUtil; -import com.gunshi.project.xyt.util.ExcelUtil; -import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import java.util.function.Supplier; -import java.util.stream.Collectors; - -/** - * 描述: 位移监测记录表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticShiftRService extends ServiceImpl -{ - - @Resource - private OsmoticPressRMapper pressRMapper; - - @Resource - private AttResBaseMapper attResBaseMapper; - - private static final String X_PREFIX = "/X"; - private static final String Y_PREFIX = "/Y"; - private static final String H_PREFIX = "/H"; - - public Page queryPage(OsmoticQueryPageSo osmoticQueryPageSo) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getStart() != null){ - wrapper.ge(OsmoticShiftR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getStart()); - } - if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getEnd() != null){ - wrapper.le(OsmoticShiftR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getEnd()); - } - if(StringUtils.isNotEmpty(osmoticQueryPageSo.getStationCode())){ - wrapper.eq(OsmoticShiftR::getStationCode,osmoticQueryPageSo.getStationCode()); - } - wrapper.orderByDesc(OsmoticShiftR::getTm); - return this.page(osmoticQueryPageSo.getPageSo().toPage(),wrapper); - } - - public List yearStat(OsmoticQuerySo osmoticQuerySo) { - List resList = new ArrayList<>(); - commonQueryHandle(osmoticQuerySo); - //查询位移监测记录 - List valueList = baseMapper.queryValue(osmoticQuerySo); - List dateList = DateUtil.getDatesBetween(osmoticQuerySo.getDateTimeRangeSo().getStart(), osmoticQuerySo.getDateTimeRangeSo().getEnd(), false); - //数据处理 - for(String str : dateList){ - OsmoticShiftVo vo = new OsmoticShiftVo(); - vo.setTm(str); - vo.setList(valueList.stream().filter(o->str.equals(o.getTm())).collect(Collectors.toList())); - resList.add(vo); - } - return resList; - } - - private OsmoticQuerySo commonQueryHandle(OsmoticQuerySo osmoticQuerySo){ - Integer year = osmoticQuerySo.getYear(); - Date start = DateUtil.convertStringToDate(year + "-01-01 00:00:00"); - Date end = DateUtil.convertStringToDate(year + "-12-31 00:00:00"); - DateTimeRangeSo so = new DateTimeRangeSo(); - so.setStart(start); - so.setEnd(end); - osmoticQuerySo.setDateTimeRangeSo(so); - return osmoticQuerySo; - } - - - public List yearStatValue(OsmoticQuerySo osmoticQuerySo) { - List resList = new ArrayList<>(); - commonQueryHandle(osmoticQuerySo); - //查询位移监测记录 - List valueList = baseMapper.queryValue(osmoticQuerySo); - //按测站分组 - Map> map = valueList.stream().collect(Collectors.groupingBy(OsmoticShiftValueVo::getStationCode)); - map.entrySet().forEach(o->{ - String key = o.getKey(); - List value = o.getValue(); - - OsmoticChartVo xVo = new OsmoticChartVo(); - OsmoticShiftValueVo xMax = value.stream().max(Comparator.comparing(OsmoticShiftValueVo::getX)).get(); - OsmoticShiftValueVo xMin = value.stream().min(Comparator.comparing(OsmoticShiftValueVo::getX)).get(); - xVo.setStationCode(key + X_PREFIX); - xVo.setMaxValue(xMax.getX()); - xVo.setMaxTm(xMax.getTm()); - xVo.setMinValue(xMin.getX()); - xVo.setMinTm(xMin.getTm()); - xVo.setDiff(xMax.getX().subtract(xMin.getX())); - resList.add(xVo); - - OsmoticChartVo yVo = new OsmoticChartVo(); - OsmoticShiftValueVo yMax = value.stream().max(Comparator.comparing(OsmoticShiftValueVo::getY)).get(); - OsmoticShiftValueVo yMin = value.stream().min(Comparator.comparing(OsmoticShiftValueVo::getY)).get(); - yVo.setStationCode(key + Y_PREFIX); - yVo.setMaxValue(yMax.getY()); - yVo.setMaxTm(yMax.getTm()); - yVo.setMinValue(yMin.getY()); - yVo.setMinTm(yMin.getTm()); - yVo.setDiff(yMax.getY().subtract(yMin.getY())); - resList.add(yVo); - - OsmoticChartVo hVo = new OsmoticChartVo(); - OsmoticShiftValueVo hMax = value.stream().max(Comparator.comparing(OsmoticShiftValueVo::getH)).get(); - OsmoticShiftValueVo hMin = value.stream().min(Comparator.comparing(OsmoticShiftValueVo::getH)).get(); - hVo.setStationCode(key + H_PREFIX); - hVo.setMaxValue(hMax.getH()); - hVo.setMaxTm(hMax.getTm()); - hVo.setMinValue(hMin.getH()); - hVo.setMinTm(hMin.getTm()); - hVo.setDiff(hMax.getH().subtract(hMin.getH())); - resList.add(hVo); - - }); - return resList; - } - - public void yearStatExport(OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { - String fileName = "年度位移统计"; - String sheetName = "年度位移统计"; - - //上方表格数据 - List resList = yearStat(osmoticQuerySo); - //下方特征值数据 - List chartList = yearStatValue(osmoticQuerySo); - List stationCodes = osmoticQuerySo.getStationCodes(); - //表头信息 - List> headList = new ArrayList<>(); - List heads1 = new ArrayList<>(); - heads1.add("序号"); - heads1.add("序号"); - headList.add(heads1); - - List heads2 = new ArrayList<>(); - heads2.add("监测日期"); - heads2.add("监测日期"); - headList.add(heads2); - - for(String code : stationCodes){ - List headsX = new ArrayList<>(); - headsX.add(code); - headsX.add("X"); - headList.add(headsX); - - List headsY = new ArrayList<>(); - headsY.add(code); - headsY.add("Y"); - headList.add(headsY); - - List headsH = new ArrayList<>(); - headsH.add(code); - headsH.add("H"); - headList.add(headsH); - } - - List> list = new ArrayList<>(); - for (int j = 0;j < resList.size(); j++) { - OsmoticShiftVo vo = resList.get(j); - Map test = new LinkedHashMap<>(); - test.put("t0",j+1); - test.put("t1", vo.getTm()); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - OsmoticShiftValueVo valueVo = vo.getList().stream().filter(o->code.equals(o.getStationCode())).findFirst().orElse(null); - test.put(code + X_PREFIX,valueVo != null ? valueVo.getX() : ""); - test.put(code + Y_PREFIX,valueVo != null ? valueVo.getY() : ""); - test.put(code + H_PREFIX,valueVo != null ? valueVo.getH() : ""); - } - list.add(test); - } - - Map max = new LinkedHashMap<>(); - max.put("t0","全年度特征值统计"); - max.put("t1", "最大值"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - max.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxValue()); - max.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxValue()); - max.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxValue()); - } - list.add(max); - - Map maxTm = new LinkedHashMap<>(); - maxTm.put("t0","全年度特征值统计"); - maxTm.put("t1", "日期"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - maxTm.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxTm()); - maxTm.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxTm()); - maxTm.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMaxTm()); - } - list.add(maxTm); - - Map min = new LinkedHashMap<>(); - min.put("t0","全年度特征值统计"); - min.put("t1", "最小值"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - min.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinValue()); - min.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinValue()); - min.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinValue()); - } - list.add(min); - - Map minTm = new LinkedHashMap<>(); - minTm.put("t0","全年度特征值统计"); - minTm.put("t1", "日期"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - minTm.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinTm()); - minTm.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinTm()); - minTm.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getMinTm()); - } - list.add(minTm); - - Map diff = new LinkedHashMap<>(); - diff.put("t0","全年度特征值统计"); - diff.put("t1", "年变幅"); - for(int i = 0;i < stationCodes.size();i++){ - String code = stationCodes.get(i); - diff.put(code+X_PREFIX,chartList.stream().filter(o->(code+X_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getDiff()); - diff.put(code+Y_PREFIX,chartList.stream().filter(o->(code+Y_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getDiff()); - diff.put(code+H_PREFIX,chartList.stream().filter(o->(code+H_PREFIX).equals(o.getStationCode())).findFirst().orElseGet(OsmoticChartVo::new).getDiff()); - } - list.add(diff); - - ExcelUtil.exportExcel(headList, DataHandleUtil.tableData(list),2,new int[]{0},fileName,response,sheetName); - } - - public List listValue() { - List list = baseMapper.listValue(); - if(CollectionUtils.isEmpty(list)){ - return list; - } - OsmoticQuerySo so = new OsmoticQuerySo(); - List stationCodes = list.stream().map(OsmoticShiftListVo::getStationCode).collect(Collectors.toList()); - String maxTm = list.stream().filter(o->o.getTm() != null).max(Comparator.comparing(OsmoticShiftListVo::getTm)).get().getTm(); - String minTm = list.stream().filter(o->o.getTm() != null).min(Comparator.comparing(OsmoticShiftListVo::getTm)).get().getTm(); - so.setStationCodes(stationCodes); - DateTimeRangeSo dateTimeRangeSo = new DateTimeRangeSo(); - dateTimeRangeSo.setStart(DateUtil.convertStringToDate(minTm)); - dateTimeRangeSo.setEnd(DateUtil.convertStringToDate(maxTm)); - so.setDateTimeRangeSo(dateTimeRangeSo); - List warnList = baseMapper.queryWarn(so); - list.stream().map(o->{ - if(o.getTm() != null && DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(o.getTm()), new Date()) > 48){ - o.setFlag(1); - } - Boolean a = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm()) && t.getDirection().equals("X")).findAny().isPresent(); - if(a){ - o.setXStatus(1); - } - Boolean b = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm()) && t.getDirection().equals("Y")).findAny().isPresent(); - if(b){ - o.setYStatus(1); - } - Boolean c = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm()) && t.getDirection().equals("H")).findAny().isPresent(); - if(c){ - o.setHStatus(1); - } - return o; - }).collect(Collectors.toList()); - return list; - } - - public List detailValue(OsmoticDetailQuerySo so) { - List list = baseMapper.detailValue(so); - OsmoticQuerySo osmoticQuerySo = new OsmoticQuerySo(); - BeanUtils.copyProperties(so,osmoticQuerySo); - List stRzVos = pressRMapper.queryLineRz(osmoticQuerySo,getStcd()); - return bindShiftDetail(list,stRzVos); - } - - public String getStcd(){ - List attResBaseVos = attResBaseMapper.queryList(); - AttResBaseVo attResBaseVo = attResBaseVos.get(0); - return attResBaseVo == null ? "":attResBaseVo.getStcd(); - } - - private List bindShiftDetail(List list, List stRzVos) { - HashSet strings = new HashSet<>(); - list.stream().forEach(v1 -> strings.add(v1.getTm())); - stRzVos.stream().forEach(v1 -> strings.add(v1.getTm())); - - List result = new ArrayList<>(); - strings.stream().forEach(v1 ->{ - OsmoticShiftValueVo v = new OsmoticShiftValueVo(); - v.setTm(v1); - result.add(v); - }); - - List resList = result.stream().map(v1 -> { - stRzVos.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setRz(v2.getRz()); - }); - - list.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setX(v2.getX()); - v1.setY(v2.getY()); - v1.setH(v2.getH()); - }); - return v1; - }).collect(Collectors.toList()); - return resList.stream().sorted(Comparator.comparing(OsmoticShiftValueVo::getTm)).collect(Collectors.toList()); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticWarnRService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticWarnRService.java deleted file mode 100644 index f544d25..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticWarnRService.java +++ /dev/null @@ -1,195 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.WarnPageSo; -import com.gunshi.project.xyt.entity.so.WarnSo; -import com.gunshi.project.xyt.entity.vo.OsmoticWarnVo; -import com.gunshi.project.xyt.mapper.OsmoticWarnRMapper; -import com.gunshi.project.xyt.mapper.OsmoticWarnRuleMapper; -import com.gunshi.project.xyt.model.OsmoticShiftR; -import com.gunshi.project.xyt.model.OsmoticWarnR; -import com.gunshi.project.xyt.model.OsmoticWarnRule; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.stream.Collectors; - -/** - * 描述: 隐患预警记录表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticWarnRService extends ServiceImpl -{ - @Resource - private OsmoticWarnRuleMapper warnRuleMapper; - - @Resource - private MessageCenterService messageCenterService; - - public Page queryPage(WarnPageSo warnPageSo) { - return this.baseMapper.queryPage(warnPageSo.getPageSo().toPage(),warnPageSo); - } - - public Map stat(WarnSo warnSo) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - if(warnSo.getType() != null){ - wrapper.eq(OsmoticWarnR::getType,warnSo.getType()); - } - if(warnSo.getLevel() != null){ - wrapper.eq(OsmoticWarnR::getLevel,warnSo.getLevel()); - } - if(StringUtils.isNotEmpty(warnSo.getStationCode())){ - wrapper.like(OsmoticWarnR::getStationCode,warnSo.getStationCode()); - } - if(warnSo.getDateTimeRangeSo() != null && warnSo.getDateTimeRangeSo().getStart() != null){ - wrapper.ge(OsmoticWarnR::getTm,warnSo.getDateTimeRangeSo().getStart()); - } - if(warnSo.getDateTimeRangeSo() != null && warnSo.getDateTimeRangeSo().getEnd() != null){ - wrapper.le(OsmoticWarnR::getTm,warnSo.getDateTimeRangeSo().getEnd()); - } - List list = this.list(wrapper); - return list.stream().collect(Collectors.groupingBy(OsmoticWarnR::getLevel, Collectors.counting())); - } - - /** - * 生成位移预警 - */ - public void saveShiftWarn(OsmoticShiftR shiftR){ - String stationCode = shiftR.getStationCode(); - Date tm = shiftR.getTm(); - BigDecimal x = shiftR.getX(); - savePressWarn(stationCode,x,tm,"x"); - BigDecimal y = shiftR.getY(); - savePressWarn(stationCode,y,tm,"y"); - BigDecimal h = shiftR.getH(); - savePressWarn(stationCode,h,tm,"h"); - } - - /** - * 生成渗压/渗流预警 - * @param - */ - public void savePressWarn(String stationCode,BigDecimal value,Date tm,String direction) { - //查询预警规则,每个测点至多只有2条预警规则 - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(OsmoticWarnRule::getStationCode,stationCode) - .eq(OsmoticWarnRule::getStatus,1); - if(StringUtils.isNotEmpty(direction)){ - queryWrapper.eq(OsmoticWarnRule::getDirection,direction); - } - List ruleList = warnRuleMapper.selectList(queryWrapper); - if(CollectionUtils.isNotEmpty(ruleList)){ - Boolean isRedWarn = false; - //先判断是否符合红色预警 - Optional red = ruleList.stream().filter(o -> o.getLevel() == 2).findFirst(); - if(red.isPresent()){ - OsmoticWarnRule redRule = red.get(); - isRedWarn = saveWarnData(redRule,value,tm); - if (isRedWarn){ - return; - } - //没有生成红色预警,再判断是否符合黄色预警 - Optional yellow = ruleList.stream().filter(o -> o.getLevel() == 1).findFirst(); - if(yellow.isPresent()){ - OsmoticWarnRule yellowRule = yellow.get(); - saveWarnData(yellowRule,value,tm); - } - }else { - OsmoticWarnRule yellowRule = ruleList.get(0); - saveWarnData(yellowRule,value,tm); - } - } - } - - private Boolean saveWarnData(OsmoticWarnRule rule,BigDecimal value,Date tm){ - String conditionOne = rule.getConditionOne(); - BigDecimal valueOne = rule.getValueOne(); - Integer condition = rule.getCondition(); - Boolean flagOne = getFlag(conditionOne,valueOne,value); - /** - * 没有第二条件时,条件1满足就生成预警 - * 有第二条件时,当为或时,条件1满足就生成预警,条件1不满足就判断条件2是否满足;当为且时,需条件1和条件2同时满足才生成预警 - */ - if(condition == null){ - if(flagOne){ - //生成预警 - return geneWarn(rule,value,tm); - } - }else{ - String conditionTwo = rule.getConditionTwo(); - BigDecimal valueTwo = rule.getValueTwo(); - Boolean flagTwo = getFlag(conditionTwo,valueTwo,value); - if(condition == 1){ - if(flagOne && flagTwo){ - //生成预警 - return geneWarn(rule,value,tm); - } - }else{ - if(flagOne || flagTwo){ - //生成预警 - return geneWarn(rule,value,tm); - } - } - } - return false; - } - - private Boolean geneWarn(OsmoticWarnRule rule,BigDecimal value,Date tm) { - OsmoticWarnR warnR = new OsmoticWarnR(); - warnR.setId(IdWorker.getId()); - warnR.setStationCode(rule.getStationCode()); - warnR.setRuleId(rule.getId()); - warnR.setValue(value); - warnR.setTm(tm); - warnR.setType(rule.getType()); - warnR.setLevel(rule.getLevel()); - this.baseMapper.insert(warnR); - //生成消息 - messageCenterService.osmoticWarnMes(warnR,rule.getRuleDesc()); - return true; - } - - private Boolean getFlag(String condition,BigDecimal ruleValue,BigDecimal value){ - Boolean flag = false; - switch (condition) { - case ">" : - flag = value.compareTo(ruleValue) > 0; - break; - case ">=" : - flag = value.compareTo(ruleValue) >= 0; - break; - case "<" : - flag = value.compareTo(ruleValue) < 0; - break; - case "<=" : - flag = value.compareTo(ruleValue) <= 0; - break; - case "=" : - flag = value.compareTo(ruleValue) == 0; - break; - case "!=" : - flag = value.compareTo(ruleValue) != 0; - break; - } - return flag; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticWarnRuleService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticWarnRuleService.java deleted file mode 100644 index 07eb773..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticWarnRuleService.java +++ /dev/null @@ -1,187 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.WarnRulePageSo; -import com.gunshi.project.xyt.mapper.OsmoticWarnRuleMapper; -import com.gunshi.project.xyt.model.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** - * 描述: 预警规则配置表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticWarnRuleService extends ServiceImpl { - - @Autowired - private OsmoticWarnRService warnRService; - - public Page queryPage(WarnRulePageSo warnRulePageSo) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - if (warnRulePageSo.getType() != null) { - queryWrapper.eq(OsmoticWarnRule::getType, warnRulePageSo.getType()); - } - if (StringUtils.isNotEmpty(warnRulePageSo.getStationCode())) { - queryWrapper.like(OsmoticWarnRule::getStationCode, warnRulePageSo.getStationCode()); - } - queryWrapper.orderByDesc(OsmoticWarnRule::getStatus).orderByDesc(OsmoticWarnRule::getCreateTime); - return this.page(warnRulePageSo.getPageSo().toPage(), queryWrapper); - } - - /* - 渗压只看管水位value - */ - public void checkWarn(OsmoticPressR press) { - List rules = lambdaQuery().eq(OsmoticWarnRule::getStationCode, press.getStationCode()) - .eq(OsmoticWarnRule::getType, OsmoticWarnRule.Type.PRESS.getType()) - .eq(OsmoticWarnRule::getStatus, OsmoticWarnRule.Status.ENABLE.getStatus()) - .list(); - - - } - - private boolean checkWarn(OsmoticPressR press, OsmoticWarnRule rule) { - BigDecimal valueToCompare = press.getValue(); - OsmoticWarnRule.Relation matchRel = OsmoticWarnRule.Relation.match(rule.getCondition()); - - OsmoticWarnRule.Condition cond1 = OsmoticWarnRule.Condition.match(rule.getConditionOne()); - if (cond1 == null) return false; - BigDecimal cond1value = rule.getValueOne(); - if (cond1value == null) return false; - boolean cond1Violating = isViolating(valueToCompare, cond1, cond1value); - - boolean cond2Violating = false; - if (matchRel != null) { - OsmoticWarnRule.Condition cond2 = OsmoticWarnRule.Condition.match(rule.getConditionTwo()); - if (cond2 != null) { - BigDecimal cond2value = rule.getValueTwo(); - if (cond2value != null) { - cond2Violating = isViolating(valueToCompare, cond2, cond2value); - } - } - } - - boolean shoudWarn = false; - if (matchRel == null) { - if (cond1Violating) { - shoudWarn = true; - } - } else { - if (matchRel == OsmoticWarnRule.Relation.AND) { - if (cond1Violating && cond2Violating) { - shoudWarn = true; - } - } else if (matchRel == OsmoticWarnRule.Relation.OR) { - if (cond1Violating || cond2Violating) { - shoudWarn = true; - } - } - } - - if (shoudWarn) { - insertWarn(press.getStationCode(), rule.getId(), press.getValue(), OsmoticWarnRule.Type.PRESS.getType(), rule.getLevel()); - return true; - } - return false; - } - - private void insertWarn(String stationCode, Long ruleId, BigDecimal value, Integer type, Integer level) { - OsmoticWarnR warn = new OsmoticWarnR(); - warn.setId(IdWorker.getId()); - warn.setTm(new Date()); - warn.setStationCode(stationCode); - warn.setRuleId(ruleId); - warn.setValue(value); - warn.setType(type); - warn.setLevel(level); - warnRService.save(warn); - } - - - private boolean isViolating(BigDecimal value, OsmoticWarnRule.Condition cond, BigDecimal condValue) { - return switch (cond) { - case GT -> value.compareTo(condValue) > 0; - case GTE -> value.compareTo(condValue) >= 0; - case LT -> value.compareTo(condValue) < 0; - case LTE -> value.compareTo(condValue) <= 0; - case EQ -> value.compareTo(condValue) == 0; - case NE -> value.compareTo(condValue) != 0; - }; - } - - /* - 位移要看x,y,h - */ - public void checkWarn(OsmoticShiftR shift) { - - } - - /* - 渗流只看流量q - */ - public void checkWarn(OsmoticFlowR flow) { - List rules = lambdaQuery().eq(OsmoticWarnRule::getStationCode, flow.getStationCode()) - .eq(OsmoticWarnRule::getType, OsmoticWarnRule.Type.PRESS.getType()) - .eq(OsmoticWarnRule::getStatus, OsmoticWarnRule.Status.ENABLE.getStatus()) - .list(); - BigDecimal valueToCompare = flow.getQ(); - for (OsmoticWarnRule rule : rules) { - OsmoticWarnRule.Relation matchRel = OsmoticWarnRule.Relation.match(rule.getCondition()); - - OsmoticWarnRule.Condition cond1 = OsmoticWarnRule.Condition.match(rule.getConditionOne()); - if (cond1 == null) continue; - BigDecimal cond1value = rule.getValueOne(); - if (cond1value == null) continue; - boolean cond1Violating = isViolating(valueToCompare, cond1, cond1value); - - boolean cond2Violating = false; - if (matchRel != null) { - OsmoticWarnRule.Condition cond2 = OsmoticWarnRule.Condition.match(rule.getConditionTwo()); - if (cond2 != null) { - BigDecimal cond2value = rule.getValueTwo(); - if (cond2value != null) { - cond2Violating = isViolating(valueToCompare, cond2, cond2value); - } - } - } - - boolean shoudWarn = false; - if (matchRel == null) { - if (cond1Violating) { - shoudWarn = true; - } - } else { - if (matchRel == OsmoticWarnRule.Relation.AND) { - if (cond1Violating && cond2Violating) { - shoudWarn = true; - } - } else if (matchRel == OsmoticWarnRule.Relation.OR) { - if (cond1Violating || cond2Violating) { - shoudWarn = true; - } - } - } - - if (shoudWarn) { - insertWarn(flow.getStationCode(), rule.getId(), flow.getQ(), OsmoticWarnRule.Type.PRESS.getType(), rule.getLevel()); - } - } - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticWaterRService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticWaterRService.java deleted file mode 100644 index 5bcf17b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticWaterRService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.OsmoticWaterRMapper; -import com.gunshi.project.xyt.model.OsmoticWaterR; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水质采样记录表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticWaterRService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticWaterRuleService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticWaterRuleService.java deleted file mode 100644 index ce6b73a..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticWaterRuleService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.OsmoticWaterRuleMapper; -import com.gunshi.project.xyt.model.OsmoticWaterRule; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水质质量标准规则表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class OsmoticWaterRuleService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/PersonnelPlanLogService.java b/src/main/java/com/gunshi/project/xyt/service/PersonnelPlanLogService.java deleted file mode 100644 index 832c6e9..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/PersonnelPlanLogService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.PersonnelPlanLogMapper; -import com.gunshi.project.xyt.model.PersonnelPlanLog; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class PersonnelPlanLogService extends ServiceImpl -{ -} diff --git a/src/main/java/com/gunshi/project/xyt/service/PersonnelPlanService.java b/src/main/java/com/gunshi/project/xyt/service/PersonnelPlanService.java deleted file mode 100644 index ccf2993..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/PersonnelPlanService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.PersonnelPlanMapper; -import com.gunshi.project.xyt.model.PersonnelPlan; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class PersonnelPlanService extends ServiceImpl -{ -} diff --git a/src/main/java/com/gunshi/project/xyt/service/ProjectEventsService.java b/src/main/java/com/gunshi/project/xyt/service/ProjectEventsService.java deleted file mode 100644 index 1162267..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ProjectEventsService.java +++ /dev/null @@ -1,236 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo; -import com.gunshi.project.xyt.entity.vo.ProjectEventsVo; -import com.gunshi.project.xyt.mapper.ProjectEventsMapper; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.model.ProjectEvents; -import com.gunshi.project.xyt.model.TermiteSurvey; -import com.gunshi.project.xyt.util.DataHandleUtil; -import com.gunshi.project.xyt.util.ExcelUtil; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 描述: 工程大事记 - * author: wanyan - * date: 2024-08-21 10:40:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ProjectEventsService extends ServiceImpl { - - @Autowired - private FileAssociationsService fileService; - - public Page pageQuery(CommonDataPageSo page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getName())) { - query.like(ProjectEvents::getName, page.getName()); - } - if (page.getDateSo() != null && page.getDateSo().getStart() != null) { - query.ge(ProjectEvents::getEventsDate, page.getDateSo().getStart()); - } - if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { - query.le(ProjectEvents::getEventsDate, page.getDateSo().getEnd()); - } - query.orderByDesc(ProjectEvents::getEventsDate); - Page res = this.page(page.getPageSo().toPage(), query); - if (res.getRecords() != null) { - fillAttach(res.getRecords()); - } - return res; - } - - private void fillAttach(List ret) { - for (ProjectEvents record : ret) { - record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); - } - } - - public String getGroupId() { - return "ProjectEvents"; - } - - public ProjectEvents saveData(ProjectEvents dto) { - dto.setId(IdWorker.getId()); - boolean result = this.save(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public ProjectEvents updateData(ProjectEvents dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - } - return data; - } - - public List queryList(CommonDataPageSo page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getName())) { - query.like(ProjectEvents::getName, page.getName()); - } - if (page.getDateSo() != null && page.getDateSo().getStart() != null) { - query.ge(ProjectEvents::getEventsDate, page.getDateSo().getStart()); - } - if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { - query.le(ProjectEvents::getEventsDate, page.getDateSo().getEnd()); - } - query.orderByDesc(ProjectEvents::getEventsDate); - List list = this.list(query); - fillAttach(list); - return list; - } - - public Page filePage(CommonDataPageSo page) { - Page res = new Page<>(); - List list = new ArrayList<>(); - list = queryData(page,list); - if (CollectionUtils.isNotEmpty(list)) { - fillFile(list.stream().filter(o->o.getType() != 6).collect(Collectors.toList())); - list = list.stream().sorted(Comparator.comparing(ProjectEventsVo::getEventsDate).reversed()).collect(Collectors.toList()); - List paginate = DataHandleUtil.paginate(list, page.getPageSo().getPageNumber(), page.getPageSo().getPageSize()); - res.setRecords(paginate); - } - res.setCurrent(page.getPageSo().getPageNumber()); - res.setTotal(list.size()); - return res; - } - - private List queryData(CommonDataPageSo page,List list) { - List types = page.getTypes(); - if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(1)){ - List projectEventsVos = this.baseMapper.eventList(page); - list.addAll(projectEventsVos); - } - if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(2)){ - List projectEventsVos = this.baseMapper.dispatchList(page); - list.addAll(projectEventsVos); - } - if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(3)){ - List projectEventsVos = this.baseMapper.maintainList(page); - list.addAll(projectEventsVos); - } - if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(4)){ - List projectEventsVos = this.baseMapper.safetyList(page); - list.addAll(projectEventsVos); - } - if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(5)){ - List projectEventsVos = this.baseMapper.reinforceList(page); - list.addAll(projectEventsVos); - } -// if(CollectionUtils.isEmpty(types) || (CollectionUtils.isNotEmpty(types)) && types.contains(6)){ -// List termiteVos = this.baseMapper.termiteList(page); -// List projectEventsVos = this.handelTermite(termiteVos); -// list.addAll(projectEventsVos); -// } - return list; - } - - private List handelTermite(List termiteVos) { - List list = new ArrayList<>(); - if(CollectionUtils.isEmpty(termiteVos)){ - return list; - } - for (TermiteSurvey vo : termiteVos){ - Integer surveyWay = vo.getSurveyWay(); - String way = ""; - switch (surveyWay){ - case 1 : - way = "人工排查法"; - break; - case 2 : - way = "引诱法"; - break; - case 3 : - way = "仪器探测法"; - break; - case 4 : - way = "其它"; - break; - } - Integer surveyType = vo.getSurveyType(); - String type = ""; - switch (surveyType){ - case 1 : - type = "日常检查排查"; - break; - case 2 : - type = "定期普查"; - break; - case 3 : - type = "专项调查"; - break; - } - String result = vo.getHarmNum() > 0 ?"有危害":"无危害"; - String content = "采用"+way+"进行"+type+",结果:"+result+";白蚁危害处数"+vo.getHarmNum()+"处;已处理处数"+vo.getHandleNum()+"处。"; - ProjectEventsVo eventsVo = new ProjectEventsVo(); - eventsVo.setId(vo.getId()); - eventsVo.setType(6); - eventsVo.setEventsDate(vo.getReportDate()); - eventsVo.setEventsDesc(content); - - List ids = this.baseMapper.queryTermiteDetail(vo.getId()); - List files = fileService.getFilesByIds(ids.stream().map(Objects::toString).collect(Collectors.toList())); - eventsVo.setFiles(files); - list.add(eventsVo); - } - return list; - } - - private void fillFile(List list) { - if(CollectionUtils.isEmpty(list)){ - return; - } - List ids = list.stream().map(ProjectEventsVo::getId).map(Objects::toString).collect(Collectors.toList()); - List files = fileService.getFilesByIds(ids); - Map> map = files.stream().collect(Collectors.groupingBy(FileAssociations::getBusinessId)); - for (ProjectEventsVo vo : list){ - vo.setFiles(map.get(vo.getId().toString())); - } - } - - public void export(CommonDataPageSo page, HttpServletResponse response) { - List list = new ArrayList<>(); - list = queryData(page,list); - if (CollectionUtils.isNotEmpty(list)) { - list = list.stream().sorted(Comparator.comparing(ProjectEventsVo::getEventsDate).reversed()).collect(Collectors.toList()); - } - ExcelUtil.exportExcel(list,"全周期档案", ProjectEventsVo.class,response,"全周期档案"); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/RainBasinDivisionService.java b/src/main/java/com/gunshi/project/xyt/service/RainBasinDivisionService.java deleted file mode 100644 index 86b6e83..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/RainBasinDivisionService.java +++ /dev/null @@ -1,495 +0,0 @@ -package com.gunshi.project.xyt.service; - -import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.gunshi.project.xyt.entity.so.StPptnSo; -import com.gunshi.project.xyt.entity.vo.CartogramVo; -import com.gunshi.project.xyt.entity.vo.StPptnDetailsVo; -import com.gunshi.project.xyt.entity.vo.StPptnVo; -import com.gunshi.project.xyt.mapper.RealRainMapper; -import com.gunshi.project.xyt.mapper.StPptnRMapper; -import com.gunshi.project.xyt.model.StPptnRD; -import com.gunshi.project.xyt.model.StPptnRReal; -import com.gunshi.project.xyt.model.StStbprpB; -import com.gunshi.project.xyt.model.StStbprpBAutoDao; -import jakarta.annotation.Resource; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; -import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.temporal.ChronoUnit; -import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -/** - * Description: - * Created by wanyan on 2024/7/8 - * - * @author wanyan - * @version 1.0 - */ -@Service -@Slf4j -public class RainBasinDivisionService { - - @Autowired - private RealRainMapper realRainMapper; - - @Autowired - private StPptnRMapper stPptnRMapper; - - @Resource - private StStbprpBAutoDao stStbprpBAutoDao; - - /** - * 根据测站编码查询时间段内每小时的雨量 - * - * @param stPptnSo 雨量站降雨量查询参数 - * @return - */ - public List queryStPptnPerHourByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { - String stcd = stPptnSo.getStcd(); - List stPptnVos = realRainMapper.queryStPptnPerHourByStcdAndStartTimeAndEndTime(stcd, stPptnSo.getStartTime(), stPptnSo.getEndTime()); - SimpleDateFormat df = new SimpleDateFormat("MM-dd HH:mm"); - for (StPptnVo stPptnVo : stPptnVos) { - Date time = stPptnVo.getTime(); - stPptnVo.setTimeStr(df.format(time)); - } - return stPptnVos; - } - - /** - * 根据测站编码查询时间段内每小时的雨量统计 - * - * @param stPptnSo 雨量站降雨量查询参数 - * @return - */ - public CartogramVo queryStPptnPerHourChartByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { - //实测 - List stPptnVos1 = queryStPptnPerHourNowByStcdAndStartTimeAndEndTime(stPptnSo); - //累计 - List stPptnVos2 = queryStPptnPerHourSumByStcdAndStartTimeAndEndTime(stPptnSo); - - CartogramVo cartogramVo = new CartogramVo(); - List time = new ArrayList<>(); - List actual = new ArrayList<>(); - List total = new ArrayList<>(); - for (StPptnVo stPptnVo : stPptnVos1) { - time.add(stPptnVo.getTimeStr()); - actual.add(stPptnVo.getSumDrp()); - } - for (StPptnVo stPptnVo : stPptnVos2) { - total.add(stPptnVo.getSumDrp()); - } - cartogramVo.setTime(time); - cartogramVo.setActual(actual); - cartogramVo.setTotal(total); - return cartogramVo; - } - - /** - * 根据测站编码查询时间段内每小时的实测雨量 - * - * @param stPptnSo 雨量站降雨量查询参数 - * @return - */ - public List queryStPptnPerHourNowByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { - List stPptnVos = queryStPptnPerHourByStcdAndStartTimeAndEndTime(stPptnSo); - Collections.reverse(stPptnVos); - return stPptnVos; - } - - /** - * 根据测站编码查询时间段内每小时的累计雨量 - * - * @param stPptnSo 雨量站降雨量查询参数 - * @return - */ - public List queryStPptnPerHourSumByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { - List stPptnVos = queryStPptnPerHourNowByStcdAndStartTimeAndEndTime(stPptnSo); - BigDecimal sumdrp = BigDecimal.valueOf(0); - for (StPptnVo stPptnVo : stPptnVos) { - sumdrp = sumdrp.add(stPptnVo.getSumDrp()); - stPptnVo.setSumDrp(sumdrp); - } - return stPptnVos; - } - - /** - * 根据测站编码查询时间段内每天的雨量 - * - * @param stPptnSo 雨量站降雨量查询参数 - * @return - */ - @SneakyThrows - public List queryStPptnPerDayByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { - String stcd = stPptnSo.getStcd(); - - Date stm = stPptnSo.getStartTime(); - Date etm = stPptnSo.getEndTime(); - Date now = new Date(); - if (etm.getTime() > now.getTime()) etm = now; - SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - stm = df.parse(df.format(stm)); - etm = df.parse(df.format(etm)); - Calendar cal = Calendar.getInstance(); - - List stPptnVos = new ArrayList<>(); - while (etm.getTime() >= stm.getTime()) { - cal.setTime(stm); - StPptnVo stPptnVo = new StPptnVo(); - stPptnVo.setTime(stm); - stPptnVo.setTimeStr(df.format(stm)); - int year = cal.get(Calendar.YEAR); - - StPptnRD pptnrd = realRainMapper.getStPptnRD( - stcd, stm, year - ); - if (pptnrd != null) { - stPptnVo.setSumDrp(pptnrd.getDrp()); - } - stPptnVos.add(stPptnVo); - - cal.add(Calendar.DAY_OF_MONTH, 1); - stm = cal.getTime(); - } - return stPptnVos; - } - - /** - * 根据测站编码查询时间段内每天的雨量统计 - * - * @param stPptnSo 雨量站降雨量查询参数 - * @return - */ - public CartogramVo queryStPptnPerDayChartChartByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { - //实测 - List stPptnVos1 = queryStPptnPerDayByStcdAndStartTimeAndEndTime(stPptnSo); - //累计 - List stPptnVos2 = queryStPptnPerDaySumByStcdAndStartTimeAndEndTime(stPptnSo); - - CartogramVo cartogramVo = new CartogramVo(); - List time = new ArrayList<>(); - List actual = new ArrayList<>(); - List total = new ArrayList<>(); - for (StPptnVo stPptnVo : stPptnVos1) { - time.add(stPptnVo.getTimeStr()); - actual.add(stPptnVo.getSumDrp()); - } - for (StPptnVo stPptnVo : stPptnVos2) { - total.add(stPptnVo.getSumDrp()); - } - cartogramVo.setTime(time); - cartogramVo.setActual(actual); - cartogramVo.setTotal(total); - return cartogramVo; - } - - /** - * 根据测站编码查询时间段内每天的累计雨量 - * - * @param stPptnSo 雨量站降雨量查询参数 - * @return - */ - public List queryStPptnPerDaySumByStcdAndStartTimeAndEndTime(StPptnSo stPptnSo) { - List stPptnVos = queryStPptnPerDayByStcdAndStartTimeAndEndTime(stPptnSo); - BigDecimal sumdrp = BigDecimal.valueOf(0); - for (StPptnVo stPptnVo : stPptnVos) { - if (stPptnVo.getSumDrp() != null){ - sumdrp = sumdrp.add(stPptnVo.getSumDrp()); - } - stPptnVo.setSumDrp(sumdrp); - } - return stPptnVos; - } - - /** - * 根据测站编码查询详细雨量情况 - * - * @param stcd 测站编码 - * @return - */ - public StPptnDetailsVo queryStPptnDetailsByStcd(String stcd) { -// StPptnRStat stPptnRStat = stPptnRStatMapper.queryStPptnRStatByStcd(stcd); - StPptnRReal stPptnRReal = realRainMapper.queryPptnByStcd(stcd); - - StPptnDetailsVo stPptnDetailsVo = new StPptnDetailsVo(); - if (stPptnRReal != null){ - BeanUtil.copyProperties(stPptnRReal, stPptnDetailsVo); - }else { - stPptnDetailsVo.setStcd(stcd); - } - - BigDecimal value0 = new BigDecimal(0); - - Date date = new Date(); - -// //48小时降雨量 -// BigDecimal h48 = stStbprpBMapper.queryStPptn48HByStcd(stcd); -// if (h48 == null) { -// stPptnDetailsVo.setH48(value0); -// } else { -// stPptnDetailsVo.setH48(h48); -// } -// -// //今日雨量 -// BigDecimal todayDrp = queryTodayDrpByStcdAndTime(stcd, date); -// if (todayDrp == null) { -// stPptnDetailsVo.setTodayDrp(value0); -// } else { -// stPptnDetailsVo.setTodayDrp(todayDrp); -// } - - //昨日雨量 - BigDecimal yesterdayDrp = queryYesterdayDrpByStcdAndTime(stcd, date); - if (yesterdayDrp == null) { - stPptnDetailsVo.setYesterdayDrp(value0); - } else { - stPptnDetailsVo.setYesterdayDrp(yesterdayDrp); - } - - //本月降雨量 - BigDecimal monthDay = queryMonthDrpByStcdAndTime(stcd, date); - if (monthDay == null) { - stPptnDetailsVo.setMonthDrp(value0); - } else { - stPptnDetailsVo.setMonthDrp(monthDay); - } - - //本年降雨量 - BigDecimal yearDrp = queryYearDrpByStcdAndTime(stcd, date); - if (yearDrp == null) { - stPptnDetailsVo.setYearDrp(value0); - } else { - stPptnDetailsVo.setYearDrp(yearDrp); - } - - //本年天数 - Long yearDay = countYearDay(date); - stPptnDetailsVo.setYearDay(yearDay); - - Map map = queryYearDrpDayAndMaxDrpAndMaxDrpTimeByStcdAndTime(stcd, date); - - //本年降雨天数 - Long yearDrpDay = (Long) map.get("count"); - stPptnDetailsVo.setYearDrpDay(yearDrpDay); - - //本年最大日雨量 - BigDecimal maxDrp = (BigDecimal) map.get("maxDrp"); - stPptnDetailsVo.setMaxDrp(maxDrp); - - //本年最大日雨量时间 - Date maxDrpTime =(Date) map.get("maxDrpTime"); - stPptnDetailsVo.setMaxDrpTime(maxDrpTime); - return stPptnDetailsVo; - } - - /** - * 根据测站编码和时间查看昨日降雨量 - * - * @param stcd 测站编码 - * @param time 当前时间 - * @return 昨日降雨量 - */ - public BigDecimal queryYesterdayDrpByStcdAndTime(String stcd, Date time) { - LocalDateTime now = LocalDateTime.ofInstant(time.toInstant(), ZoneId.systemDefault()); - LocalDateTime startTime; - LocalDateTime endTime; - LocalDateTime yesterday = now.minusDays(1); - if (now.getHour() >= 8) { - startTime = LocalDateTime.of( - yesterday.getYear(), - yesterday.getMonthValue(), - yesterday.getDayOfMonth(), - 8, - 0, - 0 - ); - endTime = LocalDateTime.of( - now.getYear(), - now.getMonthValue(), - now.getDayOfMonth(), - 8, - 0, - 0 - ); - } else { - endTime = endTime = LocalDateTime.of( - yesterday.getYear(), - yesterday.getMonthValue(), - yesterday.getDayOfMonth(), - 8, - 0, - 0 - ); - yesterday = yesterday.minusDays(1); - startTime = LocalDateTime.of( - yesterday.getYear(), - yesterday.getMonthValue(), - yesterday.getDayOfMonth(), - 8, - 0, - 0 - ); - } - - return stPptnRMapper.queryStPptnTimeQuantumByStcdAndTime( - stcd, - Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), - Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant()) - ); - - } - - /** - * 根据测站编码和时间查看本月降雨量 - * - * @param stcd 测站编码 - * @param time 当前时间 - * @return 本月降雨量 - */ - public BigDecimal queryMonthDrpByStcdAndTime(String stcd, Date time) { - LocalDateTime now = LocalDateTime.ofInstant(time.toInstant(), ZoneId.systemDefault()); - LocalDateTime startTime; - LocalDateTime endTime; - if (now.getHour() >= 8 || (now.getHour() < 8 && now.getDayOfMonth() > 1)) { - startTime = LocalDateTime.of( - now.getYear(), - now.getMonthValue(), - 1, - 8, - 0, - 0 - ); - endTime = now; - return stPptnRMapper.queryStPptnTimeQuantumByStcdAndTime( - stcd, - Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), - Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant()) - ); - - } - BigDecimal monthdrp = BigDecimal.valueOf(0); - return monthdrp; - - } - - /** - * 根据测站编码和时间查看本年降雨量 - * - * @param stcd 测站编码 - * @param time 当前时间 - * @return 本年降雨量 - */ - public BigDecimal queryYearDrpByStcdAndTime(String stcd, Date time) { - LocalDateTime now = LocalDateTime.ofInstant(time.toInstant(), ZoneId.systemDefault()); - LocalDateTime startTime; - LocalDateTime endTime; - if (now.getHour() >= 8 || (now.getHour() < 8 && now.getMonthValue() > 1) || (now.getHour() < 8 && now.getMonthValue() == 1 && now.getDayOfMonth() >= 1)) { - startTime = LocalDateTime.of( - now.getYear(), - 1, - 1, - 8, - 0, - 0 - ); - endTime = now; - return stPptnRMapper.queryStPptnTimeQuantumByStcdAndTime( - stcd, - Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), - Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant()) - ); - } - BigDecimal monthDrp = BigDecimal.valueOf(0); - return monthDrp; - } - - /** - * 根据测站编码和时间查询本年降雨天数、本年最大日雨量、本年最大日雨量时间 - * - * @param stcd 测站编码 - * @param time 当前时间 - * @return 本年降雨天数、本年最大日雨量、本年最大日雨量时间 - */ - public Map queryYearDrpDayAndMaxDrpAndMaxDrpTimeByStcdAndTime(String stcd, Date time) { - Date now = new Date(); - Date startTime = new Date(now.getYear(), 0, 1, 8, 0, 0); - - BigDecimal maxDrp = BigDecimal.valueOf(0); - Date maxDrpTime = startTime; - Long count = 0L; - Map map = new HashMap<>(); - map.put("count", count); - map.put("maxDrp", maxDrp); - map.put("maxDrpTime", maxDrpTime); - -// QueryWrapper queryWrapper = new QueryWrapper<>(); -// queryWrapper.eq(StStbprpB.COL_STCD,stcd); - -// StStbprpB stStbprpB = stStbprpBAutoDao.getOne(queryWrapper); - StPptnRD stPptnRD = realRainMapper.getMaxOfYear(stcd,now.getYear() + 1900); - if (stPptnRD == null){ - return map; - } - - count = realRainMapper.getRainOfDayInYear(stcd, now.getYear()+1900); - map.put("count", count); - map.put("maxDrp", stPptnRD.getDrp()); - map.put("maxDrpTime", stPptnRD.getTm()); - return map; - } - - /** - * 计算本年天数 - * - * @param time 当前时间 - * @return 本年天数 - */ - public Long countYearDay(Date time) { - LocalDateTime now = LocalDateTime.ofInstant(time.toInstant(), ZoneId.systemDefault()); - LocalDateTime startTime = LocalDateTime.of(now.getYear(), 1, 1, 8, 0, 0); - long count = ChronoUnit.DAYS.between(startTime, now); - return count + 1; - } - - public StPptnRReal maxRain(StPptnSo stPptnSo) { - StPptnRReal stPptnRReal = new StPptnRReal(); - List stPptnVos = realRainMapper.queryStPptnPerHourByStcdAndStartTimeAndEndTime(stPptnSo.getStcd(), stPptnSo.getStartTime(), stPptnSo.getEndTime()); - if (stPptnVos == null || stPptnVos.isEmpty()) { - return null; - } - stPptnRReal.setH1(stPptnVos.stream().max(Comparator.comparing(StPptnVo::getSumDrp)).get().getSumDrp()); - Collections.reverse(stPptnVos); - List list = Arrays.asList(3, 6, 12); - for(Integer num : list){ - BigDecimal data = calcMaxData(num,stPptnVos); - if(num == 3){ - stPptnRReal.setH3(data); - } - if(num == 6){ - stPptnRReal.setH6(data); - } - if(num == 12){ - stPptnRReal.setH12(data); - } - } - return stPptnRReal; - } - - private BigDecimal calcMaxData(Integer num, List stPptnVos) { - List list = stPptnVos.stream().map(StPptnVo::getSumDrp).collect(Collectors.toList()); - return IntStream.range(0, list.size() - num -1) - .mapToObj(i -> list.subList(i, Math.min(i + num, list.size()))) // 获取每几个数的子列表 - .map(sublist -> sublist.stream().reduce(BigDecimal.ZERO, BigDecimal::add)) - .max(BigDecimal::compareTo) - .orElse(BigDecimal.ZERO); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/service/RealRainService.java b/src/main/java/com/gunshi/project/xyt/service/RealRainService.java deleted file mode 100644 index c9e76fd..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/RealRainService.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.gunshi.project.xyt.entity.so.RealRainBaseSo; -import com.gunshi.project.xyt.entity.vo.RealRainListVo; -import com.gunshi.project.xyt.mapper.RealRainMapper; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.compress.utils.Lists; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.Comparator; -import java.util.List; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; - -/** - * Description: - * Created by wanyan on 2024/7/8 - * - * @author wanyan - * @version 1.0 - */ -@Service -@Data -@Slf4j -public class RealRainService { - - @Autowired - private RealRainMapper realRainMapper; - - /** - * 实时雨情-降雨信息-查询接口 - * - * @param realRainBaseSo - * @return - */ - public List getRealRainList(RealRainBaseSo realRainBaseSo) { - List result = realRainMapper.getRealRainList(realRainBaseSo.getStm(), realRainBaseSo.getEtm()); - - result.sort(Comparator.comparing(RealRainListVo::getDrp, Comparator.nullsFirst(Double::compareTo)).reversed().thenComparing(RealRainListVo::getStcd)); - return result; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/ResBriefRService.java b/src/main/java/com/gunshi/project/xyt/service/ResBriefRService.java deleted file mode 100644 index 59256b8..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ResBriefRService.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.gunshi.project.xyt.entity.vo.ResBriefVo; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.ResBriefR; -import com.gunshi.project.xyt.model.StPptnR; -import com.gunshi.project.xyt.model.StStbprpB; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.*; - -/** - * @author lyf - * @since 2025-04-25 - */ -@EnableScheduling -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ResBriefRService extends com.gunshi.project.xyt.model.ResBriefRAutoDao { - @Autowired - private StPptnRService pptnService; - - @Autowired - private StStbprpBService stbprpService; - - @Autowired - private StRsvrRService rsvrService; - - @Autowired - private StZvarlBService zvarlService; - - @Autowired - private AttResBaseService resService; - - //每天早上8点30分执行一次 - @Scheduled(cron = "0 30 8 * * ?") - public void scheduledScan() { - List pptnStations = stbprpService.getPptnStations(); - List pptnVos = new ArrayList<>(); - pptnStations.forEach(stStbprpB -> { - String stcd = stStbprpB.getStcd(); - String stnm = stStbprpB.getStnm(); - - ResBriefVo.PptnVo pptnVo = new ResBriefVo.PptnVo(); - pptnVo.setStcd(stcd); - pptnVo.setStnm(stnm); - pptnVos.add(pptnVo); - - BigDecimal drp24 = pptnService.getdrp24SumByStcd(stcd); - StPptnR drpMax = pptnService.getdrp24MaxByStcd(stcd); - pptnVo.setDrp24Sum(drp24); - pptnVo.setDrp24Max(new BigDecimal(drpMax.getDrp())); - pptnVo.setMaxTm(drpMax.getTm()); - }); - - AttResBase res = resService.list().getFirst(); - BigDecimal flLowLimLev = res.getFlLowLimLev(); - String stcd = res.getStcd(); - BigDecimal rz8 = rsvrService.getRz8ByStcd(stcd); - BigDecimal rzYesterday8 = rsvrService.getRzYesterday8ByStcd(stcd); - BigDecimal w = zvarlService.getWFromZvarl(rz8, null); - ResBriefVo vo = new ResBriefVo(); - vo.setRz8(rz8); - vo.setRzYesterday8(rzYesterday8); - vo.setW(w); - vo.setFlLowLimLev(flLowLimLev); - - ResBriefVo.PptnVo pptnDrp24Sum = pptnVos.stream().max(Comparator.comparing(ResBriefVo.PptnVo::getDrp24Sum)).orElse(null); - vo.setDrp24Sum(pptnDrp24Sum != null ? pptnDrp24Sum.getDrp24Sum() : null); - vo.setSumStnm(pptnDrp24Sum != null ? pptnDrp24Sum.getStnm() : null); - ResBriefVo.PptnVo pptnDrp24Max = pptnVos.stream().max(Comparator.comparing(ResBriefVo.PptnVo::getDrp24Max)).orElse(null); - vo.setDrp24Max(pptnDrp24Max != null ? pptnDrp24Max.getDrp24Max() : null); - vo.setMaxTm(pptnDrp24Max != null ? pptnDrp24Max.getMaxTm() : null); - vo.setMaxStnm(pptnDrp24Max != null ? pptnDrp24Max.getStnm() : null); - - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - calendar.set(Calendar.HOUR_OF_DAY, 0); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - vo.setDate(calendar.getTime()); - - save(vo); - } - - public List getResBriefList(Date startDate, Date endDate) { - List list = list(new QueryWrapper().between("date", startDate, endDate).orderByDesc("date")); - list.forEach(item -> { - item.setBrief(item.getBrief()); - }); - return list; - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/service/ResFloodRoadService.java b/src/main/java/com/gunshi/project/xyt/service/ResFloodRoadService.java deleted file mode 100644 index 4fc59a2..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ResFloodRoadService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ResFloodRoadMapper; -import com.gunshi.project.xyt.model.ResFloodRoad; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 防汛道路 - * author: xusan - * date: 2024-11-14 10:37:15 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ResFloodRoadService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ResMangUnitService.java b/src/main/java/com/gunshi/project/xyt/service/ResMangUnitService.java deleted file mode 100644 index 0826750..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ResMangUnitService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ResMangUnitMapper; -import com.gunshi.project.xyt.model.ResMangUnit; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水库管理单位表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ResMangUnitService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ResMonthEcoFlowService.java b/src/main/java/com/gunshi/project/xyt/service/ResMonthEcoFlowService.java deleted file mode 100644 index 188c6ab..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ResMonthEcoFlowService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ResMonthEcoFlowMapper; -import com.gunshi.project.xyt.model.ResMonthEcoFlow; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水库月核定生态流量表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ResMonthEcoFlowService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ResPersonService.java b/src/main/java/com/gunshi/project/xyt/service/ResPersonService.java deleted file mode 100644 index d7a7820..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ResPersonService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ResPersonMapper; -import com.gunshi.project.xyt.model.ResPerson; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * Description: - * Created by XuSan on 2024/9/23. - * - * @author XuSan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ResPersonService extends ServiceImpl -{ -} diff --git a/src/main/java/com/gunshi/project/xyt/service/ResPlanBService.java b/src/main/java/com/gunshi/project/xyt/service/ResPlanBService.java deleted file mode 100644 index 2015460..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ResPlanBService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ResPlanBMapper; -import com.gunshi.project.xyt.model.ResPlanB; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水库预案表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ResPlanBService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ResProjectImgService.java b/src/main/java/com/gunshi/project/xyt/service/ResProjectImgService.java deleted file mode 100644 index 21a431e..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ResProjectImgService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ResProjectImgMapper; -import com.gunshi.project.xyt.model.ResProjectImg; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水库工程图片 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ResProjectImgService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ResSafePersonBService.java b/src/main/java/com/gunshi/project/xyt/service/ResSafePersonBService.java deleted file mode 100644 index 4c5f38c..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ResSafePersonBService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ResSafePersonBMapper; -import com.gunshi.project.xyt.model.ResSafePersonB; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水库责任体系表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ResSafePersonBService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ResTunnelService.java b/src/main/java/com/gunshi/project/xyt/service/ResTunnelService.java deleted file mode 100644 index f1cacfe..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ResTunnelService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.ResTunnelMapper; -import com.gunshi.project.xyt.model.ResTunnel; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水库建筑物 - 放空洞/灌溉发电洞 - * author: xusan - * date: 2024-11-14 10:34:12 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ResTunnelService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/RescueGoodsService.java b/src/main/java/com/gunshi/project/xyt/service/RescueGoodsService.java deleted file mode 100644 index b6c84ef..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/RescueGoodsService.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.entity.so.RescueGoodsPageSo; -import com.gunshi.project.xyt.mapper.RescueGoodsMapper; -import com.gunshi.project.xyt.model.RescueGoodsB; -import com.gunshi.project.xyt.model.RescueGoodsBAutoDao; -import com.gunshi.project.xyt.model.RescueGoodsBAutoMapper; -import com.gunshi.project.xyt.model.RescueGoodsFile; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/3/20 - * - * @author wanyan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class RescueGoodsService - extends AbstractModelWithAttachService< - RescueGoodsB, - RescueGoodsBAutoMapper, - RescueGoodsBAutoDao, - RescueGoodsFile, - com.gunshi.project.xyt.model.RescueGoodsFileAutoMapper, - com.gunshi.project.xyt.model.RescueGoodsFileAutoDao - > -{ - - @Autowired - private RescueGoodsBAutoDao autoDao; - - @Autowired - private com.gunshi.project.xyt.model.RescueGoodsFileAutoDao attachFileAutoDao; - - @Resource - private RescueGoodsMapper rescueGoodsMapper; - - - public Page pageQuery(RescueGoodsPageSo RescueGoodsPageSo) { - return rescueGoodsMapper.pageQuery(RescueGoodsPageSo.getPageSo().toPage(),RescueGoodsPageSo); - } - - - @Override - RescueGoodsBAutoDao getAutoDao() { - return autoDao; - } - - @Override - com.gunshi.project.xyt.model.RescueGoodsFileAutoDao getAttachFileAutoDao() { - return attachFileAutoDao; - } - - @Override - List createAttachList(RescueGoodsB RescueGoodsB) { - List fileIds = RescueGoodsB.getFileIds(); - if (fileIds == null) return null; - List attachList = new ArrayList<>(); - for (String fileId : fileIds) { - RescueGoodsFile attach = new RescueGoodsFile(); - attach.setFileId(Long.valueOf(fileId)); - attach.setGoodsId(RescueGoodsB.getGoodsId()); - attach.setTm(new Date()); - attach.setId(IdWorker.getId()); - attachList.add(attach); - } - return attachList; - } - - @Override - Object getModelId(RescueGoodsB RescueGoodsB) { - return RescueGoodsB.getGoodsId(); - } - - @Override - public String getAttachBzIdName() { - return "goods_id"; - } - - public List detail(Long goodsId) { - return rescueGoodsMapper.detail(goodsId); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/RescueTeamService.java b/src/main/java/com/gunshi/project/xyt/service/RescueTeamService.java deleted file mode 100644 index b001122..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/RescueTeamService.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.RescueTeamPageSo; -import com.gunshi.project.xyt.entity.vo.RescueTeamVo; -import com.gunshi.project.xyt.mapper.RescueTeamBMapper; -import com.gunshi.project.xyt.mapper.RescueTeamFileMapper; -import com.gunshi.project.xyt.model.RescueTeamB; -import com.gunshi.project.xyt.model.RescueTeamDetail; -import com.gunshi.project.xyt.model.RescueTeamFile; -import com.gunshi.project.xyt.model.RescueTeamFileAutoDao; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; - -/** - * Description: - * Created by wanyan on 2024/3/18 - * - * @author wanyan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class RescueTeamService extends AbstractModelWithAttachService{ - @Autowired - private com.gunshi.project.xyt.model.RescueTeamBAutoDao autoDao; - - @Autowired - private RescueTeamFileAutoDao attachFileAutoDao; - - - @Resource - private RescueTeamBMapper rescueTeamMapper; - - @Resource - private RescueTeamFileMapper rescueTeamFileMapper; - - @Resource - private com.gunshi.project.xyt.model.RescueTeamDetailAutoDao detailAutoDao; - - public Page pageQuery(RescueTeamPageSo rescueTeamPageSo) { - return rescueTeamMapper.pageQuery(rescueTeamPageSo.getPageSo().toPage(),rescueTeamPageSo); - } - - public RescueTeamB detail(Long teamId) { - RescueTeamB team = rescueTeamMapper.selectById(teamId); - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(RescueTeamDetail::getTeamId, teamId); - team.setDetails(detailAutoDao.list(queryWrapper)); - - team.setFiles(rescueTeamFileMapper.queryFiles(teamId)); - - return team; - } - - public void saveDetailAndObj(RescueTeamB model, long teamId) { - List details = model.getDetails(); - if(CollectionUtils.isNotEmpty(details)){ - detailAutoDao.saveBatch(details.stream().map(o->{ - o.setDetailId(IdWorker.getId()); - o.setTeamId(teamId); - return o; - }).collect(Collectors.toList())); - } - } - - public void updateDetailAndObj(RescueTeamB model) { - //根据teamId删除队伍明细和服务对象 - Long teamId = model.getTeamId(); - deleteDetailAndObj(teamId); - saveDetailAndObj(model,teamId); - } - - private void deleteDetailAndObj(Long teamId){ - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(RescueTeamDetail::getTeamId,teamId); - detailAutoDao.remove(queryWrapper); - - } - - public Boolean delete(Long teamId) { - deleteDetailAndObj(teamId); - rescueTeamFileMapper.delete(new LambdaUpdateWrapper() - .eq(RescueTeamFile::getTeamId,teamId)); - int i = rescueTeamMapper.deleteById(teamId); - return i > 0 ; - } - - @Override - com.gunshi.project.xyt.model.RescueTeamBAutoDao getAutoDao() { - return autoDao; - } - - @Override - RescueTeamFileAutoDao getAttachFileAutoDao() { - return attachFileAutoDao; - } - - @Override - List createAttachList(RescueTeamB RescueTeamB) { - List fileIds = RescueTeamB.getFileIds(); - if (fileIds == null) return null; - List attachList = new ArrayList<>(); - for (String fileId : fileIds) { - RescueTeamFile attach = new RescueTeamFile(); - attach.setFileId(Long.valueOf(fileId)); - attach.setTeamId(RescueTeamB.getTeamId()); - attach.setTm(new Date()); - attach.setId(IdWorker.getId()); - attachList.add(attach); - } - return attachList; - } - - @Override - Object getModelId(RescueTeamB rescueTeamB) { - return rescueTeamB.getTeamId(); - } - - @Override - public String getAttachBzIdName() { - return "team_id"; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/ReservoirWaterService.java b/src/main/java/com/gunshi/project/xyt/service/ReservoirWaterService.java deleted file mode 100644 index e1bf734..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ReservoirWaterService.java +++ /dev/null @@ -1,305 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.so.DataQueryCommonSo; -import com.gunshi.project.xyt.entity.so.PicQuerySo; -import com.gunshi.project.xyt.entity.so.ReservoirWaterCommonSo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.mapper.AttResBaseMapper; -import com.gunshi.project.xyt.mapper.StZvarlBMapper; -import com.gunshi.project.xyt.model.*; -import com.gunshi.project.xyt.util.DataHandleUtil; -import com.gunshi.project.xyt.util.DateUtil; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.*; -import java.util.stream.Collectors; - -/** - * Description: - * Created by wanyan on 2024/7/8 - * - * @author wanyan - * @version 1.0 - */ -@Service -@Slf4j -public class ReservoirWaterService { - - @Resource - private AttResBaseMapper attResBaseMapper; - - @Resource - private StZvarlBMapper stZvarlBMapper; - - @Resource - private RainBasinDivisionService rainBasinDivisionService; - - @Autowired - private StZvarlBService stZvarlBService; - - public List list() { - List attResBaseVos = attResBaseMapper.queryList(); - if(CollectionUtils.isEmpty(attResBaseVos)){ - return attResBaseVos; - } - attResBaseVos.stream().map(o->{ - if(o.getCalState() == 1){ - o.setDesState(0); - o.setFlState(0); - }else if(o.getCalState() == 0 && o.getDesState() ==1){ - o.setFlState(0); - } - return o; - }).collect(Collectors.toList()); - - for (AttResBaseVo vo : attResBaseVos) { - BigDecimal rz = vo.getRz(); - List zvarlList = stZvarlBMapper.selectList(null); - for (StZvarlB zvarl : zvarlList) { - if (zvarl.getRz().equals(rz)) { - vo.setNowCap(zvarl.getW()); - break; - } - } - } - //查询所有测站的库容曲线 -// List zvarlList = queryZval(attResBaseVos.stream().map(AttResBaseVo::getStcd).collect(Collectors.toList())); -// Map> zvalMap = zvarlList.stream().collect(Collectors.groupingBy(StZvarlB::getStcd)); -// for(AttResBaseVo vo : attResBaseVos){ -// String stcd = vo.getStcd(); -// BigDecimal rz = vo.getRz(); -// //计算当前库容 -// List zvarlBS = zvalMap.get(stcd); -// if(rz != null && CollectionUtils.isNotEmpty(zvarlBS)){ -// BigDecimal maxRz = zvarlBS.stream().max(Comparator.comparing(StZvarlB::getRz)).get().getRz(); -// BigDecimal minRz = zvarlBS.stream().min(Comparator.comparing(StZvarlB::getRz)).get().getRz(); -// if(rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0){ -// //当期水位库容 -// StZvarlB equals = zvarlBS.stream().filter(e -> e.getRz().compareTo(vo.getRz()) == 0).findFirst().orElse(new StZvarlB()); -// //死水位库容 -// StZvarlB dead = zvarlBS.stream().filter(e -> e.getRz().compareTo(vo.getDeadCap()) == 0).findFirst().orElse(new StZvarlB()); -// if(Objects.nonNull(equals) && Objects.nonNull(dead)){ -// BigDecimal subtract = equals.getW().subtract(dead.getW()); -// vo.setNowCap(subtract); -// } -// continue; -// } -// Map stZvalMap = zvarlBS.stream().collect(Collectors.toMap(StZvarlB::getRz, StZvarlB::getW)); -// List list = zvarlBS.stream().map(StZvarlB::getRz).sorted().collect(Collectors.toList()); -// vo.setNowCap(DataHandleUtil.calcData(rz,stZvalMap,list)); -// } -// } - return attResBaseVos; - } - - - public List listV2() { - List voList = attResBaseMapper.queryListV2(); - if(CollectionUtils.isEmpty(voList)){ - return voList; - } - - List zvarlList = stZvarlBService.list(); - voList.forEach(vo -> { - if(vo.getCalState() == 1){ - vo.setDesState(0); - vo.setFlState(0); - }else if(vo.getCalState() == 0 && vo.getDesState() ==1){ - vo.setFlState(0); - } - - BigDecimal rz = vo.getRz(); - BigDecimal w = stZvarlBService.getWFromZvarl(rz, null, zvarlList); - vo.setNowCap(w); - }); - - return voList; - } - - private List queryZval(List stcdList) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.in(StZvarlB::getStcd, stcdList); - return stZvarlBMapper.selectList(queryWrapper); - } - - public List realImg(ReservoirWaterCommonSo reservoirWaterCommonSo) { - return attResBaseMapper.realImg(reservoirWaterCommonSo.getResCode()); - } - - public List zvarl(String stcd) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - return stZvarlBMapper.selectList(queryWrapper); - } - - public List monitorData(DataQueryCommonSo dataQueryCommonSo) { - String stcd = dataQueryCommonSo.getStcd(); - //雨量数据 - List drpData = attResBaseMapper.drpData(dataQueryCommonSo); - //水位数据 - List rzData = attResBaseMapper.rzData(dataQueryCommonSo); - //获取库容曲线关系,算出库容 - List zvarl = zvarl(stcd); - if(CollectionUtils.isNotEmpty(zvarl)){ - calcTqData(rzData,zvarl); - } - //根据监测时间合并雨量和水位数据 - return bindData(stcd,drpData,rzData); - } - - private void calcTqData(List rzData, List zqrl) { - /* 前期库容曲线数据不足,采用了计算近似值,废弃,直接查表 - BigDecimal maxRz = zqrl.stream().max(Comparator.comparing(StZvarlB::getRz)).get().getRz(); - BigDecimal minRz = zqrl.stream().min(Comparator.comparing(StZvarlB::getRz)).get().getRz(); - Map map = zqrl.stream().collect(Collectors.toMap(StZvarlB::getRz, StZvarlB::getW, - (existing, replacement) -> existing)); - - * 根据监测水位和库容曲线计算出当前库容 - * 计算规则:1.监测水位不在库容曲线范围内,无法计算当前库容 - * 2.找出与监测水位最接近的一组水位值,算出比例,根据比例计算库容:如监测水位为10,最相近的一组水位值为9-11,对应的库容为4-5 - * 则计算公式为1/2 = x/1 x=0.5 当前库容=4+0.5=4.5 - - List list = zqrl.stream().map(StZvarlB::getRz).collect(Collectors.toList()); - for (AttResMonitorVo vo : rzData) { - BigDecimal rz = vo.getRz(); - if (rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0) { - continue; - } - vo.setW(DataHandleUtil.calcData(rz, map, list)); - } - */ - //zqrl转map,用rz值做key,bigdecimal的精度设置为3位 - Map map = zqrl.stream().collect(Collectors.toMap(v -> v.getRz().setScale(3, RoundingMode.UNNECESSARY), v -> v.getW())); - for (AttResMonitorVo vo : rzData) { - BigDecimal rz = vo.getRz().setScale(3, RoundingMode.UNNECESSARY); - if (map.containsKey(rz)) { - vo.setW(map.get(rz)); - } - } - } - - private List bindData(String stcd,List drpData, List rzData) { - HashSet strings = new HashSet<>(); - drpData.stream().forEach(v1 -> strings.add(v1.getTm())); - rzData.stream().forEach(v1 -> strings.add(v1.getTm())); - - ArrayList result = new ArrayList<>(); - strings.stream().forEach(v1 -> result.add(AttResMonitorVo.builder().stcd(stcd).tm(v1).build())); - - List list = result.stream().map(v1 -> { - drpData.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setDrp(v2.getDrp()); - }); - - rzData.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setRz(v2.getRz()); - v1.setW(v2.getW()); - }); - return v1; - }).collect(Collectors.toList()); - return list.stream().sorted(Comparator.comparing(AttResMonitorVo::getTm).reversed()).collect(Collectors.toList()); - } - - public StRsvrVo rz(ReservoirWaterCommonSo reservoirWaterCommonSo) { - StRsvrVo vo = new StRsvrVo(); - String resCode = reservoirWaterCommonSo.getResCode(); - AttResBase attResBase = attResBaseMapper.selectById(resCode); - vo.setFlLowLimLev(attResBase.getFlLowLimLev()); - //默认查询近一周水位 - String endTime = DateUtil.convertDateToMDSString(new Date()); - String startTime = DateUtil.getMinusTime(endTime, 7 * 24); - vo.setList(attResBaseMapper.queryRzList(attResBase.getStcd(),startTime,endTime)); - return vo; - } - - public AttRvMonitorDetailVo detail(String stcd) { - AttRvMonitorDetailVo vo = new AttRvMonitorDetailVo(); - StPptnDetailsVo stPptnDetailsVo = rainBasinDivisionService.queryStPptnDetailsByStcd(stcd); - BeanUtils.copyProperties(stPptnDetailsVo,vo,AttRvMonitorDetailVo.class); - - //最新水位 - AttResMonitorVo monitorVo = attResBaseMapper.latestRz(stcd); - if(monitorVo == null){ - return vo; - } - Date tm = monitorVo.getTm(); - BigDecimal rz = monitorVo.getRz(); - - //最新水位时间往前推24小时水位 - LocalDateTime now = LocalDateTime.ofInstant(tm.toInstant(), ZoneId.systemDefault()); - LocalDateTime dateTime = now.minusDays(1); - BigDecimal oldRz = attResBaseMapper.oldRz(stcd,2,Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant())); - - if(oldRz != null){ - vo.setRzDiff(rz.subtract(oldRz)); - } - - //本年最高水位 - BigDecimal maxYearRz = queryYearRzByStcdAndTime(stcd); - vo.setMaxRz(maxYearRz); - return vo; - } - - private BigDecimal queryYearRzByStcdAndTime(String stcd) { - LocalDateTime now = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()); - LocalDateTime startTime; - LocalDateTime endTime; - if (now.getHour() >= 8 || (now.getHour() < 8 && now.getMonthValue() > 1) || (now.getHour() < 8 && now.getMonthValue() == 1 && now.getDayOfMonth() >= 1)){ - startTime = LocalDateTime.of( - now.getYear(), - 1, - 1, - 8, - 0, - 0 - ); - endTime = now; - return attResBaseMapper.queryMaxRzByStcdAndTime(stcd,Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant())); - } - return new BigDecimal(0); - } - - public List channel(String resCode) { - return attResBaseMapper.channel(resCode); - } - - public Page imageInfo(PicQuerySo picQuerySo) { - return attResBaseMapper.imageInfo(picQuerySo.getPageSo().toPage(),picQuerySo); - } - - public List data(DataQueryCommonSo dataQueryCommonSo) { - String stcd = dataQueryCommonSo.getStcd(); - //水位数据 - List rzData = attResBaseMapper.rzData(dataQueryCommonSo); - //获取库容曲线关系,算出库容 - List zvarl = zvarl(stcd); - if(CollectionUtils.isNotEmpty(zvarl)){ - calcTqData(rzData,zvarl); - } - return rzData; - } - - public Page dataPage(PicQuerySo picQuerySo) { - String stcd = picQuerySo.getStcd(); - //水位数据 - Page rzData = attResBaseMapper.rzDataPage(picQuerySo.getPageSo().toPage(),picQuerySo); - //获取库容曲线关系,算出库容 - List zvarl = zvarl(stcd); - if(CollectionUtils.isNotEmpty(zvarl)){ - calcTqData(rzData.getRecords(),zvarl); - } - return rzData; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/RiskControlInfoService.java b/src/main/java/com/gunshi/project/xyt/service/RiskControlInfoService.java deleted file mode 100644 index f78fbe8..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/RiskControlInfoService.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.AttCctvBasePage; -import com.gunshi.project.xyt.mapper.RiskControlInfoMapper; -import com.gunshi.project.xyt.model.BzDictRel; -import com.gunshi.project.xyt.model.RiskControlInfo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 描述: 风险管控清单 - * author: xusan - * date: 2024-08-22 14:17:28 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class RiskControlInfoService extends ServiceImpl -{ - @Autowired - private FileAssociationsService fileService; - - @Autowired - private BzDictRelService bzDictRelService; - - public RiskControlInfo saveData(RiskControlInfo dto) { - dto.setId(IdWorker.getId()); - dto.setCreateDate(new Date()); - boolean result = this.save(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - bzDictRelService.saveRel(dto.getResult(),dto.getId(),getGroupId()); - } - return dto; - } - - public RiskControlInfo updateData(RiskControlInfo dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - bzDictRelService.updateRel(dto.getResult(),dto.getId(),getGroupId()); - } - return dto; - } - - public Boolean delData(Long id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - bzDictRelService.deleteRel(id); - } - return data; - } - - public String getGroupId() { - return "riskControlInfo"; - } - - public Page pageQuery(AttCctvBasePage page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getMenuId())) { - query.eq(RiskControlInfo::getMenuId, page.getMenuId()); - } - query.orderByDesc(RiskControlInfo::getCreateDate); - Page res = this.page(page.getPageSo().toPage(), query); - if (res.getRecords() != null && res.getRecords().size() > 0) { - fillAttach(res.getRecords()); - fillRel(res.getRecords()); - } - return res; - } - - private void fillRel(List records) { - List ids = records.stream().map(RiskControlInfo::getId).collect(Collectors.toList()); - List relList = this.baseMapper.queryRelList(ids); - Map> map = relList.stream().collect(Collectors.groupingBy(BzDictRel::getBusinessId)); - for (RiskControlInfo record : records) { - record.setResult(map.get(record.getId())); - } - } - - private void fillAttach(List ret) { - for (RiskControlInfo record : ret) { - record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); - } - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/RiskControlMenuService.java b/src/main/java/com/gunshi/project/xyt/service/RiskControlMenuService.java deleted file mode 100644 index de10287..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/RiskControlMenuService.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.RiskControlInfoMapper; -import com.gunshi.project.xyt.mapper.RiskControlMenuMapper; -import com.gunshi.project.xyt.model.RiskControlInfo; -import com.gunshi.project.xyt.model.RiskControlMenu; -import com.gunshi.util.common.tree.TreeUtil; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 风险管控目录 - * author: xusan - * date: 2024-08-22 14:16:35 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class RiskControlMenuService extends ServiceImpl -{ - - @Resource - private RiskControlInfoMapper riskControlInfoMapper; - - public RiskControlMenu saveData(RiskControlMenu dto) { - if (Objects.isNull(dto.getParentId())){ - dto.setParentId(0L); - } - dto.setId(IdWorker.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("parent_id", dto.getParentId()); - queryWrapper.orderBy(true, false, "order_index"); - RiskControlMenu lastOne = super.getOne(queryWrapper, false); - int order = 0; - if (lastOne == null) { - order = 1; - } else { - order = lastOne.getOrderIndex() + 1; - } - dto.setOrderIndex(order); - this.save(dto); - return dto; - } - - public RiskControlMenu updateData(RiskControlMenu dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - this.updateById(dto); - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - Long count = this.lambdaQuery() - .eq(RiskControlMenu::getParentId, id) - .count(); - if(count > 0){ - throw new IllegalArgumentException("请先删除下级目录"); - } - //判断是否关联风险清单 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(RiskControlInfo::getMenuId,id); - if(riskControlInfoMapper.selectCount(wrapper) > 0){ - throw new IllegalArgumentException("请先删除关联的风险管控清单"); - } - return this.removeById(id); - } - - public List tree() { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.orderBy(true, true, RiskControlMenu::getOrderIndex); - List list = this.list(queryWrapper); - return TreeUtil.list2ListTree(list, 0L, RiskControlMenu::getId, RiskControlMenu::getParentId, RiskControlMenu::setChildren, null); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/RiverWaterService.java b/src/main/java/com/gunshi/project/xyt/service/RiverWaterService.java deleted file mode 100644 index d3302a3..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/RiverWaterService.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.gunshi.project.xyt.entity.so.DataQueryCommonSo; -import com.gunshi.project.xyt.entity.vo.AttRvBaseVo; -import com.gunshi.project.xyt.entity.vo.AttRvMonitorDetailVo; -import com.gunshi.project.xyt.entity.vo.AttRvMonitorVo; -import com.gunshi.project.xyt.entity.vo.StPptnDetailsVo; -import com.gunshi.project.xyt.mapper.AttResBaseMapper; -import com.gunshi.project.xyt.mapper.StZqrlBMapper; -import com.gunshi.project.xyt.model.StZqrlB; -import com.gunshi.project.xyt.util.DataHandleUtil; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.*; -import java.util.stream.Collectors; - -/** - * Description: - * Created by wanyan on 2024/2/21 - * - * @author wanyan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class RiverWaterService { - - @Resource - private AttResBaseMapper attRvBaseMapper; - - @Resource - private StZqrlBMapper stZqrlBMapper; - - @Resource - private RainBasinDivisionService rainBasinDivisionService; - - public List list() { - List attRvBaseVos = attRvBaseMapper.queryWaterList(); - if(CollectionUtils.isEmpty(attRvBaseVos)){ - return attRvBaseVos; - } - return attRvBaseVos; - } - - public List zqrl(String stcd) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(StZqrlB::getStcd, stcd).orderByAsc(StZqrlB::getPtno); - return stZqrlBMapper.selectList(queryWrapper); - } - - - public List monitorData(DataQueryCommonSo dataQueryCommonSo) { - String stcd = dataQueryCommonSo.getStcd(); - //雨量数据 - List drpData = attRvBaseMapper.drp(dataQueryCommonSo); - //水位数据 - List rzData = attRvBaseMapper.rz(dataQueryCommonSo); - //获取水位流量关系,算出转换流量 - List zqrl = zqrl(stcd); - if(CollectionUtils.isNotEmpty(zqrl)){ - calcTqData(rzData,zqrl); - } - //根据监测时间合并雨量和水位数据 - return bindData(stcd,drpData,rzData); - } - - private List bindData(String stcd, List drpData, List rzData) { - HashSet strings = new HashSet<>(); - drpData.stream().forEach(v1 -> strings.add(v1.getTm())); - rzData.stream().forEach(v1 -> strings.add(v1.getTm())); - - ArrayList result = new ArrayList<>(); - strings.stream().forEach(v1 -> result.add(AttRvMonitorVo.builder().stcd(stcd).tm(v1).build())); - - List list = result.stream().map(v1 -> { - drpData.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setDrp(v2.getDrp()); - }); - - rzData.stream().filter(v2 -> v1.getTm().equals(v2.getTm())).forEach(v2 -> { - v1.setZ(v2.getZ()); - v1.setQ(v2.getQ()); - v1.setTq(v2.getTq()); - }); - - return v1; - }).collect(Collectors.toList()); - return list.stream().sorted(Comparator.comparing(AttRvMonitorVo::getTm).reversed()).collect(Collectors.toList()); - } - - private void calcTqData(List rzData, List zqrl) { - BigDecimal maxRz = zqrl.stream().max(Comparator.comparing(StZqrlB::getZ)).get().getZ(); - BigDecimal minRz = zqrl.stream().min(Comparator.comparing(StZqrlB::getZ)).get().getZ(); - Map map = zqrl.stream().collect(Collectors.toMap(StZqrlB::getZ, StZqrlB::getQ)); - List list = zqrl.stream().map(StZqrlB::getZ).collect(Collectors.toList()); - for(AttRvMonitorVo vo : rzData){ - BigDecimal rz = vo.getZ(); - if(rz.compareTo(minRz) < 0 || rz.compareTo(maxRz) > 0){ - continue; - } - vo.setTq(DataHandleUtil.calcData(rz,map,list)); - } - } - - - public AttRvMonitorDetailVo detail(String stcd) { - AttRvMonitorDetailVo vo = new AttRvMonitorDetailVo(); - StPptnDetailsVo stPptnDetailsVo = rainBasinDivisionService.queryStPptnDetailsByStcd(stcd); - BeanUtils.copyProperties(stPptnDetailsVo,vo,AttRvMonitorDetailVo.class); - - //最新水位 - AttRvMonitorVo monitorVo = attRvBaseMapper.newRz(stcd); - if(monitorVo == null){ - return vo; - } - Date tm = monitorVo.getTm(); - BigDecimal rz = monitorVo.getZ(); - - //最新水位时间往前推24小时水位 - LocalDateTime now = LocalDateTime.ofInstant(tm.toInstant(), ZoneId.systemDefault()); - LocalDateTime dateTime = now.minusDays(1); - BigDecimal oldRz = attRvBaseMapper.oldRz(stcd,1,Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant())); - - if(oldRz != null){ - vo.setRzDiff(rz.subtract(oldRz)); - } - //本年最高水位 - BigDecimal maxYearRz = queryYearRzByStcdAndTime(stcd); - vo.setMaxRz(maxYearRz); - return vo; - } - - private BigDecimal queryYearRzByStcdAndTime(String stcd) { - LocalDateTime now = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()); - LocalDateTime startTime; - LocalDateTime endTime; - if (now.getHour() >= 8 || (now.getHour() < 8 && now.getMonthValue() > 1) || (now.getHour() < 8 && now.getMonthValue() == 1 && now.getDayOfMonth() >= 1)){ - startTime = LocalDateTime.of( - now.getYear(), - 1, - 1, - 8, - 0, - 0 - ); - endTime = now; - return attRvBaseMapper.queryRiverMaxRz(stcd,Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()), Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant())); - } - return new BigDecimal(0); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/service/RotaLogService.java b/src/main/java/com/gunshi/project/xyt/service/RotaLogService.java deleted file mode 100644 index aeae2c4..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/RotaLogService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.RotaLogPageSo; -import com.gunshi.project.xyt.mapper.RotaLogMapper; -import com.gunshi.project.xyt.model.RotaLog; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * Description: - * Created by wanyan on 2024/3/25 - * - * @author wanyan - * @version 1.0 - */ -@Service -@Transactional(rollbackFor = Exception.class) -public class RotaLogService extends ServiceImpl { - - public Page queryPage(RotaLogPageSo rotaLogPageSo) { - return this.baseMapper.queryPage(rotaLogPageSo.getPageSo().toPage(),rotaLogPageSo); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/RotaService.java b/src/main/java/com/gunshi/project/xyt/service/RotaService.java deleted file mode 100644 index 4f28f1b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/RotaService.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.core.dateformat.DateFormatString; -import com.gunshi.project.xyt.entity.dto.RotaDto; -import com.gunshi.project.xyt.entity.dto.RotaUserDto; -import com.gunshi.project.xyt.entity.vo.RotaVo; -import com.gunshi.project.xyt.mapper.RotaBMapper; -import com.gunshi.project.xyt.model.RotaB; -import com.gunshi.project.xyt.util.DateUtil; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * Description: - * Created by wanyan on 2024/3/25 - * - * @author wanyan - * @version 1.0 - */ -@Service -@Transactional(rollbackFor = Exception.class) -public class RotaService extends ServiceImpl { - - - public Map> query(String yearMonth) { - List list = this.baseMapper.query(yearMonth); - return list.stream().collect(Collectors.groupingBy(rota -> new SimpleDateFormat(DateFormatString.YYYY_MM_DD).format(rota.getRotaDate()))); - } - - public String editInfo(RotaDto RotaDto) { - Date rotaDate = RotaDto.getRotaDate(); - //先删除该日期的所有信息 - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(RotaB::getRotaDate,rotaDate); - this.remove(queryWrapper); - if(RotaDto.getIsHoliday() != null && RotaDto.getIsHoliday() == 1){ - RotaB rotaB = new RotaB(); - BeanUtils.copyProperties(RotaDto,rotaB,RotaB.class); - rotaB.setId(IdWorker.getId()); - this.save(rotaB); - return "设为放假日成功"; - } - List userDtoList = RotaDto.getUserDtoList(); - List list = userDtoList.stream().map(o -> { - RotaB rotaB = new RotaB(); - rotaB.setId(IdWorker.getId()); - rotaB.setRotaDate(rotaDate); - rotaB.setIsHoliday(0); - rotaB.setRotaType(o.getRotaType()); - rotaB.setUserId(o.getUserId()); - return rotaB; - }).collect(Collectors.toList()); - this.saveBatch(list); - return "设置值班信息成功"; - } - - public List dateList(String rotaDate) { - return this.baseMapper.dateList(rotaDate); - } - - public Long checkPhone(String value){ - return this.baseMapper.queryUser(value); - } - - public void saveImportData(ArrayList successArrayList) { - List list = new ArrayList<>(); - for(RotaVo vo : successArrayList){ - Date stm = vo.getStm(); - Date etm = vo.getEtm(); - List dates = DateUtil.getDatesBetween(stm, etm); - dates.stream().forEach(str->{ - RotaB rotaB = new RotaB(); - rotaB.setId(IdWorker.getId()); - rotaB.setRotaDate(str); - rotaB.setIsHoliday(0); - rotaB.setRotaType(1); - rotaB.setUserId(vo.getLeaderUserId()); - list.add(rotaB); - - RotaB rota = new RotaB(); - rota.setId(IdWorker.getId()); - rota.setRotaDate(str); - rota.setIsHoliday(0); - rota.setRotaType(2); - rota.setUserId(vo.getDutyUserId()); - list.add(rota); - }); - } - this.saveOrUpdateBatch(list); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/SafetyAccidentRegService.java b/src/main/java/com/gunshi/project/xyt/service/SafetyAccidentRegService.java deleted file mode 100644 index 810a3b7..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SafetyAccidentRegService.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo2; -import com.gunshi.project.xyt.mapper.SafetyAccidentRegMapper; -import com.gunshi.project.xyt.model.SafetyAccidentReg; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 安全事故登记 - * author: xusan - * date: 2024-08-21 15:44:55 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SafetyAccidentRegService extends ServiceImpl -{ - @Autowired - private FileAssociationsService fileService; - - public Page pageQuery(CommonDataPageSo2 page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getName())) { - query.like(SafetyAccidentReg::getName, page.getName()); - } - if (page.getDateSo() != null && page.getDateSo().getStart() != null) { - query.ge(SafetyAccidentReg::getAccidentDate, page.getDateSo().getStart()); - } - if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { - query.le(SafetyAccidentReg::getAccidentDate, page.getDateSo().getEnd()); - } - query.orderByDesc(SafetyAccidentReg::getAccidentDate); - Page res = this.page(page.getPageSo().toPage(), query); - if (res.getRecords() != null) { - fillAttach(res.getRecords()); - } - return res; - } - - private void fillAttach(List ret) { - for (SafetyAccidentReg record : ret) { - record.setAccidentPic(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); - record.setAccidentHandle(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandleType())); - } - } - - public String getGroupId() { - return "safetyAccidentReg"; - } - - public SafetyAccidentReg saveData(SafetyAccidentReg dto) { - dto.setId(IdWorker.getId()); - boolean result = this.save(dto); - if (result) { - fileService.save(dto.getAccidentPic(), dto.getId().toString(), getGroupId(),getPicType()); - fileService.save(dto.getAccidentHandle(), dto.getId().toString(), getGroupId(),getHandleType()); - } - return dto; - } - - private String getHandleType() { - return "accidentHandle"; - } - - private String getPicType() { - return "accidentPic"; - } - - public SafetyAccidentReg updateData(SafetyAccidentReg dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.removeByBzIdAndType(dto.getId().toString(),getGroupId(),getPicType()); - fileService.save(dto.getAccidentPic(), dto.getId().toString(), getGroupId(),getPicType()); - fileService.removeByBzIdAndType(dto.getId().toString(),getGroupId(),getHandleType()); - fileService.save(dto.getAccidentHandle(), dto.getId().toString(), getGroupId(),getHandleType()); - } - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - } - return data; - } - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/SafetyCheckService.java b/src/main/java/com/gunshi/project/xyt/service/SafetyCheckService.java deleted file mode 100644 index 6d69d44..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SafetyCheckService.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo; -import com.gunshi.project.xyt.mapper.SafetyCheckMapper; -import com.gunshi.project.xyt.model.SafetyCheck; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 安全检查管理 - * author: wanyan - * date: 2024-08-21 10:40:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SafetyCheckService extends ServiceImpl { - - @Autowired - private FileAssociationsService fileService; - - public Page pageQuery(CommonDataPageSo page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getName())) { - query.like(SafetyCheck::getName, page.getName()); - } - if (page.getDateSo() != null && page.getDateSo().getStart() != null) { - query.ge(SafetyCheck::getCheckDate, page.getDateSo().getStart()); - } - if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { - query.le(SafetyCheck::getCheckDate, page.getDateSo().getEnd()); - } - query.orderByDesc(SafetyCheck::getCheckDate); - Page res = this.page(page.getPageSo().toPage(), query); - if (res.getRecords() != null) { - fillAttach(res.getRecords()); - } - return res; - } - - private void fillAttach(List ret) { - for (SafetyCheck record : ret) { - record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); - } - } - - public String getGroupId() { - return "safetyCheck"; - } - - public SafetyCheck saveData(SafetyCheck dto) { - dto.setId(IdWorker.getId()); - boolean result = this.save(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public SafetyCheck updateData(SafetyCheck dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - } - return data; - } - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/SafetyHazardInvestService.java b/src/main/java/com/gunshi/project/xyt/service/SafetyHazardInvestService.java deleted file mode 100644 index 2be065d..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SafetyHazardInvestService.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.CommonDataPageSo; -import com.gunshi.project.xyt.mapper.SafetyHazardInvestMapper; -import com.gunshi.project.xyt.model.SafetyHazardInvest; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 安全隐患排查 - * author: wanyan - * date: 2024-08-21 10:40:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SafetyHazardInvestService extends ServiceImpl { - - @Autowired - private FileAssociationsService fileService; - - public Page pageQuery(CommonDataPageSo page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getName())) { - query.like(SafetyHazardInvest::getHazardDesc, page.getName()); - } - if (page.getDateSo() != null && page.getDateSo().getStart() != null) { - query.ge(SafetyHazardInvest::getHazardDate, page.getDateSo().getStart()); - } - if (page.getDateSo() != null && page.getDateSo().getEnd() != null) { - query.le(SafetyHazardInvest::getHazardDate, page.getDateSo().getEnd()); - } - query.orderByDesc(SafetyHazardInvest::getHazardDate); - Page res = this.page(page.getPageSo().toPage(), query); - if (res.getRecords() != null) { - fillAttach(res.getRecords()); - } - return res; - } - - private void fillAttach(List ret) { - for (SafetyHazardInvest record : ret) { - record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); - } - } - - public String getGroupId() { - return "safetyHazardInvest"; - } - - public SafetyHazardInvest saveData(SafetyHazardInvest dto) { - dto.setId(IdWorker.getId()); - boolean result = this.save(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public SafetyHazardInvest updateData(SafetyHazardInvest dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - } - return data; - } - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/SafetyIdentifyService.java b/src/main/java/com/gunshi/project/xyt/service/SafetyIdentifyService.java deleted file mode 100644 index b7e4924..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SafetyIdentifyService.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.db.dto.PageSo; -import com.gunshi.project.xyt.mapper.SafetyIdentifyMapper; -import com.gunshi.project.xyt.model.SafetyIdentify; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 安全鉴定台账 - * author: xusan - * date: 2024-08-21 14:45:44 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SafetyIdentifyService extends ServiceImpl -{ - - @Autowired - private FileAssociationsService fileService; - - public Page pageQuery(PageSo page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - query.orderByDesc(SafetyIdentify::getIdentifyDate); - Page res = this.page(page.toPage(), query); - if (res.getRecords() != null) { - fillAttach(res.getRecords()); - } - return res; - } - - private void fillAttach(List ret) { - for (SafetyIdentify record : ret) { - record.setFiles(fileService.getFiles(getGroupId(), String.valueOf(record.getId()))); - } - } - - public String getGroupId() { - return "safetyIdentify"; - } - - public SafetyIdentify saveData(SafetyIdentify dto) { - dto.setId(IdWorker.getId()); - boolean result = this.save(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public SafetyIdentify updateData(SafetyIdentify dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - } - return data; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/SafetyReinforcementService.java b/src/main/java/com/gunshi/project/xyt/service/SafetyReinforcementService.java deleted file mode 100644 index b3d3220..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SafetyReinforcementService.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.db.dto.PageSo; -import com.gunshi.project.xyt.mapper.SafetyReinforcementMapper; -import com.gunshi.project.xyt.model.SafetyReinforcement; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** - * 描述: 除险加固台账 - * author: xusan - * date: 2024-08-22 11:27:44 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SafetyReinforcementService extends ServiceImpl -{ - - @Autowired - private FileAssociationsService fileService; - - public Page pageQuery(PageSo page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - query.orderByDesc(SafetyReinforcement::getStartDate); - Page res = this.page(page.toPage(), query); - if (res.getRecords() != null) { - fillAttach(res.getRecords()); - } - return res; - } - - private void fillAttach(List ret) { - for (SafetyReinforcement record : ret) { - record.setFiles(fileService.getFiles(getGroupId(), record.getId().toString())); - } - } - - public String getGroupId() { - return "safetyReinforcement"; - } - - public SafetyReinforcement saveData(SafetyReinforcement dto) { - dto.setId(IdWorker.getId()); - boolean result = this.save(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); - } - return dto; - } - - public SafetyReinforcement updateData(SafetyReinforcement dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString()); - } - return dto; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - } - return data; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/ShpPlacementService.java b/src/main/java/com/gunshi/project/xyt/service/ShpPlacementService.java deleted file mode 100644 index 16dcd89..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/ShpPlacementService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.HomeShpPlacementVo; -import com.gunshi.project.xyt.mapper.ShpPlacementMapper; -import com.gunshi.project.xyt.model.ShpPlacement; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 安置点 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class ShpPlacementService extends ServiceImpl -{ - - public List getDetailsAndMonitoringDataLis() { - return baseMapper.getDetailsAndMonitoringDataList(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/SoilMoistureDataService.java b/src/main/java/com/gunshi/project/xyt/service/SoilMoistureDataService.java deleted file mode 100644 index ffda28d..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SoilMoistureDataService.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.SoilMoisturePageSo; -import com.gunshi.project.xyt.entity.vo.SoilMoistureVO; -import com.gunshi.project.xyt.mapper.SoilMoistureDataMapper; -import com.gunshi.project.xyt.model.SoilMoistureData; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.DayOfWeek; -import java.time.LocalDate; -import java.time.temporal.TemporalAdjusters; -import java.util.Objects; - -/** - * - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SoilMoistureDataService extends ServiceImpl { - - public Page pageQuery(SoilMoisturePageSo page) { - page.getPageSo().setPageSize(10000); - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if(StringUtils.isNotBlank(page.getStcd())){ - query.eq(SoilMoistureData::getStcd,page.getStcd()); - } - if(Objects.nonNull(page.getDateRangeSo())){ - if(Objects.nonNull(page.getDateRangeSo().getStart())){ - query.ge(SoilMoistureData::getCreateTime, page.getDateRangeSo().getStart()); - } - if(Objects.nonNull(page.getDateRangeSo().getEnd())){ - query.le(SoilMoistureData::getCreateTime, page.getDateRangeSo().getEnd()); - } - } - query.orderByDesc(SoilMoistureData::getCreateTime); - Page res = this.page(page.getPageSo().toPage(), query); - return res; - } - - public SoilMoistureVO count(String stcd) { - SoilMoistureVO vo = new SoilMoistureVO(); - vo.setStcd(stcd); - LocalDate today = LocalDate.now(); - - LambdaQueryWrapper qw = new LambdaQueryWrapper(); - qw.eq(SoilMoistureData::getStcd,stcd).orderByDesc(SoilMoistureData::getCreateTime).last(" limit 1"); - SoilMoistureData max = baseMapper.selectOne(qw); - SoilMoistureData min = new SoilMoistureData(); - vo.setCreateTime(max.getCreateTime()); - vo.setCurrVal(Objects.nonNull(max)? max.getVal(): null); - - max = findMaxByRang(today, today.minusWeeks(1), stcd); - min = findMinByRang(today, today.minusWeeks(1), stcd); - vo.setNearWeekValMax(Objects.nonNull(max)? max.getVal(): null); - vo.setNearWeekValMin(Objects.nonNull(min)? min.getVal(): null); - - max = findMaxByRang(today, today.minusMonths(1), stcd); - min = findMinByRang(today, today.minusMonths(1), stcd); - vo.setNearMonthValMax(Objects.nonNull(max)? max.getVal(): null); - vo.setNearMonthValMin(Objects.nonNull(min)? min.getVal(): null); - - max = findMaxByRang(today, today.minusMonths(3), stcd); - min = findMinByRang(today, today.minusMonths(3), stcd); - vo.setNearThreeMonthValMax(Objects.nonNull(max)? max.getVal(): null); - vo.setNearThreeMonthValMin(Objects.nonNull(min)? min.getVal(): null); - - max = findMaxByRang(today, today.minusMonths(6), stcd); - min = findMinByRang(today, today.minusMonths(6), stcd); - vo.setNearSixMonthValMax(Objects.nonNull(max)? max.getVal(): null); - vo.setNearSixMonthValMin(Objects.nonNull(min)? min.getVal(): null); - - max = findMaxByRang(today, today.minusYears(1), stcd); - min = findMinByRang(today, today.minusYears(1), stcd); - vo.setNearYearValMax(Objects.nonNull(max)? max.getVal(): null); - vo.setNearYearValMin(Objects.nonNull(min)? min.getVal(): null); - - max = findMaxByRang(today, today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)), stcd); - min = findMinByRang(today, today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)), stcd); - vo.setCurrWeekValMax(Objects.nonNull(max)? max.getVal(): null); - vo.setCurrWeekValMin(Objects.nonNull(min)? min.getVal(): null); - - max = findMaxByRang(today, today.withDayOfMonth(1), stcd); - min = findMinByRang(today, today.withDayOfMonth(1), stcd); - vo.setCurrMonthValMax(Objects.nonNull(max)? max.getVal(): null); - vo.setCurrMonthValMin(Objects.nonNull(min)? min.getVal(): null); - - max = findMaxByRang(today, today.withDayOfYear(1), stcd); - min = findMinByRang(today, today.withDayOfYear(1), stcd); - vo.setCurrYearValMax(Objects.nonNull(max)? max.getVal(): null); - vo.setCurrYearValMin(Objects.nonNull(min)? min.getVal(): null); - return vo; - } - - public SoilMoistureData findMaxByRang(LocalDate now, LocalDate startDate, String stcd){ - LambdaQueryWrapper qw = new LambdaQueryWrapper(); - qw.eq(SoilMoistureData::getStcd,stcd); - qw.le(SoilMoistureData::getCreateTime,now); - qw.ge(SoilMoistureData::getCreateTime,startDate).orderByDesc(SoilMoistureData::getVal).last(" limit 1"); - return baseMapper.selectOne(qw); - } - - public SoilMoistureData findMinByRang(LocalDate now, LocalDate startDate, String stcd){ - LambdaQueryWrapper qw = new LambdaQueryWrapper(); - qw.eq(SoilMoistureData::getStcd,stcd); - qw.le(SoilMoistureData::getCreateTime,now); - qw.ge(SoilMoistureData::getCreateTime,startDate).orderByAsc(SoilMoistureData::getVal).last(" limit 1"); - return baseMapper.selectOne(qw); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/SoilMoistureStationService.java b/src/main/java/com/gunshi/project/xyt/service/SoilMoistureStationService.java deleted file mode 100644 index 78862df..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SoilMoistureStationService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.AppVersionRecordMapper; -import com.gunshi.project.xyt.mapper.SoilMoistureStationMapper; -import com.gunshi.project.xyt.model.AppVersionRecord; -import com.gunshi.project.xyt.model.SoilMoistureStation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - -import java.util.Date; -import java.util.List; - -/** - * 描述: APP版本记录 - * author: xusan - * date: 2024-11-12 10:14:50 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SoilMoistureStationService extends ServiceImpl { - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StAddvcdDService.java b/src/main/java/com/gunshi/project/xyt/service/StAddvcdDService.java deleted file mode 100644 index 6057966..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StAddvcdDService.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.StAddvcdTreeVo; -import com.gunshi.project.xyt.mapper.StAddvcdDMapper; -import com.gunshi.project.xyt.model.StAddvcdD; -import com.gunshi.project.xyt.util.MyBeanUtil; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; - -/** - * 描述: 行政区划表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StAddvcdDService extends ServiceImpl -{ - - public List tree(String level) { - List treeList = new ArrayList<>(); - //根据adcd模糊查询得到所有的行政区划 - List list = this.baseMapper.selectList(new LambdaQueryWrapper<>()); - List totalList = MyBeanUtil.collectionCopy(list, StAddvcdTreeVo.class); - //根据adcd查询行政区划信息 - StAddvcdD stAddvcdD = this.baseMapper.selectByAdcd("421181000000000"); - StAddvcdTreeVo stAddvcdTreeVo = new StAddvcdTreeVo(); - BeanUtils.copyProperties(stAddvcdD, stAddvcdTreeVo); - if ("1".equals(level)) { - treeList.add(stAddvcdTreeVo); - //当下拉深度为2时 - } else if ("2".equals(level)) { - List towns = new ArrayList<>(); - //遍历所有的行政区划 - for (StAddvcdTreeVo total : totalList) { - //后6位都是0并且6到9位不是0时为乡镇 - if ("000000".equals(total.getAdcd().substring(9)) && !"000".equals(total.getAdcd().substring(6, 9))) { - towns.add(total); - } - } - stAddvcdTreeVo.setChildren(towns); - treeList.add(stAddvcdTreeVo); - //当下拉深度为3时 - }else if("3".equals(level)){ - List towns = new ArrayList<>(); - //遍历所有的行政区划 - for (StAddvcdTreeVo total : totalList) { - //后6位都是0并且6到9位不是0时为乡镇 - if ("000000".equals(total.getAdcd().substring(9)) && !"000".equals(total.getAdcd().substring(6, 9))) { - towns.add(total); - } - } - //遍历镇 - for (StAddvcdTreeVo town : towns) { - List administrativeVillageList = new ArrayList<>(); - //遍历所有的行政区划 - for (StAddvcdTreeVo total : totalList) { - //当行政区划前9位相同并且后3位都为0并且9到12不为0时为同一乡镇下的行政村 - if (town.getAdcd().substring(0, 9).equals(total.getAdcd().substring(0, 9)) && "000".equals(total.getAdcd().substring(12)) && !"000".equals(total.getAdcd().substring(9, 12))) { - administrativeVillageList.add(total); - } - } - town.setChildren(administrativeVillageList); - } - stAddvcdTreeVo.setChildren(towns); - treeList.add(stAddvcdTreeVo); - }else{ - List towns = new ArrayList<>(); - //遍历所有的行政区划 - for (StAddvcdTreeVo total : totalList) { - //后6位都是0并且6到9位不是0时为乡镇 - if ("000000".equals(total.getAdcd().substring(9)) && !"000".equals(total.getAdcd().substring(6, 9))) { - towns.add(total); - } - } - //遍历镇 - for (StAddvcdTreeVo town : towns) { - List administrativeVillageList = new ArrayList<>(); - //遍历所有的行政区划 - for (StAddvcdTreeVo total : totalList) { - //当行政区划前9位相同并且后3位都为0并且9到12不为0时为同一乡镇下的行政村 - if (town.getAdcd().substring(0, 9).equals(total.getAdcd().substring(0, 9)) && "000".equals(total.getAdcd().substring(12)) && !"000".equals(total.getAdcd().substring(9, 12))) { - administrativeVillageList.add(total); - } - } - //遍历行政村 - for (StAddvcdTreeVo administrativeVillage : administrativeVillageList) { - List naturalVillages = new ArrayList<>(); - //遍历所有的行政区划 - for (StAddvcdTreeVo total : totalList) { - //行政区划前12为相同并且后3位不为0时为同一行政村下的自然组 - if (total.getAdcd().substring(0, 12).equals(administrativeVillage.getAdcd().substring(0, 12)) && !"000".equals(total.getAdcd().substring(12))) { - naturalVillages.add(total); - } - } - administrativeVillage.setChildren(naturalVillages); - } - town.setChildren(administrativeVillageList); - } - stAddvcdTreeVo.setChildren(towns); - treeList.add(stAddvcdTreeVo); - } - return treeList; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StImgRRealService.java b/src/main/java/com/gunshi/project/xyt/service/StImgRRealService.java deleted file mode 100644 index 592daa5..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StImgRRealService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StImgRRealMapper; -import com.gunshi.project.xyt.model.StImgRReal; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 图像表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StImgRRealService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StImgRService.java b/src/main/java/com/gunshi/project/xyt/service/StImgRService.java deleted file mode 100644 index 072d210..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StImgRService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.service; - -import java.util.List; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StImgRMapper; -import com.gunshi.project.xyt.model.StImgR; - -import lombok.extern.slf4j.Slf4j; - -/** - * 描述: 图像历史表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StImgRService extends ServiceImpl -{ - - public List getStcdLastImgData() { - return baseMapper.getStcdLastImgData(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StImgWarnRService.java b/src/main/java/com/gunshi/project/xyt/service/StImgWarnRService.java deleted file mode 100644 index 3d03116..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StImgWarnRService.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.ImgWarnPageSo; -import com.gunshi.project.xyt.mapper.StImgWarnRMapper; -import com.gunshi.project.xyt.model.StImgWarnR; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: AI告警表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StImgWarnRService extends ServiceImpl -{ - - public Page pageQuery(ImgWarnPageSo imgWarnPageSo) { - return this.baseMapper.pageQuery(imgWarnPageSo.getPageSo().toPage(),imgWarnPageSo); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StPptnRDService.java b/src/main/java/com/gunshi/project/xyt/service/StPptnRDService.java deleted file mode 100644 index f2a4f10..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StPptnRDService.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StPptnRDMapper; -import com.gunshi.project.xyt.model.StPptnRD; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StPptnRDService extends ServiceImpl -{ - - private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - - @Autowired - private StPptnRService stPptnRService; - - public List getStcdLastPptnDayData() { - return baseMapper.getStcdLastPptnDayData(); - } - - - public void reorganizeStPptnRD(List stcdList, String startDateStr) { - List dList = new ArrayList<>(); - try { - for (String stcd : stcdList) { - List> pptnRDataList = stPptnRService.getPptnRDataList(stcd, startDateStr); - Map pptnrMap = pptnRDataList.stream().collect(Collectors.toMap(map -> (String) map.get("tm"), map -> map.get("drp"))); - for (int i = pptnRDataList.size() - 1; i >= 0; i--) { - Map stringObjectMap = pptnRDataList.get(i); - String tm = stringObjectMap.get("tm").toString(); - Date nowTm = sdf.parse(tm); - String drp = stringObjectMap.get("drp").toString(); - StPptnRD stPptnRD = new StPptnRD(); - stPptnRD.setStcd(stcd); - stPptnRD.setTm(nowTm); - stPptnRD.setDrp(new BigDecimal(drp)); - stPptnRD.setYear(Integer.parseInt(tm.substring(0, 4))); - Calendar calendar = Calendar.getInstance(); - // 当前时间往前推一天,查看是否是降雨 - calendar.setTime(nowTm); - calendar.add(Calendar.DAY_OF_MONTH, -1); - // 如果昨天存在数据 - String lastTm = sdf.format(calendar.getTime()); - if (pptnrMap.containsKey(lastTm)) { - String lastDrp = pptnrMap.get(lastTm).toString(); - String lastDayIsdrp = BigDecimal.ZERO.compareTo(new BigDecimal(lastDrp)) == 0 ? "0" : "1"; - stPptnRD.setLastDayIsdrp(lastDayIsdrp); - // 已经往前推过一天了,从1开始 - int j = 1; - Boolean isContinue = true; - // 一直往前推 - while (isContinue){ - calendar.add(Calendar.DAY_OF_MONTH, -1); - String lastContinueTm = sdf.format(calendar.getTime()); - if(!pptnrMap.containsKey(lastContinueTm)){ - isContinue = false; - } else { - String beforeDrp = pptnrMap.get(lastContinueTm).toString(); - if (("0".equals(lastDayIsdrp) && BigDecimal.ZERO.compareTo(new BigDecimal(beforeDrp)) == 0) || ("1".equals(lastDayIsdrp) && BigDecimal.ZERO.compareTo(new BigDecimal(beforeDrp)) != 0)) { - j++; - } else { - isContinue = false; - } - } - } - stPptnRD.setIsdrpCount(j); - } else { - stPptnRD.setLastDayIsdrp("2"); - stPptnRD.setIsdrpCount(0); - } - dList.add(stPptnRD); - } - } - } catch (ParseException e) { - throw new RuntimeException(e); - } - saveBatch(dList); - } - - public StPptnRD getMaxData(String stcd) { - return baseMapper.getMaxData(stcd); - } - - public List reorganizePptnRDData(String stcd, StPptnRD maxData) { - return baseMapper.reorganizePptnRDData(stcd, maxData); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StPptnRHService.java b/src/main/java/com/gunshi/project/xyt/service/StPptnRHService.java deleted file mode 100644 index 311b9e3..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StPptnRHService.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StPptnRHMapper; -import com.gunshi.project.xyt.model.StPptnRH; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 降雨量小时表 - * author: cxw - * date: 2024-09-02 09:34:31 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StPptnRHService extends ServiceImpl -{ - - public List reorganizePptnRHData(String stcd, StPptnRH maxData) { - return baseMapper.reorganizePptnRHData(stcd, maxData); - } - - public StPptnRH getMaxData(String stcd) { - return baseMapper.getMaxData(stcd); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StPptnRRealService.java b/src/main/java/com/gunshi/project/xyt/service/StPptnRRealService.java deleted file mode 100644 index 631dcea..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StPptnRRealService.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StPptnRRealMapper; -import com.gunshi.project.xyt.model.StPptnRReal; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 描述: 降水量历史表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StPptnRRealService extends ServiceImpl -{ - - public int updatePptnRReal(String stcd) { - return baseMapper.updatePptnRReal(stcd); - } - - public List queryList() { - return this.baseMapper.queryList(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StPptnRService.java b/src/main/java/com/gunshi/project/xyt/service/StPptnRService.java deleted file mode 100644 index 5d62802..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StPptnRService.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gunshi.project.xyt.service; - -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StPptnRMapper; -import com.gunshi.project.xyt.model.StPptnR; - -import lombok.extern.slf4j.Slf4j; - -/** - * 描述: 降水量表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StPptnRService extends ServiceImpl -{ - - public List getStcdLastPptnData() { - return baseMapper.getStcdLastPptnData(); - } - - public List> getPptnRDataList(String stcd, String tm) { - return baseMapper.getPptnRDataList(stcd, tm); - } - - public List> getPptnRDataListByTask(String resCode, String stcd, String tm) { - return baseMapper.getPptnRDataListByTask(resCode, stcd, tm); - } - - public List getStcdFirstPptnData() { - return baseMapper.getStcdFirstPptnData(); - } - - public List getNewestDataOfEachStcd() { - return baseMapper.getNewestDataOfEachStcd(); - } - - /** - * 根据stcd查询24小时总降水量 - */ - public BigDecimal getdrp24SumByStcd(String stcd) { - return baseMapper.getdrp24SumByStcd(stcd); - } - - /** - * 根据stcd查询24小时内最大降水量 - */ - public StPptnR getdrp24MaxByStcd(String stcd) { - return baseMapper.getdrp24MaxByStcd(stcd); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StQxWarnRService.java b/src/main/java/com/gunshi/project/xyt/service/StQxWarnRService.java deleted file mode 100644 index 77249f2..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StQxWarnRService.java +++ /dev/null @@ -1,167 +0,0 @@ -package com.gunshi.project.xyt.service; - -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.mapper.AttResBaseMapper; -import com.gunshi.project.xyt.mapper.StQxWarnRMapper; -import com.gunshi.project.xyt.model.StImgWarnR; -import com.gunshi.project.xyt.model.StQxWarnR; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.compress.utils.Lists; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.client.HttpClient; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.http.util.EntityUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 描述: 气象预警表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StQxWarnRService extends ServiceImpl { - - @Value("${shqxjsWarnPath}") - private String shqxjsWarnPath; - - @Resource - private StImgWarnRService imgWarnRService; - - @Resource - private AttResBaseMapper attResBaseMapper; - - public HomeWarnVo homeWarn(DateTimeRangeSo dateTimeRangeSo) { - HomeWarnVo vo = new HomeWarnVo(); - - List attResBaseVos = attResBaseMapper.queryList(); - AttResBaseVo attResBaseVo = attResBaseVos.get(0); - Date tm = attResBaseVo.getTm(); - //水位的最新采集时间不在24小时内 - if (tm.before(dateTimeRangeSo.getStart())) { - vo.setRzWarn("-"); - } else { - BigDecimal rz = attResBaseVo.getRz(); - if (attResBaseVo.getCalState() == 1) { - BigDecimal aboveCal = rz.subtract(attResBaseVo.getCalFloodLev()); - vo.setRzWarn("超校核(" + aboveCal.setScale(1, RoundingMode.HALF_UP) + "m)"); - attResBaseVo.setDesState(0); - attResBaseVo.setFlState(0); - } else if (attResBaseVo.getDesState() == 1) { - BigDecimal aboveDes = rz.subtract(attResBaseVo.getDesFloodLev()); - vo.setRzWarn("超设计(" + aboveDes.setScale(1, RoundingMode.HALF_UP) + "m)"); - attResBaseVo.setFlState(0); - } else if (attResBaseVo.getFlState() == 1) { - vo.setRzWarn("超汛限(" + attResBaseVo.getAFsltdz().setScale(1, RoundingMode.HALF_UP) + "m)"); - } else if (rz.compareTo(attResBaseVo.getDeadLev()) < 0) { - BigDecimal aboveDead = rz.subtract(attResBaseVo.getDeadLev()); - vo.setRzWarn("低水位(" + aboveDead.setScale(1, RoundingMode.HALF_UP) + "m)"); - } else { - vo.setRzWarn("正常(" + attResBaseVo.getAFsltdz().setScale(1, RoundingMode.HALF_UP) + "m)"); - } - } - - vo.setQxWarn(queryQxWarn()); - - List warnVos = baseMapper.queryOsmoticWarn(dateTimeRangeSo); - vo.setPressWarn(warnVos.stream().filter(o -> o.getType() == 1).collect(Collectors.toList())); - vo.setFlowWarn(warnVos.stream().filter(o -> o.getType() == 2).collect(Collectors.toList())); - vo.setShiftWarn(warnVos.stream().filter(o -> o.getType() == 3).collect(Collectors.toList())); - - Long aiWarnCount = imgWarnRService.lambdaQuery() - .ge(StImgWarnR::getTm, dateTimeRangeSo.getStart()).lt(StImgWarnR::getTm, dateTimeRangeSo.getEnd()).count(); - vo.setAiWarnCount(aiWarnCount); - return vo; - } - - private List queryQxWarn() { - List list = new ArrayList<>(); - ApiVo apiVo = new ApiVo(); - apiVo.setFilter(Lists.newArrayList()); - ObjectMapper om = new ObjectMapper(); - HttpClient httpClient = HttpClientBuilder.create().build(); - HttpPost httpPost = new HttpPost(shqxjsWarnPath); - log.info("请求气象预警接口:{}", shqxjsWarnPath); - StringEntity stringEntity; - long start = System.currentTimeMillis(); - try { - String params = om.writeValueAsString(apiVo); - log.info("请求气象预警接口参数:{}", params); - stringEntity = new StringEntity(params, ContentType.APPLICATION_JSON); - httpPost.setEntity(stringEntity); - HttpResponse response = httpClient.execute(httpPost); - HttpEntity entity = response.getEntity(); - JSONObject dataObject = JSONUtil.parseObj(EntityUtils.toString(entity)); - JSONArray data = dataObject.getJSONArray("data"); - if (data == null) return list; - List dataList = data.toList(WarningData.class); - list = getList(dataList); - } catch (Exception e) { - e.printStackTrace(); - } - long end = System.currentTimeMillis(); - log.info("查询气象预警耗时:{} 秒", (end - start) / 1000); - return list; - } - - private List getList(List data) { - List respList = Lists.newArrayList(); - for (WarningData datum : data) {//最外层的列表 - String ctnm = datum.getEffectArea();//市级范围 - for (WarningData.TypeList typeList : datum.getTypeList()) {//里面的 - // 预警类型 - String type = typeList.getType(); - List warnList = typeList.getWarnList(); - - for (WarningData.Warning warning : warnList) { - String cnnm = warning.getEffectArea(); - if("红安".equals(cnnm)){ - QXWarningVo vo = new QXWarningVo(); - String publishUnit = warning.getPublishUnit(); - vo.setCtnm(ctnm);//市级名称 - vo.setCnnm(cnnm);//县级名称 - vo.setPublishUnit(publishUnit);//发布单位 - vo.setPublishTime(warning.getPublishTime());//预警发布时间 - vo.setWarnSignalType(warning.getWarnSignalType());//预警类型 - vo.setWarnSignalLevel(warning.getWarnSignalLevel());//预警级别 - vo.setContent(warning.getContent());//预警内容 - vo.setWarnid(warning.getId()); - vo.setCreateTime(warning.getCreateTime()); - vo.setStartTime(warning.getStartTime()); - vo.setEndTime(warning.getEndTime()); - respList.add(vo); - } - - } - } - } - respList = respList.stream().filter(o -> "暴雨".equals(o.getWarnSignalType()) || "雷雨大风".equals(o.getWarnSignalType())).collect(Collectors.toList()); - respList = respList.stream().filter(o -> "红色".equals(o.getWarnSignalLevel()) || "橙色".equals(o.getWarnSignalLevel())).collect(Collectors.toList()); - return respList.stream().sorted(Comparator.comparing(QXWarningVo::getPublishTime).reversed()) - .collect(Collectors.toList()); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StRiverRRealService.java b/src/main/java/com/gunshi/project/xyt/service/StRiverRRealService.java deleted file mode 100644 index eb06d6b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StRiverRRealService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StRiverRRealMapper; -import com.gunshi.project.xyt.model.StRiverRReal; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: - * author: cxw - * date: 2024-09-24 14:01:07 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StRiverRRealService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StRiverRService.java b/src/main/java/com/gunshi/project/xyt/service/StRiverRService.java deleted file mode 100644 index fb5b854..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StRiverRService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StRiverRMapper; -import com.gunshi.project.xyt.model.StRiverR; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 描述: - * author: cxw - * date: 2024-09-24 14:01:07 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StRiverRService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StRsvrRRealService.java b/src/main/java/com/gunshi/project/xyt/service/StRsvrRRealService.java deleted file mode 100644 index ddfef7b..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StRsvrRRealService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StRsvrRRealMapper; -import com.gunshi.project.xyt.model.StRsvrRReal; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 水库水位实时数据表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StRsvrRRealService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StRsvrRService.java b/src/main/java/com/gunshi/project/xyt/service/StRsvrRService.java deleted file mode 100644 index c9754dc..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StRsvrRService.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.gunshi.project.xyt.service; - -import java.math.BigDecimal; -import java.util.List; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StRsvrRMapper; -import com.gunshi.project.xyt.model.StRsvrR; - -import lombok.extern.slf4j.Slf4j; - -/** - * 描述: 水库历史水位表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StRsvrRService extends ServiceImpl -{ - - public List getStcdLastRsvrData() { - return baseMapper.getStcdLastRsvrData(); - } - - public List getStcdFirstRsvrData() { - return baseMapper.getStcdFirstRsvrData(); - } - - /** - * 根据stcd获取8点的rz - */ - public BigDecimal getRz8ByStcd(String stcd) { - return baseMapper.getRz8ByStcd(stcd); - } - - /** - * 根据stcd获取昨日8点的rz - */ - public BigDecimal getRzYesterday8ByStcd(String stcd) { - return baseMapper.getRzYesterday8ByStcd(stcd); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StStbprpBElemService.java b/src/main/java/com/gunshi/project/xyt/service/StStbprpBElemService.java deleted file mode 100644 index 1c2808a..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StStbprpBElemService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StStbprpBElemMapper; -import com.gunshi.project.xyt.model.StStbprpBElem; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * 描述: 测站监测值类型 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StStbprpBElemService extends ServiceImpl -{ - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StStbprpBService.java b/src/main/java/com/gunshi/project/xyt/service/StStbprpBService.java deleted file mode 100644 index 9620138..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StStbprpBService.java +++ /dev/null @@ -1,357 +0,0 @@ -package com.gunshi.project.xyt.service; - -import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.dto.StZqrlBDto; -import com.gunshi.project.xyt.entity.so.HomeStStbprpBSo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.mapper.OsmoticPressRMapper; -import com.gunshi.project.xyt.mapper.OsmoticShiftRMapper; -import com.gunshi.project.xyt.mapper.StStbprpBMapper; -import com.gunshi.project.xyt.model.StRsvrR; -import com.gunshi.project.xyt.model.StStbprpB; -import com.gunshi.project.xyt.model.StZqrlB; -import com.gunshi.project.xyt.model.StZvarlB; -import com.gunshi.project.xyt.util.DateUtil; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.Duration; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 描述: sttp 以水利标准来 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StStbprpBService extends ServiceImpl { - @Resource - private OsmoticPressRMapper pressRMapper; - - @Resource - private OsmoticShiftRMapper shiftRMapper; - - @Autowired - private StZqrlBService stZqrlBService; - - @Autowired - private StZvarlBService stZvarlBService; - - @Autowired - private StRsvrRService rsvrRService; - - public List rainfallStationDetailsList(HomeStStbprpBSo dto) { - return baseMapper.rainfallStationDetailsList(dto); - } - - public List reservoirStationDetailsList() { - return baseMapper.reservoirStationDetailsList(); - } - - public List flowStationDetailsList() { - return baseMapper.flowStationDetailsList(); - } - - public StStatusListVo statusList() { - StStatusListVo res = new StStatusListVo(); - //水雨情站超过2小时为离线;渗压,渗流,位移暂定超过24小时为离线 - List list = new ArrayList<>(); - List onLineList = new ArrayList<>(); - List offLineList = new ArrayList<>(); - //雨量站 - List rainList = baseMapper.realRainList(); - //水位站 - List rzList = baseMapper.rzList(); - //图像站 - List imgList = baseMapper.imgList(); - rainList.addAll(rzList); - rainList.addAll(imgList); - rainList.stream().collect(Collectors.toMap(obj -> obj.getStcd(), obj -> obj, (obj1, obj2) -> - DateUtil.convertStringToDate(obj1.getTm()).after(DateUtil.convertStringToDate(obj2.getTm())) ? obj1 : obj2 - )).values().stream().collect(Collectors.toList()); - for (StStatusVo statusVo : rainList) { - String tm = statusVo.getTm(); - if (StringUtils.isEmpty(tm) || DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(tm), new Date()) > 2) { - offLineList.add(statusVo); - } else { - onLineList.add(statusVo); - } - } - //渗压 - List pressList = pressRMapper.listValue(); - list.addAll(pressList.stream().map(o -> { - StStatusVo vo = new StStatusVo(); - vo.setStnm(o.getStationCode()); - vo.setTm(o.getTm()); - return vo; - }).collect(Collectors.toList())); - //渗流 - List flowList = pressRMapper.flowListValue(); - list.addAll(flowList.stream().map(o -> { - StStatusVo vo = new StStatusVo(); - vo.setStnm(o.getStationCode()); - vo.setTm(o.getTm()); - return vo; - }).collect(Collectors.toList())); - //位移 - List shiftList = shiftRMapper.listValue(); - list.addAll(shiftList.stream().map(o -> { - StStatusVo vo = new StStatusVo(); - vo.setStnm(o.getStationCode()); - vo.setTm(o.getTm()); - return vo; - }).collect(Collectors.toList())); - - for (StStatusVo vo : list) { - String tm = vo.getTm(); - if (StringUtils.isEmpty(tm) || DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(tm), new Date()) > 24) { - offLineList.add(vo); - } else { - onLineList.add(vo); - } - } - res.setOnline(onLineList.stream().sorted(Comparator.comparing(StStatusVo::getTm, Comparator.nullsFirst(String::compareTo)).reversed()).collect(Collectors.toList())); - res.setOffLine(offLineList.stream().sorted(Comparator.comparing(StStatusVo::getTm, Comparator.nullsFirst(String::compareTo)).reversed()).collect(Collectors.toList())); - return res; - } - - public List rainList() { - return this.baseMapper.rainList(); - } - - public List flowList(StZqrlBDto obj) { - /* - * 查出时段内的水位列表,按时间升序排,根据水位查水位流量曲线表得到流量 - * 第一条数据的累计溢洪量设为0,第二条累计溢洪量=上一条累计溢洪量+本条溢洪流量*60分*60秒,以此类推 - */ - - List rsvrList = rsvrRService.lambdaQuery() - .eq(StRsvrR::getStcd, obj.getStcd()) - .between(StRsvrR::getTm, obj.getDateSo().getStart(), obj.getDateSo().getEnd()) - .orderBy(true, true, StRsvrR::getTm) - .list(); - List zqrlList = stZqrlBService.list(); - zqrlList.sort(Comparator.comparing(StZqrlB::getZ)); - List zvarlList = stZvarlBService.list(); - zvarlList.sort(Comparator.comparing(StZvarlB::getRz)); - List ret = new ArrayList<>(); - - for (int i = 0; i < rsvrList.size(); i++) { - StRsvrR rsvr = rsvrList.get(i); - BigDecimal rz = new BigDecimal(rsvr.getRz()); - StZqrlBVo vo = new StZqrlBVo(); - vo.setStcd(rsvr.getStcd()); - vo.setTm(rsvr.getTm()); - vo.setWaterLevel(rz); - - zqrlList.stream() - .filter(zqrl -> zqrl.getZ().equals(new BigDecimal(rsvr.getRz()))) - .findFirst() - .ifPresentOrElse(zqrl -> { - vo.setFlowNum(zqrl.getQ()); - }, () -> vo.setFlowNum(BigDecimal.ZERO)); - - zvarlList.stream() - .filter(zvarl -> zvarl.getRz().equals(new BigDecimal(rsvr.getRz()))) - .findFirst() - .ifPresentOrElse(zvarl -> { - vo.setBoxNum(zvarl.getW()); - }, () -> vo.setBoxNum(BigDecimal.ZERO)); - - if (i == 0) { - vo.setQtotal(BigDecimal.ZERO); - } else { - StZqrlBVo voPrev = ret.get(i - 1); - BigDecimal qTotal = vo.getFlowNum().multiply(BigDecimal.valueOf(60 * 60)); - BigDecimal prevQtotal = voPrev.getQtotal(); - qTotal = qTotal.add(prevQtotal); - vo.setQtotal(qTotal); - } - - ret.add(vo); - } - - //倒序输出 - ret.sort(Comparator.comparing(StZqrlBVo::getTm).reversed()); - return ret; - } - - public StZqrlBCountVo count(Serializable stcd) { - StZqrlBCountVo vo = new StZqrlBCountVo(); - vo.setStcd(stcd.toString()); - - //取出当月的水位 - Calendar calendar = Calendar.getInstance(); - Date now = calendar.getTime(); - calendar.set(Calendar.DAY_OF_MONTH, 1); - calendar.set(Calendar.HOUR_OF_DAY, 0); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - List rsvrList = rsvrRService.lambdaQuery() - .eq(StRsvrR::getStcd, stcd) - .between(StRsvrR::getTm, calendar.getTime(), now) - .orderByAsc(true, StRsvrR::getTm) - .list(); - - List zqrlList = stZqrlBService.list(); - - List complexList = new ArrayList<>(); - int idx = 0; - for (StRsvrR rsvr : rsvrList) { - RsvrComplexVo complex = new RsvrComplexVo(); - BigDecimal rz = new BigDecimal(rsvr.getRz()); - complex.setRz(rz); - complex.setTm(rsvr.getTm()); - - BigDecimal q = stZqrlBService.getQFromZqrl(rz, zqrlList); - complex.setQ(q); - if (idx == 0) { - complex.setSv(BigDecimal.ZERO); - } else { - RsvrComplexVo complexPrev = complexList.get(idx - 1); - complex.setSv(complexPrev.getSv().add(complexPrev.getQ().multiply(BigDecimal.valueOf(60 * 60)))); - } - - complexList.add(complex); - idx++; - } - - //当前流量 - vo.setVal(complexList.getLast().getQ()); - vo.setCreateTime(complexList.getLast().getTm()); - - calendar.setTime(now); - calendar.set(Calendar.HOUR_OF_DAY, 0); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - Date today = calendar.getTime(); - //今日sv的和 - BigDecimal sumToday = complexList.stream().filter(complex -> complex.getTm().after(today)) - .map(RsvrComplexVo::getSv) - .reduce(BigDecimal.ZERO, BigDecimal::add); - vo.setCurrDayValSum(sumToday); - //当月sv的和 - BigDecimal sumMonth = complexList.stream().map(RsvrComplexVo::getSv) - .reduce(BigDecimal.ZERO, BigDecimal::add); - vo.setCurrMonthSum(sumMonth); - - return vo; - } - - public StZqrlBCount24Vo count24(Serializable stcd) { - StZqrlBCount24Vo vo = new StZqrlBCount24Vo(); - vo.setStcd(stcd.toString()); - - StRsvrR rsvrLatest = rsvrRService.lambdaQuery().eq(StRsvrR::getStcd, stcd).orderByDesc(StRsvrR::getTm).last("limit 1").one(); - if (rsvrLatest == null) { - return vo; - } - BigDecimal rzLatest = new BigDecimal(rsvrLatest.getRz()); - BigDecimal qLatest = stZqrlBService.getQFromZqrl(rzLatest); - vo.setCurrWaterLevel(rzLatest); - vo.setFlowNum(qLatest); - vo.setCreateTime(rsvrLatest.getTm()); - - LocalDateTime now = LocalDateTime.now(); - LocalDateTime before24 = now.minusHours(24); - List rsvrList = rsvrRService.lambdaQuery().ge(StRsvrR::getTm, before24).le(StRsvrR::getTm, now).orderByAsc(StRsvrR::getTm).list(); - List rsvrComplexVos = stZqrlBService.calculateSpilledVolumeList(rsvrList); - BigDecimal totalSv = rsvrComplexVos.stream().map(RsvrComplexVo::getSv).reduce(BigDecimal.ZERO, BigDecimal::add); - vo.setSum24(totalSv); - - return vo; - } - - public List calculateQtotal(List list) { - if (list == null || list.size() < 2) { - return list; - } - - // 第一条数据设为0或null - list.get(0).setQtotal(BigDecimal.ZERO); - - for (int i = 1; i < list.size(); i++) { - StZqrlB current = list.get(i); - StZqrlB previous = list.get(i - 1); - - // 使用Duration计算分钟差(精确到小数) - Duration duration = Duration.between(previous.getModitimeAsLocalDateTime(), current.getModitimeAsLocalDateTime()); - double minutesDiff = duration.toMillis() / 60000.0; // 毫秒转分钟 - - // 使用BigDecimal的valueOf方法,避免new BigDecimal(double)的精度问题 - BigDecimal minutesDecimal = BigDecimal.valueOf(minutesDiff); - - // 计算并设置qtotal - current.setQtotal(current.getQ().multiply(minutesDecimal)); - } - return list; - } - - private List getList(String stcd, LocalDateTime start, LocalDateTime end) { - LambdaQueryWrapper qw = new LambdaQueryWrapper(); - List list = stZqrlBService.list(qw); - return list; - } - - private BigDecimal sumVal(String stcd, LocalDateTime start, LocalDateTime end) { - LambdaQueryWrapper qw = new LambdaQueryWrapper(); - qw.eq(StZqrlB::getStcd, stcd); - qw.ge(StZqrlB::getModitime, start); - qw.le(StZqrlB::getModitime, end); - List list = stZqrlBService.list(qw); - if (CollectionUtil.isNotEmpty(list)) { - return list.stream().map(StZqrlB::getQ).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); - } - return null; - } - - private Long countVal(String stcd, LocalDateTime start, LocalDateTime end) { - LambdaQueryWrapper qw = new LambdaQueryWrapper(); - qw.eq(StZqrlB::getStcd, stcd); - qw.ge(StZqrlB::getModitime, start); - qw.le(StZqrlB::getModitime, end); - List list = stZqrlBService.list(qw); - if (CollectionUtil.isNotEmpty(list)) { - return list.stream().map(StZqrlB::getQ).filter(Objects::nonNull).filter(q -> q.compareTo(BigDecimal.ZERO) > 0).count(); - } - return 0l; - } - - private BigDecimal maxVal(String stcd, LocalDateTime start, LocalDateTime end) { - LambdaQueryWrapper qw = new LambdaQueryWrapper(); - qw.eq(StZqrlB::getStcd, stcd); - qw.ge(StZqrlB::getModitime, start); - qw.le(StZqrlB::getModitime, end); - List list = stZqrlBService.list(qw); - if (CollectionUtil.isNotEmpty(list)) { - return list.stream().map(StZqrlB::getQ).filter(Objects::nonNull).max(Comparator.naturalOrder()).orElse(null); - } - return null; - } - - public List getPptnStations() { - return baseMapper.getPptnStations(); - } - - public List getRsvrStations() { - return baseMapper.getRsvrStations(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StStbprpCctvService.java b/src/main/java/com/gunshi/project/xyt/service/StStbprpCctvService.java deleted file mode 100644 index a29d2df..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StStbprpCctvService.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.gunshi.project.xyt.entity.vo.StStbprpCctvVo; -import com.gunshi.project.xyt.mapper.StStbprpCctvMapper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * Description: - * Created by wanyan on 2024/4/9 - * - * @author wanyan - * @version 1.0 - */ -@Service -public class StStbprpCctvService { - - @Resource - private StStbprpCctvMapper stStbprpCctvMapper; - - - public List listByStcd(String stcd) { - return stStbprpCctvMapper.listByStcd(stcd); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/service/StWaterRRealService.java b/src/main/java/com/gunshi/project/xyt/service/StWaterRRealService.java deleted file mode 100644 index 96c63a5..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StWaterRRealService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.service; - -import java.util.List; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StWaterRRealMapper; -import com.gunshi.project.xyt.model.StWaterRReal; - -import lombok.extern.slf4j.Slf4j; - -/** - * 描述: 供水量实时表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StWaterRRealService extends ServiceImpl -{ - - public List listRelated() { - return baseMapper.listRelated(); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StWaterRReorganizeService.java b/src/main/java/com/gunshi/project/xyt/service/StWaterRReorganizeService.java deleted file mode 100644 index cf9bdc4..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StWaterRReorganizeService.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.StWaterRReorganizeYearVo; -import com.gunshi.project.xyt.mapper.StWaterRReorganizeMapper; -import com.gunshi.project.xyt.model.StWaterRReorganize; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -/** - * 描述: 供水量整编表 - * author: cxw - * date: 2024-07-24 11:22:46 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StWaterRReorganizeService extends ServiceImpl -{ - - public List getYearStatisticAnalysis(int year, List resList) { - // 查询 选择年 数据 - QueryWrapper nowYearQw = new QueryWrapper() - .select("LEFT(tm, 7) tm,ROUND( AVG ( ecology_q ), 2 ) ecology_q,SUM ( ecology_v ) ecology_v,ROUND( AVG ( life_q ), 2 ) life_q,SUM ( life_v ) life_v,SUM ( sum_v ) sum_v") - .eq("LEFT(tm, 4)", String.valueOf(year)).groupBy("LEFT(tm, 7)").orderBy(true, true, "tm"); - List nowYearList = this.list(nowYearQw); - - // 查询 选择年的前一年 数据 - QueryWrapper lastYearQw = new QueryWrapper() - .select("LEFT(tm, 7) tm,ROUND( AVG ( ecology_q ), 2 ) ecology_q,SUM ( ecology_v ) ecology_v,ROUND( AVG ( life_q ), 2 ) life_q,SUM ( life_v ) life_v,SUM ( sum_v ) sum_v") - .eq("LEFT(tm, 4)", String.valueOf(year - 1)).groupBy("LEFT(tm, 7)").orderBy(true, true, "tm"); - List lastYearList = this.list(lastYearQw); - - // 组装VO - if(CollectionUtils.isNotEmpty(nowYearList)){ - BigDecimal ecologyVSum = nowYearList.stream().map(StWaterRReorganize::getEcologyV).reduce(BigDecimal.ZERO, BigDecimal::add);// 年度生态水量的和 - BigDecimal lifeVSum = nowYearList.stream().map(StWaterRReorganize::getLifeV).reduce(BigDecimal.ZERO, BigDecimal::add);// 年度生活水量的和 - for(int i = 0; i < nowYearList.size(); i++){ - String jiantou = ""; - StWaterRReorganizeYearVo vo = new StWaterRReorganizeYearVo(); - StWaterRReorganize nowStwrr = nowYearList.get(i); - vo.setTm(nowStwrr.getTm()); - vo.setEcologyYearRateV(nowStwrr.getEcologyV().divide(ecologyVSum, 1, BigDecimal.ROUND_HALF_UP).toString().concat("%")); - vo.setEcologyV(nowStwrr.getEcologyV().toString()); - vo.setLifeYearRateV(nowStwrr.getEcologyV().divide(lifeVSum, 1, BigDecimal.ROUND_HALF_UP).toString().concat("%")); - vo.setLifeV(nowStwrr.getLifeV().toString()); - - StWaterRReorganize lastStwrr = lastYearList.stream() - .filter(item -> nowStwrr.getTm() - .equals(String.valueOf((Integer.valueOf(item.getTm().substring(0, 4)) + 1)) - .concat(item.getTm().substring(4, 7)))).findAny().orElse(null); - // 生态同比 (本期数 - 同期数) / 同期数 × 100% - if(ObjectUtils.isEmpty(lastStwrr) || lastStwrr.getEcologyV().compareTo(BigDecimal.ZERO) == 0){ - vo.setEcologyYoyV("-"); - } else { - BigDecimal ecologyYoyV = (nowStwrr.getEcologyV().subtract(lastStwrr.getEcologyV())).divide(lastStwrr.getEcologyV(), 1, BigDecimal.ROUND_HALF_UP); - jiantou = ""; - if(ecologyYoyV.compareTo(BigDecimal.ZERO) == 0){ - jiantou = "↔"; - vo.setEcologyYoyV(jiantou); - } else { - if(ecologyYoyV.compareTo(BigDecimal.ZERO) < 0){ - jiantou = "↓"; - } else if(ecologyYoyV.compareTo(BigDecimal.ZERO) > 0){ - jiantou = "↑"; - } - vo.setEcologyYoyV(jiantou.concat(ecologyYoyV.abs().toString()).concat("%")); - } - } - // 生活同比 (本期数 - 同期数) / 同期数 × 100% - if(ObjectUtils.isEmpty(lastStwrr) || lastStwrr.getLifeV().compareTo(BigDecimal.ZERO) == 0){ - vo.setLifeYoyV("-"); - } else { - BigDecimal lifeYoyV = (nowStwrr.getLifeV().subtract(lastStwrr.getLifeV())).divide(lastStwrr.getLifeV(), 1, BigDecimal.ROUND_HALF_UP); - jiantou = ""; - if(lifeYoyV.compareTo(BigDecimal.ZERO) == 0){ - jiantou = "↔"; - vo.setLifeYoyV(jiantou); - } else { - if(lifeYoyV.compareTo(BigDecimal.ZERO) < 0){ - jiantou = "↓"; - } else if(lifeYoyV.compareTo(BigDecimal.ZERO) > 0){ - jiantou = "↑"; - } - vo.setLifeYoyV(jiantou.concat(lifeYoyV.abs().toString()).concat("%")); - } - } - // 环比 (本期数 - 上期数) / 上期数 × 100% - StWaterRReorganize lastOneStwrr; - // 如果是1月,需要拿到去年12月的 - if(i == 0 && nowStwrr.getTm().contains("-01")){ - lastOneStwrr = lastYearList.stream().filter(item -> item.getTm().contains("-12")).findAny().orElse(null); - } else { - lastOneStwrr = nowYearList.get(i-1); - } - // 生态 - if(ObjectUtils.isEmpty(lastOneStwrr) || lastOneStwrr.getEcologyV().compareTo(BigDecimal.ZERO) == 0){ - vo.setEcologyQoqV("-"); - } else { - BigDecimal ecologyQoqV = (nowStwrr.getEcologyV().subtract(lastOneStwrr.getEcologyV())).divide(lastOneStwrr.getEcologyV(), 1, BigDecimal.ROUND_HALF_UP); - jiantou = ""; - if(ecologyQoqV.compareTo(BigDecimal.ZERO) == 0){ - jiantou = "↔"; - vo.setEcologyQoqV(jiantou); - } else { - if(ecologyQoqV.compareTo(BigDecimal.ZERO) < 0){ - jiantou = "↓"; - } else if(ecologyQoqV.compareTo(BigDecimal.ZERO) > 0){ - jiantou = "↑"; - } - vo.setEcologyQoqV(jiantou.concat(ecologyQoqV.abs().toString()).concat("%")); - } - } - // 生活 - if(ObjectUtils.isEmpty(lastOneStwrr) || lastOneStwrr.getLifeV().compareTo(BigDecimal.ZERO) == 0){ - vo.setLifeQoqV("-"); - } else { - BigDecimal lifeQoqV = (nowStwrr.getLifeV().subtract(lastOneStwrr.getLifeV())).divide(lastOneStwrr.getLifeV(), 1, BigDecimal.ROUND_HALF_UP); - jiantou = ""; - if(lifeQoqV.compareTo(BigDecimal.ZERO) == 0){ - jiantou = "↔"; - vo.setLifeQoqV(jiantou); - } else { - if(lifeQoqV.compareTo(BigDecimal.ZERO) < 0){ - jiantou = "↓"; - } else if(lifeQoqV.compareTo(BigDecimal.ZERO) > 0){ - jiantou = "↑"; - } - vo.setLifeQoqV(jiantou.concat(lifeQoqV.abs().toString()).concat("%")); - } - } - resList.add(vo); - } - } - return resList; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StWaterRService.java b/src/main/java/com/gunshi/project/xyt/service/StWaterRService.java deleted file mode 100644 index e571abb..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StWaterRService.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.db.dto.DateTimeRangeSo; -import com.gunshi.project.xyt.mapper.StWaterRMapper; -import com.gunshi.project.xyt.model.StWaterR; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: 供水量表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StWaterRService extends ServiceImpl -{ - - public Map stat(DateTimeRangeSo dateTimeRangeSo) { - List list = baseMapper.stat(dateTimeRangeSo); - return list.stream() - .collect(Collectors.groupingBy(StWaterR::getStcd, Collectors.mapping(StWaterR::getV, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)))); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StZqrlBService.java b/src/main/java/com/gunshi/project/xyt/service/StZqrlBService.java deleted file mode 100644 index 07090f0..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StZqrlBService.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.vo.RsvrComplexVo; -import com.gunshi.project.xyt.mapper.StZqrlBMapper; -import com.gunshi.project.xyt.model.StRsvrR; -import com.gunshi.project.xyt.model.StZqrlB; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 描述: 水位流量关系曲线表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StZqrlBService extends ServiceImpl { - - /** - * 计算溢洪量 - * - * @param rz 计算溢洪的起始水位 - * @param seconds 溢洪时间,是两条水位数据的时间差,单位秒 - * @param zqrlList 水位流量关系曲线 - * @return 溢洪量 - * @author lyf - */ - public BigDecimal calculateSpilledVolume(BigDecimal rz, long seconds, List zqrlList) { - return getQFromZqrl(rz, zqrlList).multiply(BigDecimal.valueOf(seconds)); - } - - /** - * 计算溢洪量 - * - * @param rz 计算溢洪的起始水位 - * @param seconds 溢洪时间,是两条水位数据的时间差,单位秒 - * @return 溢洪量 - * @author lyf - */ - public BigDecimal calculateSpilledVolume(BigDecimal rz, long seconds) { - return calculateSpilledVolume(rz, seconds, list()); - } - - /** - * 批量计算溢洪量 - * - * @param rsvrList 要计算的水位数据 - * @param zqrlList 水位流量关系曲线 - * @return 计算后的水位数据(时间倒序),含每条水位对应的流量和与上一条水位对应的溢洪量 - * @author lyf - */ - public List calculateSpilledVolumeList(List rsvrList, List zqrlList) { - rsvrList.sort(Comparator.comparing(StRsvrR::getTm).reversed()); - List ret = new ArrayList<>(); - for (int i = 0; i < rsvrList.size(); i++) { - StRsvrR rsvr = rsvrList.get(i); - BigDecimal rz = new BigDecimal(rsvr.getRz()); - Date tm = rsvr.getTm(); - RsvrComplexVo vo = RsvrComplexVo.of(rz, tm); - - if (i == 0) { - vo.setQ(getQFromZqrl(rz, zqrlList)); - vo.setSv(BigDecimal.ZERO); - } else { - StRsvrR rsvrPrev = rsvrList.get(i - 1); - Date tmPrev = rsvrPrev.getTm(); - long seconds = tm.getTime() - tmPrev.getTime(); - vo.setQ(getQFromZqrl(rz, zqrlList)); - vo.setSv(calculateSpilledVolume(rz, seconds)); - } - ret.add(vo); - } - return ret; - } - - /** - * 批量计算溢洪量 - * - * @param rsvrList 要计算的水位数据 - * @return 计算后的水位数据(时间倒序),含每条水位对应的流量和与上一条水位对应的溢洪量 - * @author lyf - */ - public List calculateSpilledVolumeList(List rsvrList) { - return calculateSpilledVolumeList(rsvrList, list()); - } - - /** - * 根据水位查表得流量 - * - * @param rz 水位 - * @return 查表流量 - * @author lyf - */ - public BigDecimal getQFromZqrl(BigDecimal rz) { - return getQFromZqrl(rz, list()); - } - - /** - * 根据水位查表得流量 - * - * @param rz 水位 - * @param zqrlList 水位流量关系曲线 - * @return 查表流量 - * @author lyf - */ - public BigDecimal getQFromZqrl(BigDecimal rz, List zqrlList) { - return toMap(zqrlList).getOrDefault(rz.setScale(3, RoundingMode.DOWN), BigDecimal.ZERO); - } - - /** - * 将水位流量曲线列表转为字典,水位作为键,注意BigDecimal做键的时候要匹配值和精度 - * - * @param zqrlList 水位流量曲线列表 - * @return 水位流量曲线字典 - * @author lyf - */ - private Map toMap(List zqrlList) { - return zqrlList.stream() - .map(item -> Map.entry(item.getZ().setScale(3, RoundingMode.DOWN), item.getQ())) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); - } - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StZvarlBService.java b/src/main/java/com/gunshi/project/xyt/service/StZvarlBService.java deleted file mode 100644 index 307ef40..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StZvarlBService.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.StZvarlBMapper; -import com.gunshi.project.xyt.model.StZvarlB; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: 库( 湖)容曲线表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StZvarlBService extends ServiceImpl { - - /** - * 根据水位查表得库容 - * - * @param rz 水位 - * @return 查表库容 - * @author lyf - */ - public BigDecimal getWFromZvarl(BigDecimal rz) { - return getWFromZvarl(rz, BigDecimal.ZERO, list()); - } - - /** - * 根据水位查表得库容 - * - * @param rz 水位 - * @param defaultValue 查不到时默认值 - * @return 查表库容 - * @author lyf - */ - public BigDecimal getWFromZvarl(BigDecimal rz, BigDecimal defaultValue) { - return getWFromZvarl(rz, defaultValue, list()); - } - - /** - * 根据水位查表得库容 - * - * @param rz 水位 - * @param defaultValue 查不到时默认值 - * @param zvarlList 水位库容关系曲线 - * @return 查表库容 - * @author lyf - */ - public BigDecimal getWFromZvarl(BigDecimal rz, BigDecimal defaultValue, List zvarlList) { - return toMap(zvarlList).getOrDefault(rz.setScale(3, RoundingMode.DOWN), defaultValue); - } - - /** - * 将水位库容曲线列表转为字典,水位作为键,注意BigDecimal做键的时候要匹配值和精度 - * - * @param zvarlList 水位库容曲线列表 - * @return 水位库容曲线字典 - * @author lyf - */ - private Map toMap(List zvarlList) { - return zvarlList.stream() - .map(item -> Map.entry(item.getRz().setScale(3, RoundingMode.DOWN), item.getW())) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); - } - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/StatisticsService.java b/src/main/java/com/gunshi/project/xyt/service/StatisticsService.java deleted file mode 100644 index 04f4330..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/StatisticsService.java +++ /dev/null @@ -1,608 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.gunshi.db.dto.DateRangeSo; -import com.gunshi.project.xyt.entity.so.StatisticsQuerySo; -import com.gunshi.project.xyt.entity.vo.*; -import com.gunshi.project.xyt.mapper.StPptnRHMapper; -import com.gunshi.project.xyt.model.StPptnRD; -import com.gunshi.project.xyt.model.StPptnRH; -import com.gunshi.project.xyt.util.DateUtil; -import com.gunshi.project.xyt.util.ExcelUtil; -import com.gunshi.project.xyt.util.MyBeanUtil; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.text.SimpleDateFormat; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 描述: 报图报表 - * author: xusan - * date: 2024-07-08 17:30:37 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class StatisticsService { - - @Autowired - private StPptnRHMapper stPptnRHMapper; - - private static final String TIME_END_PREFIX = " 08:00:00"; - - private static final String ZERO_TIME_END_PREFIX = " 00:00:00"; - - public List sdJyRb(DateRangeSo dateRangeSo) { - List res = new ArrayList<>(); - String start = DateUtil.convertDateToString(dateRangeSo.getStart()) + TIME_END_PREFIX; - String end = DateUtil.getPlusDate(dateRangeSo.getEnd(), 1) + TIME_END_PREFIX; - List dates = DateUtil.getDatesBetween(dateRangeSo.getStart(), dateRangeSo.getEnd(), false); - List list = stPptnRHMapper.queryList(start, end); - for (String date : dates) { - SdJyRbVo vo = new SdJyRbVo(); - vo.setDate(date); - getDrp(vo, list); - res.add(vo); - } - return res; - } - - private void getDrp(SdJyRbVo vo, List list) { - if (CollectionUtils.isNotEmpty(list)) { - String date = vo.getDate(); - BigDecimal drpD = new BigDecimal(0); - Date start = DateUtil.convertStringToDate(date + TIME_END_PREFIX); - String end = DateUtil.getPlusTime(date + TIME_END_PREFIX, 24); - List dayList = list.stream().filter(o -> o.getTm().compareTo(start) > 0 && o.getTm().compareTo(DateUtil.convertStringToDate(end)) <= 0).collect(Collectors.toList()); - SimpleDateFormat simpleDateFormatHH = new SimpleDateFormat("HH"); - for (int i = 0; i < dayList.size(); i++) { - StPptnRH stPptnRH = dayList.get(i); - if (stPptnRH.getDrp() != null) { - vo = setHourDrp(vo, simpleDateFormatHH.format(stPptnRH.getTm()), stPptnRH.getDrp()); - drpD = drpD.add(stPptnRH.getDrp()); - } - } - vo.setDrpD(drpD); - } - } - - private SdJyRbVo setHourDrp(SdJyRbVo vo, String HH, BigDecimal drp) { - switch (HH) { - case "01": - vo.setDrpH1(drp); - break; - case "02": - vo.setDrpH2(drp); - break; - case "03": - vo.setDrpH3(drp); - break; - case "04": - vo.setDrpH4(drp); - break; - case "05": - vo.setDrpH5(drp); - break; - case "06": - vo.setDrpH6(drp); - break; - case "07": - vo.setDrpH7(drp); - break; - case "08": - vo.setDrpH8(drp); - break; - case "09": - vo.setDrpH9(drp); - break; - case "10": - vo.setDrpH10(drp); - break; - case "11": - vo.setDrpH11(drp); - break; - case "12": - vo.setDrpH12(drp); - break; - case "13": - vo.setDrpH13(drp); - break; - case "14": - vo.setDrpH14(drp); - break; - case "15": - vo.setDrpH15(drp); - break; - case "16": - vo.setDrpH16(drp); - break; - case "17": - vo.setDrpH17(drp); - break; - case "18": - vo.setDrpH18(drp); - break; - case "19": - vo.setDrpH19(drp); - break; - case "20": - vo.setDrpH20(drp); - break; - case "21": - vo.setDrpH21(drp); - break; - case "22": - vo.setDrpH22(drp); - break; - case "23": - vo.setDrpH23(drp); - break; - case "00": - vo.setDrpH24(drp); - break; - } - return vo; - } - - public void sdJyRbExport(DateRangeSo dateRangeSo, HttpServletResponse response) { - List list = sdJyRb(dateRangeSo); - String start = DateUtil.convertDateToChineseYmd(dateRangeSo.getStart()); - String end = DateUtil.convertDateToChineseYmd(dateRangeSo.getEnd()); - String fileName = start + "-" + end + "小时降雨量日报表"; - ExcelUtil.exportExcel(list, fileName, SdJyRbVo.class, response, fileName); - } - - public List sdSwRb(DateRangeSo dateRangeSo) { - List res = new ArrayList<>(); - String start = DateUtil.convertDateToString(dateRangeSo.getStart()) + ZERO_TIME_END_PREFIX; - String end = DateUtil.getPlusDate(dateRangeSo.getEnd(), 1) + ZERO_TIME_END_PREFIX; - List dates = DateUtil.getDatesBetween(dateRangeSo.getStart(), dateRangeSo.getEnd(), false); - List list = stPptnRHMapper.queryRzList(start, end); - for (String date : dates) { - SdSwRbVo vo = new SdSwRbVo(); - vo.setDate(date); - getRz(vo, list); - res.add(vo); - } - return res; - } - - private void getRz(SdSwRbVo vo, List list) { - if (CollectionUtils.isNotEmpty(list)) { - String date = vo.getDate(); - BigDecimal rzD = new BigDecimal(0); - Integer count = 0; - String start = date + ZERO_TIME_END_PREFIX; - String end = DateUtil.getPlusTime(date + ZERO_TIME_END_PREFIX, 24); - List dayList = list.stream().filter(o -> o.getTm().compareTo(start) >= 0 && o.getTm().compareTo(end) < 0).collect(Collectors.toList()); - SimpleDateFormat simpleDateFormatHH = new SimpleDateFormat("HH"); - for (int i = 0; i < dayList.size(); i++) { - StRzVo stRzVo = dayList.get(i); - if (stRzVo.getRz() != null) { - vo = setHourRz(vo, simpleDateFormatHH.format(DateUtil.convertStringToDate(stRzVo.getTm())), stRzVo.getRz()); - rzD = rzD.add(stRzVo.getRz()); - count++; - } - } - if(count > 0){ - vo.setRzAvg(rzD.divide(new BigDecimal(count), 2, RoundingMode.HALF_UP)); - } - } - } - - private SdSwRbVo setHourRz(SdSwRbVo vo, String HH, BigDecimal rz) { - switch (HH) { - case "01": - vo.setRzH1(rz); - break; - case "02": - vo.setRzH2(rz); - break; - case "03": - vo.setRzH3(rz); - break; - case "04": - vo.setRzH4(rz); - break; - case "05": - vo.setRzH5(rz); - break; - case "06": - vo.setRzH6(rz); - break; - case "07": - vo.setRzH7(rz); - break; - case "08": - vo.setRzH8(rz); - break; - case "09": - vo.setRzH9(rz); - break; - case "10": - vo.setRzH10(rz); - break; - case "11": - vo.setRzH11(rz); - break; - case "12": - vo.setRzH12(rz); - break; - case "13": - vo.setRzH13(rz); - break; - case "14": - vo.setRzH14(rz); - break; - case "15": - vo.setRzH15(rz); - break; - case "16": - vo.setRzH16(rz); - break; - case "17": - vo.setRzH17(rz); - break; - case "18": - vo.setRzH18(rz); - break; - case "19": - vo.setRzH19(rz); - break; - case "20": - vo.setRzH20(rz); - break; - case "21": - vo.setRzH21(rz); - break; - case "22": - vo.setRzH22(rz); - break; - case "23": - vo.setRzH23(rz); - break; - case "00": - vo.setRzH24(rz); - break; - } - return vo; - } - - public void sdSwRbExport(DateRangeSo dateRangeSo, HttpServletResponse response) { - List list = sdSwRb(dateRangeSo); - String start = DateUtil.convertDateToChineseYmd(dateRangeSo.getStart()); - String end = DateUtil.convertDateToChineseYmd(dateRangeSo.getEnd()); - String fileName = start + "-" + end + "时段水位日报表"; - ExcelUtil.exportExcel(list, fileName, SdSwRbVo.class, response, fileName); - } - - public List rjyNb(StatisticsQuerySo statisticsQuerySo,Integer type) { - List res = new ArrayList<>(); - Integer year = statisticsQuerySo.getYear(); - List list = new ArrayList<>(); - if(type != null){ - list = stPptnRHMapper.queryDayRz(year.toString()); - }else{ - list = stPptnRHMapper.queryDayDrp(year); - } - if (CollectionUtils.isEmpty(list)) { - return res; - } - Map> map = list.stream().collect(Collectors.groupingBy(StPptnRD::getDay)); - for (int i = 1; i < 32; i++) { - RjyNbVo vo = new RjyNbVo(); - String s = String.valueOf(i); - vo.setDate(s); - if(i < 10){ - s = "0" + i; - } - List rds = map.get(s); - if(CollectionUtils.isNotEmpty(rds)){ - for (int j = 0; j < rds.size(); j++) { - StPptnRD rd = rds.get(j); - if (rd.getDrp() != null) { - vo = setDayDrp(vo, rd.getMonth(), rd.getDrp().toString()); - } - } - } - res.add(vo); - } - return res; - } - - private RjyNbVo setDayDrp(RjyNbVo vo, String month, String drp) { - switch (month) { - case "01": - vo.setDrpM1(drp); - break; - case "02": - vo.setDrpM2(drp); - break; - case "03": - vo.setDrpM3(drp); - break; - case "04": - vo.setDrpM4(drp); - break; - case "05": - vo.setDrpM5(drp); - break; - case "06": - vo.setDrpM6(drp); - break; - case "07": - vo.setDrpM7(drp); - break; - case "08": - vo.setDrpM8(drp); - break; - case "09": - vo.setDrpM9(drp); - break; - case "10": - vo.setDrpM10(drp); - break; - case "11": - vo.setDrpM11(drp); - break; - case "12": - vo.setDrpM12(drp); - break; - } - return vo; - } - - public RjyNbStatVo rjyNbStat(StatisticsQuerySo statisticsQuerySo) { - RjyNbStatVo vo = new RjyNbStatVo(); - Integer year = statisticsQuerySo.getYear(); - List list = stPptnRHMapper.queryDayDrp(year); - if (CollectionUtils.isEmpty(list)) { - return vo; - } - BigDecimal drpSum = list.stream().map(StPptnRD::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add); - vo.setDrpSum(drpSum); - Long count = list.stream().filter(o -> o.getDrp().compareTo(new BigDecimal(0)) > 0).collect(Collectors.counting()); - vo.setDayCount(count); - //按月份分组 - Map> map = list.stream().collect(Collectors.groupingBy(StPptnRD::getMonth)); - - List childList = new ArrayList<>(); - RjyNbVo rjyNbVo = new RjyNbVo(); - rjyNbVo.setDate("月降雨量"); - setMonthSumDrp(rjyNbVo,map); - childList.add(rjyNbVo); - - RjyNbVo rVo = new RjyNbVo(); - rVo.setDate("降雨日数"); - setMonthDrpDay(rVo,map); - childList.add(rVo); - - RjyNbVo max = new RjyNbVo(); - max.setDate("最大日量"); - setMonthDrpMax(max,map); - childList.add(max); - - vo.setList(childList); - return vo; - } - - private void setMonthDrpMax(RjyNbVo rjyNbVo, Map> map) { - for(int i = 1;i< 13;i++){ - String s = String.valueOf(i); - if(i < 10){ - s = "0" + i; - } - List list = map.get(s); - if(CollectionUtils.isNotEmpty(list)) { - BigDecimal maxDrp = list.stream().max(Comparator.comparing(StPptnRD::getDrp)).get().getDrp(); - setDayDrp(rjyNbVo, s, maxDrp.toString()); - } - } - } - - - private void setMonthSumDrp(RjyNbVo rjyNbVo, Map> map) { - for(int i = 1;i< 13;i++){ - String s = String.valueOf(i); - if(i < 10){ - s = "0" + i; - } - List list = map.get(s); - if(CollectionUtils.isNotEmpty(list)){ - BigDecimal drpSum = list.stream().map(StPptnRD::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add); - setDayDrp(rjyNbVo,s,drpSum.toString()); - } - } - } - - private void setMonthDrpDay(RjyNbVo rjyNbVo, Map> map) { - for(int i = 1;i< 13;i++){ - String s = String.valueOf(i); - if(i < 10){ - s = "0" + i; - } - List list = map.get(s); - if(CollectionUtils.isNotEmpty(list)){ - Long count = list.stream().filter(o -> o.getDrp().compareTo(new BigDecimal(0)) > 0).collect(Collectors.counting()); - setDayDrp(rjyNbVo,s,new BigDecimal(count).toString()); - } - } - } - - public void rjyNbExport(StatisticsQuerySo statisticsQuerySo, HttpServletResponse response) { - //上方数据 - List rjyNb = rjyNb(statisticsQuerySo,null); - //下方统计数据 - RjyNbStatVo vo = rjyNbStat(statisticsQuerySo); - List list = vo.getList(); - rjyNb.addAll(list); - //最下方拼接一条数据 - RjyNbVo rjyNbVo = new RjyNbVo(); - rjyNbVo.setDate("年统计"); - rjyNbVo.setDrpM1("降水量"); - rjyNbVo.setDrpM2("降水量"); - rjyNbVo.setDrpM3(vo.getDrpSum().toString()); - rjyNbVo.setDrpM4(vo.getDrpSum().toString()); - rjyNbVo.setDrpM5(vo.getDrpSum().toString()); - rjyNbVo.setDrpM6(vo.getDrpSum().toString()); - rjyNbVo.setDrpM7("降雨日数"); - rjyNbVo.setDrpM8("降雨日数"); - rjyNbVo.setDrpM9(vo.getDayCount().toString()); - rjyNbVo.setDrpM10(vo.getDayCount().toString()); - rjyNbVo.setDrpM11(vo.getDayCount().toString()); - rjyNbVo.setDrpM12(vo.getDayCount().toString()); - rjyNb.add(rjyNbVo); - - String fileName = "檀树岗水库" + statisticsQuerySo.getYear() + "年日降雨年报表"; - ExcelUtil.exportExcel(rjyNb, fileName, RjyNbVo.class, response, fileName,1); - } - - public List rjswNb(StatisticsQuerySo statisticsQuerySo) { - return rjyNb(statisticsQuerySo,1); - } - - public RjswNbStatVo rjswNbStat(StatisticsQuerySo statisticsQuerySo) { - RjswNbStatVo vo = new RjswNbStatVo(); - Integer year = statisticsQuerySo.getYear(); - List list = stPptnRHMapper.queryDayRz(year.toString()); - if (CollectionUtils.isEmpty(list)) { - return vo; - } - BigDecimal max = list.stream().max(Comparator.comparing(StPptnRD::getDrp)).get().getDrp(); - vo.setMax(max); - BigDecimal min = list.stream().min(Comparator.comparing(StPptnRD::getDrp)).get().getDrp(); - vo.setMin(min); - BigDecimal sum = list.stream().map(StPptnRD::getDrp).reduce(BigDecimal.ZERO,BigDecimal::add); - Long count = list.stream().filter(o -> o.getDrp().compareTo(new BigDecimal(0)) > 0).collect(Collectors.counting()); - vo.setAvg(sum.divide(new BigDecimal(count),2,RoundingMode.HALF_UP)); - //按月份分组 - Map> map = list.stream().collect(Collectors.groupingBy(StPptnRD::getMonth)); - List statVos = statData(map); - - List childList = new ArrayList<>(); - - RjswNbVo rjswNbVo = new RjswNbVo(); - Map avgMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getAvg)); - RjyNbVo rjyNbVo = setDayRz(avgMap); - BeanUtils.copyProperties(rjyNbVo,rjswNbVo); - rjswNbVo.setTheme("月统计"); - rjswNbVo.setDate("平均"); - childList.add(rjswNbVo); - - RjswNbVo rjswNbVoMax = new RjswNbVo(); - Map maxMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getMax)); - RjyNbVo rjyNbVoMax = setDayRz(maxMap); - BeanUtils.copyProperties(rjyNbVoMax,rjswNbVoMax); - rjswNbVoMax.setTheme("月统计"); - rjswNbVoMax.setDate("最高"); - childList.add(rjswNbVoMax); - - RjswNbVo rjMaxDate = new RjswNbVo(); - Map maxDateMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getMaxDate)); - RjyNbVo rjyNbVoMaxDate = setDayRz(maxDateMap); - BeanUtils.copyProperties(rjyNbVoMaxDate,rjMaxDate); - rjMaxDate.setTheme("月统计"); - rjMaxDate.setDate("最高日期"); - childList.add(rjMaxDate); - - RjswNbVo rjswNbVoMin = new RjswNbVo(); - Map minMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getMin)); - RjyNbVo rjyNbVoMin = setDayRz(minMap); - BeanUtils.copyProperties(rjyNbVoMin,rjswNbVoMin); - rjswNbVoMin.setTheme("月统计"); - rjswNbVoMin.setDate("最低"); - childList.add(rjswNbVoMin); - - RjswNbVo rjMinDate = new RjswNbVo(); - Map minDateMap = statVos.stream().collect(Collectors.toMap(NbStatVo::getMonth, NbStatVo::getMinDate)); - RjyNbVo rjyNbVoMinDate = setDayRz(minDateMap); - BeanUtils.copyProperties(rjyNbVoMinDate,rjMinDate); - rjMinDate.setTheme("月统计"); - rjMinDate.setDate("最低日期"); - childList.add(rjMinDate); - - vo.setList(childList); - return vo; - } - - private RjyNbVo setDayRz(Map map) { - RjyNbVo rjyNbVo = new RjyNbVo(); - map.entrySet().forEach(entry->{ - String month = entry.getKey(); - String value = entry.getValue(); - setDayDrp(rjyNbVo,month,value); - }); - return rjyNbVo; - } - - - private List statData(Map> map) { - List statVos = new ArrayList<>(); - for(int i = 1;i< 13;i++){ - String s = String.valueOf(i); - if(i < 10){ - s = "0" + i; - } - List list = map.get(s); - if(CollectionUtils.isNotEmpty(list)){ - NbStatVo vo = new NbStatVo(); - vo.setMonth(s); - StPptnRD max = list.stream().max(Comparator.comparing(StPptnRD::getDrp)).get(); - vo.setMax(max.getDrp().toString()); - vo.setMaxDate(max.getDay()+"日"); - - StPptnRD min = list.stream().min(Comparator.comparing(StPptnRD::getDrp)).get(); - vo.setMin(min.getDrp().toString()); - vo.setMinDate(min.getDay()+"日"); - - BigDecimal sum = list.stream().map(StPptnRD::getDrp).reduce(BigDecimal.ZERO, BigDecimal::add); - Long count = list.stream().filter(o -> o.getDrp().compareTo(new BigDecimal(0)) > 0).collect(Collectors.counting()); - vo.setAvg(sum.divide(new BigDecimal(count),2,RoundingMode.HALF_UP).toString()); - statVos.add(vo); - } - } - return statVos; - } - - public void rjswNbExport(StatisticsQuerySo statisticsQuerySo, HttpServletResponse response) { - //上方数据 - List rjyNbVos = this.rjswNb(statisticsQuerySo); - List rjswNbVos = MyBeanUtil.collectionCopy(rjyNbVos, RjswNbVo.class); - rjswNbVos.stream().forEach(o->o.setTheme(o.getDate())); - //下方统计数据 - RjswNbStatVo statVo = this.rjswNbStat(statisticsQuerySo); - List list = statVo.getList(); - rjswNbVos.addAll(list); - - //最下方拼接一条数据 - RjswNbVo rjswNbVo = new RjswNbVo(); - rjswNbVo.setTheme("年统计"); - rjswNbVo.setDate("年统计"); - rjswNbVo.setDrpM1("最高水位"); - rjswNbVo.setDrpM2(statVo.getMax().toString()); - rjswNbVo.setDrpM3(statVo.getMax().toString()); - rjswNbVo.setDrpM4(statVo.getMax().toString()); - rjswNbVo.setDrpM5("最低水位"); - rjswNbVo.setDrpM6(statVo.getMin().toString()); - rjswNbVo.setDrpM7(statVo.getMin().toString()); - rjswNbVo.setDrpM8(statVo.getMin().toString()); - rjswNbVo.setDrpM9("平均水位"); - rjswNbVo.setDrpM10(statVo.getAvg().toString()); - rjswNbVo.setDrpM11(statVo.getAvg().toString()); - rjswNbVo.setDrpM12(statVo.getAvg().toString()); - rjswNbVos.add(rjswNbVo); - - String fileName = "檀树岗水库" + statisticsQuerySo.getYear() + "年日平均水位年报表"; - ExcelUtil.exportExcel(rjswNbVos, fileName, RjswNbVo.class, response, fileName,2); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/SysDictBService.java b/src/main/java/com/gunshi/project/xyt/service/SysDictBService.java deleted file mode 100644 index 4be4b69..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SysDictBService.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.SysDictBMapper; -import com.gunshi.project.xyt.model.SysDictB; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: 系统字典表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SysDictBService extends ServiceImpl -{ - - - public List tree() { - List list = list(); - if (CollectionUtils.isEmpty(list)){ - return list; - } - Map> listMap = list.stream().collect(Collectors.groupingBy(SysDictB::getPid)); - - list.forEach(o -> o.setChildren(listMap.get(o.getId()))); - List parentList = list.stream().filter(o -> 0L == o.getPid()).collect(Collectors.toList()); - return sorted(parentList); - } - - private List sorted( List tree) { - - List sorteds = null; - - if (CollectionUtils.isNotEmpty(tree)){ - sorteds = tree.stream().sorted(Comparator.comparing(SysDictB::getSortOn) - ).collect(Collectors.toList()); - sorteds.forEach(o->{ - o.setChildren(sorted(o.getChildren())); - }); - } - - return sorteds; - } - - public List listByCd(String dictCd) { - return this.baseMapper.listByCd(dictCd); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/SzCaseService.java b/src/main/java/com/gunshi/project/xyt/service/SzCaseService.java deleted file mode 100644 index 7be51ec..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SzCaseService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.SzCaseMapper; -import com.gunshi.project.xyt.model.SzCase; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SzCaseService extends ServiceImpl { -} diff --git a/src/main/java/com/gunshi/project/xyt/service/SzRegulatoryFrameworkService.java b/src/main/java/com/gunshi/project/xyt/service/SzRegulatoryFrameworkService.java deleted file mode 100644 index a80ef02..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SzRegulatoryFrameworkService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.SzRegulatoryFrameworkMapper; -import com.gunshi.project.xyt.model.SzRegulatoryFramework; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SzRegulatoryFrameworkService extends ServiceImpl { -} diff --git a/src/main/java/com/gunshi/project/xyt/service/SzRuleByLawService.java b/src/main/java/com/gunshi/project/xyt/service/SzRuleByLawService.java deleted file mode 100644 index 466d591..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SzRuleByLawService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.SzRuleByLawMapper; -import com.gunshi.project.xyt.model.SzRuleByLaw; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SzRuleByLawService extends ServiceImpl { -} diff --git a/src/main/java/com/gunshi/project/xyt/service/SzTreatmentBasisService.java b/src/main/java/com/gunshi/project/xyt/service/SzTreatmentBasisService.java deleted file mode 100644 index c998170..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/SzTreatmentBasisService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.SzTreatmentBasisMapper; -import com.gunshi.project.xyt.model.SzTreatmentBasis; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * Description: - * Created by XuSan on 2024/9/24. - * - * @author XuSan - * @version 1.0 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class SzTreatmentBasisService extends ServiceImpl { -} diff --git a/src/main/java/com/gunshi/project/xyt/service/TermiteAdverPicService.java b/src/main/java/com/gunshi/project/xyt/service/TermiteAdverPicService.java deleted file mode 100644 index af97d3c..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/TermiteAdverPicService.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.TermiteAdverPicMapper; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.model.TermiteAdverPic; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 描述: 白蚁防治宣传图片墙 - * author: xusan - * date: 2024-08-29 17:33:09 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class TermiteAdverPicService extends ServiceImpl -{ - - @Autowired - private FileAssociationsService fileService; - - public TermiteAdverPic saveData(TermiteAdverPic dto) { - dto.setId(IdWorker.getId()); - dto.setCreateTime(new Date()); - boolean result = this.save(dto); - if (result) { - fileService.saveFile(Arrays.asList(dto.getPic()), getGroupId(), String.valueOf(dto.getId())); - } - return dto; - } - - public String getGroupId() { - return "termiteAdverPic"; - } - - public Boolean delData(Serializable id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - fileService.deleteFile(getGroupId(), id.toString()); - } - return data; - } - - public List queryList() { - List list = this.list().stream().sorted(Comparator.comparing(TermiteAdverPic::getCreateTime).reversed()).collect(Collectors.toList()); - for(TermiteAdverPic pic : list){ - List files = fileService.getFiles(getGroupId(), pic.getId().toString()); - pic.setPic(files.get(0)); - } - return list; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyDetailService.java b/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyDetailService.java deleted file mode 100644 index 694d17e..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyDetailService.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.TermiteSurveyPageSo; -import com.gunshi.project.xyt.mapper.RiskControlInfoMapper; -import com.gunshi.project.xyt.mapper.TermiteSurveyDetailMapper; -import com.gunshi.project.xyt.model.BzDictRel; -import com.gunshi.project.xyt.model.FileAssociations; -import com.gunshi.project.xyt.model.TermiteSurvey; -import com.gunshi.project.xyt.model.TermiteSurveyDetail; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 描述: 白蚁普查明细 - * author: xusan - * date: 2024-08-28 10:25:17 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class TermiteSurveyDetailService extends ServiceImpl -{ - @Autowired - private FileAssociationsService fileService; - - @Autowired - private BzDictRelService bzDictRelService; - - @Autowired - private RiskControlInfoMapper controlInfoMapper; - - public void saveDetail(List details, Long id) { - if(!CollectionUtils.isEmpty(details)){ - List picList = new ArrayList<>(); - List videoList = new ArrayList<>(); - List relList = new ArrayList<>(); - for (TermiteSurveyDetail detail : details){ - Long detailId = IdWorker.getId(); - detail.setId(detailId); - detail.setSurveyId(id); - if(CollectionUtils.isNotEmpty(detail.getActSign())){ - detail.getActSign().stream().forEach(o->o.setBusinessId(detailId)); - relList.addAll(detail.getActSign()); - } - if(CollectionUtils.isNotEmpty(detail.getPics())){ - detail.getPics().stream().forEach(o->o.setBusinessId(detailId.toString())); - picList.addAll(detail.getPics()); - } - if(CollectionUtils.isNotEmpty(detail.getVideos())){ - detail.getVideos().stream().forEach(o->o.setBusinessId(detailId.toString())); - videoList.addAll(detail.getVideos()); - } - } - this.saveBatch(details); - bzDictRelService.saveRel(relList,null,getGroupId()); - fileService.save(picList,null,getGroupId(),getPicType()); - fileService.save(videoList,null,getGroupId(),getVideoType()); - } - - } - - private String getPicType() { - return "termitePic"; - } - - private String getVideoType() { - return "termiteVideo"; - } - - public String getGroupId() { - return "termiteSurvey"; - } - - - public void updateDetail(List details, Long id) { - delDetail(id); - saveDetail(details,id); - } - - public void delDetail(Long id) { - List list = getDetailById(id); - if(CollectionUtils.isEmpty(list)){ - return; - } - List detailIds = list.stream().map(TermiteSurveyDetail::getId).collect(Collectors.toList()); - List ids = detailIds.stream().map(Object::toString).collect(Collectors.toList()); - //删除附件 - fileService.removeByBzIds(ids); - //删除字典 - bzDictRelService.removeByBzIds(detailIds); - this.removeBatchByIds(detailIds); - } - - public TermiteSurvey detail(TermiteSurvey termiteSurvey) { - List list = getDetailById(termiteSurvey.getId()); - if(CollectionUtils.isEmpty(list)){ - return termiteSurvey; - } - List ids = list.stream().map(TermiteSurveyDetail::getId).collect(Collectors.toList()); - List relList = controlInfoMapper.queryRelList(ids); - Map> map = relList.stream().collect(Collectors.groupingBy(BzDictRel::getBusinessId)); - for(TermiteSurveyDetail detail : list){ - detail.setActSign(map.get(detail.getId())); - detail.setPics(fileService.queryFileList(detail.getId().toString(),getGroupId(),getPicType())); - detail.setVideos(fileService.queryFileList(detail.getId().toString(),getGroupId(),getVideoType())); - } - termiteSurvey.setDetails(list); - return termiteSurvey; - } - - private List getDetailById(Long id){ - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(TermiteSurveyDetail::getSurveyId,id); - return this.list(queryWrapper); - } - - - public Page pageQuery(TermiteSurveyPageSo page) { - return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java b/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java deleted file mode 100644 index 17079ae..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.TermiteSurveyPageSo; -import com.gunshi.project.xyt.mapper.TermiteSurveyMapper; -import com.gunshi.project.xyt.model.TermiteSurvey; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; -import java.util.Objects; - -/** - * 描述: 白蚁普查 - * author: xusan - * date: 2024-08-28 10:29:58 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class TermiteSurveyService extends ServiceImpl -{ - @Autowired - private TermiteSurveyDetailService detailService; - - public TermiteSurvey saveData(TermiteSurvey dto) { - dto.setCreateTime(new Date()); - dto.setId(IdWorker.getId()); - boolean result = this.save(dto); - if (result) { - detailService.saveDetail(dto.getDetails(),dto.getId()); - } - return dto; - } - - public TermiteSurvey updateData(TermiteSurvey dto) { - if (Objects.isNull(this.getById(dto.getId()))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean result = this.updateById(dto); - if (result) { - detailService.updateDetail(dto.getDetails(),dto.getId()); - } - return dto; - } - - public Boolean delData(Long id) { - if (Objects.isNull(this.getById(id))) { - throw new IllegalArgumentException("当前数据不存在"); - } - boolean data = this.removeById(id); - if (data) { - detailService.delDetail(id); - } - return data; - } - - public TermiteSurvey detail(Long id) { - TermiteSurvey termiteSurvey = this.getById(id); - if(Objects.isNull(termiteSurvey)){ - throw new IllegalArgumentException("当前数据不存在"); - } - return detailService.detail(termiteSurvey); - } - - public Page pageQuery(TermiteSurveyPageSo page) { - return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/service/TyYearRainfallService.java b/src/main/java/com/gunshi/project/xyt/service/TyYearRainfallService.java deleted file mode 100644 index 42b53a6..0000000 --- a/src/main/java/com/gunshi/project/xyt/service/TyYearRainfallService.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.gunshi.project.xyt.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.entity.so.TyYearRainfallPageSo; -import com.gunshi.project.xyt.entity.vo.TyYearRainfallVo; -import com.gunshi.project.xyt.mapper.TyYearRainfallMapper; -import com.gunshi.project.xyt.model.TyYearRainfall; -import com.gunshi.project.xyt.util.MyBeanUtil; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 描述: 典型年降雨资料表 - * author: xusan - * date: 2024-07-08 17:30:38 - */ -@Service -@Slf4j -@Transactional(rollbackFor = Exception.class) -public class TyYearRainfallService extends ServiceImpl -{ - - - public boolean saveData(TyYearRainfallVo dto) { - checkParam(dto); - TyYearRainfall tyYearRainfall = new TyYearRainfall(); - BeanUtils.copyProperties(dto,tyYearRainfall); - tyYearRainfall.setId(IdWorker.getId()); - List list = dto.getList(); - if(CollectionUtils.isNotEmpty(list)){ - list.stream().map(o->{ - o.setId(IdWorker.getId()); - return o; - }).collect(Collectors.toList()); - } - list.add(tyYearRainfall); - return this.saveBatch(list); - } - - private void checkParam(TyYearRainfallVo dto) { - Long id = dto.getId(); - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(TyYearRainfall::getYear,dto.getYear()) - .eq(TyYearRainfall::getType,1); - if(id != null){ - queryWrapper.ne(TyYearRainfall::getId,id); - } - if(this.count(queryWrapper ) > 0){ - throw new IllegalArgumentException("该年份已存在典型年降雨资料"); - } - Long len = dto.getList().stream().map(TyYearRainfall::getMonth).distinct().collect(Collectors.counting()); - if(dto.getList().size() != len.intValue()){ - throw new IllegalArgumentException("月份不可重复"); - } - } - - public Page pageQuery(TyYearRainfallPageSo tyYearRainfallPageSo) { - Page page = baseMapper.pageQuery(tyYearRainfallPageSo.getPageSo().toPage(), tyYearRainfallPageSo); - fillList(page); - return page; - } - - private void fillList(Page ret) { - if (ret.getRecords() != null) { - queryChild(ret.getRecords()); - } - } - - private void queryChild(List records) { - for (TyYearRainfallVo record : records) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(TyYearRainfall::getYear,record.getYear()) - .eq(TyYearRainfall::getType,2) - .orderByAsc(TyYearRainfall::getMonth); - record.setList(this.list(queryWrapper)); - } - } - - public boolean updateData(TyYearRainfallVo dto) { - checkParam(dto); - TyYearRainfall tyYearRainfall = new TyYearRainfall(); - BeanUtils.copyProperties(dto,tyYearRainfall); - this.updateById(tyYearRainfall); - deleteMonthData(dto.getYear()); - List list = dto.getList(); - if(CollectionUtils.isNotEmpty(list)){ - list.stream().map(o->{ - o.setId(IdWorker.getId()); - return o; - }).collect(Collectors.toList()); - } - return this.saveBatch(list); - } - - private void deleteMonthData(Integer year) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(TyYearRainfall::getYear,year) - .eq(TyYearRainfall::getType,2); - this.remove(queryWrapper); - } - - public Boolean removeData(Long id) { - TyYearRainfall tyYearRainfall = this.getById(id); - deleteMonthData(tyYearRainfall.getYear()); - return this.removeById(id); - } - - public List queryList() { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(TyYearRainfall::getType,1); - List list = this.list(queryWrapper); - List resList = MyBeanUtil.collectionCopy(list,TyYearRainfallVo.class); - queryChild(resList); - return resList; - } -} - - diff --git a/src/main/java/com/gunshi/project/xyt/system/SysUserLoginLogController.java b/src/main/java/com/gunshi/project/xyt/system/SysUserLoginLogController.java deleted file mode 100644 index 7bd79dd..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/SysUserLoginLogController.java +++ /dev/null @@ -1,248 +0,0 @@ -package com.gunshi.project.xyt.system; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.annotation.Get; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.project.xyt.system.model.SysUserLoginLog; -import com.gunshi.project.xyt.system.model.SysVisitMenuLog; -import com.gunshi.project.xyt.system.mapper.SysUserLoginLogMapper; -import com.gunshi.project.xyt.system.mapper.SysVisitMenuLogMapper; -import com.gunshi.project.xyt.system.so.UserLoginLogPageSo; -import com.gunshi.project.xyt.system.so.UserLoginLogSo; -import com.gunshi.project.xyt.system.vo.TodayCountVo; -import com.gunshi.project.xyt.system.vo.UserCountVo; -import com.gunshi.project.xyt.system.vo.VisitCountVo; -import com.gunshi.project.xyt.util.DateUtil; -import com.ruoyi.common.utils.SecurityUtils; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.time.LocalDate; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * Description: - * Created by XuSan on 2024/6/20. - * - * @author XuSan - * @version 1.0 - */ -@RestController -@RequestMapping("/userLoginLog") -@Tag(name = "用户访问记录") -public class SysUserLoginLogController { - - @Autowired - private SysUserLoginLogMapper thisMapper; - - @Autowired - private SysVisitMenuLogMapper thisMenuMapper; - -// @Autowired -// private ProjectCommonService projectCommonService; - - @Post(path = "/page", summary = "分页查询") - public R> page(@RequestBody @Validated UserLoginLogPageSo dto) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - - if (dto.getName() != null) { - queryWrapper.eq(SysUserLoginLog::getCreateId, dto.getName()); - } - - return R.ok(thisMapper.selectPage(dto.getPageSo().toPage(), queryWrapper)); - } - - @Get(path = "/todayCount", summary = "今日数据总览") - public R todayCount() { - - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(SysUserLoginLog.class) - .between(SysUserLoginLog::getCreateDate, DateUtil.convertStringToDate(LocalDate.now().toString() + " 00:00:00"), new Date()); - - List logs = thisMapper.selectList(wrapper); - - if (CollectionUtils.isEmpty(logs)) { - return R.ok(null); - } - - TodayCountVo vo = new TodayCountVo(); - - vo.setWeb1Count( - logs.stream() - .filter(o -> "0".equals(o.getLoginType())) - .count()); - - List webTimes = logs.stream() - .filter(o -> "0".equals(o.getLoginType())) - .filter(o -> o.getLogoutTime() != null && o.getLoginTime() != null) - .map(o -> o.getLogoutTime().getTime() - o.getLoginTime().getTime()) - .collect(Collectors.toList()); - - BigDecimal divisor = BigDecimal.valueOf(1000 * 60 * 60); - vo.setWeb3Count( - BigDecimal.valueOf(webTimes.stream().mapToLong(o -> o).sum()) - .divide(BigDecimal.valueOf(webTimes.size()), 2, RoundingMode.HALF_UP) - .divide(divisor, 2, RoundingMode.HALF_UP) - ); - - vo.setApp1Count( - logs.stream() - .filter(o -> "1".equals(o.getLoginType())) - .count() - ); - - List appTimes = logs.stream() - .filter(o -> "0".equals(o.getLoginType())) - .filter(o -> o.getLogoutTime() != null && o.getLoginTime() != null) - .map(o -> o.getLogoutTime().getTime() - o.getLoginTime().getTime()) - .collect(Collectors.toList()); - - vo.setApp3Count( - BigDecimal.valueOf(appTimes.stream().mapToLong(o -> o).sum()) - .divide(BigDecimal.valueOf(appTimes.size()),2, RoundingMode.HALF_UP) - .divide(divisor,2, RoundingMode.HALF_UP) - ); - - LambdaQueryWrapper wrapperMenuLog = Wrappers.lambdaQuery(SysVisitMenuLog.class) - .eq(SysVisitMenuLog::getCreateTime, new Date()); - - vo.setWeb2Count(0L); - vo.setApp2Count(0L); - - List wrapperMenuLogs = thisMenuMapper.selectList(wrapperMenuLog); - if (CollectionUtils.isNotEmpty(wrapperMenuLogs)) { - vo.setWeb2Count( - wrapperMenuLogs.stream() - .filter(o -> "0".equals(o.getLoginType())) - .count() - ); - - vo.setApp2Count( - wrapperMenuLogs.stream() - .filter(o -> "1".equals(o.getLoginType())) - .count() - ); - } - - return R.ok(vo); - } - - - @Post(path = "/visitCount", summary = "访问用户前十") - public R visitCount(@RequestBody @Validated UserLoginLogSo so) { - - List logs = thisMapper.getUserLoginLog(so.getStm(), so.getEtm()); - - VisitCountVo vo = new VisitCountVo(); - if (CollectionUtils.isEmpty(logs)) { - return R.ok(vo); - } - vo.setWebList(logs.stream() - .filter(o -> "0".equals(o.getLoginType())) - .collect(Collectors.groupingBy(SysUserLoginLog::getUserName, Collectors.counting())) - .entrySet().stream() - .map(o -> { - VisitCountVo.VisitCountDataVo dataVo = new VisitCountVo.VisitCountDataVo(); - dataVo.setCount(o.getValue()); - dataVo.setName(o.getKey()); - return dataVo; - }).collect(Collectors.toList()) - ); - vo.setAppList(logs.stream() - .filter(o -> "1".equals(o.getLoginType())) - .collect(Collectors.groupingBy(SysUserLoginLog::getUserName, Collectors.counting())) - .entrySet().stream() - .map(o -> { - VisitCountVo.VisitCountDataVo dataVo = new VisitCountVo.VisitCountDataVo(); - dataVo.setCount(o.getValue()); - dataVo.setName(o.getKey()); - return dataVo; - }) - .limit(10) - .collect(Collectors.toList()) - - ); - return R.ok(vo); - } - - @Post(path = "/userCount", summary = "日活跃用户数") - public R userCount(@RequestBody @Validated UserLoginLogSo so) { - - List logs = thisMapper.getUserLoginLog(so.getStm(), so.getEtm()); - - UserCountVo vo = new UserCountVo(); - if (CollectionUtils.isEmpty(logs)) { - return R.ok(vo); - } - - vo.setWebList(logs.stream() - .filter(o -> "0".equals(o.getLoginType())) - .collect(Collectors.groupingBy(SysUserLoginLog::getCreateDate, Collectors.counting())) - .entrySet().stream() - .map(o -> { - UserCountVo.UserCountDataVo dataVo = new UserCountVo.UserCountDataVo(); - dataVo.setCount(o.getValue()); - dataVo.setCreateDate(o.getKey()); - return dataVo; - }).collect(Collectors.toList()) - ); - - vo.setAppList(logs.stream() - .filter(o -> "1".equals(o.getLoginType())) - .collect(Collectors.groupingBy(SysUserLoginLog::getCreateDate, Collectors.counting())) - .entrySet().stream() - .map(o -> { - UserCountVo.UserCountDataVo dataVo = new UserCountVo.UserCountDataVo(); - dataVo.setCount(o.getValue()); - dataVo.setCreateDate(o.getKey()); - return dataVo; - }).collect(Collectors.toList()) - ); - return R.ok(vo); - } - - @Post(path = "/insert", summary = "添加") - public R insert(@RequestBody @Validated SysUserLoginLog dto) { - - if (Objects.isNull(dto.getCreateId())) { - Long loginUserId = SecurityUtils.getUserId(); - dto.setCreateId(loginUserId); - } - - // 查询当前时间是否存在 - List uLogs = thisMapper.selectList( - Wrappers - .lambdaQuery(SysUserLoginLog.class) - .eq(SysUserLoginLog::getCreateId,dto.getCreateId()) - .eq(SysUserLoginLog::getCreateDate, new Date())); - - - if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(uLogs)) { - throw new RuntimeException("当前数据已存在"); - } - - Date date = new Date(); - - - // 第一次登录 - dto - .setCreateDate(date) - .setLoginTime(date) - .setLogoutTime(date); - - return R.ok(thisMapper.insert(dto) == 1); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/system/SysVisitMenuLogController.java b/src/main/java/com/gunshi/project/xyt/system/SysVisitMenuLogController.java deleted file mode 100644 index 2979583..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/SysVisitMenuLogController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.gunshi.project.xyt.system; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.core.annotation.Post; -import com.gunshi.core.result.R; -import com.gunshi.core.result.exception.NeedLoginException; -import com.gunshi.project.xyt.system.mapper.SysVisitMenuLogMapper; -import com.gunshi.project.xyt.system.model.SysVisitMenuLog; -import com.gunshi.project.xyt.system.so.VisitMenuLogPageSo; -import com.ruoyi.common.utils.SecurityUtils; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Comparator; -import java.util.List; -import java.util.stream.Collectors; - -/** - * Description: - * Created by XuSan on 2024/6/20. - * - * @author XuSan - * @version 1.0 - */ -@Slf4j -@RestController -@RequestMapping("/visitMenuLog") -@Tag(name = "页面访问记录") -public class SysVisitMenuLogController { - - @Autowired - private SysVisitMenuLogMapper thisMapper; - - -// @Resource -// private ProjectCommonService projectCommonService; - @Post(path = "/page", summary = "分页查询") - public R> page(@RequestBody @Validated VisitMenuLogPageSo dto) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - - if (dto.getMenu() != null) { - queryWrapper.like(SysVisitMenuLog::getMenu1, dto.getMenu()); - queryWrapper.like(SysVisitMenuLog::getMenu2, dto.getMenu()); - queryWrapper.like(SysVisitMenuLog::getMenu3, dto.getMenu()); - } - - return R.ok(thisMapper.selectPage(dto.getPageSo().toPage(), queryWrapper)); - } - - @Post(path = "/count", summary = "统计查询") - public R> count(@RequestBody @Validated VisitMenuLogPageSo dto) { - - LambdaQueryWrapper queryWrapper = Wrappers.query(SysVisitMenuLog.class) - .select("COUNT(ID) COUNT, menu2, menu1") - .lambda(); - - if (dto.getStm() != null) { - queryWrapper.ge(SysVisitMenuLog::getCreateTime, dto.getStm()); - } - - if (dto.getEtm() != null) { - queryWrapper.le(SysVisitMenuLog::getCreateTime, dto.getEtm()); - } - - queryWrapper.groupBy(SysVisitMenuLog::getMenu2, SysVisitMenuLog::getMenu1); - - List list = thisMapper.selectList(queryWrapper); - - - return R.ok( - list - .stream() - .sorted( - Comparator - .comparing(SysVisitMenuLog::getCount) - .reversed() - ) - .collect(Collectors.toList()) - ); - } - - @Post(path = "/insert", summary = "添加") - public R insert(@RequestBody @Validated SysVisitMenuLog dto) { - - Long loginUserId = null; - // 获取用户id - try { - loginUserId = SecurityUtils.getUserId(); - } catch (NeedLoginException e) { - log.info("获取登录账号id," + e.getMessage(), e); - } - if (null == dto.getCreateId() && null != loginUserId){ - dto.setCreateId(loginUserId); - } - return R.ok(thisMapper.insert(dto) == 1); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/system/aspect/SysUserLogAspect.java b/src/main/java/com/gunshi/project/xyt/system/aspect/SysUserLogAspect.java deleted file mode 100644 index f2c14d3..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/aspect/SysUserLogAspect.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.gunshi.project.xyt.system.aspect; - -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.gunshi.project.xyt.system.mapper.SysUserLoginLogMapper; -import com.gunshi.project.xyt.system.model.SysUserLoginLog; -import com.gunshi.project.xyt.system.utils.ReqUtil; -import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.utils.SecurityUtils; -import jakarta.servlet.http.HttpServletRequest; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Before; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; - -import java.util.Date; -import java.util.List; -import java.util.Objects; - -/** - * Description: - * Created by XuSan on 2024/6/20. - * - * @author XuSan - * @version 1.0 - */ -@Aspect -@Slf4j -@Component -public class SysUserLogAspect { - - @Autowired - private SysUserLoginLogMapper userLoginLogMapper; - -// @Autowired -// private ProjectCommonService projectCommonService; - - - @Pointcut("execution(public * com.gunshi.project.xyt.controller..*Controller.*(..))") - public void controllerPointcut() { - } - - @Before("controllerPointcut()") - public void doBefore(JoinPoint joinPoint) throws Throwable { - - log.info("进入记录日志切面"); - - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - HttpServletRequest request = attributes.getRequest(); - - Long loginUserId = null; - // 获取用户id - try { -// loginUserId = projectCommonService.getLoginUserId(); - loginUserId = SecurityUtils.getUserId(); - } catch (ServiceException e) { -// log.info("获取登录账号id," + e.getMessage(), e); - log.info("获取登录账号id异常,请重新登录"); - } - if (loginUserId != null) { - - String loginType = request.getHeader("loginType"); - if (StringUtils.isBlank(loginType)){ - loginType = "0"; - } - - // 查询当前时间是否存在 - List uLogs = userLoginLogMapper.selectList( - Wrappers - .lambdaQuery(SysUserLoginLog.class) - .eq(SysUserLoginLog::getLoginType, loginType) - .eq(SysUserLoginLog::getCreateDate, new Date()) - .eq(SysUserLoginLog::getCreateId, loginUserId)); - - Integer id = null; - SysUserLoginLog o = new SysUserLoginLog(); - if (CollectionUtils.isNotEmpty(uLogs)) { - o = uLogs.getFirst(); - id = o.getId(); - } - - Date date = new Date(); - - - if (Objects.isNull(id)) { - String ip = request.getHeader("ClientIp"); - - if (StringUtils.isBlank(ip)) { - ip = ReqUtil.getIpAddress(request); - } - - // 第一次登录 - o.setLoginType(loginType); - o.setCreateId(loginUserId) - .setCreateDate(date) - .setLoginTime(date) - .setIp(ip) - .setLogoutTime(date); - if (userLoginLogMapper.insert(o) != 1) { - log.error("插入用户登录日志失败"); - } - } else { - o.setId(id); - o.setLogoutTime(date); - if (userLoginLogMapper.updateById(o) != 1) { - log.error("更新用户登录日志失败"); - } - } - - } - log.info("记录日志切面结束"); - - } - - -} diff --git a/src/main/java/com/gunshi/project/xyt/system/mapper/SysUserLoginLogMapper.java b/src/main/java/com/gunshi/project/xyt/system/mapper/SysUserLoginLogMapper.java deleted file mode 100644 index 082c235..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/mapper/SysUserLoginLogMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.gunshi.project.xyt.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.system.model.SysUserLoginLog; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.Date; -import java.util.List; - -@Mapper -public interface SysUserLoginLogMapper extends BaseMapper { - - @Select(""" - - """) - List getUserLoginLog(@Param("stm") Date stm , @Param("etm") Date etm); - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/system/mapper/SysVisitMenuLogMapper.java b/src/main/java/com/gunshi/project/xyt/system/mapper/SysVisitMenuLogMapper.java deleted file mode 100644 index a2f86ba..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/mapper/SysVisitMenuLogMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.gunshi.project.xyt.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.system.model.SysVisitMenuLog; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface SysVisitMenuLogMapper extends BaseMapper { -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/system/model/SysUserLoginLog.java b/src/main/java/com/gunshi/project/xyt/system/model/SysUserLoginLog.java deleted file mode 100644 index aabe067..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/model/SysUserLoginLog.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.gunshi.project.xyt.system.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.Date; - -/** - * 流域基础信息表 - */ -@Schema(description="用户登录日志") -@Data -@TableName(value = "public.sys_user_login_log") -@Accessors(chain = true) -public class SysUserLoginLog implements Serializable { - - @TableId(value = "id", type = IdType.AUTO) - @Schema(description="主键id") - @JsonSerialize(using = ToStringSerializer.class) - @JsonFormat(shape = JsonFormat.Shape.STRING) - private Integer id; - - @TableField(value = "create_id") - @Schema(description="用户编号") - private Long createId; - - @TableField(value = "login_type") - @Schema(description="登录类型, 0: web, 1:app") - private String loginType; - - @TableField(value = "ip") - @Schema(description="ip") - private String ip; - - @TableField(value = "create_date") - @Schema(description="日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date createDate; - - - @TableField(value = "login_time") - @Schema(description="登录时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date loginTime; - - - @TableField(value = "logout_time") - @Schema(description="登出时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date logoutTime; - - - @TableField(exist = false) - @Schema(description="用户名称") - private String userName; -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/system/model/SysVisitMenuLog.java b/src/main/java/com/gunshi/project/xyt/system/model/SysVisitMenuLog.java deleted file mode 100644 index 6b211e4..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/model/SysVisitMenuLog.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.gunshi.project.xyt.system.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * 流域基础信息表 - */ -@Schema(description="菜单访问日志") -@Data -@TableName(value = "public.sys_visit_menu_log") -public class SysVisitMenuLog implements Serializable { - - @TableId(value = "id", type = IdType.AUTO) - @Schema(description="主键id") - @JsonSerialize(using = ToStringSerializer.class) - @JsonFormat(shape = JsonFormat.Shape.STRING) - private Integer id; - - @TableField(value = "create_id") - @Schema(description="用户编号") - private Long createId; - - @TableField(value = "login_type") - @Schema(description="登录类型, 0: web, 1:app") - private String loginType; - - @TableField(value = "create_time") - @Schema(description="创建时间") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") - private Date createTime; - - @TableField(value = "menu1") - @Schema(description="菜单1") - private String menu1; - - @TableField(value = "menu2") - @Schema(description="菜单2") - private String menu2; - - @TableField(value = "menu3") - @Schema(description="菜单3") - private String menu3; - - @TableField(exist = false) - @Schema(description="统计数量") - private String count; - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/system/so/UserLoginLogPageSo.java b/src/main/java/com/gunshi/project/xyt/system/so/UserLoginLogPageSo.java deleted file mode 100644 index eceb8d1..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/so/UserLoginLogPageSo.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gunshi.project.xyt.system.so; - -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.util.Date; - -/** - * - * Created by wanyan on 2024/4/7. - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "用户访问记录分页查询条件") -public class UserLoginLogPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="名称") - private String name; - - @Schema(description="开始时间 yyyy-MM-dd HH:mm:ss") - private Date stm; - - @Schema(description="结束时间 yyyy-MM-dd HH:mm:ss") - private Date etm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/system/so/UserLoginLogSo.java b/src/main/java/com/gunshi/project/xyt/system/so/UserLoginLogSo.java deleted file mode 100644 index 2e245e1..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/so/UserLoginLogSo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gunshi.project.xyt.system.so; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.util.Date; - -/** - * - * Created by wanyan on 2024/4/7. - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "用户访问记录统计查询条件") -public class UserLoginLogSo { - - - @Schema(description="开始时间 yyyy-MM-dd HH:mm:ss") - @NotNull - private Date stm; - - @Schema(description="结束时间 yyyy-MM-dd HH:mm:ss") - @NotNull - private Date etm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/system/so/VisitMenuLogPageSo.java b/src/main/java/com/gunshi/project/xyt/system/so/VisitMenuLogPageSo.java deleted file mode 100644 index d1d8cf5..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/so/VisitMenuLogPageSo.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gunshi.project.xyt.system.so; - -import com.gunshi.db.dto.PageSo; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import lombok.Data; - -import java.util.Date; - -/** - * - * Created by wanyan on 2024/4/7. - * - * @author wanyan - * @version 1.0 - */ -@Data -@Schema(description = "页面访问记录分页查询条件") -public class VisitMenuLogPageSo { - - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; - - @Schema(description="菜单名") - private String menu; - - @Schema(description="名称") - private String name; - - @Schema(description="开始时间 yyyy-MM-dd HH:mm:ss") - private Date stm; - - @Schema(description="结束时间 yyyy-MM-dd HH:mm:ss") - private Date etm; - -} diff --git a/src/main/java/com/gunshi/project/xyt/system/utils/ReqUtil.java b/src/main/java/com/gunshi/project/xyt/system/utils/ReqUtil.java deleted file mode 100644 index f2e22a5..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/utils/ReqUtil.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.gunshi.project.xyt.system.utils; - - -import jakarta.servlet.http.HttpServletRequest; - -public class ReqUtil { -// private static DbConfig config = null; - private static String dbPath = null; - -// private static DbSearcher searcher = null; - - /** - * 获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, - * 可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢? - * 答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。 - * 如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100 - * 用户真实IP为: 192.168.1.110 - * - * @param request - * @return - */ - public static String getIpAddress(HttpServletRequest request) {// 获取客户端ip地址 - String clientIp = request.getHeader("x-forwarded-for"); - - if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) { - clientIp = request.getHeader("Proxy-Client-IP"); - } - if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) { - clientIp = request.getHeader("WL-Proxy-Client-IP"); - } - if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) { - clientIp = request.getRemoteAddr(); - } - /* - * 对于获取到多ip的情况下,找到公网ip. - */ - String sIP = null; - if (clientIp != null && !clientIp.contains("unknown") && clientIp.indexOf(",") > 0) { - String[] ipsz = clientIp.split(","); - for (String anIpsz : ipsz) { - if (!isInnerIP(anIpsz.trim())) { - sIP = anIpsz.trim(); - break; - } - } - /* - * 如果多ip都是内网ip,则取第一个ip. - */ - if (null == sIP) { - sIP = ipsz[0].trim(); - } - clientIp = sIP; - } - if (clientIp != null && clientIp.contains("unknown")) { - clientIp = clientIp.replaceAll("unknown,", ""); - clientIp = clientIp.trim(); - } - if ("".equals(clientIp) || null == clientIp) { - clientIp = "127.0.0.1"; - } - return clientIp; - } - - /** - * 判断IP是否是内网地址 - * - * @param ipAddress ip地址 - * @return 是否是内网地址 - */ - public static boolean isInnerIP(String ipAddress) { - boolean isInnerIp; - long ipNum = getIpNum(ipAddress); - /** - 私有IP:A类 10.0.0.0-10.255.255.255 - B类 172.16.0.0-172.31.255.255 - C类 192.168.0.0-192.168.255.255 - 当然,还有127这个网段是环回地址 - **/ - long aBegin = getIpNum("10.0.0.0"); - long aEnd = getIpNum("10.255.255.255"); - - long bBegin = getIpNum("172.16.0.0"); - long bEnd = getIpNum("172.31.255.255"); - - long cBegin = getIpNum("192.168.0.0"); - long cEnd = getIpNum("192.168.255.255"); - isInnerIp = - isInner(ipNum, aBegin, aEnd) || isInner(ipNum, bBegin, bEnd) || isInner(ipNum, cBegin, cEnd) || ipAddress.equals("127.0.0.1"); - return isInnerIp; - } - - private static long getIpNum(String ipAddress) { - String[] ip = ipAddress.split("\\."); - long a = Integer.parseInt(ip[0]); - long b = Integer.parseInt(ip[1]); - long c = Integer.parseInt(ip[2]); - long d = Integer.parseInt(ip[3]); - - return a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d; - } - - private static boolean isInner(long userIp, long begin, long end) { - return (userIp >= begin) && (userIp <= end); - } - - public static String getRealIP(HttpServletRequest request) { - // 获取客户端ip地址 - String clientIp = request.getHeader("x-forwarded-for"); - - if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) { - clientIp = request.getRemoteAddr(); - } - - String[] clientIps = clientIp.split(","); - if (clientIps.length <= 1) return clientIp.trim(); - - // 判断是否来自CDN - if (isComefromCDN(request)) { - if (clientIps.length >= 2) return clientIps[clientIps.length - 2].trim(); - } - - return clientIps[clientIps.length - 1].trim(); - } - - private static boolean isComefromCDN(HttpServletRequest request) { - String host = request.getHeader("host"); - return host.contains("www.189.cn") || host.contains("shouji.189.cn") || host.contains("image2.chinatelecom-ec" + - ".com") || host.contains("image1.chinatelecom-ec.com"); - } - -// public static synchronized String getRegion(String ip) { -// if (StrKit.isBlank(ip)) return null; -// boolean isIpAddress = Util.isIpAddress(ip); -// if (!isIpAddress) return null; -// try { -// if (searcher == null) { -// if (null == config) config = new DbConfig(); -// if (null == dbPath) dbPath = ReqUtil.class.getResource("/ip2region/ip2region.db").getPath(); -// searcher = new DbSearcher(config, dbPath); -// } -// -// DataBlock dataBlock = searcher.binarySearch(ip); -// return dataBlock.getRegion(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// -// return null; -// } -} diff --git a/src/main/java/com/gunshi/project/xyt/system/vo/TodayCountVo.java b/src/main/java/com/gunshi/project/xyt/system/vo/TodayCountVo.java deleted file mode 100644 index 9e56315..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/vo/TodayCountVo.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.gunshi.project.xyt.system.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * Description: - * Created by XuSan on 2024/6/25. - * - * @author XuSan - * @version 1.0 - */ -@Data -public class TodayCountVo { - - @Schema(description = "WEB端访问次数") - private Long web1Count; - - @Schema(description = "WEB端浏览次数") - private Long web2Count; - - @Schema(description = "WEB端平均访问时长") - private BigDecimal web3Count; - - @Schema(description = "移动端访问次数") - private Long app1Count; - - @Schema(description = "移动端浏览次数") - private Long app2Count; - - @Schema(description = "移动端平均访问时长") - private BigDecimal app3Count; - -} diff --git a/src/main/java/com/gunshi/project/xyt/system/vo/UserCountVo.java b/src/main/java/com/gunshi/project/xyt/system/vo/UserCountVo.java deleted file mode 100644 index 20c4567..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/vo/UserCountVo.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gunshi.project.xyt.system.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.gunshi.core.dateformat.DateFormatString; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.Date; -import java.util.List; - -/** - * Description: - * Created by XuSan on 2024/6/25. - * - * @author XuSan - * @version 1.0 - */ -@Data -public class UserCountVo { - - @Schema(description = "web统计数据") - private List webList; - - @Schema(description = "app统计数据") - private List appList; - - @Data - public static class UserCountDataVo { - - @Schema(description="日期") - @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") - private Date createDate; - - @Schema(description = "统计数据") - private Long count; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/system/vo/VisitCountVo.java b/src/main/java/com/gunshi/project/xyt/system/vo/VisitCountVo.java deleted file mode 100644 index 644af7d..0000000 --- a/src/main/java/com/gunshi/project/xyt/system/vo/VisitCountVo.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.gunshi.project.xyt.system.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.List; - -/** - * Description: - * Created by XuSan on 2024/6/25. - * - * @author XuSan - * @version 1.0 - */ -@Data -public class VisitCountVo { - - @Schema(description = "web统计数据") - private List webList; - - @Schema(description = "app统计数据") - private List appList; - - @Data - public static class VisitCountDataVo { - - @Schema(description = "名字") - private String name; - - @Schema(description = "统计数据") - private Long count; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java b/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java deleted file mode 100644 index 7eaba0f..0000000 --- a/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java +++ /dev/null @@ -1,604 +0,0 @@ -package com.gunshi.project.xyt.timetask; - -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.gunshi.project.xyt.model.StPptnR; -import com.gunshi.project.xyt.model.StPptnRD; -import com.gunshi.project.xyt.model.StPptnRH; -import com.gunshi.project.xyt.model.StRiverR; -import com.gunshi.project.xyt.model.StRiverRReal; -import com.gunshi.project.xyt.model.StRsvrR; -import com.gunshi.project.xyt.model.StRsvrRReal; -import com.gunshi.project.xyt.service.StPptnRDService; -import com.gunshi.project.xyt.service.StPptnRHService; -import com.gunshi.project.xyt.service.StPptnRRealService; -import com.gunshi.project.xyt.service.StPptnRService; -import com.gunshi.project.xyt.service.StRiverRRealService; -import com.gunshi.project.xyt.service.StRiverRService; -import com.gunshi.project.xyt.service.StRsvrRRealService; -import com.gunshi.project.xyt.service.StRsvrRService; -import com.gunshi.project.xyt.util.OkHttpUtil; -import jakarta.annotation.PostConstruct; -import lombok.extern.slf4j.Slf4j; -import okhttp3.FormBody; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.Response; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Profile; -import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.io.IOException; -import java.math.BigDecimal; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.concurrent.TimeUnit; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** -*@description 檀树岗数据定时任务 -*@author cxw -*@classname DataTaskTSG.java -*@create 2024-09-20, 周五, 17:05:22 -*/ -@EnableScheduling//开启定时任务 -@Component -@Slf4j - @Profile({"prod","dev"}) -public class DataTaskTSG { - private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - private static SimpleDateFormat sdfD = new SimpleDateFormat("yyyy-MM-dd"); - - - private static SimpleDateFormat sdfEight = new SimpleDateFormat("yyyy-MM-dd 08:00:00"); - - - @Value("${jcskPath}") - private String jcskPath;// 荆楚水库同步地址 - - @Value("${jcskToken}") - private String jcskToken;// 荆楚水库同步接口token - - @Value("${reloadCache}") - private String reloadCache;// 清除ip白名单缓存 - - public static String jcskPathPptnRoute = "/pptn/";// 雨情接口,需拼接源(sh、sw、qx) - - public static String jcskPathRrRiverRoute = "/river/";// ZZ河道水位接口 - public static String jcskPathZzRsvrRoute = "/rsvr/";// RR水库水位接口 - - // 实时雨情 - @Autowired - private StPptnRRealService stPptnRRealService; - - // 历史雨情 - @Autowired - private StPptnRService stPptnRService; - - // 小时雨情 - @Autowired - private StPptnRHService stPptnRHService; - - // 按天雨情 - @Autowired - private StPptnRDService stPptnRDService; - - // 实时水情 - @Autowired - private StRsvrRRealService stRsvrRRealService; - - // 历史水情 - @Autowired - private StRsvrRService stRsvrRService; - - // 实时水情 - @Autowired - private StRiverRRealService stRiverRRealService; - - // 历史水情 - @Autowired - private StRiverRService stRiverRService; - - /** - * @param - * @description: 定时获取水库雨情数据(历史、天、时、real) - * @return: void - * @auther: cxw - * @date: 2024-09-20, 周五, 17:07:23 - */ - @Async - @Scheduled(fixedRate = 5, timeUnit = TimeUnit.MINUTES) - public void getPptnData() { - Date now = new Date(); - System.out.println("雨情实时定时任务,执行时间:" + sdf.format(now)); - // 获取水库站点编码 - List stcdLastPptnDatas = stPptnRService.getStcdLastPptnData(); - OkHttpClient client = OkHttpUtil.build(); - try { - if (CollectionUtils.isNotEmpty(stcdLastPptnDatas)) { - for (StPptnR stPptnR : stcdLastPptnDatas) { - Calendar calendar = Calendar.getInstance(); - String stcd = stPptnR.getStcd(); - String source = stPptnR.getSource().toLowerCase(); - Date stm = stPptnR.getStm(); - // 默认30天前 - if (ObjectUtils.isEmpty(stm)) { - if ("sh".equals(stPptnR.getSource().toLowerCase())) { - calendar.add(Calendar.DATE, -30); - } else { - calendar.add(Calendar.DATE, -2); - calendar.add(Calendar.HOUR_OF_DAY, -20); - } - } else { - int diffDays = new BigDecimal((int) Math.ceil((now.getTime() - stm.getTime()) / (24 * 60 * 60 * 1000))).intValue(); - if (diffDays > 3) { - calendar.add(Calendar.DATE, -2); - calendar.add(Calendar.HOUR_OF_DAY, -20); - } else { - calendar.setTime(stm); - calendar.add(Calendar.MINUTE, 1); - } - } - stm = calendar.getTime(); - String url = jcskPath; - if ("shylres".equals(source)) { - url += "/" + source + "/pptn"; - } else { - url += jcskPathPptnRoute + stPptnR.getSource().toLowerCase(); - } - Response resp = client.newCall(new Request.Builder().url(url) - .post(new FormBody.Builder().add("stcd", stcd) - .add("stm", sdf.format(stm)) - .add("etm", sdf.format(now)) - .build()) - .header("Token", jcskToken) - .addHeader("Content-Type", "application/x-www-form-urlencoded") - .build()).execute(); - String respStr = resp.body().string(); - JSONObject jsonObject = JSONObject.parseObject(respStr.toLowerCase()); - // 清除同步平台的ip白名单缓存 - if ("401".equals(jsonObject.get("code").toString())) { - OkHttpClient clientCache = new OkHttpClient(); - Request request = new Request.Builder().url(reloadCache).build(); - clientCache.newCall(request).execute(); - } - JSONArray data = jsonObject.getJSONArray("data"); - if (ObjectUtils.isNotEmpty(data)) { - List rlist = data.toJavaList(StPptnR.class); - if (CollectionUtils.isNotEmpty(rlist)) { - // 全部替换为stcd,并去重 - rlist = rlist.stream().peek(entity -> entity.setStcd(stPptnR.getStcd())).collect(Collectors.toMap( - e -> e.getStcd().toUpperCase() + "_" + e.getTm(), // 使用属性组合作为键 - Function.identity(), - (existing, replacement) -> existing // 如果有冲突,保留现有的 - )).values().stream().collect(Collectors.toList()); - stPptnRService.saveBatch(rlist); - // 更新到实时数据表 - stPptnRRealService.updatePptnRReal(rlist.get(0).getStcd()); - // 整编降雨量天表数据 - StPptnRD maxDataD = stPptnRDService.getMaxData(stPptnR.getStcd()); - Date tmMax = maxDataD.getTm(); - maxDataD.setTm(sdf.parse(sdfEight.format(tmMax))); - List listD = stPptnRDService.reorganizePptnRDData(stPptnR.getStcd(), maxDataD); - if (CollectionUtils.isNotEmpty(listD)) { - if (listD.size() > 0) { - listD = listD.stream() - .map(user -> { - user.setYear(Integer.valueOf(sdfD.format(user.getTm()).substring(0, 4))); // 修改属性值 - return user; - }).collect(Collectors.toList()); - QueryWrapper deleteWrapper = new QueryWrapper<>(); - deleteWrapper.eq("stcd", stcd).ge("tm", tmMax); - stPptnRDService.remove(deleteWrapper); - stPptnRDService.saveBatch(listD); - } - } - // 整编降雨量小时表数据 - StPptnRH maxDataH = stPptnRHService.getMaxData(stPptnR.getStcd()); - List listH = stPptnRHService.reorganizePptnRHData(stPptnR.getStcd(), maxDataH); - if (CollectionUtils.isNotEmpty(listH)) { - StPptnRH LastData = listH.get(0); - if (LastData.getTm().equals(maxDataH.getTm())) { - listH.remove(0); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("stcd", LastData.getStcd()).eq("tm", LastData.getTm()); - LastData.setDrp(LastData.getDrp()); - LastData.setChtm(maxDataH.getChtm()); - stPptnRHService.saveOrUpdate(LastData, updateWrapper); - } - if (listH.size() > 0) { - stPptnRHService.saveBatch(listH); - } - } - } - } - } - } - } catch (IOException e) { - log.error("荆楚水库雨情定时任务失败:", e.getMessage()); - } catch (ParseException e) { - throw new RuntimeException(e); - } - } - - /** - * @description: 定时获取水库水情数据(历史、real) - * @param - * @return: void - * @auther: cxw - * @date: 2024-09-23, 周一, 11:23:04 - */ - @Async - @Scheduled(fixedRate = 5, timeUnit = TimeUnit.MINUTES) - public void getRiverData() { - Date now = new Date(); - System.out.println("水情历史定时任务,执行时间:" + sdf.format(now)); - // 获取水库站点编码历史水情表中站点最新数据时间 - List stcdLast = stRsvrRService.getStcdLastRsvrData(); - OkHttpClient client = OkHttpUtil.build(); - try { - if (CollectionUtils.isNotEmpty(stcdLast)) { - for (StRsvrR stRsvrR : stcdLast) { - Date stm = stRsvrR.getStm(); - String source = stRsvrR.getSource().toLowerCase(); - String sttp = stRsvrR.getSttp().toLowerCase(); - Calendar calendar = Calendar.getInstance(); - // 默认40天前(接口最多40天),存在则加1小时(接口是按小时算且大于等于开始时间) - // 默认30天前 - if (ObjectUtils.isEmpty(stm)) { - if ("sh".equals(source)) { - calendar.add(Calendar.DATE, -30); - } else { - calendar.add(Calendar.DATE, -2); - calendar.add(Calendar.HOUR_OF_DAY, -20); - } - } else { - int diffDays = new BigDecimal((int) Math.ceil((now.getTime() - stm.getTime()) / (24 * 60 * 60 * 1000))).intValue(); - if (diffDays > 3) { - calendar.add(Calendar.DATE, -2); - calendar.add(Calendar.HOUR_OF_DAY, -20); - } else { - calendar.setTime(stm); - calendar.add(Calendar.MINUTE, 1); - } - } - stm = calendar.getTime(); - String url = jcskPath; - if("shylres".equals(source)) { - url += "/" + source + "/rsvr"; - } else { - if ("rr".equals(sttp)) { - url += jcskPathZzRsvrRoute + source; - } else if ("zz".equals(sttp)) { - url += jcskPathRrRiverRoute + source; - } else { - continue; - } - } - Response resp = client.newCall(new Request.Builder().url(url) - .post(new FormBody.Builder().add("stcd", stRsvrR.getStcd()) - .add("stm", sdf.format(stm)) - .add("etm", sdf.format(now)) - .build()) - .header("Token", jcskToken) - .addHeader("Content-Type", "application/x-www-form-urlencoded") - .build()).execute(); - String respStr = resp.body().string(); - JSONObject jsonObject = JSONObject.parseObject(respStr.toLowerCase()); - if (!"200".equals(jsonObject.get("code").toString())) { - continue; - } - JSONArray data = jsonObject.getJSONArray("data"); - if (CollectionUtils.isNotEmpty(data)) { - if ("zz".equals(sttp)) { - List rlist = data.toJavaList(StRiverR.class); - stRiverRService.saveBatch(rlist); - // 更新实时表数据 - StRiverR stRiverRLast = rlist.get(rlist.size() - 1); - StRiverRReal stRiverRReal = new StRiverRReal(); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("stcd", stRiverRLast.getStcd()).eq("tm", stRiverRLast.getTm()); - BeanUtils.copyProperties(stRiverRLast, stRiverRReal); - stRiverRReal.setChtm(new Date()); - stRiverRRealService.saveOrUpdate(stRiverRReal, updateWrapper); - } else if ("rr".equals(sttp)) { - List rlist = data.toJavaList(StRsvrR.class); - stRsvrRService.saveBatch(rlist); - // 更新实时表数据 - StRsvrR stRsvrRLast = rlist.get(rlist.size() - 1); - StRsvrRReal stRsvrRReal = new StRsvrRReal(); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("stcd", stRsvrRLast.getStcd()).eq("tm", stRsvrRLast.getTm()); - BeanUtils.copyProperties(stRsvrRLast, stRsvrRReal); - stRsvrRReal.setChtm(new Date()); - stRsvrRRealService.saveOrUpdate(stRsvrRReal, updateWrapper); - } - } - } - } - } catch (IOException e) { - log.error("水情历史定时任务错误:", e.getMessage()); - } - } - - /** - * @description: 补雨量数据 - * @param - * @return: void - * @auther: cxw - * @date: 2024-10-16, 周三, 16:24:29 - */ -// @PostConstruct - public void supplementPptnData() { - Date now = new Date(); - System.out.println("补雨量数据任务,执行时间:" + sdf.format(now)); - List stcdLastPptnDatas = stPptnRService.getStcdFirstPptnData(); - OkHttpClient client = OkHttpUtil.build(); - try { - if (CollectionUtils.isNotEmpty(stcdLastPptnDatas)) { - for (StPptnR stPptnR : stcdLastPptnDatas) { - String stm = "2024-01-01 00:00:00";// 补数据的开始时间 - Calendar calendar = Calendar.getInstance(); - String source = stPptnR.getSource().toLowerCase(); - String url = jcskPath; - if ("shylres".equals(source)) { - url += "/" + source + "/pptn"; - } else { - url += jcskPathPptnRoute + stPptnR.getSource().toLowerCase(); - } - String stcd = stPptnR.getStcd(); - Date etmD = null; - if (ObjectUtils.isEmpty(stPptnR.getEtm())) { - etmD = now; - } else { - etmD = stPptnR.getEtm(); - } - String etm = sdf.format(etmD);// 补数据的结束时间 - if (stmIsBeforeEtm(etm, stm, "yyyy-MM-dd HH:mm:ss")) { - continue; - } - // 结束日期往前减4分钟,防止数据重复 - Calendar calendarEtm = Calendar.getInstance(); - calendarEtm.setTime(sdf.parse(etm)); - calendarEtm.add(Calendar.MINUTE, -4); - etm = sdf.format(calendarEtm.getTime()); - // 开始时间往后推3天,不超过结束日期 - while (stmIsBeforeEtm(stm, etm, "yyyy-MM-dd HH:mm:ss")) { - String newEtm = dateManipulation(stm, 3, "yyyy-MM-dd HH:mm:ss"); - if(stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")){ - newEtm = etm; - } - Response resp = client.newCall(new Request.Builder().url(url).post(new FormBody.Builder().add("stcd", stcd).add("stm", stm).add("etm", newEtm).build()).header("Token", jcskToken).addHeader("Content-Type", "application/x-www" + - "-form-urlencoded").build()).execute(); - String respStr = resp.body().string(); - JSONObject jsonObject = JSONObject.parseObject(respStr.toLowerCase()); - // 清除同步平台的ip白名单缓存 - if ("401".equals(jsonObject.get("code").toString())) { - OkHttpClient clientCache = new OkHttpClient(); - Request request = new Request.Builder().url(reloadCache).build(); - clientCache.newCall(request).execute(); - } - JSONArray data = jsonObject.getJSONArray("data"); - if (ObjectUtils.isNotEmpty(data)) { - List rlist = data.toJavaList(StPptnR.class); - if (CollectionUtils.isNotEmpty(rlist)) { - // 全部替换为stcd,并去重 - rlist = rlist.stream().peek(entity -> entity.setStcd(stPptnR.getStcd())).collect(Collectors.toMap(e -> e.getStcd().toUpperCase() + "_" + e.getTm(), // 使用属性组合作为键 - Function.identity(), (existing, replacement) -> existing // 如果有冲突,保留现有的 - )).values().stream().collect(Collectors.toList()); - stPptnRService.saveBatch(rlist); - // 更新到实时数据表 - stPptnRRealService.updatePptnRReal(rlist.get(0).getStcd()); - // 整编降雨量天表数据 - StPptnRD maxDataD = stPptnRDService.getMaxData(stPptnR.getStcd()); - Date tmMax = maxDataD.getTm(); - maxDataD.setTm(sdf.parse(sdfEight.format(tmMax))); - List listD = stPptnRDService.reorganizePptnRDData(stPptnR.getStcd(), maxDataD); - if (CollectionUtils.isNotEmpty(listD)) { - if (listD.size() > 0) { - listD = listD.stream().map(user -> { - user.setYear(Integer.valueOf(sdfD.format(user.getTm()).substring(0, 4))); // 修改属性值 - return user; - }).collect(Collectors.toList()); - QueryWrapper deleteWrapper = new QueryWrapper<>(); - deleteWrapper.eq("stcd", stcd).ge("tm", tmMax); - stPptnRDService.remove(deleteWrapper); - stPptnRDService.saveBatch(listD); - } - } - // 整编降雨量小时表数据 - StPptnRH maxDataH = stPptnRHService.getMaxData(stPptnR.getStcd()); - List listH = stPptnRHService.reorganizePptnRHData(stPptnR.getStcd(), maxDataH); - if (CollectionUtils.isNotEmpty(listH)) { - StPptnRH LastData = listH.get(0); - if (LastData.getTm().equals(maxDataH.getTm())) { - listH.remove(0); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("stcd", LastData.getStcd()).eq("tm", LastData.getTm()); - LastData.setDrp(LastData.getDrp()); - LastData.setChtm(maxDataH.getChtm()); - stPptnRHService.saveOrUpdate(LastData, updateWrapper); - } - if (listH.size() > 0) { - stPptnRHService.saveBatch(listH); - } - } - } - } - if (stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")) { - stm = etm; - } else { - stm = newEtm; - } - calendar.setTime(sdf.parse(stm)); - calendar.add(Calendar.MINUTE, 5); - stm = sdf.format(calendar.getTime()); - } - } - } - } catch (IOException e) { - log.error("补雨量数据任务失败:", e.getMessage()); - } catch (ParseException e) { - throw new IllegalArgumentException(e); - } - } - - /** - * @description: 补水位数据 - * @param - * @return: void - * @auther: cxw - * @date: 2024-10-16, 周三, 17:13:33 - */ -// @PostConstruct - public void supplementRsvrData() { - Date now = new Date(); - System.out.println("补水位数据任务,执行时间:" + sdf.format(now)); - List stcdLast = stRsvrRService.getStcdFirstRsvrData(); - OkHttpClient client = OkHttpUtil.build(); - try { - if (CollectionUtils.isNotEmpty(stcdLast)) { - for (StRsvrR stRsvrR : stcdLast) { - String sttp = stRsvrR.getSttp().toLowerCase(); - String source = stRsvrR.getSource().toLowerCase(); - String stm = "2024-01-01 00:00:00";// 补数据的开始时间 - Calendar calendar = Calendar.getInstance(); - Date etmD = null; - if (ObjectUtils.isEmpty(stRsvrR.getEtm())) { - etmD = now; - } else { - etmD = stRsvrR.getEtm(); - } - String etm = sdf.format(etmD);// 补数据的结束时间 - if (stmIsBeforeEtm(etm, stm, "yyyy-MM-dd HH:mm:ss")) { - continue; - } - String url = jcskPath; - if("shylres".equals(source)) { - url += "/" + source + "/rsvr"; - } else { - if ("rr".equals(sttp)) { - url += jcskPathZzRsvrRoute + source; - } else if ("zz".equals(sttp)) { - url += jcskPathRrRiverRoute + source; - } else { - continue; - } - } - // 结束日期往前减4分钟,防止数据重复 - Calendar calendarEtm = Calendar.getInstance(); - calendarEtm.setTime(sdf.parse(etm)); - calendarEtm.add(Calendar.MINUTE, -4); - etm = sdf.format(calendarEtm.getTime()); - while (stmIsBeforeEtm(stm, etm, "yyyy-MM-dd HH:mm:ss")) { - String newEtm = dateManipulation(stm, 3, "yyyy-MM-dd HH:mm:ss"); - if(stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")){ - newEtm = etm; - } - Response resp = client.newCall(new Request.Builder().url(url) - .post(new FormBody.Builder().add("stcd", stRsvrR.getStcd()) - .add("stm", stm) - .add("etm", newEtm) - .build()) - .header("Token", jcskToken) - .addHeader("Content-Type", "application/x-www-form-urlencoded") - .build()).execute(); - String respStr = resp.body().string(); - JSONObject jsonObject = JSONObject.parseObject(respStr.toLowerCase()); - if (!"200".equals(jsonObject.get("code").toString())) { - continue; - } - JSONArray data = jsonObject.getJSONArray("data"); - if (CollectionUtils.isNotEmpty(data)) { - if ("zz".equals(sttp)) { - List rlist = data.toJavaList(StRiverR.class); - stRiverRService.saveBatch(rlist); - // 更新实时表数据 - StRiverR stRiverRLast = rlist.get(rlist.size() - 1); - StRiverRReal stRiverRReal = new StRiverRReal(); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("stcd", stRiverRLast.getStcd()).eq("tm", stRiverRLast.getTm()); - BeanUtils.copyProperties(stRiverRLast, stRiverRReal); - stRiverRReal.setChtm(new Date()); - stRiverRRealService.saveOrUpdate(stRiverRReal, updateWrapper); - } else if ("rr".equals(sttp)) { - List rlist = data.toJavaList(StRsvrR.class); - stRsvrRService.saveBatch(rlist); - // 更新实时表数据 - StRsvrR stRsvrRLast = rlist.get(rlist.size() - 1); - StRsvrRReal stRsvrRReal = new StRsvrRReal(); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("stcd", stRsvrRLast.getStcd()).eq("tm", stRsvrRLast.getTm()); - BeanUtils.copyProperties(stRsvrRLast, stRsvrRReal); - stRsvrRReal.setChtm(new Date()); - stRsvrRRealService.saveOrUpdate(stRsvrRReal, updateWrapper); - } - } - if (stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")) { - stm = etm; - } else { - stm = newEtm; - } - calendar.setTime(sdf.parse(stm)); - calendar.add(Calendar.MINUTE, 5); - stm = sdf.format(calendar.getTime()); - } - } - } - } catch (IOException e) { - log.error("补水位数据任务错误:", e.getMessage()); - } catch (ParseException e) { - throw new IllegalArgumentException(e); - } - } - - - private Boolean stmIsBeforeEtm(String stm, String etm, String fmt) { - Boolean ret = false; - try { - SimpleDateFormat sdf = new SimpleDateFormat(fmt); - Date date1 = sdf.parse(stm); - Date date2 = sdf.parse(etm); - if (date1.equals(date2)) { - ret = true; - } else if (date1.before(date2)) { - ret = true; - } - } catch (Exception e) { - e.printStackTrace(); - throw new RuntimeException("时间大小不正确!"); - } - return ret; - } - - private String dateManipulation(String tm, int daysToSubtract, String fmt) { - String newDateString = ""; - try { - SimpleDateFormat dateFormat = new SimpleDateFormat(fmt); - Date parsedDate = dateFormat.parse(tm); - - Calendar calendar = Calendar.getInstance(); - calendar.setTime(parsedDate); - calendar.add(Calendar.DATE, daysToSubtract); - - newDateString = dateFormat.format(calendar.getTime()); - } catch (Exception e) { - throw new RuntimeException(e); - } - return newDateString; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/timetask/PaDataTask.java b/src/main/java/com/gunshi/project/xyt/timetask/PaDataTask.java deleted file mode 100644 index 8b24482..0000000 --- a/src/main/java/com/gunshi/project/xyt/timetask/PaDataTask.java +++ /dev/null @@ -1,234 +0,0 @@ -package com.gunshi.project.xyt.timetask; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.gunshi.algorithm.RunoffService; -import com.gunshi.project.xyt.model.AttResBase; -import com.gunshi.project.xyt.model.ForecastK; -import com.gunshi.project.xyt.model.ForecastPa; -import com.gunshi.project.xyt.model.ForecastUseparam; -import com.gunshi.project.xyt.model.StPptnR; -import com.gunshi.project.xyt.model.StStbprpB; -import com.gunshi.project.xyt.service.AttResBaseService; -import com.gunshi.project.xyt.service.ForecastKService; -import com.gunshi.project.xyt.service.ForecastPaService; -import com.gunshi.project.xyt.service.ForecastResultsService; -import com.gunshi.project.xyt.service.ForecastUseparamService; -import com.gunshi.project.xyt.service.StPptnRService; -import com.gunshi.project.xyt.service.StStbprpBService; -import jakarta.annotation.PostConstruct; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Profile; -import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.math.BigDecimal; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * @author cxw - * @description Pa降雨值定时任务计算 - * @classname PaDataTask.java - * @create 2024-08-02, 星期五, 11:16:46 - */ -@EnableScheduling//开启定时任务 -@Component -@Slf4j -@Profile({"prod","dev"}) -public class PaDataTask { - - private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - private static SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd"); - - private static SimpleDateFormat eightSdf = new SimpleDateFormat("yyyy-MM-dd 08:00:00"); - - @Autowired - private ForecastUseparamService forecastUseparamService; - - @Autowired - private ForecastPaService forecastPaService; - - @Autowired - private ForecastKService forecastKService; - - @Autowired - private StPptnRService stPptnRService; - - @Autowired - private StStbprpBService stStbprpBService; - - @Autowired - private ForecastResultsService forecastResultsService; - - @Autowired - private AttResBaseService attResBaseService; - - /** - * @description: 每天8点30计算的Pa - * @param - * @return: void - * @auther: cxw - * @date: 2024-08-02, 周五, 11:21:00 - */ - @Async - @Scheduled(cron ="0 30 8 * * ?") -// @PostConstruct - public void PaDataCalc() throws ParseException { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - Date nowTime = calendar.getTime(); - // 获取配置参数 - List paramList = forecastUseparamService.list(new QueryWrapper().isNotNull("param_code").isNotNull("param_value")); - List kList = forecastKService.list(); - if (CollectionUtils.isEmpty(paramList) || CollectionUtils.isEmpty(kList)) { - return; - } - // 檀树岗使用多个站点的均值作为水库的降雨 - AttResBase attResBase = attResBaseService.getOne(new QueryWrapper<>()); - if (ObjectUtils.isNotEmpty(attResBase)) { - String resCode = attResBase.getResCode(); - String skStcd = attResBase.getStcd(); - // 先删除水库当天的pa,假如已经存在的话(有另一任务,提前算了第二天(此处为当天)的) - forecastPaService.remove(new QueryWrapper().eq("tm", sdfDay.format(nowTime)).eq("stcd", attResBase.getResCode())); - // 获取最新pa - ForecastPa forecastPaLast = forecastPaService.getOne(new QueryWrapper().eq("stcd", skStcd).orderBy(true, false, "tm").last("limit 1")); - // 补数据时解开 -// if(ObjectUtils.isEmpty(forecastPaLast)){ -// forecastPaLast = new ForecastPa(); -// forecastPaLast.setStcd(skStcd); -// forecastPaLast.setTm("2024-01-01"); -// forecastPaLast.setK(new BigDecimal(0.97)); -// forecastPaLast.setPa0(BigDecimal.ZERO); -// forecastPaLast.setIm(new BigDecimal(120)); -// forecastPaLast.setPt0(BigDecimal.ZERO); -// forecastPaLast.setPa(BigDecimal.ZERO); -// forecastPaLast.setChtm(new Date()); -// -// } - if (CollectionUtils.isNotEmpty(paramList) && CollectionUtils.isNotEmpty(kList) && ObjectUtils.isNotEmpty(forecastPaLast) && !forecastPaLast.getTm().equals(sdfDay.format(nowTime))) { - Calendar calendar2 = Calendar.getInstance(); - calendar2.setTime(sdfDay.parse(forecastPaLast.getTm())); - calendar2.add(Calendar.DAY_OF_MONTH, -3); - String searchTm = sdfDay.format(calendar2.getTime()); - String lastTm = forecastPaLast.getTm(); - // 获取空缺时间的所有降雨,当天8点到第二天8点间的drp和 - List> mapList = stPptnRService.getPptnRDataListByTask(resCode, skStcd, searchTm); - Map pptnrMap; - if (CollectionUtils.isNotEmpty(mapList)) { - pptnrMap = mapList.stream().collect(Collectors.toMap(map -> (String) map.get("tm"), map -> map.get("drp"))); - } else { - return; - } - Map kMap = kList.stream().collect(Collectors.toMap(ForecastK::getMonth, ForecastK::getKValue)); - Map paramMap = paramList.stream().collect(Collectors.toMap(ForecastUseparam::getParamCode, ForecastUseparam::getParamValue)); - double Im = Double.parseDouble(paramMap.get("Im"));// 土壤含水量最大值(最大初损值)Im - // 第一次的pa0是最新一条的pa - List list = new ArrayList<>(); - ForecastPa forecastPa = null; - while (!lastTm.equals(sdfDay.format(nowTime))) { - double lastPa0 = forecastPaLast.getPa().doubleValue(); - double lastPt0 = Double.valueOf(ObjectUtils.isEmpty(pptnrMap.get(lastTm)) ? "0.0" : pptnrMap.get(lastTm).toString()); - forecastPa = new ForecastPa(); - // 最新加1天 - calendar.setTime(sdfDay.parse(lastTm)); - calendar.add(Calendar.DAY_OF_MONTH, 1); - lastTm = sdfDay.format(calendar.getTime()); - double k = kMap.get(Integer.valueOf(lastTm.substring(5, 7))).doubleValue(); - double pa = RunoffService.PaCaculate(k, lastPa0, lastPt0, Im); - forecastPa.setStcd(skStcd); - forecastPa.setTm(lastTm); - forecastPa.setK(new BigDecimal(k).setScale(2, BigDecimal.ROUND_HALF_UP)); - forecastPa.setPa0(new BigDecimal(lastPa0)); - forecastPa.setIm(new BigDecimal(Im)); - forecastPa.setPt0(new BigDecimal(lastPt0).setScale(2, BigDecimal.ROUND_HALF_UP)); - forecastPa.setPa(new BigDecimal(pa)); - list.add(forecastPa); - forecastPaLast = forecastPa; - } - if (CollectionUtils.isNotEmpty(list)) { - forecastPaService.saveBatch(list); - } - } - } - } - - /** - * @description: 每天19点到24点每5分钟计算一次第二天的Pa - * @param - * @return: void - * @auther: cxw - * @date: 2024-08-16, 周五, 15:42:13 - */ - @Async - @Scheduled(cron ="0 0/5 20-23 * * ?") - public void PaNextDataCalc() throws ParseException { - Date nowTime = new Date(); - // 檀树岗使用多个站点的均值作为水库的降雨 - AttResBase attResBase = attResBaseService.getOne(new QueryWrapper<>()); - if (ObjectUtils.isNotEmpty(attResBase)) { - // 查询所有需要统计pa值的站点 - List stStbprpBList = stStbprpBService.list(new QueryWrapper().eq("res_code", attResBase.getResCode())); - if(CollectionUtils.isEmpty(stStbprpBList)){ - return; - } - // 获取配置参数 - List paramList = forecastUseparamService.list(new QueryWrapper().isNotNull("param_code").isNotNull("param_value")); - List kList = forecastKService.list(); - if (CollectionUtils.isEmpty(paramList) || CollectionUtils.isEmpty(kList)) { - return; - } - String skStcd = attResBase.getResCode(); - // 查询第二天的是否已经生成了 - Calendar calendarNext = Calendar.getInstance(); - calendarNext.setTime(nowTime); - calendarNext.add(Calendar.DAY_OF_MONTH, 1); - String nextTimeStr = sdfDay.format(calendarNext.getTime()); - ForecastPa hasPa = forecastPaService.getOne(new QueryWrapper().eq("stcd", skStcd).eq("tm", nextTimeStr)); - if (ObjectUtils.isNotEmpty(hasPa)) { - return; - } - // 获取最新pa(当天) - ForecastPa forecastPaLast = forecastPaService.getOne(new QueryWrapper().eq("stcd", skStcd).eq("tm", sdfDay.format(nowTime)).last("limit 1")); - if (CollectionUtils.isNotEmpty(paramList) && CollectionUtils.isNotEmpty(kList) && ObjectUtils.isNotEmpty(forecastPaLast)) { - List listAll = new ArrayList<>(); - for (StStbprpB stb : stStbprpBList) { - String stcd = stb.getStcd(); - // 获取当天大于08点到执行时间的真实降雨 - List qwExistedStcd = stPptnRService.list(new QueryWrapper().eq("stcd", stcd).gt("tm", sdf.parse(eightSdf.format(nowTime))).le("tm", nowTime).orderBy(true, true, "tm")); - // 获取当天的预测降雨 - List pptnRFutureListStcd = forecastResultsService.getForecastDrpData(nowTime, stcd); - listAll.addAll(qwExistedStcd); - listAll.addAll(pptnRFutureListStcd); - } - Double totalDrp = listAll.stream().mapToDouble(x -> Double.valueOf(x.getDrp())).sum(); - ForecastPa forecastPa = new ForecastPa(); - Map kMap = kList.stream().collect(Collectors.toMap(ForecastK::getMonth, ForecastK::getKValue)); - Map paramMap = paramList.stream().collect(Collectors.toMap(ForecastUseparam::getParamCode, ForecastUseparam::getParamValue)); - double Im = Double.parseDouble(paramMap.get("Im"));// 土壤含水量最大值(最大初损值)Im - double k = kMap.get(Integer.valueOf(nextTimeStr.substring(5, 7))).doubleValue(); - double pa = RunoffService.PaCaculate(k, Double.parseDouble(forecastPaLast.getPa().toString()), totalDrp, Im); - forecastPa.setStcd(skStcd); - forecastPa.setTm(nextTimeStr); - forecastPa.setK(new BigDecimal(k).setScale(2, BigDecimal.ROUND_HALF_UP)); - forecastPa.setPa0(forecastPaLast.getPa()); - forecastPa.setIm(new BigDecimal(Im)); - forecastPa.setPt0(new BigDecimal(totalDrp).setScale(2, BigDecimal.ROUND_HALF_UP)); - forecastPa.setPa(new BigDecimal(pa)); - forecastPaService.save(forecastPa); - } - } - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/timetask/ScheduledPool.java b/src/main/java/com/gunshi/project/xyt/timetask/ScheduledPool.java deleted file mode 100644 index c4cd81b..0000000 --- a/src/main/java/com/gunshi/project/xyt/timetask/ScheduledPool.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.timetask; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.TaskScheduler; -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; - -/** - * @author cxw - * @description: 定时任务池 - * @classname ScheduledPool.java - * @create 2024-07-22, 星期一, 10:43:54 - */ -@Configuration -public class ScheduledPool { - @Bean - public TaskScheduler taskScheduler() { - ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); - // 设置定时任务线程数量 - taskScheduler.setPoolSize(20); - return taskScheduler; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/util/BigdecimalUtil.java b/src/main/java/com/gunshi/project/xyt/util/BigdecimalUtil.java deleted file mode 100644 index 4d047da..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/BigdecimalUtil.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gunshi.project.xyt.util; - -import org.apache.commons.math3.distribution.GammaDistribution; - -import java.math.BigDecimal; -import java.math.MathContext; -import java.math.RoundingMode; - -/** - * @author cxw - * @description - * @classname BigdecimalUtil.java - * @create 2024-11-06, 星期三, 10:33:41 - */ -public class BigdecimalUtil { - - - /** - * @description: 小数指数计算 - * @param base 底数 - * @param exponent 指数 - * @return: java.math.BigDecimal - * @auther: cxw - * @date: 2024-11-06, 周三, 10:34:47 - */ - public static BigDecimal bigDecimalExponentiation(BigDecimal base, double exponent) { - BigDecimal result = BigDecimal.valueOf(Math.pow(base.doubleValue(), exponent)).round(new MathContext(10, RoundingMode.HALF_UP)); - return result; - } - - - /** - * @description: 计算x的伽马函数 - * @param x - * @return: java.math.BigDecimal - * @auther: cxw - * @date: 2024-11-06, 周三, 11:31:24 - */ - public static double gammaDist(double x, double alpha, double beta, boolean cumulative) { - GammaDistribution gammaDist = new GammaDistribution(alpha, 1/beta); - if (cumulative) { - return gammaDist.cumulativeProbability(x); - } else { - return gammaDist.density(x); - } - } -} diff --git a/src/main/java/com/gunshi/project/xyt/util/ConvertUtil.java b/src/main/java/com/gunshi/project/xyt/util/ConvertUtil.java deleted file mode 100644 index 56168f0..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/ConvertUtil.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gunshi.project.xyt.util; - -/** - * @author cxw - * @description: (描述这个类或者方法的作用) - * @classname ConvertUtil.java - * @create 2024-07-10, 星期三, 10:34:14 - */ -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.BeanUtils; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -public class ConvertUtil { - public static final Logger logger = LoggerFactory.getLogger(ConvertUtil.class); - - public static T entityToVo(Object source, Class target) { - if (source == null) { - return null; - } - T targetObject = null; - try { - targetObject = target.newInstance(); - BeanUtils.copyProperties(source, targetObject); - } catch (Exception e) { - e.printStackTrace(); - } - return targetObject; - } - - public static List entityToVoList(Collection sourceList, Class target) { - if (sourceList == null) { - return null; - } - List targetList = new ArrayList<>(sourceList.size()); - - try { - for (Object source : sourceList) { - T targetObject = target.newInstance(); - BeanUtils.copyProperties(source, targetObject); - targetList.add(targetObject); - } - } catch (Exception e) { - logger.error("convert error ", e); - } - return targetList; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/util/DataHandleUtil.java b/src/main/java/com/gunshi/project/xyt/util/DataHandleUtil.java deleted file mode 100644 index c45f2ef..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/DataHandleUtil.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.gunshi.project.xyt.util; - - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; - - -public class DataHandleUtil { - - /** - * 判断BigDecimal的小数部分是否为0 - * @param bigDecimal - * @return - */ - public static long BigDecimalIntegerPart(BigDecimal bigDecimal) { - BigDecimal integerPart = bigDecimal.setScale(0, RoundingMode.UP); - return integerPart.longValue(); - } - - - public static BigDecimal calcData(BigDecimal rz, Map map,List list) { - //库容曲线中最近的一组水位 - BigDecimal lowerRz = new BigDecimal(0); - BigDecimal upperRz = new BigDecimal(0); - - //库容曲线中最近的一组水位对应的库容 - BigDecimal lowerW = new BigDecimal(0); - BigDecimal upperW = new BigDecimal(0); - - for(int i=0;i= 0 && rz.compareTo(list.get(i+1)) <= 0) { - lowerRz = list.get(i); - upperRz = list.get(i+1); - - lowerW = map.get(lowerRz); - upperW = map.get(upperRz); - break; - } - } - BigDecimal diff = rz.subtract(lowerRz); - return lowerW.add(diff.multiply(upperW.subtract(lowerW)).divide(upperRz.subtract(lowerRz),2,RoundingMode.UP)); - } - - public static List tableData( List> list){ - List list2 = new ArrayList<>(); - Collection values; - for (int i = 0; i < list.size(); i++) { - values = list.get(i).values(); - List objects = new ArrayList<>(); - for (Object value : values) { - objects.add(value == null ? "" : value.toString()); - } - list2.add(objects); - } - return list2; - } - - public static List paginate(List list, int pageNumber, int pageSize) { - if (list == null || list.isEmpty()) { - return new ArrayList(); - } - - int totalSize = list.size(); - int fromIndex = (pageNumber - 1) * pageSize; - if (fromIndex >= totalSize || fromIndex < 0) { - return new ArrayList(); - } - - int toIndex = fromIndex + pageSize; - if (toIndex > totalSize) { - toIndex = totalSize; - } - - return list.subList(fromIndex, toIndex); - } - - -} diff --git a/src/main/java/com/gunshi/project/xyt/util/DateUtil.java b/src/main/java/com/gunshi/project/xyt/util/DateUtil.java deleted file mode 100644 index dd7e81e..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/DateUtil.java +++ /dev/null @@ -1,267 +0,0 @@ -package com.gunshi.project.xyt.util; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.Instant; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.TimeUnit; - -/** - * Description: - * Created by wanyan on 2024/2/28 - * - * @author wanyan - * @version 1.0 - */ -public class DateUtil { - - // 使用 ConcurrentMap 来缓存 SimpleDateFormat 实例 - private static final ConcurrentMap> DATE_FORMAT_CACHE = new ConcurrentHashMap<>(); - - private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - - private static SimpleDateFormat chineseYmd = new SimpleDateFormat("yyyy年MM月dd日"); - - private static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - - private static DateTimeFormatter ymdformat = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - - private static DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd日HH时"); - - private static DateTimeFormatter ym = DateTimeFormatter.ofPattern("YYYYMM"); - - public static Date convertStringToDate(String str){ - try { - return df.parse(str); - } catch (ParseException e) { - throw new RuntimeException(e); - } - } - - public static final ThreadLocal sdfhmsS = new ThreadLocal() { - protected SimpleDateFormat initialValue() { - return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); - } - }; - - public static String convertDateToString(Date date){ - return sdf.format(date); - } - - public static String convertDateToMDSString(Date date){ - return df.format(date); - } - - public static String convertDateToChineseYmd(Date date){ - return chineseYmd.format(date); - } - - public static long hoursBetweenDate(Date start,Date end){ - long startTime = start.getTime(); - long endTime = end.getTime(); - long hours = TimeUnit.MILLISECONDS.toHours(endTime - startTime); - return Math.round(hours); - } - - /** - * 年初 - * @param year - * @return - */ - public static LocalDateTime beginningOfYear(Integer year){ - return LocalDateTime.of(year, 1, 1, 0, 0, 0, 0); - } - - /** - * 年末 - * @param year - * @return - */ - public static LocalDateTime endOfYear(Integer year){ - return beginningOfYear(year).plusYears(1).minusSeconds(1); - } - - - /** - * 年初 - * @param year - * @return - */ - public static Date beginOfYearToDate(Integer year){ - if (year == null) { - throw new IllegalArgumentException("Year cannot be null"); - } - - LocalDate localDate = LocalDate.of(year, 1, 1); - return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); - } - - /** - * 年末 - * @param year - * @return - */ - public static Date endOfYearToDate(Integer year){ - if (year == null) { - throw new IllegalArgumentException("Year cannot be null"); - } - LocalDateTime time = LocalDateTime.of(year, 1, 1, 0, 0, 0, 0); - time = time.plusYears(1).minusSeconds(1); - return Date.from(time.atZone(ZoneId.systemDefault()).toInstant()); - } - - - - /** - * 将Date对象转换为LocalDateTime对象. - * - * @param date 需要转换的Date对象 - * @return 转换后的LocalDateTime对象 - */ - public static Optional convertFromDate(Date date) { - if (date == null) { - throw new IllegalArgumentException("date is null"); - } - - Instant instant = date.toInstant(); - return Optional.of(instant.atZone(ZoneId.systemDefault()).toLocalDateTime()); - } - - - public static String getIntegerTime(){ - LocalDateTime now = LocalDateTime.now(); - LocalDateTime roundedTime = now.withMinute(0).withSecond(0).withNano(0); - return roundedTime.format(formatter); - } - - public static String getMinusIntegerTime(){ - LocalDateTime yesterday = LocalDateTime.now().minusDays(1); - LocalDateTime roundedTime = yesterday.withMinute(0).withSecond(0).withNano(0); - return roundedTime.format(formatter); - } - - public static String convertDH(String str){ - LocalDateTime dateTime = LocalDateTime.parse(str, formatter); - return dateTime.format(dtf); - } - - public static String getMinusTime(String str,long hour){ - LocalDateTime dateTime = LocalDateTime.parse(str, formatter); - LocalDateTime minusTime = dateTime.minusHours(hour); - return minusTime.format(formatter); - } - - public static String getPlusTime(String str,long hour){ - LocalDateTime dateTime = LocalDateTime.parse(str, formatter); - LocalDateTime plusTime = dateTime.plusHours(hour); - return plusTime.format(formatter); - } - - public static String getPlusDate(Date date,long day){ - String str = convertDateToString(date); - LocalDate localDate = LocalDate.parse(str, ymdformat); - LocalDate plusDay = localDate.plusDays(day); - return plusDay.format(ymdformat); - } - - public static String getTodayEight(){ - LocalDateTime now = LocalDateTime.now(); - LocalDateTime roundedTime = now.withHour(8).withMinute(0).withSecond(0).withNano(0); - return roundedTime.format(formatter); - } - - public static Integer getMD(int year, int month) { - if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { - return 31; - } else if (month == 4 || month == 6 || month == 9 || month == 11) { - return 30; - } else if (month == 2) { - //判断是否是闰年 - if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { - return 29; - } else { - return 28; - } - } - return 31; - } - - public static String getYM() { - LocalDateTime now = LocalDateTime.now(); - return now.format(ym); - } - - public static List getDatesBetween(Date startDate, Date endDate,Boolean isDesc) { - List dates = new ArrayList<>(); - Calendar calendar = Calendar.getInstance(); - while (startDate.getTime()<=endDate.getTime()){ - // 把日期添加到集合 - dates.add(convertDateToString(startDate)); - // 设置日期 - calendar.setTime(startDate); - //把日期增加一天 - calendar.add(Calendar.DATE, 1); - // 获取增加后的日期 - startDate=calendar.getTime(); - } - if(isDesc){ - return dates.reversed(); - } - return dates; - } - - public static List getDatesBetween(Date startDate, Date endDate) { - List dates = new ArrayList<>(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(startDate); - - while (calendar.getTime().before(endDate)) { - dates.add(calendar.getTime()); - calendar.add(Calendar.DATE, 1); - } - dates.add(endDate); - return dates; - } - - - public static boolean isValidDate(Date date, String format) { - if (date == null || format == null || format.isEmpty()) { - return false; - } - - try { - SimpleDateFormat sdf = getThreadSafeFormatter(format); - sdf.setLenient(false); // 设置严格模式 - sdf.parse(date.toString()); - return true; - } catch (IllegalArgumentException | ParseException e) { - return false; - } - } - - private static SimpleDateFormat getThreadSafeFormatter(String format) { - return DATE_FORMAT_CACHE.computeIfAbsent(format, key -> ThreadLocal.withInitial(() -> new SimpleDateFormat(key))).get(); - } - - public static List getMonthsBetweenDates(String startDateStr, String endDateStr) { - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - LocalDate startDate = LocalDate.parse(startDateStr, formatter); - LocalDate endDate = LocalDate.parse(endDateStr, formatter); - - List months = new ArrayList<>(); - while (startDate.isBefore(endDate)) { - months.add(startDate.getMonthValue()); - startDate = startDate.plusMonths(1); - } - - return months; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/util/ExcelUtil.java b/src/main/java/com/gunshi/project/xyt/util/ExcelUtil.java deleted file mode 100644 index c2b9aeb..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/ExcelUtil.java +++ /dev/null @@ -1,279 +0,0 @@ -package com.gunshi.project.xyt.util; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.io.resource.ClassPathResource; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.ExcelWriter; -import com.alibaba.excel.support.ExcelTypeEnum; -import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder; -import com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy; -import com.alibaba.excel.write.metadata.WriteSheet; -import com.gunshi.project.xyt.util.excel.ExcelFillCellMergeStrategy; -import com.gunshi.project.xyt.util.excel.ExcelListener; -import com.gunshi.project.xyt.util.excel.ExcelResult; -import com.gunshi.project.xyt.util.excel.VoteTitleHandler; -import jakarta.servlet.http.HttpServletResponse; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.Map; - -public class ExcelUtil { - - /** - * 导出excel - * - * @param list 导出数据集合,加动态表头 - * @param filename 工作表的名称 - * @param clazz 实体类 - * @param response 响应体 - */ - public static void exportExcel(List list, String filename, Class clazz, HttpServletResponse response, String sheetName) { - OutputStream out = null; - try { - out = getOutputStream(filename, response); - ExcelWriterSheetBuilder builder = EasyExcel.write(out, clazz) - //是否自动关闭流 - .autoCloseStream(Boolean.FALSE) - //自动列宽(不太精确) - .registerWriteHandler(new VoteTitleHandler(filename)) - .sheet(sheetName); - builder.doWrite(list); - } finally { - try { - if (out != null) { - out.flush(); - out.close(); - } - } catch (IOException e) { - throw new RuntimeException("导出Excel异常"); - } - } - } - - public static void exportExcel(List list, String filename, Class clazz,int mergeRowIndex, int[] mergeColumnIndex, HttpServletResponse response, String sheetName) { - OutputStream out = null; - try { - out = getOutputStream(filename, response); - ExcelWriterSheetBuilder builder = EasyExcel.write(out, clazz) - //是否自动关闭流 - .autoCloseStream(Boolean.FALSE) - //自动列宽(不太精确) - .registerWriteHandler(new ExcelFillCellMergeStrategy(mergeRowIndex, mergeColumnIndex)) - .sheet(sheetName); - builder.doWrite(list); - } finally { - try { - if (out != null) { - out.flush(); - out.close(); - } - } catch (IOException e) { - throw new RuntimeException("导出Excel异常"); - } - } - } - - /** - * 导出excel,合并指定单元格 - * - * @param list 导出数据集合,加动态表头 - * @param filename 工作表的名称 - * @param clazz 实体类 - * @param response 响应体 - */ - public static void exportExcel(List list, String filename, Class clazz, HttpServletResponse response, String sheetName, Integer type) { - OutputStream out = null; - try { - out = getOutputStream(filename, response); - if (type == 1) { - OnceAbsoluteMergeStrategy strategy = new OnceAbsoluteMergeStrategy(36, 36, 1, 2); - OnceAbsoluteMergeStrategy strategy1 = new OnceAbsoluteMergeStrategy(36, 36, 3, 6); - OnceAbsoluteMergeStrategy strategy2 = new OnceAbsoluteMergeStrategy(36, 36, 7, 8); - OnceAbsoluteMergeStrategy strategy3 = new OnceAbsoluteMergeStrategy(36, 36, 9, 12); - ExcelWriterSheetBuilder builder = EasyExcel.write(out, clazz) - //是否自动关闭流 - .autoCloseStream(Boolean.FALSE) - //自动列宽(不太精确) - .registerWriteHandler(new VoteTitleHandler(filename)) - .registerWriteHandler(strategy) - .registerWriteHandler(strategy1) - .registerWriteHandler(strategy2) - .registerWriteHandler(strategy3) - .sheet(sheetName); - builder.doWrite(list); - } else { - OnceAbsoluteMergeStrategy strategy1 = new OnceAbsoluteMergeStrategy(33, 37, 0, 0); - OnceAbsoluteMergeStrategy strategy2 = new OnceAbsoluteMergeStrategy(38, 38, 0, 1); - OnceAbsoluteMergeStrategy strategy3 = new OnceAbsoluteMergeStrategy(38, 38, 3, 5); - OnceAbsoluteMergeStrategy strategy4 = new OnceAbsoluteMergeStrategy(38, 38, 7, 9); - OnceAbsoluteMergeStrategy strategy5 = new OnceAbsoluteMergeStrategy(38, 38, 11, 13); - ExcelWriterSheetBuilder builder = EasyExcel.write(out, clazz) - //是否自动关闭流 - .autoCloseStream(Boolean.FALSE) - .registerWriteHandler(new VoteTitleHandler(filename)) - .registerWriteHandler(strategy1) - .registerWriteHandler(strategy2) - .registerWriteHandler(strategy3) - .registerWriteHandler(strategy4) - .registerWriteHandler(strategy5) - .sheet(sheetName); - for (int i = 2; i < 33; i++) { - OnceAbsoluteMergeStrategy strategy = new OnceAbsoluteMergeStrategy(i, i, 0, 1); - builder.registerWriteHandler(strategy); - } - builder.doWrite(list); - } - } finally { - try { - if (out != null) { - out.flush(); - out.close(); - } - } catch (IOException e) { - throw new RuntimeException("导出Excel异常"); - } - } - } - - /** - * 导出动态列 - * - * @param head 表头 - * @param data 数据 - * @param filename - * @param response - * @param sheetName - * @param - */ - public static void exportExcel(List> head, List data, String filename, HttpServletResponse response, String sheetName) { - OutputStream out = null; - try { - out = getOutputStream(filename, response); - ExcelWriterSheetBuilder builder = EasyExcel.write(out) - //是否自动关闭流 - .autoCloseStream(Boolean.FALSE) - //自动列宽(不太精确) - .registerWriteHandler(new VoteTitleHandler(filename)) - .head(head) - .sheet(sheetName); - builder.doWrite(data); - } finally { - try { - if (out != null) { - out.flush(); - out.close(); - } - } catch (IOException e) { - throw new RuntimeException("导出Excel异常"); - } - } - } - - /** - * 导出动态列,带合并单元格 - * - * @param head 表头 - * @param data 表格数据 - * @param mergeRowIndex 从第几行开始合并 - * @param mergeColumnIndex 合并字段的下标,如第一到五列new int[]{0,1,2,3,4} - * @param filename - * @param response - * @param sheetName - * @param - */ - public static void exportExcel(List> head, List data, int mergeRowIndex, int[] mergeColumnIndex, String filename, HttpServletResponse response, String sheetName) { - OutputStream out = null; - try { - out = getOutputStream(filename, response); - ExcelWriterSheetBuilder builder = EasyExcel.write(out) - //是否自动关闭流 - .autoCloseStream(Boolean.FALSE) - .registerWriteHandler(new ExcelFillCellMergeStrategy(mergeRowIndex, mergeColumnIndex)) - .head(head) - .sheet(sheetName); - builder.doWrite(data); - } finally { - try { - if (out != null) { - out.flush(); - out.close(); - } - } catch (IOException e) { - throw new RuntimeException("导出Excel异常"); - } - } - } - - /** - * 单表多数据模板导出 模板格式为 {.属性} - * - * @param filename 文件名 - * @param templatePath 模板路径 resource 目录下的路径包括模板文件名 - * 例如: excel/temp.xlsx - * 重点: 模板文件必须放置到启动类对应的 resource 目录下 - * @param data 模板需要的数据 - * @param list 模板需要的集合数据 - */ - public static void exportTemplate(Map data, List list, String filename, String templatePath, HttpServletResponse response) { - OutputStream out = null; - try { - out = getOutputStream(filename, response); - ClassPathResource templateResource = new ClassPathResource(templatePath); - ExcelWriter excelWriter = EasyExcel.write(out) - .withTemplate(templateResource.getStream()) - .excelType(ExcelTypeEnum.XLSX) - .build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - if (CollUtil.isEmpty(data)) { - throw new IllegalArgumentException("数据为空"); - } - excelWriter.fill(list, writeSheet); - excelWriter.fill(data, writeSheet); - excelWriter.finish(); - } finally { - try { - if (out != null) { - out.flush(); - out.close(); - } - } catch (IOException e) { - throw new RuntimeException("导出Excel异常"); - } - } - } - - private static OutputStream getOutputStream(String fileName, HttpServletResponse response) { - try { - fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8); - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"); - response.setCharacterEncoding("utf8"); - response.setHeader("Content-Disposition", "attachment; filename=" + fileName + ".xlsx"); - response.setHeader("Pragma", "public"); - response.setHeader("Cache-Control", "no-store"); - response.addHeader("Cache-Control", "max-age=0"); - return response.getOutputStream(); - } catch (IOException e) { - System.out.println(e.getMessage()); - } - return null; - } - - /** - * 使用自定义监听器 异步导入 自定义返回 - * - * @param is 输入流 - * @param clazz 对象类型 - * @param listener 自定义监听器 - * @return 转换后集合 - */ - public static ExcelResult importExcel(InputStream is, Class clazz, ExcelListener listener) { - EasyExcel.read(is, clazz, listener).sheet().doRead(); - return listener.getExcelResult(); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/util/MyBeanUtil.java b/src/main/java/com/gunshi/project/xyt/util/MyBeanUtil.java deleted file mode 100644 index c7032b2..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/MyBeanUtil.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.gunshi.project.xyt.util; - -import org.springframework.beans.BeanUtils; -import org.springframework.util.CollectionUtils; - -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.util.*; - -/** - * Description:BeanUtils拓展工具类 - * Created by wanyan on 2024/7/10 - * - * @author wanyan - * @version 1.0 - */ -public class MyBeanUtil extends BeanUtils{ - - public MyBeanUtil() { - } - - public static T propertiesCopy(Object source, Class clazz) { - if (null == source) { - return null; - } else { - try { - T obj = clazz.newInstance(); - BeanUtils.copyProperties(source, obj); - return obj; - } catch (IllegalAccessException | InstantiationException var3) { - throw new RuntimeException(var3); - } - } - } - - /** - * list中对象的copy - * @param source - * @param clazz - * @param - * @return - */ - public static List collectionCopy(Collection source, Class clazz) { - if (null == source) { - return new ArrayList(); - } else { - List list = new ArrayList(); - Iterator var3 = source.iterator(); - - while(var3.hasNext()) { - Object o = var3.next(); - list.add(propertiesCopy(o, clazz)); - } - - return list; - } - } - - /** - * 将对象转换为map - * @param obj - * @return - */ - public static Map object2Map(Object obj) { - Map map = new HashMap(); - if (obj == null) { - return map; - } else { - Class clazz = obj.getClass(); - Field[] fields = clazz.getDeclaredFields(); - - try { - Field[] var4 = fields; - int var5 = fields.length; - - for(int var6 = 0; var6 < var5; ++var6) { - Field field = var4[var6]; - field.setAccessible(true); - map.put(field.getName(), field.get(obj)); - } - - return map; - } catch (Exception var8) { - throw new RuntimeException(var8); - } - } - } - - - /** - * 将map转换为对象,必须保证属性名称相同 - * @return - */ - public static Object map2Object(Map map,Class clzz){ - try { - Object target = clzz.newInstance(); - if(CollectionUtils.isEmpty(map)){ - return target; - } - Field[] fields = clzz.getDeclaredFields(); - if(!CollectionUtils.isEmpty(Arrays.asList(fields))){ - Arrays.stream(fields).filter((Field field) -> map.containsKey(field.getName())).forEach(var -> { - //获取属性的修饰符 - int modifiers = var.getModifiers(); - if(Modifier.isStatic(modifiers) || Modifier.isFinal(modifiers)){ - //在lambada中结束本次循环是用return,它不支持continue和break - return; - } - //设置权限 - var.setAccessible(true); - try { - var.set(target,map.get(var.getName())); - } catch (IllegalAccessException e) { - //属性类型不对,非法操作,跳过本次循环,直接进入下一次循环 - throw new RuntimeException(e); - } - }); - } - return target; - } catch (InstantiationException | IllegalAccessException e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/util/OkHttpUtil.java b/src/main/java/com/gunshi/project/xyt/util/OkHttpUtil.java deleted file mode 100644 index 8c71ebd..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/OkHttpUtil.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gunshi.project.xyt.util; - -import com.google.common.base.Suppliers; -import okhttp3.OkHttpClient; - -import java.util.concurrent.TimeUnit; -import java.util.function.Supplier; - -public class OkHttpUtil { - private OkHttpUtil(){ - - } - private static final Supplier OK_HTTP_CLIENT_FACTORY = Suppliers.memoize(OkHttpClient::new); - - public static OkHttpClient build(){ - return OK_HTTP_CLIENT_FACTORY.get().newBuilder().retryOnConnectionFailure(true) - .connectTimeout(10, TimeUnit.SECONDS) - .callTimeout(240, TimeUnit.SECONDS) - .readTimeout(240, TimeUnit.SECONDS) - .build(); - } - - public static OkHttpClient build(int timeout, int callTimeout){ - return OK_HTTP_CLIENT_FACTORY.get().newBuilder().retryOnConnectionFailure(true) - .connectTimeout(timeout, TimeUnit.SECONDS) - .callTimeout(callTimeout, TimeUnit.SECONDS) - .readTimeout(callTimeout, TimeUnit.SECONDS) - .build(); - } -} diff --git a/src/main/java/com/gunshi/project/xyt/util/ResultJson.java b/src/main/java/com/gunshi/project/xyt/util/ResultJson.java deleted file mode 100644 index 0b0a7d1..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/ResultJson.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.gunshi.project.xyt.util; - -import io.swagger.v3.oas.annotations.media.Schema; -import org.springframework.stereotype.Component; - -import java.io.Serializable; -import java.util.Date; - -@Schema(description = "数据传输对象") -@Component -@SuppressWarnings("all") -public class ResultJson implements Serializable { - - private static final long serialVersionUID = 1L; - /** - * 成功 - */ - public static final Integer SUCCESS = 200; - public static final String SUCCESS_MSG = "success"; - - /** - * 失败 - */ - public static final Integer FAIL = 900; - public static final String FAIL_MSG = "fail"; - - public static final Integer PARAM_ERROR = 400; // 失败、参数错误等 - public static final Integer UNAUTHORIZED = 401; // 用户验证失败,或者用户验证信息过期 - public static final Integer PERMISSION_DENIED = 403; // 没有权限 - public static final Integer NOT_FOUND = 404; // 未找到资源 - public static final Integer METHOD_NOT_ALLOWED = 405; // 不支持的类型 - public static final Integer NSUPPORTED_MEDIA_TYPE = 415; // 不支持的媒体 - public static final Integer NOT_ALLOWED = 405; // 请求太频繁,同一个用户(token)、同一个url、同样的请求参数,请求间隔小于0.5秒 - public static final Integer SERVER_ERROR = 500; // 后台错误 - public static final Integer SRC_TIMEOUT = 504; // 请求资源超时 - - - @Schema(description="数据消息") - private String msg; - - @Schema(description="传输状态码(200=成功;400=参数错误; 500=后端错误;900=失败)") - private Integer code; - - @Schema(description="传输数据") - private T data; - - @Schema(description="接口响应时间戳") - private String restm; // 接口响应时间戳。如果有缓存,则该时间表示最后接口响应时间 - - public static ResultJson error() { - return error(FAIL, "未知异常,请联系管理员"); - } - - public static ResultJson error(String msg) { - return error(FAIL, msg); - } - - public static ResultJson error(int code, String msg) { - ResultJson r = new ResultJson(); - r.setCode(code); - r.setMsg(msg); - r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); - return r; - } - - public static ResultJson error(int code, String msg, Object data) { - ResultJson r = new ResultJson(); - r.setCode(code); - r.setMsg(msg); - r.setData(data); - r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); - return r; - } - - public static ResultJson ok(Integer code, String msg) { - ResultJson r = new ResultJson(); - r.setMsg(msg); - r.setCode(code); - r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); - return r; - } - - public static ResultJson ok() { - ResultJson r = new ResultJson(); - r.setCode(SUCCESS); - r.setMsg(SUCCESS_MSG); - r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); - return r; - } - - public static ResultJson ok(Object data) { - ResultJson r = new ResultJson(); - r.setCode(SUCCESS); - r.setMsg(SUCCESS_MSG); - r.setData(data); - r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); - return r; - } - - public static ResultJson ok(Object data, String msg) { - ResultJson r = new ResultJson(); - r.setData(data); - r.setCode(SUCCESS); - r.setMsg(msg); - r.setRestm(DateUtil.sdfhmsS.get().format(new Date())); - return r; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public Integer getCode() { - return code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public T getData() { - return data; - } - - public void setData(T data) { - this.data = data; - } - - public static long getSerialVersionUID() { - return serialVersionUID; - } - - public static Integer getSUCCESS() { - return SUCCESS; - } - - public static String getSuccessMsg() { - return SUCCESS_MSG; - } - - public static Integer getFAIL() { - return FAIL; - } - - public static String getFailMsg() { - return FAIL_MSG; - } - - public String getRestm() { - return restm; - } - - public void setRestm(String restm) { - this.restm = restm; - } - - @Override - public String toString() { - return "ResultJson{" + - "msg='" + msg + "'" + - ", code=" + code + - ", data=" + data + - ", restm=" + restm + - '}'; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/util/ServiceException.java b/src/main/java/com/gunshi/project/xyt/util/ServiceException.java deleted file mode 100644 index a5cb26b..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/ServiceException.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gunshi.project.xyt.util; - -/** - * 业务异常 - * - * @author ruoyi - */ -public final class ServiceException extends RuntimeException { - private static final long serialVersionUID = 1L; - - /** - * 错误码 - */ - private Integer code; - - /** - * 错误提示 - */ - private String message; - - /** - * 错误明细,内部调试错误 - *

- */ - private String detailMessage; - - /** - * 空构造方法,避免反序列化问题 - */ - public ServiceException() { - } - - public ServiceException(String message) { - this.message = message; - } - - public ServiceException(String message, Integer code) { - this.message = message; - this.code = code; - } - - public String getDetailMessage() { - return detailMessage; - } - - @Override - public String getMessage() { - return message; - } - - public Integer getCode() { - return code; - } - - public ServiceException setMessage(String message) { - this.message = message; - return this; - } - - public ServiceException setDetailMessage(String detailMessage) { - this.detailMessage = detailMessage; - return this; - } -} diff --git a/src/main/java/com/gunshi/project/xyt/util/excel/DefautExcelResult.java b/src/main/java/com/gunshi/project/xyt/util/excel/DefautExcelResult.java deleted file mode 100644 index a3a579f..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/excel/DefautExcelResult.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gunshi.project.xyt.util.excel; - -import cn.hutool.core.util.StrUtil; -import lombok.Setter; - -import java.util.ArrayList; -import java.util.List; - -/** - * 默认excel返回对象 - * - * - */ -public class DefautExcelResult implements ExcelResult { - - /** - * 数据对象list - */ - @Setter - private List list; - - /** - * 错误信息列表 - */ - @Setter - private List errorList; - - public DefautExcelResult() { - this.list = new ArrayList<>(); - this.errorList = new ArrayList<>(); - } - - public DefautExcelResult(List list, List errorList) { - this.list = list; - this.errorList = errorList; - } - - public DefautExcelResult(ExcelResult excelResult) { - this.list = excelResult.getList(); - this.errorList = excelResult.getErrorList(); - } - - @Override - public List getList() { - return list; - } - - @Override - public List getErrorList() { - return errorList; - } - - /** - * 获取导入回执 - * - * @return 导入回执 - */ - @Override - public String getAnalysis() { - int successCount = list.size(); - int errorCount = errorList.size(); - if (successCount == 0) { - return "读取失败,未解析到数据"; - } else { - if (errorCount == 0) { - return StrUtil.format("恭喜您,全部读取成功!共{}条", successCount); - } else { - return ""; - } - } - } -} diff --git a/src/main/java/com/gunshi/project/xyt/util/excel/ExcelFillCellMergeStrategy.java b/src/main/java/com/gunshi/project/xyt/util/excel/ExcelFillCellMergeStrategy.java deleted file mode 100644 index 29f0dc7..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/excel/ExcelFillCellMergeStrategy.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.gunshi.project.xyt.util.excel; - -import com.alibaba.excel.metadata.Head; -import com.alibaba.excel.metadata.data.WriteCellData; -import com.alibaba.excel.write.handler.CellWriteHandler; -import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; -import com.alibaba.excel.write.metadata.holder.WriteTableHolder; -import lombok.Data; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellType; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.util.CellRangeAddress; - -import java.util.List; - - -@Data -public class ExcelFillCellMergeStrategy implements CellWriteHandler { - /** - * 合并字段的下标,如第一到五列new int[]{0,1,2,3,4} - */ - private int[] mergeColumnIndex; - /** - * 从第几行开始合并,如果表头占两行,这个数字就是2 - */ - private int mergeRowIndex; - - - public ExcelFillCellMergeStrategy(int mergeRowIndex, int[] mergeColumnIndex) { - this.mergeRowIndex = mergeRowIndex; - this.mergeColumnIndex = mergeColumnIndex; - } - - @Override - public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, - Head head, Integer integer, Integer integer1, Boolean aBoolean) { - - } - - @Override - public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, - Head head, Integer integer, Boolean aBoolean) { - - } - - - @Override - public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, - List> list, Cell cell, Head head, Integer integer, Boolean aBoolean) { - //当前行 - int curRowIndex = cell.getRowIndex(); - //当前列 - int curColIndex = cell.getColumnIndex(); - - if (curRowIndex > mergeRowIndex) { - for (int i = 0; i < mergeColumnIndex.length; i++) { - if (curColIndex == mergeColumnIndex[i]) { - mergeWithPrevRow(writeSheetHolder, cell, curRowIndex, curColIndex); - break; - } - } - } - } - - private void mergeWithPrevRow(WriteSheetHolder writeSheetHolder, Cell cell, int curRowIndex, int curColIndex) { - //获取当前行的当前列的数据和上一行的当前列列数据,通过上一行数据是否相同进行合并 - Object curData = cell.getCellTypeEnum() == CellType.STRING ? cell.getStringCellValue() : - cell.getNumericCellValue(); - Cell preCell = cell.getSheet().getRow(curRowIndex - 1).getCell(curColIndex); - Object preData = preCell.getCellTypeEnum() == CellType.STRING ? preCell.getStringCellValue() :preCell.getNumericCellValue(); - // 比较当前行的第一列的单元格与上一行是否相同,相同合并当前单元格与上一行 - if (curData.equals(preData)) { - Sheet sheet = writeSheetHolder.getSheet(); - List mergeRegions = sheet.getMergedRegions(); - boolean isMerged = false; - for (int i = 0; i < mergeRegions.size() && !isMerged; i++) { - CellRangeAddress cellRangeAddr = mergeRegions.get(i); - // 若上一个单元格已经被合并,则先移出原有的合并单元,再重新添加合并单元 - if (cellRangeAddr.isInRange(curRowIndex - 1, curColIndex)) { - sheet.removeMergedRegion(i); - cellRangeAddr.setLastRow(curRowIndex); - sheet.addMergedRegion(cellRangeAddr); - isMerged = true; - } - } - // 若上一个单元格未被合并,则新增合并单元 - if (!isMerged) { - CellRangeAddress cellRangeAddress = new CellRangeAddress(curRowIndex - 1, curRowIndex, curColIndex, - curColIndex); - sheet.addMergedRegion(cellRangeAddress); - } - } - } -} - diff --git a/src/main/java/com/gunshi/project/xyt/util/excel/ExcelListener.java b/src/main/java/com/gunshi/project/xyt/util/excel/ExcelListener.java deleted file mode 100644 index a342de4..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/excel/ExcelListener.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.gunshi.project.xyt.util.excel; - -import com.alibaba.excel.read.listener.ReadListener; - -/** - * Excel 导入监听 - * - * @author Lion Li - */ -public interface ExcelListener extends ReadListener { - - ExcelResult getExcelResult(); - -} diff --git a/src/main/java/com/gunshi/project/xyt/util/excel/ExcelResult.java b/src/main/java/com/gunshi/project/xyt/util/excel/ExcelResult.java deleted file mode 100644 index 08f8cd5..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/excel/ExcelResult.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.gunshi.project.xyt.util.excel; - -import java.util.List; - -/** - * excel返回对象 - * - * @author Lion Li - */ -public interface ExcelResult { - - /** - * 对象列表 - */ - List getList(); - - /** - * 错误列表 - */ - List getErrorList(); - - /** - * 导入回执 - */ - String getAnalysis(); -} diff --git a/src/main/java/com/gunshi/project/xyt/util/excel/LengthValid.java b/src/main/java/com/gunshi/project/xyt/util/excel/LengthValid.java deleted file mode 100644 index 876f61a..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/excel/LengthValid.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.gunshi.project.xyt.util.excel; - -import java.lang.annotation.*; - -/** - * Description: - * Created by wanyan on 2024/8/19 - * - * @author wanyan - * @version 1.0 - */ -@Target(ElementType.FIELD) -@Retention(RetentionPolicy.RUNTIME) -@Inherited -public @interface LengthValid { - - int length() default 0; - - String msg() default ""; - -} - - diff --git a/src/main/java/com/gunshi/project/xyt/util/excel/VoteTitleHandler.java b/src/main/java/com/gunshi/project/xyt/util/excel/VoteTitleHandler.java deleted file mode 100644 index a4d77d4..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/excel/VoteTitleHandler.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gunshi.project.xyt.util.excel; - -import com.alibaba.excel.metadata.Head; -import com.alibaba.excel.write.handler.CellWriteHandler; -import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; -import com.alibaba.excel.write.metadata.holder.WriteTableHolder; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import org.apache.poi.ss.usermodel.Row; -import org.springframework.util.PropertyPlaceholderHelper; - -import java.util.Date; -import java.util.List; -import java.util.Properties; - - -public class VoteTitleHandler implements CellWriteHandler { - - private String title; - - private String describe; - - private Date voteTime; - - PropertyPlaceholderHelper placeholderHelper = new PropertyPlaceholderHelper("${", "}"); - - public VoteTitleHandler(String title) { - this.title = title; - } - - @Override - public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, - Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) { - if (head != null) { - List headNameList = head.getHeadNameList(); - if (CollectionUtils.isNotEmpty(headNameList)) { - Properties properties = new Properties(); - properties.setProperty("title", title); - for (int i = 0; i < headNameList.size(); i++) { - headNameList.set(i, placeholderHelper.replacePlaceholders(headNameList.get(i), properties)); - } - } - } - } - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/util/spring/SpringUtils.java b/src/main/java/com/gunshi/project/xyt/util/spring/SpringUtils.java deleted file mode 100644 index bfcef09..0000000 --- a/src/main/java/com/gunshi/project/xyt/util/spring/SpringUtils.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.gunshi.project.xyt.util.spring; - -import cn.hutool.extra.spring.SpringUtil; -import org.springframework.aop.framework.AopContext; -import org.springframework.beans.factory.NoSuchBeanDefinitionException; -import org.springframework.stereotype.Component; - -/** - * spring工具类 - * - * - */ -@Component -public final class SpringUtils extends SpringUtil { - - /** - * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true - * - * @param name - * @return boolean - */ - public static boolean containsBean(String name) { - return getBeanFactory().containsBean(name); - } - - /** - * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 - * 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException) - * - * @param name - * @return boolean - */ - public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException { - return getBeanFactory().isSingleton(name); - } - - /** - * @param name - * @return Class 注册对象的类型 - */ - public static Class getType(String name) throws NoSuchBeanDefinitionException { - return getBeanFactory().getType(name); - } - - /** - * 如果给定的bean名字在bean定义中有别名,则返回这些别名 - * - * @param name - */ - public static String[] getAliases(String name) throws NoSuchBeanDefinitionException { - return getBeanFactory().getAliases(name); - } - - /** - * 获取aop代理对象 - * - * @param invoker - * @return - */ - @SuppressWarnings("unchecked") - public static T getAopProxy(T invoker) { - return (T) AopContext.currentProxy(); - } - -} diff --git a/src/main/java/com/gunshi/project/xyt/validate/markers/Delete.java b/src/main/java/com/gunshi/project/xyt/validate/markers/Delete.java deleted file mode 100644 index ce1fd19..0000000 --- a/src/main/java/com/gunshi/project/xyt/validate/markers/Delete.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.gunshi.project.xyt.validate.markers; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-01-23 - */ -public interface Delete { -} diff --git a/src/main/java/com/gunshi/project/xyt/validate/markers/Insert.java b/src/main/java/com/gunshi/project/xyt/validate/markers/Insert.java deleted file mode 100644 index 133f5d8..0000000 --- a/src/main/java/com/gunshi/project/xyt/validate/markers/Insert.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.gunshi.project.xyt.validate.markers; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-01-23 - */ -public interface Insert { -} diff --git a/src/main/java/com/gunshi/project/xyt/validate/markers/Query.java b/src/main/java/com/gunshi/project/xyt/validate/markers/Query.java deleted file mode 100644 index b841456..0000000 --- a/src/main/java/com/gunshi/project/xyt/validate/markers/Query.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.gunshi.project.xyt.validate.markers; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-01-23 - */ -public interface Query { -} diff --git a/src/main/java/com/gunshi/project/xyt/validate/markers/QueryPage.java b/src/main/java/com/gunshi/project/xyt/validate/markers/QueryPage.java deleted file mode 100644 index 8ec1cc8..0000000 --- a/src/main/java/com/gunshi/project/xyt/validate/markers/QueryPage.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.gunshi.project.xyt.validate.markers; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-01-24 - */ -public interface QueryPage { -} diff --git a/src/main/java/com/gunshi/project/xyt/validate/markers/QueryTimeRange.java b/src/main/java/com/gunshi/project/xyt/validate/markers/QueryTimeRange.java deleted file mode 100644 index 40abca7..0000000 --- a/src/main/java/com/gunshi/project/xyt/validate/markers/QueryTimeRange.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.gunshi.project.xyt.validate.markers; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-01-24 - */ -public interface QueryTimeRange { -} diff --git a/src/main/java/com/gunshi/project/xyt/validate/markers/Update.java b/src/main/java/com/gunshi/project/xyt/validate/markers/Update.java deleted file mode 100644 index c18fed3..0000000 --- a/src/main/java/com/gunshi/project/xyt/validate/markers/Update.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.gunshi.project.xyt.validate.markers; - -/** - * 类描述 - * - * @author lyf - * @version 1.0.0 - * @since 2024-01-23 - */ -public interface Update { -} diff --git a/src/main/resources/config-common.yml b/src/main/resources/config-common.yml index cd243dd..1113e5e 100644 --- a/src/main/resources/config-common.yml +++ b/src/main/resources/config-common.yml @@ -1,7 +1,7 @@ server: - port: 24105 + port: 24205 servlet: - context-path: /gunshiApp/tsg + context-path: /gunshiApp/hsz compression: # 打开 gzip 传输 enabled: true @@ -22,7 +22,7 @@ spring: max-request-size: 100MB gunshi: core: - appName: project-xyt + appName: project-hsz shqxjsCloudowrCnPath: http://shqxjs.cloudowr.cn/service/ diff --git a/src/main/resources/config-dev.yml b/src/main/resources/config-dev.yml index bf2479e..3d46e53 100644 --- a/src/main/resources/config-dev.yml +++ b/src/main/resources/config-dev.yml @@ -5,12 +5,12 @@ spring: dynamic: datasource: master: - url: jdbc:postgresql://10.0.41.112:5432/tanshugang?stringtype=unspecified + url: jdbc:postgresql://10.0.41.112:5432/hsz?stringtype=unspecified username: gunshiiot password: 1234567a driver-class-name: org.postgresql.Driver access-logging: - url: jdbc:postgresql://10.0.41.112:5432/tanshugang + url: jdbc:postgresql://10.0.41.112:5432/hsz username: gunshiiot password: 1234567a driver-class-name: org.postgresql.Driver @@ -29,14 +29,14 @@ gunshi: key: 6gaWRs4bz4mxpXXxgZF4 secret: 3QFbff974hVwpH6laAondq33iShpzs6YG4XsrTRT endpoint: http://223.75.53.141:9100 - publicBucket: gs-tsg - loginBucket: gs-tsg - privateBucket: gs-tsg + publicBucket: gs-hsz + loginBucket: gs-hsz + privateBucket: gs-hsz # 洪水预测数据库连接信息 algorithem: datasource: - url: jdbc:postgresql://10.0.41.112:5432/tanshugang?stringtype=unspecified + url: jdbc:postgresql://10.0.41.112:5432/hsz?stringtype=unspecified username: gunshiiot password: 1234567a driver-class-name: org.postgresql.Driver diff --git a/src/main/resources/config-local.yml b/src/main/resources/config-local.yml index bf2479e..3d46e53 100644 --- a/src/main/resources/config-local.yml +++ b/src/main/resources/config-local.yml @@ -5,12 +5,12 @@ spring: dynamic: datasource: master: - url: jdbc:postgresql://10.0.41.112:5432/tanshugang?stringtype=unspecified + url: jdbc:postgresql://10.0.41.112:5432/hsz?stringtype=unspecified username: gunshiiot password: 1234567a driver-class-name: org.postgresql.Driver access-logging: - url: jdbc:postgresql://10.0.41.112:5432/tanshugang + url: jdbc:postgresql://10.0.41.112:5432/hsz username: gunshiiot password: 1234567a driver-class-name: org.postgresql.Driver @@ -29,14 +29,14 @@ gunshi: key: 6gaWRs4bz4mxpXXxgZF4 secret: 3QFbff974hVwpH6laAondq33iShpzs6YG4XsrTRT endpoint: http://223.75.53.141:9100 - publicBucket: gs-tsg - loginBucket: gs-tsg - privateBucket: gs-tsg + publicBucket: gs-hsz + loginBucket: gs-hsz + privateBucket: gs-hsz # 洪水预测数据库连接信息 algorithem: datasource: - url: jdbc:postgresql://10.0.41.112:5432/tanshugang?stringtype=unspecified + url: jdbc:postgresql://10.0.41.112:5432/hsz?stringtype=unspecified username: gunshiiot password: 1234567a driver-class-name: org.postgresql.Driver diff --git a/src/main/resources/config-prod.yml b/src/main/resources/config-prod.yml index 12c67e2..27993b1 100644 --- a/src/main/resources/config-prod.yml +++ b/src/main/resources/config-prod.yml @@ -5,12 +5,12 @@ spring: dynamic: datasource: master: - url: jdbc:postgresql://postgres:5432/tanshugang?stringtype=unspecified + url: jdbc:postgresql://postgres:5432/hsz?stringtype=unspecified username: gunshiiot password: 1234567a driver-class-name: org.postgresql.Driver access-logging: - url: jdbc:postgresql://postgres:5432/tanshugang + url: jdbc:postgresql://postgres:5432/hsz username: gunshiiot password: 1234567a driver-class-name: org.postgresql.Driver @@ -26,19 +26,19 @@ mybatis-plus: gunshi: core: - appName: project-xyt + appName: project-hsz file: key: 6gaWRs4bz4mxpXXxgZF4 secret: 3QFbff974hVwpH6laAondq33iShpzs6YG4XsrTRT endpoint: http://10.42.6.75:9100 - publicBucket: gs-tsg - loginBucket: gs-tsg - privateBucket: gs-tsg + publicBucket: gs-hsz + loginBucket: gs-hsz + privateBucket: gs-hsz # 洪水预测数据库连接信息 algorithem: datasource: - url: jdbc:postgresql://postgres:5432/tanshugang?stringtype=unspecified + url: jdbc:postgresql://postgres:5432/hsz?stringtype=unspecified username: gunshiiot password: 1234567a driver-class-name: org.postgresql.Driver diff --git a/src/main/resources/mapper/AttCctvBaseMapper.xml b/src/main/resources/mapper/AttCctvBaseMapper.xml index 1a18107..8c2b4b9 100644 --- a/src/main/resources/mapper/AttCctvBaseMapper.xml +++ b/src/main/resources/mapper/AttCctvBaseMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/AttDamBaseMapper.xml b/src/main/resources/mapper/AttDamBaseMapper.xml index fc4adfa..0aa41d0 100644 --- a/src/main/resources/mapper/AttDamBaseMapper.xml +++ b/src/main/resources/mapper/AttDamBaseMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/AttDamProfileMapper.xml b/src/main/resources/mapper/AttDamProfileMapper.xml index f7acc39..f89dc90 100644 --- a/src/main/resources/mapper/AttDamProfileMapper.xml +++ b/src/main/resources/mapper/AttDamProfileMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/AttGateValveMapper.xml b/src/main/resources/mapper/AttGateValveMapper.xml index 11f51b5..a587d69 100644 --- a/src/main/resources/mapper/AttGateValveMapper.xml +++ b/src/main/resources/mapper/AttGateValveMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/AttMeaWeirMapper.xml b/src/main/resources/mapper/AttMeaWeirMapper.xml index 2643201..82cf26b 100644 --- a/src/main/resources/mapper/AttMeaWeirMapper.xml +++ b/src/main/resources/mapper/AttMeaWeirMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/AttResBaseMapper.xml b/src/main/resources/mapper/AttResBaseMapper.xml index 7b42f37..803f908 100644 --- a/src/main/resources/mapper/AttResBaseMapper.xml +++ b/src/main/resources/mapper/AttResBaseMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/AttSpillwayBaseMapper.xml b/src/main/resources/mapper/AttSpillwayBaseMapper.xml index 59989bf..ddd42ca 100644 --- a/src/main/resources/mapper/AttSpillwayBaseMapper.xml +++ b/src/main/resources/mapper/AttSpillwayBaseMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/AttWaterItemMapper.xml b/src/main/resources/mapper/AttWaterItemMapper.xml index fd9eb92..190d88b 100644 --- a/src/main/resources/mapper/AttWaterItemMapper.xml +++ b/src/main/resources/mapper/AttWaterItemMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/CctvBMenuMapper.xml b/src/main/resources/mapper/CctvBMenuMapper.xml index 5741030..030e6e2 100644 --- a/src/main/resources/mapper/CctvBMenuMapper.xml +++ b/src/main/resources/mapper/CctvBMenuMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/FileAssociationsMapper.xml b/src/main/resources/mapper/FileAssociationsMapper.xml index 5f1500d..75d5bb1 100644 --- a/src/main/resources/mapper/FileAssociationsMapper.xml +++ b/src/main/resources/mapper/FileAssociationsMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ForecastKMapper.xml b/src/main/resources/mapper/ForecastKMapper.xml index 34e94e5..c4068f3 100644 --- a/src/main/resources/mapper/ForecastKMapper.xml +++ b/src/main/resources/mapper/ForecastKMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ForecastPPaRMapper.xml b/src/main/resources/mapper/ForecastPPaRMapper.xml index e42dc6c..5938bf1 100644 --- a/src/main/resources/mapper/ForecastPPaRMapper.xml +++ b/src/main/resources/mapper/ForecastPPaRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ForecastPaMapper.xml b/src/main/resources/mapper/ForecastPaMapper.xml index 7d46f0a..c4a4a41 100644 --- a/src/main/resources/mapper/ForecastPaMapper.xml +++ b/src/main/resources/mapper/ForecastPaMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ForecastProjectMapper.xml b/src/main/resources/mapper/ForecastProjectMapper.xml index 3c6a4b0..8e8ad13 100644 --- a/src/main/resources/mapper/ForecastProjectMapper.xml +++ b/src/main/resources/mapper/ForecastProjectMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ForecastResultsMapper.xml b/src/main/resources/mapper/ForecastResultsMapper.xml index c222d42..631bb67 100644 --- a/src/main/resources/mapper/ForecastResultsMapper.xml +++ b/src/main/resources/mapper/ForecastResultsMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ForecastTaskMapper.xml b/src/main/resources/mapper/ForecastTaskMapper.xml index f72ff80..4c76f9f 100644 --- a/src/main/resources/mapper/ForecastTaskMapper.xml +++ b/src/main/resources/mapper/ForecastTaskMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ForecastUMapper.xml b/src/main/resources/mapper/ForecastUMapper.xml index 5745bd1..05b2f79 100644 --- a/src/main/resources/mapper/ForecastUMapper.xml +++ b/src/main/resources/mapper/ForecastUMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ForecastUseparamMapper.xml b/src/main/resources/mapper/ForecastUseparamMapper.xml index 3603887..bed48b0 100644 --- a/src/main/resources/mapper/ForecastUseparamMapper.xml +++ b/src/main/resources/mapper/ForecastUseparamMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/GateValveCctvRelMapper.xml b/src/main/resources/mapper/GateValveCctvRelMapper.xml index 794fadc..fb94d97 100644 --- a/src/main/resources/mapper/GateValveCctvRelMapper.xml +++ b/src/main/resources/mapper/GateValveCctvRelMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/GateValveRMapper.xml b/src/main/resources/mapper/GateValveRMapper.xml index 8d546c3..e996b31 100644 --- a/src/main/resources/mapper/GateValveRMapper.xml +++ b/src/main/resources/mapper/GateValveRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/GateValveRealMapper.xml b/src/main/resources/mapper/GateValveRealMapper.xml index 9b07726..79b0790 100644 --- a/src/main/resources/mapper/GateValveRealMapper.xml +++ b/src/main/resources/mapper/GateValveRealMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/IaCBsnssinfoMapper.xml b/src/main/resources/mapper/IaCBsnssinfoMapper.xml index 94d1e0a..42d9912 100644 --- a/src/main/resources/mapper/IaCBsnssinfoMapper.xml +++ b/src/main/resources/mapper/IaCBsnssinfoMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/IaCDanadMapper.xml b/src/main/resources/mapper/IaCDanadMapper.xml index 02544e9..f75ae4c 100644 --- a/src/main/resources/mapper/IaCDanadMapper.xml +++ b/src/main/resources/mapper/IaCDanadMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/IaCFlrvvlgMapper.xml b/src/main/resources/mapper/IaCFlrvvlgMapper.xml index 7aa1709..f983049 100644 --- a/src/main/resources/mapper/IaCFlrvvlgMapper.xml +++ b/src/main/resources/mapper/IaCFlrvvlgMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/OsmoticFlowDeviceMapper.xml b/src/main/resources/mapper/OsmoticFlowDeviceMapper.xml index d2345b5..506ad07 100644 --- a/src/main/resources/mapper/OsmoticFlowDeviceMapper.xml +++ b/src/main/resources/mapper/OsmoticFlowDeviceMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/OsmoticFlowRMapper.xml b/src/main/resources/mapper/OsmoticFlowRMapper.xml index 6db7de7..14453d0 100644 --- a/src/main/resources/mapper/OsmoticFlowRMapper.xml +++ b/src/main/resources/mapper/OsmoticFlowRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/OsmoticPressDeviceMapper.xml b/src/main/resources/mapper/OsmoticPressDeviceMapper.xml index 1895286..20ec812 100644 --- a/src/main/resources/mapper/OsmoticPressDeviceMapper.xml +++ b/src/main/resources/mapper/OsmoticPressDeviceMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/OsmoticPressRMapper.xml b/src/main/resources/mapper/OsmoticPressRMapper.xml index 0fdd756..dee9aa1 100644 --- a/src/main/resources/mapper/OsmoticPressRMapper.xml +++ b/src/main/resources/mapper/OsmoticPressRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/OsmoticShiftRMapper.xml b/src/main/resources/mapper/OsmoticShiftRMapper.xml index c9bd7b8..cebd698 100644 --- a/src/main/resources/mapper/OsmoticShiftRMapper.xml +++ b/src/main/resources/mapper/OsmoticShiftRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/OsmoticWarnRMapper.xml b/src/main/resources/mapper/OsmoticWarnRMapper.xml index 442c184..7677963 100644 --- a/src/main/resources/mapper/OsmoticWarnRMapper.xml +++ b/src/main/resources/mapper/OsmoticWarnRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/OsmoticWarnRuleMapper.xml b/src/main/resources/mapper/OsmoticWarnRuleMapper.xml index 0ae16a8..0240e24 100644 --- a/src/main/resources/mapper/OsmoticWarnRuleMapper.xml +++ b/src/main/resources/mapper/OsmoticWarnRuleMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/OsmoticWaterRMapper.xml b/src/main/resources/mapper/OsmoticWaterRMapper.xml index b9baab8..af583d3 100644 --- a/src/main/resources/mapper/OsmoticWaterRMapper.xml +++ b/src/main/resources/mapper/OsmoticWaterRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/OsmoticWaterRuleMapper.xml b/src/main/resources/mapper/OsmoticWaterRuleMapper.xml index 93c5ac0..fe743db 100644 --- a/src/main/resources/mapper/OsmoticWaterRuleMapper.xml +++ b/src/main/resources/mapper/OsmoticWaterRuleMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/PersonnelPlanLogMapper.xml b/src/main/resources/mapper/PersonnelPlanLogMapper.xml index fe0fe96..f45fd70 100644 --- a/src/main/resources/mapper/PersonnelPlanLogMapper.xml +++ b/src/main/resources/mapper/PersonnelPlanLogMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/PersonnelPlanMapper.xml b/src/main/resources/mapper/PersonnelPlanMapper.xml index 964a7c6..85ba395 100644 --- a/src/main/resources/mapper/PersonnelPlanMapper.xml +++ b/src/main/resources/mapper/PersonnelPlanMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ResMangUnitMapper.xml b/src/main/resources/mapper/ResMangUnitMapper.xml index 9549fe5..522f47f 100644 --- a/src/main/resources/mapper/ResMangUnitMapper.xml +++ b/src/main/resources/mapper/ResMangUnitMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ResMonthEcoFlowMapper.xml b/src/main/resources/mapper/ResMonthEcoFlowMapper.xml index 0f2c4b8..9eead96 100644 --- a/src/main/resources/mapper/ResMonthEcoFlowMapper.xml +++ b/src/main/resources/mapper/ResMonthEcoFlowMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ResPersonMapper.xml b/src/main/resources/mapper/ResPersonMapper.xml index b9c9e9a..5f26766 100644 --- a/src/main/resources/mapper/ResPersonMapper.xml +++ b/src/main/resources/mapper/ResPersonMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ResPlanBMapper.xml b/src/main/resources/mapper/ResPlanBMapper.xml index 9917434..411e1e6 100644 --- a/src/main/resources/mapper/ResPlanBMapper.xml +++ b/src/main/resources/mapper/ResPlanBMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ResProjectImgMapper.xml b/src/main/resources/mapper/ResProjectImgMapper.xml index 6848b20..4f8bdb1 100644 --- a/src/main/resources/mapper/ResProjectImgMapper.xml +++ b/src/main/resources/mapper/ResProjectImgMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ResSafePersonBMapper.xml b/src/main/resources/mapper/ResSafePersonBMapper.xml index 5ceeca4..123dbae 100644 --- a/src/main/resources/mapper/ResSafePersonBMapper.xml +++ b/src/main/resources/mapper/ResSafePersonBMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/RescueTeamBMapper.xml b/src/main/resources/mapper/RescueTeamBMapper.xml index 575c077..abf4acf 100644 --- a/src/main/resources/mapper/RescueTeamBMapper.xml +++ b/src/main/resources/mapper/RescueTeamBMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/RescueTeamDetailMapper.xml b/src/main/resources/mapper/RescueTeamDetailMapper.xml index 04237e5..192924c 100644 --- a/src/main/resources/mapper/RescueTeamDetailMapper.xml +++ b/src/main/resources/mapper/RescueTeamDetailMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/RescueTeamFileMapper.xml b/src/main/resources/mapper/RescueTeamFileMapper.xml index a512617..8962672 100644 --- a/src/main/resources/mapper/RescueTeamFileMapper.xml +++ b/src/main/resources/mapper/RescueTeamFileMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/ShpPlacementMapper.xml b/src/main/resources/mapper/ShpPlacementMapper.xml index 9fc93c0..93a511c 100644 --- a/src/main/resources/mapper/ShpPlacementMapper.xml +++ b/src/main/resources/mapper/ShpPlacementMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StAddvcdDMapper.xml b/src/main/resources/mapper/StAddvcdDMapper.xml index cc51955..7b7f0ff 100644 --- a/src/main/resources/mapper/StAddvcdDMapper.xml +++ b/src/main/resources/mapper/StAddvcdDMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StImgRMapper.xml b/src/main/resources/mapper/StImgRMapper.xml index 539f1d3..786c7ad 100644 --- a/src/main/resources/mapper/StImgRMapper.xml +++ b/src/main/resources/mapper/StImgRMapper.xml @@ -1,8 +1,8 @@ - + - SELECT stb.stcd, r.tm stm FROM public.st_stbprp_b stb diff --git a/src/main/resources/mapper/StImgRRealMapper.xml b/src/main/resources/mapper/StImgRRealMapper.xml index 41299a4..f201f0a 100644 --- a/src/main/resources/mapper/StImgRRealMapper.xml +++ b/src/main/resources/mapper/StImgRRealMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StImgWarnRMapper.xml b/src/main/resources/mapper/StImgWarnRMapper.xml index 17fdf2c..044fadd 100644 --- a/src/main/resources/mapper/StImgWarnRMapper.xml +++ b/src/main/resources/mapper/StImgWarnRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StPptnRDMapper.xml b/src/main/resources/mapper/StPptnRDMapper.xml index 015862f..ffc1279 100644 --- a/src/main/resources/mapper/StPptnRDMapper.xml +++ b/src/main/resources/mapper/StPptnRDMapper.xml @@ -1,8 +1,8 @@ - + - SELECT stb.stcd, stb.adcd, r.tm stm @@ -13,11 +13,11 @@ WHERE stb.source = 'SK' - SELECT #{stcd} stcd, COALESCE(max(tm), '2021-01-01 00:00:00') tm FROM st_pptn_r_d WHERE stcd = #{stcd} - select d.stcd, to_char(d.day_date, 'YYYY-MM-DD 00:00:00') tm, d.drp from (SELECT stcd, -- 计算分组键:直接调整时间戳以8点为基准 diff --git a/src/main/resources/mapper/StPptnRHMapper.xml b/src/main/resources/mapper/StPptnRHMapper.xml index 7d0625e..e149255 100644 --- a/src/main/resources/mapper/StPptnRHMapper.xml +++ b/src/main/resources/mapper/StPptnRHMapper.xml @@ -1,27 +1,27 @@ - + - select tm,drp from public.st_pptn_r_h where tm ]]> #{start} and tm #{end} and stcd = (select stcd from public.att_res_base where res_code = '42112230001') order by tm asc - select tm,rz from public.st_rsvr_r where tm =]]> #{start} and tm #{end} and TRIM(TO_CHAR(tm, 'MI:SS')) = '00:00' and stcd = (select stcd from public.att_res_base where res_code = '42112230001') order by tm asc - select tm,drp,TO_CHAR(tm, 'DD') as day,TO_CHAR(tm, 'MM') as month from public.st_pptn_r_d where year = #{year} and stcd = (select stcd from public.att_res_base where res_code = '42112230001') order by tm asc - SELECT h.stcd, h.hour_tm tm, h.drp from (SELECT r.stcd, DATE_TRUNC('hour', r.tm - INTERVAL '1 second') + INTERVAL '1 hour' AS hour_tm, SUM ( r.drp ) AS drp @@ -37,11 +37,11 @@ hour_tm) h - SELECT #{stcd} stcd, COALESCE(max(tm), '2021-01-01 00:00:00') tm, MAX ( chtm ) chtm FROM st_pptn_r_h WHERE stcd = #{stcd} - select tm,rz as drp,TO_CHAR(tm, 'DD') as day,TO_CHAR(tm, 'MM') as month from public.st_rsvr_r where TO_CHAR(tm, 'YYYY') = #{year} and TRIM(TO_CHAR(tm, 'HH24:MI')) = '08:00' and stcd = (select stcd from public.att_res_base where res_code = '42112230001') diff --git a/src/main/resources/mapper/StPptnRMapper.xml b/src/main/resources/mapper/StPptnRMapper.xml index 7b2cd8a..d0d89f1 100644 --- a/src/main/resources/mapper/StPptnRMapper.xml +++ b/src/main/resources/mapper/StPptnRMapper.xml @@ -1,8 +1,8 @@ - + - SELECT stb.stcd, r.tm stm, stb.source, @@ -14,7 +14,7 @@ WHERE stb.source in ('QX', 'SW', 'SH', 'SHYLRES') - SELECT stb.stcd, r.tm etm, stb.source, diff --git a/src/main/resources/mapper/StPptnRRealMapper.xml b/src/main/resources/mapper/StPptnRRealMapper.xml index 2f6a5a5..cc70f8f 100644 --- a/src/main/resources/mapper/StPptnRRealMapper.xml +++ b/src/main/resources/mapper/StPptnRRealMapper.xml @@ -1,6 +1,6 @@ - + with m1 as (select stcd,max(tm) as tmx from st_pptn_r where stcd = #{stcd} diff --git a/src/main/resources/mapper/StQxWarnRMapper.xml b/src/main/resources/mapper/StQxWarnRMapper.xml index 378eec9..d2a1683 100644 --- a/src/main/resources/mapper/StQxWarnRMapper.xml +++ b/src/main/resources/mapper/StQxWarnRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StRiverRMapper.xml b/src/main/resources/mapper/StRiverRMapper.xml index f6832de..c6f3ec8 100644 --- a/src/main/resources/mapper/StRiverRMapper.xml +++ b/src/main/resources/mapper/StRiverRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StRiverRRealMapper.xml b/src/main/resources/mapper/StRiverRRealMapper.xml index 876cda9..ca46dc6 100644 --- a/src/main/resources/mapper/StRiverRRealMapper.xml +++ b/src/main/resources/mapper/StRiverRRealMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StRsvrRMapper.xml b/src/main/resources/mapper/StRsvrRMapper.xml index c4ba33d..1e13007 100644 --- a/src/main/resources/mapper/StRsvrRMapper.xml +++ b/src/main/resources/mapper/StRsvrRMapper.xml @@ -1,8 +1,8 @@ - + - SELECT stb.stcd, case UPPER(stb.sttp) when 'RR' then r.tm when 'ZZ' then r2.tm end stm, stb.source, @@ -16,7 +16,7 @@ WHERE subquery2.rn = 1) r2 ON stb.stcd = r2.stcd WHERE stb.source in ('SW', 'SH', 'SHYLRES') - SELECT stb.stcd, case UPPER(stb.sttp) when 'RR' then r.tm when 'ZZ' then r2.tm end etm, stb.source, diff --git a/src/main/resources/mapper/StRsvrRRealMapper.xml b/src/main/resources/mapper/StRsvrRRealMapper.xml index 6386e1a..913946a 100644 --- a/src/main/resources/mapper/StRsvrRRealMapper.xml +++ b/src/main/resources/mapper/StRsvrRRealMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StStbprpBElemMapper.xml b/src/main/resources/mapper/StStbprpBElemMapper.xml index a921d6a..b2f3018 100644 --- a/src/main/resources/mapper/StStbprpBElemMapper.xml +++ b/src/main/resources/mapper/StStbprpBElemMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StStbprpBMapper.xml b/src/main/resources/mapper/StStbprpBMapper.xml index 9921397..2738eba 100644 --- a/src/main/resources/mapper/StStbprpBMapper.xml +++ b/src/main/resources/mapper/StStbprpBMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StWaterRMapper.xml b/src/main/resources/mapper/StWaterRMapper.xml index 568bbf3..8d37301 100644 --- a/src/main/resources/mapper/StWaterRMapper.xml +++ b/src/main/resources/mapper/StWaterRMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StWaterRRealMapper.xml b/src/main/resources/mapper/StWaterRRealMapper.xml index e1e5bd8..e5721d5 100644 --- a/src/main/resources/mapper/StWaterRRealMapper.xml +++ b/src/main/resources/mapper/StWaterRRealMapper.xml @@ -1,8 +1,8 @@ - + - SELECT stb.stcd, stb.sttp, t.tm, t.q, t.v FROM public.st_stbprp_b stb JOIN public.st_water_r_real t ON t.stcd = stb.stcd diff --git a/src/main/resources/mapper/StWaterRReorganizeMapper.xml b/src/main/resources/mapper/StWaterRReorganizeMapper.xml index ca77ac4..bc7e90e 100644 --- a/src/main/resources/mapper/StWaterRReorganizeMapper.xml +++ b/src/main/resources/mapper/StWaterRReorganizeMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StZqrlBMapper.xml b/src/main/resources/mapper/StZqrlBMapper.xml index d5898b1..dd55f1a 100644 --- a/src/main/resources/mapper/StZqrlBMapper.xml +++ b/src/main/resources/mapper/StZqrlBMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/StZvarlBMapper.xml b/src/main/resources/mapper/StZvarlBMapper.xml index c603478..7810096 100644 --- a/src/main/resources/mapper/StZvarlBMapper.xml +++ b/src/main/resources/mapper/StZvarlBMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/SysDictBMapper.xml b/src/main/resources/mapper/SysDictBMapper.xml index 58d94fb..b677656 100644 --- a/src/main/resources/mapper/SysDictBMapper.xml +++ b/src/main/resources/mapper/SysDictBMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/SzCaseMapper.xml b/src/main/resources/mapper/SzCaseMapper.xml index af68194..2720918 100644 --- a/src/main/resources/mapper/SzCaseMapper.xml +++ b/src/main/resources/mapper/SzCaseMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/SzRegulatoryFrameworkMapper.xml b/src/main/resources/mapper/SzRegulatoryFrameworkMapper.xml index c418a0e..a5567bc 100644 --- a/src/main/resources/mapper/SzRegulatoryFrameworkMapper.xml +++ b/src/main/resources/mapper/SzRegulatoryFrameworkMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/SzRuleByLawMapper.xml b/src/main/resources/mapper/SzRuleByLawMapper.xml index 415e4b3..6b18825 100644 --- a/src/main/resources/mapper/SzRuleByLawMapper.xml +++ b/src/main/resources/mapper/SzRuleByLawMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/mapper/TyYearRainfallMapper.xml b/src/main/resources/mapper/TyYearRainfallMapper.xml index a26eebf..36a2477 100644 --- a/src/main/resources/mapper/TyYearRainfallMapper.xml +++ b/src/main/resources/mapper/TyYearRainfallMapper.xml @@ -1,5 +1,5 @@ - +