master
杜函宇 9 months ago
parent 2ad098eb9f
commit 9b15da3af9

@ -132,7 +132,6 @@
<artifactId>fastjson2</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!-- Token生成与解析-->
<dependency>
<groupId>io.jsonwebtoken</groupId>

@ -16,7 +16,17 @@
</description>
<dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.23</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>
<!-- spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
@ -25,18 +35,26 @@
</dependency>
<!-- swagger3-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>io.springfox</groupId>-->
<!-- <artifactId>springfox-boot-starter</artifactId>-->
<!-- </dependency>-->
<!-- 防止进入swagger页面报类型转换错误排除3.0.0中的引用手动增加1.6.2版本 -->
<!-- <dependency>-->
<!-- <groupId>io.swagger</groupId>-->
<!-- <artifactId>swagger-models</artifactId>-->
<!-- <version>1.6.2</version>-->
<!-- </dependency>-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.6.2</version>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.6.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>

@ -3,6 +3,11 @@ package com.ruoyi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.Environment;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
*
@ -14,17 +19,21 @@ public class RuoYiApplication
{
public static void main(String[] args)
{
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" +
" |(_ o _) / _( )_ .' \n" +
" | (_,_).' __ ___(_ o _)' \n" +
" | |\\ \\ | || |(_,_)' \n" +
" | | \\ `' /| `-' / \n" +
" | | \\ / \\ / \n" +
" ''-' `'-' `-..-' ");
ConfigurableApplicationContext application = SpringApplication.run(RuoYiApplication.class, args);
Environment env = application.getEnvironment();
String ip;
try {
ip = InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
throw new RuntimeException(e);
}
String port = env.getProperty("server.port");
String path = env.getProperty("server.servlet.context-path");
path = path.isEmpty() ? "" : path;
System.out.println("\n----------------------------------------------------------\n\t"
+ "Application is running! Access URLs:\n\t"
+ "swagger-ui: http://localhost:" + port + path + "doc.html\n\t"
+ "swagger-ui: http://" + ip + ":" + port + path + "doc.html\n\t"
+ "----------------------------------------------------------");
}
}

@ -1,125 +1,125 @@
package com.ruoyi.web.core.config;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.ruoyi.common.config.RuoYiConfig;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.Contact;
import springfox.documentation.service.SecurityReference;
import springfox.documentation.service.SecurityScheme;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
/**
* Swagger2
*
* @author ruoyi
*/
@Configuration
public class SwaggerConfig
{
/** 系统基础配置 */
@Autowired
private RuoYiConfig ruoyiConfig;
/** 是否开启swagger */
@Value("${swagger.enabled}")
private boolean enabled;
/** 设置请求的统一前缀 */
@Value("${swagger.pathMapping}")
private String pathMapping;
/**
* API
*/
@Bean
public Docket createRestApi()
{
return new Docket(DocumentationType.OAS_30)
// 是否启用Swagger
.enable(enabled)
// 用来创建该API的基本信息展示在文档的页面中自定义展示的信息
.apiInfo(apiInfo())
// 设置哪些接口暴露给Swagger展示
.select()
// 扫描所有有注解的api用这种方式更灵活
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 扫描指定包中的swagger注解
// .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
// 扫描所有 .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
/* 设置安全模式swagger可以设置访问token */
.securitySchemes(securitySchemes())
.securityContexts(securityContexts())
.pathMapping(pathMapping);
}
/**
* tokenAuthorization
*/
private List<SecurityScheme> securitySchemes()
{
List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>();
apiKeyList.add(new ApiKey("Authorization", "Authorization", In.HEADER.toValue()));
return apiKeyList;
}
/**
*
*/
private List<SecurityContext> securityContexts()
{
List<SecurityContext> securityContexts = new ArrayList<>();
securityContexts.add(
SecurityContext.builder()
.securityReferences(defaultAuth())
.operationSelector(o -> o.requestMappingPattern().matches("/.*"))
.build());
return securityContexts;
}
/**
*
*/
private List<SecurityReference> defaultAuth()
{
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
List<SecurityReference> securityReferences = new ArrayList<>();
securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
return securityReferences;
}
/**
*
*/
private ApiInfo apiInfo()
{
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
.title("标题若依管理系统_接口文档")
// 描述
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
// 作者信息
.contact(new Contact(ruoyiConfig.getName(), null, null))
// 版本
.version("版本号:" + ruoyiConfig.getVersion())
.build();
}
}
//package com.ruoyi.web.core.config;
//
//import java.util.ArrayList;
//import java.util.List;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import com.ruoyi.common.config.RuoYiConfig;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.models.auth.In;
//import springfox.documentation.builders.ApiInfoBuilder;
//import springfox.documentation.builders.PathSelectors;
//import springfox.documentation.builders.RequestHandlerSelectors;
//import springfox.documentation.service.ApiInfo;
//import springfox.documentation.service.ApiKey;
//import springfox.documentation.service.AuthorizationScope;
//import springfox.documentation.service.Contact;
//import springfox.documentation.service.SecurityReference;
//import springfox.documentation.service.SecurityScheme;
//import springfox.documentation.spi.DocumentationType;
//import springfox.documentation.spi.service.contexts.SecurityContext;
//import springfox.documentation.spring.web.plugins.Docket;
//
///**
// * Swagger2的接口配置
// *
// * @author ruoyi
// */
//@Configuration
//public class SwaggerConfig
//{
// /** 系统基础配置 */
// @Autowired
// private RuoYiConfig ruoyiConfig;
//
// /** 是否开启swagger */
// @Value("${swagger.enabled}")
// private boolean enabled;
//
// /** 设置请求的统一前缀 */
// @Value("${swagger.pathMapping}")
// private String pathMapping;
//
// /**
// * 创建API
// */
// @Bean
// public Docket createRestApi()
// {
// return new Docket(DocumentationType.OAS_30)
// // 是否启用Swagger
// .enable(enabled)
// // 用来创建该API的基本信息展示在文档的页面中自定义展示的信息
// .apiInfo(apiInfo())
// // 设置哪些接口暴露给Swagger展示
// .select()
// // 扫描所有有注解的api用这种方式更灵活
// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// // 扫描指定包中的swagger注解
// // .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
// // 扫描所有 .apis(RequestHandlerSelectors.any())
// .paths(PathSelectors.any())
// .build()
// /* 设置安全模式swagger可以设置访问token */
// .securitySchemes(securitySchemes())
// .securityContexts(securityContexts())
// .pathMapping(pathMapping);
// }
//
// /**
// * 安全模式这里指定token通过Authorization头请求头传递
// */
// private List<SecurityScheme> securitySchemes()
// {
// List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>();
// apiKeyList.add(new ApiKey("Authorization", "Authorization", In.HEADER.toValue()));
// return apiKeyList;
// }
//
// /**
// * 安全上下文
// */
// private List<SecurityContext> securityContexts()
// {
// List<SecurityContext> securityContexts = new ArrayList<>();
// securityContexts.add(
// SecurityContext.builder()
// .securityReferences(defaultAuth())
// .operationSelector(o -> o.requestMappingPattern().matches("/.*"))
// .build());
// return securityContexts;
// }
//
// /**
// * 默认的安全上引用
// */
// private List<SecurityReference> defaultAuth()
// {
// AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
// AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
// authorizationScopes[0] = authorizationScope;
// List<SecurityReference> securityReferences = new ArrayList<>();
// securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
// return securityReferences;
// }
//
// /**
// * 添加摘要信息
// */
// private ApiInfo apiInfo()
// {
// // 用ApiInfoBuilder进行定制
// return new ApiInfoBuilder()
// // 设置标题
// .title("标题若依管理系统_接口文档")
// // 描述
// .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
// // 作者信息
// .contact(new Contact(ruoyiConfig.getName(), null, null))
// // 版本
// .version("版本号:" + ruoyiConfig.getVersion())
// .build();
// }
//}

