feat: 初始化客运页面API接口
- 新增 TrafficApiController 客运页面专用控制器 - 实现进出站客流排名TOP10接口 (getInOutStationRank/v1) - 实现换乘站客流排名TOP10接口 (getTransferStationRank/v1) - 新增 SQL 查询逻辑,按单/多线路区分站点类型 - 新增缓存清理接口 (cleanCache) - 添加完整的接口文档 (客运页面API接口文档.md) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>main
commit
912037fd6d
|
|
@ -0,0 +1,31 @@
|
|||
# Maven
|
||||
target/
|
||||
*.class
|
||||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
|
||||
# IDE
|
||||
.idea/
|
||||
.vscode/
|
||||
*.iml
|
||||
*.iws
|
||||
*.ipr
|
||||
.DS_Store
|
||||
|
||||
# Logs
|
||||
logs/
|
||||
*.log
|
||||
|
||||
# Frontend
|
||||
node_modules/
|
||||
dist/
|
||||
.temp/
|
||||
.cache/
|
||||
|
||||
# Config (可能包含敏感信息)
|
||||
application-local.yml
|
||||
application-dev.yml
|
||||
|
||||
# OS
|
||||
Thumbs.db
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.jeeplus</groupId>
|
||||
<artifactId>jeeplus-modules</artifactId>
|
||||
<version>9.0</version>
|
||||
</parent>
|
||||
|
||||
|
||||
<artifactId>juntech-ysdp</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>juntech-ysdp</name>
|
||||
<description>运三大屏</description>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jeeplus</groupId>
|
||||
<artifactId>jeeplus-admin</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jeeplus</groupId>
|
||||
<artifactId>jeeplus-flowable</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.jeeplus</groupId>
|
||||
<artifactId>jeeplus-quartz</artifactId>
|
||||
<version>9.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
|
||||
</project>
|
||||
|
||||
|
|
@ -0,0 +1,327 @@
|
|||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import com.jeeplus.common.redis.RedisUtils;
|
||||
import com.jeeplus.config.properties.JeePlusProperties;
|
||||
import com.jeeplus.security.util.EncryptUtils;
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.text.ParseException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* @author wang
|
||||
*/
|
||||
public abstract class BaseApiController {
|
||||
@Autowired
|
||||
protected JeePlusProperties jeePlusProperties;
|
||||
|
||||
protected String decrytionResult = "decrytionResult";
|
||||
|
||||
public final static String NULL = "null";
|
||||
public final static String UNDEFINED = "undefined";
|
||||
ResponseEntity<JSONObject> checkResult;
|
||||
@Autowired
|
||||
RedisUtils redisUtils;
|
||||
|
||||
public String token;
|
||||
/**
|
||||
* 日志对象
|
||||
*/
|
||||
protected Logger logger = LoggerFactory.getLogger(getClass());
|
||||
protected HttpServletRequest request;
|
||||
|
||||
/**
|
||||
* 通过全局配置文件规则加密
|
||||
*
|
||||
* @param data 明文对象
|
||||
* @return 结果
|
||||
* @throws Exception 异常对象
|
||||
*/
|
||||
protected Object encryptDataByConfig(Object data) throws Exception {
|
||||
// if (jeePlusProperties.isEncryptEnable() && !Boolean.parseBoolean(request.getAttribute("noEncrypt").toString())) {
|
||||
if (jeePlusProperties.isEncryptEnable()) {
|
||||
//配置文件中是否开启SM4接口加解密,如开启则调用加密工具
|
||||
///return EncryptUtils.encryptByConfig(data, token);
|
||||
return EncryptUtils.encryptCbc(data.toString());
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过全局配置解密参数
|
||||
*
|
||||
* @param data 密文参数
|
||||
* @return 明文参数
|
||||
*/
|
||||
protected String decryptDataByConfig(String data) throws Exception {
|
||||
if (jeePlusProperties.isEncryptEnable()) {
|
||||
//配置文件中是否开启SM4接口加解密,如开启则调用加密工具
|
||||
return EncryptUtils.decryptByConfig(data);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过全局配置解密参数并去除null undefined等无效参数
|
||||
*
|
||||
* @param data 密文参数
|
||||
* @return 明文参数
|
||||
*/
|
||||
protected String decryptDataByConfigWithFilteNull(String data) throws ParseException {
|
||||
if (jeePlusProperties.isEncryptEnable()) {
|
||||
try {
|
||||
//配置文件中是否开启SM4接口加解密,如开启则调用加密工具
|
||||
return filterJsNull(EncryptUtils.decryptByConfig(data));
|
||||
} catch (Exception ex) {
|
||||
throw new ParseException(ex.toString(), 0);
|
||||
}
|
||||
}
|
||||
return filterJsNull(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 过滤替换掉JS传入的null或undefined无效参数值
|
||||
*
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
protected String filterJsNull(String data) {
|
||||
if (StringUtils.equalsAnyIgnoreCase(data, NULL, UNDEFINED)) {
|
||||
return "";
|
||||
} else {
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回集合Data部分为JSONArray
|
||||
*
|
||||
* @param data Data结果
|
||||
* @return ResponseEntity
|
||||
*/
|
||||
protected ResponseEntity<JSONObject> okJsonResponse(JSONArray data) {
|
||||
if (data != null) {
|
||||
return okJsonResponse(data.toString());
|
||||
} else {
|
||||
return okJsonResponse("");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 返回返回集合Data部分为JSONArray并将值缓存
|
||||
*
|
||||
* @param data
|
||||
* @param cacheKey
|
||||
* @return
|
||||
*/
|
||||
protected ResponseEntity<JSONObject> okJsonResponse(JSONArray data, String cacheKey) {
|
||||
//存入缓存,时效由全局配置参数控制
|
||||
writeToRedis(cacheKey, data);
|
||||
return okJsonResponse(data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 返回返回集合Data部分为JSONArray并将值缓存
|
||||
*
|
||||
* @param data
|
||||
* @param cacheKey
|
||||
* @return
|
||||
*/
|
||||
protected ResponseEntity<JSONObject> okJsonResponse(JSONObject data, String cacheKey) {
|
||||
//存入缓存,时效由全局配置参数控制
|
||||
writeToRedis(cacheKey, data);
|
||||
return okJsonResponse(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回集合Data部分为JSONObject
|
||||
*
|
||||
* @param data Data结果
|
||||
* @return ResponseEntity
|
||||
*/
|
||||
protected ResponseEntity<JSONObject> okJsonResponse(JSONObject data) {
|
||||
if (data != null) {
|
||||
return okJsonResponse(data.toString());
|
||||
} else {
|
||||
return okJsonResponse("");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 返回集合Data部分为String
|
||||
*
|
||||
* @param data Data结果
|
||||
* @return ResponseEntity
|
||||
*/
|
||||
protected ResponseEntity<JSONObject> okJsonResponse(String data) {
|
||||
JSONObject resultObj = new JSONObject();
|
||||
resultObj.put("success", true);
|
||||
resultObj.put("code", HttpStatus.OK.value());
|
||||
resultObj.put("msg", "请求成功!");
|
||||
try {
|
||||
resultObj.put("data", encryptDataByConfig(data));
|
||||
} catch (Exception ex) {
|
||||
resultObj.put("success", false);
|
||||
resultObj.put("code", HttpStatus.BAD_REQUEST.value());
|
||||
resultObj.put("msg", "请求异常!");
|
||||
if (!JeePlusProperties.newInstance().isProEnv()) {
|
||||
resultObj.put("error", "(异常明细仅在开发测试环境中显示)" + printStackTraceToString(ex));
|
||||
}
|
||||
return new ResponseEntity<>(resultObj, HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
return new ResponseEntity<>(resultObj, HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 异常情况下返回
|
||||
*
|
||||
* @param msg 错误消息内容
|
||||
* @param ex 异常对象
|
||||
* @return ResponseEntity
|
||||
*/
|
||||
protected ResponseEntity<JSONObject> badJsonResponse(String msg, Exception ex) {
|
||||
JSONObject resultObj = new JSONObject();
|
||||
resultObj.put("success", false);
|
||||
resultObj.put("code", HttpStatus.INTERNAL_SERVER_ERROR.value());
|
||||
resultObj.put("msg", msg);
|
||||
resultObj.put("data", "");
|
||||
if (ex != null) {
|
||||
logger.error("API接口处理发生异常:", ex);
|
||||
}
|
||||
if (!JeePlusProperties.newInstance().isProEnv() && ex != null) {
|
||||
resultObj.put("error", "(异常明细仅在开发测试环境中显示)" + printStackTraceToString(ex));
|
||||
ex.printStackTrace();
|
||||
}
|
||||
return new ResponseEntity<>(resultObj, HttpStatus.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
/**
|
||||
* 异常情况下返回
|
||||
*
|
||||
* @param msg 错误消息内容
|
||||
* @return
|
||||
*/
|
||||
protected ResponseEntity<JSONObject> badJsonResponse(String msg) {
|
||||
return badJsonResponse(msg, null);
|
||||
}
|
||||
|
||||
protected ResponseEntity<JSONObject> badJsonResponse() {
|
||||
return badJsonResponse("请求异常!", null);
|
||||
}
|
||||
|
||||
/***
|
||||
* 输出异常堆栈字符串
|
||||
*
|
||||
* @param t
|
||||
* @return
|
||||
*/
|
||||
public static String printStackTraceToString(Throwable t) {
|
||||
StringWriter sw = new StringWriter();
|
||||
t.printStackTrace(new PrintWriter(sw, true));
|
||||
return sw.getBuffer().toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否使用API缓存,如存在缓存KEY并且请求参数中未加入noCache项,则启用缓存值返回
|
||||
*
|
||||
* @param cacheKey 缓存KEY
|
||||
* @param request 请求
|
||||
* @return 是否启用API缓存
|
||||
*/
|
||||
protected boolean useCache(String cacheKey, HttpServletRequest request) {
|
||||
return redisUtils.hasKey(cacheKey) && !Boolean.parseBoolean(request.getAttribute("noCache").toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 共通接口鉴权和参数验证检查
|
||||
*
|
||||
* @param request 请求
|
||||
* @return 是否通过鉴权和参数验证
|
||||
*/
|
||||
protected boolean checkRequest(HttpServletRequest request) {
|
||||
this.request = request;
|
||||
token = request.getHeader("token");
|
||||
if (request.getAttribute(decrytionResult) != null) {
|
||||
checkResult = badJsonResponse(request.getAttribute(decrytionResult).toString());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 接口返回值写入缓存, 缓存时长通过配置文件获取
|
||||
*
|
||||
* @param cacheKey 缓存KEY
|
||||
* @param resultData 接口返回DATA
|
||||
*/
|
||||
protected void writeToRedis(String cacheKey, JSONArray resultData) {
|
||||
//存入缓存,时效由全局配置参数控制
|
||||
int apiCacheExpire = jeePlusProperties.getApiCacheExpire();
|
||||
if (apiCacheExpire > 0) {
|
||||
redisUtils.setEx(cacheKey, resultData, jeePlusProperties.getApiCacheExpire(), TimeUnit.MINUTES);
|
||||
}
|
||||
}
|
||||
|
||||
protected void writeToRedis(String cacheKey, JSONObject resultData) {
|
||||
//存入缓存,时效由全局配置参数控制
|
||||
int apiCacheExpire = jeePlusProperties.getApiCacheExpire();
|
||||
if (apiCacheExpire > 0) {
|
||||
redisUtils.setEx(cacheKey, resultData, jeePlusProperties.getApiCacheExpire(), TimeUnit.MINUTES);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* SM4加密返回
|
||||
* @param data 返回明文对象
|
||||
* @param request 请求对象
|
||||
* @return 最终加密后对象
|
||||
* @throws Exception 异常
|
||||
*/
|
||||
protected String encryptData(Object data, HttpServletRequest request) throws Exception {
|
||||
//配置文件中是否开启SM4接口加解密,如开启则调用加密工具
|
||||
if (jeePlusProperties.isEncryptEnable()) {
|
||||
//token的动态密钥模式
|
||||
if (jeePlusProperties.isApiEncryptTokenMode()) {
|
||||
return EncryptUtils.encrypt(data, request);
|
||||
} else {
|
||||
//固定密钥模式
|
||||
if (StringUtils.isBlank(jeePlusProperties.getApiEncryptSm4key())) {
|
||||
logger.error("当前为固定密钥模式,但缺少具体密钥内容,请检查配置文件...");
|
||||
throw new NoSuchFieldException();
|
||||
} else {
|
||||
return EncryptUtils.encrypt(data, jeePlusProperties.getApiEncryptSm4key());
|
||||
}
|
||||
}
|
||||
}
|
||||
return data.toString();
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
String decrypt = "";
|
||||
//String encrypt = EncryptUtils.encrypt("", "f46406bc0f239e3e37a093693e187da1");
|
||||
// String encrypt = EncryptUtils.encrypt("yUZpFK90y6YRhm8w1KQy42nDs1kAO/puRSlssdwfQYRoUIaqSRtwyIGFuUvKFKTxr84ydt3Uo2Jmc2JP1BDQgsERDYTbBg40//h05IgyelFoNFsRc7jAsLm1bJC1/GmtB+8rpav7q/fNYFoOgBMUVqkLNtiCq6m9y2Rke6IChxvgdDLnLetyRcBwXaF880C6sR7rt9jBkjBC1t01vEottOw2ixd1/5WlWcDiLXJhPuhl/pYEH+HKERuus44T3WhrOyEr/re6Drlb4/SCxPzvZCAJGOV6z6CUjBq/S1k5D0fghIQnT9UC6CDFLrVfdwbecZki+YfFVpEZmelhfQDrfybmk0txSSNou8GBXBjBIBA=", "IZTjl9iJ");
|
||||
System.out.println("加密后:" + decrypt);
|
||||
//System.out.println("解密后:" + decrypt);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import net.juntech.modules.ysdp.domain.YsOperateManager;
|
||||
import net.juntech.modules.ysdp.service.YsOperateManagerService;
|
||||
import net.juntech.modules.ysdp.service.YsYunyingService;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingDTO;
|
||||
import net.juntech.modules.ysdp.utils.Constant;
|
||||
import net.juntech.modules.ysdp.utils.JSONUtil;
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Tag(name = "客运页面API接口")
|
||||
@RestController
|
||||
@RequestMapping(value = "/api/traffic")
|
||||
public class TrafficApiController extends BaseApiController {
|
||||
|
||||
@Autowired
|
||||
private YsYunyingService ysYunyingService;
|
||||
|
||||
@Autowired
|
||||
private YsOperateManagerService ysOperateManagerService;
|
||||
|
||||
private static final String[] STATION_RANK_EXCLUDE_FIELDS = new String[]{
|
||||
"id", "remarks", "createBy", "createDate", "updateBy", "updateDate",
|
||||
"delFlag", "tenantId", "createTime", "createById", "updateTime",
|
||||
"updateById", "updateByIdId", "createByIdId", "fileName", "pullNum",
|
||||
"tenantDTO", "departureNum", "endTime", "begTime"
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取进出站客流排名TOP10
|
||||
* 规则:只统计单线路站点(lineId不含逗号)
|
||||
*/
|
||||
@ApiLog("获取进出站客流排名TOP10")
|
||||
@Operation(summary = "获取进出站客流排名TOP10")
|
||||
@PostMapping("getInOutStationRank/v1")
|
||||
public ResponseEntity<JSONObject> getInOutStationRank(HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
String cacheKey = Constant.API_CACHE_NAME_TRAFFIC_INOUT_RANK;
|
||||
JSONArray resultArray = new JSONArray();
|
||||
|
||||
try {
|
||||
if (useCache(cacheKey, request)) {
|
||||
resultArray = redisUtils.getJSONArray(cacheKey);
|
||||
} else {
|
||||
String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
String compareDay = resolveCompareDay();
|
||||
|
||||
List<YsYunyingDTO> stationList = ysYunyingService.getInOutStationMaxList(today);
|
||||
fillCompareTotal(stationList, compareDay);
|
||||
|
||||
resultArray = JSONUtil.getJsonArrayFormList(stationList, STATION_RANK_EXCLUDE_FIELDS);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("获取进出站客流排名异常", ex);
|
||||
}
|
||||
return okJsonResponse(resultArray, cacheKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取换乘站客流排名TOP10
|
||||
* 规则:只统计多线路站点(lineId含逗号)
|
||||
*/
|
||||
@ApiLog("获取换乘站客流排名TOP10")
|
||||
@Operation(summary = "获取换乘站客流排名TOP10")
|
||||
@PostMapping("getTransferStationRank/v1")
|
||||
public ResponseEntity<JSONObject> getTransferStationRank(HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
String cacheKey = Constant.API_CACHE_NAME_TRAFFIC_TRANSFER_RANK;
|
||||
JSONArray resultArray = new JSONArray();
|
||||
|
||||
try {
|
||||
if (useCache(cacheKey, request)) {
|
||||
resultArray = redisUtils.getJSONArray(cacheKey);
|
||||
} else {
|
||||
String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
String compareDay = resolveCompareDay();
|
||||
|
||||
List<YsYunyingDTO> stationList = ysYunyingService.getTransferStationMaxList(today);
|
||||
fillCompareTotal(stationList, compareDay);
|
||||
|
||||
resultArray = JSONUtil.getJsonArrayFormList(stationList, STATION_RANK_EXCLUDE_FIELDS);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("获取换乘站客流排名异常", ex);
|
||||
}
|
||||
return okJsonResponse(resultArray, cacheKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* 清理客运页面所有接口缓存
|
||||
*/
|
||||
@ApiLog("清理客运页面接口缓存")
|
||||
@Operation(summary = "清理客运页面接口缓存")
|
||||
@PostMapping("cleanCache")
|
||||
public ResponseEntity<JSONObject> cleanCache(HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
try {
|
||||
redisUtils.delPattern(Constant.API_CACHE_NAME_TRAFFIC_PREFIX + "*");
|
||||
return okJsonResponse("缓存清理成功");
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("清理缓存异常", ex);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析对比日期:优先取运营配置中的 compareDate,否则默认前一天
|
||||
*/
|
||||
private String resolveCompareDay() {
|
||||
String compareDay = LocalDate.now().minusDays(1)
|
||||
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
YsOperateManager manager = ysOperateManagerService.getOne(
|
||||
new QueryWrapper<YsOperateManager>().ne("del_flag", "1").last("LIMIT 1")
|
||||
);
|
||||
if (manager != null && manager.getCompareDate() != null && manager.getCompareDate().length() >= 10) {
|
||||
compareDay = manager.getCompareDate().substring(0, 10);
|
||||
}
|
||||
return compareDay;
|
||||
}
|
||||
|
||||
/**
|
||||
* 按站点名称查询对比日客流并回填到 DTO
|
||||
*/
|
||||
private void fillCompareTotal(List<YsYunyingDTO> stationList, String compareDay) {
|
||||
if (stationList == null || stationList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
for (YsYunyingDTO station : stationList) {
|
||||
String compareValue = ysYunyingService.getStationCompareValue(compareDay, station.getStationName());
|
||||
station.setCompareTotal(compareValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,171 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import net.juntech.modules.ysdp.domain.ZnMetroStations;
|
||||
import net.juntech.modules.ysdp.service.ZnMetroStationsService;
|
||||
import net.juntech.modules.ysdp.service.dto.YsStationCameraDTO;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.domain.YsCommonMonitor;
|
||||
import net.juntech.modules.ysdp.service.dto.YsCommonMonitorDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsCommonMonitorWrapper;
|
||||
import net.juntech.modules.ysdp.service.YsCommonMonitorService;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 常用视屏监控Controller
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
|
||||
@Tag(name = "常用视屏监控")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/ysCommonMonitor")
|
||||
public class YsCommonMonitorController {
|
||||
|
||||
@Autowired
|
||||
private YsCommonMonitorService ysCommonMonitorService;
|
||||
|
||||
@Autowired
|
||||
private YsCommonMonitorWrapper ysCommonMonitorWrapper;
|
||||
|
||||
@Autowired
|
||||
private ZnMetroStationsService znMetroStationsService;
|
||||
|
||||
/**
|
||||
* 常用视屏监控列表数据
|
||||
*/
|
||||
@ApiLog("查询常用视屏监控列表数据")
|
||||
@Operation(summary = "查询常用视屏监控列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysCommonMonitor:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<YsCommonMonitorDTO>> list(YsCommonMonitorDTO ysCommonMonitorDTO, Page<YsCommonMonitor> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysCommonMonitorDTO, YsCommonMonitorDTO.class);
|
||||
IPage<YsCommonMonitorDTO> result = ysCommonMonitorWrapper.toDTO ( ysCommonMonitorService.page (page, queryWrapper) );
|
||||
List<YsCommonMonitorDTO> list = result.getRecords();
|
||||
for(int i =0;i<list.size();i++) {
|
||||
ZnMetroStations znMetroStations = znMetroStationsService.getById(list.get(i).getStation());
|
||||
if (znMetroStations != null) {
|
||||
result.getRecords().get(i).setStation(znMetroStations.getNameCn());
|
||||
}
|
||||
}
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取常用视屏监控数据
|
||||
*/
|
||||
@ApiLog("根据Id获取常用视屏监控数据")
|
||||
@Operation(summary = "根据Id获取常用视屏监控数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysCommonMonitor:view','ysdp:ysCommonMonitor:add','ysdp:ysCommonMonitor:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<YsCommonMonitorDTO> queryById(String id) {
|
||||
return ResponseEntity.ok ( ysCommonMonitorWrapper.toDTO ( ysCommonMonitorService.getById ( id ) ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存常用视屏监控
|
||||
*/
|
||||
@ApiLog("保存常用视屏监控")
|
||||
@Operation(summary = "保存常用视屏监控")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysCommonMonitor:add','ysdp:ysCommonMonitor:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody YsCommonMonitorDTO ysCommonMonitorDTO) {
|
||||
//新增或编辑表单保存
|
||||
ysCommonMonitorService.saveOrUpdate (ysCommonMonitorWrapper.toEntity (ysCommonMonitorDTO));
|
||||
return ResponseEntity.ok ( "保存常用视屏监控成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除常用视屏监控
|
||||
*/
|
||||
@ApiLog("删除常用视屏监控")
|
||||
@Operation(summary = "删除常用视屏监控")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysCommonMonitor:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
ysCommonMonitorService.removeByIds ( Lists.newArrayList ( idArray ) );
|
||||
return ResponseEntity.ok( "删除常用视屏监控成功" );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出常用视屏监控数据
|
||||
*
|
||||
* @param ysCommonMonitorDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出常用视屏监控数据")
|
||||
@Operation(summary = "导出常用视屏监控数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysCommonMonitor:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(YsCommonMonitorDTO ysCommonMonitorDTO, Page <YsCommonMonitor> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysCommonMonitorDTO, YsCommonMonitorDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List < YsCommonMonitor> result = ysCommonMonitorService.page ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( ysCommonMonitorService, ysCommonMonitorWrapper ).exportExcel ( result, options.getSheetName ( ), YsCommonMonitorDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入常用视屏监控数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入常用视屏监控数据板")
|
||||
@Operation(summary = "导入常用视屏监控数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysCommonMonitor:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( ysCommonMonitorService, ysCommonMonitorWrapper ).importExcel ( file, YsCommonMonitorDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入常用视屏监控数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入常用视屏监控数据模板")
|
||||
@Operation(summary = "下载导入常用视屏监控数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:ysCommonMonitor:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "常用视屏监控数据导入模板.xlsx";
|
||||
List<YsCommonMonitorDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( ysCommonMonitorService, ysCommonMonitorWrapper ).exportExcel ( list, "常用视屏监控数据", YsCommonMonitorDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import com.jeeplus.common.redis.RedisUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import net.juntech.modules.ysdp.utils.Constant;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.service.dto.YsDutyInfoDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsDutyInfoWrapper;
|
||||
import net.juntech.modules.ysdp.service.YsDutyInfoService;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 值班信息Controller
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
|
||||
@Tag(name = "值班信息")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/ysDutyInfo")
|
||||
public class YsDutyInfoController {
|
||||
|
||||
@Autowired
|
||||
private YsDutyInfoService ysDutyInfoService;
|
||||
|
||||
@Autowired
|
||||
private YsDutyInfoWrapper ysDutyInfoWrapper;
|
||||
|
||||
@Autowired
|
||||
RedisUtils redisUtils;
|
||||
/**
|
||||
* 值班信息列表数据
|
||||
*/
|
||||
@ApiLog("查询值班信息列表数据")
|
||||
@Operation(summary = "查询值班信息列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysDutyInfo:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<YsDutyInfoDTO>> list(YsDutyInfoDTO ysDutyInfoDTO, Page<YsDutyInfoDTO> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysDutyInfoDTO, YsDutyInfoDTO.class);
|
||||
IPage<YsDutyInfoDTO> result = ysDutyInfoService.findPage (page, queryWrapper);
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取值班信息数据
|
||||
*/
|
||||
@ApiLog("根据Id获取值班信息数据")
|
||||
@Operation(summary = "根据Id获取值班信息数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysDutyInfo:view','ysdp:ysDutyInfo:add','ysdp:ysDutyInfo:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<YsDutyInfoDTO> queryById(String id) {
|
||||
return ResponseEntity.ok ( ysDutyInfoService.findById ( id ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存值班信息
|
||||
*/
|
||||
@ApiLog("保存值班信息")
|
||||
@Operation(summary = "保存值班信息")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysDutyInfo:add','ysdp:ysDutyInfo:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody YsDutyInfoDTO ysDutyInfoDTO) {
|
||||
//新增或编辑表单保存
|
||||
ysDutyInfoService.saveOrUpdate (ysDutyInfoDTO);
|
||||
redisUtils.delPattern ( Constant.API_CACHE_NAME_GETDUTYLISTV1 );
|
||||
return ResponseEntity.ok ( "保存值班信息成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除值班信息
|
||||
*/
|
||||
@ApiLog("删除值班信息")
|
||||
@Operation(summary = "删除值班信息")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysDutyInfo:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
for(String id: idArray){
|
||||
ysDutyInfoService.removeById ( id );
|
||||
}
|
||||
redisUtils.delPattern ( Constant.API_CACHE_NAME_GETDUTYLISTV1 );
|
||||
return ResponseEntity.ok( "删除值班信息成功" );
|
||||
}
|
||||
/**
|
||||
* 导出值班信息数据
|
||||
*
|
||||
* @param ysDutyInfoDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出值班信息数据")
|
||||
@Operation(summary = "导出值班信息数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysDutyInfo:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(YsDutyInfoDTO ysDutyInfoDTO, Page <YsDutyInfoDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysDutyInfoDTO, YsDutyInfoDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "a.id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List<YsDutyInfoDTO> result = ysDutyInfoService.findPage ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( ysDutyInfoService, ysDutyInfoWrapper ).exportExcel ( result, options.getSheetName ( ), YsDutyInfoDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入值班信息数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入值班信息数据")
|
||||
@Operation(summary = "导入值班信息数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysDutyInfo:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( ysDutyInfoService, ysDutyInfoWrapper ).importExcel ( file, YsDutyInfoDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入值班信息数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入值班信息数据模板")
|
||||
@Operation(summary = "下载导入值班信息数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:ysDutyInfo:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "值班信息数据导入模板.xlsx";
|
||||
List<YsDutyInfoDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( ysDutyInfoService, ysDutyInfoWrapper ).exportExcel ( list, "值班信息数据", YsDutyInfoDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import com.jeeplus.common.redis.RedisUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import net.juntech.modules.ysdp.utils.Constant;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.domain.YsIndicator;
|
||||
import net.juntech.modules.ysdp.service.dto.YsIndicatorDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsIndicatorWrapper;
|
||||
import net.juntech.modules.ysdp.service.YsIndicatorService;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 年度指标Controller
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
|
||||
@Tag(name = "年度指标")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/ysIndicator")
|
||||
public class YsIndicatorController {
|
||||
|
||||
@Autowired
|
||||
private YsIndicatorService ysIndicatorService;
|
||||
|
||||
@Autowired
|
||||
private YsIndicatorWrapper ysIndicatorWrapper;
|
||||
|
||||
@Autowired
|
||||
RedisUtils redisUtils;
|
||||
|
||||
/**
|
||||
* 年度指标列表数据
|
||||
*/
|
||||
@ApiLog("查询年度指标列表数据")
|
||||
@Operation(summary = "查询年度指标列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysIndicator:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<YsIndicatorDTO>> list(YsIndicatorDTO ysIndicatorDTO, Page<YsIndicator> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysIndicatorDTO, YsIndicatorDTO.class);
|
||||
IPage<YsIndicatorDTO> result = ysIndicatorWrapper.toDTO ( ysIndicatorService.page (page, queryWrapper) );
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取年度指标数据
|
||||
*/
|
||||
@ApiLog("根据Id获取年度指标数据")
|
||||
@Operation(summary = "根据Id获取年度指标数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysIndicator:view','ysdp:ysIndicator:add','ysdp:ysIndicator:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<YsIndicatorDTO> queryById(String id) {
|
||||
return ResponseEntity.ok ( ysIndicatorWrapper.toDTO ( ysIndicatorService.getById ( id ) ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存年度指标
|
||||
*/
|
||||
@ApiLog("保存年度指标")
|
||||
@Operation(summary = "保存年度指标")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysIndicator:add','ysdp:ysIndicator:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody YsIndicatorDTO ysIndicatorDTO) {
|
||||
//新增或编辑表单保存
|
||||
ysIndicatorService.saveOrUpdate (ysIndicatorWrapper.toEntity (ysIndicatorDTO));
|
||||
// 清除缓存
|
||||
redisUtils.delPattern ( Constant.API_CACHE_NAME_GETINDICATORV1 );
|
||||
return ResponseEntity.ok ( "保存年度指标成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除年度指标
|
||||
*/
|
||||
@ApiLog("删除年度指标")
|
||||
@Operation(summary = "删除年度指标")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysIndicator:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
ysIndicatorService.removeByIds ( Lists.newArrayList ( idArray ) );
|
||||
// 清除缓存
|
||||
redisUtils.delPattern ( Constant.API_CACHE_NAME_GETINDICATORV1 );
|
||||
return ResponseEntity.ok( "删除年度指标成功" );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出年度指标数据
|
||||
*
|
||||
* @param ysIndicatorDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出年度指标数据")
|
||||
@Operation(summary = "导出年度指标数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysIndicator:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(YsIndicatorDTO ysIndicatorDTO, Page <YsIndicator> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysIndicatorDTO, YsIndicatorDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List < YsIndicator> result = ysIndicatorService.page ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( ysIndicatorService, ysIndicatorWrapper ).exportExcel ( result, options.getSheetName ( ), YsIndicatorDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入年度指标数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入年度指标数据板")
|
||||
@Operation(summary = "导入年度指标数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysIndicator:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( ysIndicatorService, ysIndicatorWrapper ).importExcel ( file, YsIndicatorDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入年度指标数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入年度指标数据模板")
|
||||
@Operation(summary = "下载导入年度指标数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:ysIndicator:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "年度指标数据导入模板.xlsx";
|
||||
List<YsIndicatorDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( ysIndicatorService, ysIndicatorWrapper ).exportExcel ( list, "年度指标数据", YsIndicatorDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,214 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import com.jeeplus.common.redis.RedisUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import net.juntech.modules.ysdp.service.ZnMetroLinesService;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO;
|
||||
import net.juntech.modules.ysdp.utils.Constant;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.domain.YsOperateManager;
|
||||
import net.juntech.modules.ysdp.service.dto.YsOperateManagerDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsOperateManagerWrapper;
|
||||
import net.juntech.modules.ysdp.service.YsOperateManagerService;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 运营信息Controller
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
|
||||
@Tag(name = "运营信息")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/ysOperateManager")
|
||||
public class YsOperateManagerController {
|
||||
|
||||
@Autowired
|
||||
private YsOperateManagerService ysOperateManagerService;
|
||||
|
||||
@Autowired
|
||||
private YsOperateManagerWrapper ysOperateManagerWrapper;
|
||||
|
||||
String cacheKey = Constant.API_CACHE_NAME_GETOPERATEINFOV1;
|
||||
|
||||
@Autowired
|
||||
RedisUtils redisUtils;
|
||||
|
||||
/**
|
||||
* 运营信息列表数据
|
||||
*/
|
||||
@ApiLog("查询运营信息列表数据")
|
||||
@Operation(summary = "查询运营信息列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysOperateManager:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<YsOperateManagerDTO>> list(YsOperateManagerDTO ysOperateManagerDTO, Page<YsOperateManager> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysOperateManagerDTO, YsOperateManagerDTO.class);
|
||||
IPage<YsOperateManagerDTO> result = ysOperateManagerWrapper.toDTO ( ysOperateManagerService.page (page, queryWrapper) );
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取运营信息数据
|
||||
*/
|
||||
@ApiLog("根据Id获取运营信息数据")
|
||||
@Operation(summary = "根据Id获取运营信息数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysOperateManager:view','ysdp:ysOperateManager:add','ysdp:ysOperateManager:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<YsOperateManagerDTO> queryById(String id) {
|
||||
YsOperateManagerDTO YsOperateManagerDTO = ysOperateManagerWrapper.toDTO ( ysOperateManagerService.getById ( id ) );
|
||||
return ResponseEntity.ok ( ysOperateManagerWrapper.toDTO ( ysOperateManagerService.getById ( id ) ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存运营信息
|
||||
*/
|
||||
@ApiLog("保存运营信息")
|
||||
@Operation(summary = "保存运营信息")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysOperateManager:add','ysdp:ysOperateManager:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody YsOperateManagerDTO ysOperateManagerDTO) {
|
||||
//新增或编辑表单保存
|
||||
ysOperateManagerService.saveOrUpdate (ysOperateManagerWrapper.toEntity (ysOperateManagerDTO));
|
||||
//存在更新时清空API缓存,使接口重新获取
|
||||
redisUtils.delPattern(cacheKey);
|
||||
// 删除客流
|
||||
redisUtils.delPattern(Constant.API_CACHE_NAME_GETYUNYINGINFOV1);
|
||||
redisUtils.delPattern(Constant.API_CACHE_NAME_GETSTATIONMAXLISTV1);
|
||||
return ResponseEntity.ok ( "保存运营信息成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除运营信息
|
||||
*/
|
||||
@ApiLog("删除运营信息")
|
||||
@Operation(summary = "删除运营信息")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysOperateManager:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
ysOperateManagerService.removeByIds ( Lists.newArrayList ( idArray ) );
|
||||
redisUtils.delPattern(cacheKey);
|
||||
return ResponseEntity.ok( "删除运营信息成功" );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出运营信息数据
|
||||
*
|
||||
* @param ysOperateManagerDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出运营信息数据")
|
||||
@Operation(summary = "导出运营信息数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysOperateManager:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(YsOperateManagerDTO ysOperateManagerDTO, Page <YsOperateManager> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysOperateManagerDTO, YsOperateManagerDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List < YsOperateManager> result = ysOperateManagerService.page ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( ysOperateManagerService, ysOperateManagerWrapper ).exportExcel ( result, options.getSheetName ( ), YsOperateManagerDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入运营信息数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入运营信息数据板")
|
||||
@Operation(summary = "导入运营信息数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysOperateManager:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( ysOperateManagerService, ysOperateManagerWrapper ).importExcel ( file, YsOperateManagerDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入运营信息数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入运营信息数据模板")
|
||||
@Operation(summary = "下载导入运营信息数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:ysOperateManager:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "运营信息数据导入模板.xlsx";
|
||||
List<YsOperateManagerDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( ysOperateManagerService, ysOperateManagerWrapper ).exportExcel ( list, "运营信息数据", YsOperateManagerDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 站点监控列表数据
|
||||
*/
|
||||
@ApiLog("查询站点监控列表数据")
|
||||
@Operation(summary = "查询站点监控列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysOperateManager:edit')")
|
||||
@GetMapping("getStationCameraLines")
|
||||
public ResponseEntity<List<ZnMetroLinesDTO>> getStationCameraLines() throws Exception {
|
||||
List<ZnMetroLinesDTO> result = ysOperateManagerService.getStationCameraLines();
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 站点监控列表数据
|
||||
*/
|
||||
@ApiLog("查询站点监控列表数据")
|
||||
@Operation(summary = "查询站点监控列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysOperateManager:edit')")
|
||||
@GetMapping("getStationCameras")
|
||||
public ResponseEntity<List<ZnMetroStationsDTO>> getStationCameras(String id) throws Exception {
|
||||
List<ZnMetroStationsDTO> result = ysOperateManagerService.getStationCameras(id);
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 站点监控列表数据
|
||||
*/
|
||||
@ApiLog("查询站点监控列表数据")
|
||||
@Operation(summary = "查询站点监控列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysOperateManager:edit')")
|
||||
@GetMapping("getStationMonitor")
|
||||
public ResponseEntity<List<ZnMetroStationsDTO>> getStationMonitor(String id) throws Exception {
|
||||
List<ZnMetroStationsDTO> result = ysOperateManagerService.getStationMonitor(id);
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import net.juntech.modules.ysdp.domain.ZnMetroStations;
|
||||
import net.juntech.modules.ysdp.service.ZnMetroLinesService;
|
||||
import net.juntech.modules.ysdp.service.ZnMetroStationsService;
|
||||
import net.juntech.modules.ysdp.service.dto.YsOperateManagerDTO;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.domain.YsStationCamera;
|
||||
import net.juntech.modules.ysdp.service.dto.YsStationCameraDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsStationCameraWrapper;
|
||||
import net.juntech.modules.ysdp.service.YsStationCameraService;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 站点监控管理Controller
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
|
||||
@Tag(name = "站点监控管理")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/ysStationCamera")
|
||||
public class YsStationCameraController {
|
||||
|
||||
@Autowired
|
||||
private YsStationCameraService ysStationCameraService;
|
||||
|
||||
@Autowired
|
||||
private YsStationCameraWrapper ysStationCameraWrapper;
|
||||
|
||||
@Autowired
|
||||
private ZnMetroStationsService znMetroStationsService;
|
||||
|
||||
/**
|
||||
* 站点监控管理列表数据
|
||||
*/
|
||||
@ApiLog("查询站点监控管理列表数据")
|
||||
@Operation(summary = "查询站点监控管理列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysStationCamera:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<YsStationCameraDTO>> list(YsStationCameraDTO ysStationCameraDTO, Page<YsStationCamera> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysStationCameraDTO, YsStationCameraDTO.class);
|
||||
IPage<YsStationCameraDTO> result = ysStationCameraWrapper.toDTO ( ysStationCameraService.page (page, queryWrapper) );
|
||||
List<YsStationCameraDTO> list = result.getRecords();
|
||||
for(int i =0;i<list.size();i++) {
|
||||
ZnMetroStations znMetroStations = znMetroStationsService.getById(list.get(i).getStation());
|
||||
if (znMetroStations != null) {
|
||||
result.getRecords().get(i).setStation(znMetroStations.getNameCn());
|
||||
}
|
||||
}
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取站点监控管理数据
|
||||
*/
|
||||
@ApiLog("根据Id获取站点监控管理数据")
|
||||
@Operation(summary = "根据Id获取站点监控管理数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysStationCamera:view','ysdp:ysStationCamera:add','ysdp:ysStationCamera:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<YsStationCameraDTO> queryById(String id) {
|
||||
return ResponseEntity.ok ( ysStationCameraWrapper.toDTO ( ysStationCameraService.getById ( id ) ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存站点监控管理
|
||||
*/
|
||||
@ApiLog("保存站点监控管理")
|
||||
@Operation(summary = "保存站点监控管理")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysStationCamera:add','ysdp:ysStationCamera:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody YsStationCameraDTO ysStationCameraDTO) {
|
||||
//新增或编辑表单保存
|
||||
ysStationCameraService.saveOrUpdate (ysStationCameraWrapper.toEntity (ysStationCameraDTO));
|
||||
return ResponseEntity.ok ( "保存站点监控管理成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除站点监控管理
|
||||
*/
|
||||
@ApiLog("删除站点监控管理")
|
||||
@Operation(summary = "删除站点监控管理")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysStationCamera:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
ysStationCameraService.removeByIds ( Lists.newArrayList ( idArray ) );
|
||||
return ResponseEntity.ok( "删除站点监控管理成功" );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出站点监控管理数据
|
||||
*
|
||||
* @param ysStationCameraDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出站点监控管理数据")
|
||||
@Operation(summary = "导出站点监控管理数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysStationCamera:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(YsStationCameraDTO ysStationCameraDTO, Page <YsStationCamera> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysStationCameraDTO, YsStationCameraDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List < YsStationCamera> result = ysStationCameraService.page ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( ysStationCameraService, ysStationCameraWrapper ).exportExcel ( result, options.getSheetName ( ), YsStationCameraDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入站点监控管理数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入站点监控管理数据板")
|
||||
@Operation(summary = "导入站点监控管理数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysStationCamera:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( ysStationCameraService, ysStationCameraWrapper ).importExcel ( file, YsStationCameraDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入站点监控管理数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入站点监控管理数据模板")
|
||||
@Operation(summary = "下载导入站点监控管理数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:ysStationCamera:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "站点监控管理数据导入模板.xlsx";
|
||||
List<YsStationCameraDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( ysStationCameraService, ysStationCameraWrapper ).exportExcel ( list, "站点监控管理数据", YsStationCameraDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,191 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import com.jeeplus.common.redis.RedisUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import net.juntech.modules.ysdp.utils.Constant;
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONException;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.domain.YsTaskNotice;
|
||||
import net.juntech.modules.ysdp.service.dto.YsTaskNoticeDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsTaskNoticeWrapper;
|
||||
import net.juntech.modules.ysdp.service.YsTaskNoticeService;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 走码字Controller
|
||||
* @author wq
|
||||
* @version 2026-04-21
|
||||
*/
|
||||
|
||||
@Tag(name = "走码字")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/ysTaskNotice")
|
||||
public class YsTaskNoticeController {
|
||||
|
||||
@Autowired
|
||||
private YsTaskNoticeService ysTaskNoticeService;
|
||||
|
||||
@Autowired
|
||||
private YsTaskNoticeWrapper ysTaskNoticeWrapper;
|
||||
|
||||
@Autowired
|
||||
private RedisUtils redisUtils;
|
||||
|
||||
|
||||
/**
|
||||
* 走码字列表数据
|
||||
*/
|
||||
@ApiLog("查询走码字列表数据")
|
||||
@Operation(summary = "查询走码字列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysTaskNotice:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<YsTaskNoticeDTO>> list(YsTaskNoticeDTO ysTaskNoticeDTO, Page<YsTaskNotice> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysTaskNoticeDTO, YsTaskNoticeDTO.class);
|
||||
IPage<YsTaskNoticeDTO> result = ysTaskNoticeWrapper.toDTO ( ysTaskNoticeService.page (page, queryWrapper) );
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取走码字数据
|
||||
*/
|
||||
@ApiLog("根据Id获取走码字数据")
|
||||
@Operation(summary = "根据Id获取走码字数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysTaskNotice:view','ysdp:ysTaskNotice:add','ysdp:ysTaskNotice:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<YsTaskNoticeDTO> queryById(String id) {
|
||||
return ResponseEntity.ok ( ysTaskNoticeWrapper.toDTO ( ysTaskNoticeService.getById ( id ) ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存走码字
|
||||
*/
|
||||
@ApiLog("保存走码字")
|
||||
@Operation(summary = "保存走码字")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysTaskNotice:add','ysdp:ysTaskNotice:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody YsTaskNoticeDTO ysTaskNoticeDTO) {
|
||||
//新增或编辑表单保存
|
||||
ysTaskNoticeService.saveOrUpdate (ysTaskNoticeWrapper.toEntity (ysTaskNoticeDTO));
|
||||
// 清除缓存
|
||||
redisUtils.delPattern ( Constant.API_CACHE_NAME_GETTASKNOTICEV1 );
|
||||
return ResponseEntity.ok ( "保存走码字成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除走码字
|
||||
*/
|
||||
@ApiLog("删除走码字")
|
||||
@Operation(summary = "删除走码字")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysTaskNotice:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
ysTaskNoticeService.removeByIds ( Lists.newArrayList ( idArray ) );
|
||||
return ResponseEntity.ok( "删除走码字成功" );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出走码字数据
|
||||
*
|
||||
* @param ysTaskNoticeDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出走码字数据")
|
||||
@Operation(summary = "导出走码字数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysTaskNotice:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(YsTaskNoticeDTO ysTaskNoticeDTO, Page <YsTaskNotice> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysTaskNoticeDTO, YsTaskNoticeDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List < YsTaskNotice> result = ysTaskNoticeService.page ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( ysTaskNoticeService, ysTaskNoticeWrapper ).exportExcel ( result, options.getSheetName ( ), YsTaskNoticeDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入走码字数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入走码字数据板")
|
||||
@Operation(summary = "导入走码字数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysTaskNotice:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( ysTaskNoticeService, ysTaskNoticeWrapper ).importExcel ( file, YsTaskNoticeDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入走码字数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入走码字数据模板")
|
||||
@Operation(summary = "下载导入走码字数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:ysTaskNotice:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "走码字数据导入模板.xlsx";
|
||||
List<YsTaskNoticeDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( ysTaskNoticeService, ysTaskNoticeWrapper ).exportExcel ( list, "走码字数据", YsTaskNoticeDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
|
||||
@ApiLog("更新状态")
|
||||
@Operation(summary = "更新状态")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysTaskNotice:add','ysdp:ysTaskNotice:edit')")
|
||||
@PostMapping("updateStatus")
|
||||
public ResponseEntity <String> updateStatus(String id) {
|
||||
//新增或编辑表单保存
|
||||
YsTaskNoticeDTO ysTaskNoticeDTO = new YsTaskNoticeDTO();
|
||||
JSONObject json = JSONObject.fromObject(id);
|
||||
try {
|
||||
ysTaskNoticeDTO.setId(json.getString("id"));
|
||||
ysTaskNoticeDTO.setStatus(json.getBoolean("status"));
|
||||
ysTaskNoticeService.saveOrUpdate (ysTaskNoticeWrapper.toEntity (ysTaskNoticeDTO));
|
||||
// 清除缓存
|
||||
redisUtils.delPattern ( Constant.API_CACHE_NAME_GETTASKNOTICEV1 );
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return ResponseEntity.ok ( "更新状态成功" );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,158 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsYunyingWrapper;
|
||||
import net.juntech.modules.ysdp.service.YsYunyingService;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 客流信息Controller
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
|
||||
@Tag(name = "客流信息")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/ysYunying")
|
||||
public class YsYunyingController {
|
||||
|
||||
@Autowired
|
||||
private YsYunyingService ysYunyingService;
|
||||
|
||||
@Autowired
|
||||
private YsYunyingWrapper ysYunyingWrapper;
|
||||
|
||||
/**
|
||||
* 客流信息列表数据
|
||||
*/
|
||||
@ApiLog("查询客流信息列表数据")
|
||||
@Operation(summary = "查询客流信息列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysYunying:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<YsYunyingDTO>> list(YsYunyingDTO ysYunyingDTO, Page<YsYunyingDTO> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysYunyingDTO, YsYunyingDTO.class);
|
||||
IPage<YsYunyingDTO> result = ysYunyingService.findPage (page, queryWrapper);
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取客流信息数据
|
||||
*/
|
||||
@ApiLog("根据Id获取客流信息数据")
|
||||
@Operation(summary = "根据Id获取客流信息数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysYunying:view','ysdp:ysYunying:add','ysdp:ysYunying:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<YsYunyingDTO> queryById(String id) {
|
||||
return ResponseEntity.ok ( ysYunyingService.findById ( id ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存客流信息
|
||||
*/
|
||||
@ApiLog("保存客流信息")
|
||||
@Operation(summary = "保存客流信息")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysYunying:add','ysdp:ysYunying:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody YsYunyingDTO ysYunyingDTO) {
|
||||
//新增或编辑表单保存
|
||||
ysYunyingService.saveOrUpdate (ysYunyingWrapper.toEntity (ysYunyingDTO));
|
||||
return ResponseEntity.ok ( "保存客流信息成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除客流信息
|
||||
*/
|
||||
@ApiLog("删除客流信息")
|
||||
@Operation(summary = "删除客流信息")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysYunying:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
ysYunyingService.removeByIds ( Lists.newArrayList ( idArray ) );
|
||||
return ResponseEntity.ok( "删除客流信息成功" );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出客流信息数据
|
||||
*
|
||||
* @param ysYunyingDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出客流信息数据")
|
||||
@Operation(summary = "导出客流信息数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysYunying:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(YsYunyingDTO ysYunyingDTO, Page <YsYunyingDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysYunyingDTO, YsYunyingDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "a.id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List<YsYunyingDTO> result = ysYunyingService.findPage ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( ysYunyingService, ysYunyingWrapper ).exportExcel ( result, options.getSheetName ( ), YsYunyingDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入客流信息数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入客流信息数据板")
|
||||
@Operation(summary = "导入客流信息数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysYunying:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( ysYunyingService, ysYunyingWrapper ).importExcel ( file, YsYunyingDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入客流信息数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入客流信息数据模板")
|
||||
@Operation(summary = "下载导入客流信息数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:ysYunying:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "客流信息数据导入模板.xlsx";
|
||||
List<YsYunyingDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( ysYunyingService, ysYunyingWrapper ).exportExcel ( list, "客流信息数据", YsYunyingDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.domain.YsYunyingMax;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingMaxDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsYunyingMaxWrapper;
|
||||
import net.juntech.modules.ysdp.service.YsYunyingMaxService;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 线路最大客流Controller
|
||||
* @author wq
|
||||
* @version 2026-04-07
|
||||
*/
|
||||
|
||||
@Tag(name = "线路最大客流")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/ysYunyingMax")
|
||||
public class YsYunyingMaxController {
|
||||
|
||||
@Autowired
|
||||
private YsYunyingMaxService ysYunyingMaxService;
|
||||
|
||||
@Autowired
|
||||
private YsYunyingMaxWrapper ysYunyingMaxWrapper;
|
||||
|
||||
/**
|
||||
* 线路最大客流列表数据
|
||||
*/
|
||||
@ApiLog("查询线路最大客流列表数据")
|
||||
@Operation(summary = "查询线路最大客流列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysYunyingMax:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<YsYunyingMaxDTO>> list(YsYunyingMaxDTO ysYunyingMaxDTO, Page<YsYunyingMax> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysYunyingMaxDTO, YsYunyingMaxDTO.class);
|
||||
IPage<YsYunyingMaxDTO> result = ysYunyingMaxWrapper.toDTO ( ysYunyingMaxService.page (page, queryWrapper) );
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取线路最大客流数据
|
||||
*/
|
||||
@ApiLog("根据Id获取线路最大客流数据")
|
||||
@Operation(summary = "根据Id获取线路最大客流数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysYunyingMax:view','ysdp:ysYunyingMax:add','ysdp:ysYunyingMax:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<YsYunyingMaxDTO> queryById(String id) {
|
||||
return ResponseEntity.ok ( ysYunyingMaxWrapper.toDTO ( ysYunyingMaxService.getById ( id ) ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存线路最大客流
|
||||
*/
|
||||
@ApiLog("保存线路最大客流")
|
||||
@Operation(summary = "保存线路最大客流")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysYunyingMax:add','ysdp:ysYunyingMax:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody YsYunyingMaxDTO ysYunyingMaxDTO) {
|
||||
//新增或编辑表单保存
|
||||
ysYunyingMaxService.saveOrUpdate (ysYunyingMaxWrapper.toEntity (ysYunyingMaxDTO));
|
||||
return ResponseEntity.ok ( "保存线路最大客流成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除线路最大客流
|
||||
*/
|
||||
@ApiLog("删除线路最大客流")
|
||||
@Operation(summary = "删除线路最大客流")
|
||||
@PreAuthorize("hasAuthority('ysdp:ysYunyingMax:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
ysYunyingMaxService.removeByIds ( Lists.newArrayList ( idArray ) );
|
||||
return ResponseEntity.ok( "删除线路最大客流成功" );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出线路最大客流数据
|
||||
*
|
||||
* @param ysYunyingMaxDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出线路最大客流数据")
|
||||
@Operation(summary = "导出线路最大客流数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysYunyingMax:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(YsYunyingMaxDTO ysYunyingMaxDTO, Page <YsYunyingMax> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (ysYunyingMaxDTO, YsYunyingMaxDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List < YsYunyingMax> result = ysYunyingMaxService.page ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( ysYunyingMaxService, ysYunyingMaxWrapper ).exportExcel ( result, options.getSheetName ( ), YsYunyingMaxDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入线路最大客流数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入线路最大客流数据板")
|
||||
@Operation(summary = "导入线路最大客流数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:ysYunyingMax:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( ysYunyingMaxService, ysYunyingMaxWrapper ).importExcel ( file, YsYunyingMaxDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入线路最大客流数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入线路最大客流数据模板")
|
||||
@Operation(summary = "下载导入线路最大客流数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:ysYunyingMax:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "线路最大客流数据导入模板.xlsx";
|
||||
List<YsYunyingMaxDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( ysYunyingMaxService, ysYunyingMaxWrapper ).exportExcel ( list, "线路最大客流数据", YsYunyingMaxDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,393 @@
|
|||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jeeplus.config.properties.JeePlusProperties;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import net.juntech.modules.ysdp.domain.*;
|
||||
import net.juntech.modules.ysdp.service.*;
|
||||
import net.juntech.modules.ysdp.service.dto.*;
|
||||
import net.juntech.modules.ysdp.utils.Constant;
|
||||
import net.juntech.modules.ysdp.utils.JSONUtil;
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
@Tag( name = "运三大屏二期API接口")
|
||||
@RestController
|
||||
@RequestMapping(value = "/api")
|
||||
public class YsdpApiController extends BaseApiController {
|
||||
|
||||
@Value("${operateid}")
|
||||
private String operateId;
|
||||
@Autowired
|
||||
private YsOperateManagerService ysOperateManagerService;
|
||||
|
||||
@Autowired
|
||||
private YsDutyInfoService ysDutyInfoService;
|
||||
|
||||
@Autowired
|
||||
private YsDutyInfoDetailService ysDutyInfoDetailService;
|
||||
|
||||
@Autowired
|
||||
private YsIndicatorService ysIndicatorService;
|
||||
|
||||
@Autowired
|
||||
private YsCommonMonitorService ysCommonMonitorService;
|
||||
|
||||
@Autowired
|
||||
private YsYunyingService ysYunyingService;
|
||||
|
||||
@Autowired
|
||||
private YsYunyingMaxService ysYunyingMaxService;
|
||||
|
||||
@Autowired
|
||||
private YsTaskNoticeService ysTaskNoticeService;
|
||||
|
||||
@ApiLog("测试Sm4加密")
|
||||
@Operation(summary = "测试Sm4加密")
|
||||
@PostMapping("sm4Test")
|
||||
public ResponseEntity<JSONObject> sm4Test(@RequestParam(value = "text", required = false, defaultValue = "") String text, HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
|
||||
return okJsonResponse(text);
|
||||
}
|
||||
|
||||
@ApiLog("获取运营信息")
|
||||
@Operation(summary = "获取运营信息")
|
||||
@PostMapping("getOperateInfo/v1")
|
||||
public ResponseEntity<JSONObject> getOperateInfo( HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
String cacheKey = Constant.API_CACHE_NAME_GETOPERATEINFOV1;
|
||||
JSONObject resultObj = new JSONObject();
|
||||
try {
|
||||
if (useCache(cacheKey, request)) {
|
||||
resultObj = redisUtils.getJSON(cacheKey);
|
||||
} else {
|
||||
YsOperateManager ysOperateManager = ysOperateManagerService.getById(operateId);
|
||||
String[] excludesFields = new String[]{"id", "remarks", "createBy", "createDate", "updateBy", "updateDate", "delFlag", "tenantId", "createTime", "createById", "updateTime", "updateById", "updateByIdId", "createByIdId"};
|
||||
resultObj = JSONUtil.getJsonObjectFromObject(ysOperateManager, excludesFields);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("APP获取运营信息异常", ex);
|
||||
}
|
||||
return okJsonResponse(resultObj, cacheKey);
|
||||
|
||||
}
|
||||
|
||||
@ApiLog("获取值班信息")
|
||||
@Operation(summary = "获取值班信息")
|
||||
@PostMapping("getDutyList/v1")
|
||||
public ResponseEntity<JSONObject> getDutyList( HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
String cacheKey = Constant.API_CACHE_NAME_GETDUTYLISTV1;
|
||||
JSONArray resultArray = new JSONArray();
|
||||
try {
|
||||
if (useCache(cacheKey, request)) {
|
||||
resultArray = redisUtils.getJSONArray(cacheKey);
|
||||
} else {
|
||||
//获取当前时间
|
||||
// 获取当前日期(只含年月日)
|
||||
LocalDate now = LocalDate.now();
|
||||
// 格式化输出:yyyy-MM-dd
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
String currentDate = now.format(formatter);
|
||||
QueryWrapper queryWrapper = new QueryWrapper<YsDutyInfo>().ne("del_flag", "1").last("limit 1");
|
||||
queryWrapper.eq("dutydate",currentDate);
|
||||
YsDutyInfo ysDutyInfo = ysDutyInfoService.getOne(queryWrapper);
|
||||
if (ysDutyInfo != null) {
|
||||
List<YsDutyInfoDetailDTO> ysDutyInfoDetailDTOList = ysDutyInfoDetailService.findList(ysDutyInfo.getId());
|
||||
String[] excludesFields = new String[]{"id", "remarks", "createBy", "createDate", "updateBy", "updateDate", "delFlag", "tenantId", "createTime", "createById", "updateTime", "updateById", "updateByIdId", "createByIdId", "dutyid", "tenantDTO", "dept"};
|
||||
resultArray = JSONUtil.getJsonArrayFormList(ysDutyInfoDetailDTOList, excludesFields);
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("APP获取值班信息异常", ex);
|
||||
}
|
||||
return okJsonResponse(resultArray, cacheKey);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ApiLog("获取年度指标")
|
||||
@Operation(summary = "获取年度指标")
|
||||
@PostMapping("getIndicator/v1")
|
||||
public ResponseEntity<JSONObject> getIndicator( HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
String cacheKey = Constant.API_CACHE_NAME_GETINDICATORV1;
|
||||
JSONArray resultArray = new JSONArray();
|
||||
try {
|
||||
if (useCache(cacheKey, request)) {
|
||||
resultArray = redisUtils.getJSONArray(cacheKey);
|
||||
} else {
|
||||
//获取当前时间
|
||||
// 获取当前日期(只含年月日)
|
||||
LocalDate now = LocalDate.now();
|
||||
// 格式化输出:yyyy-MM-dd
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
|
||||
String year = now.format(formatter);
|
||||
QueryWrapper queryWrapper = new QueryWrapper<YsIndicator>().ne("del_flag", "1").orderByAsc("sort").orderByDesc("update_time");
|
||||
queryWrapper.eq("nd",year);
|
||||
List<YsIndicator> ysIndicatorList = ysIndicatorService.list(queryWrapper);
|
||||
if (ysIndicatorList != null) {
|
||||
String[] excludesFields = new String[]{"id", "remarks", "createBy", "createDate", "updateBy", "updateDate", "delFlag", "tenantId", "createTime", "createById", "updateTime", "updateById", "updateByIdId", "createByIdId", "dutyid", "tenantDTO", "dept"};
|
||||
resultArray = JSONUtil.getJsonArrayFormList(ysIndicatorList, excludesFields);
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("APP获取年度指标信息异常", ex);
|
||||
}
|
||||
return okJsonResponse(resultArray, cacheKey);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ApiLog("获取常用监控")
|
||||
@Operation(summary = "获取常用监控")
|
||||
@PostMapping("getCommonMonitor/v1")
|
||||
public ResponseEntity<JSONObject> getCommonMonitor( HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
String cacheKey = Constant.API_CACHE_NAME_GETCOMMONMONITORV1;
|
||||
JSONArray resultArray = new JSONArray();
|
||||
try {
|
||||
if (useCache(cacheKey, request)) {
|
||||
resultArray = redisUtils.getJSONArray(cacheKey);
|
||||
} else {
|
||||
List<YsCommonMonitorDTO> ysCommonMonitorList = ysCommonMonitorService.getCommonMonitorList();
|
||||
if (ysCommonMonitorList != null) {
|
||||
String[] excludesFields = new String[]{"id", "remarks", "createBy", "createDate", "updateBy", "updateDate", "delFlag", "tenantId", "createTime", "createById", "updateTime", "updateById", "updateByIdId", "createByIdId", "dutyid", "tenantDTO", "dept"};
|
||||
resultArray = JSONUtil.getJsonArrayFormList(ysCommonMonitorList, excludesFields);
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("APP获取常用监控信息异常", ex);
|
||||
}
|
||||
return okJsonResponse(resultArray, cacheKey);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ApiLog("获取线路客流信息")
|
||||
@Operation(summary = "获取线路客流信息")
|
||||
@PostMapping("getYunyingInfo/v1")
|
||||
public ResponseEntity<JSONObject> getYunyingInfo(HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
|
||||
final String cacheKey = Constant.API_CACHE_NAME_GETYUNYINGINFOV1;
|
||||
JSONArray resultArray = new JSONArray();
|
||||
|
||||
try {
|
||||
// 1. 缓存读取
|
||||
if (useCache(cacheKey, request)) {
|
||||
return okJsonResponse(redisUtils.getJSONArray(cacheKey), cacheKey);
|
||||
}
|
||||
|
||||
// ===================== 日期处理(自动今天 / 前一天,不写死)=====================
|
||||
LocalDate now = LocalDate.now();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
String today = now.format(formatter); // 今天
|
||||
|
||||
//today = "2026-03-30";
|
||||
String compareDay = now.minusDays(1).format(formatter); // 对比日:前一天
|
||||
|
||||
// 配置覆盖对比日期
|
||||
YsOperateManager manager = ysOperateManagerService.getOne(
|
||||
new QueryWrapper<YsOperateManager>()
|
||||
.ne("del_flag", "1")
|
||||
.last("LIMIT 1")
|
||||
);
|
||||
if (manager != null) {
|
||||
compareDay = manager.getCompareDate().substring(0,10);
|
||||
}
|
||||
//compareDay = "2026-03-01";
|
||||
// ===================== 查询数据 =====================
|
||||
List<YsYunyingMaxDTO> todayList = ysYunyingService.getYunyingList(today);
|
||||
List<YsYunyingMaxDTO> compareList = ysYunyingService.getYunyingList(compareDay);
|
||||
List<YsYunyingMax> maxList = ysYunyingMaxService.getYunyinglist();
|
||||
|
||||
// 空值保护
|
||||
todayList = Optional.ofNullable(todayList).orElse(Collections.emptyList());
|
||||
compareList = Optional.ofNullable(compareList).orElse(Collections.emptyList());
|
||||
maxList = Optional.ofNullable(maxList).orElse(Collections.emptyList());
|
||||
|
||||
// ===================== 按线路聚合(03、04、07、15)=====================
|
||||
// 目标线路
|
||||
List<String> targetLines = Arrays.asList("03", "04", "07", "15");
|
||||
// ===================== 按线路聚合:今天完整数据 + 对比日 + 历史最高 =====================
|
||||
for (String lineId : targetLines) {
|
||||
// 1. 获取今天的完整对象(包含所有时间段字段:time1~time10)
|
||||
YsYunyingMaxDTO today1 = todayList.stream()
|
||||
.filter(dto -> lineId.equals(dto.getLineId()))
|
||||
.findFirst()
|
||||
.orElse(new YsYunyingMaxDTO()); // 不存在则给空对象,避免空指针
|
||||
|
||||
YsYunyingMaxDTO compare1 = compareList.stream()
|
||||
.filter(dto -> lineId.equals(dto.getLineId()))
|
||||
.findFirst()
|
||||
.orElse(new YsYunyingMaxDTO()); // 不存在则给空对象,
|
||||
|
||||
YsYunyingMax max1 = maxList.stream()
|
||||
.filter(dto -> lineId.equals(dto.getLineId()))
|
||||
.findFirst()
|
||||
.orElse(new YsYunyingMax()); // 不存在则给空对象,
|
||||
// 2. 转为 JSONObject,保留所有字段
|
||||
JSONObject result = new JSONObject();
|
||||
// 5. 统一放入结果
|
||||
result.put("line", lineId);
|
||||
result.put("todayDate", today);
|
||||
result.put("compareDate", compareDay);
|
||||
result.put("today", today1);
|
||||
result.put("compareDay", compare1);
|
||||
result.put("maxDay", max1);
|
||||
resultArray.add(result);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("APP获取线路客流信息异常", ex);
|
||||
}
|
||||
|
||||
String[] excludesFields = new String[]{"id", "remarks", "createBy", "createDate", "updateBy", "updateDate", "delFlag", "tenantId", "createTime", "createById", "updateTime", "updateById", "updateByIdId", "createByIdId", "lineId","tenantDTO"};
|
||||
resultArray = JSONUtil.getJsonArrayFormList(resultArray, excludesFields);
|
||||
return okJsonResponse(resultArray, cacheKey);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ApiLog("获取今日最大10个站客流信息")
|
||||
@Operation(summary = "获取今日最大10个站客流信息")
|
||||
@PostMapping("getStationMaxList/v1")
|
||||
public ResponseEntity<JSONObject> getStationMaxList( HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
String cacheKey = Constant.API_CACHE_NAME_GETSTATIONMAXLISTV1;
|
||||
JSONArray resultArray = new JSONArray();
|
||||
try {
|
||||
if (useCache(cacheKey, request)) {
|
||||
resultArray = redisUtils.getJSONArray(cacheKey);
|
||||
} else {
|
||||
// 获取当前时间年月日
|
||||
LocalDate now = LocalDate.now();
|
||||
// 格式化输出:yyyy-MM-dd
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
String today = now.format(formatter);
|
||||
|
||||
// today = "2026-03-02";
|
||||
|
||||
// ===================== 日期处理(自动今天 / 前一天,不写死)=====================// 今天
|
||||
String compareDay = now.minusDays(1).format(formatter); // 对比日:前一天
|
||||
// 配置覆盖对比日期
|
||||
YsOperateManager manager = ysOperateManagerService.getOne(
|
||||
new QueryWrapper<YsOperateManager>()
|
||||
.ne("del_flag", "1")
|
||||
.last("LIMIT 1")
|
||||
);
|
||||
if (manager != null) {
|
||||
compareDay = manager.getCompareDate().substring(0,10);
|
||||
}
|
||||
|
||||
List<YsYunyingDTO> stationMaxList = ysYunyingService.getStationMaxList(today);
|
||||
for (int i =0 ; i<stationMaxList.size(); i++) {
|
||||
String stationCompareValue = ysYunyingService.getStationCompareValue(compareDay, stationMaxList.get(i).getStationName());
|
||||
stationMaxList.get(i).setCompareTotal(stationCompareValue);
|
||||
}
|
||||
String[] excludesFields = new String[]{"id", "remarks", "createBy", "createDate", "updateBy", "updateDate", "delFlag", "tenantId", "createTime", "createById", "updateTime", "updateById", "updateByIdId", "createByIdId", "fileName", "pullNum", "tenantDTO", "departureNum", "endTime", "begTime"};
|
||||
resultArray = JSONUtil.getJsonArrayFormList(stationMaxList, excludesFields);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("APP获取线路客流信息异常", ex);
|
||||
}
|
||||
return okJsonResponse(resultArray, cacheKey);
|
||||
|
||||
}
|
||||
|
||||
@ApiLog("获取今日天气")
|
||||
@Operation(summary = "获取今日天气")
|
||||
@PostMapping("getQxjGdybHour/v1")
|
||||
public ResponseEntity<JSONObject> getQxjGdybHour( HttpServletRequest request) {
|
||||
if (!checkRequest(request)) {
|
||||
return checkResult;
|
||||
}
|
||||
JSONObject json = new JSONObject();
|
||||
try {
|
||||
String tq= "";
|
||||
//获取启用状态的所有视频监控集合
|
||||
YsInterfaceDTO ysInterface = ysYunyingService.getInterface("qxj-gdyb-hour");
|
||||
if (ysInterface != null) {
|
||||
tq =ysInterface.getData().replace("[","").replace("]","");
|
||||
} else {
|
||||
}
|
||||
JSONObject tt =JSONObject.fromObject(tq);
|
||||
json.put("tq",tt);
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("API天气出现异常", ex);
|
||||
}
|
||||
return okJsonResponse(json);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ApiLog("清理所有接口缓存")
|
||||
@Operation(summary = "清理所有接口缓存")
|
||||
@PostMapping("cleanApiCache")
|
||||
public void cleanApiCache(HttpServletRequest request) {
|
||||
//存在更新时清空API缓存,使接口重新获取
|
||||
redisUtils.delPattern(Constant.API_);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ApiLog("API获取任务公告列表")
|
||||
@Operation(summary = "API获取任务公告列表")
|
||||
@PostMapping("getTaskNotice/v1")
|
||||
public ResponseEntity<JSONObject> getTaskNoticeList(HttpServletRequest request) {
|
||||
if (request.getAttribute(decrytionResult) != null) {
|
||||
return badJsonResponse(request.getAttribute(decrytionResult).toString());
|
||||
}
|
||||
String cacheKey = Constant.API_CACHE_NAME_GETTASKNOTICEV1;
|
||||
JSONObject resultObject;
|
||||
try {
|
||||
if (useCache(cacheKey, request)) {
|
||||
resultObject = redisUtils.getJSON(cacheKey);
|
||||
} else {
|
||||
|
||||
YsTaskNoticeDTO ysTaskNoticeDTO = new YsTaskNoticeDTO();
|
||||
//获取启用状态的所有视频监控集合
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition(ysTaskNoticeDTO, YsTaskNoticeDTO.class).eq("status", "1").eq("del_flag", "0").orderByDesc("update_time").orderByAsc("no").last("limit 1");
|
||||
YsTaskNotice ysTaskNotice = ysTaskNoticeService.getOne(queryWrapper);
|
||||
String[] excludesFields = new String[]{"id", "remarks", "createBy", "createDate", "updateBy", "updateDate", "delFlag", "tenantId", "createTime", "createById", "updateTime", "updateById", "updateByIdId", "createByIdId", "fileName", "pullNum", "tenantDTO", "departureNum", "endTime", "begTime"};
|
||||
resultObject = JSONUtil.getJsonObjectFromObject(ysTaskNotice, excludesFields);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
return badJsonResponse("API获取任务公告列表列表出现异常", ex);
|
||||
}
|
||||
return okJsonResponse(resultObject);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,179 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.common.redis.RedisUtils;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import net.juntech.modules.ysdp.domain.ZnMetroLines;
|
||||
import net.juntech.modules.ysdp.service.ZnMetroLinesService;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.ZnMetroLinesWrapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 线路管理Controller
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-08
|
||||
*/
|
||||
|
||||
@Tag(name = "线路管理")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/znMetroLines")
|
||||
public class ZnMetroLinesController {
|
||||
|
||||
@Autowired
|
||||
private ZnMetroLinesService znMetroLinesService;
|
||||
|
||||
@Autowired
|
||||
private ZnMetroLinesWrapper znMetroLinesWrapper;
|
||||
|
||||
@Autowired
|
||||
private RedisUtils redisUtils;
|
||||
|
||||
/**
|
||||
* 线路管理列表数据
|
||||
*/
|
||||
@ApiLog("查询线路管理列表数据")
|
||||
@Operation(summary = "查询线路管理列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:znMetroLines:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<ZnMetroLinesDTO>> list(ZnMetroLinesDTO znMetroLinesDTO, Page<ZnMetroLinesDTO> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (znMetroLinesDTO, ZnMetroLinesDTO.class);
|
||||
IPage<ZnMetroLinesDTO> result = znMetroLinesService.findPage (page, queryWrapper);
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取线路管理数据
|
||||
*/
|
||||
@ApiLog("根据Id获取线路管理数据")
|
||||
@Operation(summary = "根据Id获取线路管理数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:znMetroLines:view','ysdp:znMetroLines:add','ysdp:znMetroLines:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<ZnMetroLinesDTO> queryById(String id) {
|
||||
return ResponseEntity.ok ( znMetroLinesService.findById ( id ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 线路选择器根据Id获取线路管理数据
|
||||
*/
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:znMetroLines:view','ysdp:znMetroLines:add','ysdp:znMetroLines:edit')")
|
||||
@GetMapping("queryByLineId")
|
||||
public ResponseEntity<ZnMetroLines> queryByLineId(ZnMetroLinesDTO metroLines) {
|
||||
QueryWrapper<ZnMetroLines> queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("line_id", metroLines.getLineId());
|
||||
List<ZnMetroLines> metroLinesList = znMetroLinesService.list(queryWrapper);
|
||||
return ResponseEntity.ok(metroLinesList.size() > 0 ? metroLinesList.get(0) : new ZnMetroLines());
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存线路管理
|
||||
*/
|
||||
@ApiLog("保存线路管理")
|
||||
@Operation(summary = "保存线路管理")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:znMetroLines:add','ysdp:znMetroLines:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody ZnMetroLinesDTO znMetroLinesDTO) {
|
||||
//新增或编辑表单保存
|
||||
znMetroLinesService.saveOrUpdate (znMetroLinesWrapper.toEntity (znMetroLinesDTO));
|
||||
//存在更新时清空API缓存,使接口重新获取
|
||||
redisUtils.delPattern("api_*");
|
||||
return ResponseEntity.ok ( "保存线路管理成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除线路管理
|
||||
*/
|
||||
@ApiLog("删除线路管理")
|
||||
@Operation(summary = "删除线路管理")
|
||||
@PreAuthorize("hasAuthority('ysdp:znMetroLines:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
znMetroLinesService.removeByIds ( Lists.newArrayList ( idArray ) );
|
||||
return ResponseEntity.ok( "删除线路管理成功" );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出线路管理数据
|
||||
*
|
||||
* @param znMetroLinesDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出线路管理数据")
|
||||
@Operation(summary = "导出线路管理数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:znMetroLines:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(ZnMetroLinesDTO znMetroLinesDTO, Page <ZnMetroLinesDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (znMetroLinesDTO, ZnMetroLinesDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "a.id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List<ZnMetroLinesDTO> result = znMetroLinesService.findPage ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( znMetroLinesService, znMetroLinesWrapper ).exportExcel ( result, options.getSheetName ( ), ZnMetroLinesDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入线路管理数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入线路管理数据板")
|
||||
@Operation(summary = "导入线路管理数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:znMetroLines:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( znMetroLinesService, znMetroLinesWrapper ).importExcel ( file, ZnMetroLinesDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入线路管理数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入线路管理数据模板")
|
||||
@Operation(summary = "下载导入线路管理数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:znMetroLines:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "线路管理数据导入模板.xlsx";
|
||||
List<ZnMetroLinesDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( znMetroLinesService, znMetroLinesWrapper ).exportExcel ( list, "线路管理数据", ZnMetroLinesDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.aop.logging.annotation.ApiLog;
|
||||
import com.jeeplus.common.redis.RedisUtils;
|
||||
import com.jeeplus.core.excel.EasyExcelUtils;
|
||||
import com.jeeplus.core.excel.ExcelOptions;
|
||||
import com.jeeplus.core.excel.annotation.ExportMode;
|
||||
import com.jeeplus.core.query.QueryWrapperGenerator;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import net.juntech.modules.ysdp.service.ZnMetroLinesService;
|
||||
import net.juntech.modules.ysdp.service.ZnMetroStationsService;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.ZnMetroStationsWrapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 站点管理Controller
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
|
||||
@Tag(name = "站点管理")
|
||||
@RestController
|
||||
@RequestMapping(value = "/ysdp/znMetroStations")
|
||||
public class ZnMetroStationsController {
|
||||
|
||||
@Autowired
|
||||
private ZnMetroStationsService znMetroStationsService;
|
||||
|
||||
@Autowired
|
||||
private ZnMetroStationsWrapper znMetroStationsWrapper;
|
||||
|
||||
@Autowired
|
||||
private ZnMetroLinesService znMetroLinesService;
|
||||
|
||||
@Autowired
|
||||
private RedisUtils redisUtils;
|
||||
|
||||
/**
|
||||
* 站点管理列表数据
|
||||
*/
|
||||
@ApiLog("查询站点管理列表数据")
|
||||
@Operation(summary = "查询站点管理列表数据")
|
||||
@PreAuthorize("hasAuthority('ysdp:znMetroStations:list')")
|
||||
@GetMapping("list")
|
||||
public ResponseEntity<IPage<ZnMetroStationsDTO>> list(ZnMetroStationsDTO znMetroStationsDTO, Page<ZnMetroStationsDTO> page) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (znMetroStationsDTO, ZnMetroStationsDTO.class);
|
||||
IPage<ZnMetroStationsDTO> result = znMetroStationsService.findPage (page, queryWrapper);
|
||||
for (int i = 0; i < result.getRecords().size(); i++) {
|
||||
// 线路
|
||||
result.getRecords().get(i).setLine(znMetroLinesService.setMultiLineName(result.getRecords().get(i).getLine()));
|
||||
}
|
||||
return ResponseEntity.ok (result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据Id获取站点管理数据
|
||||
*/
|
||||
@ApiLog("根据Id获取站点管理数据")
|
||||
@Operation(summary = "根据Id获取站点管理数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:znMetroStations:view','ysdp:znMetroStations:add','ysdp:znMetroStations:edit')")
|
||||
@GetMapping("queryById")
|
||||
public ResponseEntity<ZnMetroStationsDTO> queryById(String id) {
|
||||
return ResponseEntity.ok ( znMetroStationsService.findById ( id ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存站点管理
|
||||
*/
|
||||
@ApiLog("保存站点管理")
|
||||
@Operation(summary = "保存站点管理")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:znMetroStations:add','ysdp:znMetroStations:edit')")
|
||||
@PostMapping("save")
|
||||
public ResponseEntity <String> save(@Valid @RequestBody ZnMetroStationsDTO znMetroStationsDTO) {
|
||||
//新增或编辑表单保存
|
||||
znMetroStationsService.saveOrUpdate (znMetroStationsDTO);
|
||||
//存在更新时清空API缓存,使接口重新获取
|
||||
redisUtils.delPattern("api_*");
|
||||
return ResponseEntity.ok ( "保存站点管理成功" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除站点管理
|
||||
*/
|
||||
@ApiLog("删除站点管理")
|
||||
@Operation(summary = "删除站点管理")
|
||||
@PreAuthorize("hasAuthority('ysdp:znMetroStations:del')")
|
||||
@DeleteMapping("delete")
|
||||
public ResponseEntity <String> delete(String ids) {
|
||||
String idArray[] = ids.split(",");
|
||||
for(String id: idArray){
|
||||
znMetroStationsService.removeById ( id );
|
||||
}
|
||||
return ResponseEntity.ok( "删除站点管理成功" );
|
||||
}
|
||||
/**
|
||||
* 导出站点管理数据
|
||||
*
|
||||
* @param znMetroStationsDTO
|
||||
* @param page
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@ApiLog("导出站点管理数据")
|
||||
@Operation(summary = "导出站点管理数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:znMetroStations:export')")
|
||||
@GetMapping("export")
|
||||
public void exportFile(ZnMetroStationsDTO znMetroStationsDTO, Page <ZnMetroStationsDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception {
|
||||
String fileName = options.getFilename ( );
|
||||
QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (znMetroStationsDTO, ZnMetroStationsDTO.class);
|
||||
if ( ExportMode.current.equals ( options.getMode ( ) ) ) { // 导出当前页数据
|
||||
|
||||
} else if ( ExportMode.selected.equals ( options.getMode ( ) ) ) { // 导出选中数据
|
||||
queryWrapper.in ( "a.id", options.getSelectIds () );
|
||||
} else { // 导出全部数据
|
||||
page.setSize ( -1 );
|
||||
page.setCurrent ( 0 );
|
||||
}
|
||||
List<ZnMetroStationsDTO> result = znMetroStationsService.findPage ( page, queryWrapper ).getRecords ( );
|
||||
EasyExcelUtils.newInstance ( znMetroStationsService, znMetroStationsWrapper ).exportExcel ( result, options.getSheetName ( ), ZnMetroStationsDTO.class, fileName,options.getExportFields (), response );
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入站点管理数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("导入站点管理数据")
|
||||
@Operation(summary = "导入站点管理数据")
|
||||
@PreAuthorize("hasAnyAuthority('ysdp:znMetroStations:import')")
|
||||
@PostMapping("import")
|
||||
public ResponseEntity importFile(MultipartFile file) throws IOException {
|
||||
String result = EasyExcelUtils.newInstance ( znMetroStationsService, znMetroStationsWrapper ).importExcel ( file, ZnMetroStationsDTO.class );
|
||||
return ResponseEntity.ok ( result );
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载导入站点管理数据模板
|
||||
*
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@ApiLog("下载导入站点管理数据模板")
|
||||
@Operation(summary = "下载导入站点管理数据模板")
|
||||
@PreAuthorize ("hasAnyAuthority('ysdp:znMetroStations:import')")
|
||||
@GetMapping("import/template")
|
||||
public void importFileTemplate(HttpServletResponse response) throws IOException {
|
||||
String fileName = "站点管理数据导入模板.xlsx";
|
||||
List<ZnMetroStationsDTO> list = Lists.newArrayList();
|
||||
EasyExcelUtils.newInstance ( znMetroStationsService, znMetroStationsWrapper ).exportExcel ( list, "站点管理数据", ZnMetroStationsDTO.class, fileName, null, response );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 常用视屏监控Entity
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("ys_common_monitor")
|
||||
public class YsCommonMonitor extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 主表id
|
||||
*/
|
||||
private String operateid;
|
||||
|
||||
/**
|
||||
* 线路
|
||||
*/
|
||||
private String line;
|
||||
|
||||
/**
|
||||
* 站点
|
||||
*/
|
||||
private String station;
|
||||
|
||||
/**
|
||||
* 监控位置
|
||||
*/
|
||||
private String monitor;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@TableField("create_by_id")
|
||||
private String createByIdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@TableField("update_by_id")
|
||||
private String updateByIdId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 值班信息Entity
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("ys_duty_info")
|
||||
public class YsDutyInfo extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 值班日期
|
||||
*/
|
||||
private String dutydate;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 值班信息详情Entity
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("ys_duty_info_detail")
|
||||
public class YsDutyInfoDetail extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 值班信息主表id
|
||||
*/
|
||||
@TableField("dutyid")
|
||||
private String dutyidId;
|
||||
|
||||
/**
|
||||
* 部门
|
||||
*/
|
||||
private String dept;
|
||||
|
||||
/**
|
||||
* 值班人员
|
||||
*/
|
||||
private String dutuser;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
private String sex;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 年度指标Entity
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("ys_indicator")
|
||||
public class YsIndicator extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 年度
|
||||
*/
|
||||
@TableField("nd")
|
||||
private String nd;
|
||||
|
||||
/**
|
||||
* 指标项
|
||||
*/
|
||||
@TableField("type")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 基准值
|
||||
*/
|
||||
@TableField("baseline")
|
||||
private String baseline;
|
||||
|
||||
/**
|
||||
* 调整值
|
||||
*/
|
||||
@TableField("challenge")
|
||||
private String challenge;
|
||||
|
||||
/**
|
||||
* 实际值
|
||||
*/
|
||||
@TableField("actual")
|
||||
private String actual;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private String sort;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 运营信息Entity
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("ys_operate_manager")
|
||||
public class YsOperateManager extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 保驾等级
|
||||
*/
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
private String begindate;
|
||||
|
||||
/**
|
||||
* 客流对比日期
|
||||
*/
|
||||
@TableField("compare_date")
|
||||
private String compareDate;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@TableField("create_by_id")
|
||||
private String createByIdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@TableField("update_by_id")
|
||||
private String updateByIdId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 站点监控管理Entity
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("ys_station_camera")
|
||||
public class YsStationCamera extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private String num;
|
||||
|
||||
/**
|
||||
* 设备ID
|
||||
*/
|
||||
private String deviceId;
|
||||
|
||||
/**
|
||||
* 所属站点
|
||||
*/
|
||||
private String station;
|
||||
|
||||
/**
|
||||
* 监控信息
|
||||
*/
|
||||
private String discription;
|
||||
|
||||
/**
|
||||
* 视频地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 监控位置
|
||||
*/
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 是否常用
|
||||
*/
|
||||
private String favorites;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
private String enable;
|
||||
|
||||
/**
|
||||
* 预览图片
|
||||
*/
|
||||
private String preview;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Long sort;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField("create_time")
|
||||
private Date createDate;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField("update_time")
|
||||
private Date updateDate;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 走码字Entity
|
||||
* @author wq
|
||||
* @version 2026-04-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("ys_task_notice")
|
||||
public class YsTaskNotice extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 公告标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 公告内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private boolean status;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@TableField("create_by_id")
|
||||
private String createByIdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@TableField("update_by_id")
|
||||
private String updateByIdId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 客流信息Entity
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@DS("juntech_ysdp")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("ys_yunying")
|
||||
public class YsYunying extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 线路编码
|
||||
*/
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 线路车站
|
||||
*/
|
||||
private String stationId;
|
||||
|
||||
/**
|
||||
* 数据开始时间
|
||||
*/
|
||||
private Date begTime;
|
||||
|
||||
/**
|
||||
* 数据结束时间
|
||||
*/
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 进站客流数
|
||||
*/
|
||||
private String pullNum;
|
||||
|
||||
/**
|
||||
* 出站客流数
|
||||
*/
|
||||
private String departureNum;
|
||||
|
||||
/**
|
||||
* 文件名
|
||||
*/
|
||||
private String fileName;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 线路最大客流Entity
|
||||
* @author wq
|
||||
* @version 2026-04-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("ys_yunying_max")
|
||||
public class YsYunyingMax extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 线路编码
|
||||
*/
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 数据开始时间结束时间
|
||||
*/
|
||||
private String time1;
|
||||
|
||||
/**
|
||||
* time2
|
||||
*/
|
||||
private String time2;
|
||||
|
||||
/**
|
||||
* time3
|
||||
*/
|
||||
private String time3;
|
||||
|
||||
/**
|
||||
* time4
|
||||
*/
|
||||
private String time4;
|
||||
|
||||
/**
|
||||
* time5
|
||||
*/
|
||||
private String time5;
|
||||
|
||||
/**
|
||||
* time6
|
||||
*/
|
||||
private String time6;
|
||||
|
||||
/**
|
||||
* time7
|
||||
*/
|
||||
private String time7;
|
||||
|
||||
/**
|
||||
* time8
|
||||
*/
|
||||
private String time8;
|
||||
|
||||
/**
|
||||
* time9
|
||||
*/
|
||||
private String time9;
|
||||
|
||||
/**
|
||||
* time10
|
||||
*/
|
||||
private String time10;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@TableField("create_by_id")
|
||||
private String createByIdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@TableField("update_by_id")
|
||||
private String updateByIdId;
|
||||
|
||||
@TableField("max_date")
|
||||
private String maxDate;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 线路管理Entity
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-08
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("zn_metro_lines")
|
||||
public class ZnMetroLines extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 线路ID
|
||||
*/
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 线路名英文
|
||||
*/
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 线路名中文
|
||||
*/
|
||||
private String nameCn;
|
||||
|
||||
/**
|
||||
* 线路类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 站点集合
|
||||
*/
|
||||
private String stations;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Long seqId;
|
||||
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 仪电对应id
|
||||
*/
|
||||
private String ydLineId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,170 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 站点管理Entity
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("zn_metro_stations")
|
||||
public class ZnMetroStations extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private String seqId;
|
||||
|
||||
/**
|
||||
* 站点ID
|
||||
*/
|
||||
private String statId;
|
||||
|
||||
/**
|
||||
* 车站名英文
|
||||
*/
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 车站名中文
|
||||
*/
|
||||
private String nameCn;
|
||||
|
||||
/**
|
||||
* 车站名拼音
|
||||
*/
|
||||
private String pinyin;
|
||||
|
||||
/**
|
||||
* 线路
|
||||
*/
|
||||
private String line;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private String longitude;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private String latitude;
|
||||
|
||||
/**
|
||||
* X坐标
|
||||
*/
|
||||
private String x;
|
||||
|
||||
/**
|
||||
* Y坐标
|
||||
*/
|
||||
private String y;
|
||||
|
||||
/**
|
||||
* 站点图片
|
||||
*/
|
||||
private String statPic;
|
||||
|
||||
/**
|
||||
* 站内厕所
|
||||
*/
|
||||
private String toiletInside;
|
||||
|
||||
/**
|
||||
* 厕所位置
|
||||
*/
|
||||
private String toiletPosition;
|
||||
|
||||
/**
|
||||
* 厕所位置英文
|
||||
*/
|
||||
private String toiletPositionEn;
|
||||
|
||||
/**
|
||||
* 出入口信息
|
||||
*/
|
||||
private String entranceInfo;
|
||||
|
||||
/**
|
||||
* 出入口信息英文
|
||||
*/
|
||||
private String entranceInfoEn;
|
||||
|
||||
/**
|
||||
* 室外图片
|
||||
*/
|
||||
private String streetPic;
|
||||
|
||||
/**
|
||||
* 完整拼音
|
||||
*/
|
||||
private String fullpinyin;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 电梯信息
|
||||
*/
|
||||
private String elevator;
|
||||
|
||||
/**
|
||||
* 电梯信息英文
|
||||
*/
|
||||
private String elevatorEn;
|
||||
|
||||
/**
|
||||
* 站内电梯
|
||||
*/
|
||||
private String entranceInside;
|
||||
|
||||
/**
|
||||
* 百度地图经度
|
||||
*/
|
||||
private String bdlongitude;
|
||||
|
||||
/**
|
||||
* 百度地图纬度
|
||||
*/
|
||||
private String bdlatitude;
|
||||
|
||||
/**
|
||||
* 出入口
|
||||
*/
|
||||
private String entrancesexits;
|
||||
|
||||
/**
|
||||
* 站点属性
|
||||
*/
|
||||
private String stationType;
|
||||
|
||||
/**
|
||||
* 仪电站点ID
|
||||
*/
|
||||
private String ydStatId;
|
||||
|
||||
/**
|
||||
* 仪电车站名
|
||||
*/
|
||||
private String ydStatName;
|
||||
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 站点无障碍设施Entity
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("zn_station_barrierfree")
|
||||
public class ZnStationBarrierfree extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 站点ID
|
||||
*/
|
||||
private String statId;
|
||||
|
||||
/**
|
||||
* 设施序号
|
||||
*/
|
||||
private String seqId;
|
||||
|
||||
/**
|
||||
* 设施类型
|
||||
*/
|
||||
private String barrierfreeType;
|
||||
|
||||
/**
|
||||
* 设施位置
|
||||
*/
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 线路ID
|
||||
*/
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 计划关闭开始日期
|
||||
*/
|
||||
private String planOpenDate;
|
||||
|
||||
/**
|
||||
* 计划关闭结束日期
|
||||
*/
|
||||
private String planCloseDate;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 出入口Entity
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("zn_station_entrance")
|
||||
public class ZnStationEntrance extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 出口
|
||||
*/
|
||||
private String export;
|
||||
|
||||
/**
|
||||
* 位置
|
||||
*/
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 站点ID
|
||||
*/
|
||||
private String statId;
|
||||
|
||||
/**
|
||||
* 线路ID
|
||||
*/
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 计划关闭开始日期
|
||||
*/
|
||||
private String planOpenDate;
|
||||
|
||||
/**
|
||||
* 计划关闭结束日期
|
||||
*/
|
||||
private String planCloseDate;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private String seqId;
|
||||
|
||||
/**
|
||||
* 是否对APP隐藏
|
||||
*/
|
||||
private String hideForApp;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jeeplus.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 站点卫生间Entity
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("zn_station_toilet")
|
||||
public class ZnStationToilet extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 站点ID
|
||||
*/
|
||||
private String statId;
|
||||
|
||||
/**
|
||||
* 卫生间图例
|
||||
*/
|
||||
private String toiletIcon;
|
||||
|
||||
/**
|
||||
* 无障碍卫生间图例
|
||||
*/
|
||||
private String barrierFreeIcon;
|
||||
|
||||
/**
|
||||
* 卫生间位置
|
||||
*/
|
||||
private String toiletPosition;
|
||||
|
||||
/**
|
||||
* 线路ID
|
||||
*/
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 计划关闭开始日期
|
||||
*/
|
||||
private String planOpenDate;
|
||||
|
||||
/**
|
||||
* 计划关闭结束日期
|
||||
*/
|
||||
private String planCloseDate;
|
||||
|
||||
/**
|
||||
* 卫生间部分关闭时显示说明
|
||||
*/
|
||||
private String toiletDiscription;
|
||||
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.YsCommonMonitor;
|
||||
import net.juntech.modules.ysdp.service.dto.YsCommonMonitorDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 常用视屏监控MAPPER接口
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface YsCommonMonitorMapper extends BaseMapper<YsCommonMonitor> {
|
||||
|
||||
/**
|
||||
* 获取常用视屏监控列表
|
||||
* @return 常用视屏监控列表
|
||||
*/
|
||||
List<YsCommonMonitorDTO> getCommonMonitorList();
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsDutyInfoDetailDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsDutyInfoDetail;
|
||||
|
||||
/**
|
||||
* 值班信息详情MAPPER接口
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
public interface YsDutyInfoDetailMapper extends BaseMapper<YsDutyInfoDetail> {
|
||||
|
||||
/**
|
||||
* 根据id获取值班信息详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
YsDutyInfoDetailDTO findById(String id);
|
||||
|
||||
/**
|
||||
* 获取值班信息详情列表
|
||||
*
|
||||
* @param YsDutyInfoId
|
||||
* @return
|
||||
*/
|
||||
List <YsDutyInfoDetailDTO> findList(String YsDutyInfoId);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.service.dto.YsDutyInfoDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsDutyInfo;
|
||||
|
||||
/**
|
||||
* 值班信息MAPPER接口
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
public interface YsDutyInfoMapper extends BaseMapper<YsDutyInfo> {
|
||||
|
||||
/**
|
||||
* 根据id获取值班信息
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
YsDutyInfoDTO findById(String id);
|
||||
|
||||
/**
|
||||
* 获取值班信息列表
|
||||
*
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
IPage <YsDutyInfoDTO> findList(Page <YsDutyInfoDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.YsIndicator;
|
||||
|
||||
/**
|
||||
* 年度指标MAPPER接口
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
public interface YsIndicatorMapper extends BaseMapper<YsIndicator> {
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.YsOperateManager;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 运营信息MAPPER接口
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface YsOperateManagerMapper extends BaseMapper<YsOperateManager> {
|
||||
|
||||
public List<ZnMetroLinesDTO> getStationCameraLines();
|
||||
|
||||
public List<ZnMetroStationsDTO> getStationCameras(String id);
|
||||
|
||||
public List<ZnMetroStationsDTO> getStationMonitor(String id);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.YsStationCamera;
|
||||
|
||||
/**
|
||||
* 站点监控管理MAPPER接口
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface YsStationCameraMapper extends BaseMapper<YsStationCamera> {
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.YsTaskNotice;
|
||||
|
||||
/**
|
||||
* 走码字MAPPER接口
|
||||
* @author wq
|
||||
* @version 2026-04-21
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface YsTaskNoticeMapper extends BaseMapper<YsTaskNotice> {
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.YsYunyingMax;
|
||||
import net.juntech.modules.ysdp.service.dto.YsInterfaceDTO;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingMaxDTO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsYunying;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 客流信息MAPPER接口
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface YsYunyingMapper extends BaseMapper<YsYunying> {
|
||||
|
||||
/**
|
||||
* 根据id获取客流信息
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
YsYunyingDTO findById(String id);
|
||||
|
||||
/**
|
||||
* 获取客流信息列表
|
||||
*
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
IPage <YsYunyingDTO> findList(Page <YsYunyingDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
|
||||
|
||||
public List<YsYunyingMaxDTO> getYunyingList(String date);
|
||||
|
||||
public List<YsYunyingDTO> getStationMaxList(String date);
|
||||
|
||||
/**
|
||||
* 获取进出站客流排名TOP10(单线路站点,lineId不含逗号)
|
||||
* @param date 日期 yyyy-MM-dd
|
||||
* @return 站点排名列表
|
||||
*/
|
||||
public List<YsYunyingDTO> getInOutStationMaxList(String date);
|
||||
|
||||
/**
|
||||
* 获取换乘站客流排名TOP10(多线路站点,lineId含逗号)
|
||||
* @param date 日期 yyyy-MM-dd
|
||||
* @return 站点排名列表
|
||||
*/
|
||||
public List<YsYunyingDTO> getTransferStationMaxList(String date);
|
||||
|
||||
public String getStationCompareValue(String compareDay, String stationId);
|
||||
|
||||
public YsInterfaceDTO getInterface(String type);
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.YsYunyingMax;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingMaxDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 线路最大客流MAPPER接口
|
||||
* @author wq
|
||||
* @version 2026-04-07
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface YsYunyingMaxMapper extends BaseMapper<YsYunyingMax> {
|
||||
|
||||
// 获取历史最大客流信息 当前库
|
||||
public List<YsYunyingMaxDTO> getHistoryMaxYy();
|
||||
|
||||
public List<YsYunyingMax> getYunyinglist();
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.domain.ZnMetroLines;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 线路管理MAPPER接口
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-08
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface ZnMetroLinesMapper extends BaseMapper<ZnMetroLines> {
|
||||
|
||||
/**
|
||||
* 根据id获取线路管理
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ZnMetroLinesDTO findById(String id);
|
||||
|
||||
/**
|
||||
* 获取线路管理列表
|
||||
*
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
IPage <ZnMetroLinesDTO> findList(Page <ZnMetroLinesDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
|
||||
|
||||
|
||||
/***
|
||||
* 根据多线路ID获取对应的线路名称逗号分割
|
||||
* @param lineIds 线路ID集合
|
||||
* @return 对应的线路名称逗号分割
|
||||
*/
|
||||
List<HashMap<String, String>> getMultiLineName(@Param("lineIds") String[] lineIds);
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.domain.ZnMetroStations;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 站点管理MAPPER接口
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface ZnMetroStationsMapper extends BaseMapper<ZnMetroStations> {
|
||||
|
||||
/**
|
||||
* 根据id获取站点管理
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ZnMetroStationsDTO findById(String id);
|
||||
|
||||
/**
|
||||
* 获取站点管理列表
|
||||
*
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
IPage <ZnMetroStationsDTO> findList(Page <ZnMetroStationsDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
|
||||
|
||||
|
||||
/**
|
||||
* 根据stations获取线路站点信息
|
||||
*
|
||||
* @param stations
|
||||
* @return
|
||||
*/
|
||||
List<ZnMetroStations> getStationListByStations(String[] stations);
|
||||
|
||||
/**
|
||||
* 根据同站名,同交汇线路获取对应站点对象集合
|
||||
*
|
||||
* @param nameCn
|
||||
* @return
|
||||
*/
|
||||
List<ZnMetroStations> findSameNameStationsByLine(@Param(value = "nameCn") String nameCn);
|
||||
|
||||
/***
|
||||
* 根据多站点ID获取对应的站点对象集合
|
||||
* @param statIds 站点ID集合
|
||||
* @return 对应的站点对象集合
|
||||
*/
|
||||
List<ZnMetroStations> getStationByIds(@Param("statIds") String[] statIds);
|
||||
|
||||
|
||||
//查找相同名称的其他站点集合
|
||||
List<ZnMetroStations> findSameNameStations(@Param(value = "stationid") String stationid);
|
||||
|
||||
/**
|
||||
* 根据stations获取线路站点信息(不按线路ID排序,用于路径规划)
|
||||
*
|
||||
* @param stations
|
||||
* @return
|
||||
*/
|
||||
List<ZnMetroStations> getStationListByStationsWithoutOrderBy(String[] stations);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.ZnStationBarrierfree;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationBarrierfreeDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 站点无障碍设施MAPPER接口
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface ZnStationBarrierfreeMapper extends BaseMapper<ZnStationBarrierfree> {
|
||||
|
||||
/**
|
||||
* 根据id获取站点无障碍设施
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ZnStationBarrierfreeDTO findById(String id);
|
||||
|
||||
/**
|
||||
* 获取站点无障碍设施列表
|
||||
*
|
||||
* @param ZnMetroStationsId
|
||||
* @return
|
||||
*/
|
||||
List <ZnStationBarrierfreeDTO> findList(String ZnMetroStationsId);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.ZnStationEntrance;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationEntranceDTO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 出入口MAPPER接口
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface ZnStationEntranceMapper extends BaseMapper<ZnStationEntrance> {
|
||||
|
||||
/**
|
||||
* 根据id获取出入口
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ZnStationEntranceDTO findById(String id);
|
||||
|
||||
/**
|
||||
* 获取出入口列表
|
||||
*
|
||||
* @param ZnMetroStationsId
|
||||
* @return
|
||||
*/
|
||||
List <ZnStationEntranceDTO> findList(String ZnMetroStationsId);
|
||||
|
||||
/**
|
||||
* 删除子表数据
|
||||
*/
|
||||
void delAll();
|
||||
|
||||
/**
|
||||
* 将在出入口同步表中不存在的站点对应的出入口设置为隐藏且逻辑删除(需要适配浦江线特有的ID差异)
|
||||
*
|
||||
* @return 影响条数
|
||||
*/
|
||||
@Update("update zn_station_entrance set hide_for_app = 1,del_flag = 1 ,description = '因同步表中不存在该站,该站有关出入口均设置为对APP隐藏且逻辑删除' where stat_id in (SELECT id FROM zn_metro_stations WHERE stat_id NOT IN ( SELECT DISTINCT ( station_id ) station_id FROM zn_sync_entrance ORDER BY station_id) AND yd_stat_id NOT IN ( SELECT DISTINCT ( station_id ) station_id FROM zn_sync_entrance ))")
|
||||
int setHideForAppBySyncStations();
|
||||
|
||||
/**
|
||||
* 获取特定站点出入口下的周边路名
|
||||
*
|
||||
* @param statId 站点ID
|
||||
* @param export 出入口名
|
||||
* @return 周边路名
|
||||
*/
|
||||
@Select("SELECT position FROM zn_station_entrance WHERE stat_id = #{statId} and export = #{export} and position is not null and position <> '' order by update_time desc limit 1")
|
||||
String findPositionByStatId(@Param(value = "statId") String statId, @Param(value = "export") String export);
|
||||
|
||||
@Select("SELECT * FROM zn_station_entrance WHERE stat_id = #{statId} order by update_time desc")
|
||||
List<ZnStationEntrance> findAllListByStatId(String statId);
|
||||
|
||||
@Select("SELECT b.export,b.position FROM zn_metro_stations a left join zn_station_entrance b on a.id= b.stat_id WHERE a.stat_id =#{statId} and b.`status` = '1' order by a.update_time desc")
|
||||
List<ZnStationEntrance> findAllListByStatId2(String statId);
|
||||
|
||||
@Update("update zn_station_entrance set update_time = #{updateTime},update_by_id = #{updateById},export = #{export},position = #{position},hide_for_app = #{hideForApp},del_flag = #{delFlag},description = #{description},stat_id = #{statId},status = #{status},seq_id = #{seqId} where id = #{id}")
|
||||
int updateForAll(ZnStationEntrance stationEntrance);
|
||||
|
||||
@Update("update zn_station_entrance set update_time = #{updateTime},update_by_id = #{updateById},export = #{export},hide_for_app = #{hideForApp},del_flag = #{delFlag},description = #{description},stat_id = #{statId},status = #{status},seq_id = #{seqId} where stat_id = #{statId} and export = #{export}")
|
||||
int updateForAllByExport(ZnStationEntrance stationEntrance);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.juntech.modules.ysdp.domain.ZnStationToilet;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationToiletDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 站点卫生间MAPPER接口
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@InterceptorIgnore(tenantLine ="true")
|
||||
public interface ZnStationToiletMapper extends BaseMapper<ZnStationToilet> {
|
||||
|
||||
/**
|
||||
* 根据id获取站点卫生间
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ZnStationToiletDTO findById(String id);
|
||||
|
||||
/**
|
||||
* 获取站点卫生间列表
|
||||
*
|
||||
* @param ZnMetroStationsId
|
||||
* @return
|
||||
*/
|
||||
List <ZnStationToiletDTO> findList(String ZnMetroStationsId);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.YsCommonMonitorMapper">
|
||||
<!-- 获取常用视屏监控列表 -->
|
||||
|
||||
<select id="getCommonMonitorList" resultType="net.juntech.modules.ysdp.service.dto.YsCommonMonitorDTO">
|
||||
|
||||
SELECT
|
||||
b.url,
|
||||
a.NO,
|
||||
a.line,
|
||||
a.monitor,
|
||||
c.name_cn station
|
||||
FROM
|
||||
ys_common_monitor a
|
||||
LEFT JOIN ys_station_camera b ON a.station = b.station
|
||||
AND a.monitor = b.position
|
||||
LEFT JOIN zn_metro_stations c ON a.station = c.id
|
||||
where a.del_flag = 0
|
||||
ORDER BY
|
||||
NO ASC,
|
||||
a.update_time DESC
|
||||
LIMIT 4
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.YsDutyInfoDetailMapper">
|
||||
|
||||
<sql id="ysDutyInfoDetailColumns">
|
||||
a.id AS "id",
|
||||
a.dutyid AS "dutyid.id",
|
||||
a.dept AS "dept",
|
||||
a.dutuser AS "dutuser",
|
||||
a.sex AS "sex",
|
||||
a.phone AS "phone",
|
||||
a.del_flag AS "delFlag",
|
||||
a.create_by_id AS "createById.id",
|
||||
a.create_time AS "createTime",
|
||||
a.update_by_id AS "updateById.id",
|
||||
a.update_time AS "updateTime",
|
||||
a.tenant_id AS "tenantId"
|
||||
</sql>
|
||||
|
||||
<sql id="ysDutyInfoDetailJoins">
|
||||
|
||||
LEFT JOIN ys_duty_info b ON b.id = a.dutyid
|
||||
LEFT JOIN sys_user createById ON createById.id = a.create_by_id
|
||||
LEFT JOIN sys_user updateById ON updateById.id = a.update_by_id
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="findById" resultType="net.juntech.modules.ysdp.service.dto.YsDutyInfoDetailDTO">
|
||||
SELECT
|
||||
<include refid="ysDutyInfoDetailColumns"/>
|
||||
FROM ys_duty_info_detail a
|
||||
<include refid="ysDutyInfoDetailJoins"/>
|
||||
WHERE a.id = #{id} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="findList" resultType="net.juntech.modules.ysdp.service.dto.YsDutyInfoDetailDTO">
|
||||
SELECT
|
||||
<include refid="ysDutyInfoDetailColumns"/>
|
||||
FROM ys_duty_info_detail a
|
||||
<include refid="ysDutyInfoDetailJoins"/>
|
||||
WHERE a.dutyid = #{YsDutyInfoId} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.YsDutyInfoMapper">
|
||||
|
||||
<sql id="ysDutyInfoColumns">
|
||||
a.id AS "id",
|
||||
a.dutyDate AS "dutydate",
|
||||
a.del_flag AS "delFlag",
|
||||
a.create_by_id AS "createById.id",
|
||||
a.create_time AS "createTime",
|
||||
a.update_by_id AS "updateById.id",
|
||||
a.update_time AS "updateTime",
|
||||
a.tenant_id AS "tenantId"
|
||||
</sql>
|
||||
|
||||
<sql id="ysDutyInfoJoins">
|
||||
|
||||
LEFT JOIN sys_user createById ON createById.id = a.create_by_id
|
||||
LEFT JOIN sys_user updateById ON updateById.id = a.update_by_id
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<select id="findById" resultType="net.juntech.modules.ysdp.service.dto.YsDutyInfoDTO">
|
||||
SELECT
|
||||
<include refid="ysDutyInfoColumns"/>
|
||||
FROM ys_duty_info a
|
||||
<include refid="ysDutyInfoJoins"/>
|
||||
WHERE a.id = #{id} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="findList" resultType="net.juntech.modules.ysdp.service.dto.YsDutyInfoDTO" >
|
||||
SELECT
|
||||
<include refid="ysDutyInfoColumns"/>
|
||||
FROM ys_duty_info a
|
||||
<include refid="ysDutyInfoJoins"/>
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.YsIndicatorMapper">
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.YsOperateManagerMapper">
|
||||
|
||||
<select id="getStationCameraLines" resultType="net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO">
|
||||
SELECT
|
||||
a.line_id id,
|
||||
a.name_cn AS nameCn
|
||||
FROM zn_metro_lines a
|
||||
WHERE a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="getStationCameras" resultType="net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO">
|
||||
SELECT DISTINCT
|
||||
b.id,
|
||||
b.name_cn AS nameCn
|
||||
FROM
|
||||
ys_station_camera a
|
||||
LEFT JOIN zn_metro_stations b ON a.station = b.id
|
||||
WHERE
|
||||
a.del_flag = 0
|
||||
AND a.ENABLE = '1'
|
||||
AND LEFT(b.stat_id, 2) = LPAD(#{id}, 2, '0')
|
||||
</select>
|
||||
|
||||
<select id="getStationMonitor" resultType="net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO">
|
||||
SELECT
|
||||
distinct
|
||||
a.id,
|
||||
a.position nameCn
|
||||
FROM ys_station_camera a
|
||||
WHERE a.del_flag = 0
|
||||
and a.enable='1'
|
||||
and a.station=#{id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.YsStationCameraMapper">
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.YsTaskNoticeMapper">
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,319 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.YsYunyingMapper">
|
||||
|
||||
<sql id="ysYunyingColumns">
|
||||
a.id AS "id",
|
||||
a.line_id AS "lineId",
|
||||
a.station_id AS "stationId",
|
||||
a.beg_time AS "begTime",
|
||||
a.end_time AS "endTime",
|
||||
a.pull_num AS "pullNum",
|
||||
a.departure_num AS "departureNum",
|
||||
a.file_name AS "fileName",
|
||||
a.del_flag AS "delFlag",
|
||||
a.create_by_id AS "createById.id",
|
||||
a.create_time AS "createTime",
|
||||
a.update_by_id AS "updateById.id",
|
||||
a.update_time AS "updateTime",
|
||||
a.tenant_id AS "tenantId"
|
||||
</sql>
|
||||
|
||||
<sql id="ysYunyingJoins">
|
||||
|
||||
LEFT JOIN sys_user createById ON createById.id = a.create_by_id
|
||||
LEFT JOIN sys_user updateById ON updateById.id = a.update_by_id
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<select id="findById" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingDTO">
|
||||
SELECT
|
||||
<include refid="ysYunyingColumns"/>
|
||||
FROM ys_yunying a
|
||||
<include refid="ysYunyingJoins"/>
|
||||
WHERE a.id = #{id} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="findList" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingDTO">
|
||||
SELECT
|
||||
<include refid="ysYunyingColumns"/>
|
||||
FROM ys_yunying a
|
||||
<include refid="ysYunyingJoins"/>
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<!-- <select id="getYunyingList" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingMaxDTO">-->
|
||||
<!-- SELECT-->
|
||||
<!-- line_id,-->
|
||||
<!-- MAX(CASE WHEN time_period = '05:00-06:00' THEN total_pull ELSE 0 END) AS time1,-->
|
||||
<!-- MAX(CASE WHEN time_period = '06:00-08:00' THEN total_pull ELSE 0 END) AS time2,-->
|
||||
<!-- MAX(CASE WHEN time_period = '08:00-10:00' THEN total_pull ELSE 0 END) AS time3,-->
|
||||
<!-- MAX(CASE WHEN time_period = '10:00-12:00' THEN total_pull ELSE 0 END) AS time4,-->
|
||||
<!-- MAX(CASE WHEN time_period = '12:00-14:00' THEN total_pull ELSE 0 END) AS time5,-->
|
||||
<!-- MAX(CASE WHEN time_period = '14:00-16:00' THEN total_pull ELSE 0 END) AS time6,-->
|
||||
<!-- MAX(CASE WHEN time_period = '16:00-18:00' THEN total_pull ELSE 0 END) AS time7,-->
|
||||
<!-- MAX(CASE WHEN time_period = '18:00-20:00' THEN total_pull ELSE 0 END) AS time8,-->
|
||||
<!-- MAX(CASE WHEN time_period = '20:00-22:00' THEN total_pull ELSE 0 END) AS time9,-->
|
||||
<!-- MAX(CASE WHEN time_period = '22:00-24:00' THEN total_pull ELSE 0 END) AS time10,-->
|
||||
<!-- sum(total_pull) totalSum-->
|
||||
<!-- FROM (-->
|
||||
<!-- SELECT-->
|
||||
<!-- line_id,-->
|
||||
<!-- CASE-->
|
||||
<!-- WHEN HOUR(end_time) = 5 THEN '05:00-06:00'-->
|
||||
<!-- WHEN HOUR(end_time) BETWEEN 6 AND 7 THEN '06:00-08:00'-->
|
||||
<!-- WHEN HOUR(end_time) BETWEEN 8 AND 9 THEN '08:00-10:00'-->
|
||||
<!-- WHEN HOUR(end_time) BETWEEN 10 AND 11 THEN '10:00-12:00'-->
|
||||
<!-- WHEN HOUR(end_time) BETWEEN 12 AND 13 THEN '12:00-14:00'-->
|
||||
<!-- WHEN HOUR(end_time) BETWEEN 14 AND 15 THEN '14:00-16:00'-->
|
||||
<!-- WHEN HOUR(end_time) BETWEEN 16 AND 17 THEN '16:00-18:00'-->
|
||||
<!-- WHEN HOUR(end_time) BETWEEN 18 AND 19 THEN '18:00-20:00'-->
|
||||
<!-- WHEN HOUR(end_time) BETWEEN 20 AND 21 THEN '20:00-22:00'-->
|
||||
<!-- WHEN HOUR(end_time) BETWEEN 22 AND 23 THEN '22:00-24:00'-->
|
||||
<!-- END AS time_period,-->
|
||||
<!-- ROUND((SUM(pull_num) + SUM(departure_num)) / 100) AS total_pull-->
|
||||
<!-- FROM ys_yunying-->
|
||||
<!-- WHERE-->
|
||||
<!-- end_time >= #{date}-->
|
||||
<!-- AND end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)-->
|
||||
<!-- AND HOUR(end_time) >= 5-->
|
||||
<!-- AND line_id in('03','04','07','15')-->
|
||||
<!-- GROUP BY line_id, time_period-->
|
||||
<!-- ) t-->
|
||||
<!-- GROUP BY line_id-->
|
||||
<!-- ORDER BY line_id-->
|
||||
<!-- </select>-->
|
||||
|
||||
<select id="getYunyingList" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingMaxDTO">
|
||||
SELECT
|
||||
line_id,
|
||||
-- 累计时段:从早到晚依次累加
|
||||
SUM(CASE WHEN time_period <= '05:00-06:00' THEN total_pull ELSE 0 END) AS time1, -- 05-06
|
||||
SUM(CASE WHEN time_period <= '06:00-08:00' THEN total_pull ELSE 0 END) AS time2, -- 05-08
|
||||
SUM(CASE WHEN time_period <= '08:00-10:00' THEN total_pull ELSE 0 END) AS time3, -- 05-10
|
||||
SUM(CASE WHEN time_period <= '10:00-12:00' THEN total_pull ELSE 0 END) AS time4, -- 05-12
|
||||
SUM(CASE WHEN time_period <= '12:00-14:00' THEN total_pull ELSE 0 END) AS time5, -- 05-14
|
||||
SUM(CASE WHEN time_period <= '14:00-16:00' THEN total_pull ELSE 0 END) AS time6, -- 05-16
|
||||
SUM(CASE WHEN time_period <= '16:00-18:00' THEN total_pull ELSE 0 END) AS time7, -- 05-18
|
||||
SUM(CASE WHEN time_period <= '18:00-20:00' THEN total_pull ELSE 0 END) AS time8, -- 05-20
|
||||
SUM(CASE WHEN time_period <= '20:00-22:00' THEN total_pull ELSE 0 END) AS time9, -- 05-22
|
||||
SUM(CASE WHEN time_period <= '22:00-24:00' THEN total_pull ELSE 0 END) AS time10, -- 05-24
|
||||
SUM(total_pull) AS totalSum -- 全天总和
|
||||
FROM (
|
||||
SELECT
|
||||
line_id,
|
||||
-- 时段定义
|
||||
CASE
|
||||
WHEN HOUR(end_time) = 5 THEN '05:00-06:00'
|
||||
WHEN HOUR(end_time) BETWEEN 6 AND 7 THEN '06:00-08:00'
|
||||
WHEN HOUR(end_time) BETWEEN 8 AND 9 THEN '08:00-10:00'
|
||||
WHEN HOUR(end_time) BETWEEN 10 AND 11 THEN '10:00-12:00'
|
||||
WHEN HOUR(end_time) BETWEEN 12 AND 13 THEN '12:00-14:00'
|
||||
WHEN HOUR(end_time) BETWEEN 14 AND 15 THEN '14:00-16:00'
|
||||
WHEN HOUR(end_time) BETWEEN 16 AND 17 THEN '16:00-18:00'
|
||||
WHEN HOUR(end_time) BETWEEN 18 AND 19 THEN '18:00-20:00'
|
||||
WHEN HOUR(end_time) BETWEEN 20 AND 21 THEN '20:00-22:00'
|
||||
WHEN HOUR(end_time) BETWEEN 22 AND 23 THEN '22:00-24:00'
|
||||
END AS time_period,
|
||||
ROUND((SUM(pull_num) + SUM(departure_num)) / 100) AS total_pull
|
||||
FROM ys_yunying
|
||||
WHERE
|
||||
end_time>= #{date}
|
||||
AND end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)
|
||||
AND HOUR(end_time) >= 5
|
||||
AND line_id IN ('03','04','07','15')
|
||||
GROUP BY line_id, time_period
|
||||
) t
|
||||
GROUP BY line_id
|
||||
ORDER BY line_id;
|
||||
</select>
|
||||
|
||||
<!-- <select id="getStationMaxList" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingDTO">-->
|
||||
<!-- SELECT-->
|
||||
<!---- ROW_NUMBER() OVER(ORDER BY ROUND((SUM(a.pull_num) + SUM(a.departure_num)) / 100) DESC) AS sortNo,-->
|
||||
<!-- a.line_id lineId,-->
|
||||
<!-- a.station_id stationId,-->
|
||||
<!-- TRIM(b.`name`) stationName,-->
|
||||
<!-- ROUND((SUM(a.pull_num) + SUM(a.departure_num)) / 100) AS total-->
|
||||
<!-- FROM ys_yunying a-->
|
||||
<!-- left join ys_station b on a.station_id = b.station_id-->
|
||||
<!-- WHERE-->
|
||||
<!-- end_time >= #{date}-->
|
||||
<!-- AND end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)-->
|
||||
<!-- AND HOUR(end_time) >= 5-->
|
||||
<!-- and a.line_id in ('03','04','07','15')-->
|
||||
<!-- GROUP BY a.line_id,a.station_id,b.`name`-->
|
||||
<!-- ORDER BY total DESC-->
|
||||
<!-- LIMIT 10-->
|
||||
<!-- </select>-->
|
||||
<!-- <select id="getStationMaxList" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingDTO">-->
|
||||
<!-- SELECT-->
|
||||
<!-- GROUP_CONCAT(DISTINCT a.line_id SEPARATOR ',') AS lineId, -- 显示所有线路-->
|
||||
<!-- MIN(a.station_id) AS stationId,-->
|
||||
<!-- TRIM(b.`name`) AS stationName,-->
|
||||
<!-- ROUND((SUM(a.pull_num) + SUM(a.departure_num)) / 100) AS total-->
|
||||
<!-- FROM ys_yunying a-->
|
||||
<!-- LEFT JOIN ys_station b ON a.station_id = b.station_id-->
|
||||
<!-- WHERE-->
|
||||
<!-- end_time >= #{date}-->
|
||||
<!-- AND end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)-->
|
||||
<!-- AND HOUR(end_time) >= 5-->
|
||||
<!-- and a.station_id not in ('0316','0317','0318','0319','0320','0321','0322','0323','0324')-->
|
||||
<!-- AND a.line_id IN ('03','04','07','15')-->
|
||||
<!-- GROUP BY TRIM(b.`name`)-->
|
||||
<!-- ORDER BY total DESC-->
|
||||
<!-- LIMIT 10-->
|
||||
<!-- </select>-->
|
||||
|
||||
<select id="getStationMaxList" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingDTO">
|
||||
SELECT
|
||||
lineId,
|
||||
stationId,
|
||||
stationName,
|
||||
total
|
||||
FROM (
|
||||
-- 先按站点名称,把所有线路合并起来
|
||||
SELECT
|
||||
TRIM(b.`name`) AS stationName,
|
||||
GROUP_CONCAT(DISTINCT a.line_id ORDER BY a.line_id SEPARATOR ',') AS lineId,
|
||||
-- 用MIN只是为了拿一个站点ID,不影响业务
|
||||
MIN(a.station_id) AS stationId
|
||||
FROM ys_yunying a
|
||||
LEFT JOIN ys_station b ON a.station_id = b.station_id
|
||||
WHERE
|
||||
a.end_time >= #{date}
|
||||
AND a.end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)
|
||||
AND HOUR(a.end_time) >= 5
|
||||
AND a.line_id IN ('01','02','06','08','09','10','11','12','13','14','16','18','51','03','04','07','15')
|
||||
GROUP BY TRIM(b.`name`)
|
||||
) AS station_lines
|
||||
JOIN (
|
||||
-- 再单独统计客流,排除不需要的站点。单位:万人(保留 2 位小数)
|
||||
SELECT
|
||||
TRIM(b.`name`) AS stationName,
|
||||
ROUND((SUM(a.pull_num) + SUM(a.departure_num)) / 100) AS total
|
||||
FROM ys_yunying a
|
||||
LEFT JOIN ys_station b ON a.station_id = b.station_id
|
||||
WHERE
|
||||
a.end_time >= #{date}
|
||||
AND a.end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)
|
||||
AND HOUR(a.end_time) >= 5
|
||||
AND a.station_id NOT IN ('0316','0317','0318','0319','0320','0321','0322','0323','0324')
|
||||
AND a.line_id IN ('01','02','06','08','09','10','11','12','13','14','16','18','51','03','04','07','15')
|
||||
GROUP BY TRIM(b.`name`)
|
||||
) AS station_flow
|
||||
USING (stationName)
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
</select>
|
||||
|
||||
<select id="getInOutStationMaxList" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingDTO">
|
||||
SELECT
|
||||
lineId,
|
||||
stationId,
|
||||
stationName,
|
||||
total
|
||||
FROM (
|
||||
-- 先按站点名称,把所有线路合并起来
|
||||
SELECT
|
||||
TRIM(b.`name`) AS stationName,
|
||||
GROUP_CONCAT(DISTINCT a.line_id ORDER BY a.line_id SEPARATOR ',') AS lineId,
|
||||
MIN(a.station_id) AS stationId
|
||||
FROM ys_yunying a
|
||||
LEFT JOIN ys_station b ON a.station_id = b.station_id
|
||||
WHERE
|
||||
a.end_time >= #{date}
|
||||
AND a.end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)
|
||||
AND HOUR(a.end_time) >= 5
|
||||
AND a.line_id IN ('01','02','06','08','09','10','11','12','13','14','16','18','51','03','04','07','15')
|
||||
GROUP BY TRIM(b.`name`)
|
||||
) AS station_lines
|
||||
JOIN (
|
||||
-- 再单独统计客流,排除不需要的站点
|
||||
SELECT
|
||||
TRIM(b.`name`) AS stationName,
|
||||
ROUND((SUM(a.pull_num) + SUM(a.departure_num)) / 100) AS total
|
||||
FROM ys_yunying a
|
||||
LEFT JOIN ys_station b ON a.station_id = b.station_id
|
||||
WHERE
|
||||
a.end_time >= #{date}
|
||||
AND a.end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)
|
||||
AND HOUR(a.end_time) >= 5
|
||||
AND a.station_id NOT IN ('0316','0317','0318','0319','0320','0321','0322','0323','0324')
|
||||
AND a.line_id IN ('01','02','06','08','09','10','11','12','13','14','16','18','51','03','04','07','15')
|
||||
GROUP BY TRIM(b.`name`)
|
||||
) AS station_flow
|
||||
USING (stationName)
|
||||
WHERE LOCATE(',', lineId) = 0 -- 进出站:lineId不含逗号(单线路)
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
</select>
|
||||
|
||||
<select id="getTransferStationMaxList" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingDTO">
|
||||
SELECT
|
||||
lineId,
|
||||
stationId,
|
||||
stationName,
|
||||
total
|
||||
FROM (
|
||||
-- 先按站点名称,把所有线路合并起来
|
||||
SELECT
|
||||
TRIM(b.`name`) AS stationName,
|
||||
GROUP_CONCAT(DISTINCT a.line_id ORDER BY a.line_id SEPARATOR ',') AS lineId,
|
||||
MIN(a.station_id) AS stationId
|
||||
FROM ys_yunying a
|
||||
LEFT JOIN ys_station b ON a.station_id = b.station_id
|
||||
WHERE
|
||||
a.end_time >= #{date}
|
||||
AND a.end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)
|
||||
AND HOUR(a.end_time) >= 5
|
||||
AND a.line_id IN ('01','02','06','08','09','10','11','12','13','14','16','18','51','03','04','07','15')
|
||||
GROUP BY TRIM(b.`name`)
|
||||
) AS station_lines
|
||||
JOIN (
|
||||
-- 再单独统计客流,排除不需要的站点
|
||||
SELECT
|
||||
TRIM(b.`name`) AS stationName,
|
||||
ROUND((SUM(a.pull_num) + SUM(a.departure_num)) / 100) AS total
|
||||
FROM ys_yunying a
|
||||
LEFT JOIN ys_station b ON a.station_id = b.station_id
|
||||
WHERE
|
||||
a.end_time >= #{date}
|
||||
AND a.end_time < DATE_ADD(#{date}, INTERVAL 1 DAY)
|
||||
AND HOUR(a.end_time) >= 5
|
||||
AND a.station_id NOT IN ('0316','0317','0318','0319','0320','0321','0322','0323','0324')
|
||||
AND a.line_id IN ('01','02','06','08','09','10','11','12','13','14','16','18','51','03','04','07','15')
|
||||
GROUP BY TRIM(b.`name`)
|
||||
) AS station_flow
|
||||
USING (stationName)
|
||||
WHERE LOCATE(',', lineId) > 0 -- 换乘站:lineId含逗号(多线路)
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
</select>
|
||||
|
||||
<select id="getStationCompareValue" resultType="String">
|
||||
SELECT
|
||||
CAST((SUM(a.pull_num) + SUM(a.departure_num)) / 10000 AS DECIMAL(10,2)) AS total
|
||||
FROM ys_yunying a
|
||||
left join ys_station b on a.station_id = b.station_id
|
||||
WHERE
|
||||
end_time >= #{compareDay}
|
||||
AND end_time < CONCAT(#{compareDay},' ',TIME(NOW()))
|
||||
AND a.station_id not in ('0316','0317','0318','0319','0320','0321','0322','0323','0324')
|
||||
AND HOUR(end_time) >= 5
|
||||
AND a.line_id IN ('01','02','06','08','09','10','11','12','13','14','16','18','51','03','04','07','15')
|
||||
and b.`name` = #{stationId}
|
||||
</select>
|
||||
|
||||
<select id="getInterface" resultType="net.juntech.modules.ysdp.service.dto.YsInterfaceDTO">
|
||||
|
||||
select * from ys_interface
|
||||
where name = #{type}
|
||||
and status = '0'
|
||||
ORDER BY create_date DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.YsYunyingMaxMapper">
|
||||
|
||||
|
||||
<select id="getHistoryMaxYy" resultType="net.juntech.modules.ysdp.service.dto.YsYunyingMaxDTO">
|
||||
SELECT
|
||||
line_id,
|
||||
time1, time2, time3, time4, time5,
|
||||
time6, time7, time8, time9, time10,
|
||||
-- 逐行求和(自动忽略NULL,NULL按0计算)
|
||||
COALESCE(time1, 0) + COALESCE(time2, 0) + COALESCE(time3, 0) +
|
||||
COALESCE(time4, 0) + COALESCE(time5, 0) + COALESCE(time6, 0) +
|
||||
COALESCE(time7, 0) + COALESCE(time8, 0) + COALESCE(time9, 0) +
|
||||
COALESCE(time10, 0) AS totalSum
|
||||
FROM ys_yunying_max
|
||||
where del_flag = '0'
|
||||
ORDER BY line_id
|
||||
</select>
|
||||
|
||||
<select id="getYunyinglist" resultType="net.juntech.modules.ysdp.domain.YsYunyingMax">
|
||||
SELECT
|
||||
line_id,
|
||||
time1,
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) time2,
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) + COALESCE ( time3, 0 ) time3,
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) + COALESCE ( time3, 0 ) + COALESCE ( time4, 0 ) time4,
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) + COALESCE ( time3, 0 ) + COALESCE ( time4, 0 ) + COALESCE ( time5, 0 ) time5,
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) + COALESCE ( time3, 0 ) + COALESCE ( time4, 0 ) + COALESCE ( time5, 0 ) + COALESCE ( time6, 0 ) time6,
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) + COALESCE ( time3, 0 ) + COALESCE ( time4, 0 ) + COALESCE ( time5, 0 ) + COALESCE ( time6, 0 ) + COALESCE ( time7, 0 ) time7,
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) + COALESCE ( time3, 0 ) + COALESCE ( time4, 0 ) + COALESCE ( time5, 0 ) + COALESCE ( time6, 0 ) + COALESCE ( time7, 0 ) + COALESCE ( time8, 0 ) time8,
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) + COALESCE ( time3, 0 ) + COALESCE ( time4, 0 ) + COALESCE ( time5, 0 ) + COALESCE ( time6, 0 ) + COALESCE ( time7, 0 ) + COALESCE ( time8, 0 ) + COALESCE ( time9, 0 ) time9,
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) + COALESCE ( time3, 0 ) + COALESCE ( time4, 0 ) + COALESCE ( time5, 0 ) + COALESCE ( time6, 0 ) + COALESCE ( time7, 0 ) + COALESCE ( time8, 0 ) + COALESCE ( time9, 0 ) + COALESCE ( time10, 0 ) time10,-- 逐行求和(自动忽略NULL,NULL按0计算)
|
||||
COALESCE ( time1, 0 ) + COALESCE ( time2, 0 ) + COALESCE ( time3, 0 ) + COALESCE ( time4, 0 ) + COALESCE ( time5, 0 ) + COALESCE ( time6, 0 ) + COALESCE ( time7, 0 ) + COALESCE ( time8, 0 ) + COALESCE ( time9, 0 ) + COALESCE ( time10, 0 ) AS totalSum,
|
||||
max_date maxDate
|
||||
FROM
|
||||
ys_yunying_max
|
||||
WHERE
|
||||
del_flag = '0'
|
||||
ORDER BY
|
||||
line_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.ZnMetroLinesMapper">
|
||||
|
||||
<sql id="znMetroLinesColumns">
|
||||
a.id AS "id",
|
||||
a.line_id AS "lineId",
|
||||
a.name_en AS "nameEn",
|
||||
a.name_cn AS "nameCn",
|
||||
a.type AS "type",
|
||||
a.stations AS "stations",
|
||||
a.seq_id AS "seqId",
|
||||
a.create_by_id AS "createById.id",
|
||||
a.create_time AS "createTime",
|
||||
a.update_by_id AS "updateById.id",
|
||||
a.update_time AS "updateTime",
|
||||
a.remarks AS "remarks",
|
||||
a.del_flag AS "delFlag",
|
||||
a.yd_line_id AS "ydLineId",
|
||||
a.tenant_id AS "tenantId"
|
||||
</sql>
|
||||
|
||||
<sql id="znMetroLinesJoins">
|
||||
LEFT JOIN sys_user createById ON createById.id = a.create_by_id
|
||||
LEFT JOIN sys_user updateById ON updateById.id = a.update_by_id
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<select id="findById" resultType="net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO">
|
||||
SELECT
|
||||
<include refid="znMetroLinesColumns"/>
|
||||
FROM zn_metro_lines a
|
||||
<include refid="znMetroLinesJoins"/>
|
||||
WHERE (a.id = #{id} or a.line_id = #{id}) and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="findList" resultType="net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO">
|
||||
SELECT
|
||||
<include refid="znMetroLinesColumns"/>
|
||||
FROM zn_metro_lines a
|
||||
<include refid="znMetroLinesJoins"/>
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="getMultiLineName" resultType="java.util.HashMap">
|
||||
SELECT
|
||||
GROUP_CONCAT( line_id ) AS lineId,
|
||||
GROUP_CONCAT( name_cn ) AS nameCn
|
||||
FROM
|
||||
`zn_metro_lines`
|
||||
<where>
|
||||
line_id IN
|
||||
<foreach collection="lineIds" item="id" index="index" open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND del_flag = 0
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.ZnMetroStationsMapper">
|
||||
|
||||
<sql id="znMetroStationsColumns">
|
||||
a.id AS "id",
|
||||
a.seq_id AS "seqId",
|
||||
a.stat_id AS "statId",
|
||||
a.name_en AS "nameEn",
|
||||
a.name_cn AS "nameCn",
|
||||
a.pinyin AS "pinyin",
|
||||
a.line AS "line",
|
||||
a.longitude AS "longitude",
|
||||
a.latitude AS "latitude",
|
||||
a.x AS "x",
|
||||
a.y AS "y",
|
||||
a.stat_pic AS "statPic",
|
||||
a.toilet_inside AS "toiletInside",
|
||||
a.toilet_position AS "toiletPosition",
|
||||
a.toilet_position_en AS "toiletPositionEn",
|
||||
a.entrance_info AS "entranceInfo",
|
||||
a.entrance_info_en AS "entranceInfoEn",
|
||||
a.street_pic AS "streetPic",
|
||||
a.fullpinyin AS "fullpinyin",
|
||||
a.type AS "type",
|
||||
a.elevator AS "elevator",
|
||||
a.elevator_en AS "elevatorEn",
|
||||
a.entrance_inside AS "entranceInside",
|
||||
a.bdlongitude AS "bdlongitude",
|
||||
a.bdlatitude AS "bdlatitude",
|
||||
a.entrancesexits AS "entrancesexits",
|
||||
a.station_type AS "stationType",
|
||||
a.yd_stat_id AS "ydStatId",
|
||||
a.yd_stat_name AS "ydStatName",
|
||||
a.create_by_id AS "createById.id",
|
||||
a.create_time AS "createTime",
|
||||
a.update_by_id AS "updateById.id",
|
||||
a.update_time AS "updateTime",
|
||||
a.remarks AS "remarks",
|
||||
a.del_flag AS "delFlag",
|
||||
a.tenant_id AS "tenantId"
|
||||
</sql>
|
||||
|
||||
<sql id="znMetroStationsJoins">
|
||||
|
||||
LEFT JOIN sys_office createById ON createById.id = a.create_by_id
|
||||
LEFT JOIN sys_user updateById ON updateById.id = a.update_by_id
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<select id="findById" resultType="net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO">
|
||||
SELECT
|
||||
<include refid="znMetroStationsColumns"/>
|
||||
FROM zn_metro_stations a
|
||||
<include refid="znMetroStationsJoins"/>
|
||||
WHERE (a.id = #{id} or a.stat_id = #{id}) and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="findList" resultType="net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO" >
|
||||
SELECT
|
||||
<include refid="znMetroStationsColumns"/>
|
||||
FROM zn_metro_stations a
|
||||
<include refid="znMetroStationsJoins"/>
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="getStationListByStations" resultType="ZnMetroStations">
|
||||
SELECT
|
||||
stat_id AS statId,
|
||||
name_cn AS nameCn,
|
||||
line AS line,
|
||||
longitude,
|
||||
latitude
|
||||
FROM
|
||||
`zn_metro_stations`
|
||||
<where>
|
||||
stat_id IN
|
||||
<foreach collection="stations" item="id" index="index" open="(" close=")" separator=",">
|
||||
LPAD(#{id},4,0)
|
||||
</foreach>
|
||||
AND del_flag = 0
|
||||
</where>
|
||||
ORDER BY cast(seq_id as signed integer)
|
||||
</select>
|
||||
|
||||
<select id="findSameNameStationsByLine" parameterType="java.lang.String" resultType="ZnMetroStations">
|
||||
select id, stat_id statId, name_cn nameCn,line
|
||||
from zn_metro_stations
|
||||
WHERE name_cn = #{nameCn}
|
||||
</select>
|
||||
|
||||
<select id="getStationByIds" resultType="net.juntech.modules.ysdp.domain.ZnMetroStations">
|
||||
SELECT
|
||||
<include refid="znMetroStationsColumns"/>
|
||||
FROM zn_metro_stations a
|
||||
<include refid="znMetroStationsJoins"/>
|
||||
<where>
|
||||
stat_id IN
|
||||
<foreach collection="statIds" item="id" index="index" open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND a.del_flag = 0
|
||||
</where>
|
||||
ORDER BY FIELD (stat_id,
|
||||
<foreach collection="statIds" item="id" index="index" separator=",">
|
||||
LPAD(#{id},4,0)
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
|
||||
<select id="getStationListByStationsWithoutOrderBy" resultType="ZnMetroStations">
|
||||
SELECT
|
||||
stat_id AS statId,
|
||||
name_cn AS nameCn,
|
||||
line AS line,
|
||||
longitude,
|
||||
latitude
|
||||
FROM
|
||||
`zn_metro_stations`
|
||||
<where>
|
||||
stat_id IN
|
||||
<foreach collection="stations" item="id" index="index" open="(" close=")" separator=",">
|
||||
LPAD(#{id},4,0)
|
||||
</foreach>
|
||||
AND del_flag = 0
|
||||
</where>
|
||||
ORDER BY FIELD (stat_id,
|
||||
<foreach collection="stations" item="id" index="index" separator=",">
|
||||
LPAD(#{id},4,0)
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
|
||||
<select id="findSameNameStations" parameterType="java.lang.String" resultType="ZnMetroStations">
|
||||
select stat_id statId, name_cn nameCn
|
||||
from zn_metro_stations
|
||||
WHERE name_cn = (select name_cn from zn_metro_stations WHERE stat_id = #{stationid})
|
||||
AND stat_id != #{stationid}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.ZnStationBarrierfreeMapper">
|
||||
|
||||
<sql id="znStationBarrierfreeColumns">
|
||||
a.id AS "id",
|
||||
a.stat_id AS "stat.id",
|
||||
a.seq_id AS "seqId",
|
||||
a.barrierfree_type AS "barrierfreeType",
|
||||
a.position AS "position",
|
||||
a.remarks AS "remarks",
|
||||
a.line_id AS "lineId",
|
||||
a.status AS "status",
|
||||
a.description AS "description",
|
||||
a.plan_open_date AS "planOpenDate",
|
||||
a.plan_close_date AS "planCloseDate",
|
||||
a.create_by_id AS "createById.id",
|
||||
a.create_time AS "createTime",
|
||||
a.update_by_id AS "updateById.id",
|
||||
a.update_time AS "updateTime",
|
||||
a.del_flag AS "delFlag",
|
||||
a.tenant_id AS "tenantId"
|
||||
</sql>
|
||||
|
||||
<sql id="znStationBarrierfreeJoins">
|
||||
|
||||
LEFT JOIN zn_metro_stations b ON b.id = a.stat_id
|
||||
LEFT JOIN sys_user createById ON createById.id = a.create_by_id
|
||||
LEFT JOIN sys_user updateById ON updateById.id = a.update_by_id
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="findById" resultType="net.juntech.modules.ysdp.service.dto.ZnStationBarrierfreeDTO">
|
||||
SELECT
|
||||
<include refid="znStationBarrierfreeColumns"/>
|
||||
FROM zn_station_barrierfree a
|
||||
<include refid="znStationBarrierfreeJoins"/>
|
||||
WHERE a.id = #{id} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="findList" resultType="net.juntech.modules.ysdp.service.dto.ZnStationBarrierfreeDTO">
|
||||
SELECT
|
||||
<include refid="znStationBarrierfreeColumns"/>
|
||||
FROM zn_station_barrierfree a
|
||||
<include refid="znStationBarrierfreeJoins"/>
|
||||
WHERE a.stat_id = #{ZnMetroStationsId} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.ZnStationEntranceMapper">
|
||||
|
||||
<sql id="znStationEntranceColumns">
|
||||
a.id AS "id",
|
||||
a.export AS "export",
|
||||
a.position AS "position",
|
||||
a.stat_id AS "stat.id",
|
||||
a.line_id AS "lineId",
|
||||
a.status AS "status",
|
||||
a.description AS "description",
|
||||
a.plan_open_date AS "planOpenDate",
|
||||
a.plan_close_date AS "planCloseDate",
|
||||
a.seq_id AS "seqId",
|
||||
a.hide_for_app AS "hideForApp",
|
||||
a.create_by_id AS "createById.id",
|
||||
a.create_time AS "createTime",
|
||||
a.update_by_id AS "updateById.id",
|
||||
a.update_time AS "updateTime",
|
||||
a.del_flag AS "delFlag",
|
||||
a.tenant_id AS "tenantId"
|
||||
</sql>
|
||||
|
||||
<sql id="znStationEntranceJoins">
|
||||
|
||||
LEFT JOIN zn_metro_stations b ON b.id = a.stat_id
|
||||
LEFT JOIN sys_user createById ON createById.id = a.create_by_id
|
||||
LEFT JOIN sys_user updateById ON updateById.id = a.update_by_id
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="findById" resultType="net.juntech.modules.ysdp.service.dto.ZnStationEntranceDTO">
|
||||
SELECT
|
||||
<include refid="znStationEntranceColumns"/>
|
||||
FROM zn_station_entrance a
|
||||
<include refid="znStationEntranceJoins"/>
|
||||
WHERE a.id = #{id} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="findList" resultType="net.juntech.modules.ysdp.service.dto.ZnStationEntranceDTO">
|
||||
SELECT
|
||||
<include refid="znStationEntranceColumns"/>
|
||||
FROM zn_station_entrance a
|
||||
<include refid="znStationEntranceJoins"/>
|
||||
WHERE a.stat_id = #{ZnMetroStationsId} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<!--物理删除-->
|
||||
<update id="delAll">
|
||||
DELETE FROM zn_station_entrance
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.juntech.modules.ysdp.mapper.ZnStationToiletMapper">
|
||||
|
||||
<sql id="znStationToiletColumns">
|
||||
a.id AS "id",
|
||||
a.stat_id AS "stat.id",
|
||||
a.toilet_icon AS "toiletIcon",
|
||||
a.barrier_free_icon AS "barrierFreeIcon",
|
||||
a.toilet_position AS "toiletPosition",
|
||||
a.line_id AS "lineId",
|
||||
a.status AS "status",
|
||||
a.description AS "description",
|
||||
a.plan_open_date AS "planOpenDate",
|
||||
a.plan_close_date AS "planCloseDate",
|
||||
a.toilet_discription AS "toiletDiscription",
|
||||
a.create_by_id AS "createById.id",
|
||||
a.create_time AS "createTime",
|
||||
a.update_by_id AS "updateById.id",
|
||||
a.update_time AS "updateTime",
|
||||
a.remarks AS "remarks",
|
||||
a.del_flag AS "delFlag",
|
||||
a.tenant_id AS "tenantId"
|
||||
</sql>
|
||||
|
||||
<sql id="znStationToiletJoins">
|
||||
|
||||
LEFT JOIN zn_metro_stations b ON b.id = a.stat_id
|
||||
LEFT JOIN sys_user createById ON createById.id = a.create_by_id
|
||||
LEFT JOIN sys_user updateById ON updateById.id = a.update_by_id
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="findById" resultType="net.juntech.modules.ysdp.service.dto.ZnStationToiletDTO">
|
||||
SELECT
|
||||
<include refid="znStationToiletColumns"/>
|
||||
FROM zn_station_toilet a
|
||||
<include refid="znStationToiletJoins"/>
|
||||
WHERE a.id = #{id} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="findList" resultType="net.juntech.modules.ysdp.service.dto.ZnStationToiletDTO">
|
||||
SELECT
|
||||
<include refid="znStationToiletColumns"/>
|
||||
FROM zn_station_toilet a
|
||||
<include refid="znStationToiletJoins"/>
|
||||
WHERE a.stat_id = #{ZnMetroStationsId} and a.del_flag = 0
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import net.juntech.modules.ysdp.service.dto.YsCommonMonitorDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.YsCommonMonitor;
|
||||
import net.juntech.modules.ysdp.mapper.YsCommonMonitorMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 常用视屏监控Service
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class YsCommonMonitorService extends ServiceImpl<YsCommonMonitorMapper, YsCommonMonitor> {
|
||||
|
||||
|
||||
@Autowired
|
||||
YsCommonMonitorMapper ysCommonMonitorMapper;
|
||||
/**
|
||||
* 获取常用视屏监控列表
|
||||
* @return 常用视屏监控列表
|
||||
*/
|
||||
public List<YsCommonMonitorDTO> getCommonMonitorList() {
|
||||
return ysCommonMonitorMapper.getCommonMonitorList();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.service.dto.YsDutyInfoDetailDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsDutyInfoDetail;
|
||||
import net.juntech.modules.ysdp.mapper.YsDutyInfoDetailMapper;
|
||||
|
||||
/**
|
||||
* 值班信息详情Service
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class YsDutyInfoDetailService extends ServiceImpl<YsDutyInfoDetailMapper, YsDutyInfoDetail> {
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public YsDutyInfoDetailDTO findById(String id) {
|
||||
return baseMapper.findById ( id );
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
* @param dutyidId
|
||||
* @return
|
||||
*/
|
||||
public List <YsDutyInfoDetailDTO> findList(String dutyidId) {
|
||||
return baseMapper.findList (dutyidId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import com.jeeplus.sys.constant.CommonConstants;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.service.dto.YsDutyInfoDTO;
|
||||
import net.juntech.modules.ysdp.service.dto.YsDutyInfoDetailDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsDutyInfoWrapper;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.YsDutyInfoDetailWrapper;
|
||||
import net.juntech.modules.ysdp.domain.YsDutyInfo;
|
||||
import net.juntech.modules.ysdp.domain.YsDutyInfoDetail;
|
||||
import net.juntech.modules.ysdp.mapper.YsDutyInfoMapper;
|
||||
|
||||
/**
|
||||
* 值班信息Service
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class YsDutyInfoService extends ServiceImpl<YsDutyInfoMapper, YsDutyInfo> {
|
||||
/**
|
||||
* 子表service
|
||||
*/
|
||||
@Autowired
|
||||
private YsDutyInfoDetailService ysDutyInfoDetailService;
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public YsDutyInfoDTO findById(String id) {
|
||||
YsDutyInfoDTO ysDutyInfoDTO = baseMapper.findById ( id );
|
||||
ysDutyInfoDTO.setYsDutyInfoDetailDTOList(ysDutyInfoDetailService.findList(id));
|
||||
return ysDutyInfoDTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义分页检索
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
public IPage <YsDutyInfoDTO> findPage(Page <YsDutyInfoDTO> page, QueryWrapper queryWrapper) {
|
||||
queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
|
||||
return baseMapper.findList (page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存或者更新
|
||||
* @param ysDutyInfoDTO
|
||||
* @return
|
||||
*/
|
||||
public void saveOrUpdate(YsDutyInfoDTO ysDutyInfoDTO) {
|
||||
YsDutyInfo ysDutyInfo = YsDutyInfoWrapper.INSTANCE.toEntity ( ysDutyInfoDTO );
|
||||
super.saveOrUpdate (ysDutyInfo);
|
||||
for (YsDutyInfoDetailDTO ysDutyInfoDetailDTO : ysDutyInfoDTO.getYsDutyInfoDetailDTOList ()){
|
||||
if ( CommonConstants.DELETED.equals ( ysDutyInfoDetailDTO.getDelFlag()) ){
|
||||
ysDutyInfoDetailService.removeById ( ysDutyInfoDetailDTO.getId () );
|
||||
}else{
|
||||
YsDutyInfoDetail ysDutyInfoDetail = YsDutyInfoDetailWrapper.INSTANCE.toEntity ( ysDutyInfoDetailDTO );
|
||||
ysDutyInfoDetail.setDutyidId ( ysDutyInfo.getId () );
|
||||
ysDutyInfoDetailService.saveOrUpdate ( ysDutyInfoDetail );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public void removeById(String id) {
|
||||
super.removeById ( id );
|
||||
ysDutyInfoDetailService.lambdaUpdate ().eq ( YsDutyInfoDetail::getDutyidId, id ).remove ();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.YsIndicator;
|
||||
import net.juntech.modules.ysdp.mapper.YsIndicatorMapper;
|
||||
|
||||
/**
|
||||
* 年度指标Service
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class YsIndicatorService extends ServiceImpl<YsIndicatorMapper, YsIndicator> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.YsOperateManager;
|
||||
import net.juntech.modules.ysdp.mapper.YsOperateManagerMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 运营信息Service
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class YsOperateManagerService extends ServiceImpl<YsOperateManagerMapper, YsOperateManager> {
|
||||
|
||||
@Autowired
|
||||
private YsOperateManagerMapper ysOperateManagerMapper;
|
||||
|
||||
|
||||
public List<ZnMetroLinesDTO> getStationCameraLines() {
|
||||
return ysOperateManagerMapper.getStationCameraLines();
|
||||
}
|
||||
|
||||
public List<ZnMetroStationsDTO> getStationCameras(String id) {
|
||||
return ysOperateManagerMapper.getStationCameras(id);
|
||||
}
|
||||
|
||||
public List<ZnMetroStationsDTO> getStationMonitor(String id) {
|
||||
return ysOperateManagerMapper.getStationMonitor(id);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.YsStationCamera;
|
||||
import net.juntech.modules.ysdp.mapper.YsStationCameraMapper;
|
||||
|
||||
/**
|
||||
* 站点监控管理Service
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class YsStationCameraService extends ServiceImpl<YsStationCameraMapper, YsStationCamera> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.YsTaskNotice;
|
||||
import net.juntech.modules.ysdp.mapper.YsTaskNoticeMapper;
|
||||
|
||||
/**
|
||||
* 走码字Service
|
||||
* @author wq
|
||||
* @version 2026-04-21
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class YsTaskNoticeService extends ServiceImpl<YsTaskNoticeMapper, YsTaskNotice> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import net.juntech.modules.ysdp.mapper.YsYunyingMapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingMaxDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.YsYunyingMax;
|
||||
import net.juntech.modules.ysdp.mapper.YsYunyingMaxMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 线路最大客流Service
|
||||
* @author wq
|
||||
* @version 2026-04-07
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class YsYunyingMaxService extends ServiceImpl<YsYunyingMaxMapper, YsYunyingMax> {
|
||||
|
||||
|
||||
@Autowired
|
||||
YsYunyingMaxMapper ysYunyingMaxMapper;
|
||||
|
||||
// 获取历史最大客流信息 当前库
|
||||
public List<YsYunyingMaxDTO> getHistoryMaxYy() {
|
||||
return ysYunyingMaxMapper.getHistoryMaxYy();
|
||||
}
|
||||
|
||||
public List<YsYunyingMax> getYunyinglist() {
|
||||
return ysYunyingMaxMapper.getYunyinglist();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import net.juntech.modules.ysdp.domain.YsYunyingMax;
|
||||
import net.juntech.modules.ysdp.service.dto.YsInterfaceDTO;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingMaxDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsYunying;
|
||||
import net.juntech.modules.ysdp.mapper.YsYunyingMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 客流信息Service
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
@DS("ysdp")
|
||||
public class YsYunyingService extends ServiceImpl<YsYunyingMapper, YsYunying> {
|
||||
|
||||
@Autowired
|
||||
YsYunyingMapper ysYunyingMapper;
|
||||
/**
|
||||
* 根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public YsYunyingDTO findById(String id) {
|
||||
return baseMapper.findById ( id );
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义分页检索
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
public IPage <YsYunyingDTO> findPage(Page <YsYunyingDTO> page, QueryWrapper queryWrapper) {
|
||||
queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
|
||||
return baseMapper.findList (page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有客流数据
|
||||
* @return
|
||||
*/
|
||||
public List<YsYunyingMaxDTO> getYunyingList(String date) {
|
||||
return ysYunyingMapper.getYunyingList(date);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
public List<YsYunyingDTO> getStationMaxList(String date) {
|
||||
return ysYunyingMapper.getStationMaxList(date);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取进出站客流排名TOP10(单线路站点)
|
||||
*/
|
||||
public List<YsYunyingDTO> getInOutStationMaxList(String date) {
|
||||
return ysYunyingMapper.getInOutStationMaxList(date);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取换乘站客流排名TOP10(多线路站点)
|
||||
*/
|
||||
public List<YsYunyingDTO> getTransferStationMaxList(String date) {
|
||||
return ysYunyingMapper.getTransferStationMaxList(date);
|
||||
}
|
||||
|
||||
public String getStationCompareValue(String compareDay, String stationId) {
|
||||
return ysYunyingMapper.getStationCompareValue(compareDay,stationId);
|
||||
}
|
||||
|
||||
public YsInterfaceDTO getInterface(String type) {
|
||||
return ysYunyingMapper.getInterface(type);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.ZnMetroLines;
|
||||
import net.juntech.modules.ysdp.mapper.ZnMetroLinesMapper;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 线路管理Service
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-08
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class ZnMetroLinesService extends ServiceImpl<ZnMetroLinesMapper, ZnMetroLines> {
|
||||
|
||||
@Autowired
|
||||
private ZnMetroLinesMapper znMetroLinesMapper;
|
||||
/**
|
||||
* 根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public ZnMetroLinesDTO findById(String id) {
|
||||
return baseMapper.findById ( id );
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义分页检索
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
public IPage <ZnMetroLinesDTO> findPage(Page <ZnMetroLinesDTO> page, QueryWrapper queryWrapper) {
|
||||
queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
|
||||
return baseMapper.findList (page, queryWrapper);
|
||||
}
|
||||
|
||||
/***
|
||||
* 根据多线路ID获取对应的线路名称逗号分割
|
||||
* @param line 线路对象
|
||||
* @return 对应的线路名称逗号分割
|
||||
*/
|
||||
public String setMultiLineName(String line) {
|
||||
String lines = "";
|
||||
if (line != null && StringUtils.isNotEmpty(line)) {
|
||||
List<HashMap<String, String>> lineList = znMetroLinesMapper.getMultiLineName(line.split(","));
|
||||
if (lineList.size() > 0) {
|
||||
lines = lineList.get(0).get("nameCn");
|
||||
}
|
||||
}
|
||||
return lines;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,191 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jeeplus.sys.constant.CommonConstants;
|
||||
import net.juntech.modules.ysdp.domain.*;
|
||||
import net.juntech.modules.ysdp.mapper.ZnMetroStationsMapper;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationBarrierfreeDTO;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationEntranceDTO;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationToiletDTO;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.ZnMetroStationsWrapper;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.ZnStationBarrierfreeWrapper;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.ZnStationEntranceWrapper;
|
||||
import net.juntech.modules.ysdp.service.mapstruct.ZnStationToiletWrapper;
|
||||
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.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 站点管理Service
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class ZnMetroStationsService extends ServiceImpl<ZnMetroStationsMapper, ZnMetroStations> {
|
||||
/**
|
||||
* 子表service
|
||||
*/
|
||||
@Autowired
|
||||
private ZnStationBarrierfreeService znStationBarrierfreeService;
|
||||
/**
|
||||
* 子表service
|
||||
*/
|
||||
@Autowired
|
||||
private ZnStationEntranceService znStationEntranceService;
|
||||
/**
|
||||
* 子表service
|
||||
*/
|
||||
@Autowired
|
||||
private ZnStationToiletService znStationToiletService;
|
||||
|
||||
@Autowired
|
||||
private ZnMetroStationsMapper znMetroStationsMapper;
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public ZnMetroStationsDTO findById(String id) {
|
||||
ZnMetroStationsDTO znMetroStationsDTO = baseMapper.findById ( id );
|
||||
znMetroStationsDTO.setZnStationBarrierfreeDTOList(znStationBarrierfreeService.findList(id));
|
||||
znMetroStationsDTO.setZnStationEntranceDTOList(znStationEntranceService.findList(id));
|
||||
znMetroStationsDTO.setZnStationToiletDTOList(znStationToiletService.findList(id));
|
||||
return znMetroStationsDTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义分页检索
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
public IPage <ZnMetroStationsDTO> findPage(Page <ZnMetroStationsDTO> page, QueryWrapper queryWrapper) {
|
||||
queryWrapper.eq ("a.del_flag", 0 ); // 排除已经删除
|
||||
return baseMapper.findList (page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存或者更新
|
||||
* @param znMetroStationsDTO
|
||||
* @return
|
||||
*/
|
||||
public void saveOrUpdate(ZnMetroStationsDTO znMetroStationsDTO) {
|
||||
ZnMetroStations znMetroStations = ZnMetroStationsWrapper.INSTANCE.toEntity ( znMetroStationsDTO );
|
||||
super.saveOrUpdate (znMetroStations);
|
||||
for (ZnStationBarrierfreeDTO znStationBarrierfreeDTO : znMetroStationsDTO.getZnStationBarrierfreeDTOList ()){
|
||||
if ( CommonConstants.DELETED.equals ( znStationBarrierfreeDTO.getDelFlag()) ){
|
||||
znStationBarrierfreeService.removeById ( znStationBarrierfreeDTO.getId () );
|
||||
}else{
|
||||
ZnStationBarrierfree znStationBarrierfree = ZnStationBarrierfreeWrapper.INSTANCE.toEntity ( znStationBarrierfreeDTO );
|
||||
znStationBarrierfree.setStatId ( znMetroStations.getId () );
|
||||
znStationBarrierfreeService.saveOrUpdate ( znStationBarrierfree );
|
||||
}
|
||||
}
|
||||
for (ZnStationEntranceDTO znStationEntranceDTO : znMetroStationsDTO.getZnStationEntranceDTOList ()){
|
||||
if ( CommonConstants.DELETED.equals ( znStationEntranceDTO.getDelFlag()) ){
|
||||
znStationEntranceService.removeById ( znStationEntranceDTO.getId () );
|
||||
}else{
|
||||
ZnStationEntrance znStationEntrance = ZnStationEntranceWrapper.INSTANCE.toEntity ( znStationEntranceDTO );
|
||||
znStationEntrance.setStatId ( znMetroStations.getId () );
|
||||
znStationEntranceService.saveOrUpdate ( znStationEntrance );
|
||||
}
|
||||
}
|
||||
for (ZnStationToiletDTO znStationToiletDTO : znMetroStationsDTO.getZnStationToiletDTOList ()){
|
||||
if ( CommonConstants.DELETED.equals ( znStationToiletDTO.getDelFlag()) ){
|
||||
znStationToiletService.removeById ( znStationToiletDTO.getId () );
|
||||
}else{
|
||||
ZnStationToilet znStationToilet = ZnStationToiletWrapper.INSTANCE.toEntity ( znStationToiletDTO );
|
||||
znStationToilet.setStatId ( znMetroStations.getId () );
|
||||
znStationToiletService.saveOrUpdate ( znStationToilet );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public void removeById(String id) {
|
||||
super.removeById ( id );
|
||||
znStationBarrierfreeService.lambdaUpdate ().eq ( ZnStationBarrierfree::getStatId, id ).remove ();
|
||||
znStationEntranceService.lambdaUpdate ().eq ( ZnStationEntrance::getStatId, id ).remove ();
|
||||
znStationToiletService.lambdaUpdate ().eq ( ZnStationToilet::getStatId, id ).remove ();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据statsion获取线路站点信息(附带TOS数据)
|
||||
*
|
||||
* @param stations
|
||||
* @return
|
||||
*/
|
||||
public List<ZnMetroStations> getStationListByStations(String[] stations) {
|
||||
List<ZnMetroStations> resultList = this.baseMapper.getStationListByStations(stations);
|
||||
int i = 0;
|
||||
for (ZnMetroStations station : resultList) {
|
||||
resultList.set(i, station);
|
||||
i++;
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取特定站点名称下的换乘站
|
||||
*
|
||||
* @param nameCn
|
||||
* @param line
|
||||
* @return
|
||||
*/
|
||||
public List<String> findSameNameStationsByLine(String nameCn, String line) {
|
||||
List<ZnMetroStations> sameNameStationList = znMetroStationsMapper.findSameNameStationsByLine(nameCn);
|
||||
List<String> lineIdArray = Arrays.asList(line.split(","));
|
||||
List<String> resultList = new ArrayList<>();
|
||||
for (ZnMetroStations znMetroStations : sameNameStationList) {
|
||||
if (new HashSet<>(lineIdArray).containsAll(Arrays.asList(znMetroStations.getLine().split(",")))) {
|
||||
resultList.add(znMetroStations.getId());
|
||||
}
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据线路对象获取对应站点对象集合
|
||||
*
|
||||
* @param metroLines 线路对象
|
||||
* @return 站点对象集合
|
||||
*/
|
||||
public List<ZnMetroStations> getStationByIds(ZnMetroLines metroLines) {
|
||||
return baseMapper.getStationByIds(metroLines.getStations().split(","));
|
||||
}
|
||||
|
||||
public List<ZnMetroStations> findSameNameStations(String stationId) {
|
||||
return znMetroStationsMapper.findSameNameStations(stationId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据stations获取线路站点信息(不按线路ID排序,用于路径规划)
|
||||
*
|
||||
* @param stations
|
||||
* @return
|
||||
*/
|
||||
public List<ZnMetroStations> getStationListByStationsWithoutOrderBy(String[] stations) {
|
||||
return this.baseMapper.getStationListByStationsWithoutOrderBy(stations);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.ZnStationBarrierfree;
|
||||
import net.juntech.modules.ysdp.mapper.ZnStationBarrierfreeMapper;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationBarrierfreeDTO;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 站点无障碍设施Service
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class ZnStationBarrierfreeService extends ServiceImpl<ZnStationBarrierfreeMapper, ZnStationBarrierfree> {
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public ZnStationBarrierfreeDTO findById(String id) {
|
||||
return baseMapper.findById ( id );
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
* @param statId
|
||||
* @return
|
||||
*/
|
||||
public List <ZnStationBarrierfreeDTO> findList(String statId) {
|
||||
return baseMapper.findList (statId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.ZnStationEntrance;
|
||||
import net.juntech.modules.ysdp.mapper.ZnStationEntranceMapper;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationEntranceDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 出入口Service
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class ZnStationEntranceService extends ServiceImpl<ZnStationEntranceMapper, ZnStationEntrance> {
|
||||
|
||||
|
||||
@Autowired
|
||||
ZnStationEntranceMapper znStationEntranceMapper;
|
||||
/**
|
||||
* 根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public ZnStationEntranceDTO findById(String id) {
|
||||
return baseMapper.findById ( id );
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
* @param statId
|
||||
* @return
|
||||
*/
|
||||
public List <ZnStationEntranceDTO> findList(String statId) {
|
||||
return baseMapper.findList (statId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除子表数据
|
||||
*/
|
||||
public void delAll() {
|
||||
znStationEntranceMapper.delAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* 将在出入口同步表中不存在的站点对应的出入口设置为隐藏且逻辑删除
|
||||
*
|
||||
* @return 影响条数
|
||||
*/
|
||||
public int setHideForAppBySyncStations() {
|
||||
return this.baseMapper.setHideForAppBySyncStations();
|
||||
}
|
||||
|
||||
public List<ZnStationEntrance> findAllListByStatId(String statId) {
|
||||
return this.baseMapper.findAllListByStatId(statId);
|
||||
}
|
||||
|
||||
public List<ZnStationEntrance> findAllListByStatId2(String statId) {
|
||||
return this.baseMapper.findAllListByStatId2(statId);
|
||||
}
|
||||
|
||||
public int updateForAll(ZnStationEntrance stationEntrance){
|
||||
return this.baseMapper.updateForAll(stationEntrance);
|
||||
}
|
||||
|
||||
public int updateForAllByExport(ZnStationEntrance stationEntrance){
|
||||
return this.baseMapper.updateForAllByExport(stationEntrance);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.juntech.modules.ysdp.domain.ZnStationToilet;
|
||||
import net.juntech.modules.ysdp.mapper.ZnStationToiletMapper;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationToiletDTO;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 站点卫生间Service
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Service
|
||||
@Transactional
|
||||
public class ZnStationToiletService extends ServiceImpl<ZnStationToiletMapper, ZnStationToilet> {
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public ZnStationToiletDTO findById(String id) {
|
||||
return baseMapper.findById ( id );
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
* @param statId
|
||||
* @return
|
||||
*/
|
||||
public List <ZnStationToiletDTO> findList(String statId) {
|
||||
return baseMapper.findList (statId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import com.jeeplus.core.query.Query;
|
||||
import com.jeeplus.core.query.QueryType;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 常用视屏监控DTO
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsCommonMonitorDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 主表id
|
||||
*/
|
||||
@ExcelProperty("主表id")
|
||||
private String operateid;
|
||||
|
||||
/**
|
||||
* 线路
|
||||
*/
|
||||
@NotEmpty(message="线路不能为空")
|
||||
@Query(type = QueryType.EQ)
|
||||
@ExcelProperty("线路")
|
||||
private String line;
|
||||
|
||||
/**
|
||||
* 站点
|
||||
*/
|
||||
@NotEmpty(message="站点不能为空")
|
||||
@Query(type = QueryType.EQ)
|
||||
@ExcelProperty("站点")
|
||||
private String station;
|
||||
|
||||
/**
|
||||
* 监控位置
|
||||
*/
|
||||
@NotEmpty(message="监控位置不能为空")
|
||||
@ExcelProperty("监控位置")
|
||||
private String monitor;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
@NotEmpty(message="序号不能为空")
|
||||
@ExcelProperty("序号")
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty("创建者")
|
||||
private String createById;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@ExcelProperty("更新者")
|
||||
private String updateById;
|
||||
|
||||
private String url;
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jeeplus.sys.service.dto.UserDTO;
|
||||
import java.util.List;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.core.query.Query;
|
||||
import com.jeeplus.core.query.QueryType;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.jeeplus.core.excel.converter.ExcelUserDTOConverter;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 值班信息Entity
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsDutyInfoDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 值班日期
|
||||
*/
|
||||
@Query(tableColumn = "a.dutyDate", javaField = "dutydate", type = QueryType.BETWEEN)
|
||||
@ExcelProperty("值班日期")
|
||||
private String dutydate;
|
||||
|
||||
/**
|
||||
*子表列表
|
||||
*/
|
||||
private List<YsDutyInfoDetailDTO> ysDutyInfoDetailDTOList = Lists.newArrayList();
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import com.jeeplus.sys.service.dto.UserDTO;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 值班信息详情Entity
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsDutyInfoDetailDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 值班信息主表id
|
||||
*/
|
||||
@NotEmpty(message="值班信息主表id不能为空")
|
||||
private YsDutyInfoDTO dutyid;
|
||||
|
||||
/**
|
||||
* 部门
|
||||
*/
|
||||
private String dept;
|
||||
|
||||
/**
|
||||
* 值班人员
|
||||
*/
|
||||
@NotEmpty(message="值班人员不能为空")
|
||||
private String dutuser;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
@NotEmpty(message="性别不能为空")
|
||||
private String sex;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@NotEmpty(message="手机号不能为空")
|
||||
private String phone;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jeeplus.core.query.Query;
|
||||
import com.jeeplus.core.query.QueryType;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 年度指标DTO
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsIndicatorDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 年度
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Query(type = QueryType.EQ)
|
||||
@ExcelProperty("年度")
|
||||
private String nd;
|
||||
|
||||
/**
|
||||
* 指标项
|
||||
*/
|
||||
@ExcelProperty("指标项")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 基准值
|
||||
*/
|
||||
@ExcelProperty("基准值")
|
||||
private String baseline;
|
||||
|
||||
/**
|
||||
* 调整值
|
||||
*/
|
||||
@ExcelProperty("挑战值")
|
||||
private String challenge;
|
||||
|
||||
/**
|
||||
* 实际值
|
||||
*/
|
||||
@ExcelProperty("实际值")
|
||||
private String actual;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@ExcelProperty("排序")
|
||||
private String sort;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import com.jeeplus.core.query.Query;
|
||||
import com.jeeplus.core.query.QueryType;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 第三方接口记录DTO
|
||||
* @author wang
|
||||
* @version 2023-03-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsInterfaceDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 方法名
|
||||
*/
|
||||
@Query(type = QueryType.EQ)
|
||||
private String name;
|
||||
/**
|
||||
* 接口地址
|
||||
*/
|
||||
private String address;
|
||||
/**
|
||||
* 参数
|
||||
*/
|
||||
private String param;
|
||||
/**
|
||||
* 结果
|
||||
*/
|
||||
private String data;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@Query(type = QueryType.EQ)
|
||||
private String status;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 运营信息DTO
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsOperateManagerDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 保驾等级
|
||||
*/
|
||||
@ExcelProperty("保驾等级")
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
@ExcelProperty("开始日期")
|
||||
private String begindate;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty("创建者")
|
||||
private String createById;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@ExcelProperty("更新者")
|
||||
private String updateById;
|
||||
|
||||
/**
|
||||
* 客流对比日期
|
||||
*/
|
||||
@ExcelProperty("客流对比日期")
|
||||
private String compareDate;
|
||||
}
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jeeplus.core.query.Query;
|
||||
import com.jeeplus.core.query.QueryType;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 站点监控管理DTO
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsStationCameraDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
@NotEmpty(message="序号不能为空")
|
||||
@ExcelProperty("序号")
|
||||
private String num;
|
||||
|
||||
/**
|
||||
* 设备ID
|
||||
*/
|
||||
@NotEmpty(message="设备ID不能为空")
|
||||
@Query(type = QueryType.EQ)
|
||||
@ExcelProperty("设备ID")
|
||||
private String deviceId;
|
||||
|
||||
/**
|
||||
* 所属站点
|
||||
*/
|
||||
@NotEmpty(message="所属站点不能为空")
|
||||
@Query(type = QueryType.EQ)
|
||||
@ExcelProperty("所属站点")
|
||||
private String station;
|
||||
|
||||
/**
|
||||
* 监控信息
|
||||
*/
|
||||
@NotEmpty(message="监控信息不能为空")
|
||||
@Query(type = QueryType.EQ)
|
||||
@ExcelProperty("监控信息")
|
||||
private String discription;
|
||||
|
||||
/**
|
||||
* 视频地址
|
||||
*/
|
||||
@NotEmpty(message="视频地址不能为空")
|
||||
@ExcelProperty("视频地址")
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 监控位置
|
||||
*/
|
||||
@NotEmpty(message="监控位置不能为空")
|
||||
@ExcelProperty("监控位置")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 是否常用
|
||||
*/
|
||||
@NotEmpty(message="是否常用不能为空")
|
||||
@ExcelProperty("是否常用")
|
||||
private String favorites;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
@NotEmpty(message="是否启用不能为空")
|
||||
@Query(type = QueryType.EQ)
|
||||
@ExcelProperty("是否启用")
|
||||
private String enable;
|
||||
|
||||
/**
|
||||
* 预览图片
|
||||
*/
|
||||
@ExcelProperty("预览图片")
|
||||
private String preview;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@ExcelProperty("排序")
|
||||
private Long sort;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createDate;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ExcelProperty("更新时间")
|
||||
private Date updateDate;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import com.jeeplus.core.query.Query;
|
||||
import com.jeeplus.core.query.QueryType;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 走码字DTO
|
||||
* @author wq
|
||||
* @version 2026-04-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsTaskNoticeDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
@NotEmpty(message="序号不能为空")
|
||||
@ExcelProperty("序号")
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 公告标题
|
||||
*/
|
||||
@NotEmpty(message="公告标题不能为空")
|
||||
@Query(type = QueryType.LIKE)
|
||||
@ExcelProperty("公告标题")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 公告内容
|
||||
*/
|
||||
@NotEmpty(message="公告内容不能为空")
|
||||
@ExcelProperty("公告内容")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty("状态")
|
||||
private boolean status;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty("创建者")
|
||||
private String createById;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@ExcelProperty("更新者")
|
||||
private String updateById;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jeeplus.sys.service.dto.UserDTO;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.jeeplus.core.excel.converter.ExcelUserDTOConverter;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 客流信息DTO
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsYunyingDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 线路编码
|
||||
*/
|
||||
@ExcelProperty("线路编码")
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 线路车站
|
||||
*/
|
||||
@ExcelProperty("线路车站")
|
||||
private String stationId;
|
||||
|
||||
/**
|
||||
* 数据开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ExcelProperty("数据开始时间")
|
||||
private Date begTime;
|
||||
|
||||
/**
|
||||
* 数据结束时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ExcelProperty("数据结束时间")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 进站客流数
|
||||
*/
|
||||
@ExcelProperty("进站客流数")
|
||||
private String pullNum;
|
||||
|
||||
/**
|
||||
* 出站客流数
|
||||
*/
|
||||
@ExcelProperty("出站客流数")
|
||||
private String departureNum;
|
||||
|
||||
/**
|
||||
* 文件名
|
||||
*/
|
||||
@ExcelProperty("文件名")
|
||||
private String fileName;
|
||||
|
||||
private String stationName;
|
||||
|
||||
private String total;
|
||||
|
||||
private String sortNo;
|
||||
|
||||
private String compareTotal;
|
||||
}
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import com.jeeplus.core.query.Query;
|
||||
import com.jeeplus.core.query.QueryType;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 线路最大客流DTO
|
||||
* @author wq
|
||||
* @version 2026-04-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class YsYunyingMaxDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 线路编码
|
||||
*/
|
||||
@Query(type = QueryType.EQ)
|
||||
@ExcelProperty("线路编码")
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 数据开始时间结束时间
|
||||
*/
|
||||
@ExcelProperty("数据开始时间结束时间")
|
||||
private String time1;
|
||||
|
||||
/**
|
||||
* time2
|
||||
*/
|
||||
@ExcelProperty("time2")
|
||||
private String time2;
|
||||
|
||||
/**
|
||||
* time3
|
||||
*/
|
||||
@ExcelProperty("time3")
|
||||
private String time3;
|
||||
|
||||
/**
|
||||
* time4
|
||||
*/
|
||||
@ExcelProperty("time4")
|
||||
private String time4;
|
||||
|
||||
/**
|
||||
* time5
|
||||
*/
|
||||
@ExcelProperty("time5")
|
||||
private String time5;
|
||||
|
||||
/**
|
||||
* time6
|
||||
*/
|
||||
@ExcelProperty("time6")
|
||||
private String time6;
|
||||
|
||||
/**
|
||||
* time7
|
||||
*/
|
||||
@ExcelProperty("time7")
|
||||
private String time7;
|
||||
|
||||
/**
|
||||
* time8
|
||||
*/
|
||||
@ExcelProperty("time8")
|
||||
private String time8;
|
||||
|
||||
/**
|
||||
* time9
|
||||
*/
|
||||
@ExcelProperty("time9")
|
||||
private String time9;
|
||||
|
||||
/**
|
||||
* time10
|
||||
*/
|
||||
@ExcelProperty("time10")
|
||||
private String time10;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty("创建者")
|
||||
private String createById;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@ExcelProperty("更新者")
|
||||
private String updateById;
|
||||
|
||||
private String maxDate;
|
||||
|
||||
private String totalSum;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.jeeplus.core.excel.annotation.ExcelDictProperty;
|
||||
import com.jeeplus.core.excel.converter.ExcelDictDTOConverter;
|
||||
import com.jeeplus.core.excel.converter.ExcelUserDTOConverter;
|
||||
import com.jeeplus.core.query.Query;
|
||||
import com.jeeplus.core.query.QueryType;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import com.jeeplus.sys.service.dto.UserDTO;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 线路管理DTO
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-08
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class ZnMetroLinesDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 线路ID
|
||||
*/
|
||||
@NotEmpty(message="线路ID不能为空")
|
||||
@Query(tableColumn = "line_id", javaField = "lineId", type = QueryType.EQ)
|
||||
@ExcelProperty("线路ID")
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 线路名英文
|
||||
*/
|
||||
@NotEmpty(message="线路名英文不能为空")
|
||||
@Query(tableColumn = "a.name_en", javaField = "nameEn", type = QueryType.LIKE)
|
||||
@ExcelProperty("线路名英文")
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 线路名中文
|
||||
*/
|
||||
@NotEmpty(message="线路名中文不能为空")
|
||||
@Query(tableColumn = "a.name_cn", javaField = "nameCn", type = QueryType.LIKE)
|
||||
@ExcelProperty("线路名中文")
|
||||
private String nameCn;
|
||||
|
||||
/**
|
||||
* 线路类型
|
||||
*/
|
||||
@NotEmpty(message="线路类型不能为空")
|
||||
@Query(tableColumn = "a.type", javaField = "type", type = QueryType.EQ)
|
||||
@ExcelProperty(value = "线路类型", converter = ExcelDictDTOConverter.class)
|
||||
@ExcelDictProperty("zn_line_type")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 站点集合
|
||||
*/
|
||||
@NotEmpty(message="站点集合不能为空")
|
||||
@ExcelProperty("站点集合")
|
||||
private String stations;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@ExcelProperty("排序")
|
||||
private Long seqId;
|
||||
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
@ExcelProperty("备注信息")
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 仪电对应id
|
||||
*/
|
||||
@ExcelProperty("仪电对应id")
|
||||
private String ydLineId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,231 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jeeplus.core.excel.annotation.ExcelDictProperty;
|
||||
import com.jeeplus.core.excel.converter.ExcelDictDTOConverter;
|
||||
import com.jeeplus.core.excel.converter.ExcelOfficeDTOConverter;
|
||||
import com.jeeplus.core.excel.converter.ExcelUserDTOConverter;
|
||||
import com.jeeplus.core.query.Query;
|
||||
import com.jeeplus.core.query.QueryType;
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import com.jeeplus.sys.service.dto.OfficeDTO;
|
||||
import com.jeeplus.sys.service.dto.UserDTO;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
/**
|
||||
* 站点管理Entity
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class ZnMetroStationsDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
@NotEmpty(message="序号不能为空")
|
||||
@ExcelProperty("序号")
|
||||
private String seqId;
|
||||
|
||||
/**
|
||||
* 站点ID
|
||||
*/
|
||||
@NotEmpty(message="站点ID不能为空")
|
||||
@Query(tableColumn = "stat_id", javaField = "statId", type = QueryType.LIKE)
|
||||
@ExcelProperty("站点ID")
|
||||
private String statId;
|
||||
|
||||
/**
|
||||
* 车站名英文
|
||||
*/
|
||||
@ExcelProperty("车站名英文")
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 车站名中文
|
||||
*/
|
||||
@NotEmpty(message="车站名中文不能为空")
|
||||
@Query(tableColumn = "name_cn", javaField = "nameCn", type = QueryType.LIKE)
|
||||
@ExcelProperty("车站名中文")
|
||||
private String nameCn;
|
||||
|
||||
/**
|
||||
* 车站名拼音
|
||||
*/
|
||||
@ExcelProperty("车站名拼音")
|
||||
private String pinyin;
|
||||
|
||||
/**
|
||||
* 线路
|
||||
*/
|
||||
@NotEmpty(message="线路不能为空")
|
||||
@Query(tableColumn = "line", javaField = "line", type = QueryType.EQ)
|
||||
@ExcelProperty("线路")
|
||||
private String line;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
@NotEmpty(message="经度不能为空")
|
||||
@ExcelProperty("经度")
|
||||
private String longitude;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
@NotEmpty(message="纬度不能为空")
|
||||
@ExcelProperty("纬度")
|
||||
private String latitude;
|
||||
|
||||
/**
|
||||
* X坐标
|
||||
*/
|
||||
@ExcelProperty("X坐标")
|
||||
private String x;
|
||||
|
||||
/**
|
||||
* Y坐标
|
||||
*/
|
||||
@ExcelProperty("Y坐标")
|
||||
private String y;
|
||||
|
||||
/**
|
||||
* 站点图片
|
||||
*/
|
||||
@ExcelProperty("站点图片")
|
||||
private String statPic;
|
||||
|
||||
/**
|
||||
* 站内厕所
|
||||
*/
|
||||
@ExcelProperty("站内厕所")
|
||||
private String toiletInside;
|
||||
|
||||
/**
|
||||
* 厕所位置
|
||||
*/
|
||||
@ExcelProperty("厕所位置")
|
||||
private String toiletPosition;
|
||||
|
||||
/**
|
||||
* 厕所位置英文
|
||||
*/
|
||||
@ExcelProperty("厕所位置英文")
|
||||
private String toiletPositionEn;
|
||||
|
||||
/**
|
||||
* 出入口信息
|
||||
*/
|
||||
@ExcelProperty("出入口信息")
|
||||
private String entranceInfo;
|
||||
|
||||
/**
|
||||
* 出入口信息英文
|
||||
*/
|
||||
@ExcelProperty("出入口信息英文")
|
||||
private String entranceInfoEn;
|
||||
|
||||
/**
|
||||
* 室外图片
|
||||
*/
|
||||
@ExcelProperty("室外图片")
|
||||
private String streetPic;
|
||||
|
||||
/**
|
||||
* 完整拼音
|
||||
*/
|
||||
@ExcelProperty("完整拼音")
|
||||
private String fullpinyin;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@ExcelProperty("类型")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 电梯信息
|
||||
*/
|
||||
@ExcelProperty("电梯信息")
|
||||
private String elevator;
|
||||
|
||||
/**
|
||||
* 电梯信息英文
|
||||
*/
|
||||
@ExcelProperty("电梯信息英文")
|
||||
private String elevatorEn;
|
||||
|
||||
/**
|
||||
* 站内电梯
|
||||
*/
|
||||
@ExcelProperty("站内电梯")
|
||||
private String entranceInside;
|
||||
|
||||
/**
|
||||
* 百度地图经度
|
||||
*/
|
||||
@ExcelProperty("百度地图经度")
|
||||
private String bdlongitude;
|
||||
|
||||
/**
|
||||
* 百度地图纬度
|
||||
*/
|
||||
@ExcelProperty("百度地图纬度")
|
||||
private String bdlatitude;
|
||||
|
||||
/**
|
||||
* 出入口
|
||||
*/
|
||||
@ExcelProperty("出入口")
|
||||
private String entrancesexits;
|
||||
|
||||
/**
|
||||
* 站点属性
|
||||
*/
|
||||
@ExcelProperty(value = "站点属性", converter = ExcelDictDTOConverter.class)
|
||||
@ExcelDictProperty("zn_station_type")
|
||||
private String stationType;
|
||||
|
||||
/**
|
||||
* 仪电站点ID
|
||||
*/
|
||||
@ExcelProperty("仪电站点ID")
|
||||
private String ydStatId;
|
||||
|
||||
/**
|
||||
* 仪电车站名
|
||||
*/
|
||||
@ExcelProperty("仪电车站名")
|
||||
private String ydStatName;
|
||||
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
@ExcelProperty("备注信息")
|
||||
private String remarks;
|
||||
/**
|
||||
*子表列表
|
||||
*/
|
||||
private List<ZnStationBarrierfreeDTO> znStationBarrierfreeDTOList = Lists.newArrayList();
|
||||
/**
|
||||
*子表列表
|
||||
*/
|
||||
private List<ZnStationEntranceDTO> znStationEntranceDTOList = Lists.newArrayList();
|
||||
/**
|
||||
*子表列表
|
||||
*/
|
||||
private List<ZnStationToiletDTO> znStationToiletDTOList = Lists.newArrayList();
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import com.jeeplus.sys.service.dto.UserDTO;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 站点无障碍设施Entity
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class ZnStationBarrierfreeDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 站点ID
|
||||
*/
|
||||
@NotEmpty(message="站点ID不能为空")
|
||||
private ZnMetroStationsDTO stat;
|
||||
|
||||
/**
|
||||
* 设施序号
|
||||
*/
|
||||
@NotEmpty(message="设施序号不能为空")
|
||||
private String seqId;
|
||||
|
||||
/**
|
||||
* 设施类型
|
||||
*/
|
||||
@NotEmpty(message="设施类型不能为空")
|
||||
private String barrierfreeType;
|
||||
|
||||
/**
|
||||
* 设施位置
|
||||
*/
|
||||
@NotEmpty(message="设施位置不能为空")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 线路ID
|
||||
*/
|
||||
@NotEmpty(message="线路ID不能为空")
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@NotEmpty(message="状态不能为空")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 计划关闭开始日期
|
||||
*/
|
||||
private String planOpenDate;
|
||||
|
||||
/**
|
||||
* 计划关闭结束日期
|
||||
*/
|
||||
private String planCloseDate;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import com.jeeplus.sys.service.dto.UserDTO;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 出入口Entity
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class ZnStationEntranceDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 出口
|
||||
*/
|
||||
@NotEmpty(message="出口不能为空")
|
||||
private String export;
|
||||
|
||||
/**
|
||||
* 位置
|
||||
*/
|
||||
@NotEmpty(message="位置不能为空")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 站点ID
|
||||
*/
|
||||
@NotEmpty(message="站点ID不能为空")
|
||||
private ZnMetroStationsDTO stat;
|
||||
|
||||
/**
|
||||
* 线路ID
|
||||
*/
|
||||
@NotEmpty(message="线路ID不能为空")
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@NotEmpty(message="状态不能为空")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 计划关闭开始日期
|
||||
*/
|
||||
private String planOpenDate;
|
||||
|
||||
/**
|
||||
* 计划关闭结束日期
|
||||
*/
|
||||
private String planCloseDate;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private String seqId;
|
||||
|
||||
/**
|
||||
* 是否对APP隐藏
|
||||
*/
|
||||
private String hideForApp;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.dto;
|
||||
|
||||
import com.jeeplus.core.service.dto.BaseDTO;
|
||||
import com.jeeplus.sys.service.dto.UserDTO;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 站点卫生间Entity
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class ZnStationToiletDTO extends BaseDTO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 站点ID
|
||||
*/
|
||||
@NotEmpty(message="站点ID不能为空")
|
||||
private ZnMetroStationsDTO stat;
|
||||
|
||||
/**
|
||||
* 卫生间图例
|
||||
*/
|
||||
@NotEmpty(message="卫生间图例不能为空")
|
||||
private String toiletIcon;
|
||||
|
||||
/**
|
||||
* 无障碍卫生间图例
|
||||
*/
|
||||
@NotEmpty(message="无障碍卫生间图例不能为空")
|
||||
private String barrierFreeIcon;
|
||||
|
||||
/**
|
||||
* 卫生间位置
|
||||
*/
|
||||
@NotEmpty(message="卫生间位置不能为空")
|
||||
private String toiletPosition;
|
||||
|
||||
/**
|
||||
* 线路ID
|
||||
*/
|
||||
@NotEmpty(message="线路ID不能为空")
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@NotEmpty(message="状态不能为空")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 计划关闭开始日期
|
||||
*/
|
||||
private String planOpenDate;
|
||||
|
||||
/**
|
||||
* 计划关闭结束日期
|
||||
*/
|
||||
private String planCloseDate;
|
||||
|
||||
/**
|
||||
* 卫生间部分关闭时显示说明
|
||||
*/
|
||||
private String toiletDiscription;
|
||||
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsCommonMonitorDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsCommonMonitor;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* YsCommonMonitorWrapper
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface YsCommonMonitorWrapper extends EntityWrapper<YsCommonMonitorDTO, YsCommonMonitor> {
|
||||
|
||||
YsCommonMonitorWrapper INSTANCE = Mappers.getMapper(YsCommonMonitorWrapper.class);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsDutyInfoDetailDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsDutyInfoDetail;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* YsDutyInfoDetailWrapper
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface YsDutyInfoDetailWrapper extends EntityWrapper<YsDutyInfoDetailDTO, YsDutyInfoDetail> {
|
||||
|
||||
YsDutyInfoDetailWrapper INSTANCE = Mappers.getMapper(YsDutyInfoDetailWrapper.class);
|
||||
|
||||
@Mappings({
|
||||
@Mapping(source = "dutyid.id", target = "dutyidId"),
|
||||
@Mapping(source = "createBy.id", target = "createById"),
|
||||
@Mapping (source = "updateBy.id", target = "updateById")})
|
||||
YsDutyInfoDetail toEntity(YsDutyInfoDetailDTO dto);
|
||||
|
||||
|
||||
@Mappings({
|
||||
@Mapping(source = "dutyidId", target = "dutyid.id"),
|
||||
@Mapping (source = "createById", target = "createBy.id"),
|
||||
@Mapping (source = "updateById", target = "updateBy.id")})
|
||||
YsDutyInfoDetailDTO toDTO(YsDutyInfoDetail entity);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsDutyInfoDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsDutyInfo;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* YsDutyInfoWrapper
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface YsDutyInfoWrapper extends EntityWrapper<YsDutyInfoDTO, YsDutyInfo> {
|
||||
|
||||
YsDutyInfoWrapper INSTANCE = Mappers.getMapper(YsDutyInfoWrapper.class);
|
||||
@Mappings({
|
||||
@Mapping(source = "createBy.id", target = "createById"),
|
||||
@Mapping (source = "updateBy.id", target = "updateById")})
|
||||
YsDutyInfo toEntity(YsDutyInfoDTO dto);
|
||||
|
||||
|
||||
@Mappings({
|
||||
@Mapping (source = "createById", target = "createBy.id"),
|
||||
@Mapping (source = "updateById", target = "updateBy.id")})
|
||||
YsDutyInfoDTO toDTO(YsDutyInfo entity);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsIndicatorDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsIndicator;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* YsIndicatorWrapper
|
||||
* @author wq
|
||||
* @version 2026-04-02
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface YsIndicatorWrapper extends EntityWrapper<YsIndicatorDTO, YsIndicator> {
|
||||
|
||||
YsIndicatorWrapper INSTANCE = Mappers.getMapper(YsIndicatorWrapper.class);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsOperateManagerDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsOperateManager;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* YsOperateManagerWrapper
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface YsOperateManagerWrapper extends EntityWrapper<YsOperateManagerDTO, YsOperateManager> {
|
||||
|
||||
YsOperateManagerWrapper INSTANCE = Mappers.getMapper(YsOperateManagerWrapper.class);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsStationCameraDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsStationCamera;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* YsStationCameraWrapper
|
||||
* @author wq
|
||||
* @version 2026-03-31
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface YsStationCameraWrapper extends EntityWrapper<YsStationCameraDTO, YsStationCamera> {
|
||||
|
||||
YsStationCameraWrapper INSTANCE = Mappers.getMapper(YsStationCameraWrapper.class);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsTaskNoticeDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsTaskNotice;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* YsTaskNoticeWrapper
|
||||
* @author wq
|
||||
* @version 2026-04-21
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface YsTaskNoticeWrapper extends EntityWrapper<YsTaskNoticeDTO, YsTaskNotice> {
|
||||
|
||||
YsTaskNoticeWrapper INSTANCE = Mappers.getMapper(YsTaskNoticeWrapper.class);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingMaxDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsYunyingMax;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* YsYunyingMaxWrapper
|
||||
* @author wq
|
||||
* @version 2026-04-07
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface YsYunyingMaxWrapper extends EntityWrapper<YsYunyingMaxDTO, YsYunyingMax> {
|
||||
|
||||
YsYunyingMaxWrapper INSTANCE = Mappers.getMapper(YsYunyingMaxWrapper.class);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.service.dto.YsYunyingDTO;
|
||||
import net.juntech.modules.ysdp.domain.YsYunying;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* YsYunyingWrapper
|
||||
* @author wq
|
||||
* @version 2026-03-30
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface YsYunyingWrapper extends EntityWrapper<YsYunyingDTO, YsYunying> {
|
||||
|
||||
YsYunyingWrapper INSTANCE = Mappers.getMapper(YsYunyingWrapper.class);
|
||||
@Mappings({
|
||||
@Mapping(source = "createBy.id", target = "createById"),
|
||||
@Mapping (source = "updateBy.id", target = "updateById")})
|
||||
YsYunying toEntity(YsYunyingDTO dto);
|
||||
|
||||
|
||||
@Mappings({
|
||||
@Mapping (source = "createById", target = "createBy.id"),
|
||||
@Mapping (source = "updateById", target = "updateBy.id")})
|
||||
YsYunyingDTO toDTO(YsYunying entity);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.domain.ZnMetroLines;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroLinesDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* ZnMetroLinesWrapper
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-08
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface ZnMetroLinesWrapper extends EntityWrapper<ZnMetroLinesDTO, ZnMetroLines> {
|
||||
|
||||
ZnMetroLinesWrapper INSTANCE = Mappers.getMapper(ZnMetroLinesWrapper.class);
|
||||
@Mappings({
|
||||
@Mapping(source = "createBy.id", target = "createById"),
|
||||
@Mapping (source = "updateBy.id", target = "updateById")})
|
||||
ZnMetroLines toEntity(ZnMetroLinesDTO dto);
|
||||
|
||||
|
||||
@Mappings({
|
||||
@Mapping (source = "createById", target = "createBy.id"),
|
||||
@Mapping (source = "updateById", target = "updateBy.id")})
|
||||
ZnMetroLinesDTO toDTO(ZnMetroLines entity);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.domain.ZnMetroStations;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnMetroStationsDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* ZnMetroStationsWrapper
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface ZnMetroStationsWrapper extends EntityWrapper<ZnMetroStationsDTO, ZnMetroStations> {
|
||||
|
||||
ZnMetroStationsWrapper INSTANCE = Mappers.getMapper(ZnMetroStationsWrapper.class);
|
||||
@Mappings({
|
||||
@Mapping(source = "createBy.id", target = "createById"),
|
||||
@Mapping (source = "updateBy.id", target = "updateById")})
|
||||
ZnMetroStations toEntity(ZnMetroStationsDTO dto);
|
||||
|
||||
|
||||
@Mappings({
|
||||
@Mapping (source = "createById", target = "createBy.id"),
|
||||
@Mapping (source = "updateById", target = "updateBy.id")})
|
||||
ZnMetroStationsDTO toDTO(ZnMetroStations entity);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
/**
|
||||
* Copyright © 2021-2025 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
||||
*/
|
||||
package net.juntech.modules.ysdp.service.mapstruct;
|
||||
|
||||
|
||||
import com.jeeplus.core.mapstruct.EntityWrapper;
|
||||
import net.juntech.modules.ysdp.domain.ZnStationBarrierfree;
|
||||
import net.juntech.modules.ysdp.service.dto.ZnStationBarrierfreeDTO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* ZnStationBarrierfreeWrapper
|
||||
* @author wang/mcgu
|
||||
* @version 2025-05-09
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {} )
|
||||
public interface ZnStationBarrierfreeWrapper extends EntityWrapper<ZnStationBarrierfreeDTO, ZnStationBarrierfree> {
|
||||
|
||||
ZnStationBarrierfreeWrapper INSTANCE = Mappers.getMapper(ZnStationBarrierfreeWrapper.class);
|
||||
@Mappings({
|
||||
@Mapping(source = "stat.id", target = "statId"),
|
||||
@Mapping(source = "createBy.id", target = "createById"),
|
||||
@Mapping (source = "updateBy.id", target = "updateById")})
|
||||
ZnStationBarrierfree toEntity(ZnStationBarrierfreeDTO dto);
|
||||
|
||||
|
||||
@Mappings({
|
||||
@Mapping(source = "statId", target = "stat.id"),
|
||||
@Mapping (source = "createById", target = "createBy.id"),
|
||||
@Mapping (source = "updateById", target = "updateBy.id")})
|
||||
ZnStationBarrierfreeDTO toDTO(ZnStationBarrierfree entity);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue