Compare commits

..

8 Commits

Author SHA1 Message Date
f13963f5b8 1、调整IAM权限
2、新增常用地址模块
2026-07-17 18:23:56 +08:00
31c68a857a 1、调整币种汇率模块
2、新增保险记录模块
3、新增违章记录模块
4、新增换胎记录模块
5、新增事故记录模块
6、新增年检记录模块
7、新增里程记录模块
8、新增变更记录模块
9、新增油电记录模块
10、新增ETC记录模块
11、新增其他费用记录模块
2026-07-17 15:32:00 +08:00
34ee6e6269 菜单新增是否显示字段 2026-07-16 19:45:12 +08:00
0eba4ca98d 1、新增评分量化表
2、新增费用项
3、新增币种
4、新增客商类型
5、其他bug修复
2026-07-16 17:04:46 +08:00
29bbd5144d fix bug 2026-07-16 11:47:51 +08:00
3363628b7d fix bug 2026-07-16 11:39:53 +08:00
85801b3a8e fix bug 2026-07-16 11:36:57 +08:00
e58ad75d95 fix bug 2026-07-16 11:35:28 +08:00
297 changed files with 24543 additions and 73 deletions

2
.gitignore vendored
View File

@@ -32,3 +32,5 @@ Thumbs.db
# ai
.claude
/outputs/
/.codex-work/

View File

@@ -197,7 +197,14 @@ Entity 基类的选择**直接决定** Service 和 ServiceImpl 的继承方式
- 分页统一使用 `Condition.getPage(query)` + `Condition.getQueryWrapper()`
- 禁止 JDBC 直连查询
### 6.9 日志
### 6.9 审计字段展示
- `create_user``update_user` 等审计字段只保存用户 ID禁止为了展示姓名改变表结构或覆盖审计 ID。
- 面向前端的 VO 应额外提供 `createUserName``updateUserName` 等展示字段,并使用 `@TableField(exist = false)` 标记。
- Entity → VO 转换统一在 `XxxWrapper` 中完成;审计人姓名通过 `UserCache.getUserRealName(userId)` 获取,优先返回用户真实姓名,缓存未命中时兜底返回用户 ID。
- Controller 不应在列表、详情方法中重复编写审计人翻译逻辑,避免各模块显示规则不一致。
### 6.10 日志
- 使用 `@Slf4j`,占位符传参(禁止字符串拼接)
- 包含关键业务标识,异常必须携带堆栈,禁止打印敏感信息

View File

@@ -25,6 +25,7 @@
*/
package org.springblade.auth.config;
import org.springblade.auth.granter.IamAwareTokenGranterFactory;
import org.springblade.auth.handler.BladeAuthorizationHandler;
import org.springblade.auth.handler.BladeLockHandler;
import org.springblade.auth.handler.BladeLogHandler;
@@ -37,6 +38,9 @@ import org.springblade.core.jwt.props.JwtProperties;
import org.springblade.core.launch.props.BladeProperties;
import org.springblade.core.launch.server.ServerInfo;
import org.springblade.core.oauth2.config.OAuth2AutoConfiguration;
import org.springblade.core.oauth2.granter.TokenGranter;
import org.springblade.core.oauth2.granter.TokenGranterEnhancer;
import org.springblade.core.oauth2.granter.TokenGranterFactory;
import org.springblade.core.oauth2.handler.AuthorizationHandler;
import org.springblade.core.oauth2.handler.PasswordHandler;
import org.springblade.core.oauth2.handler.TokenHandler;
@@ -51,8 +55,11 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List;
/**
* BladeAuthConfiguration
*
@@ -101,4 +108,12 @@ public class BladeAuthConfiguration {
return new BladeUserDetailService(userClient);
}
@Primary
@Bean("iamAwareTokenGranterFactory")
public TokenGranterFactory tokenGranterFactory(List<TokenGranter> tokenGranters,
List<TokenGranterEnhancer> tokenGranterEnhancers,
OAuth2Properties properties) {
return new IamAwareTokenGranterFactory(tokenGranters, tokenGranterEnhancers, properties);
}
}

View File

@@ -0,0 +1,79 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.auth.endpoint;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import lombok.AllArgsConstructor;
import org.springblade.core.oauth2.endpoint.OAuth2TokenEndPoint;
import org.springblade.core.oauth2.provider.OAuth2Response;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* IAM统一身份认证端点
*
* @author Chill
*/
@RestController
@AllArgsConstructor
@RequestMapping("/iam/sso")
@Tag(name = "IAM统一身份认证", description = "IAM统一身份认证端点")
public class IamSsoEndpoint {
private static final String GRANT_TYPE = "iam_sso";
private final OAuth2TokenEndPoint tokenEndPoint;
/**
* IAM统一身份认证登录
*
* @param request 请求信息
* @return token
*/
@RequestMapping(value = "/token", method = {RequestMethod.GET, RequestMethod.POST})
@Operation(summary = "IAM统一身份认证登录", description = "使用IAM授权码换取本系统Token")
public ResponseEntity<Kv> token(HttpServletRequest request) {
String grantType = request.getParameter("grant_type");
if (!StringUtil.equals(GRANT_TYPE, grantType)) {
return ResponseEntity.ok(
OAuth2Response.create().ofFailure(400, "IAM统一身份认证接口仅支持iam_sso授权类型")
);
}
if (StringUtil.isBlank(request.getParameter("code"))) {
return ResponseEntity.ok(
OAuth2Response.create().ofFailure(400, "IAM统一身份认证授权码不能为空")
);
}
return tokenEndPoint.token();
}
}

View File

@@ -0,0 +1,143 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.auth.granter;
import org.springblade.core.oauth2.granter.TokenGranter;
import org.springblade.core.oauth2.granter.TokenGranterEnhancer;
import org.springblade.core.oauth2.granter.TokenGranterFactory;
import org.springblade.core.oauth2.props.OAuth2Properties;
import org.springblade.core.oauth2.provider.OAuth2Request;
import org.springblade.core.oauth2.provider.OAuth2Token;
import org.springblade.core.oauth2.service.OAuth2Client;
import org.springblade.core.oauth2.service.OAuth2User;
import java.util.List;
/**
* IAM统一身份认证授权器工厂
*
* @author Chill
*/
public class IamAwareTokenGranterFactory extends TokenGranterFactory {
private static final String AUTHORIZATION_CODE = "authorization_code";
private static final String IAM_SSO = "iam_sso";
private final IamSsoTokenGranter iamSsoTokenGranter;
private final TokenGranter authorizationCodeGranter;
private final List<TokenGranterEnhancer> tokenGranterEnhancers;
public IamAwareTokenGranterFactory(List<TokenGranter> tokenGranters,
List<TokenGranterEnhancer> tokenGranterEnhancers,
OAuth2Properties properties) {
super(tokenGranters, tokenGranterEnhancers, properties);
this.iamSsoTokenGranter = tokenGranters.stream()
.filter(IamSsoTokenGranter.class::isInstance)
.map(IamSsoTokenGranter.class::cast)
.findFirst()
.orElse(null);
this.authorizationCodeGranter = tokenGranters.stream()
.filter(tokenGranter -> AUTHORIZATION_CODE.equals(tokenGranter.type()))
.filter(tokenGranter -> !(tokenGranter instanceof IamSsoTokenGranter))
.findFirst()
.orElse(null);
this.tokenGranterEnhancers = tokenGranterEnhancers;
}
@Override
public TokenGranter create(String grantType) {
if (IAM_SSO.equals(grantType) && iamSsoTokenGranter != null) {
applyEnhancer(grantType, iamSsoTokenGranter);
return iamSsoTokenGranter;
}
if (AUTHORIZATION_CODE.equals(grantType) && iamSsoTokenGranter != null && authorizationCodeGranter != null) {
applyEnhancer(grantType, authorizationCodeGranter);
applyEnhancer(IAM_SSO, iamSsoTokenGranter);
return new IamAwareAuthorizationCodeGranter(iamSsoTokenGranter, authorizationCodeGranter);
}
return super.create(grantType);
}
private void applyEnhancer(String grantType, TokenGranter tokenGranter) {
tokenGranterEnhancers.stream()
.filter(enhancer -> grantType.equals(enhancer.type()))
.findFirst()
.ifPresent(tokenGranter::enhancer);
}
/**
* IAM授权码与本系统授权码分流
*
* @author Chill
*/
private static class IamAwareAuthorizationCodeGranter implements TokenGranter {
private final IamSsoTokenGranter iamSsoTokenGranter;
private final TokenGranter authorizationCodeGranter;
private final ThreadLocal<TokenGranter> currentGranter = new ThreadLocal<>();
private IamAwareAuthorizationCodeGranter(IamSsoTokenGranter iamSsoTokenGranter, TokenGranter authorizationCodeGranter) {
this.iamSsoTokenGranter = iamSsoTokenGranter;
this.authorizationCodeGranter = authorizationCodeGranter;
}
@Override
public String type() {
return AUTHORIZATION_CODE;
}
@Override
public OAuth2Client client(OAuth2Request request) {
return resolveGranter(request).client(request);
}
@Override
public OAuth2User user(OAuth2Request request) {
TokenGranter tokenGranter = resolveGranter(request);
currentGranter.set(tokenGranter);
return tokenGranter.user(request);
}
@Override
public OAuth2Token token(OAuth2User user, OAuth2Request request) {
try {
return currentGranter.get().token(user, request);
} finally {
currentGranter.remove();
}
}
@Override
public void enhancer(TokenGranterEnhancer enhancer) {
authorizationCodeGranter.enhancer(enhancer);
}
private TokenGranter resolveGranter(OAuth2Request request) {
return iamSsoTokenGranter.supports(request) ? iamSsoTokenGranter : authorizationCodeGranter;
}
}
}

View File