@ -0,0 +1,82 @@
package com.ruoyi.ykmap.controller;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.ykmap.entity.response.*;
import com.ruoyi.ykmap.service.LineService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 线
* @author du
* @since 2024/8/14 10:40
*/
@RestController
@RequestMapping("/ykmap/line")
@Api(tags = "大屏线路接口")
public class LineController extends BaseController {
@Resource
private LineService lineService;
@ApiOperation(value = "根据车辆id查询线路,装备,人员,标的物", response = GetCarIdInfoResponse.class)
@GetMapping("/getCarIdInfo/{id}")
public AjaxResult getCarIdInfo(@PathVariable String id) {
return success(lineService.getCarIdInfo(id));
}
@ApiOperation(value = "任务明细弹窗线路信息", response = SelectLineInfoResponse.class)
@GetMapping("/selectLineInfo/{id}")
public AjaxResult selectLineInfo(@PathVariable String id) {
return success(lineService.selectLineInfo(id));
}
@ApiOperation(value = "任务明细弹窗装备信息", response = EquipResponse.class)
@GetMapping("/equip/{id}")
public AjaxResult equip(@PathVariable String id) {
return success(lineService.equip(id));
}
@ApiOperation(value = "任务明细弹窗人员信息", response = UserInfoResponse.class)
@GetMapping("/userInfo/{id}")
public AjaxResult userInfo(@PathVariable String id) {
return success(lineService.userInfo(id));
}
@ApiOperation(value = "任务明细弹窗标的物信息", response = ItemsResponse.class)
@GetMapping("/items/{id}")
public AjaxResult items(@PathVariable String id) {
return success(lineService.items(id));
}
@ApiOperation(value = "线路模板具体信息", response = LineTemplateResponse.class)
@GetMapping("/lineTemplate")
@DataSource(value = DataSourceType.SLAVE)
public AjaxResult lineTemplate(String area) {
return success(lineService.lineTemplate(area));
}
@ApiOperation(value = "业务已覆盖省份清单", response = SearchCityResponse.class)
@GetMapping("/searchCity")
@DataSource(value = DataSourceType.SLAVE)
public AjaxResult searchCity() {
return success(lineService.searchCity());
}
@ApiOperation(value = "业务已覆盖省份个数", response = SearchCityCountResponse.class)
@GetMapping("/searchCityCount")
@DataSource(value = DataSourceType.SLAVE)
public AjaxResult searchCityCount() {
return success(lineService.searchCityCount());
}
}

