提交 3e6906d2 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v6.4_transportation_20231110' into test

...@@ -3,10 +3,12 @@ package com.clx.performance.feign; ...@@ -3,10 +3,12 @@ package com.clx.performance.feign;
import com.clx.performance.param.app.collect.CollectTruckParam; import com.clx.performance.param.app.collect.CollectTruckParam;
import com.clx.performance.param.feign.OrderAdjustTonnageDownParam; import com.clx.performance.param.feign.OrderAdjustTonnageDownParam;
import com.clx.performance.param.pc.OrderCancelFeignParam; import com.clx.performance.param.pc.OrderCancelFeignParam;
import com.clx.performance.param.pc.OrderChildReportParam;
import com.clx.performance.param.pc.owner.FrozenAccountParam; import com.clx.performance.param.pc.owner.FrozenAccountParam;
import com.clx.performance.param.pc.owner.ThawAccountParam; import com.clx.performance.param.pc.owner.ThawAccountParam;
import com.clx.performance.param.pc.owner.UpdateStatusParam; import com.clx.performance.param.pc.owner.UpdateStatusParam;
import com.clx.performance.vo.app.collect.AppCollectTruckVO; import com.clx.performance.vo.app.collect.AppCollectTruckVO;
import com.clx.performance.vo.feign.FreightEstimateVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO; import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.clx.performance.vo.pc.OwnerAccountAllVO; import com.clx.performance.vo.pc.OwnerAccountAllVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO; import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
...@@ -101,4 +103,8 @@ public interface PerformanceFeign { ...@@ -101,4 +103,8 @@ public interface PerformanceFeign {
@PostMapping(value = {"clx-performance/feign/truck/listCollectTruck"}) @PostMapping(value = {"clx-performance/feign/truck/listCollectTruck"})
Result<List<AppCollectTruckVO>> listCollectTruck(@RequestBody CollectTruckParam param); Result<List<AppCollectTruckVO>> listCollectTruck(@RequestBody CollectTruckParam param);
@PostMapping(value = {"clx-performance/feign/orderGoods/listFreightEstimate"})
Result<FreightEstimateVO> listFreightEstimate(@RequestBody OrderChildReportParam param);
} }
package com.clx.performance.param.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OrderChildReportParam {
@ApiModelProperty(value = "发货地址id 必填")
@NotNull(message = "发货地址id不能为空")
private Integer sendAddressId;
@ApiModelProperty(value = "收货地址id 必填")
@NotNull(message = "收货地址id不能为空")
private Integer receiveAddressId;
@ApiModelProperty(value = "开始时间 必填")
@NotNull(message = "开始时间")
private String beginTime;
}
package com.clx.performance.vo.feign;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
import java.util.List;
@ApiModel(description = "运费预估")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class FreightEstimateVO {
private List<Double> freightPriceList;
private List<Double> lossNet;
}
\ No newline at end of file
...@@ -227,7 +227,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean { ...@@ -227,7 +227,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
} }
log.info("取消运单ID集合:{}", childNoList); log.info("取消运单ID集合:{}", childNoList);
if (CollectionUtil.isNotEmpty(childNoList)) { if (CollectionUtil.isNotEmpty(childNoList)) {
orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统取消", now, now, childNoList); orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统自动取消,未按照最晚装货时间到达货源地", now, now, childNoList);
} }
......
package com.clx.performance.controller.feign; package com.clx.performance.controller.feign;
import com.clx.performance.param.pc.OrderChildReportParam;
import com.clx.performance.service.OrderGoodsService; import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.vo.feign.FreightEstimateVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO; import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
...@@ -41,4 +40,10 @@ public class OrderGoodsFeignController { ...@@ -41,4 +40,10 @@ public class OrderGoodsFeignController {
return Result.ok(orderGoodsService.updateSystemAddressId(ownerAddressId,systemAddressId)); return Result.ok(orderGoodsService.updateSystemAddressId(ownerAddressId,systemAddressId));
} }
@PostMapping({"/listFreightEstimate"})
Result<FreightEstimateVO> listFreightEstimate(@RequestBody OrderChildReportParam param) {
return Result.ok(orderGoodsService.listFreightEstimate(param));
}
} }
...@@ -6,10 +6,7 @@ import com.clx.performance.mapper.OrderChildMapper; ...@@ -6,10 +6,7 @@ import com.clx.performance.mapper.OrderChildMapper;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam; import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam; import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam;
import com.clx.performance.param.pc.OrderChildCancelRecordParam; import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO; import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO; import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
...@@ -153,4 +150,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -153,4 +150,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
IPage<OrderChildVO> orderChildCancelRecord(OrderChildCancelRecordParam param); IPage<OrderChildVO> orderChildCancelRecord(OrderChildCancelRecordParam param);
List<OrderChild> selectInOrderChildNoList(List<String> childNoList); List<OrderChild> selectInOrderChildNoList(List<String> childNoList);
List<Double> getLossNet(OrderChildReportParam param);
} }
...@@ -87,10 +87,11 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int ...@@ -87,10 +87,11 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
List<OrderGoods> getOrderGoodsListByOrderNoAndStatus(String orderNo); List<OrderGoods> getOrderGoodsListByOrderNoAndStatus(String orderNo);
BigDecimal getAlreadyTransportWeight(String orderNo);
List<OrderGoodsAPPVO> getCancelOrderGoods(List<String> list); List<OrderGoodsAPPVO> getCancelOrderGoods(List<String> list);
BigDecimal sumAlreadyTransportWeightByOrderNo(String orderNo); BigDecimal sumAlreadyTransportWeightByOrderNo(String orderNo);
List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId);
} }
...@@ -11,10 +11,7 @@ import com.clx.performance.mapper.OrderChildMapper; ...@@ -11,10 +11,7 @@ import com.clx.performance.mapper.OrderChildMapper;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam; import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam; import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam;
import com.clx.performance.param.pc.OrderChildCancelRecordParam; import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.OrderGoodsVO; import com.clx.performance.vo.pc.OrderGoodsVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO; import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
...@@ -452,5 +449,8 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -452,5 +449,8 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
.set(OrderChild::getReceiveSystemAddressId, systemAddressId) .set(OrderChild::getReceiveSystemAddressId, systemAddressId)
); );
} }
@Override
public List<Double> getLossNet(OrderChildReportParam param) {
return baseMapper.getLossNet(param);
}
} }
...@@ -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 BigDecimal getAlreadyTransportWeight(String orderNo) { public List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId) {
return baseMapper.getAlreadyTransportWeight(orderNo); return baseMapper.getFreightPrice(sendAddressId,receiveAddressId);
} }
} }
...@@ -95,8 +95,8 @@ public class OrderChildDtsListener { ...@@ -95,8 +95,8 @@ public class OrderChildDtsListener {
OpenCallBackClient client = new OpenCallBackClient(mslAppConfig.getUrl(),mslAppConfig.getAppId(),mslAppConfig.getSecret()); OpenCallBackClient client = new OpenCallBackClient(mslAppConfig.getUrl(),mslAppConfig.getAppId(),mslAppConfig.getSecret());
Result<?> result = client.encryptPost(JSON.toJSONString(after),after.topic()); Result<?> result = client.encryptPost(JSON.toJSONString(after),after.topic());
log.info("运单信息同步,运单编号:{},响应结果:{}",after.getChildNo(),JSON.toJSONString(result)); log.info("运单信息同步,运单编号:{},响应结果:{}",after.getChildNo(),JSON.toJSONString(result));
//当运单状态为到达目的地时候,需要判断最后一车的逻辑 //当运单状态为到达目的地之后的状态时候,需要判断最后一车的逻辑
if(Objects.equals(after.getStatus(),OrderChildEnum.Status.ARRIVE_RECEIVE.getCode())){ if(after.getStatus() >= OrderChildEnum.Status.ARRIVE_RECEIVE.getCode()){
OrderChild child = lastTruckService.getLastTruckChild(after.getOrderNo()); OrderChild child = lastTruckService.getLastTruckChild(after.getOrderNo());
if(Objects.nonNull(child)){ if(Objects.nonNull(child)){
OrderChildMessage message = orderChildStruct.convertMessage(child); OrderChildMessage message = orderChildStruct.convertMessage(child);
......
...@@ -7,6 +7,7 @@ import com.clx.performance.model.OrderChild; ...@@ -7,6 +7,7 @@ import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam; import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam; import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam;
import com.clx.performance.param.pc.OrderChildCancelRecordParam; import com.clx.performance.param.pc.OrderChildCancelRecordParam;
import com.clx.performance.param.pc.OrderChildReportParam;
import com.clx.performance.param.pc.PageCarrierOrderChildParam; import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PagePoundAuditParam; import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.sqlProvider.OrderChildSqlProvider; import com.clx.performance.sqlProvider.OrderChildSqlProvider;
...@@ -81,4 +82,7 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> { ...@@ -81,4 +82,7 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
@SelectProvider(type = OrderChildSqlProvider.class, method = "orderChildCancelRecord") @SelectProvider(type = OrderChildSqlProvider.class, method = "orderChildCancelRecord")
IPage<OrderChildVO> orderChildCancelRecord(@Param("page")Page<OrderChildVO> page, @Param(value = "param") OrderChildCancelRecordParam param); IPage<OrderChildVO> orderChildCancelRecord(@Param("page")Page<OrderChildVO> page, @Param(value = "param") OrderChildCancelRecordParam param);
@SelectProvider(type = OrderChildSqlProvider.class, method = "getLossNet")
List<Double> getLossNet(@Param("param") OrderChildReportParam param);
} }
\ No newline at end of file
...@@ -83,4 +83,10 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> { ...@@ -83,4 +83,10 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@Select("select sum(already_transport_weight) from order_goods where order_no=#{orderNo}") @Select("select sum(already_transport_weight) from order_goods where order_no=#{orderNo}")
BigDecimal sumAlreadyTransportWeightByOrderNo(@Param("orderNo")String orderNo); BigDecimal sumAlreadyTransportWeightByOrderNo(@Param("orderNo")String orderNo);
@Select("select pending_order_freight from order_goods where " +
" send_address_id = #{sendAddressId} and" +
" receive_address_id = #{receiveAddressId} order by id desc limit 10 ")
List<Double> getFreightPrice(@Param("sendAddressId") Integer sendAddressId,
@Param("receiveAddressId") Integer receiveAddressId);
} }
...@@ -3,16 +3,15 @@ package com.clx.performance.service; ...@@ -3,16 +3,15 @@ package com.clx.performance.service;
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.pc.OrderGoodsCancelParam; import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.UpdateEditOrderGoodsParam;
import com.clx.performance.param.pc.PageOrderGoodsListParam;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.app.OrderGoodsListPageParam; import com.clx.performance.param.app.OrderGoodsListPageParam;
import com.clx.performance.param.pc.UpdateOrderGoodsPriceParam;
import com.clx.performance.vo.app.OrderGoodsAPPVO; import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.feign.FreightEstimateVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO; import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.clx.performance.vo.pc.OrderGoodsEditVO; import com.clx.performance.vo.pc.OrderGoodsEditVO;
import com.clx.performance.vo.pc.OrderGoodsVO; import com.clx.performance.vo.pc.OrderGoodsVO;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
...@@ -92,4 +91,6 @@ public interface OrderGoodsService { ...@@ -92,4 +91,6 @@ public interface OrderGoodsService {
OrderGoodsEditVO findOrderGoodsById(Integer id); OrderGoodsEditVO findOrderGoodsById(Integer id);
Boolean updateSystemAddressId( Integer ownerAddressId, Integer systemAddressId); Boolean updateSystemAddressId( Integer ownerAddressId, Integer systemAddressId);
FreightEstimateVO listFreightEstimate(OrderChildReportParam param);
} }
...@@ -12,8 +12,7 @@ import com.clx.order.param.feign.OrderCancelReasonParam; ...@@ -12,8 +12,7 @@ import com.clx.order.param.feign.OrderCancelReasonParam;
import com.clx.order.param.feign.RollbackOrderWeightParam; import com.clx.order.param.feign.RollbackOrderWeightParam;
import com.clx.performance.component.OrderCancelComponent; import com.clx.performance.component.OrderCancelComponent;
import com.clx.performance.extranal.user.DriverService; import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.param.pc.OrderGoodsEditParams; import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.PageOrderGoodsListParam;
import com.clx.order.vo.feign.FeignOrderVO; import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.component.GoodsOrderTruckRecordComponent; import com.clx.performance.component.GoodsOrderTruckRecordComponent;
import com.clx.performance.component.OrderGoodsStatusLazyComponent; import com.clx.performance.component.OrderGoodsStatusLazyComponent;
...@@ -27,13 +26,11 @@ import com.clx.performance.model.OrderGoods; ...@@ -27,13 +26,11 @@ import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.OrderGoodsDriverTruck; import com.clx.performance.model.OrderGoodsDriverTruck;
import com.clx.performance.model.OrderGoodsTruckBind; import com.clx.performance.model.OrderGoodsTruckBind;
import com.clx.performance.param.app.OrderGoodsListPageParam; import com.clx.performance.param.app.OrderGoodsListPageParam;
import com.clx.performance.param.pc.OrderGoodsCancelParam;
import com.clx.performance.param.pc.UpdateEditOrderGoodsParam;
import com.clx.performance.param.pc.UpdateOrderGoodsPriceParam;
import com.clx.performance.service.*; import com.clx.performance.service.*;
import com.clx.performance.service.child.OrderChildPostService; import com.clx.performance.service.child.OrderChildPostService;
import com.clx.performance.struct.OrderGoodsStruct; import com.clx.performance.struct.OrderGoodsStruct;
import com.clx.performance.vo.app.OrderGoodsAPPVO; import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.feign.FreightEstimateVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO; import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.clx.performance.vo.pc.OrderGoodsEditVO; import com.clx.performance.vo.pc.OrderGoodsEditVO;
import com.clx.performance.vo.pc.OrderGoodsVO; import com.clx.performance.vo.pc.OrderGoodsVO;
...@@ -737,4 +734,14 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -737,4 +734,14 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
return true; return true;
} }
@Override
public FreightEstimateVO listFreightEstimate(OrderChildReportParam param) {
List<Double> lossNet = orderChildDao.getLossNet(param);
List<Double> freightPrice = orderGoodsDao.getFreightPrice(param.getSendAddressId(), param.getReceiveAddressId());
FreightEstimateVO freightEstimateVO= new FreightEstimateVO();
freightEstimateVO.setLossNet(lossNet);
freightEstimateVO.setFreightPriceList(freightPrice);
return freightEstimateVO;
}
} }
...@@ -6,6 +6,7 @@ import com.clx.performance.enums.OrderChildEnum; ...@@ -6,6 +6,7 @@ import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.param.app.PageOrderChildOfDriverParam; import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam; import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam;
import com.clx.performance.param.pc.OrderChildCancelRecordParam; import com.clx.performance.param.pc.OrderChildCancelRecordParam;
import com.clx.performance.param.pc.OrderChildReportParam;
import com.clx.performance.param.pc.PageCarrierOrderChildParam; import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PagePoundAuditParam; import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
...@@ -200,4 +201,21 @@ public class OrderChildSqlProvider { ...@@ -200,4 +201,21 @@ public class OrderChildSqlProvider {
} }
public String getLossNet(@Param("param") OrderChildReportParam param) {
return new SQL(){{
SELECT("IF (( a.unload_net < a.load_net ),( a.load_net - a.unload_net ), 0 ) as lossNet "
);
FROM("order_child a ");
WHERE("a.status in (" + StringUtils.join(OrderChildEnum.FINISH_lIST, ",")+")");
WHERE("a.receive_address_id = " + param.getReceiveAddressId());
WHERE("a.send_address_id = " + param.getSendAddressId());
WHERE("a.pay_time >= '" +param.getBeginTime()+"'");
}}.toString();
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论