提交 1d32573e authored 作者: wejack639's avatar wejack639

feature(运单):运单详情接口和货单详情接口增加货源地信息

...@@ -43,10 +43,10 @@ public enum PerformanceProgressEnum { ...@@ -43,10 +43,10 @@ public enum PerformanceProgressEnum {
TODAY_EXPECT_COMPLETE(1, "今日预计完成吨数"), TODAY_EXPECT_COMPLETE(1, "今日预计完成吨数"),
TRADE_REQUIRE_ARRIVE_STATION_TIME(2, "交易要求到站时间"), TRADE_REQUIRE_ARRIVE_STATION_TIME(2, "交易要求到站时间"),
TRANSPORT_EXPECT_ARRIVE_STATION_TIME(3, "调度备注/跟进措施"), TRANSPORT_EXPECT_ARRIVE_STATION_TIME(3, "物流预计到站时间"),
ABNORMAL_REMARK(4, "异常备注"), ABNORMAL_REMARK(4, "异常备注"),
PERFORMANCE_ABNORMAL_REASON(5, "履约异常原因"), PERFORMANCE_ABNORMAL_REASON(5, "履约异常原因"),
DISPATCH_FOLLOW(6, "物流预计到站时间"), DISPATCH_FOLLOW(6, "调度备注/跟进措施"),
; ;
private final Integer code; private final Integer code;
......
...@@ -230,4 +230,21 @@ public class OrderChildVO { ...@@ -230,4 +230,21 @@ public class OrderChildVO {
@ApiModelProperty("接单保证金 平台服务费费率 弹窗和文案显示 0 不显示 1 显示") @ApiModelProperty("接单保证金 平台服务费费率 弹窗和文案显示 0 不显示 1 显示")
private Integer goodsOrderDetailShow = 0; private Integer goodsOrderDetailShow = 0;
/* 20240730 增加货源地信息 */
@ApiModelProperty(value = "货源地现场联系人")
private String sendContact;
@ApiModelProperty(value = "货源地联系人手机号")
private String sendContactPhone;
@ApiModelProperty(value = "发货-是否需要系统排队 0 否 1 是")
private Integer sendWaitSystem;
@ApiModelProperty(value = "发货-排队系统名称")
private String sendWaitSystemName;
@ApiModelProperty(value = "发货-排队系统形式 1:小程序 2:app")
private Integer sendWaitMode;
} }
\ No newline at end of file
...@@ -170,4 +170,20 @@ public class OrderGoodsVO { ...@@ -170,4 +170,20 @@ public class OrderGoodsVO {
@ApiModelProperty("接单保证金 平台服务费费率 弹窗和文案显示 0 不显示 1 显示") @ApiModelProperty("接单保证金 平台服务费费率 弹窗和文案显示 0 不显示 1 显示")
private Integer goodsOrderDetailShow = 0; private Integer goodsOrderDetailShow = 0;
/* 20240730 增加货源地信息 */
@ApiModelProperty(value = "货源地现场联系人")
private String sendContact;
@ApiModelProperty(value = "货源地联系人手机号")
private String sendContactPhone;
@ApiModelProperty(value = "发货-是否需要系统排队 0 否 1 是")
private Integer sendWaitSystem;
@ApiModelProperty(value = "发货-排队系统名称")
private String sendWaitSystemName;
@ApiModelProperty(value = "发货-排队系统形式 1:小程序 2:app")
private Integer sendWaitMode;
} }
\ No newline at end of file
package com.clx.performance.vo.pc; package com.clx.performance.vo.pc;
import com.clx.performance.enums.OrderEnum; import com.clx.performance.enums.OrderEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -81,6 +82,7 @@ public class PerformanceProgressVO{ ...@@ -81,6 +82,7 @@ public class PerformanceProgressVO{
} }
@ApiModelProperty("司机运费") @ApiModelProperty("司机运费")
@MoneyOutConvert
private BigDecimal driverFreightPrice; private BigDecimal driverFreightPrice;
...@@ -97,6 +99,9 @@ public class PerformanceProgressVO{ ...@@ -97,6 +99,9 @@ public class PerformanceProgressVO{
@ApiModelProperty("接单车数") @ApiModelProperty("接单车数")
private Integer orderedTruckNum; private Integer orderedTruckNum;
@ApiModelProperty("接单吨数")
private BigDecimal orderedWeight;
@ApiModelProperty("到达货源地车数") @ApiModelProperty("到达货源地车数")
private Integer arriveSendTruckNum; private Integer arriveSendTruckNum;
...@@ -171,6 +176,7 @@ public class PerformanceProgressVO{ ...@@ -171,6 +176,7 @@ public class PerformanceProgressVO{
@ApiModelProperty("测算运费") @ApiModelProperty("测算运费")
@MoneyOutConvert
private BigDecimal predictionFreightPrice; private BigDecimal predictionFreightPrice;
......
package com.clx.performance.constant;
import java.math.BigDecimal;
/**
* @ClassName BusinessConstants
* @Description
* @Author kavin
* @Date 2024/7/22 15:26
* @Version 1.0
*/
public class BusinessConstants {
//承运订单需要减去的吨数
public static final BigDecimal ORDER_SUB_WEIGHT = new BigDecimal("35");
}
...@@ -121,6 +121,7 @@ public class CarrierOrderChildController { ...@@ -121,6 +121,7 @@ public class CarrierOrderChildController {
@ApiOperation(value = "履约进度表-历史线路拉运量", notes = "<br>By:l刘海泉") @ApiOperation(value = "履约进度表-历史线路拉运量", notes = "<br>By:l刘海泉")
@GetMapping("/getHistoryLineTransportVolume") @GetMapping("/getHistoryLineTransportVolume")
@UnitCovert(param = false)
public Result<List<HistoryLineTranVolumeChartVO>> getHistoryLineTransportVolume(@NotBlank(message = "订单编号不能为空") String orderNo) { public Result<List<HistoryLineTranVolumeChartVO>> getHistoryLineTransportVolume(@NotBlank(message = "订单编号不能为空") String orderNo) {
return Result.ok(orderChildService.getHistoryLineTransportVolume(orderNo)); return Result.ok(orderChildService.getHistoryLineTransportVolume(orderNo));
} }
......
...@@ -19,4 +19,6 @@ public interface PerformanceProgressDao extends BaseDao<PerformanceProgressMappe ...@@ -19,4 +19,6 @@ public interface PerformanceProgressDao extends BaseDao<PerformanceProgressMappe
void updateRecordOrder(Long seq,boolean isUp); void updateRecordOrder(Long seq,boolean isUp);
long getMaxSeq(); long getMaxSeq();
void updatePerformanceProgress(PerformanceProgress update);
} }
...@@ -683,6 +683,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -683,6 +683,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public List<OrderChild> listCompleteByOrderNos(List<String> orderNoList) { public List<OrderChild> listCompleteByOrderNos(List<String> orderNoList) {
return list(lQrWrapper() return list(lQrWrapper()
.in(OrderChild :: getOrderNo,orderNoList) .in(OrderChild :: getOrderNo,orderNoList)
.ge(OrderChild :: getStatus,OrderChildEnum.Status.LOAD.getCode())
.le(OrderChild :: getStatus,OrderChildEnum.Status.COMPLETE.getCode()) .le(OrderChild :: getStatus,OrderChildEnum.Status.COMPLETE.getCode())
); );
} }
......
...@@ -47,4 +47,17 @@ public class PerformanceProgressDaoImpl extends BaseDaoImpl<PerformanceProgressM ...@@ -47,4 +47,17 @@ public class PerformanceProgressDaoImpl extends BaseDaoImpl<PerformanceProgressM
LambdaQueryWrapper<PerformanceProgress> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PerformanceProgress> query = new LambdaQueryWrapper<>();
return baseMapper.selectCount(query); return baseMapper.selectCount(query);
} }
@Override
public void updatePerformanceProgress(PerformanceProgress update) {
LambdaUpdateWrapper<PerformanceProgress> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(PerformanceProgress :: getId,update.getId());
updateWrapper.set(PerformanceProgress :: getTodayExpectComplete,update.getTodayExpectComplete());
updateWrapper.set(PerformanceProgress :: getTransportExpectArriveStationTime,update.getTransportExpectArriveStationTime());
updateWrapper.set(PerformanceProgress :: getTradeRequireArriveStationTime,update.getTradeRequireArriveStationTime());
updateWrapper.set(PerformanceProgress :: getAbnormalRemark,update.getAbnormalRemark());
updateWrapper.set(PerformanceProgress :: getPerformanceAbnormalReason,update.getPerformanceAbnormalReason());
updateWrapper.set(PerformanceProgress :: getDispatchFollow,update.getDispatchFollow());
baseMapper.update(null,updateWrapper);
}
} }
...@@ -11,5 +11,8 @@ public interface AddressService { ...@@ -11,5 +11,8 @@ public interface AddressService {
Optional<SystemAddressVO> getSystemAddress(Integer addressId); Optional<SystemAddressVO> getSystemAddress(Integer addressId);
String generateAddressDetail(String ... args);
} }
...@@ -8,6 +8,7 @@ import com.msl.common.base.Optional; ...@@ -8,6 +8,7 @@ import com.msl.common.base.Optional;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
...@@ -29,4 +30,18 @@ public class AddressServiceImpl implements AddressService { ...@@ -29,4 +30,18 @@ public class AddressServiceImpl implements AddressService {
.filter(Result::succeed) .filter(Result::succeed)
.map(Result::getData); .map(Result::getData);
} }
@Override
public String generateAddressDetail(String ... args) {
StringBuilder sb = new StringBuilder();
String detail = args[args.length-1];
for (String arg : args) {
if(StringUtils.isNotBlank(arg) && !detail.contains(arg)){
sb.append(arg);
}
}
sb.append(detail);
return sb.toString();
}
} }
...@@ -131,7 +131,7 @@ public class OrderGoodsDtsListener { ...@@ -131,7 +131,7 @@ public class OrderGoodsDtsListener {
//货单状态发生变化(从已挂单变成挂单中) //货单状态发生变化(从已挂单变成挂单中)
( (
(Objects.equals(before.getOrderGoodsStatus(),OrderGoodsStatusEnum.Status.CREATED.getCode()) && (Objects.equals(before.getOrderGoodsStatus(),OrderGoodsStatusEnum.Status.CREATED.getCode()) &&
Objects.equals(before.getOrderGoodsStatus(),OrderGoodsStatusEnum.Status.PAYING.getCode())) Objects.equals(after.getOrderGoodsStatus(),OrderGoodsStatusEnum.Status.PAYING.getCode()))
|| //挂单中之后的状态的挂单运费发生变化 || //挂单中之后的状态的挂单运费发生变化
(after.getOrderGoodsStatus() >= OrderGoodsStatusEnum.Status.PAYING.getCode() && (after.getOrderGoodsStatus() >= OrderGoodsStatusEnum.Status.PAYING.getCode() &&
!Objects.equals(before.getPendingOrderFreight(),after.getPendingOrderFreight())) !Objects.equals(before.getPendingOrderFreight(),after.getPendingOrderFreight()))
......
...@@ -96,7 +96,7 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> { ...@@ -96,7 +96,7 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@Param("receiveAddressId") Integer receiveAddressId); @Param("receiveAddressId") Integer receiveAddressId);
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "indexOrderGoodsListSearch") @SelectProvider(type = OrderGoodsSqlProvider.class, method = "indexOrderGoodsListSearch")
IPage<OrderGoodsAPPVO> indexOrderGoodsListSearch(@Param("page")Page<OrderGoodsAPPVO> page, @Param("param")AppGoodsOrderSearchParam param); IPage<OrderGoodsAPPVO> indexOrderGoodsListSearch(@Param("page")Page<OrderGoodsAPPVO> page, @Param("param") AppGoodsOrderSearchParam param);
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "queryProcessFleetOpenTruckList") @SelectProvider(type = OrderGoodsSqlProvider.class, method = "queryProcessFleetOpenTruckList")
......
...@@ -101,6 +101,11 @@ public class PerformanceProgress implements HasKey<Integer> { ...@@ -101,6 +101,11 @@ public class PerformanceProgress implements HasKey<Integer> {
@ApiModelProperty("接单车数") @ApiModelProperty("接单车数")
private Integer orderedTruckNum; private Integer orderedTruckNum;
@TableField("ordered_weight")
@ApiModelProperty("接单吨数")
private BigDecimal orderedWeight;
@TableField("arrive_send_truck_num") @TableField("arrive_send_truck_num")
@ApiModelProperty("到达货源地车数") @ApiModelProperty("到达货源地车数")
private Integer arriveSendTruckNum; private Integer arriveSendTruckNum;
...@@ -117,14 +122,6 @@ public class PerformanceProgress implements HasKey<Integer> { ...@@ -117,14 +122,6 @@ public class PerformanceProgress implements HasKey<Integer> {
@ApiModelProperty("在途车数") @ApiModelProperty("在途车数")
private Integer onTheWayTruckNum; private Integer onTheWayTruckNum;
@TableField("ordered_rate")
@ApiModelProperty("接单率")
private BigDecimal orderedRate;
@TableField("task_complete_ratio")
@ApiModelProperty("任务完成率")
private BigDecimal taskCompleteRatio;
@TableField("sum_load_weight") @TableField("sum_load_weight")
@ApiModelProperty("矿发吨数") @ApiModelProperty("矿发吨数")
private BigDecimal sumLoadWeight; private BigDecimal sumLoadWeight;
......
...@@ -9,6 +9,7 @@ import com.clx.order.enums.ResultEnum; ...@@ -9,6 +9,7 @@ import com.clx.order.enums.ResultEnum;
import com.clx.order.enums.*; import com.clx.order.enums.*;
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.FeignOrderDetailVO;
import com.clx.order.vo.feign.FeignOrderInfoVO; import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.order.vo.feign.FeignOrderVO; import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO; import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
...@@ -32,7 +33,10 @@ import com.clx.performance.enums.*; ...@@ -32,7 +33,10 @@ import com.clx.performance.enums.*;
import com.clx.performance.enums.settle.SettlementWayEnum; import com.clx.performance.enums.settle.SettlementWayEnum;
import com.clx.performance.extranal.order.InvoicingCompanyService; import com.clx.performance.extranal.order.InvoicingCompanyService;
import com.clx.performance.extranal.order.QuotationService; import com.clx.performance.extranal.order.QuotationService;
import com.clx.performance.extranal.user.*; import com.clx.performance.extranal.user.AddressService;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.extranal.user.OrderService;
import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.feign.FeignPaymentService; import com.clx.performance.feign.FeignPaymentService;
import com.clx.performance.model.*; import com.clx.performance.model.*;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord; import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
...@@ -60,8 +64,6 @@ import com.clx.performance.utils.zjxl.ZjxlGpsService; ...@@ -60,8 +64,6 @@ import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.app.owner.OwnerOrderChildVO; import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import com.clx.performance.vo.pc.*; import com.clx.performance.vo.pc.*;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverVO;
import com.clx.performance.vo.pc.carrier.settle.CarrierPagePlatformServiceFeeConfigVO;
import com.clx.user.enums.driver.DriverInfoEnum; import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.feign.DocumentFeign; import com.clx.user.feign.DocumentFeign;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo; import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
...@@ -88,8 +90,8 @@ import org.apache.commons.collections4.CollectionUtils; ...@@ -88,8 +90,8 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.exception.ExceptionUtils; import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.amqp.core.AmqpTemplate; import org.springframework.amqp.core.AmqpTemplate;
...@@ -1724,6 +1726,18 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1724,6 +1726,18 @@ public class OrderChildServiceImpl implements OrderChildService {
} }
//查询进行中的运单车辆是否开启了中交兴路 //查询进行中的运单车辆是否开启了中交兴路
result.setNotOpenZJXLMsg(isOpenZJXL(orderChild.getStatus(),orderChild.getTruckNo())); result.setNotOpenZJXLMsg(isOpenZJXL(orderChild.getStatus(),orderChild.getTruckNo()));
// 设置货源地信息
Result<FeignOrderDetailVO> orderDetailFeignResult = orderFeign.getOrderDetail(orderChild.getOrderNo());
if (orderDetailFeignResult != null && orderDetailFeignResult.getData() != null) {
FeignOrderDetailVO orderDetailFeign = orderDetailFeignResult.getData();
//货源地信息
result.setSendContact(orderDetailFeign.getSendContact());
result.setSendContactPhone(orderDetailFeign.getSendContactPhone());
result.setSendWaitSystem(orderDetailFeign.getSendWaitSystem());
result.setSendWaitSystemName(orderDetailFeign.getSendWaitSystemName());
result.setSendWaitMode(orderDetailFeign.getSendWaitMode());
}
return result; return result;
} }
......
...@@ -11,6 +11,7 @@ import com.clx.order.enums.VehicleUsageEnum; ...@@ -11,6 +11,7 @@ import com.clx.order.enums.VehicleUsageEnum;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.param.feign.OrderCancelReasonParam; import com.clx.order.param.feign.OrderCancelReasonParam;
import com.clx.order.param.feign.RollbackOrderWeightParam; import com.clx.order.param.feign.RollbackOrderWeightParam;
import com.clx.order.vo.feign.FeignOrderDetailVO;
import com.clx.order.vo.feign.FeignOrderVO; import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO; import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.component.GoodsOrderTruckRecordComponent; import com.clx.performance.component.GoodsOrderTruckRecordComponent;
...@@ -177,7 +178,16 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -177,7 +178,16 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) { InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
orderGoodsVO.setGoodsOrderDetailShow(1); orderGoodsVO.setGoodsOrderDetailShow(1);
} }
Result<FeignOrderDetailVO> orderDetailFeignResult = orderFeign.getOrderDetail(orderNo);
if (orderDetailFeignResult != null && orderDetailFeignResult.getData() != null) {
FeignOrderDetailVO orderDetailFeign = orderDetailFeignResult.getData();
//货源地信息
orderGoodsVO.setSendContact(orderDetailFeign.getSendContact());
orderGoodsVO.setSendContactPhone(orderDetailFeign.getSendContactPhone());
orderGoodsVO.setSendWaitSystem(orderDetailFeign.getSendWaitSystem());
orderGoodsVO.setSendWaitSystemName(orderDetailFeign.getSendWaitSystemName());
orderGoodsVO.setSendWaitMode(orderDetailFeign.getSendWaitMode());
}
return orderGoodsVO; return orderGoodsVO;
} }
......
...@@ -6,6 +6,8 @@ import com.clx.performance.service.PerformanceProgressLogService; ...@@ -6,6 +6,8 @@ import com.clx.performance.service.PerformanceProgressLogService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Objects;
/** /**
* @author kavin * @author kavin
* Date 2024-07-12 * Date 2024-07-12
...@@ -20,7 +22,7 @@ public class PerformanceProgressLogServiceImpl implements PerformanceProgressLo ...@@ -20,7 +22,7 @@ public class PerformanceProgressLogServiceImpl implements PerformanceProgressLo
PerformanceProgressLog log = new PerformanceProgressLog(); PerformanceProgressLog log = new PerformanceProgressLog();
log.setOrderNo(orderNo); log.setOrderNo(orderNo);
log.setOperateType(logType.getCode()); log.setOperateType(logType.getCode());
log.setOperateContent(logType.getName() + ":" + content); log.setOperateContent(logType.getName() + ":" + (Objects.isNull(content)?"-":content));
log.setCreateBy(userNo); log.setCreateBy(userNo);
log.setCreateName(userName); log.setCreateName(userName);
return log; return log;
......
package com.clx.performance.struct; package com.clx.performance.struct;
import com.clx.performance.model.PerformanceProgress; import com.clx.performance.model.PerformanceProgress;
import com.clx.performance.param.pc.carrier.UpdatePerformanceProgressParam;
import com.clx.performance.vo.pc.PerformanceProgressDetailVO; import com.clx.performance.vo.pc.PerformanceProgressDetailVO;
import com.clx.performance.vo.pc.PerformanceProgressVO; import com.clx.performance.vo.pc.PerformanceProgressVO;
import com.msl.common.utils.DateStructUtil; import com.msl.common.utils.DateStructUtil;
...@@ -15,4 +16,5 @@ public interface PerformanceProgressStruct { ...@@ -15,4 +16,5 @@ public interface PerformanceProgressStruct {
PerformanceProgressDetailVO convert(PerformanceProgress item); PerformanceProgressDetailVO convert(PerformanceProgress item);
PerformanceProgress convertParam(UpdatePerformanceProgressParam param);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论