@ -0,0 +1,98 @@
package com.ruoyi.ykmap.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.ykmap.entity.Yxlgl;
import com.ruoyi.ykmap.entity.request.YxlglRequest;
import com.ruoyi.ykmap.service.YxlglService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.Serializable;
/**
* 线exl_operation_line_data
*
* @author du
* @since 2024/8/13 9:56
*/
@RestController
@RequestMapping("/ykmap/xlgl")
@Api(tags = "【营运管理部门】:线路管理数据")
@DataSource(value = DataSourceType.SLAVE)
public class YxlglController extends BaseController {
/**
*
*/
@Resource
private YxlglService yxlglService;
/**
*
*
* @param page
* @param yxlglRequest
* @return
*/
@ApiOperation(value = "分页查询所有数据", response = Yxlgl.class)
@GetMapping
public AjaxResult selectAll(Page<Yxlgl> page, YxlglRequest yxlglRequest) {
return success(yxlglService.page(page, yxlglRequest));
}
/**
*
*
* @param id
* @return
*/
@ApiOperation(value = "通过主键查询单条数据", response = Yxlgl.class)
@GetMapping("{id}")
public AjaxResult selectOne(@PathVariable Serializable id) {
return success(yxlglService.getById(id));
}
/**
*
*
* @param xlgl
* @return
*/
@ApiOperation(value = "新增数据")
@PostMapping
public AjaxResult insert(@RequestBody Yxlgl xlgl) {
return success(yxlglService.save(xlgl));
}
/**
*
*
* @param xlgl
* @return
*/
@ApiOperation(value = "修改数据")
@PostMapping("/edit")
public AjaxResult update(@RequestBody Yxlgl xlgl) {
return success(yxlglService.updateById(xlgl));
}
/**
*
*
* @param id
* @return
*/
@ApiOperation(value = "删除数据")
@GetMapping("/delete/{id}")
public AjaxResult delete(@PathVariable Long id) {
return success(yxlglService.removeById(id));
}
}

@ -0,0 +1,100 @@
package com.ruoyi.ykmap.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.ykmap.entity.Yxlgl;
import com.ruoyi.ykmap.entity.Yywtz;
import com.ruoyi.ykmap.entity.Yywzl;
import com.ruoyi.ykmap.entity.request.YxlglRequest;
import com.ruoyi.ykmap.service.YxlglService;
import com.ruoyi.ykmap.service.YywtzService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.Serializable;
/**
* exl_operation_expansion_data
*
* @author du
* @since 2024/8/13 9:56
*/
@RestController
@RequestMapping("/ykmap/ywtz")
@Api(tags = "【营运管理部门】:业务拓展数据")
@DataSource(value = DataSourceType.SLAVE)
public class YywtzController extends BaseController {
/**
*
*/
@Resource
private YywtzService yywtzService;
/**
*
*
* @param page
* @return
*/
@ApiOperation(value = "分页查询所有数据", response = Yywtz.class)
@GetMapping
public AjaxResult selectAll(Page<Yywtz> page) {
return success(yywtzService.page(page));
}
/**
*
*
* @param id
* @return
*/
@ApiOperation(value = "通过主键查询单条数据", response = Yywtz.class)
@GetMapping("{id}")
public AjaxResult selectOne(@PathVariable Serializable id) {
return success(yywtzService.getById(id));
}
/**
*
*
* @param xlgl
* @return
*/
@ApiOperation(value = "新增数据")
@PostMapping
public AjaxResult insert(@RequestBody Yywtz xlgl) {
return success(yywtzService.save(xlgl));
}
/**
*
*
* @param xlgl
* @return
*/
@ApiOperation(value = "修改数据")
@PostMapping("/edit")
public AjaxResult update(@RequestBody Yywtz xlgl) {
return success(yywtzService.updateById(xlgl));
}
/**
*
*
* @param id
* @return
*/
@ApiOperation(value = "删除数据")
@GetMapping("/delete/{id}")
public AjaxResult delete(@PathVariable Long id) {
return success(yywtzService.removeById(id));
}
}