@@ -81,6 +81,7 @@ public class IamSsoTokenGranter extends AuthorizationCodeGranter {
private static final String GRANT_TYPE = "iam_sso";
private static final String IAM_GRANT_TYPE = "authorization_code";
private static final String IAM_TOKEN_URI = "/iam/sso/token";
private static final String BEARER_PREFIX = "Bearer ";
private static final String BASIC_PREFIX = "Basic ";
@@ -112,8 +113,8 @@ public class IamSsoTokenGranter extends AuthorizationCodeGranter {
@Override
public OAuth2Client client(OAuth2Request request) {
String clientId = request.getClientId();
String clientSecret = request.getClientSecret();
String clientId = StringUtil.isBlank(request.getClientId()) ? properties.getSystemClientId() : request.getClientId();
String clientSecret = StringUtil.isBlank(request.getClientSecret()) ? properties.getSystemClientSecret() : request.getClientSecret();
OAuth2Client client = clientService.loadByClientId(clientId);
if (!clientService.validateClient(client, clientId, clientSecret)) {
throw new UserInvalidException(OAuth2TokenConstant.TOKEN_NOT_CORRECT);
@@ -123,7 +124,10 @@ public class IamSsoTokenGranter extends AuthorizationCodeGranter {
@Override
public OAuth2User user(OAuth2Request request) {
if (!isIamRequest(request)) {
if (!isDedicatedIamEndpoint(request)) {
throw new UserInvalidException(OAuth2TokenConstant.TOKEN_NOT_CORRECT);
}
if (!isIamRequest(request, true)) {
throw new UserInvalidException(OAuth2TokenConstant.TOKEN_NOT_CORRECT);
}
validateRequest(request);
@@ -192,12 +196,21 @@ public class IamSsoTokenGranter extends AuthorizationCodeGranter {
return user;
}
private boolean isIamRequest(OAuth2Request request) {
public boolean supports(OAuth2Request request) {
return isIamRequest(request, false);
}
private boolean isDedicatedIamEndpoint(OAuth2Request request) {
return request.getHttpRequest() != null
&& request.getHttpRequest().getRequestURI().endsWith(IAM_TOKEN_URI);
}
private boolean isIamRequest(OAuth2Request request, boolean logMiss) {
String redirectUri = normalizeRedirectUri(request.getRedirectUri());
boolean iamRequest = StringUtil.isNotBlank(properties.getRedirectUri())
&& StringUtil.isNotBlank(request.getCode())
&& StringUtil.equals(properties.getRedirectUri(), redirectUri);
if (!iamRequest) {
if (!iamRequest && logMiss) {
log.info("IAM统一身份认证请求未命中configRedirectUri={}, requestRedirectUri={}, normalizedRedirectUri={}, code={}",
properties.getRedirectUri(), request.getRedirectUri(), redirectUri, request.getCode());
}

View File

@@ -57,6 +57,16 @@ public class IamSsoProperties {
*/
private String clientSecret;
/**
* 本系统发放Token使用的客户端ID。IAM回调入口不要求请求携带客户端认证时使用。
*/
private String systemClientId = "saber3";
/**
* 本系统发放Token使用的客户端密钥。IAM回调入口不要求请求携带客户端认证时使用。
*/
private String systemClientSecret = "saber3_secret";
/**
* IAM回调地址
*/

View File

@@ -71,6 +71,8 @@ iam:
profile-url: http://172.16.204.83:38000/gwzh/IAM/IAM_SSO_PROFILE
client-id: f0b52f23f71b1649c468
client-secret: 5b3d8575f0899946623ab86523ac3dd8ee98
system-client-id: saber3
system-client-secret: saber3_secret
redirect-uri: http://172.16.203.228:8000/callback
authorization: Z3d6aF90bXMtOVJJU0RVN1U6YW0yYkcwWnBJZ0RQZmtrSjNaZkZjUDBSaGFuSEtxQng=
profile-authorization: Z3d6aF90bXMtOVJJU0RVN1U6YW0yYkcwWnBJZ0RQZmtrSjNaZkZjUDBSaGFuSEtxQng=

View File

@@ -52,6 +52,9 @@ public class AuthProvider {
DEFAULT_SKIP_URL.add("/oauth/callback/**");
DEFAULT_SKIP_URL.add("/oauth/revoke/**");
DEFAULT_SKIP_URL.add("/oauth/refresh/**");
DEFAULT_SKIP_URL.add("/iam/sso/token/**");
DEFAULT_SKIP_URL.add("/blade-auth/iam/sso/token/**");
DEFAULT_SKIP_URL.add("/api/blade-auth/iam/sso/token/**");
DEFAULT_SKIP_URL.add("/token/**");
DEFAULT_SKIP_URL.add("/actuator/**");
DEFAULT_SKIP_URL.add("/v3/api-docs/**");

View File

@@ -0,0 +1,111 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.pojo.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 币种汇率实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_currency")
@Schema(description = "币种汇率")
public class Currency extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 币种代码
*/
@Schema(description = "币种代码")
private String code;
/**
* 币种中文名称
*/
@Schema(description = "币种中文名称")
private String name;
/**
* 币种英文名称
*/
@Schema(description = "币种英文名称")
private String englishName;
/**
* 货币符号
*/
@Schema(description = "货币符号")
private String symbol;
/**
* 小数位数
*/
@Schema(description = "小数位数")
private Integer decimalPlaces;
/**
* 汇率
*/
@Schema(description = "汇率")
private BigDecimal exchangeRate;
/**
* 生效日期
*/
@Schema(description = "生效日期")
private LocalDate effectiveDate;
/**
* 失效日期
*/
@TableField(updateStrategy = FieldStrategy.ALWAYS)
@Schema(description = "失效日期")
private LocalDate expiryDate;
/**
* 是否本位币
*/
@Schema(description = "是否本位币")
private Integer baseCurrency;
/**
* 数据来源
*/
@Schema(description = "数据来源")
private String dataSource;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,61 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
/**
* 客商类型实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_customer_type")
@Schema(description = "客商类型")
public class CustomerType extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 中文名称
*/
@Schema(description = "中文名称")
private String name;
/**
* 英文名称
*/
@Schema(description = "英文名称")
private String englishName;
}

View File

@@ -0,0 +1,61 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
/**
* 费用项实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_fee_item")
@Schema(description = "费用项")
public class FeeItem extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 中文名称
*/
@Schema(description = "中文名称")
private String name;
/**
* 英文名称
*/
@Schema(description = "英文名称")
private String englishName;
}

View File

@@ -127,6 +127,12 @@ public class Menu implements Serializable {
@Schema(description = "是否打开新页面")
private Integer isOpen;
/**
* 是否显示
*/
@Schema(description = "是否显示")
private Integer isDisplay;
/**
* 备注
*/

View File

@@ -52,4 +52,11 @@ public class AirportMasterVO extends AirportMaster {
@Schema(description = "导入错误信息")
private String errorMessage;
/**
* 更新人姓名
*/
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,93 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.system.pojo.entity.Currency;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 币种汇率视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "币种汇率")
public class CurrencyVO extends Currency {
@Serial
private static final long serialVersionUID = 1L;
/**
* 导入错误信息
*/
@TableField(exist = false)
@Schema(description = "导入错误信息")
private String errorMessage;
@TableField(exist = false)
@Schema(description = "业务日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate businessDate;
@TableField(exist = false)
@Schema(description = "生效日期开始")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate effectiveDateStart;
@TableField(exist = false)
@Schema(description = "生效日期结束")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate effectiveDateEnd;
@TableField(exist = false)
@Schema(description = "失效日期开始")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate expiryDateStart;
@TableField(exist = false)
@Schema(description = "失效日期结束")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate expiryDateEnd;
@TableField(exist = false)
@Schema(description = "更新时间开始")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTimeStart;
@TableField(exist = false)
@Schema(description = "更新时间结束")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTimeEnd;
}

View File

@@ -0,0 +1,47 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.system.pojo.entity.CustomerType;
import java.io.Serial;
/**
* 客商类型视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "客商类型")
public class CustomerTypeVO extends CustomerType {
@Serial
private static final long serialVersionUID = 1L;
}

View File

@@ -0,0 +1,47 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.system.pojo.entity.FeeItem;
import java.io.Serial;
/**
* 费用项视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "费用项")
public class FeeItemVO extends FeeItem {
@Serial
private static final long serialVersionUID = 1L;
}

View File

@@ -101,4 +101,9 @@ public class MenuVO extends Menu implements INode<MenuVO> {
* 是否新窗口打开
*/
private String isOpenName;
/**
* 是否显示
*/
private String isDisplayName;
}

View File

@@ -52,4 +52,11 @@ public class PortTerminalVO extends PortTerminal {
@Schema(description = "导入错误信息")
private String errorMessage;
/**
* 更新人姓名
*/
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -52,4 +52,11 @@ public class RailwayStationVO extends RailwayStation {
@Schema(description = "导入错误信息")
private String errorMessage;
/**
* 更新人姓名
*/
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,108 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 事故记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_accident_record")
@Schema(description = "事故记录")
public class AccidentRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 车船类型
*/
@Schema(description = "车船类型")
private String vehicleType;
/**
* 车牌号/船号
*/
@Schema(description = "车牌号/船号")
private String vehicleNo;
/**
* 事故发生日期
*/
@Schema(description = "事故发生日期")
private LocalDate accidentDate;
/**
* 事故发生地点
*/
@Schema(description = "事故发生地点")
private String accidentLocation;
/**
* 事故性质
*/
@Schema(description = "事故性质")
private String accidentNature;
/**
* 事故责任
*/
@Schema(description = "事故责任")
private String accidentResponsibility;
/**
* 直接经济损失
*/
@Schema(description = "直接经济损失")
private BigDecimal directEconomicLoss;
/**
* 保险理赔金额
*/
@Schema(description = "保险理赔金额")
private BigDecimal insuranceClaimAmount;
/**
* 事故原因及损坏情况
*/
@Schema(description = "事故原因及损坏情况")
private String accidentReasonDamage;
/**
* 附件
*/
@Schema(description = "附件")
private String attachments;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,88 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 年检记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_annual_inspection_record")
@Schema(description = "年检记录")
public class AnnualInspectionRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "车船类型")
private String vehicleType;
@Schema(description = "车牌号/船号")
private String vehicleNo;
@Schema(description = "检测评定日期")
private LocalDate inspectionAssessmentDate;
@Schema(description = "车辆技术等级")
private String vehicleTechnicalLevel;
@Schema(description = "船舶检验类型")
private String shipInspectionType;
@Schema(description = "有效期截止日")
private LocalDate validUntilDate;
@Schema(description = "客车类型及等级")
private String passengerTypeLevel;
@Schema(description = "检测评定单位")
private String inspectionUnit;
@Schema(description = "费用")
private BigDecimal fee;
@Schema(description = "评定(复核)单位")
private String assessmentUnit;
@Schema(description = "附件")
private String attachments;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,93 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 常用地址实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_common_address")
@Schema(description = "常用地址")
public class CommonAddress extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "地址编号")
private String addressCode;
@Schema(description = "地址名称")
private String addressName;
@Schema(description = "地址类型")
private String addressType;
@Schema(description = "来源主数据ID")
private Long sourceId;
@Schema(description = "站点编码")
private String siteCode;
@Schema(description = "详细地址")
private String detailAddress;
@Schema(description = "行政区划编码")
private String regionCode;
@Schema(description = "行政区划")
private String regionName;
@Schema(description = "经度")
private BigDecimal longitude;
@Schema(description = "纬度")
private BigDecimal latitude;
@Schema(description = "所属组织ID")
private Long deptId;
@Schema(description = "所属组织")
private String deptName;
@Schema(description = "联系人")
private String contactName;
@Schema(description = "联系方式")
private String contactPhone;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,105 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 信用等级评估标准实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_credit_rating_standard")
@Schema(description = "信用等级评估标准")
public class CreditRatingStandard extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 评分量化表ID
*/
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分量化表ID")
private Long quantificationId;
/**
* 信用等级
*/
@Schema(description = "信用等级")
private String creditLevel;
/**
* 得分率下限
*/
@Schema(description = "得分率下限")
private Integer scoreRateLower;
/**
* 得分率上限
*/
@Schema(description = "得分率上限")
private Integer scoreRateUpper;
/**
* 得分率每增加
*/
@Schema(description = "得分率每增加")
private Integer scoreRateIncrease;
/**
* 最大资金使用额度下限
*/
@Schema(description = "最大资金使用额度下限")
private BigDecimal creditLimitLower;
/**
* 最大资金使用额度上限
*/
@Schema(description = "最大资金使用额度上限")
private BigDecimal creditLimitUpper;
/**
* 额度增加
*/
@Schema(description = "额度增加")
private BigDecimal creditLimitIncrease;
/**
* 标准说明
*/
@Schema(description = "标准说明")
private String standardDescription;
/**
* 排序
*/
@Schema(description = "排序")
private Integer sort;
}

View File

@@ -0,0 +1,74 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
/**
* 评分分类实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_credit_score_category")
@Schema(description = "评分分类")
public class CreditScoreCategory extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 评分量化表ID
*/
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分量化表ID")
private Long quantificationId;
/**
* 分类编码
*/
@Schema(description = "分类编码")
private String categoryCode;
/**
* 分类名称
*/
@Schema(description = "分类名称")
private String categoryName;
/**
* 排序
*/
@Schema(description = "排序")
private Integer sort;
}

View File

@@ -0,0 +1,90 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
/**
* 评分项目实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_credit_score_item")
@Schema(description = "评分项目")
public class CreditScoreItem extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 评分量化表ID
*/
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分量化表ID")
private Long quantificationId;
/**
* 评分分类ID
*/
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分分类ID")
private Long categoryId;
/**
* 分类编码
*/
@Schema(description = "分类编码")
private String categoryCode;
/**
* 评分项目
*/
@Schema(description = "评分项目")
private String itemName;
/**
* 得分说明
*/
@Schema(description = "得分说明")
private String scoreDescription;
/**
* 选项描述
*/
@Schema(description = "选项描述")
private String optionDescription;
/**
* 排序
*/
@Schema(description = "排序")
private Integer sort;
}

View File

@@ -0,0 +1,81 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 评分项目选项实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_credit_score_item_option")
@Schema(description = "评分项目选项")
public class CreditScoreItemOption extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 评分量化表ID
*/
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分量化表ID")
private Long quantificationId;
/**
* 评分项目ID
*/
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分项目ID")
private Long itemId;
/**
* 选项描述
*/
@Schema(description = "选项描述")
private String optionName;
/**
* 分值
*/
@Schema(description = "分值")
private BigDecimal score;
/**
* 排序
*/
@Schema(description = "排序")
private Integer sort;
}

View File

@@ -0,0 +1,66 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
/**
* 评分量化表实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_credit_score_quantification")
@Schema(description = "评分量化表")
public class CreditScoreQuantification extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 评定表名称
*/
@Schema(description = "评定表名称")
private String name;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
/**
* 标准说明
*/
@Schema(description = "标准说明")
private String standardDescription;
}

View File

@@ -0,0 +1,137 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 客商档案实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_customer_archive")
@Schema(description = "客商档案")
public class CustomerArchive extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "客商编号")
private String customerCode;
@Schema(description = "客商简称")
private String shortName;
@Schema(description = "客商全称")
private String fullName;
@Schema(description = "客商性质")
private String customerNature;
@Schema(description = "统一社会信用代码")
private String unifiedCreditCode;
@Schema(description = "客商类型")
private String customerType;
@Schema(description = "所属项目")
private String projectName;
@Schema(description = "注册/实际经营地址")
private String registeredAddress;
@Schema(description = "法人/负责人")
private String legalPerson;
@Schema(description = "联系电话")
private String contactPhone;
@Schema(description = "所属组织ID")
private Long deptId;
@Schema(description = "所属组织")
private String deptName;
@Schema(description = "开票税点")
private BigDecimal invoiceTaxRate;
@Schema(description = "经营范围")
private String businessScope;
@Schema(description = "营业期限类型")
private String businessTermType;
@Schema(description = "营业期限截止日")
private LocalDate businessEndDate;
@Schema(description = "注册资金(万元)")
private BigDecimal registeredCapital;
@Schema(description = "客商负责人")
private String principal;
@Schema(description = "助记码")
private String mnemonicCode;
@Schema(description = "客户等级")
private String customerLevel;
@Schema(description = "最大资金使用额度(万元)")
private BigDecimal maxCreditLimit;
@Schema(description = "申请总资金使用额度(万元)")
private BigDecimal applyCreditLimit;
@Schema(description = "备注")
private String remark;
@Schema(description = "资质附件JSON")
private String qualificationAttachments;
@Schema(description = "准入类型temporary/formal")
private String accessType;
@Schema(description = "审批状态draft/reviewing/approved/rejected")
private String approvalStatus;
@Schema(description = "当前节点")
private String currentNode;
@Schema(description = "当前处理人")
private String currentProcessor;
@Schema(description = "审核通过时间")
private LocalDateTime approvedTime;
}

View File

@@ -0,0 +1,63 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.time.LocalDateTime;
/**
* 客商变更记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_customer_change_record")
@Schema(description = "客商变更记录")
public class CustomerChangeRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "客商ID")
private Long customerId;
@Schema(description = "变更日期")
private LocalDateTime changeTime;
@Schema(description = "变更内容")
private String changeContent;
@Schema(description = "变更账号")
private String changeUserName;
}

View File

@@ -0,0 +1,71 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
/**
* 客商联系人实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_customer_contact")
@Schema(description = "客商联系人")
public class CustomerContact extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "客商ID")
private Long customerId;
@Schema(description = "联系人姓名")
private String contactName;
@Schema(description = "联系电话")
private String contactPhone;
@Schema(description = "邮箱")
private String email;
@Schema(description = "职务")
private String positionName;
@Schema(description = "是否默认")
private Integer isDefault;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,92 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 客商评分记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_customer_credit_score")
@Schema(description = "客商评分记录")
public class CustomerCreditScore extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "客商ID")
private Long customerId;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分量化表ID")
private Long quantificationId;
@Schema(description = "评分日期")
private LocalDate scoreDate;
@Schema(description = "自评得分")
private BigDecimal selfScore;
@Schema(description = "复评得分")
private BigDecimal reviewScore;
@Schema(description = "最终得分")
private BigDecimal finalScore;
@Schema(description = "信用等级")
private String creditLevel;
@Schema(description = "最大资金使用额度(万元)")
private BigDecimal maxCreditLimit;
@Schema(description = "拟申请总资金使用额度(万元)")
private BigDecimal applyCreditLimit;
@Schema(description = "自评状态")
private String selfStatus;
@Schema(description = "复评状态")
private String reviewStatus;
@Schema(description = "备注")
private String remark;
@Schema(description = "证明材料JSON")
private String proofAttachments;
}

View File

@@ -0,0 +1,92 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 客商评分明细实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_customer_credit_score_detail")
@Schema(description = "客商评分明细")
public class CustomerCreditScoreDetail extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分记录ID")
private Long scoreId;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分量化表ID")
private Long quantificationId;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "评分项目ID")
private Long itemId;
@Schema(description = "评分分类编码")
private String categoryCode;
@Schema(description = "评分分类名称")
private String categoryName;
@Schema(description = "评分项目")
private String itemName;
@Schema(description = "评分标准")
private String optionDescription;
@Schema(description = "选项JSON")
private String optionsJson;
@Schema(description = "已选选项")
private String selectedOption;
@Schema(description = "得分说明")
private String scoreDescription;
@Schema(description = "自评得分")
private BigDecimal selfScore;
@Schema(description = "复评得分")
private BigDecimal reviewScore;
@Schema(description = "排序")
private Integer sort;
}

View File

@@ -0,0 +1,86 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
/**
* 客商发票信息实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_customer_invoice_info")
@Schema(description = "客商发票信息")
public class CustomerInvoiceInfo extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "客商ID")
private Long customerId;
@Schema(description = "受票方名称")
private String invoiceTitle;
@Schema(description = "纳税人识别号")
private String taxNo;
@Schema(description = "开户行名称")
private String bankName;
@Schema(description = "注册电话")
private String registeredPhone;
@Schema(description = "银行账号")
private String bankAccount;
@Schema(description = "注册地址")
private String registeredAddress;
@Schema(description = "邮箱")
private String email;
@Schema(description = "收件人姓名")
private String receiverName;
@Schema(description = "收件人电话")
private String receiverPhone;
@Schema(description = "收件人地址")
private String receiverAddress;
@Schema(description = "是否默认")
private Integer isDefault;
}

View File

@@ -0,0 +1,74 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
/**
* 客商收款信息实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_customer_receipt_account")
@Schema(description = "客商收款信息")
public class CustomerReceiptAccount extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "客商ID")
private Long customerId;
@Schema(description = "收款方名称")
private String accountName;
@Schema(description = "开户行名称")
private String bankName;
@Schema(description = "银行账号")
private String bankAccount;
@Schema(description = "注册电话")
private String registeredPhone;
@Schema(description = "注册地址")
private String registeredAddress;
@Schema(description = "纳税人识别号")
private String taxNo;
@Schema(description = "是否默认")
private Integer isDefault;
}

View File

@@ -0,0 +1,212 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.time.LocalDate;
/**
* 司机管理实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_transport_driver")
@Schema(description = "司机管理")
public class Driver extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 司机姓名
*/
@Schema(description = "司机姓名")
private String driverName;
/**
* 身份证号
*/
@Schema(description = "身份证号")
private String idCardNo;
/**
* 出生年月
*/
@Schema(description = "出生年月")
private LocalDate birthday;
/**
* 性别
*/
@Schema(description = "性别")
private String gender;
/**
* 民族
*/
@Schema(description = "民族")
private String nation;
/**
* 学历
*/
@Schema(description = "学历")
private String education;
/**
* 地址区划
*/
@Schema(description = "地址区划")
private String addressRegion;
/**
* 详细地址
*/
@Schema(description = "详细地址")
private String address;
/**
* 岗位,多个使用逗号分隔
*/
@Schema(description = "岗位,多个使用逗号分隔")
private String posts;
/**
* 身份证正面照
*/
@Schema(description = "身份证正面照")
private String idCardFront;
/**
* 身份证反面照
*/
@Schema(description = "身份证反面照")
private String idCardBack;
/**
* 大头照
*/
@Schema(description = "大头照")
private String headPhoto;
/**
* 准驾车型
*/
@Schema(description = "准驾车型")
private String drivingType;
/**
* 驾驶证档案编号
*/
@Schema(description = "驾驶证档案编号")
private String drivingLicenseNo;
/**
* 驾驶证有效期起
*/
@Schema(description = "驾驶证有效期起")
private LocalDate drivingLicenseStartDate;
/**
* 驾驶证有效期止
*/
@Schema(description = "驾驶证有效期止")
private LocalDate drivingLicenseEndDate;
/**
* 驾驶证长期有效
*/
@Schema(description = "驾驶证长期有效")
private Integer drivingLicenseLongTerm;
/**
* 驾驶证主页
*/
@Schema(description = "驾驶证主页")
private String drivingLicenseFront;
/**
* 驾驶证副页
*/
@Schema(description = "驾驶证副页")
private String drivingLicenseBack;
/**
* 从业资格证类型
*/
@Schema(description = "从业资格证类型")
private String qualificationType;
/**
* 资格证号
*/
@Schema(description = "资格证号")
private String qualificationNo;
/**
* 从业资格证有效期止
*/
@Schema(description = "从业资格证有效期止")
private LocalDate qualificationEndDate;
/**
* 从业资格证长期有效
*/
@Schema(description = "从业资格证长期有效")
private Integer qualificationLongTerm;
/**
* 从业资格证封面页
*/
@Schema(description = "从业资格证封面页")
private String qualificationFront;
/**
* 从业资格证内容页
*/
@Schema(description = "从业资格证内容页")
private String qualificationBack;
/**
* 司机类型
*/
@Schema(description = "司机类型")
private String driverType;
/**
* 手机号
*/
@Schema(description = "手机号")
private String mobile;
/**
* 与联系人关系
*/
@Schema(description = "与联系人关系")
private String contactRelation;
/**
* 所属组织
*/
@Schema(description = "所属组织")
private String organizationName;
/**
* 紧急联系人姓名
*/
@Schema(description = "紧急联系人姓名")
private String emergencyContactName;
/**
* 紧急联系人手机号
*/
@Schema(description = "紧急联系人手机号")
private String emergencyContactMobile;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,63 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* ETC记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_etc_record")
@Schema(description = "ETC记录")
public class EtcRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "车牌号")
private String vehicleNo;
@Schema(description = "ETC卡号")
private String etcCardNo;
@Schema(description = "入口时间")
private LocalDateTime entryTime;
@Schema(description = "出口时间")
private LocalDateTime exitTime;
@Schema(description = "入口站")
private String entryStation;
@Schema(description = "出口站")
private String exitStation;
@Schema(description = "数据来源")
private String dataSource;
@Schema(description = "交易金额")
private BigDecimal transactionAmount;
@Schema(description = "附件")
private String attachments;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,118 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 保险记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_insurance_record")
@Schema(description = "保险记录")
public class InsuranceRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 车船类型
*/
@Schema(description = "车船类型")
private String vehicleType;
/**
* 车牌号/船号
*/
@Schema(description = "车牌号/船号")
private String vehicleNo;
/**
* 保险类型
*/
@Schema(description = "保险类型")
private String insuranceType;
/**
* 保单号
*/
@Schema(description = "保单号")
private String policyNo;
/**
* 开始日期
*/
@Schema(description = "开始日期")
private LocalDate startDate;
/**
* 结束日期
*/
@Schema(description = "结束日期")
private LocalDate endDate;
/**
* 保额
*/
@Schema(description = "保额")
private BigDecimal insuredAmount;
/**
* 保费
*/
@Schema(description = "保费")
private BigDecimal premium;
/**
* 发票号
*/
@Schema(description = "发票号")
private String invoiceNo;
/**
* 开票日期
*/
@Schema(description = "开票日期")
private LocalDate invoiceDate;
/**
* OCR识别模板
*/
@Schema(description = "OCR识别模板")
private String ocrTemplate;
/**
* 保单附件
*/
@Schema(description = "保单附件")
private String policyFile;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,72 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 里程记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_mileage_record")
@Schema(description = "里程记录")
public class MileageRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "车牌号")
private String vehicleNo;
@Schema(description = "上月统计里程")
private BigDecimal previousMonthMileage;
@Schema(description = "本月统计里程")
private BigDecimal currentMonthMileage;
@Schema(description = "本月行驶里程")
private BigDecimal monthlyMileage;
@Schema(description = "累计行驶里程")
private BigDecimal totalMileage;
@Schema(description = "附件")
private String attachments;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,97 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 油电记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_oil_electric_record")
@Schema(description = "油电记录")
public class OilElectricRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "卡号")
private String cardNo;
@Schema(description = "交易时间")
private LocalDateTime transactionTime;
@Schema(description = "车船类型")
private String vehicleType;
@Schema(description = "费用类型")
private String feeType;
@Schema(description = "油品")
private String oilProduct;
@Schema(description = "车牌号/船号")
private String vehicleNo;
@Schema(description = "持卡人")
private String cardHolder;
@Schema(description = "数据来源")
private String dataSource;
@Schema(description = "数量")
private BigDecimal quantity;
@Schema(description = "单价")
private BigDecimal unitPrice;
@Schema(description = "交易金额")
private BigDecimal transactionAmount;
@Schema(description = "余额")
private BigDecimal balance;
@Schema(description = "站点")
private String station;
@Schema(description = "附件")
private String attachments;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,57 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 其他费用记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_other_expense_record")
@Schema(description = "其他费用记录")
public class OtherExpenseRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "费用日期")
private LocalDate expenseDate;
@Schema(description = "其他费用类型")
private String expenseType;
@Schema(description = "车船类型")
private String vehicleType;
@Schema(description = "车牌号/船号")
private String vehicleNo;
@Schema(description = "数据来源")
private String dataSource;
@Schema(description = "金额")
private BigDecimal amount;
@Schema(description = "附件")
private String attachments;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,98 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 换胎记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_tire_replacement_record")
@Schema(description = "换胎记录")
public class TireReplacementRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 车牌号
*/
@Schema(description = "车牌号")
private String vehicleNo;
/**
* 处理人
*/
@Schema(description = "处理人")
private String handler;
/**
* 换胎时间
*/
@Schema(description = "换胎时间")
private LocalDate replacementTime;
/**
* 轮胎品牌
*/
@Schema(description = "轮胎品牌")
private String tireBrand;
/**
* 换胎数量
*/
@Schema(description = "换胎数量")
private Integer tireQuantity;
/**
* 换胎费用
*/
@Schema(description = "换胎费用")
private BigDecimal replacementCost;
/**
* 换胎说明
*/
@Schema(description = "换胎说明")
private String replacementDescription;
/**
* 附件
*/
@Schema(description = "附件")
private String attachments;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,68 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
/**
* 变更记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_transport_change_record")
@Schema(description = "变更记录")
public class TransportChangeRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "车船类型")
private String vehicleType;
@Schema(description = "车牌号/船号")
private String vehicleNo;
@Schema(description = "变更事项")
private String changeItem;
@Schema(description = "变更内容")
private String changeContent;
@Schema(description = "附件")
private String attachments;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,105 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.time.LocalDate;
/**
* 船舶管理实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_transport_ship")
@Schema(description = "船舶管理")
public class TransportShip extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "船舶名")
private String shipName;
@Schema(description = "船舶识别号")
private String shipIdentifierNo;
@Schema(description = "所属组织")
private String organizationName;
@Schema(description = "船检登记号")
private String shipInspectionNo;
@Schema(description = "船舶类型")
private String shipType;
@Schema(description = "国籍证有效期至")
private LocalDate nationalityCertEndDate;
@Schema(description = "国籍证长期有效")
private Integer nationalityCertLongTerm;
@Schema(description = "国籍证图片")
private String nationalityCertImage;
@Schema(description = "最低安全配员证书有效期至")
private LocalDate safeManningCertEndDate;
@Schema(description = "最低安全配员证书长期有效")
private Integer safeManningCertLongTerm;
@Schema(description = "最低安全配员证书图片")
private String safeManningCertImage;
@Schema(description = "营业运输证有效期至")
private LocalDate businessTransportCertEndDate;
@Schema(description = "营业运输证长期有效")
private Integer businessTransportCertLongTerm;
@Schema(description = "营业运输证图片")
private String businessTransportCertImage;
@Schema(description = "承租有效期至")
private LocalDate leaseEndDate;
@Schema(description = "承租长期有效")
private Integer leaseLongTerm;
@Schema(description = "承租合同图片")
private String leaseContractImage;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,197 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.time.LocalDate;
/**
* 车辆管理实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_transport_vehicle")
@Schema(description = "车辆管理")
public class TransportVehicle extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 所属组织
*/
@Schema(description = "所属组织")
private String organizationName;
/**
* 车牌号
*/
@Schema(description = "车牌号")
private String plateNo;
/**
* 车辆类型
*/
@Schema(description = "车辆类型")
private String vehicleType;
/**
* 外廓长度,毫米
*/
@Schema(description = "外廓长度,毫米")
private Integer outerLength;
/**
* 外廓宽度,毫米
*/
@Schema(description = "外廓宽度,毫米")
private Integer outerWidth;
/**
* 外廓高度,毫米
*/
@Schema(description = "外廓高度,毫米")
private Integer outerHeight;
/**
* 核定载质量KG
*/
@Schema(description = "核定载质量KG")
private Integer approvedLoadKg;
/**
* 准牵引总质量KG
*/
@Schema(description = "准牵引总质量KG")
private Integer tractionMassKg;
/**
* 业务关系
*/
@Schema(description = "业务关系")
private String businessRelation;
/**
* 能源类型
*/
@Schema(description = "能源类型")
private String energyType;
/**
* 强制报废日期
*/
@Schema(description = "强制报废日期")
private LocalDate compulsoryScrapDate;
/**
* 强制报废长期有效
*/
@Schema(description = "强制报废长期有效")
private Integer compulsoryScrapLongTerm;
/**
* 海关备案号
*/
@Schema(description = "海关备案号")
private String customsRecordNo;
/**
* 行驶证档案编号
*/
@Schema(description = "行驶证档案编号")
private String drivingLicenseNo;
/**
* 行驶证有效期起
*/
@Schema(description = "行驶证有效期起")
private LocalDate drivingLicenseStartDate;
/**
* 行驶证有效期止
*/
@Schema(description = "行驶证有效期止")
private LocalDate drivingLicenseEndDate;
/**
* 行驶证长期有效
*/
@Schema(description = "行驶证长期有效")
private Integer drivingLicenseLongTerm;
/**
* 行驶证图片
*/
@Schema(description = "行驶证图片")
private String drivingLicenseImage;
/**
* 道路运输证号
*/
@Schema(description = "道路运输证号")
private String roadTransportCertNo;
/**
* 道路运输证有效期起
*/
@Schema(description = "道路运输证有效期起")
private LocalDate roadTransportCertStartDate;
/**
* 道路运输证有效期止
*/
@Schema(description = "道路运输证有效期止")
private LocalDate roadTransportCertEndDate;
/**
* 道路运输证长期有效
*/
@Schema(description = "道路运输证长期有效")
private Integer roadTransportCertLongTerm;
/**
* 道路运输证图片
*/
@Schema(description = "道路运输证图片")
private String roadTransportCertImage;
/**
* 道路运输年审有效期
*/
@Schema(description = "道路运输年审有效期")
private LocalDate annualReviewEndDate;
/**
* 道路运输年审长期有效
*/
@Schema(description = "道路运输年审长期有效")
private Integer annualReviewLongTerm;
/**
* 机动车登记编号
*/
@Schema(description = "机动车登记编号")
private String registrationNo;
/**
* 机动车登记日期
*/
@Schema(description = "机动车登记日期")
private LocalDate registrationDate;
/**
* 机动车登记本图片
*/
@Schema(description = "机动车登记本图片")
private String registrationImage;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,123 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 违章记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_violation_record")
@Schema(description = "违章记录")
public class ViolationRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 车船类型
*/
@Schema(description = "车船类型")
private String vehicleType;
/**
* 车牌号/船号
*/
@Schema(description = "车牌号/船号")
private String vehicleNo;
/**
* 驾驶人/船长
*/
@Schema(description = "驾驶人/船长")
private String driverName;
/**
* 类型
*/
@Schema(description = "类型")
private String violationType;
/**
* 事项
*/
@Schema(description = "事项")
private String violationItem;
/**
* 违章时间
*/
@Schema(description = "违章时间")
private LocalDateTime violationTime;
/**
* 地点
*/
@Schema(description = "地点")
private String location;
/**
* 被罚金额
*/
@Schema(description = "被罚金额")
private BigDecimal fineAmount;
/**
* 被扣分数
*/
@Schema(description = "被扣分数")
private Integer deductPoints;
/**
* 被罚单位
*/
@Schema(description = "被罚单位")
private String penaltyUnit;
/**
* 处理状态
*/
@Schema(description = "处理状态")
private String processStatus;
/**
* 过程描述
*/
@Schema(description = "过程描述")
private String processDescription;
/**
* 处理结果
*/
@Schema(description = "处理结果")
private String processResult;
/**
* 附件
*/
@Schema(description = "附件")
private String attachments;
}

