提交 722c7a59 authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/v22.7_order_delay_20240827' into release

......@@ -168,4 +168,8 @@ public interface PerformanceFeign {
Result<OrderExtractWeightVO> getOrderCanExtractWeight(@RequestParam("orderNo") String orderNo);
@GetMapping(value = {"clx-performance/feign/order/weight/getAlreadyWeight"})
Result<BigDecimal> getAlreadyWeight(@RequestParam("orderNo") String orderNo);
}
......@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.List;
@FeignClient(name = "clx-performance", configuration = PerformanceClientConfiguration.class)
......@@ -58,4 +59,13 @@ public interface PerformanceSDKFeign {
@GetMapping("clx-performance/feign/sdk/queryTaskStatisticsInfo")
Result<BatchOrderStatisticsInfoDTO> queryTaskStatisticsInfo(@RequestParam("orderNoList")
@NotEmpty(message = "订单编号集合不能为空") List<String> orderNoList);
@GetMapping(value = {"clx-performance/feign/sdk/getOrderResidueWeight"})
Result<BigDecimal> getOrderResidueWeight(@RequestParam(value = "orderNo") String orderNo);
@GetMapping(value = {"clx-performance/feign/sdk/getAlreadyWeight"})
Result<BigDecimal> getAlreadyWeight(@RequestParam(value = "orderNo") String orderNo);
}
......@@ -50,4 +50,13 @@ public class OrderWeightFeignController {
}
@ApiOperation(value = "查询订单已拉运量",notes = "<br>By:刘海泉")
@GetMapping("/getAlreadyWeight")
public Result<BigDecimal> getAlreadyWeight(@RequestParam("orderNo")
@NotBlank(message = "订单编号不能为空") String orderNo) {
return Result.ok(orderWeightService.getAlreadyWeight(orderNo));
}
}
package com.clx.performance.controller.feign;
import com.clx.open.sdk.request.action.GetOrderBreakContractOwnerRuleFileAction;
import com.clx.open.sdk.request.dto.OrderCanExtractWeightDTO;
import com.clx.open.sdk.request.action.GetOwnerAccountInfoAction;
import com.clx.open.sdk.request.action.QueryPerformanceProgressAction;
import com.clx.open.sdk.request.action.QueryPerformanceProgressLogAction;
import com.clx.open.sdk.request.dto.OrderCanExtractWeightDTO;
import com.clx.open.sdk.request.dto.BatchOrderStatisticsInfoDTO;
import com.clx.open.sdk.request.dto.OrderStatisticsInfoDTO;
import com.clx.open.sdk.request.dto.OrderCanExtractWeightDTO;
import com.clx.open.sdk.request.dto.OwnerCancelResidueWeightDTO;
import com.clx.performance.extranal.user.OrderService;
import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.service.OrderCancelService;
import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.service.OrderWeightService;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.PerformanceProgressService;
import com.clx.performance.service.*;
import com.clx.performance.service.breakcontract.BreakContractOwnerRuleService;
import com.clx.performance.vo.feign.OrderExtractWeightVO;
import com.clx.performance.vo.pc.OwnerAccountAllVO;
......@@ -32,11 +26,12 @@ import org.springframework.beans.BeanUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.List;
import static com.clx.performance.enums.PerformanceProgressEnum.LogType.PERFORMANCE_ABNORMAL_REASON;
import javax.validation.constraints.NotBlank;
@Slf4j
@RestController
......@@ -122,4 +117,21 @@ public class PerformanceSdkFeignController {
@NotEmpty(message = "订单编号集合不能为空") List<String> orderNoList){
return Result.ok(orderService.queryTaskStatisticsInfo(orderNoList));
}
@ApiOperation(value = "获取当前订单的剩余吨数", notes = "<br>By:刘海泉")
@GetMapping("/getOrderResidueWeight")
public Result<BigDecimal> getOrderResidueWeight(@RequestParam(value = "orderNo")
@NotBlank(message = "订单编号不能为空") String orderNo) {
BigDecimal residueWeight = orderWeightService.getOrderResidueWeight(orderNo);
return Result.ok(residueWeight);
}
@ApiOperation(value = "查询订单已拉运量",notes = "<br>By:刘海泉")
@GetMapping("/getAlreadyWeight")
public Result<BigDecimal> getAlreadyWeight(@RequestParam("orderNo")
@NotBlank(message = "订单编号不能为空") String orderNo) {
return Result.ok(orderWeightService.getAlreadyWeight(orderNo));
}
}
......@@ -10,6 +10,10 @@ public interface OrderWeightService {
BigDecimal getOrderResidueWeight(String orderNo);
BigDecimal getAlreadyWeight(String orderNo);
BigDecimal getAlreadyWeight(BigDecimal transportWeight, String orderNo);
//计算货单真实的提取量
BigDecimal calcOrderGoodsRealExtractWeight(OrderGoods item);
}
......@@ -44,9 +44,11 @@ public class OrderWeightServiceImpl implements OrderWeightService {
List<OrderGoods> orderGoodsList = orderGoodsDao.listByField(OrderGoods::getOrderNo, orderNo);
if(CollectionUtils.isEmpty(orderGoodsList)){
BigDecimal canExtractWeight = Objects.nonNull(orderInfo.getPlatformCarryWeight())?
BigDecimal canExtractWeight = Objects.nonNull(orderInfo.getPlatformCarryWeight())
&& orderInfo.getPlatformCarryWeight().compareTo(BigDecimal.ZERO) >0?
orderInfo.getPlatformCarryWeight():BigDecimal.ZERO.add(
Objects.nonNull(orderInfo.getOwnCarryWeight())?
Objects.nonNull(orderInfo.getOwnCarryWeight())
&& orderInfo.getOwnCarryWeight().compareTo(BigDecimal.ZERO) >0?
orderInfo.getOwnCarryWeight():BigDecimal.ZERO);
return OrderExtractWeightVO.builder().transportWeight(orderInfo.getTransportWeight())
.truckDemand(orderInfo.getTruckDemand())
......@@ -128,12 +130,27 @@ public class OrderWeightServiceImpl implements OrderWeightService {
public BigDecimal getOrderResidueWeight(String orderNo) {
FeignOrderInfoVO orderInfo = orderService.getOrderInfo(orderNo).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
return orderInfo.getTransportWeight().subtract(getAlreadyWeight(orderInfo.getTransportWeight(),orderNo));
}
@Override
public BigDecimal getAlreadyWeight(String orderNo) {
FeignOrderInfoVO orderInfo = orderService.getOrderInfo(orderNo).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
return getAlreadyWeight(orderInfo.getTransportWeight(),orderNo);
}
@Override
public BigDecimal getAlreadyWeight(BigDecimal transportWeight, String orderNo) {
BigDecimal alreadyWeight = BigDecimal.ZERO; //该订单下已经拉运的重量
List<OrderChild> orderChildList = orderChildDao.listByField(OrderChild::getOrderNo, orderNo);
if(CollectionUtils.isEmpty(orderChildList)){
return orderInfo.getTransportWeight();
return alreadyWeight;
}
BigDecimal alreadyWeight = BigDecimal.ZERO; //该订单下已经拉运的重量
for (OrderChild child : orderChildList) {
if(child.getStatus() > OrderChildEnum.Status.COMPLETE.getCode()){
......@@ -145,9 +162,10 @@ public class OrderWeightServiceImpl implements OrderWeightService {
alreadyWeight = alreadyWeight.add(child.getWeight());
}
}
return orderInfo.getTransportWeight().subtract(alreadyWeight);
return alreadyWeight;
}
//计算货单真实的提取量
@Override
public BigDecimal calcOrderGoodsRealExtractWeight(OrderGoods item){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论