提交 b547265e authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v6.9_bug_20231117' into v6.9_bug_20231117

...@@ -155,8 +155,9 @@ public enum OrderChildEnum { ...@@ -155,8 +155,9 @@ public enum OrderChildEnum {
// 完成 // 完成
public static final List<Integer> FINISH_lIST = Arrays.asList( public static final List<Integer> FINISH_lIST = Arrays.asList(
Status.UNSETTLE.getCode() Status.UNLOAD.getCode(),
Status.UNSETTLE.getCode(),
Status.COMPLETE.getCode()
); );
// 运单数据同步一部状态 // 运单数据同步一部状态
......
...@@ -25,4 +25,6 @@ public class OrderChildReportParam { ...@@ -25,4 +25,6 @@ public class OrderChildReportParam {
@ApiModelProperty(value = "开始时间 必填") @ApiModelProperty(value = "开始时间 必填")
@NotNull(message = "开始时间") @NotNull(message = "开始时间")
private String beginTime; private String beginTime;
@ApiModelProperty(value = "订单编号")
private String orderNo;
} }
package com.clx.performance.controller.largescreen;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.clx.performance.service.OrderChildService;
import com.clx.user.feign.DriverFeign;
import com.clx.user.feign.UserClxFeign;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @ClassName GoodsOrderController
* @Description
* @Author kavin
* @Date 2023/9/17 17:16
* @Version 1.0
*/
@Slf4j
@RestController
@RequestMapping("/pc/largescreen")
@Validated
@AllArgsConstructor
@Api(tags = "PC-大屏")
public class LargeScreenController {
private final DriverFeign driverFeign;
private final OrderChildService orderChildService;
@ApiOperation(value = "空车列表", notes = "<br>By:胡宇帆")
@GetMapping("/emptyCarList")
public String emptyCarList() {
List<String> data = driverFeign.driverTruckList().getData();
return JSONUtil.toJsonStr(orderChildService.emptyCarList(data));
}
@ApiOperation(value = "重车列表", notes = "<br>By:胡宇帆")
@GetMapping("/weightCarList")
public String weightCarList() {
List<String> data = driverFeign.driverTruckList().getData();
return JSONUtil.toJsonStr(orderChildService.weightCarList(data));
}
}
...@@ -155,4 +155,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -155,4 +155,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
OrderChild getOrderCompleteLastTruck(String orderNo); OrderChild getOrderCompleteLastTruck(String orderNo);
Long haveArriveReceiveChild(String orderNo); Long haveArriveReceiveChild(String orderNo);
List<OrderChild> selectListWithEmptyCarList();
} }
...@@ -91,7 +91,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int ...@@ -91,7 +91,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
BigDecimal sumAlreadyTransportWeightByOrderNo(String orderNo); BigDecimal sumAlreadyTransportWeightByOrderNo(String orderNo);
List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId); List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId,String orderNo);
} }
...@@ -486,4 +486,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -486,4 +486,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
query.lt(OrderChild :: getStatus,OrderChildEnum.Status.ARRIVE_RECEIVE.getCode()); query.lt(OrderChild :: getStatus,OrderChildEnum.Status.ARRIVE_RECEIVE.getCode());
return baseMapper.selectCount(query); return baseMapper.selectCount(query);
} }
@Override
public List<OrderChild> selectListWithEmptyCarList() {
return baseMapper.selectList(lQrWrapper()
.le(OrderChild :: getStatus,OrderChildEnum.Status.UNSETTLE.getCode())
.ge(OrderChild :: getStatus,OrderChildEnum.Status.CREATED.getCode())
);
}
} }
...@@ -251,7 +251,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods, ...@@ -251,7 +251,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
@Override @Override
public List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId) { public List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId,String orderNo) {
return baseMapper.getFreightPrice(sendAddressId,receiveAddressId); return baseMapper.getFreightPrice(orderNo,sendAddressId,receiveAddressId);
} }
} }
...@@ -87,8 +87,9 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> { ...@@ -87,8 +87,9 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@Select("select pending_order_freight from order_goods where " + @Select("select pending_order_freight from order_goods where " +
" send_address_id = #{sendAddressId} and" + " send_address_id = #{sendAddressId} and" +
" receive_address_id = #{receiveAddressId} order by id desc limit 10 ") " receive_address_id = #{receiveAddressId} and order_no != #{orderNo} order by id desc limit 10 ")
List<Double> getFreightPrice(@Param("sendAddressId") Integer sendAddressId, List<Double> getFreightPrice(@Param("orderNo") String orderNo,
@Param("sendAddressId") Integer sendAddressId,
@Param("receiveAddressId") Integer receiveAddressId); @Param("receiveAddressId") Integer receiveAddressId);
} }
package com.clx.performance.service; package com.clx.performance.service;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.*; import com.clx.performance.param.app.*;
...@@ -9,8 +11,10 @@ import com.clx.performance.param.pc.PageMonitorOrderChildQCParam; ...@@ -9,8 +11,10 @@ import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam; import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.*; import com.clx.performance.vo.pc.*;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
...@@ -79,4 +83,8 @@ public interface OrderChildService { ...@@ -79,4 +83,8 @@ public interface OrderChildService {
List<OrderChild> selectInTransitOrderChild(String orderNo); List<OrderChild> selectInTransitOrderChild(String orderNo);
DriverCancelOrderChildInfo driverCancelOrderChildInfo(String orderChildNo); DriverCancelOrderChildInfo driverCancelOrderChildInfo(String orderChildNo);
List<JSONObject> emptyCarList(List<String> data);
List<JSONObject> weightCarList(List<String> data);
} }
package com.clx.performance.service.impl; package com.clx.performance.service.impl;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.OrderEnum; import com.clx.order.enums.OrderEnum;
import com.clx.order.enums.ResultEnum;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO; import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderInfoVO; import com.clx.order.vo.feign.FeignOrderInfoVO;
...@@ -38,11 +40,13 @@ import com.clx.performance.service.settle.SettlementOwnerDetailService; ...@@ -38,11 +40,13 @@ import com.clx.performance.service.settle.SettlementOwnerDetailService;
import com.clx.performance.struct.*; import com.clx.performance.struct.*;
import com.clx.performance.utils.gd.GdService; import com.clx.performance.utils.gd.GdService;
import com.clx.performance.utils.spring.ApplicationContextUtils; import com.clx.performance.utils.spring.ApplicationContextUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.*; import com.clx.performance.vo.pc.*;
import com.clx.user.enums.driver.DriverInfoEnum; import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo; import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
import com.clx.user.vo.feign.OwnerInfoFeignVO; import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.enums.ResultCodeEnum; import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
...@@ -66,6 +70,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -66,6 +70,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.Duration;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -154,6 +159,12 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -154,6 +159,12 @@ public class OrderChildServiceImpl implements OrderChildService {
@Autowired @Autowired
private FeignPaymentService feignPaymentService; private FeignPaymentService feignPaymentService;
@Autowired
private TruckService truckService;
@Autowired
private ZjxlGpsService zjxlGpsService;
@Override @Override
public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) { public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) {
...@@ -1245,6 +1256,77 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1245,6 +1256,77 @@ public class OrderChildServiceImpl implements OrderChildService {
return result; return result;
} }
@Override
public List<JSONObject> emptyCarList(List<String> data) {
String now = DateUtils.formatDateTime(LocalDateTime.now(), "yyyy-MM-dd HH:mm:ss").get();
List<OrderChild> orderChildList = orderChildDao.selectListWithEmptyCarList();
if (CollectionUtils.isEmpty(orderChildList)) {
return null;
}
List<String> list = orderChildList.stream().map(OrderChild::getTruckNo).collect(Collectors.toList());
List<JSONObject> result = new LinkedList<>();
int index = 0;
for (String truckNo : data) {
if (list.contains(truckNo)) {
continue;
}
List<TruckTraceDTO> truckTrace = zjxlGpsService.getTruckTrace(truckNo, now,
now);
if(CollectionUtils.isNotEmpty(truckTrace)){
JSONObject jsonObject = new JSONObject();
BigDecimal[] location = truckTrace.get(truckTrace.size() - 1).getLocation();
BigDecimal longitude = location[0].setScale(4, BigDecimal.ROUND_DOWN);
BigDecimal latitude = location[1].setScale(4, BigDecimal.ROUND_DOWN);
jsonObject.set("id", ++index);
jsonObject.set("lng", longitude);
jsonObject.set("lat", latitude);
jsonObject.set("info", "");
jsonObject.set("value", "");
jsonObject.set("iconField", "ok");
result.add(jsonObject);
}
}
return result;
}
@Override
public List<JSONObject> weightCarList(List<String> data) {
String now = DateUtils.formatDateTime(LocalDateTime.now(), "yyyy-MM-dd HH:mm:ss").get();
List<OrderChild> orderChildList = orderChildDao.selectListWithEmptyCarList();
if (CollectionUtils.isEmpty(orderChildList)) {
return null;
}
List<String> list = orderChildList.stream().map(OrderChild::getTruckNo).collect(Collectors.toList());
List<JSONObject> result = new LinkedList<>();
int index = 0;
for (String truckNo : data) {
if (!list.contains(truckNo)) {
continue;
}
List<TruckTraceDTO> truckTrace = zjxlGpsService.getTruckTrace(truckNo, now,
now);
if(CollectionUtils.isNotEmpty(truckTrace)){
JSONObject jsonObject = new JSONObject();
BigDecimal[] location = truckTrace.get(truckTrace.size() - 1).getLocation();
BigDecimal longitude = location[0].setScale(4, BigDecimal.ROUND_DOWN);
BigDecimal latitude = location[1].setScale(4, BigDecimal.ROUND_DOWN);
jsonObject.set("id", ++index);
jsonObject.set("lng", longitude);
jsonObject.set("lat", latitude);
jsonObject.set("info", "");
jsonObject.set("value", "");
jsonObject.set("iconField", "ok");
result.add(jsonObject);
}
}
return result;
}
/** /**
* 生成计费单 * 生成计费单
*/ */
......
...@@ -743,7 +743,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -743,7 +743,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
@Override @Override
public FreightEstimateVO listFreightEstimate(OrderChildReportParam param) { public FreightEstimateVO listFreightEstimate(OrderChildReportParam param) {
List<Double> lossNet = orderChildDao.getLossNet(param); List<Double> lossNet = orderChildDao.getLossNet(param);
List<Double> freightPrice = orderGoodsDao.getFreightPrice(param.getSendAddressId(), param.getReceiveAddressId()); List<Double> freightPrice = orderGoodsDao.getFreightPrice(param.getSendAddressId(), param.getReceiveAddressId(),param.getOrderNo());
FreightEstimateVO freightEstimateVO= new FreightEstimateVO(); FreightEstimateVO freightEstimateVO= new FreightEstimateVO();
freightEstimateVO.setLossNet(lossNet); freightEstimateVO.setLossNet(lossNet);
freightEstimateVO.setFreightPriceList(freightPrice); freightEstimateVO.setFreightPriceList(freightPrice);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论