View File

@@ -0,0 +1,90 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.AccidentRecord;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 事故记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "事故记录")
public class AccidentRecordVO extends AccidentRecord {
@Serial
private static final long serialVersionUID = 1L;
/**
* 事故评定开始日期
*/
@TableField(exist = false)
@Schema(description = "事故评定开始日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate accidentAssessmentDateStart;
/**
* 事故评定结束日期
*/
@TableField(exist = false)
@Schema(description = "事故评定结束日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate accidentAssessmentDateEnd;
/**
* 创建开始时间
*/
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
/**
* 创建结束时间
*/
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 更新人姓名
*/
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,75 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.AnnualInspectionRecord;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 年检记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "年检记录")
public class AnnualInspectionRecordVO extends AnnualInspectionRecord {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "检测评定开始日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate inspectionAssessmentDateStart;
@TableField(exist = false)
@Schema(description = "检测评定结束日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate inspectionAssessmentDateEnd;
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,54 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 常用地址删除结果
*
* @author Chill
*/
@Data
@Schema(description = "常用地址删除结果")
public class CommonAddressRemoveResultVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "成功删除条数")
private Integer successCount = 0;
@Schema(description = "引用跳过条数")
private Integer skippedCount = 0;
@Schema(description = "跳过地址编号")
private List<String> skippedAddressCodes = new ArrayList<>();
}

View File

@@ -0,0 +1,66 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CommonAddress;
import java.io.Serial;
/**
* 常用地址视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "常用地址")
public class CommonAddressVO extends CommonAddress {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "站点编码展示值")
private String siteCodeDisplay;
@TableField(exist = false)
@Schema(description = "是否只读")
private Boolean readonly;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "是否查看全部组织")
private Integer allDept;
}

View File

@@ -0,0 +1,48 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CreditRatingStandard;
import java.io.Serial;
/**
* 信用等级评估标准视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "信用等级评估标准")
public class CreditRatingStandardVO extends CreditRatingStandard {
@Serial
private static final long serialVersionUID = 1L;
}

View File

@@ -0,0 +1,55 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CreditScoreCategory;
import java.io.Serial;
import java.util.ArrayList;
import java.util.List;
/**
* 评分分类视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "评分分类")
public class CreditScoreCategoryVO extends CreditScoreCategory {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "评分项目")
private List<CreditScoreItemVO> items = new ArrayList<>();
}

View File

@@ -0,0 +1,48 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CreditScoreItemOption;
import java.io.Serial;
/**
* 评分项目选项视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "评分项目选项")
public class CreditScoreItemOptionVO extends CreditScoreItemOption {
@Serial
private static final long serialVersionUID = 1L;
}

View File

@@ -0,0 +1,55 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CreditScoreItem;
import java.io.Serial;
import java.util.ArrayList;
import java.util.List;
/**
* 评分项目视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "评分项目")
public class CreditScoreItemVO extends CreditScoreItem {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "选项明细")
private List<CreditScoreItemOptionVO> options = new ArrayList<>();
}

View File

@@ -0,0 +1,71 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CreditScoreQuantification;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 评分量化表视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "评分量化表")
public class CreditScoreQuantificationVO extends CreditScoreQuantification {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "评分分类")
private List<CreditScoreCategoryVO> categories = new ArrayList<>();
@TableField(exist = false)
@Schema(description = "评估标准")
private List<CreditRatingStandardVO> standards = new ArrayList<>();
}

View File

@@ -0,0 +1,80 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CustomerArchive;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 客商档案视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "客商档案")
public class CustomerArchiveVO extends CustomerArchive {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "联系人")
private List<CustomerContactVO> contacts = new ArrayList<>();
@TableField(exist = false)
@Schema(description = "收款信息")
private List<CustomerReceiptAccountVO> receiptAccounts = new ArrayList<>();
@TableField(exist = false)
@Schema(description = "发票信息")
private List<CustomerInvoiceInfoVO> invoices = new ArrayList<>();
@TableField(exist = false)
@Schema(description = "评分记录")
private List<CustomerCreditScoreVO> scores = new ArrayList<>();
@TableField(exist = false)
@Schema(description = "变更记录")
private List<CustomerChangeRecordVO> changeRecords = new ArrayList<>();
}

View File

@@ -0,0 +1,45 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CustomerChangeRecord;
import java.io.Serial;
/**
* 客商变更记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "客商变更记录")
public class CustomerChangeRecordVO extends CustomerChangeRecord {
@Serial
private static final long serialVersionUID = 1L;
}

View File

@@ -0,0 +1,45 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CustomerContact;
import java.io.Serial;
/**
* 客商联系人视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "客商联系人")
public class CustomerContactVO extends CustomerContact {
@Serial
private static final long serialVersionUID = 1L;
}

View File

@@ -0,0 +1,45 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CustomerCreditScoreDetail;
import java.io.Serial;
/**
* 客商评分明细视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "客商评分明细")
public class CustomerCreditScoreDetailVO extends CustomerCreditScoreDetail {
@Serial
private static final long serialVersionUID = 1L;
}

View File

@@ -0,0 +1,52 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CustomerCreditScore;
import java.io.Serial;
import java.util.ArrayList;
import java.util.List;
/**
* 客商评分记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "客商评分记录")
public class CustomerCreditScoreVO extends CustomerCreditScore {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "评分明细")
private List<CustomerCreditScoreDetailVO> details = new ArrayList<>();
}

View File

@@ -0,0 +1,45 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CustomerInvoiceInfo;
import java.io.Serial;
/**
* 客商发票信息视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "客商发票信息")
public class CustomerInvoiceInfoVO extends CustomerInvoiceInfo {
@Serial
private static final long serialVersionUID = 1L;
}

View File

@@ -0,0 +1,45 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.CustomerReceiptAccount;
import java.io.Serial;
/**
* 客商收款信息视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "客商收款信息")
public class CustomerReceiptAccountVO extends CustomerReceiptAccount {
@Serial
private static final long serialVersionUID = 1L;
}

View File

@@ -0,0 +1,55 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 司机证件有效期统计
*
* @author Chill
*/
@Data
@Schema(description = "司机证件有效期统计")
public class DriverExpiryStatVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "全部")
private Long total;
@Schema(description = "30天内到期")
private Long within30;
@Schema(description = "已到期")
private Long expired;
}

