修改需求

main
吴顺杰 3 weeks ago
parent b168fed917
commit c0362f8159

@ -38,4 +38,9 @@ public class CarGPSResponse implements Serializable {
* 线 * 线
*/ */
public String stateCn; public String stateCn;
/**
*
*/
public String time;
} }

@ -39,4 +39,11 @@ public class CarPageResponse implements Serializable {
*/ */
@ApiModelProperty(value = "车辆在线状态") @ApiModelProperty(value = "车辆在线状态")
public String stateCn; public String stateCn;
/**
*
*/
@ApiModelProperty(value = "定位时间")
public String time;
} }

@ -40,5 +40,13 @@ public interface TaskMissionMapper extends BaseMapper<TaskMission> {
* @return * @return
*/ */
Page<CarPageResponse> pageByPlateNums(Page<CarPageResponse> page, @Param("list") List<String> list); Page<CarPageResponse> pageByPlateNums(Page<CarPageResponse> page, @Param("list") List<String> list);
/**
*
*
* @param lendState /
* @return
*/
List<String> findPlateNum(@Param("lendState") String lendState);
} }

@ -40,5 +40,14 @@ public interface TaskMissionService extends IService<TaskMission> {
* @return * @return
*/ */
Page<CarPageResponse> pageByPlateNums(Page<CarPageResponse> page, List<String> plateNums); Page<CarPageResponse> pageByPlateNums(Page<CarPageResponse> page, List<String> plateNums);
/**
*
*
* @param lendState /
* @return
*/
List<String> findPlateNum(String lendState);
} }

