From f6e9cbd9c7fb9af4e4c4324366205b02c5f34a2a Mon Sep 17 00:00:00 2001 From: wu Date: Fri, 20 Sep 2024 15:21:52 +0800 Subject: [PATCH] bugfix --- .../com/ykMap/controller/LineController.java | 2 +- .../controller/TaskMissionController.java | 101 +++++++++++ .../java/com/ykMap/entity/TaskMission.java | 158 ++++++++++++++++++ .../com/ykMap/mapper/TaskMissionMapper.java | 33 ++++ .../java/com/ykMap/service/LineService.java | 2 +- .../com/ykMap/service/TaskMissionService.java | 33 ++++ .../ykMap/service/impl/LineServiceImpl.java | 11 +- .../service/impl/TaskMissionServiceImpl.java | 48 ++++++ src/main/resources/application-dev.yml | 8 +- src/main/resources/application-test.yml | 64 +++++++ src/main/resources/application.yml | 2 +- .../resources/com/ykMap/mapper/LineMapper.xml | 10 +- .../com/ykMap/mapper/TaskMissionMapper.xml | 35 ++++ 13 files changed, 489 insertions(+), 18 deletions(-) create mode 100644 src/main/java/com/ykMap/controller/TaskMissionController.java create mode 100644 src/main/java/com/ykMap/entity/TaskMission.java create mode 100644 src/main/java/com/ykMap/mapper/TaskMissionMapper.java create mode 100644 src/main/java/com/ykMap/service/TaskMissionService.java create mode 100644 src/main/java/com/ykMap/service/impl/TaskMissionServiceImpl.java create mode 100644 src/main/resources/application-test.yml create mode 100644 src/main/resources/com/ykMap/mapper/TaskMissionMapper.xml diff --git a/src/main/java/com/ykMap/controller/LineController.java b/src/main/java/com/ykMap/controller/LineController.java index 7505cdc..239cb0b 100644 --- a/src/main/java/com/ykMap/controller/LineController.java +++ b/src/main/java/com/ykMap/controller/LineController.java @@ -36,7 +36,7 @@ public class LineController extends BaseController { @Resource private LineService lineService; - @ApiOperation(value = "根据车辆id查询线路,装备,人员,标的物", response = GetCarIdInfoResponse.class) + @ApiOperation(value = "根据任务id查询线路,装备,人员,标的物", response = GetCarIdInfoResponse.class) @GetMapping("/getCarIdInfo/{id}") public AjaxResult getCarIdInfo(@PathVariable String id) { return success(lineService.getCarIdInfo(id)); diff --git a/src/main/java/com/ykMap/controller/TaskMissionController.java b/src/main/java/com/ykMap/controller/TaskMissionController.java new file mode 100644 index 0000000..0f5909e --- /dev/null +++ b/src/main/java/com/ykMap/controller/TaskMissionController.java @@ -0,0 +1,101 @@ +package com.ykMap.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ykMap.base.controller.BaseController; +import com.ykMap.base.domain.AjaxResult; +import com.ykMap.entity.TaskMission; +import com.ykMap.service.TaskMissionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.transaction.annotation.Transactional; +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; +import java.io.Serializable; + +/** + * 'task_mission(TaskMission)表控制层 + * + * @author wu + * @since 2024-09-19 13:15:12 + */ +@RestController +@RequestMapping("/ykmap/taskMission") +@Api(tags = "'task_mission") +@Transactional(rollbackFor = Exception.class) +public class TaskMissionController extends BaseController { + /** + * 服务对象 + */ + @Resource + private TaskMissionService taskMissionService; + + /** + * 分页条件查询所有数据 + * + * @param page 分页条件 + * @param taskMission 查询条件 + * @return 所有数据 + */ + @GetMapping + @ApiOperation(value = "分页条件查询'task_mission", response = TaskMission.class) + public AjaxResult page(Page page, TaskMission taskMission) { + return success(taskMissionService.page(page, new QueryWrapper<>(taskMission))); + } + + /** + * 条件查询所有数据 + * + * @param taskMission 查询条件 + * @return 所有数据 + */ + @GetMapping("/findAll") + @ApiOperation(value = "条件查询'task_mission", response = TaskMission.class) + public AjaxResult page(TaskMission taskMission) { + return success(taskMissionService.list(new QueryWrapper<>(taskMission))); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("{id}") + @ApiOperation(value = "通过主键查询单条'task_mission", response = TaskMission.class) + public AjaxResult getById(@PathVariable Serializable id) { + return success(taskMissionService.getById(id)); + } + + + /** + * 根据车牌号查询 + * + * @param plateNum 车牌号 + * @return 响应类 + */ + @GetMapping("findByPlateNum") + @ApiOperation(value = "根据车牌号查询task_mission", response = TaskMission.class) + public AjaxResult findByPlateNum(String plateNum) { + return success(taskMissionService.findByPlateNum(plateNum)); + } + + /** + * 根据多个车牌号查询task_mission + * + * @param plateNum 车牌号 + * @return 响应类 + */ + @GetMapping("findByPlateNums") + @ApiOperation(value = "根据多个车牌号查询task_mission", response = TaskMission.class) + public AjaxResult findByPlateNums(String plateNum) { + return success(taskMissionService.findByPlateNums(plateNum)); + } + +} + diff --git a/src/main/java/com/ykMap/entity/TaskMission.java b/src/main/java/com/ykMap/entity/TaskMission.java new file mode 100644 index 0000000..2714f48 --- /dev/null +++ b/src/main/java/com/ykMap/entity/TaskMission.java @@ -0,0 +1,158 @@ +package com.ykMap.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +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.io.Serializable; +import java.util.Date; + + +/** + * 'task_mission(TaskMission)表实体类 + * + * @author wu + * @since 2024-09-19 13:15:13 + */ +@Data +@ApiModel("task_mission实体类") +@TableName(value = "task_mission") +public class TaskMission implements Serializable { + + private static final long serialVersionUID = -20548411213691388L; + private String id; + + private Integer isDelete; + + private String updateUser; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + private String remark; + + /** + * 任务名称 + */ + @ApiModelProperty(value = "任务名称") + private String name; + + /** + * 任务日期 + */ + @ApiModelProperty(value = "任务日期") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date missionDate; + + /** + * 固定任务;临时任务 + */ + @ApiModelProperty(value = "固定任务;临时任务") + private String missionType; + + /** + * 车组模板id + */ + @ApiModelProperty(value = "车组模板id") + private String taskGroupTemplateId; + + /** + * 车组(考勤小组id) + */ + @ApiModelProperty(value = "车组(考勤小组id)") + private String attGroupId; + + /** + * 任务状态:已编排、执行中、交接完成、已结束 + */ + @ApiModelProperty(value = "任务状态:已编排、执行中、交接完成、已结束") + private String missionState; + + /** + * 任务开始时间 + */ + @ApiModelProperty(value = "任务开始时间") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date startTime; + + /** + * 任务结束时间 + */ + @ApiModelProperty(value = "任务结束时间") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date endTime; + + /** + * 是否提前交接 + */ + @ApiModelProperty(value = "是否提前交接") + private Integer isEarlyHandover; + + /** + * 是否延后交接 + */ + @ApiModelProperty(value = "是否延后交接") + private Integer isLateHandover; + + /** + * 编排人id + */ + @ApiModelProperty(value = "编排人id") + private String operatorId; + + /** + * 编排人信息(工号-姓名) + */ + @ApiModelProperty(value = "编排人信息(工号-姓名)") + private String operatorInfo; + + /** + * 编排时间 + */ + @ApiModelProperty(value = "编排时间") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date operateTime; + + /** + * 路线id + */ + @ApiModelProperty(value = "路线id") + private String taskRouteId; + + /** + * 出车时间 + */ + @ApiModelProperty(value = "出车时间") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date departureTime; + + /** + * 任务分类:早送、晚接、中间、维护车、清机 + */ + @ApiModelProperty(value = "任务分类:早送、晚接、中间、维护车、清机") + private String missionCategory; + + /** + * 本车车辆id + */ + @ApiModelProperty(value = "本车车辆id") + private String originalVehicleId; + + /** + * 车牌号 + */ + @ApiModelProperty(value = "车牌号") + @TableField(exist = false) + private String plateNum; + +} + diff --git a/src/main/java/com/ykMap/mapper/TaskMissionMapper.java b/src/main/java/com/ykMap/mapper/TaskMissionMapper.java new file mode 100644 index 0000000..69515a7 --- /dev/null +++ b/src/main/java/com/ykMap/mapper/TaskMissionMapper.java @@ -0,0 +1,33 @@ +package com.ykMap.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ykMap.entity.TaskMission; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 'task_mission(TaskMission)表数据库访问层 + * + * @author wu + * @since 2024-09-19 13:15:13 + */ +public interface TaskMissionMapper extends BaseMapper { + + /** + * 根据车牌号查询 + * + * @param plateNum 车牌号 + * @return 响应类 + */ + TaskMission findByPlateNum(@Param("plateNum") String plateNum); + + /** + * 根据多个车牌号查询task_mission + * + * @param arr 车牌号 + * @return 响应类 + */ + List findByPlateNums(@Param("array") String[] arr); +} + diff --git a/src/main/java/com/ykMap/service/LineService.java b/src/main/java/com/ykMap/service/LineService.java index 14bef60..752952c 100644 --- a/src/main/java/com/ykMap/service/LineService.java +++ b/src/main/java/com/ykMap/service/LineService.java @@ -56,7 +56,7 @@ public interface LineService { /** - * 根据车辆id查询线路,装备,人员,标的 + * 根据任务id查询线路,装备,人员,标的 */ GetCarIdInfoResponse getCarIdInfo(String id); } diff --git a/src/main/java/com/ykMap/service/TaskMissionService.java b/src/main/java/com/ykMap/service/TaskMissionService.java new file mode 100644 index 0000000..3b34bb5 --- /dev/null +++ b/src/main/java/com/ykMap/service/TaskMissionService.java @@ -0,0 +1,33 @@ +package com.ykMap.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ykMap.entity.TaskMission; + +import java.util.List; + +/** + * 'task_mission(TaskMission)表服务接口 + * + * @author wu + * @since 2024-09-19 13:15:13 + */ +public interface TaskMissionService extends IService { + + /** + * 根据车牌号查询 + * + * @param plateNum 车牌号 + * @return 响应类 + */ + TaskMission findByPlateNum(String plateNum); + + + /** + * 根据多个车牌号查询task_mission + * + * @param plateNum 车牌号 + * @return 响应类 + */ + List findByPlateNums(String plateNum); +} + diff --git a/src/main/java/com/ykMap/service/impl/LineServiceImpl.java b/src/main/java/com/ykMap/service/impl/LineServiceImpl.java index a894cb8..f0b0f8f 100644 --- a/src/main/java/com/ykMap/service/impl/LineServiceImpl.java +++ b/src/main/java/com/ykMap/service/impl/LineServiceImpl.java @@ -113,17 +113,16 @@ public class LineServiceImpl implements LineService { } /** - * 根据车辆id查询线路,装备,人员,标的 + * 根据任务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); + res.setZbList(lineMapper.equip(id)); + res.setUserList(lineMapper.userInfo(id)); + res.setBdwInfo(lineMapper.items(id)); + SelectLineInfoResponse se = lineMapper.selectLineInfo(id); if (BeanUtil.isNotEmpty(se)) { res.setLineType(se.getType()); } diff --git a/src/main/java/com/ykMap/service/impl/TaskMissionServiceImpl.java b/src/main/java/com/ykMap/service/impl/TaskMissionServiceImpl.java new file mode 100644 index 0000000..dde31d7 --- /dev/null +++ b/src/main/java/com/ykMap/service/impl/TaskMissionServiceImpl.java @@ -0,0 +1,48 @@ +package com.ykMap.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ykMap.entity.TaskMission; +import com.ykMap.mapper.TaskMissionMapper; +import com.ykMap.service.TaskMissionService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 'task_mission(TaskMission)表服务实现类 + * + * @author wu + * @since 2024-09-19 13:15:13 + */ +@Service("taskMissionService") +public class TaskMissionServiceImpl extends ServiceImpl implements TaskMissionService { + + /** + * 根据车牌号查询 + * + * @param plateNum 车牌号 + * @return 响应类 + */ + @Override + public TaskMission findByPlateNum(String plateNum) { + return baseMapper.findByPlateNum(plateNum); + } + + /** + * 根据多个车牌号查询task_mission + * + * @param plateNum 车牌号 + * @return 响应类 + */ + @Override + public List findByPlateNums(String plateNum) { + String[] split = plateNum.split(","); + if (split.length > 0) { + return baseMapper.findByPlateNums(split); + } else { + return null; + } + + } +} + diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 1e8bec8..8ecd60e 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -6,17 +6,17 @@ spring: # 主库数据源 master: 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 + url: jdbc:mysql://127.0.0.1:3306/finance_security?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: Admin123@ + password: 123456 # 从库数据源 slave: # 从数据源开关/默认关闭 driverClassName: org.postgresql.Driver enabled: true - url: jdbc:postgresql://39.101.188.84:5432/yk_map + url: jdbc:postgresql://127.0.0.1:5432/ctsy_data username: postgres - password: adminadmin + password: 123456 # 配置检测连接是否有效 validationQuery: SELECT 1 # 初始连接数 diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml new file mode 100644 index 0000000..1e8bec8 --- /dev/null +++ b/src/main/resources/application-test.yml @@ -0,0 +1,64 @@ +# 数据源配置 +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + druid: + # 主库数据源 + master: + 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: Admin123@ + # 从库数据源 + slave: + # 从数据源开关/默认关闭 + driverClassName: org.postgresql.Driver + enabled: true + url: jdbc:postgresql://39.101.188.84:5432/yk_map + username: postgres + password: adminadmin + # 配置检测连接是否有效 + validationQuery: SELECT 1 + # 初始连接数 + initialSize: 5 + # 最小连接池数量 + minIdle: 10 + # 最大连接池数量 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置连接超时时间 + connectTimeout: 30000 + # 配置网络超时时间 + socketTimeout: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 设置白名单,不填则允许所有访问 + allow: + url-pattern: /druid/* + # 控制台管理用户名和密码 + login-username: ruoyi + login-password: 123456 + filter: + stat: + enabled: true + # 慢SQL记录 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1ab14a2..424b73f 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -4,7 +4,7 @@ server: port: 9066 servlet: # 应用的访问路径 - context-path: / + context-path: /api tomcat: # tomcat的URI编码 uri-encoding: UTF-8 diff --git a/src/main/resources/com/ykMap/mapper/LineMapper.xml b/src/main/resources/com/ykMap/mapper/LineMapper.xml index 4f06e7b..bd9dbd2 100644 --- a/src/main/resources/com/ykMap/mapper/LineMapper.xml +++ b/src/main/resources/com/ykMap/mapper/LineMapper.xml @@ -54,18 +54,18 @@ + select tm.* + from vehicle_info vi + left join task_mission tm on vi.id = tm.original_vehicle_id + where vi.plate_num = #{plateNum} + and tm.id is not null + order by tm.update_time desc + limit 1 + + + +