|
@@ -6,13 +6,16 @@ import com.sckw.core.utils.CollectionUtils;
|
|
|
import com.sckw.core.web.constant.HttpStatus;
|
|
import com.sckw.core.web.constant.HttpStatus;
|
|
|
import com.sckw.core.web.response.HttpResult;
|
|
import com.sckw.core.web.response.HttpResult;
|
|
|
import com.sckw.mongo.model.TobleTop;
|
|
import com.sckw.mongo.model.TobleTop;
|
|
|
|
|
+import com.sckw.system.api.RemoteSystemService;
|
|
|
import com.sckw.transport.common.enums.CarWaybillEnum;
|
|
import com.sckw.transport.common.enums.CarWaybillEnum;
|
|
|
import com.sckw.transport.dao.*;
|
|
import com.sckw.transport.dao.*;
|
|
|
import com.sckw.transport.model.KwtLogisticsOrderAddress;
|
|
import com.sckw.transport.model.KwtLogisticsOrderAddress;
|
|
|
|
|
+import com.sckw.transport.model.KwtLogisticsOrderCirculate;
|
|
|
import com.sckw.transport.model.KwtLogisticsOrderGoods;
|
|
import com.sckw.transport.model.KwtLogisticsOrderGoods;
|
|
|
import com.sckw.transport.model.KwtWaybillOrder;
|
|
import com.sckw.transport.model.KwtWaybillOrder;
|
|
|
import com.sckw.transport.model.vo.WaybillOrderVO;
|
|
import com.sckw.transport.model.vo.WaybillOrderVO;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
@@ -30,6 +33,9 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
@Service
|
|
|
public class DriverService {
|
|
public class DriverService {
|
|
|
|
|
|
|
|
|
|
+ @DubboReference(version = "2.0.0", group = "design", check = false)
|
|
|
|
|
+ RemoteSystemService remoteSystemService;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private KwtWaybillOrderMapper waybillOrderMapper;
|
|
private KwtWaybillOrderMapper waybillOrderMapper;
|
|
|
|
|
|
|
@@ -51,6 +57,9 @@ public class DriverService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private KwtLogisticsOrderGoodsMapper logisticsOrderGoodsMapper;
|
|
private KwtLogisticsOrderGoodsMapper logisticsOrderGoodsMapper;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private KwtLogisticsOrderCirculateMapper logisticsOrderCirculateMapper;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @param id
|
|
* @param id
|
|
@@ -98,8 +107,9 @@ public class DriverService {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 根据当前登录 id获取派给当前id的车辆运单
|
|
* 根据当前登录 id获取派给当前id的车辆运单
|
|
|
- * @param id 司机id
|
|
|
|
|
- * @param type 展示页签类型
|
|
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param id 司机id
|
|
|
|
|
+ * @param type 展示页签类型
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
public HttpResult getWaybillDriverDetail(Long id, String type) {
|
|
public HttpResult getWaybillDriverDetail(Long id, String type) {
|
|
@@ -111,26 +121,131 @@ public class DriverService {
|
|
|
* 完结: 对应[已卸货]、[已核单]
|
|
* 完结: 对应[已卸货]、[已核单]
|
|
|
* */
|
|
* */
|
|
|
HttpResult result = new HttpResult();
|
|
HttpResult result = new HttpResult();
|
|
|
- List<Long> status = new ArrayList<>();
|
|
|
|
|
|
|
+ List<Long> tripStatus = new ArrayList<>();
|
|
|
|
|
+ List<Long> loopStatus = new ArrayList<>();
|
|
|
if (String.valueOf(NumberConstant.ONE).equals(type)) {
|
|
if (String.valueOf(NumberConstant.ONE).equals(type)) {
|
|
|
- status.add(CarWaybillEnum.PENDING_ORDER.getCode().longValue());
|
|
|
|
|
|
|
+ tripStatus.add(CarWaybillEnum.PENDING_ORDER.getCode().longValue());
|
|
|
} else if (String.valueOf(NumberConstant.TWO).equals(type)) {
|
|
} else if (String.valueOf(NumberConstant.TWO).equals(type)) {
|
|
|
- status.add(CarWaybillEnum.PENDING_VEHICLE.getCode().longValue());
|
|
|
|
|
|
|
+ tripStatus.add(CarWaybillEnum.PENDING_VEHICLE.getCode().longValue());
|
|
|
|
|
+ loopStatus.add(CarWaybillEnum.PENDING_VEHICLE.getCode().longValue());
|
|
|
} else if (String.valueOf(NumberConstant.THREE).equals(type)) {
|
|
} else if (String.valueOf(NumberConstant.THREE).equals(type)) {
|
|
|
- status.add(CarWaybillEnum.EXIT_COMPLETED.getCode().longValue());
|
|
|
|
|
- status.add(CarWaybillEnum.WAIT_LOADING.getCode().longValue());
|
|
|
|
|
- status.add(CarWaybillEnum.COMPLETION_LOADING.getCode().longValue());
|
|
|
|
|
- status.add(CarWaybillEnum.WAIT_UNLOADING.getCode().longValue());
|
|
|
|
|
|
|
+ tripStatus.add(CarWaybillEnum.EXIT_COMPLETED.getCode().longValue());
|
|
|
|
|
+ tripStatus.add(CarWaybillEnum.WAIT_LOADING.getCode().longValue());
|
|
|
|
|
+ tripStatus.add(CarWaybillEnum.COMPLETION_LOADING.getCode().longValue());
|
|
|
|
|
+ tripStatus.add(CarWaybillEnum.WAIT_UNLOADING.getCode().longValue());
|
|
|
|
|
+
|
|
|
|
|
+ loopStatus.add(CarWaybillEnum.EXIT_COMPLETED.getCode().longValue());
|
|
|
|
|
+ loopStatus.add(CarWaybillEnum.WAIT_LOADING.getCode().longValue());
|
|
|
|
|
+ loopStatus.add(CarWaybillEnum.COMPLETION_LOADING.getCode().longValue());
|
|
|
|
|
+ loopStatus.add(CarWaybillEnum.WAIT_UNLOADING.getCode().longValue());
|
|
|
} else if (String.valueOf(NumberConstant.FOUR).equals(type)) {
|
|
} else if (String.valueOf(NumberConstant.FOUR).equals(type)) {
|
|
|
- status.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode().longValue());
|
|
|
|
|
- status.add(CarWaybillEnum.APPROVAL_COMPLETED.getCode().longValue());
|
|
|
|
|
|
|
+ tripStatus.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode().longValue());
|
|
|
|
|
+ tripStatus.add(CarWaybillEnum.APPROVAL_COMPLETED.getCode().longValue());
|
|
|
|
|
+
|
|
|
|
|
+ loopStatus.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode().longValue());
|
|
|
|
|
+ loopStatus.add(CarWaybillEnum.APPROVAL_COMPLETED.getCode().longValue());
|
|
|
} else {
|
|
} else {
|
|
|
result.setMsg("类型错误");
|
|
result.setMsg("类型错误");
|
|
|
result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
|
|
result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
- List<Long> list = waybillOrderMapper.selectDriverOrder(id, status);
|
|
|
|
|
List<WaybillOrderVO> orderVOList = new ArrayList<>();
|
|
List<WaybillOrderVO> orderVOList = new ArrayList<>();
|
|
|
|
|
+ /**趟次*/
|
|
|
|
|
+ tripPackageData(id, tripStatus, orderVOList);
|
|
|
|
|
+ /**循环*/
|
|
|
|
|
+ loopPackageData(id,loopStatus,orderVOList);
|
|
|
|
|
+ orderVOList = orderVOList.stream().sorted(Comparator.comparing(WaybillOrderVO::getCreateTime)).collect(Collectors.toList());
|
|
|
|
|
+ return HttpResult.ok(orderVOList);
|
|
|
|
|
+ }
|
|
|
|
|
+ private void loopPackageData(Long id, List<Long> loopStatus, List<WaybillOrderVO> orderVOList) {
|
|
|
|
|
+ if(CollectionUtils.isEmpty(loopStatus)){
|
|
|
|
|
+ List<KwtLogisticsOrderCirculate> list = logisticsOrderCirculateMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderCirculate>()
|
|
|
|
|
+ .eq(KwtLogisticsOrderCirculate::getDriverId,id)
|
|
|
|
|
+ .isNull(KwtLogisticsOrderCirculate::getWOrderId)
|
|
|
|
|
+ .eq(KwtLogisticsOrderCirculate::getStatus,NumberConstant.ZERO));
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(list)){
|
|
|
|
|
+ for (KwtLogisticsOrderCirculate circulate : list) {
|
|
|
|
|
+ KwtLogisticsOrderAddress loadAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getLOrderId, circulate.getLOrderId()).eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.ONE));
|
|
|
|
|
+ KwtLogisticsOrderAddress unloadAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getLOrderId, circulate.getLOrderId()).eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO));
|
|
|
|
|
+ KwtLogisticsOrderGoods orderGoods = logisticsOrderGoodsMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderGoods>()
|
|
|
|
|
+ .eq(KwtLogisticsOrderGoods::getLOrderId, circulate.getLOrderId()));
|
|
|
|
|
+ List<KwtWaybillOrder> waybillOrders = waybillOrderMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrder>()
|
|
|
|
|
+ .eq(KwtWaybillOrder::getLOrderId, circulate.getLOrderId()).eq(KwtWaybillOrder::getDriverId, id));
|
|
|
|
|
+ for (KwtWaybillOrder waybill : waybillOrders) {
|
|
|
|
|
+ WaybillOrderVO vo = new WaybillOrderVO();
|
|
|
|
|
+ vo.setLOrderId(circulate.getLOrderId());
|
|
|
|
|
+ vo.setLoadCityCode(loadAddress.getCityCode());
|
|
|
|
|
+ vo.setLoadCityName(loadAddress.getCityName());
|
|
|
|
|
+ vo.setLoadDetailAddress(loadAddress.getDetailAddress());
|
|
|
|
|
+ vo.setUnloadCityName(unloadAddress.getCityName());
|
|
|
|
|
+ vo.setUnloadCityCode(unloadAddress.getCityCode());
|
|
|
|
|
+ vo.setEntId(String.valueOf(waybill.getEntId()));
|
|
|
|
|
+ vo.setFirmName(remoteSystemService.queryEntCacheById(waybill.getEntId()).getFirmName());
|
|
|
|
|
+ vo.setGoodsName(orderGoods == null ? null : (orderGoods.getGoodsName() == null ? null : orderGoods.getGoodsName()));
|
|
|
|
|
+ vo.setGoodsCode(orderGoods == null ? null : (orderGoods.getSkuId() == null ? null : String.valueOf(orderGoods.getSkuId())));
|
|
|
|
|
+ vo.setWOrderId(waybill.getId());
|
|
|
|
|
+ vo.setWOrderNo(waybill.getWOrderNo());
|
|
|
|
|
+ vo.setCreateTime(waybill.getCreateTime());
|
|
|
|
|
+ vo.setStartTime(waybill.getStartTime());
|
|
|
|
|
+ vo.setEndTime(waybill.getEndTime());
|
|
|
|
|
+ //todo 查询车队服务dubbo
|
|
|
|
|
+// vo.setFleetName();
|
|
|
|
|
+// vo.setFleetId();
|
|
|
|
|
+// vo.setTruckFleetName();
|
|
|
|
|
+ vo.setEntrustAmount(waybill.getEntrustAmount());
|
|
|
|
|
+ vo.setType(waybill.getType());
|
|
|
|
|
+ vo.setTruckNo(waybill.getTruckNo());
|
|
|
|
|
+ orderVOList.add(vo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }else {
|
|
|
|
|
+ List<Long> list = logisticsOrderCirculateMapper.selectDriverOrderByStatus(id, loopStatus);
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(list)){
|
|
|
|
|
+ for (Long aLong : list) {
|
|
|
|
|
+ KwtLogisticsOrderAddress loadAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getLOrderId, aLong).eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.ONE));
|
|
|
|
|
+ KwtLogisticsOrderAddress unloadAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getLOrderId, aLong).eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO));
|
|
|
|
|
+ KwtLogisticsOrderGoods orderGoods = logisticsOrderGoodsMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderGoods>()
|
|
|
|
|
+ .eq(KwtLogisticsOrderGoods::getLOrderId, aLong));
|
|
|
|
|
+ List<KwtWaybillOrder> waybillOrders = waybillOrderMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrder>()
|
|
|
|
|
+ .eq(KwtWaybillOrder::getLOrderId, aLong).eq(KwtWaybillOrder::getDriverId, id));
|
|
|
|
|
+ for (KwtWaybillOrder waybill : waybillOrders) {
|
|
|
|
|
+ WaybillOrderVO vo = new WaybillOrderVO();
|
|
|
|
|
+ vo.setLOrderId(aLong);
|
|
|
|
|
+ vo.setLoadCityCode(loadAddress.getCityCode());
|
|
|
|
|
+ vo.setLoadCityName(loadAddress.getCityName());
|
|
|
|
|
+ vo.setLoadDetailAddress(loadAddress.getDetailAddress());
|
|
|
|
|
+ vo.setUnloadCityName(unloadAddress.getCityName());
|
|
|
|
|
+ vo.setUnloadCityCode(unloadAddress.getCityCode());
|
|
|
|
|
+ vo.setEntId(String.valueOf(waybill.getEntId()));
|
|
|
|
|
+ vo.setFirmName(remoteSystemService.queryEntCacheById(waybill.getEntId()).getFirmName());
|
|
|
|
|
+ vo.setGoodsName(orderGoods == null ? null : (orderGoods.getGoodsName() == null ? null : orderGoods.getGoodsName()));
|
|
|
|
|
+ vo.setGoodsCode(orderGoods == null ? null : (orderGoods.getSkuId() == null ? null : String.valueOf(orderGoods.getSkuId())));
|
|
|
|
|
+ vo.setWOrderId(waybill.getId());
|
|
|
|
|
+ vo.setWOrderNo(waybill.getWOrderNo());
|
|
|
|
|
+ vo.setCreateTime(waybill.getCreateTime());
|
|
|
|
|
+ vo.setStartTime(waybill.getStartTime());
|
|
|
|
|
+ vo.setEndTime(waybill.getEndTime());
|
|
|
|
|
+ //todo 查询车队服务dubbo
|
|
|
|
|
+// vo.setFleetName();
|
|
|
|
|
+// vo.setFleetId();
|
|
|
|
|
+// vo.setTruckFleetName();
|
|
|
|
|
+ vo.setEntrustAmount(waybill.getEntrustAmount());
|
|
|
|
|
+ vo.setType(waybill.getType());
|
|
|
|
|
+ vo.setTruckNo(waybill.getTruckNo());
|
|
|
|
|
+ orderVOList.add(vo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private void tripPackageData(Long id, List<Long> tripStatus, List<WaybillOrderVO> orderVOList) {
|
|
|
|
|
+ List<Long> list = waybillOrderMapper.selectDriverOrder(id, tripStatus);
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
for (Long aLong : list) {
|
|
for (Long aLong : list) {
|
|
|
KwtLogisticsOrderAddress loadAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
KwtLogisticsOrderAddress loadAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
@@ -149,6 +264,8 @@ public class DriverService {
|
|
|
vo.setLoadDetailAddress(loadAddress.getDetailAddress());
|
|
vo.setLoadDetailAddress(loadAddress.getDetailAddress());
|
|
|
vo.setUnloadCityName(unloadAddress.getCityName());
|
|
vo.setUnloadCityName(unloadAddress.getCityName());
|
|
|
vo.setUnloadCityCode(unloadAddress.getCityCode());
|
|
vo.setUnloadCityCode(unloadAddress.getCityCode());
|
|
|
|
|
+ vo.setEntId(String.valueOf(waybill.getEntId()));
|
|
|
|
|
+ vo.setFirmName(remoteSystemService.queryEntCacheById(waybill.getEntId()).getFirmName());
|
|
|
vo.setGoodsName(orderGoods == null ? null : (orderGoods.getGoodsName() == null ? null : orderGoods.getGoodsName()));
|
|
vo.setGoodsName(orderGoods == null ? null : (orderGoods.getGoodsName() == null ? null : orderGoods.getGoodsName()));
|
|
|
vo.setGoodsCode(orderGoods == null ? null : (orderGoods.getSkuId() == null ? null : String.valueOf(orderGoods.getSkuId())));
|
|
vo.setGoodsCode(orderGoods == null ? null : (orderGoods.getSkuId() == null ? null : String.valueOf(orderGoods.getSkuId())));
|
|
|
vo.setWOrderId(waybill.getId());
|
|
vo.setWOrderId(waybill.getId());
|
|
@@ -166,8 +283,6 @@ public class DriverService {
|
|
|
orderVOList.add(vo);
|
|
orderVOList.add(vo);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- orderVOList = orderVOList.stream().sorted(Comparator.comparing(WaybillOrderVO::getCreateTime)).collect(Collectors.toList());
|
|
|
|
|
}
|
|
}
|
|
|
- return HttpResult.ok(orderVOList);
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|