@ -26,6 +26,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* *
@ -53,7 +54,7 @@ public class CarServiceImpl implements CarService {
String sessionId = findSessionId(); String sessionId = findSessionId();
// 获取车辆实时定位 // 获取车辆实时定位
List<CarGPSResponse> carGPSList = findCarGPS(sessionId); List<CarGPSResponse> carGPSList = findCarGPS(sessionId);
GlobalCoordinates companyLocation = new GlobalCoordinates(31.226963,120.634355); GlobalCoordinates companyLocation = new GlobalCoordinates(31.226963, 120.634355);
// 过滤后的车辆 // 过滤后的车辆
List<CarGPSResponse> list = new ArrayList<>(); List<CarGPSResponse> list = new ArrayList<>();
if (CollectionUtil.isEmpty(carGPSList)) { if (CollectionUtil.isEmpty(carGPSList)) {
@ -63,12 +64,12 @@ public class CarServiceImpl implements CarService {
GlobalCoordinates carLocation = new GlobalCoordinates(Double.parseDouble(res.getLat()), Double.parseDouble(res.getLng())); GlobalCoordinates carLocation = new GlobalCoordinates(Double.parseDouble(res.getLat()), Double.parseDouble(res.getLng()));
double distanceMeter = SpaceUtils.getDistanceMeter(companyLocation, carLocation); double distanceMeter = SpaceUtils.getDistanceMeter(companyLocation, carLocation);
if (req.getType() == 1) { if (req.getType() == 1) {
if (NumberUtil.compare(req.getDistance(), distanceMeter) != 1) { if (NumberUtil.compare(req.getDistance(), distanceMeter) < 0) {
// 单位外 // 单位外
list.add(res); list.add(res);
} }
} else { } else {
if (NumberUtil.compare(req.getDistance(), distanceMeter) == 1) { if (NumberUtil.compare(req.getDistance(), distanceMeter) >= 0) {
// 单位内 // 单位内
list.add(res); list.add(res);
} }
@ -77,11 +78,28 @@ public class CarServiceImpl implements CarService {
if (CollectionUtil.isEmpty(list)) { if (CollectionUtil.isEmpty(list)) {
return null; return null;
} }
// 根据距离过滤出的内外车牌号
List<String> plateNums = list.stream().map(CarGPSResponse::getCarPlate).collect(Collectors.toList()); List<String> plateNums = list.stream().map(CarGPSResponse::getCarPlate).collect(Collectors.toList());
// 定义查询条件
String lendState;
List<String> mergedList;
if (req.getType() == 1) {
lendState = "在库";
List<String> plateNumList = taskMissionService.findPlateNum(lendState);
mergedList = plateNums.stream()
.filter(item -> !plateNumList.contains(item))
.collect(Collectors.toList());
} else {
lendState = "借出";
List<String> plateNumList = taskMissionService.findPlateNum(lendState);
mergedList = Stream.concat(plateNumList.stream(), plateNums.stream())
.distinct()
.collect(Collectors.toList());
}
Page<CarPageResponse> page = new Page<>(); Page<CarPageResponse> page = new Page<>();
page.setCurrent(req.getPageNo()); page.setCurrent(req.getPageNo());
page.setSize(req.getPageSize()); page.setSize(req.getPageSize());
Page<CarPageResponse> carPageResponsePage = taskMissionService.pageByPlateNums(page, plateNums); Page<CarPageResponse> carPageResponsePage = taskMissionService.pageByPlateNums(page, mergedList);
ContentResponse contentResponse = new ContentResponse(); ContentResponse contentResponse = new ContentResponse();
contentResponse.setTotalCount(carPageResponsePage.getTotal()); contentResponse.setTotalCount(carPageResponsePage.getTotal());
contentResponse.setPageNum(carPageResponsePage.getCurrent()); contentResponse.setPageNum(carPageResponsePage.getCurrent());
@ -99,10 +117,14 @@ public class CarServiceImpl implements CarService {
ColDTO colDTO4 = new ColDTO(); ColDTO colDTO4 = new ColDTO();
colDTO4.setValue("stateCn"); colDTO4.setValue("stateCn");
colDTO4.setLabel("车辆状态"); colDTO4.setLabel("车辆状态");
ColDTO colDTO5 = new ColDTO();
colDTO5.setValue("time");
colDTO5.setLabel("定位时间");
colDTOS.add(colDTO); colDTOS.add(colDTO);
colDTOS.add(colDTO2); colDTOS.add(colDTO2);
colDTOS.add(colDTO3); colDTOS.add(colDTO3);
colDTOS.add(colDTO4); colDTOS.add(colDTO4);
colDTOS.add(colDTO5);
contentResponse.setCol(colDTOS); contentResponse.setCol(colDTOS);
// 将第一个列表转换为Map以getCarPlate为键 // 将第一个列表转换为Map以getCarPlate为键
Map<String, CarGPSResponse> map1 = list.stream() Map<String, CarGPSResponse> map1 = list.stream()
@ -113,6 +135,7 @@ public class CarServiceImpl implements CarService {
if (car1 != null) { if (car1 != null) {
car2.setAddr(car1.getAddr()); car2.setAddr(car1.getAddr());
car2.setStateCn(car1.getStateCn()); car2.setStateCn(car1.getStateCn());
car2.setTime(car1.getTime());
} }
} }
contentResponse.setData(carPageResponsePage.getRecords()); contentResponse.setData(carPageResponsePage.getRecords());
@ -156,7 +179,7 @@ public class CarServiceImpl implements CarService {
log.info("================获取车辆实时定位数据================="); log.info("================获取车辆实时定位数据=================");
log.info(body); log.info(body);
try { try {
json = JSONObject.parse(body); json = JSONObject.parse(body);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage()); log.error(e.getMessage());
throw new ServiceException("获取车辆实时定位失败"); throw new ServiceException("获取车辆实时定位失败");

@ -58,5 +58,16 @@ public class TaskMissionServiceImpl extends ServiceImpl<TaskMissionMapper, TaskM
public Page<CarPageResponse> pageByPlateNums(Page<CarPageResponse> page, List<String> plateNums) { public Page<CarPageResponse> pageByPlateNums(Page<CarPageResponse> page, List<String> plateNums) {
return baseMapper.pageByPlateNums(page,plateNums); return baseMapper.pageByPlateNums(page,plateNums);
} }
/**
*
*
* @param lendState /
* @return
*/
@Override
public List<String> findPlateNum(String lendState) {
return baseMapper.findPlateNum(lendState);
}
} }

@ -53,5 +53,14 @@
AND latest_tasks.latest_departure_time = tm.departure_time AND latest_tasks.latest_departure_time = tm.departure_time
</select> </select>
<select id="findPlateNum" resultType="java.lang.String">
SELECT plate_num
FROM vehicle_info
where state not in ('报废')
and is_delete = 0
and category in ('文物车', '运钞车', '维护车', '硬币车')
and lend_state = #{lendState}
</select>
</mapper> </mapper>

Loading…
Cancel
Save