View File

@@ -0,0 +1,72 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.Driver;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDate;
/**
* 司机管理视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "司机管理")
public class DriverVO extends Driver {
@Serial
private static final long serialVersionUID = 1L;
/**
* 证件有效期状态within30-30天内到期expired-已到期
*/
@TableField(exist = false)
@Schema(description = "证件有效期状态")
private String expireStatus;
/**
* 当前日期
*/
@TableField(exist = false)
@Schema(description = "当前日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate today;
/**
* 预警日期
*/
@TableField(exist = false)
@Schema(description = "预警日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate warningDate;
}

View File

@@ -0,0 +1,33 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.EtcRecord;
import java.io.Serial;
/**
* ETC记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "ETC记录")
public class EtcRecordVO extends EtcRecord {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,73 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.InsuranceRecord;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDateTime;
/**
* 保险记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "保险记录")
public class InsuranceRecordVO extends InsuranceRecord {
@Serial
private static final long serialVersionUID = 1L;
/**
* 创建开始时间
*/
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
/**
* 创建结束时间
*/
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 更新人姓名
*/
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -62,4 +62,11 @@ public class MaintenancePlanVO extends MaintenancePlan {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 更新人姓名
*/
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -62,4 +62,11 @@ public class MaintenanceRecordVO extends MaintenanceRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 更新人姓名
*/
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,73 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.MileageRecord;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 里程记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "里程记录")
public class MileageRecordVO extends MileageRecord {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "累计行驶里程开始值")
private BigDecimal totalMileageStart;
@TableField(exist = false)
@Schema(description = "累计行驶里程结束值")
private BigDecimal totalMileageEnd;
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,83 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.OilElectricRecord;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 油电记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "油电记录")
public class OilElectricRecordVO extends OilElectricRecord {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "交易开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime transactionTimeStart;
@TableField(exist = false)
@Schema(description = "交易结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime transactionTimeEnd;
@TableField(exist = false)
@Schema(description = "消费金额开始值")
private BigDecimal transactionAmountStart;
@TableField(exist = false)
@Schema(description = "消费金额结束值")
private BigDecimal transactionAmountEnd;
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,56 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.OtherExpenseRecord;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 其他费用记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "其他费用记录")
public class OtherExpenseRecordVO extends OtherExpenseRecord {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "费用开始日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate expenseDateStart;
@TableField(exist = false)
@Schema(description = "费用结束日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate expenseDateEnd;
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,73 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.TireReplacementRecord;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDateTime;
/**
* 换胎记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "换胎记录")
public class TireReplacementRecordVO extends TireReplacementRecord {
@Serial
private static final long serialVersionUID = 1L;
/**
* 创建开始时间
*/
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
/**
* 创建结束时间
*/
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 更新人姓名
*/
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,64 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.TransportChangeRecord;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDateTime;
/**
* 变更记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "变更记录")
public class TransportChangeRecordVO extends TransportChangeRecord {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -0,0 +1,55 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 船舶证件有效期统计
*
* @author Chill
*/
@Data
@Schema(description = "船舶证件有效期统计")
public class TransportShipExpiryStatVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "全部")
private Long total;
@Schema(description = "30天内到期")
private Long within30;
@Schema(description = "已到期")
private Long expired;
}

View File

@@ -0,0 +1,65 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.TransportShip;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDate;
/**
* 船舶管理视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "船舶管理")
public class TransportShipVO extends TransportShip {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "证件有效期状态")
private String expireStatus;
@TableField(exist = false)
@Schema(description = "当前日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate today;
@TableField(exist = false)
@Schema(description = "预警日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate warningDate;
}

View File

@@ -0,0 +1,55 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 车辆证件有效期统计
*
* @author Chill
*/
@Data
@Schema(description = "车辆证件有效期统计")
public class TransportVehicleExpiryStatVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "全部")
private Long total;
@Schema(description = "30天内到期")
private Long within30;
@Schema(description = "已到期")
private Long expired;
}

