提交 d6397d9a authored 作者: 马路路's avatar 马路路

Merge remote-tracking branch 'origin/v32.8_vehicle_certification_review_20241101' into dev_jdk17

# Conflicts: # clx-performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java # clx-performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java # clx-performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
......@@ -45,6 +45,14 @@ public class LastTruckController {
return Result.ok(orderChildStruct.convert(child));
}
@Operation(summary = "手动同步数媒宝最后一车触发",description = "<br>By:刘海泉")
@GetMapping("/handExecSyncSmbLastTruck")
public Result<?> handExecSyncSmbLastTruck(
@RequestParam("orderNo")
@NotBlank(message = "订单编号不能为空") String orderNo,
@RequestParam("childNo")
@NotBlank(message = "运单编号不能为空") String childNo) {
return lastTruckService.handExecSyncSmbLastTruck(orderNo,childNo);
}
}
......@@ -52,7 +52,6 @@ public class PendingFreightController {
@Operation(summary = "导出挂单运费", description = "<br>By:刘海泉")
@PostMapping("/exportPendingFreight")
@UnitCovert(param = false)
public void exportPendingFreight(@RequestBody @Validated PagePendingFreightParam param, HttpServletResponse response) throws Exception {
SXSSFWorkbook workbook = pendingFreightService.exportPendingFreight(param);
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dto.CancelOrderGoodsWeightDTO;
import com.clx.performance.dto.OrderGoodsNotCancelChildDTO;
import com.clx.performance.dto.OrderGoodsTodaySumDTO;
import com.clx.performance.dto.OrderGoodsTodaySumDTO;
import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO;
import com.clx.performance.mapper.OrderChildMapper;
import com.clx.performance.model.OrderChild;
......@@ -195,7 +196,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List<LineWarnOrderChildStatisticsDTO>sumUnloadNumByOrderGoodsNoList(List<String> orderGoodsNoList);
List<OrderChild> listByOrderNo(String orderNo,List<Integer> status);
void updateBatchOwnerCancel(List<String> childNos);
List<OrderChild> listByChildNoList(List<String> childNoList);
......@@ -214,12 +214,11 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
void batchUpdateCancel(List<OrderChild> canCancelOrderChildList);
int countLoadByOrderGoodsNo(String orderGoodsNo);
List<OrderChild> findListByChildNoList(List<String> childNoList);
int countTakeByOrderGoodsNo(String orderGoodsNo);
int countLoadByOrderGoodsNo(String orderGoodsNo);
List<OrderChild> listNoCancelOrderChild(String orderNo);
......@@ -229,10 +228,10 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
OrderGoodsTodaySumDTO sumOrderChildFreightByDriverUserNo(Long driverUserNo);
Long countNotCancelOrderChild(List<String> cancelOrderGoodsNo);
Long queryNoCancelChildByOrderGoodsNo(String orderGoodsNo, Integer code);
Long queryTruckProcessingOrderChild(String truckNo);
}
......@@ -20,5 +20,5 @@ public interface PendingFreightDao extends BaseDao<PendingFreightMapper, Pending
IPage<PendingFreight> pagePendingFreight(PagePendingFreightParam param);
void updatePendingFreight(String orderNo, BigDecimal pendingFreight, BigDecimal avgPendingFreight);
void updateSameLineHistoryFreight(Integer sendAddressId, Integer receiveAddressId, BigDecimal historyFreight, BigDecimal avgHistoryFreight);
}
......@@ -769,4 +769,13 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
query.le(OrderChild::getStatus,OrderChildEnum.Status.UNLOAD.getCode());
return baseMapper.selectCount(query);
}
@Override
public List<OrderChild> listNoCancelOrderChild(String orderNo) {
return list(lQrWrapper()
.eq(OrderChild :: getOrderNo, orderNo)
.lt(OrderChild :: getStatus,OrderChildEnum.Status.DRIVER_CANCEL.getCode())
);
}
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.OrderEnum;
import com.clx.performance.dao.PendingFreightDao;
import com.clx.performance.mapper.PendingFreightMapper;
import com.clx.performance.model.PendingFreight;
......@@ -43,16 +44,20 @@ public class PendingFreightDaoImpl extends BaseDaoImpl<PendingFreightMapper, Pen
@Override
public IPage<PendingFreight> pagePendingFreight(PagePendingFreightParam param) {
LambdaQueryWrapper<PendingFreight> query = new LambdaQueryWrapper<>();
query.in(PendingFreight :: getOrderStatus, OrderEnum.PENDING_FREIGHT_STATUS_LIST);
query.orderByDesc(PendingFreight :: getId);
return baseMapper.selectPage(Page.of(param.getPage(),param.getPageSize()),query);
}
@Override
public void updatePendingFreight(String orderNo, BigDecimal pendingFreight, BigDecimal avgPendingFreight) {
public void updateSameLineHistoryFreight(Integer sendAddressId, Integer receiveAddressId, BigDecimal historyFreight, BigDecimal avgHistoryFreight) {
LambdaUpdateWrapper<PendingFreight> update = new LambdaUpdateWrapper<>();
update.set(PendingFreight :: getHistoryFreight,pendingFreight);
update.set(PendingFreight :: getHistoryAvgFreight,avgPendingFreight);
update.eq(PendingFreight :: getOrderNo,orderNo);
update.set(PendingFreight :: getHistoryFreight,historyFreight);
update.set(PendingFreight :: getHistoryAvgFreight,avgHistoryFreight);
update.eq(PendingFreight :: getSendAddressId,sendAddressId);
update.eq(PendingFreight :: getReceiveAddressId,receiveAddressId);
update.in(PendingFreight :: getOrderStatus,OrderEnum.PENDING_FREIGHT_STATUS_LIST);
baseMapper.update(update);
}
}
package com.clx.performance.job;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.clx.performance.service.LastTruckService;
import com.msl.common.job.JobLog;
import com.msl.common.result.Result;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@AllArgsConstructor
public class SyncLastTruckJob {
private final LastTruckService lastTruckService;
/**
* 手动触发最后一车推送第三方平台
*/
@XxlJob("handExecSyncSmbLastTruck")
public void handExecSyncSmbLastTruck() {
try {
String jobParam= XxlJobHelper.getJobParam();
JSONObject jsonObject = JSON.parseObject(jobParam);
String orderNo = jsonObject.getString("orderNo");
String childNo = jsonObject.getString("childNo");
log.info("开始手动执行同步最后一车,订单号:{}.运单号:{}",orderNo,childNo);
Result<?> result = lastTruckService.handExecSyncSmbLastTruck(orderNo,childNo);
log.info("结束手动执行同步最后一车,订单号:{}.运单号:{},响应结果:{}",orderNo,childNo,result);
} catch (Exception e) {
log.warn("同步最后一车到第三方平台发生异常,异常原因:{}", ExceptionUtils.getStackTrace(e));
JobLog.error("同步最后一车到第三方平台发生异常,异常原因=====================", e);
}
}
}
......@@ -152,7 +152,7 @@ public class OrderChildDtsListener {
OpenCallBackClient openCallBackClient = thirdAppConfig.getOpenCallBackClient(orderInfoFeign.getOrderSource().toString());
Result<?> result = openCallBackClient.encryptPost(data,after.topic());
log.info("运单信息同步,运单编号:{},响应结果:{}",after.getChildNo(),JSON.toJSONString(result));
syncLastTruck(orderInfoFeign,after);
lastTruckService.syncLastTruck(orderInfoFeign,after);
return;
}
......@@ -218,26 +218,7 @@ public class OrderChildDtsListener {
}
}
public void syncLastTruck(FeignOrderVO orderInfoFeign,OrderChildMessage after) {
//当运单状态为到达目的地之后的状态时候,需要判断最后一车的逻辑
if(Objects.equals(com.clx.open.sdk.enums.OrderChildEnum.Status.COMMON_CANCEL.getCode(),after.getStatus()) ||
(after.getStatus() >= OrderChildEnum.Status.ARRIVE_RECEIVE.getCode() && after.getStatus() <= OrderChildEnum.Status.COMPLETE.getCode())){
OrderChild child;
if(Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.COMPLETED.getCode()) ||
Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.SUCCESS.getCode())) { //订单变成已完成 || 已完结
OrderEnum.Status byCode = OrderEnum.Status.getByCode(orderInfoFeign.getOrderStatus());
log.info("订单号:{},运单号:{},订单状态:{},开始查询最后一车运单===========" ,orderInfoFeign.getOrderNo(),after.getChildNo(),
Objects.nonNull(byCode)?byCode.getName():"未知状态");
child = lastTruckService.getOrderCompleteLastTruck(after.getOrderNo());
}else{ // 订单除 已完成 || 已完结 外的其他状态
child = lastTruckService.getOrderLastTruck(after.getOrderNo());
}
if(Objects.nonNull(child)){
lastTruckService.syncLastTruckChild(child);
}
}
}
/**
* 第三方同步
......@@ -301,11 +282,11 @@ public class OrderChildDtsListener {
// 装车吨数发生变化
|| Objects.equals(after.getLoadNet(),before.getLoadNet())
){
log.info("开始发送同步挂单运费表消息,订单号:{},运单号:{}", after.getOrderNo(),after.getChildNo());
log.info("开始发送同步挂单运费表消息====运单部分,订单号:{},运单号:{}", after.getOrderNo(),after.getChildNo());
Message body = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(after)).getBytes()).build();
rabbitTemplate.send(SYNC_PENDING_FREIGHT_FOR_ORDER_CHILD_EXCHANGE,
SYNC_PENDING_FREIGHT_FOR_ORDER_CHILD_ROUTING_KEY, body);
log.info("结束发送同步挂单运费表消息,订单号:{},运单号:{}", after.getOrderNo(),after.getChildNo());
log.info("结束发送同步挂单运费表消息====运单部分,订单号:{},运单号:{}", after.getOrderNo(),after.getChildNo());
}
}
......
......@@ -50,10 +50,12 @@ public class OrderGoodsDtsListener {
//同步after数据
log.info("新增:{}",JSON.toJSONString(after));
syncPerformanceProgress(before,after,DtsOperationTypeEnum.INSERT.getCode());
syncPendingFreight(before,after,DtsOperationTypeEnum.INSERT.getCode());
sendSaveOrderGoodsAdjustmentPriceMessage(before,after,DtsOperationTypeEnum.INSERT.getCode());
}else if(Objects.equals(DtsOperationTypeEnum.UPDATE.getCode(),dataTransportDTO.getOperationType().getCode())){
log.info("修改:{}",JSON.toJSONString(after));
syncPerformanceProgress(before,after,DtsOperationTypeEnum.UPDATE.getCode());
syncPendingFreight(before,after,DtsOperationTypeEnum.UPDATE.getCode());
sendSaveOrderGoodsAdjustmentPriceMessage(before,after,DtsOperationTypeEnum.UPDATE.getCode());
}else if(Objects.equals(DtsOperationTypeEnum.DELETE.getCode(),dataTransportDTO.getOperationType().getCode())){
//数据删除
......@@ -103,11 +105,11 @@ public class OrderGoodsDtsListener {
}
}
if(isSend){
log.info("开始发送同步挂单运费表消息,订单号:{},货单号:{}", after.getOrderNo(),after.getOrderGoodsNo());
log.info("开始发送同步挂单运费表消息===货单部分,订单号:{},货单号:{}", after.getOrderNo(),after.getOrderGoodsNo());
Message body = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(after)).getBytes()).build();
rabbitTemplate.send(SYNC_PENDING_FREIGHT_FOR_ORDER_GOODS_EXCHANGE,
SYNC_PENDING_FREIGHT_FOR_ORDER_GOODS_ROUTING_KEY, body);
log.info("结束发送同步挂单运费表消息,订单号:{},货单号:{}", after.getOrderNo(),after.getOrderGoodsNo());
log.info("结束发送同步挂单运费表消息===货单部分,订单号:{},货单号:{}", after.getOrderNo(),after.getOrderGoodsNo());
}
}
......
......@@ -24,7 +24,7 @@ public class SyncPendingFreight4OrderChildListener {
private final PendingFreightService pendingFreightService;
@RabbitListener(queues = RabbitKeyConstants.SYNC_PENDING_FREIGHT_FOR_ORDER_GOODS_QUEUE)
@RabbitListener(queues = RabbitKeyConstants.SYNC_PENDING_FREIGHT_FOR_ORDER_CHILD_QUEUE)
public void onMessage(Message message) {
try{
log.info("监听到同步挂单运费表---运单信息部分,消息内容{}", new String(message.getBody()));
......
......@@ -72,13 +72,10 @@ public class PendingFreight implements HasKey<Integer> {
@Schema(description="货物名称")
private String goodsName;
@TableField("goods_type_code")
@Schema(description="热值编码")
private String goodsTypeCode;
@TableField("goods_type_name")
@TableField("goods_model")
@Schema(description="热值名称")
private String goodsTypeName;
private String goodsModel;
@TableField("send_over_standard")
@Schema(description="是否C类煤源 0 否 1 是")
......
package com.clx.performance.service;
import com.clx.open.sdk.callback.message.OrderChildMessage;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.model.OrderChild;
import com.msl.common.result.Result;
......@@ -15,6 +17,7 @@ public interface LastTruckService {
OrderChild getOrderLastTruck(String orderNo);
Result<?> syncLastTruck(FeignOrderVO orderInfoFeign, OrderChildMessage after);
Result<?> handExecSyncSmbLastTruck(String orderNo, String childNo);
}
......@@ -4,13 +4,16 @@ import com.alibaba.fastjson.JSON;
import com.clx.open.sdk.callback.OpenCallBackClient;
import com.clx.open.sdk.callback.message.OrderChildMessage;
import com.clx.open.sdk.enums.ResultStatusEnum;
import com.clx.order.enums.OrderEnum;
import com.clx.order.enums.ResultEnum;
import com.clx.order.enums.SyncPlatformEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.config.ThirdAppConfig;
import com.clx.performance.constant.RedisConstants;
import com.clx.performance.constant.RedissonConstants;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.service.LastTruckService;
import com.clx.performance.struct.OrderChildStruct;
......@@ -57,15 +60,32 @@ public class LastTruckServiceImpl implements LastTruckService {
public Result<?> syncLastTruckChild(OrderChild child) {
FeignOrderVO orderInfo = orderFeign.getOrderInfoFeign(child.getOrderNo());
OrderChildMessage message = orderChildStruct.convertMessage(child);
//数媒宝修改卸货之后的运单状态
smbChangeOrderChildStatus(orderInfo,message);
message.setLastFlag(ResultStatusEnum.YES.getCode());
String data = JSON.toJSONString(message);
log.info("开始同步最后一车的运单,运单编号:{},运单信息:{}",child.getChildNo(), data);
OpenCallBackClient openCallBackClient = thirdAppConfig.getOpenCallBackClient(orderInfo.getOrderSource().toString());
Result<?> result = openCallBackClient.encryptPost(data,message.topic());
log.info("结束同步最后一车的运单,运单编号:{},响应结果:{}",child.getChildNo(),JSON.toJSONString(result));
if(!result.succeed()){
log.error("结束同步最后一车的运单发生异常,运单编号:{},响应结果:{}",child.getChildNo(),JSON.toJSONString(result));
}
return result;
}
//数媒宝卸车之后和完成之前的状态都作为卸车状态
public void smbChangeOrderChildStatus(FeignOrderVO orderInfo,OrderChildMessage message){
if(!Objects.equals(orderInfo.getOrderSource(), SyncPlatformEnum.Source.TRADE_PLATFORM.getCode())){
return;
}
if(message.getStatus() > OrderChildEnum.Status.UNLOAD.getCode() && message.getStatus() <= OrderChildEnum.Status.COMPLETE.getCode()){
message.setStatus(OrderChildEnum.Status.UNLOAD.getCode());
}
}
//在没有算出最后一车的前提下,订单变成已完结或者已完成状态,但是订单量可能并没有提取完,所以只需要判断订单下是否还有未到达 目的地的运单,没有则进行最后一车运算
@Override
public OrderChild getOrderCompleteLastTruck(String orderNo) {
......@@ -152,4 +172,49 @@ public class LastTruckServiceImpl implements LastTruckService {
public String getLastTruckCacheKey(String orderNo){
return RedisConstants.ORDER_LAST_TRUCK_CHILD + orderNo;
}
@Override
public Result<?> syncLastTruck(FeignOrderVO orderInfoFeign, OrderChildMessage after) {
//当运单状态为到达目的地之后的状态时候,需要判断最后一车的逻辑
if(Objects.equals(com.clx.open.sdk.enums.OrderChildEnum.Status.COMMON_CANCEL.getCode(),after.getStatus()) ||
(after.getStatus() >= OrderChildEnum.Status.ARRIVE_RECEIVE.getCode() && after.getStatus() <= OrderChildEnum.Status.COMPLETE.getCode())){
OrderChild child;
if(Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.COMPLETED.getCode()) ||
Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.SUCCESS.getCode())) { //订单变成已完成 || 已完结
OrderEnum.Status byCode = OrderEnum.Status.getByCode(orderInfoFeign.getOrderStatus());
log.info("订单号:{},运单号:{},订单状态:{},开始查询最后一车运单===========" ,orderInfoFeign.getOrderNo(),after.getChildNo(),
Objects.nonNull(byCode)?byCode.getName():"未知状态");
child = this.getOrderCompleteLastTruck(after.getOrderNo());
}else{ // 订单除 已完成 || 已完结 外的其他状态
child = this.getOrderLastTruck(after.getOrderNo());
}
if(Objects.nonNull(child)){
return this.syncLastTruckChild(child);
}
}
return Result.ok("未查询到最后一车,不进行同步最后一车");
}
/*
* @Author kavin
* @Description
* @Param [orderNo, childNo] 运单号可以是该订单下任意一个运单,为了是触发最后一车
* @return
**/
@Override
public Result<?> handExecSyncSmbLastTruck(String orderNo,String childNo){
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo);
OrderChild child = orderChildDao.getByChildNo(childNo).get();
OrderChildMessage message = orderChildStruct.convertMessage(child);
return syncLastTruck(orderInfoFeign,message);
}
}
......@@ -75,8 +75,9 @@ public class PendingFreightServiceImpl implements PendingFreightService {
item.setOrderStatus(data.getOrderStatus());
item.setSendAddressId(data.getSendAddressId());
item.setSendAddressShorter(data.getSendAddressShorter());
item.setGoodsTypeCode(data.getGoodsTypeCode());
item.setGoodsTypeName(data.getGoodsTypeName());
item.setReceiveAddressId(data.getReveiveAddressId());
item.setReceiveAddressShorter(data.getReveiveAddressShorter());
item.setGoodsModel(data.getGoodsModel());
item.setGoodsNameId(data.getGoodsNameId());
item.setGoodsName(data.getGoodsName());
item.setSendOverStandard(data.getOverWeight());
......@@ -112,7 +113,18 @@ public class PendingFreightServiceImpl implements PendingFreightService {
sendAddress.getCity(),sendAddress.getCounty(),sendAddress.getAddress()));
//计算重车运距
item.setOrderDistance(calcOrderDistance(sendAddress,receiveAddress,data.getOrderNo()));
//计算线路历史挂单运费
BigDecimal historyFreight = this.queryLinePendingFreight(data.getSendAddressId(),
data.getReveiveAddressId());
//计算线路历史平均挂单运费
BigDecimal historyAvgFreight = this.queryLineAvgPendingFreight(data.getSendAddressId(),
data.getReveiveAddressId());
item.setHistoryFreight(historyFreight);
item.setHistoryAvgFreight(historyAvgFreight);
pendingFreightDao.saveEntity(item);
pendingFreightDao.updateSameLineHistoryFreight(data.getSendAddressId(),data.getReveiveAddressId(),historyFreight,historyAvgFreight);
}
}
......@@ -131,7 +143,7 @@ public class PendingFreightServiceImpl implements PendingFreightService {
@Override
public void dealPendingFreight4OrderGoods(OrderGoods orderGoods) {
String orderNo = orderGoods.getOrderNo();
//计算历史运费和历史平均运费
//计算接单率和装车率
OrderedAndLoadTruckRateDTO dto = calcOrderedAndLoadTruckRate(orderNo);
//计算线路挂单运费
BigDecimal pendingFreight = this.queryLinePendingFreight(orderGoods.getSendAddressId(),
......@@ -142,7 +154,7 @@ public class PendingFreightServiceImpl implements PendingFreightService {
pendingFreightDao.updateOrderedAndLoadTruckRate(orderNo,dto.getOrderedRate(),dto.getLoadTruckRate());
pendingFreightDao.updatePendingFreight(orderNo,pendingFreight,avgPendingFreight);
pendingFreightDao.updateSameLineHistoryFreight(orderGoods.getSendAddressId(),orderGoods.getReceiveAddressId(),pendingFreight,avgPendingFreight);
}
......@@ -150,7 +162,11 @@ public class PendingFreightServiceImpl implements PendingFreightService {
//查询该线路最新的历史运费
public BigDecimal queryLinePendingFreight(Integer sendAddressId,Integer receiveAddressId){
OrderGoods orderGoods = orderGoodsDao.queryLineNewestPendingFreight(sendAddressId,receiveAddressId);
return orderGoods.getPendingOrderFreight().movePointLeft(2);
if(Objects.nonNull(orderGoods)){
return orderGoods.getPendingOrderFreight();
}
return BigDecimal.ZERO;
}
......@@ -161,13 +177,13 @@ public class PendingFreightServiceImpl implements PendingFreightService {
List<OrderGoods> list = orderGoodsDao.queryLineAvgPendingFreight(sendAddressId,receiveAddressId,monthAgo,now);
if(CollectionUtils.isEmpty(list)){
return null;
return BigDecimal.ZERO;
}
BigDecimal total = BigDecimal.ZERO;
for (OrderGoods orderGoods : list) {
total = total.add(orderGoods.getPendingOrderFreight());
}
return total.movePointLeft(2).divide(new BigDecimal(list.size()),2, RoundingMode.HALF_UP);
return total.divide(new BigDecimal(list.size()),0, RoundingMode.HALF_UP);
}
//处理挂单运费运单数据
......@@ -269,7 +285,7 @@ public class PendingFreightServiceImpl implements PendingFreightService {
fieldList.add(new ExcelField(2, "煤源位置", "sendAddress", 5000));
fieldList.add(new ExcelField(3, "物流经理", "seniorLogisticsManagerName", 5000));
fieldList.add(new ExcelField(4, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(5, "热值", "goodsTypeName", 5000));
fieldList.add(new ExcelField(5, "热值", "goodsModel", 5000));
fieldList.add(new ExcelField(6, "是否C类煤源", "sendOverStandardMsg", 5000));
fieldList.add(new ExcelField(7, "任务吨数(吨)", "taskWeight", 5000));
fieldList.add(new ExcelField(8, "接单率", "orderedRate", 5000));
......@@ -292,17 +308,17 @@ public class PendingFreightServiceImpl implements PendingFreightService {
rowData.add(new ExcelData(vo.getSendAddress(),"-"));
rowData.add(new ExcelData(vo.getSeniorLogisticsManagerName(),"-"));
rowData.add(new ExcelData(vo.getGoodsName(), "-"));
rowData.add(new ExcelData(vo.getGoodsTypeName(), "-"));
rowData.add(new ExcelData(vo.getGoodsModel(), "-"));
rowData.add(new ExcelData(vo.getSendOverStandardMsg(), "-"));
rowData.add(new ExcelData(vo.getTaskWeight(), "-"));
rowData.add(new ExcelData(vo.getOrderedRate(), "-"));
rowData.add(new ExcelData(vo.getLoadTruckRate(), "-"));
rowData.add(new ExcelData(vo.getOrderedRate()+"%", "-"));
rowData.add(new ExcelData(vo.getLoadTruckRate()+"%", "-"));
rowData.add(new ExcelData(vo.getOrderDistance(), "-"));
rowData.add(new ExcelData(vo.getSendAddressExpenses(), "-"));
rowData.add(new ExcelData(vo.getHistoryFreight(), "-"));
rowData.add(new ExcelData(vo.getHistoryAvgFreight(), "-"));
rowData.add(new ExcelData(vo.getPredictionFreightPrice(), "-"));
rowData.add(new ExcelData(vo.getLogisticsFreight(), "-"));
rowData.add(new ExcelData(Objects.nonNull(vo.getHistoryFreight())?vo.getHistoryFreight().movePointLeft(2):null,"-"));
rowData.add(new ExcelData(Objects.nonNull(vo.getHistoryAvgFreight())?vo.getHistoryAvgFreight().movePointLeft(2):null,"-"));
rowData.add(new ExcelData(Objects.nonNull(vo.getPredictionFreightPrice())?vo.getPredictionFreightPrice().movePointLeft(2):null,"-"));
rowData.add(new ExcelData(Objects.nonNull(vo.getLogisticsFreight())?vo.getLogisticsFreight().movePointLeft(2):null,"-"));
rowData.add(new ExcelData(""));
dataList.add(rowData);
}
......
......@@ -103,6 +103,8 @@ public class OrderChildSqlProvider {
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address = #{param.sendAddress}");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address= #{param.receiveAddress}");}
if (Objects.nonNull(param.getStatus())) {WHERE("pound_status = #{param.status}");}
// 车牌号
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no like CONCAT('%', #{param.content}, '%')");}
ORDER_BY("pound_status,unload_time");
}}.toString();
......
......@@ -44,6 +44,9 @@ public class VehicleWarnInfoSqlProvider {
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("warn_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("warn_time <= #{param.endTime}");}
// 车牌号
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no like CONCAT('%', #{param.truckNo}, '%')");}
ORDER_BY("warn_time desc, id desc");
}}.toString();
}
......
......@@ -41,4 +41,7 @@ public class PagePoundAuditParam extends PageParam {
@Schema(description = "结束时间",example = "2020-01-01 10:10:10")
private String endTime;
@Schema(description = "车牌号", example = "京A12345")
private String truckNo;
}
......@@ -35,4 +35,7 @@ public class PageVehicleWarnInfoParam extends PageParam {
@Schema(description = "结束时间", example = "")
private String endTime;
@Schema(description = "车牌号", example = "京A12345")
private String truckNo;
}
......@@ -56,13 +56,11 @@ public class PagePendingFreightVO {
@Schema(description="货物名称")
private String goodsName;
@Schema(description="热值编码")
private String goodsTypeCode;
@Schema(description="热值名称")
private String goodsTypeName;
private String goodsModel;
@Schema(description="是否C类煤源 0 否 1 是")
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论