@ -0,0 +1,96 @@
package com.ruoyi.ykmap.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.ykmap.entity.Yywzl;
import com.ruoyi.ykmap.service.YywzlService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.Serializable;
/**
* exl_operation_overview_data_route
*
* @author du
* @since 2024/8/13 9:56
*/
@RestController
@RequestMapping("/ykmap/ywzl")
@Api(tags = "【营运管理部门】:业务总览数据")
@DataSource(value = DataSourceType.SLAVE)
public class YywzlController extends BaseController {
/**
*
*/
@Resource
private YywzlService yywzlService;
/**
*
*
* @param page
* @return
*/
@ApiOperation(value = "分页查询所有数据", response = Yywzl.class)
@GetMapping
public AjaxResult selectAll(Page<Yywzl> page) {
return success(yywzlService.page(page));
}
/**
*
*
* @param id
* @return
*/
@ApiOperation(value = "通过主键查询单条数据", response = Yywzl.class)
@GetMapping("{id}")
public AjaxResult selectOne(@PathVariable Serializable id) {
return success(yywzlService.getById(id));
}
/**
*
*
* @param xlgl
* @return
*/
@ApiOperation(value = "新增数据")
@PostMapping
public AjaxResult insert(@RequestBody Yywzl xlgl) {
return success(yywzlService.save(xlgl));
}
/**
*
*
* @param xlgl
* @return
*/
@ApiOperation(value = "修改数据")
@PostMapping("/edit")
public AjaxResult update(@RequestBody Yywzl xlgl) {
return success(yywzlService.updateById(xlgl));
}
/**
*
*
* @param id
* @return
*/
@ApiOperation(value = "删除数据")
@GetMapping("/delete/{id}")
public AjaxResult delete(@PathVariable Long id) {
return success(yywzlService.removeById(id));
}
}