View File

@@ -0,0 +1,72 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.TransportVehicle;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDate;
/**
* 车辆管理视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "车辆管理")
public class TransportVehicleVO extends TransportVehicle {
@Serial
private static final long serialVersionUID = 1L;
/**
* 证件有效期状态within30-30天内到期expired-已到期
*/
@TableField(exist = false)
@Schema(description = "证件有效期状态")
private String expireStatus;
/**
* 当前日期
*/
@TableField(exist = false)
@Schema(description = "当前日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate today;
/**
* 预警日期
*/
@TableField(exist = false)
@Schema(description = "预警日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate warningDate;
}

View File

@@ -0,0 +1,73 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.ViolationRecord;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDateTime;
/**
* 违章记录视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "违章记录")
public class ViolationRecordVO extends ViolationRecord {
@Serial
private static final long serialVersionUID = 1L;
/**
* 创建开始时间
*/
@TableField(exist = false)
@Schema(description = "创建开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeStart;
/**
* 创建结束时间
*/
@TableField(exist = false)
@Schema(description = "创建结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 更新人姓名
*/
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
}

View File

@@ -79,6 +79,32 @@ public class UserCache {
});
}
/**
* 获取用户姓名
*
* @param userId 用户id
* @return 用户姓名
*/
public static String getUserRealName(Long userId) {
if (userId == null) {
return StringPool.EMPTY;
}
User user = getUser(userId);
if (user == null) {
return Func.toStr(userId);
}
if (StringUtil.isNotBlank(user.getRealName())) {
return user.getRealName();
}
if (StringUtil.isNotBlank(user.getName())) {
return user.getName();
}
if (StringUtil.isNotBlank(user.getAccount())) {
return user.getAccount();
}
return Func.toStr(userId);
}
/**
* 获取用户
*

View File

@@ -74,6 +74,10 @@ import java.util.Map;
@Tag(name = "空港机场主数据", description = "空港机场主数据")
public class AirportMasterController extends BladeController {
private static final int DEFAULT_CURRENT = 1;
private static final int DEFAULT_SIZE = 10;
private static final int MAX_SIZE = 100;
private final IAirportMasterService airportMasterService;
/**
@@ -83,7 +87,13 @@ public class AirportMasterController extends BladeController {
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入airportMaster")
public R<AirportMasterVO> detail(AirportMaster airportMaster) {
AirportMaster detail = airportMasterService.getOne(Condition.getQueryWrapper(airportMaster));
if (Func.isEmpty(airportMaster.getId())) {
return R.fail("主键不能为空");
}
AirportMaster detail = airportMasterService.getById(airportMaster.getId());
if (Func.isEmpty(detail)) {
return R.fail("空港机场不存在");
}
return R.data(AirportMasterWrapper.build().entityVO(detail));
}
@@ -94,7 +104,7 @@ public class AirportMasterController extends BladeController {
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入airportMaster")
public R<IPage<AirportMasterVO>> list(AirportMasterVO airportMaster, Query query) {
IPage<AirportMasterVO> pages = airportMasterService.selectAirportMasterPage(Condition.getPage(query), airportMaster);
IPage<AirportMasterVO> pages = airportMasterService.selectAirportMasterPage(Condition.getPage(normalizeQuery(query)), airportMaster);
return R.data(pages);
}
@@ -115,6 +125,9 @@ public class AirportMasterController extends BladeController {
@ApiOperationSupport(order = 4)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
if (Func.isEmpty(ids)) {
return R.fail("主键不能为空");
}
return R.status(airportMasterService.deleteLogic(Func.toLongList(ids)));
}
@@ -136,6 +149,13 @@ public class AirportMasterController extends BladeController {
@ApiOperationSupport(order = 6)
@Operation(summary = "导入空港机场主数据", description = "传入excel")
public R importAirportMaster(MultipartFile file) {
if (file == null || file.isEmpty()) {
return R.fail("上传文件不能为空");
}
String fileName = Func.toStrWithEmpty(file.getOriginalFilename(), "").toLowerCase();
if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")) {
return R.fail("请上传 .xls,.xlsx 标准格式文件");
}
AirportMasterImporter airportMasterImporter = new AirportMasterImporter(airportMasterService);
ExcelUtil.save(file, airportMasterImporter, AirportMasterExcel.class);
return R.success("操作成功");
@@ -149,6 +169,9 @@ public class AirportMasterController extends BladeController {
@Operation(summary = "导出空港机场主数据")
public void exportAirportMaster(@Parameter(hidden = true) @RequestParam Map<String, Object> airportMaster, HttpServletResponse response) {
Object ids = airportMaster.remove("ids");
airportMaster.remove("Blade-Auth");
airportMaster.remove("Authorization");
airportMaster.remove("access_token");
QueryWrapper<AirportMaster> queryWrapper = Condition.getQueryWrapper(airportMaster, AirportMaster.class);
if (Func.isNotEmpty(ids)) {
queryWrapper.lambda().in(AirportMaster::getId, Func.toLongList(ids.toString()));
@@ -168,4 +191,20 @@ public class AirportMasterController extends BladeController {
ExcelUtil.export(response, "空港机场主数据模板", "空港机场主数据表", list, AirportMasterExcel.class);
}
private Query normalizeQuery(Query query) {
if (query == null) {
query = new Query();
}
if (query.getCurrent() == null || query.getCurrent() < DEFAULT_CURRENT) {
query.setCurrent(DEFAULT_CURRENT);
}
if (query.getSize() == null || query.getSize() <= 0) {
query.setSize(DEFAULT_SIZE);
}
if (query.getSize() > MAX_SIZE) {
query.setSize(MAX_SIZE);
}
return query;
}
}

View File

@@ -0,0 +1,225 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.annotation.PreAuth;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.excel.CurrencyExcel;
import org.springblade.system.excel.CurrencyImporter;
import org.springblade.system.pojo.entity.Currency;
import org.springblade.system.pojo.vo.CurrencyVO;
import org.springblade.system.service.ICurrencyService;
import org.springblade.system.wrapper.CurrencyWrapper;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
/**
* 币种汇率 控制器
*
* @author Chill
*/
@NonDS
@RestController
@AllArgsConstructor
@PreAuth(menu = "currency")
@RequestMapping("/currency")
@Tag(name = "币种汇率", description = "币种汇率")
public class CurrencyController extends BladeController {
private final ICurrencyService currencyService;
/**
* 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入currency")
public R<CurrencyVO> detail(Currency currency) {
Currency detail = currencyService.getOne(Condition.getQueryWrapper(currency));
return R.data(CurrencyWrapper.build().entityVO(detail));
}
/**
* 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入currency")
public R<IPage<CurrencyVO>> list(CurrencyVO currency, Query query) {
IPage<CurrencyVO> pages = currencyService.selectCurrencyPage(Condition.getPage(query), currency);
return R.data(pages);
}
/**
* 有效汇率查询
*/
@GetMapping("/rate")
@ApiOperationSupport(order = 3)
@Operation(summary = "有效汇率查询", description = "根据币种编码和业务日期查询有效汇率")
public R<CurrencyVO> rate(@Parameter(description = "币种编码", required = true) @RequestParam String code,
@Parameter(description = "业务日期") @DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam(required = false) LocalDate businessDate) {
return R.data(currencyService.getEffectiveRate(code, businessDate));
}
/**
* 新增或修改
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 4)
@Operation(summary = "新增或修改", description = "传入currency")
public R submit(@Valid @RequestBody Currency currency) {
return R.status(currencyService.submit(currency));
}
/**
* 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 5)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(currencyService.deleteLogic(Func.toLongList(ids)));
}
/**
* 启用或停用
*/
@PostMapping("/status")
@ApiOperationSupport(order = 6)
@Operation(summary = "启用或停用", description = "传入id和status")
public R status(@Parameter(description = "主键", required = true) @RequestParam Long id,
@Parameter(description = "状态", required = true) @RequestParam Integer status) {
return R.status(currencyService.changeStatus(id, status));
}
/**
* 导入币种汇率
*/
@PostMapping("/import-currency")
@ApiOperationSupport(order = 7)
@Operation(summary = "导入币种汇率", description = "传入excel")
public R importCurrency(MultipartFile file) {
CurrencyImporter currencyImporter = new CurrencyImporter(currencyService);
ExcelUtil.save(file, currencyImporter, CurrencyExcel.class);
return R.success("操作成功");
}
/**
* 导出币种汇率
*/
@GetMapping("/export-currency")
@ApiOperationSupport(order = 8)
@Operation(summary = "导出币种汇率")
public void exportCurrency(CurrencyVO currency,
@RequestParam(required = false) String ids,
HttpServletResponse response) {
List<CurrencyExcel> list = currencyService.exportCurrency(buildExportQuery(currency, ids));
ExcelUtil.export(response, "币种汇率" + DateUtil.time(), "币种汇率表", list, CurrencyExcel.class);
}
/**
* 导出模板
*/
@GetMapping("/export-template")
@ApiOperationSupport(order = 9)
@Operation(summary = "导出模板")
public void exportTemplate(HttpServletResponse response) {
List<CurrencyExcel> list = new ArrayList<>();
ExcelUtil.export(response, "币种汇率模板", "币种汇率表", list, CurrencyExcel.class);
}
private LambdaQueryWrapper<Currency> buildExportQuery(CurrencyVO currency, String ids) {
LambdaQueryWrapper<Currency> queryWrapper = Wrappers.<Currency>lambdaQuery()
.eq(Currency::getIsDeleted, 0)
.orderByAsc(Currency::getCode)
.orderByDesc(Currency::getEffectiveDate);
if (Func.isNotEmpty(ids)) {
queryWrapper.in(Currency::getId, Func.toLongList(ids));
}
if (Func.isNotEmpty(currency.getCode())) {
queryWrapper.like(Currency::getCode, currency.getCode());
}
if (Func.isNotEmpty(currency.getName())) {
queryWrapper.like(Currency::getName, currency.getName());
}
if (Func.isNotEmpty(currency.getStatus())) {
queryWrapper.eq(Currency::getStatus, currency.getStatus());
}
if (Func.isNotEmpty(currency.getExchangeRate())) {
queryWrapper.eq(Currency::getExchangeRate, currency.getExchangeRate());
}
if (Func.isNotEmpty(currency.getDataSource())) {
queryWrapper.eq(Currency::getDataSource, currency.getDataSource());
}
if (Func.isNotEmpty(currency.getEffectiveDateStart())) {
queryWrapper.ge(Currency::getEffectiveDate, currency.getEffectiveDateStart());
}
if (Func.isNotEmpty(currency.getEffectiveDateEnd())) {
queryWrapper.le(Currency::getEffectiveDate, currency.getEffectiveDateEnd());
}
if (Func.isNotEmpty(currency.getExpiryDateStart())) {
queryWrapper.ge(Currency::getExpiryDate, currency.getExpiryDateStart());
}
if (Func.isNotEmpty(currency.getExpiryDateEnd())) {
queryWrapper.le(Currency::getExpiryDate, currency.getExpiryDateEnd());
}
if (Func.isNotEmpty(currency.getUpdateTimeStart())) {
queryWrapper.ge(Currency::getUpdateTime, currency.getUpdateTimeStart());
}
if (Func.isNotEmpty(currency.getUpdateTimeEnd())) {
queryWrapper.le(Currency::getUpdateTime, currency.getUpdateTimeEnd());
}
return queryWrapper;
}
}

