Browse Source

🚑 交接点没有地图数据也能展示处理

master
wangxiang 3 years ago
parent
commit
bacef8016a
  1. 43
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java
  2. 7
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/MapLogisticPointMapper.java
  3. 7
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IMapLogisticPointService.java
  4. 5
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticPointServiceImpl.java
  5. 7
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/MapLogisticPointMapper.xml

43
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java

@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*; @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
/**
* <p>
@ -60,29 +61,25 @@ public class MapLogisticController { @@ -60,29 +61,25 @@ public class MapLogisticController {
@GetMapping("getMapDataByCourierUserId/{courierUserId:\\w+}")
@ApiOperation(value = "根据收样员id获取地图数据")
public R getById(@PathVariable String courierUserId) {
MapLogistic mapLogistic = iMapLogisticService.getOne(Wrappers.<MapLogistic>lambdaQuery().eq(MapLogistic::getCourierUserId, courierUserId));
if (ObjectUtil.isNotEmpty(mapLogistic)) {
List<MapTask> mapTaskList = iMapTaskService
.list(Wrappers.<MapTask>lambdaQuery().eq(MapTask::getMapLogisticId, mapLogistic.getId()).orderByAsc(MapTask::getSort));
mapTaskList.forEach(item -> {
// 需要带上key,前端地图设计器表格是通过唯一key定位行数据,以及保存时通过key绑定地图标记点数据
item.setKey(item.getId());
List<MapTaskPreset> mapTaskPresetList = iMapTaskPresetService
.list(Wrappers.<MapTaskPreset>lambdaQuery().eq(MapTaskPreset::getMapTaskId, item.getId()).orderByAsc(MapTaskPreset::getSort));
mapTaskPresetList.forEach(childItem -> childItem.setKey(childItem.getId()));
item.setMapTaskPreset(mapTaskPresetList);
});
List<MapLogisticPoint> mapLogisticPointList = iMapLogisticPointService
.list(Wrappers.<MapLogisticPoint>lambdaQuery().eq(MapLogisticPoint::getMapLogisticId, mapLogistic.getId()).orderByAsc(MapLogisticPoint::getSort));
mapLogisticPointList.forEach(item -> item.setKey(item.getId()));
mapLogistic.setMapTask(mapTaskList);
mapLogistic.setMapLogisticPoint(mapLogisticPointList);
// 针对与没有地图数据的收样员,检查是否有其他收样员设置的交接转办任务
} else {
}
MapLogistic mapLogistic = Optional.ofNullable(iMapLogisticService
.getOne(Wrappers.<MapLogistic>lambdaQuery().eq(MapLogistic::getCourierUserId, courierUserId))).orElse(new MapLogistic());
List<MapTask> mapTaskList = iMapTaskService
.list(Wrappers.<MapTask>lambdaQuery().eq(MapTask::getMapLogisticId, mapLogistic.getId()).orderByAsc(MapTask::getSort));
mapTaskList.forEach(item -> {
// 需要绑上key,前端地图设计器表格是通过唯一key定位行数据,以及保存时通过key绑定地图标记点数据
item.setKey(item.getId());
List<MapTaskPreset> mapTaskPresetList = iMapTaskPresetService
.list(Wrappers.<MapTaskPreset>lambdaQuery().eq(MapTaskPreset::getMapTaskId, item.getId()).orderByAsc(MapTaskPreset::getSort));
mapTaskPresetList.forEach(childItem -> childItem.setKey(childItem.getId()));
item.setMapTaskPreset(mapTaskPresetList);
});
List<MapLogisticPoint> mapLogisticPointList = iMapLogisticPointService.getTaskPointByCourierUserId(mapLogistic.getCourierUserId());
List<MapLogisticPoint> mapTaskPresetLogisticPointList = iMapLogisticPointService.getTaskPresetPointByCourierUserId(mapLogistic.getCourierUserId());
mapLogisticPointList.forEach(item -> item.setKey(item.getId()));
mapTaskPresetLogisticPointList.forEach(item -> item.setKey(item.getId()));
mapLogistic.setMapTask(mapTaskList);
mapLogistic.setMapLogisticPoint(mapLogisticPointList);
mapLogistic.setMapTaskPresetLogisticPoint(mapTaskPresetLogisticPointList);
return R.ok(mapLogistic);
}

7
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/MapLogisticPointMapper.java

@ -22,4 +22,11 @@ public interface MapLogisticPointMapper extends BaseMapper<MapLogisticPoint> { @@ -22,4 +22,11 @@ public interface MapLogisticPointMapper extends BaseMapper<MapLogisticPoint> {
*/
List<MapLogisticPoint> getTaskPresetPointByCourierUserId(String courierUserId);
/**
* 获取任务标记点
* @param courierUserId 快递员id
* @return List<MapLogisticPoint>
*/
List<MapLogisticPoint> getTaskPointByCourierUserId(String courierUserId);
}

7
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IMapLogisticPointService.java

@ -22,4 +22,11 @@ public interface IMapLogisticPointService extends IService<MapLogisticPoint> { @@ -22,4 +22,11 @@ public interface IMapLogisticPointService extends IService<MapLogisticPoint> {
*/
List<MapLogisticPoint> getTaskPresetPointByCourierUserId(String courierUserId);
/**
* 获取任务标记点
* @param courierUserId 快递员id
* @return List<MapLogisticPoint>
*/
List<MapLogisticPoint> getTaskPointByCourierUserId(String courierUserId);
}

5
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticPointServiceImpl.java

@ -24,4 +24,9 @@ public class MapLogisticPointServiceImpl extends ServiceImpl<MapLogisticPointMap @@ -24,4 +24,9 @@ public class MapLogisticPointServiceImpl extends ServiceImpl<MapLogisticPointMap
return super.baseMapper.getTaskPresetPointByCourierUserId(courierUserId);
}
@Override
public List<MapLogisticPoint> getTaskPointByCourierUserId(String courierUserId) {
return super.baseMapper.getTaskPointByCourierUserId(courierUserId);
}
}

7
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/MapLogisticPointMapper.xml

@ -9,4 +9,11 @@ @@ -9,4 +9,11 @@
and lp.courier_user_id = #{courierUserId}
</select>
<select id="getTaskPointByCourierUserId" parameterType="String" resultType="MapLogisticPoint">
select *
from common_map_logistic_point lp
where (select count(1) from common_map_task t where lp.map_task_id != t.id) = 0
and lp.courier_user_id = #{courierUserId}
</select>
</mapper>

Loading…
Cancel
Save