@ -0,0 +1,92 @@
package com.ruoyi.ykmap.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 线exl_operation_line_data
*
* @author du
* @since 2024/8/13 9:49
*/
@Data
@ApiModel("线路管理数据")
@TableName(value = "exl_operation_line_data")
public class Yxlgl {
/**
* id
*/
@TableId
@ApiModelProperty("id")
private String id;
/**
* id
*/
@ApiModelProperty("创建id")
private Integer creatorId;
/**
* id
*/
@ApiModelProperty("更新id")
private Integer updaterId;
/**
*
*/
@ApiModelProperty("更新时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/**
*
*/
@ApiModelProperty("创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
* 线:
*/
@ApiModelProperty("线路类型:工作日、周六、周日")
private String lineType;
/**
* 线
*/
@ApiModelProperty("营运网点线路条数(条)")
private Integer networkLineNum;
/**
* 线
*/
@ApiModelProperty("营运无网点线路条数(条)")
private Integer noNetworkLineNum;
/**
* 线
*/
@ApiModelProperty("维护线路条数(条)")
private Integer maintenanceLineNum;
/**
*
*/
@ApiModelProperty("数据时间(月份),时间戳")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate dataTime;
}

@ -0,0 +1,72 @@
package com.ruoyi.ykmap.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* exl_operation_expansion_data
* @author du
* @since 2024/8/14 10:33
*/
@Data
@ApiModel("业务总览数据")
@TableName(value = "exl_operation_expansion_data")
public class Yywtz {
/**
* id
*/
@TableId
@ApiModelProperty("id")
private String id;
/**
* id
*/
@ApiModelProperty("创建id")
private Integer creatorId;
/**
* id
*/
@ApiModelProperty("更新id")
private Integer updaterId;
/**
*
*/
@ApiModelProperty("更新时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/**
*
*/
@ApiModelProperty("创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
*
*/
@ApiModelProperty("业务已覆盖省份名称")
private String provinceName;
/**
*
*/
@ApiModelProperty("数据时间(月份),时间戳")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate dataTime;
}

@ -0,0 +1,82 @@
package com.ruoyi.ykmap.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* exl_operation_overview_data_route
* @author du
* @since 2024/8/14 10:17
*/
@Data
@ApiModel("业务总览数据")
@TableName(value = "exl_operation_overview_data_route")
public class Yywzl {
/**
* id
*/
@TableId
@ApiModelProperty("id")
private String id;
/**
* id
*/
@ApiModelProperty("创建id")
private Integer creatorId;
/**
* id
*/
@ApiModelProperty("更新id")
private Integer updaterId;
/**
*
*/
@ApiModelProperty("更新时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/**
*
*/
@ApiModelProperty("创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
* :
*/
@ApiModelProperty("区镇:吴中区、吴江区、虎丘区、姑苏区、工业园区、相城区")
private String area;
/**
* 线
*/
@ApiModelProperty("线路总条数(条)")
private Integer lineTotalNum;
/**
*
*/
@ApiModelProperty("数据时间(月份),时间戳")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate dataTime;
}

@ -0,0 +1,21 @@
package com.ruoyi.ykmap.entity.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 线exl_operation_line_data
* @author du
* @since 2024/8/14 9:01
*/
@Data
@ApiModel("线路管理数据")
public class YxlglRequest {
/**
* 线:
*/
@ApiModelProperty("线路类型:工作日、周六、周日")
private String lineType;
}

@ -0,0 +1,27 @@
package com.ruoyi.ykmap.entity.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* @author du
* @since 2024/8/14 11:06
*/
@Data
@ApiModel("任务装备返回体")
public class EquipResponse {
/**
*
*/
@ApiModelProperty("装备名称")
private String thingType;
/**
*
*/
@ApiModelProperty("装备类型")
private String type;
}

@ -0,0 +1,40 @@
package com.ruoyi.ykmap.entity.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* id线,,,
* @author du
* @since 2024/8/15 9:29
*/
@Data
public class GetCarIdInfoResponse {
/**
* 线
*/
@ApiModelProperty("线路类型")
private String lineType;
/**
*
*/
@ApiModelProperty("装备信息")
private List<EquipResponse> zbList;
/**
*
*/
@ApiModelProperty("人员信息")
private List<UserInfoResponse> userList;
/**
*
*/
@ApiModelProperty("标的物")
private ItemsResponse bdwInfo;
}

@ -0,0 +1,18 @@
package com.ruoyi.ykmap.entity.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* @author du
* @since 2024/8/14 11:18
*/
@Data
@ApiModel("标的物信息返回体")
public class ItemsResponse {
@ApiModelProperty("数量")
private Integer count;
}

@ -0,0 +1,57 @@
package com.ruoyi.ykmap.entity.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* 线
* @author du
* @since 2024/8/14 15:09
*/
@Data
@ApiModel("线路模板具体信息返回体")
public class LineTemplateResponse {
/**
*
*/
@ApiModelProperty("区域")
private String area;
/**
* 线
*/
@ApiModelProperty("线路总数")
private Integer lineNum;
/**
*
*/
@ApiModelProperty("营业网点总数")
private Integer yywdzs;
/**
*
*/
@ApiModelProperty("上门收款点总数")
private Integer skdNum;
/**
* ATM
*/
@ApiModelProperty("ATM机总数")
private Integer atmNum;
/**
*
*/
@ApiModelProperty("创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
}

@ -0,0 +1,21 @@
package com.ruoyi.ykmap.entity.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* @author du
* @since 2024/8/14 17:08
*/
@Data
@ApiModel("业务已覆盖省份清单数量")
public class SearchCityCountResponse {
/**
*
*/
@ApiModelProperty("个数")
private Integer count;
}

@ -0,0 +1,33 @@
package com.ruoyi.ykmap.entity.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
*
* @author du
* @since 2024/8/14 16:04
*/
@Data
@ApiModel("业务已覆盖省份清单")
public class SearchCityResponse {
/**
*
*/
@ApiModelProperty("省份")
private String city;
/**
*
*/
@ApiModelProperty("创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
}

@ -0,0 +1,28 @@
package com.ruoyi.ykmap.entity.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 线
* @author du
* @since 2024/8/14 10:51
*/
@Data
@ApiModel("线路信息返回体")
public class SelectLineInfoResponse {
/**
*
*/
@ApiModelProperty("任务名称")
private String name;
/**
*
*/
@ApiModelProperty("任务类型")
private String type;
}

@ -0,0 +1,33 @@
package com.ruoyi.ykmap.entity.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* @author du
* @since 2024/8/14 11:10
*/
@Data
@ApiModel("人员信息返回体")
public class UserInfoResponse {
/**
*
*/
@ApiModelProperty("人员信息")
private String ename;
/**
*
*/
@ApiModelProperty("职位名称")
private String name;
/**
*
*/
@ApiModelProperty("排序")
private Integer orderNum;
}

@ -0,0 +1,56 @@
package com.ruoyi.ykmap.mapper;
import com.ruoyi.ykmap.entity.response.*;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* 线
*
* @author du
* @since 2024/8/13 9:49
*/
public interface LineMapper{
/**
* 线
*/
SelectLineInfoResponse selectLineInfo(String id);
/**
*
*/
List<EquipResponse> equip(String id);
/**
*
*/
List<UserInfoResponse> userInfo(String id);
/**
*
*/
ItemsResponse items(String id);
/**
* 线
*/
List<LineTemplateResponse> lineTemplate(@Param("area") String area,@Param("a1") LocalDate a1, @Param("a2")LocalDate a2);
/**
*
*/
List<SearchCityResponse> searchCity(@Param("a1") LocalDate a1, @Param("a2")LocalDate a2);
/**
*
*/
SearchCityCountResponse searchCityCount(@Param("a1") LocalDate a1, @Param("a2")LocalDate a2);
String getByCarId(String id);
}

@ -0,0 +1,25 @@
package com.ruoyi.ykmap.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.ykmap.entity.Yxlgl;
import com.ruoyi.ykmap.entity.request.YxlglRequest;
import org.apache.ibatis.annotations.Param;
/**
* 线exl_operation_line_data
*
* @author du
* @since 2024/8/13 9:49
*/
public interface YxlglMapper extends BaseMapper<Yxlgl> {
/**
*
*
* @param page
* @param yxlglRequest
* @return
*/
Page<Yxlgl> page(Page<Yxlgl> page,@Param("req") YxlglRequest yxlglRequest);
}

@ -0,0 +1,22 @@
package com.ruoyi.ykmap.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.ykmap.entity.Yywtz;
/**
* exl_operation_expansion_data
*
* @author du
* @since 2024/8/13 9:49
*/
public interface YywtzMapper extends BaseMapper<Yywtz> {
/**
*
*
* @param page
* @return
*/
Page<Yywtz> page(Page<Yywtz> page);
}

@ -0,0 +1,25 @@
package com.ruoyi.ykmap.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.ykmap.entity.Yxlgl;
import com.ruoyi.ykmap.entity.Yywzl;
import com.ruoyi.ykmap.entity.request.YxlglRequest;
import org.apache.ibatis.annotations.Param;
/**
* exl_operation_overview_data_route
*
* @author du
* @since 2024/8/13 9:49
*/
public interface YywzlMapper extends BaseMapper<Yywzl> {
/**
*
*
* @param page
* @return
*/
Page<Yywzl> page(Page<Yywzl> page);
}

@ -0,0 +1,55 @@
package com.ruoyi.ykmap.service;
import com.ruoyi.ykmap.entity.response.*;
import java.util.List;
/**
* 线
* @author du
* @since 2024/8/14 10:43
*/
public interface LineService {
/**
* 线
*/
SelectLineInfoResponse selectLineInfo(String id);
/**
*
*/
List<EquipResponse> equip(String id);
/**
*
*/
List<UserInfoResponse> userInfo(String id);
/**
*
*/
ItemsResponse items(String id);
/**
* 线
*/
List<LineTemplateResponse> lineTemplate(String area);
/**
*
*/
List<SearchCityResponse> searchCity();
/**
*
*/
SearchCityCountResponse searchCityCount();
/**
* id线,,,
*/
GetCarIdInfoResponse getCarIdInfo(String id);
}

@ -0,0 +1,25 @@
package com.ruoyi.ykmap.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.ykmap.entity.Yxlgl;
import com.ruoyi.ykmap.entity.request.YxlglRequest;
/**
* 线exl_operation_line_data
*
* @author du
* @since 2024/8/13 9:49
*/
public interface YxlglService extends IService<Yxlgl> {
/**
*
*
* @param page
* @param yxlglRequest
* @return
*/
Page<Yxlgl> page(Page<Yxlgl> page, YxlglRequest yxlglRequest);
}

@ -0,0 +1,24 @@
package com.ruoyi.ykmap.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.ykmap.entity.Yywtz;
import com.ruoyi.ykmap.entity.Yywzl;
/**
* exl_operation_expansion_data
*
* @author du
* @since 2024/8/13 9:49
*/
public interface YywtzService extends IService<Yywtz> {
/**
*
*
* @param page
* @return
*/
Page<Yywtz> page(Page<Yywtz> page);
}

@ -0,0 +1,25 @@
package com.ruoyi.ykmap.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.ykmap.entity.Yxlgl;
import com.ruoyi.ykmap.entity.Yywzl;
import com.ruoyi.ykmap.entity.request.YxlglRequest;
/**
* exl_operation_overview_data_route
*
* @author du
* @since 2024/8/13 9:49
*/
public interface YywzlService extends IService<Yywzl> {
/**
*
*
* @param page
* @return
*/
Page<Yywzl> page(Page<Yywzl> page);
}

@ -0,0 +1,125 @@
package com.ruoyi.ykmap.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.ykmap.entity.response.*;
import com.ruoyi.ykmap.mapper.LineMapper;
import com.ruoyi.ykmap.service.LineService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.List;
/**
* 线
*
* @author du
* @since 2024/8/14 10:44
*/
@Service
public class LineServiceImpl implements LineService {
@Resource
private LineMapper lineMapper;
/**
* 线
*/
@Override
public SelectLineInfoResponse selectLineInfo(String id) {
return lineMapper.selectLineInfo(id);
}
/**
*
*/
@Override
public List<EquipResponse> equip(String id) {
return lineMapper.equip(id);
}
/**
*
*/
@Override
public List<UserInfoResponse> userInfo(String id) {
return lineMapper.userInfo(id);
}
/**
*
*/
@Override
public ItemsResponse items(String id) {
return lineMapper.items(id);
}
/**
* 线
*/
@Override
public List<LineTemplateResponse> lineTemplate(String area) {
LocalDate now = LocalDate.now();
if (now.getDayOfMonth() < 26) {
LocalDate a1 = now.minusMonths(2).withDayOfMonth(26);
LocalDate a2 = now.minusMonths(1).withDayOfMonth(25);
return lineMapper.lineTemplate(area, a1, a2);
} else {
LocalDate a1 = now.minusMonths(1).withDayOfMonth(26);
LocalDate a2 = now.withDayOfMonth(25);
return lineMapper.lineTemplate(area, a1, a2);
}
}
/**
*
*/
@Override
public List<SearchCityResponse> searchCity() {
LocalDate now = LocalDate.now();
if (now.getDayOfMonth() < 26) {
LocalDate a1 = now.minusMonths(2).withDayOfMonth(26);
LocalDate a2 = now.minusMonths(1).withDayOfMonth(25);
return lineMapper.searchCity(a1, a2);
} else {
LocalDate a1 = now.minusMonths(1).withDayOfMonth(26);
LocalDate a2 = now.withDayOfMonth(25);
return lineMapper.searchCity(a1, a2);
}
}
/**
*
*/
@Override
public SearchCityCountResponse searchCityCount() {
LocalDate now = LocalDate.now();
if (now.getDayOfMonth() < 26) {
LocalDate a1 = now.minusMonths(2).withDayOfMonth(26);
LocalDate a2 = now.minusMonths(1).withDayOfMonth(25);
return lineMapper.searchCityCount(a1, a2);
} else {
LocalDate a1 = now.minusMonths(1).withDayOfMonth(26);
LocalDate a2 = now.withDayOfMonth(25);
return lineMapper.searchCityCount(a1, a2);
}
}
/**
* id线,,,
*/
@Override
public GetCarIdInfoResponse getCarIdInfo(String id) {
//获取该车辆的任务id
String bcs = lineMapper.getByCarId(id);
GetCarIdInfoResponse res = new GetCarIdInfoResponse();
res.setZbList(lineMapper.equip(bcs));
res.setUserList(lineMapper.userInfo(bcs));
res.setBdwInfo(lineMapper.items(bcs));
SelectLineInfoResponse se = lineMapper.selectLineInfo(bcs);
if (BeanUtil.isNotEmpty(se)) {
res.setLineType(se.getType());
}
return res;
}
}

@ -0,0 +1,31 @@
package com.ruoyi.ykmap.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.ykmap.entity.Yxlgl;
import com.ruoyi.ykmap.entity.request.YxlglRequest;
import com.ruoyi.ykmap.mapper.YxlglMapper;
import com.ruoyi.ykmap.service.YxlglService;
import org.springframework.stereotype.Service;
/**
* 线exl_operation_line_data
*
* @author du
* @since 2024/5/13 9:58
*/
@Service
public class YxlglServiceImpl extends ServiceImpl<YxlglMapper, Yxlgl> implements YxlglService {
/**
*
*
* @param page
* @param yxlglRequest
* @return
*/
@Override
public Page<Yxlgl> page(Page<Yxlgl> page, YxlglRequest yxlglRequest) {
return baseMapper.page(page,yxlglRequest);
}
}

@ -0,0 +1,32 @@
package com.ruoyi.ykmap.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.ykmap.entity.Yywtz;
import com.ruoyi.ykmap.entity.Yywzl;
import com.ruoyi.ykmap.mapper.YywtzMapper;
import com.ruoyi.ykmap.mapper.YywzlMapper;
import com.ruoyi.ykmap.service.YywtzService;
import com.ruoyi.ykmap.service.YywzlService;
import org.springframework.stereotype.Service;
/**
* exl_operation_expansion_data
*
* @author du
* @since 2024/5/13 9:58
*/
@Service
public class YywtzServiceImpl extends ServiceImpl<YywtzMapper, Yywtz> implements YywtzService {
/**
*
*
* @param page
* @return
*/
@Override
public Page<Yywtz> page(Page<Yywtz> page) {
return baseMapper.page(page);
}
}

@ -0,0 +1,33 @@
package com.ruoyi.ykmap.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.ykmap.entity.Yxlgl;
import com.ruoyi.ykmap.entity.Yywzl;
import com.ruoyi.ykmap.entity.request.YxlglRequest;
import com.ruoyi.ykmap.mapper.YxlglMapper;
import com.ruoyi.ykmap.mapper.YywzlMapper;
import com.ruoyi.ykmap.service.YxlglService;
import com.ruoyi.ykmap.service.YywzlService;
import org.springframework.stereotype.Service;
/**
* exl_operation_overview_data_route
*
* @author du
* @since 2024/5/13 9:58
*/
@Service
public class YywzlServiceImpl extends ServiceImpl<YywzlMapper, Yywzl> implements YywzlService {
/**
*
*
* @param page
* @return
*/
@Override
public Page<Yywzl> page(Page<Yywzl> page) {
return baseMapper.page(page);
}
}

@ -2,20 +2,23 @@
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://39.101.188.84:3307/yk_map?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: password
password: Admin123@
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
enabled: true
url: jdbc:postgresql://39.101.188.84:5432/yk_map
username: postgres
password: adminadmin
driverClassName: org.postgresql.Driver
# 配置检测连接是否有效
validationQuery: SELECT 1
# 初始连接数
initialSize: 5
# 最小连接池数量
@ -39,7 +42,7 @@ spring:
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
webStatFilter:
enabled: true
statViewServlet:
enabled: true

@ -64,7 +64,7 @@ spring:
devtools:
restart:
# 热部署开关
enabled: true
enabled: false
# redis 配置
redis:
# 地址
@ -97,10 +97,10 @@ token:
# 令牌有效期默认30分钟
expireTime: 30
# MyBatis配置
mybatis:
# mybatis-plus配置
mybatis-plus:
# 搜索指定包别名
typeAliasesPackage: com.ruoyi.**.domain
typeAliasesPackage: com.ruoyi.**.domain,com.ruoyi.**.entity,
# 配置mapper的扫描找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 加载全局的配置文件
@ -112,12 +112,9 @@ pagehelper:
supportMethodsArguments: true
params: count=countSql
# Swagger配置
swagger:
# 是否开启swagger
enabled: true
# 请求前缀
pathMapping: /dev-api
knife4j:
# production: true
enable: true
# 防止XSS攻击
xss:

@ -0,0 +1,77 @@
<?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="com.ruoyi.ykmap.mapper.LineMapper">
<select id="selectLineInfo" resultType="com.ruoyi.ykmap.entity.response.SelectLineInfoResponse">
select name, case when name like '%维护%' then '维护线路' else '押运线路' end as type
from task_mission
where id = #{id}
</select>
<select id="equip" resultType="com.ruoyi.ykmap.entity.response.EquipResponse">
select thing_type,
case when thing_type= '车辆' then concat(right(vehicle_info, CHARACTER_LENGTH(vehicle_info)-POSITION('-' in vehicle_info)),' (',left(vehicle_info,POSITION('-' in vehicle_info)-1),')')
when thing_type= '枪支' then concat(thing_info,' (',c3.model,')')
when thing_type= '弹夹' then concat(thing_info) end as type
from task_mission_thing a1
left join thing_gun c3 on a1.thing_id = c3.thing_id
where task_mission_id = #{id}
and a1.is_delete='0'
and a1.thing_type != 'PDA'
and a1.is_change = 0 -- 是否交换 1是 0否对应任务应急
</select>
<select id="userInfo" resultType="com.ruoyi.ykmap.entity.response.UserInfoResponse">
select substr(a1.employee_info,7,6) as ename, b2.name, b2.order_num
from task_mission_employee a1
left join task_position b2 on a1.task_position_id = b2.id and b2.is_delete='0' and b2.state='1'
where a1.is_delete='0'
and a1.task_mission_id=#{id}
and a1.is_change = 0 -- 是否交换 1是 0否
order by b2.order_num
</select>
<select id="items" resultType="com.ruoyi.ykmap.entity.response.ItemsResponse">
select count(bank_thing_id) as count
from task_mission_package
where task_mission_id = #{id}
and is_delete =0 and state = '正常'
</select>
<select id="lineTemplate" resultType="com.ruoyi.ykmap.entity.response.LineTemplateResponse">
select atm_num,skd_num,line_num,yywdzs,area,create_time
from zyk_yygl_xlgl.exl_line_template
WHERE
create_time >= #{a1} and create_time &lt; #{a2}
union
( select
sum(atm_num) as atmNum,
sum(skd_num) as skdNum,
sum(line_num) as lineNum,
sum(yywdzs) as yywdzs,
null as area,
null as create_time
from zyk_yygl_xlgl.exl_line_template
WHERE
create_time >= #{a1} and create_time &lt; #{a2})
</select>
<select id="searchCity" resultType="com.ruoyi.ykmap.entity.response.SearchCityResponse">
SELECT
province_name AS city,
create_time
FROM
zyk_yygl_ywtz.exl_operation_expansion_data
WHERE
create_time >= #{a1} and create_time &lt; #{a2}
</select>
<select id="searchCityCount" resultType="com.ruoyi.ykmap.entity.response.SearchCityCountResponse">
SELECT
count(*) AS count
FROM
zyk_yygl_ywtz.exl_operation_expansion_data
WHERE
create_time >= #{a1} and create_time &lt; #{a2}
</select>
<select id="getByCarId" resultType="java.lang.String">
select task_mission_id
from task_mission_thing where vehicle_id = #{id}
</select>
</mapper>

@ -0,0 +1,15 @@
<?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="com.ruoyi.ykmap.mapper.YxlglMapper">
<select id="page" resultType="com.ruoyi.ykmap.entity.Yxlgl">
select *
from zyk_yygl_xlgl.exl_operation_line_data
<where>
<if test="req.lineType != null and req.lineType != '' ">
and line_type like concat('%',#{req.lineType},'%')
</if>
</where>
</select>
</mapper>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.ykmap.mapper.YywtzMapper">
<select id="page" resultType="com.ruoyi.ykmap.entity.Yywtz">
select *
from zyk_yygl_ywtz.exl_operation_expansion_data
</select>
</mapper>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.ykmap.mapper.YywzlMapper">
<select id="page" resultType="com.ruoyi.ykmap.entity.Yywzl">
select *
from zyk_yygl_xlgl.exl_operation_overview_data_route
</select>
</mapper>

@ -16,7 +16,11 @@
</description>
<dependencies>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<!-- Spring框架基本的核心工具 -->
<dependency>
<groupId>org.springframework</groupId>

@ -113,20 +113,20 @@ public class MyBatisConfig
return resources.toArray(new Resource[resources.size()]);
}
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
{
String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
String mapperLocations = env.getProperty("mybatis.mapperLocations");
String configLocation = env.getProperty("mybatis.configLocation");
typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
VFS.addImplClass(SpringBootVFS.class);
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
return sessionFactory.getObject();
}
// @Bean
// public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
// {
// String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
// String mapperLocations = env.getProperty("mybatis.mapperLocations");
// String configLocation = env.getProperty("mybatis.configLocation");
// typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
// VFS.addImplClass(SpringBootVFS.class);
//
// final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
// sessionFactory.setDataSource(dataSource);
// sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
// sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
// sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
// return sessionFactory.getObject();
// }
}

@ -115,6 +115,8 @@ public class SecurityConfig
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
.antMatchers("/ykmap/**").permitAll()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated();
})

Loading…
Cancel
Save