View File

@@ -0,0 +1,121 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.annotation.PreAuth;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.pojo.entity.CustomerType;
import org.springblade.system.pojo.vo.CustomerTypeVO;
import org.springblade.system.service.ICustomerTypeService;
import org.springblade.system.wrapper.CustomerTypeWrapper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* 客商类型 控制器
*
* @author Chill
*/
@NonDS
@RestController
@AllArgsConstructor
@PreAuth(menu = "customer_type")
@RequestMapping("/customer-type")
@Tag(name = "客商类型", description = "客商类型")
public class CustomerTypeController extends BladeController {
private final ICustomerTypeService customerTypeService;
/**
* 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入customerType")
public R<CustomerTypeVO> detail(CustomerType customerType) {
CustomerType detail = customerTypeService.getOne(Condition.getQueryWrapper(customerType));
return R.data(CustomerTypeWrapper.build().entityVO(detail));
}
/**
* 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入customerType")
public R<IPage<CustomerTypeVO>> list(CustomerTypeVO customerType, Query query) {
IPage<CustomerTypeVO> pages = customerTypeService.selectCustomerTypePage(Condition.getPage(query), customerType);
return R.data(pages);
}
/**
* 新增或修改
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 3)
@Operation(summary = "新增或修改", description = "传入customerType")
public R submit(@Valid @RequestBody CustomerType customerType) {
return R.status(customerTypeService.submit(customerType));
}
/**
* 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 4)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(customerTypeService.deleteLogic(Func.toLongList(ids)));
}
/**
* 启用或停用
*/
@PostMapping("/status")
@ApiOperationSupport(order = 5)
@Operation(summary = "启用或停用", description = "传入id和status")
public R status(@Parameter(description = "主键", required = true) @RequestParam Long id,
@Parameter(description = "状态", required = true) @RequestParam Integer status) {
return R.status(customerTypeService.changeStatus(id, status));
}
}

View File

@@ -0,0 +1,121 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.annotation.PreAuth;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.pojo.entity.FeeItem;
import org.springblade.system.pojo.vo.FeeItemVO;
import org.springblade.system.service.IFeeItemService;
import org.springblade.system.wrapper.FeeItemWrapper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* 费用项 控制器
*
* @author Chill
*/
@NonDS
@RestController
@AllArgsConstructor
@PreAuth(menu = "fee_item")
@RequestMapping("/fee-item")
@Tag(name = "费用项", description = "费用项")
public class FeeItemController extends BladeController {
private final IFeeItemService feeItemService;
/**
* 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入feeItem")
public R<FeeItemVO> detail(FeeItem feeItem) {
FeeItem detail = feeItemService.getOne(Condition.getQueryWrapper(feeItem));
return R.data(FeeItemWrapper.build().entityVO(detail));
}
/**
* 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入feeItem")
public R<IPage<FeeItemVO>> list(FeeItemVO feeItem, Query query) {
IPage<FeeItemVO> pages = feeItemService.selectFeeItemPage(Condition.getPage(query), feeItem);
return R.data(pages);
}
/**
* 新增或修改
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 3)
@Operation(summary = "新增或修改", description = "传入feeItem")
public R submit(@Valid @RequestBody FeeItem feeItem) {
return R.status(feeItemService.submit(feeItem));
}
/**
* 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 4)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(feeItemService.deleteLogic(Func.toLongList(ids)));
}
/**
* 启用或停用
*/
@PostMapping("/status")
@ApiOperationSupport(order = 5)
@Operation(summary = "启用或停用", description = "传入id和status")
public R status(@Parameter(description = "主键", required = true) @RequestParam Long id,
@Parameter(description = "状态", required = true) @RequestParam Integer status) {
return R.status(feeItemService.changeStatus(id, status));
}
}

