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

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

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

@ -3,6 +3,11 @@ package com.ruoyi;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; 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) public static void main(String[] args)
{ {
// System.setProperty("spring.devtools.restart.enabled", "false"); ConfigurableApplicationContext application = SpringApplication.run(RuoYiApplication.class, args);
SpringApplication.run(RuoYiApplication.class, args); Environment env = application.getEnvironment();
System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" + String ip;
" .-------. ____ __ \n" + try {
" | _ _ \\ \\ \\ / / \n" + ip = InetAddress.getLocalHost().getHostAddress();
" | ( ' ) | \\ _. / ' \n" + } catch (UnknownHostException e) {
" |(_ o _) / _( )_ .' \n" + throw new RuntimeException(e);
" | (_,_).' __ ___(_ o _)' \n" + }
" | |\\ \\ | || |(_,_)' \n" + String port = env.getProperty("server.port");
" | | \\ `' /| `-' / \n" + String path = env.getProperty("server.servlet.context-path");
" | | \\ / \\ / \n" + 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; //package com.ruoyi.web.core.config;
//
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.List; //import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; //import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; //import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; //import org.springframework.context.annotation.Configuration;
import com.ruoyi.common.config.RuoYiConfig; //import com.ruoyi.common.config.RuoYiConfig;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In; //import io.swagger.models.auth.In;
import springfox.documentation.builders.ApiInfoBuilder; //import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors; //import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors; //import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo; //import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey; //import springfox.documentation.service.ApiKey;
import springfox.documentation.service.AuthorizationScope; //import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.Contact; //import springfox.documentation.service.Contact;
import springfox.documentation.service.SecurityReference; //import springfox.documentation.service.SecurityReference;
import springfox.documentation.service.SecurityScheme; //import springfox.documentation.service.SecurityScheme;
import springfox.documentation.spi.DocumentationType; //import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext; //import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket; //import springfox.documentation.spring.web.plugins.Docket;
//
/** ///**
* Swagger2 // * Swagger2的接口配置
* // *
* @author ruoyi // * @author ruoyi
*/ // */
@Configuration //@Configuration
public class SwaggerConfig //public class SwaggerConfig
{ //{
/** 系统基础配置 */ // /** 系统基础配置 */
@Autowired // @Autowired
private RuoYiConfig ruoyiConfig; // private RuoYiConfig ruoyiConfig;
//
/** 是否开启swagger */ // /** 是否开启swagger */
@Value("${swagger.enabled}") // @Value("${swagger.enabled}")
private boolean enabled; // private boolean enabled;
//
/** 设置请求的统一前缀 */ // /** 设置请求的统一前缀 */
@Value("${swagger.pathMapping}") // @Value("${swagger.pathMapping}")
private String pathMapping; // private String pathMapping;
//
/** // /**
* API // * 创建API
*/ // */
@Bean // @Bean
public Docket createRestApi() // public Docket createRestApi()
{ // {
return new Docket(DocumentationType.OAS_30) // return new Docket(DocumentationType.OAS_30)
// 是否启用Swagger // // 是否启用Swagger
.enable(enabled) // .enable(enabled)
// 用来创建该API的基本信息展示在文档的页面中自定义展示的信息 // // 用来创建该API的基本信息展示在文档的页面中自定义展示的信息
.apiInfo(apiInfo()) // .apiInfo(apiInfo())
// 设置哪些接口暴露给Swagger展示 // // 设置哪些接口暴露给Swagger展示
.select() // .select()
// 扫描所有有注解的api用这种方式更灵活 // // 扫描所有有注解的api用这种方式更灵活
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) // .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 扫描指定包中的swagger注解 // // 扫描指定包中的swagger注解
// .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger")) // // .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
// 扫描所有 .apis(RequestHandlerSelectors.any()) // // 扫描所有 .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any()) // .paths(PathSelectors.any())
.build() // .build()
/* 设置安全模式swagger可以设置访问token */ // /* 设置安全模式swagger可以设置访问token */
.securitySchemes(securitySchemes()) // .securitySchemes(securitySchemes())
.securityContexts(securityContexts()) // .securityContexts(securityContexts())
.pathMapping(pathMapping); // .pathMapping(pathMapping);
} // }
//
/** // /**
* tokenAuthorization // * 安全模式这里指定token通过Authorization头请求头传递
*/ // */
private List<SecurityScheme> securitySchemes() // private List<SecurityScheme> securitySchemes()
{ // {
List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>(); // List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>();
apiKeyList.add(new ApiKey("Authorization", "Authorization", In.HEADER.toValue())); // apiKeyList.add(new ApiKey("Authorization", "Authorization", In.HEADER.toValue()));
return apiKeyList; // return apiKeyList;
} // }
//
/** // /**
* // * 安全上下文
*/ // */
private List<SecurityContext> securityContexts() // private List<SecurityContext> securityContexts()
{ // {
List<SecurityContext> securityContexts = new ArrayList<>(); // List<SecurityContext> securityContexts = new ArrayList<>();
securityContexts.add( // securityContexts.add(
SecurityContext.builder() // SecurityContext.builder()
.securityReferences(defaultAuth()) // .securityReferences(defaultAuth())
.operationSelector(o -> o.requestMappingPattern().matches("/.*")) // .operationSelector(o -> o.requestMappingPattern().matches("/.*"))
.build()); // .build());
return securityContexts; // return securityContexts;
} // }
//
/** // /**
* // * 默认的安全上引用
*/ // */
private List<SecurityReference> defaultAuth() // private List<SecurityReference> defaultAuth()
{ // {
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); // AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; // AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope; // authorizationScopes[0] = authorizationScope;
List<SecurityReference> securityReferences = new ArrayList<>(); // List<SecurityReference> securityReferences = new ArrayList<>();
securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); // securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
return securityReferences; // return securityReferences;
} // }
//
/** // /**
* // * 添加摘要信息
*/ // */
private ApiInfo apiInfo() // private ApiInfo apiInfo()
{ // {
// 用ApiInfoBuilder进行定制 // // 用ApiInfoBuilder进行定制
return new ApiInfoBuilder() // return new ApiInfoBuilder()
// 设置标题 // // 设置标题
.title("标题若依管理系统_接口文档") // .title("标题若依管理系统_接口文档")
// 描述 // // 描述
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...") // .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
// 作者信息 // // 作者信息
.contact(new Contact(ruoyiConfig.getName(), null, null)) // .contact(new Contact(ruoyiConfig.getName(), null, null))
// 版本 // // 版本
.version("版本号:" + ruoyiConfig.getVersion()) // .version("版本号:" + ruoyiConfig.getVersion())
.build(); // .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: spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid: druid:
# 主库数据源 # 主库数据源
master: 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 username: root
password: password password: Admin123@
# 从库数据源 # 从库数据源
slave: slave:
# 从数据源开关/默认关闭 # 从数据源开关/默认关闭
enabled: false enabled: true
url: url: jdbc:postgresql://39.101.188.84:5432/yk_map
username: username: postgres
password: password: adminadmin
driverClassName: org.postgresql.Driver
# 配置检测连接是否有效
validationQuery: SELECT 1
# 初始连接数 # 初始连接数
initialSize: 5 initialSize: 5
# 最小连接池数量 # 最小连接池数量

@ -64,7 +64,7 @@ spring:
devtools: devtools:
restart: restart:
# 热部署开关 # 热部署开关
enabled: true enabled: false
# redis 配置 # redis 配置
redis: redis:
# 地址 # 地址
@ -97,10 +97,10 @@ token:
# 令牌有效期默认30分钟 # 令牌有效期默认30分钟
expireTime: 30 expireTime: 30
# MyBatis配置 # mybatis-plus配置
mybatis: mybatis-plus:
# 搜索指定包别名 # 搜索指定包别名
typeAliasesPackage: com.ruoyi.**.domain typeAliasesPackage: com.ruoyi.**.domain,com.ruoyi.**.entity,
# 配置mapper的扫描找到所有的mapper.xml映射文件 # 配置mapper的扫描找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml mapperLocations: classpath*:mapper/**/*Mapper.xml
# 加载全局的配置文件 # 加载全局的配置文件
@ -112,12 +112,9 @@ pagehelper:
supportMethodsArguments: true supportMethodsArguments: true
params: count=countSql params: count=countSql
# Swagger配置 knife4j:
swagger: # production: true
# 是否开启swagger enable: true
enabled: true
# 请求前缀
pathMapping: /dev-api
# 防止XSS攻击 # 防止XSS攻击
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> </description>
<dependencies> <dependencies>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<!-- Spring框架基本的核心工具 --> <!-- Spring框架基本的核心工具 -->
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>

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

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

Loading…
Cancel
Save