修改需求

main
吴顺杰 3 weeks ago
parent b168fed917
commit c0362f8159

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

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

@ -40,5 +40,13 @@ public interface TaskMissionMapper extends BaseMapper<TaskMission> {
* @return
*/
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
*/
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.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
*
@ -53,7 +54,7 @@ public class CarServiceImpl implements CarService {
String sessionId = findSessionId();
// 获取车辆实时定位
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<>();
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()));
double distanceMeter = SpaceUtils.getDistanceMeter(companyLocation, carLocation);
if (req.getType() == 1) {
if (NumberUtil.compare(req.getDistance(), distanceMeter) != 1) {
if (NumberUtil.compare(req.getDistance(), distanceMeter) < 0) {
// 单位外
list.add(res);
}
} else {
if (NumberUtil.compare(req.getDistance(), distanceMeter) == 1) {
if (NumberUtil.compare(req.getDistance(), distanceMeter) >= 0) {
// 单位内
list.add(res);
}
@ -77,11 +78,28 @@ public class CarServiceImpl implements CarService {
if (CollectionUtil.isEmpty(list)) {
return null;
}
// 根据距离过滤出的内外车牌号
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.setCurrent(req.getPageNo());
page.setSize(req.getPageSize());
Page<CarPageResponse> carPageResponsePage = taskMissionService.pageByPlateNums(page, plateNums);
Page<CarPageResponse> carPageResponsePage = taskMissionService.pageByPlateNums(page, mergedList);
ContentResponse contentResponse = new ContentResponse();
contentResponse.setTotalCount(carPageResponsePage.getTotal());
contentResponse.setPageNum(carPageResponsePage.getCurrent());
@ -99,10 +117,14 @@ public class CarServiceImpl implements CarService {
ColDTO colDTO4 = new ColDTO();
colDTO4.setValue("stateCn");
colDTO4.setLabel("车辆状态");
ColDTO colDTO5 = new ColDTO();
colDTO5.setValue("time");
colDTO5.setLabel("定位时间");
colDTOS.add(colDTO);
colDTOS.add(colDTO2);
colDTOS.add(colDTO3);
colDTOS.add(colDTO4);
colDTOS.add(colDTO5);
contentResponse.setCol(colDTOS);
// 将第一个列表转换为Map以getCarPlate为键
Map<String, CarGPSResponse> map1 = list.stream()
@ -113,6 +135,7 @@ public class CarServiceImpl implements CarService {
if (car1 != null) {
car2.setAddr(car1.getAddr());
car2.setStateCn(car1.getStateCn());
car2.setTime(car1.getTime());
}
}
contentResponse.setData(carPageResponsePage.getRecords());
@ -156,7 +179,7 @@ public class CarServiceImpl implements CarService {
log.info("================获取车辆实时定位数据=================");
log.info(body);
try {
json = JSONObject.parse(body);
json = JSONObject.parse(body);
} catch (Exception e) {
log.error(e.getMessage());
throw new ServiceException("获取车辆实时定位失败");

@ -58,5 +58,16 @@ public class TaskMissionServiceImpl extends ServiceImpl<TaskMissionMapper, TaskM
public Page<CarPageResponse> pageByPlateNums(Page<CarPageResponse> page, List<String> 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
</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>

Loading…
Cancel
Save