View File

@@ -74,6 +74,11 @@ import java.util.Map;
@Tag(name = "港口码头主数据", description = "港口码头主数据")
public class PortTerminalController extends BladeController {
private static final int DEFAULT_CURRENT = 1;
private static final int DEFAULT_SIZE = 10;
private static final int MAX_SIZE = 100;
private static final String SOURCE_INITIAL = "初始化导入";
private final IPortTerminalService portTerminalService;
/**
@@ -83,7 +88,13 @@ public class PortTerminalController extends BladeController {
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入portTerminal")
public R<PortTerminalVO> detail(PortTerminal portTerminal) {
PortTerminal detail = portTerminalService.getOne(Condition.getQueryWrapper(portTerminal));
if (Func.isEmpty(portTerminal.getId())) {
return R.fail("主键不能为空");
}
PortTerminal detail = portTerminalService.getById(portTerminal.getId());
if (Func.isEmpty(detail)) {
return R.fail("港口码头不存在");
}
return R.data(PortTerminalWrapper.build().entityVO(detail));
}
@@ -94,7 +105,7 @@ public class PortTerminalController extends BladeController {
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入portTerminal")
public R<IPage<PortTerminalVO>> list(PortTerminalVO portTerminal, Query query) {
IPage<PortTerminalVO> pages = portTerminalService.selectPortTerminalPage(Condition.getPage(query), portTerminal);
IPage<PortTerminalVO> pages = portTerminalService.selectPortTerminalPage(Condition.getPage(normalizeQuery(query)), portTerminal);
return R.data(pages);
}
@@ -115,6 +126,9 @@ public class PortTerminalController extends BladeController {
@ApiOperationSupport(order = 4)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
if (Func.isEmpty(ids)) {
return R.fail("主键不能为空");
}
return R.status(portTerminalService.deleteLogic(Func.toLongList(ids)));
}
@@ -146,6 +160,13 @@ public class PortTerminalController extends BladeController {
@ApiOperationSupport(order = 7)
@Operation(summary = "导入港口码头主数据", description = "传入excel")
public R importPortTerminal(MultipartFile file) {
if (file == null || file.isEmpty()) {
return R.fail("上传文件不能为空");
}
String fileName = Func.toStrWithEmpty(file.getOriginalFilename(), "").toLowerCase();
if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")) {
return R.fail("请上传 .xls,.xlsx 标准格式文件");
}
PortTerminalImporter portTerminalImporter = new PortTerminalImporter(portTerminalService);
ExcelUtil.save(file, portTerminalImporter, PortTerminalExcel.class);
return R.success("操作成功");
@@ -159,7 +180,12 @@ public class PortTerminalController extends BladeController {
@Operation(summary = "导出港口码头主数据")
public void exportPortTerminal(@Parameter(hidden = true) @RequestParam Map<String, Object> portTerminal, HttpServletResponse response) {
Object ids = portTerminal.remove("ids");
Object dataSource = portTerminal.remove("dataSource");
portTerminal.remove("Blade-Auth");
portTerminal.remove("Authorization");
portTerminal.remove("access_token");
QueryWrapper<PortTerminal> queryWrapper = Condition.getQueryWrapper(portTerminal, PortTerminal.class);
applyDataSourceCondition(queryWrapper, dataSource);
if (Func.isNotEmpty(ids)) {
queryWrapper.lambda().in(PortTerminal::getId, Func.toLongList(ids.toString()));
}
@@ -178,4 +204,32 @@ public class PortTerminalController extends BladeController {
ExcelUtil.export(response, "港口码头主数据模板", "港口码头主数据表", list, PortTerminalExcel.class);
}
private Query normalizeQuery(Query query) {
if (query == null) {
query = new Query();
}
if (query.getCurrent() == null || query.getCurrent() < DEFAULT_CURRENT) {
query.setCurrent(DEFAULT_CURRENT);
}
if (query.getSize() == null || query.getSize() <= 0) {
query.setSize(DEFAULT_SIZE);
}
if (query.getSize() > MAX_SIZE) {
query.setSize(MAX_SIZE);
}
return query;
}
private void applyDataSourceCondition(QueryWrapper<PortTerminal> queryWrapper, Object dataSource) {
String value = Func.toStrWithEmpty(dataSource, "");
if (Func.isEmpty(value)) {
return;
}
if (SOURCE_INITIAL.equals(value)) {
queryWrapper.in("data_source", SOURCE_INITIAL, "初始导入");
} else {
queryWrapper.eq("data_source", value);
}
}
}

View File

@@ -74,6 +74,13 @@ import java.util.Map;
@Tag(name = "铁路车站主数据", description = "铁路车站主数据")
public class RailwayStationController extends BladeController {
private static final int DEFAULT_CURRENT = 1;
private static final int DEFAULT_SIZE = 10;
private static final int MAX_SIZE = 100;
private static final String SOURCE_INITIAL = "初始化导入";
private static final String SOURCE_BATCH = "批量";
private static final String SOURCE_MANUAL = "手动";
private final IRailwayStationService railwayStationService;
/**
@@ -83,7 +90,13 @@ public class RailwayStationController extends BladeController {
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入railwayStation")
public R<RailwayStationVO> detail(RailwayStation railwayStation) {
RailwayStation detail = railwayStationService.getOne(Condition.getQueryWrapper(railwayStation));
if (Func.isEmpty(railwayStation.getId())) {
return R.fail("主键不能为空");
}
RailwayStation detail = railwayStationService.getById(railwayStation.getId());
if (Func.isEmpty(detail)) {
return R.fail("铁路车站不存在");
}
return R.data(RailwayStationWrapper.build().entityVO(detail));
}
@@ -94,7 +107,7 @@ public class RailwayStationController extends BladeController {
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入railwayStation")
public R<IPage<RailwayStationVO>> list(RailwayStationVO railwayStation, Query query) {
IPage<RailwayStationVO> pages = railwayStationService.selectRailwayStationPage(Condition.getPage(query), railwayStation);
IPage<RailwayStationVO> pages = railwayStationService.selectRailwayStationPage(Condition.getPage(normalizeQuery(query)), railwayStation);
return R.data(pages);
}
@@ -115,6 +128,9 @@ public class RailwayStationController extends BladeController {
@ApiOperationSupport(order = 4)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
if (Func.isEmpty(ids)) {
return R.fail("主键不能为空");
}
return R.status(railwayStationService.deleteLogic(Func.toLongList(ids)));
}
@@ -136,6 +152,13 @@ public class RailwayStationController extends BladeController {
@ApiOperationSupport(order = 6)
@Operation(summary = "导入铁路车站主数据", description = "传入excel")
public R importRailwayStation(MultipartFile file) {
if (file == null || file.isEmpty()) {
return R.fail("上传文件不能为空");
}
String fileName = Func.toStrWithEmpty(file.getOriginalFilename(), "").toLowerCase();
if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")) {
return R.fail("请上传 .xls,.xlsx 标准格式文件");
}
RailwayStationImporter railwayStationImporter = new RailwayStationImporter(railwayStationService);
ExcelUtil.save(file, railwayStationImporter, RailwayStationExcel.class);
return R.success("操作成功");
@@ -149,7 +172,12 @@ public class RailwayStationController extends BladeController {
@Operation(summary = "导出铁路车站主数据")
public void exportRailwayStation(@Parameter(hidden = true) @RequestParam Map<String, Object> railwayStation, HttpServletResponse response) {
Object ids = railwayStation.remove("ids");
Object dataSource = railwayStation.remove("dataSource");
railwayStation.remove("Blade-Auth");
railwayStation.remove("Authorization");
railwayStation.remove("access_token");
QueryWrapper<RailwayStation> queryWrapper = Condition.getQueryWrapper(railwayStation, RailwayStation.class);
applyDataSourceCondition(queryWrapper, dataSource);
if (Func.isNotEmpty(ids)) {
queryWrapper.lambda().in(RailwayStation::getId, Func.toLongList(ids.toString()));
}
@@ -168,4 +196,36 @@ public class RailwayStationController extends BladeController {
ExcelUtil.export(response, "铁路车站主数据模板", "铁路车站主数据表", list, RailwayStationExcel.class);
}
private Query normalizeQuery(Query query) {
if (query == null) {
query = new Query();
}
if (query.getCurrent() == null || query.getCurrent() < DEFAULT_CURRENT) {
query.setCurrent(DEFAULT_CURRENT);
}
if (query.getSize() == null || query.getSize() <= 0) {
query.setSize(DEFAULT_SIZE);
}
if (query.getSize() > MAX_SIZE) {
query.setSize(MAX_SIZE);
}
return query;
}
private void applyDataSourceCondition(QueryWrapper<RailwayStation> queryWrapper, Object dataSource) {
String value = Func.toStrWithEmpty(dataSource, "");
if (Func.isEmpty(value)) {
return;
}
if (SOURCE_INITIAL.equals(value)) {
queryWrapper.in("data_source", SOURCE_INITIAL, "初始导入");
} else if (SOURCE_BATCH.equals(value)) {
queryWrapper.in("data_source", SOURCE_BATCH, "批量导入");
} else if (SOURCE_MANUAL.equals(value)) {
queryWrapper.in("data_source", SOURCE_MANUAL, "手动录入", "手工导入");
} else {
queryWrapper.eq("data_source", value);
}
}
}

View File

@@ -82,7 +82,7 @@ public class AirportMasterExcel implements Serializable {
@ExcelProperty("数据来源")
private String dataSource;
@ExcelProperty("状态")
@ExcelProperty("启停状态")
private String statusName;
@ExcelProperty("备注")

View File

@@ -0,0 +1,83 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.excel;
import cn.idev.excel.annotation.ExcelIgnore;
import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.annotation.write.style.ColumnWidth;
import cn.idev.excel.annotation.write.style.ContentRowHeight;
import cn.idev.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 币种汇率 Excel
*
* @author Chill
*/
@Data
@ColumnWidth(18)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class CurrencyExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@ExcelIgnore
private Long id;
@ExcelProperty("币种代码")
private String code;
@ExcelProperty("币种中文名称")
private String name;
@ExcelProperty("汇率")
private BigDecimal exchangeRate;
@ExcelProperty("生效日期")
private LocalDate effectiveDate;
@ExcelProperty("状态")
private String statusName;
@ExcelProperty("来源")
private String dataSource;
@ExcelProperty("失效日期")
private LocalDate expiryDate;
@ExcelProperty("备注")
private String remark;
@ExcelProperty("报错文案")
private String errorMessage;
}

View File

@@ -0,0 +1,49 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.excel;
import lombok.RequiredArgsConstructor;
import org.springblade.core.excel.support.ExcelImporter;
import org.springblade.system.service.ICurrencyService;
import java.util.List;
/**
* 币种汇率导入类
*
* @author Chill
*/
@RequiredArgsConstructor
public class CurrencyImporter implements ExcelImporter<CurrencyExcel> {
private final ICurrencyService service;
@Override
public void save(List<CurrencyExcel> data) {
service.importCurrency(data);
}
}

View File

@@ -82,7 +82,7 @@ public class PortTerminalExcel implements Serializable {
@ExcelProperty("数据来源")
private String dataSource;
@ExcelProperty("状态")
@ExcelProperty("启停状态")
private String statusName;
@ExcelProperty("备注")

View File

@@ -82,7 +82,7 @@ public class RailwayStationExcel implements Serializable {
@ExcelProperty("数据来源")
private String dataSource;
@ExcelProperty("状态")
@ExcelProperty("启停状态")
private String statusName;
@ExcelProperty("备注")

View File

@@ -28,7 +28,27 @@
<select id="selectAirportMasterPage" resultMap="airportMasterResultMap">
SELECT
*
id,
create_user,
create_dept,
create_time,
update_user,
update_time,
status,
is_deleted,
code,
iata_code,
icao_code,
name,
short_name,
province_code,
province_name,
city_code,
city_name,
longitude,
latitude,
CASE WHEN data_source = '手工导入' THEN '手动录入' ELSE data_source END AS data_source,
remark
FROM
blade_airport_master
WHERE
@@ -41,8 +61,21 @@
<bind name="nameLike" value="'%' + airportMaster.name + '%'"/>
AND name LIKE #{nameLike}
</if>
<if test="airportMaster.iataCode != null and airportMaster.iataCode != ''">
AND iata_code = #{airportMaster.iataCode}
</if>
<if test="airportMaster.icaoCode != null and airportMaster.icaoCode != ''">
AND icao_code = #{airportMaster.icaoCode}
</if>
<if test="airportMaster.dataSource != null and airportMaster.dataSource != ''">
<choose>
<when test="airportMaster.dataSource == '手动录入'">
AND data_source IN ('手动录入', '手工导入')
</when>
<otherwise>
AND data_source = #{airportMaster.dataSource}
</otherwise>
</choose>
</if>
<if test="airportMaster.status != null">
AND status = #{airportMaster.status}

View File

@@ -0,0 +1,52 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.system.pojo.entity.Currency;
import org.springblade.system.pojo.vo.CurrencyVO;
import java.util.List;
/**
* 币种主数据 Mapper 接口
*
* @author Chill
*/
public interface CurrencyMapper extends BaseMapper<Currency> {
/**
* 自定义分页
*
* @param page 分页参数
* @param currency 查询参数
* @return 币种分页
*/
List<CurrencyVO> selectCurrencyPage(IPage<CurrencyVO> page, @Param("currency") CurrencyVO currency);
}

View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.system.mapper.CurrencyMapper">
<resultMap id="currencyResultMap" type="org.springblade.system.pojo.vo.CurrencyVO">
<result column="id" property="id"/>
<result column="create_user" property="createUser"/>
<result column="create_dept" property="createDept"/>
<result column="create_time" property="createTime"/>
<result column="update_user" property="updateUser"/>
<result column="update_time" property="updateTime"/>
<result column="status" property="status"/>
<result column="is_deleted" property="isDeleted"/>
<result column="code" property="code"/>
<result column="name" property="name"/>
<result column="english_name" property="englishName"/>
<result column="symbol" property="symbol"/>
<result column="decimal_places" property="decimalPlaces"/>
<result column="exchange_rate" property="exchangeRate"/>
<result column="effective_date" property="effectiveDate"/>
<result column="expiry_date" property="expiryDate"/>
<result column="is_base_currency" property="baseCurrency"/>
<result column="data_source" property="dataSource"/>
<result column="remark" property="remark"/>
</resultMap>
<select id="selectCurrencyPage" resultMap="currencyResultMap">
SELECT
*
FROM
blade_currency
WHERE
is_deleted = 0
<if test="currency.code != null and currency.code != ''">
<bind name="codeLike" value="'%' + currency.code + '%'"/>
AND code LIKE #{codeLike}
</if>
<if test="currency.name != null and currency.name != ''">
<bind name="nameLike" value="'%' + currency.name + '%'"/>
AND name LIKE #{nameLike}
</if>
<if test="currency.englishName != null and currency.englishName != ''">
<bind name="englishNameLike" value="'%' + currency.englishName + '%'"/>
AND english_name LIKE #{englishNameLike}
</if>
<if test="currency.status != null">
AND status = #{currency.status}
</if>
<if test="currency.exchangeRate != null">
AND exchange_rate = #{currency.exchangeRate}
</if>
<if test="currency.dataSource != null and currency.dataSource != ''">
AND data_source = #{currency.dataSource}
</if>
<if test="currency.effectiveDateStart != null">
AND effective_date &gt;= #{currency.effectiveDateStart}
</if>
<if test="currency.effectiveDateEnd != null">
AND effective_date &lt;= #{currency.effectiveDateEnd}
</if>
<if test="currency.expiryDateStart != null">
AND expiry_date &gt;= #{currency.expiryDateStart}
</if>
<if test="currency.expiryDateEnd != null">
AND expiry_date &lt;= #{currency.expiryDateEnd}
</if>
<if test="currency.updateTimeStart != null">
AND update_time &gt;= #{currency.updateTimeStart}
</if>
<if test="currency.updateTimeEnd != null">
AND update_time &lt;= #{currency.updateTimeEnd}
</if>
ORDER BY code ASC, effective_date DESC, create_time DESC
</select>
</mapper>

View File

@@ -0,0 +1,52 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.system.pojo.entity.CustomerType;
import org.springblade.system.pojo.vo.CustomerTypeVO;
import java.util.List;
/**
* 客商类型 Mapper 接口
*
* @author Chill
*/
public interface CustomerTypeMapper extends BaseMapper<CustomerType> {
/**
* 自定义分页
*
* @param page 分页参数
* @param customerType 查询参数
* @return 客商类型分页
*/
List<CustomerTypeVO> selectCustomerTypePage(IPage<CustomerTypeVO> page, @Param("customerType") CustomerTypeVO customerType);
}

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.system.mapper.CustomerTypeMapper">
<resultMap id="customerTypeResultMap" type="org.springblade.system.pojo.vo.CustomerTypeVO">
<result column="id" property="id"/>
<result column="create_user" property="createUser"/>
<result column="create_dept" property="createDept"/>
<result column="create_time" property="createTime"/>
<result column="update_user" property="updateUser"/>
<result column="update_time" property="updateTime"/>
<result column="status" property="status"/>
<result column="is_deleted" property="isDeleted"/>
<result column="name" property="name"/>
<result column="english_name" property="englishName"/>
</resultMap>
<select id="selectCustomerTypePage" resultMap="customerTypeResultMap">
SELECT
*
FROM
blade_customer_type
WHERE
is_deleted = 0
<if test="customerType.name != null and customerType.name != ''">
<bind name="nameLike" value="'%' + customerType.name + '%'"/>
AND name LIKE #{nameLike}
</if>
<if test="customerType.englishName != null and customerType.englishName != ''">
<bind name="englishNameLike" value="'%' + customerType.englishName + '%'"/>
AND english_name LIKE #{englishNameLike}
</if>
<if test="customerType.status != null">
AND status = #{customerType.status}
</if>
ORDER BY update_time DESC, create_time DESC
</select>
</mapper>

View File

@@ -0,0 +1,52 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.system.pojo.entity.FeeItem;
import org.springblade.system.pojo.vo.FeeItemVO;
import java.util.List;
/**
* 费用项 Mapper 接口
*
* @author Chill
*/
public interface FeeItemMapper extends BaseMapper<FeeItem> {
/**
* 自定义分页
*
* @param page 分页参数
* @param feeItem 查询参数
* @return 费用项分页
*/
List<FeeItemVO> selectFeeItemPage(IPage<FeeItemVO> page, @Param("feeItem") FeeItemVO feeItem);
}

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.system.mapper.FeeItemMapper">
<resultMap id="feeItemResultMap" type="org.springblade.system.pojo.vo.FeeItemVO">
<result column="id" property="id"/>
<result column="create_user" property="createUser"/>
<result column="create_dept" property="createDept"/>
<result column="create_time" property="createTime"/>
<result column="update_user" property="updateUser"/>
<result column="update_time" property="updateTime"/>
<result column="status" property="status"/>
<result column="is_deleted" property="isDeleted"/>
<result column="name" property="name"/>
<result column="english_name" property="englishName"/>
</resultMap>
<select id="selectFeeItemPage" resultMap="feeItemResultMap">
SELECT
*
FROM
blade_fee_item
WHERE
is_deleted = 0
<if test="feeItem.name != null and feeItem.name != ''">
<bind name="nameLike" value="'%' + feeItem.name + '%'"/>
AND name LIKE #{nameLike}
</if>
<if test="feeItem.englishName != null and feeItem.englishName != ''">
<bind name="englishNameLike" value="'%' + feeItem.englishName + '%'"/>
AND english_name LIKE #{englishNameLike}
</if>
<if test="feeItem.status != null">
AND status = #{feeItem.status}
</if>
ORDER BY update_time DESC, create_time DESC
</select>
</mapper>

View File

@@ -15,6 +15,7 @@
<result column="category" property="category"/>
<result column="action" property="action"/>
<result column="is_open" property="isOpen"/>
<result column="is_display" property="isDisplay"/>
<result column="remark" property="remark"/>
<result column="is_deleted" property="isDeleted"/>
</resultMap>
@@ -31,6 +32,7 @@
<result column="category" property="category"/>
<result column="action" property="action"/>
<result column="is_open" property="isOpen"/>
<result column="is_display" property="isDisplay"/>
<result column="remark" property="remark"/>
<result column="is_deleted" property="isDeleted"/>
<result column="has_children" property="hasChildren"/>

View File

@@ -27,7 +27,26 @@
<select id="selectPortTerminalPage" resultMap="portTerminalResultMap">
SELECT
*
id,
create_user,
create_dept,
create_time,
update_user,
update_time,
status,
is_deleted,
code,
name,
category,
parent_id,
parent_code,
parent_name,
country,
city,
CASE WHEN longitude BETWEEN -180 AND 180 THEN longitude ELSE NULL END AS longitude,
CASE WHEN latitude BETWEEN -90 AND 90 THEN latitude ELSE NULL END AS latitude,
CASE WHEN data_source = '初始导入' THEN '初始化导入' ELSE data_source END AS data_source,
remark
FROM
blade_port_terminal
WHERE
@@ -44,7 +63,14 @@
AND category = #{portTerminal.category}
</if>
<if test="portTerminal.dataSource != null and portTerminal.dataSource != ''">
<choose>
<when test="portTerminal.dataSource == '初始化导入'">
AND data_source IN ('初始化导入', '初始导入')
</when>
<otherwise>
AND data_source = #{portTerminal.dataSource}
</otherwise>
</choose>
</if>
<if test="portTerminal.city != null and portTerminal.city != ''">
AND city = #{portTerminal.city}

View File

@@ -28,7 +28,32 @@
<select id="selectRailwayStationPage" resultMap="railwayStationResultMap">
SELECT
*
id,
create_user,
create_dept,
create_time,
update_user,
update_time,
status,
is_deleted,
code,
tmis_code,
telegraph_code,
name,
railway_line,
province_code,
province_name,
city_code,
city_name,
longitude,
latitude,
CASE
WHEN data_source = '初始导入' THEN '初始化导入'
WHEN data_source = '批量导入' THEN '批量'
WHEN data_source IN ('手工导入', '手动录入') THEN '手动'
ELSE data_source
END AS data_source,
remark
FROM
blade_railway_station
WHERE
@@ -41,8 +66,27 @@
<bind name="nameLike" value="'%' + railwayStation.name + '%'"/>
AND name LIKE #{nameLike}
</if>
<if test="railwayStation.tmisCode != null and railwayStation.tmisCode != ''">
AND tmis_code = #{railwayStation.tmisCode}
</if>
<if test="railwayStation.telegraphCode != null and railwayStation.telegraphCode != ''">
AND telegraph_code = #{railwayStation.telegraphCode}
</if>
<if test="railwayStation.dataSource != null and railwayStation.dataSource != ''">
<choose>
<when test="railwayStation.dataSource == '初始化导入'">
AND data_source IN ('初始化导入', '初始导入')
</when>
<when test="railwayStation.dataSource == '批量'">
AND data_source IN ('批量', '批量导入')
</when>
<when test="railwayStation.dataSource == '手动'">
AND data_source IN ('手动', '手动录入', '手工导入')
</when>
<otherwise>
AND data_source = #{railwayStation.dataSource}
</otherwise>
</choose>
</if>
<if test="railwayStation.status != null">
AND status = #{railwayStation.status}

Some files were not shown because too many files have changed in this diff Show More