提交 2eb68a62 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into…

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into v5.7_break_contract_reverse_20231020
...@@ -16,6 +16,9 @@ import java.math.BigDecimal; ...@@ -16,6 +16,9 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
public class PageCarrierBreakContractSettlementDriverDetailVO { public class PageCarrierBreakContractSettlementDriverDetailVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("违约方类型:1平台 2货主 3车主") @ApiModelProperty("违约方类型:1平台 2货主 3车主")
private Integer breakContractPartyType; private Integer breakContractPartyType;
......
...@@ -15,6 +15,9 @@ import java.math.BigDecimal; ...@@ -15,6 +15,9 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
public class PageCarrierBreakContractSettlementDriverVO { public class PageCarrierBreakContractSettlementDriverVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("违约方类型:1平台 2货主 3车主") @ApiModelProperty("违约方类型:1平台 2货主 3车主")
private Integer breakContractPartyType; private Integer breakContractPartyType;
......
...@@ -15,6 +15,9 @@ import java.math.BigDecimal; ...@@ -15,6 +15,9 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
public class PageCarrierBreakContractSettlementOwnerDetailVO { public class PageCarrierBreakContractSettlementOwnerDetailVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("违约方类型:1平台 2货主 3车主") @ApiModelProperty("违约方类型:1平台 2货主 3车主")
private Integer breakContractPartyType; private Integer breakContractPartyType;
......
...@@ -15,6 +15,9 @@ import java.math.BigDecimal; ...@@ -15,6 +15,9 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
public class PageCarrierBreakContractSettlementOwnerVO { public class PageCarrierBreakContractSettlementOwnerVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("违约方类型:1平台 2货主 3车主") @ApiModelProperty("违约方类型:1平台 2货主 3车主")
private Integer breakContractPartyType; private Integer breakContractPartyType;
......
...@@ -20,6 +20,8 @@ import java.math.BigDecimal; ...@@ -20,6 +20,8 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
public class PageOwnerBreakContractOwnerRecordVO { public class PageOwnerBreakContractOwnerRecordVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("违约订单") @ApiModelProperty("违约订单")
private String orderNo; private String orderNo;
......
...@@ -25,7 +25,7 @@ public class OrderCancelFeignController { ...@@ -25,7 +25,7 @@ public class OrderCancelFeignController {
private final OrderCancelService orderCancelService; private final OrderCancelService orderCancelService;
@ApiOperation(value = "查看货单列表", notes = "<br>By:胡宇帆") @ApiOperation(value = "货主端订单取消", notes = "<br>By:胡宇帆")
@PostMapping("/orderCancel") @PostMapping("/orderCancel")
public Result<Object> orderCancel(@RequestBody OrderCancelParam param) { public Result<Object> orderCancel(@RequestBody OrderCancelParam param) {
orderCancelService.ownerCancelOrderPre(param.getOrderNo()); orderCancelService.ownerCancelOrderPre(param.getOrderNo());
......
...@@ -145,8 +145,14 @@ public class GoodsOrderController { ...@@ -145,8 +145,14 @@ public class GoodsOrderController {
return Result.ok(orderGoodsService.orderGoodsCancelStyle(orderGoodsNo)); return Result.ok(orderGoodsService.orderGoodsCancelStyle(orderGoodsNo));
} }
@ApiOperation(value = "查看未装车的车辆用于货单取消弹窗展示", notes = "<br>By:胡宇帆")
@GetMapping("/getOrderChildTruckList")
public Result<List<String>> getOrderChildTruckList(@RequestParam(value = "orderGoodsNo") String orderGoodsNo) {
return Result.ok(orderGoodsService.getOrderChildTruckList(orderGoodsNo));
}
@ApiOperation(value = "取消货单", notes = "<br>By:胡宇帆") @ApiOperation(value = "取消货单", notes = "<br>By:胡宇帆")
@GetMapping("/orderGoodsCancel") @PostMapping("/orderGoodsCancel")
public Result<Object> orderGoodsCancel(@RequestBody OrderGoodsCancelParam param) { public Result<Object> orderGoodsCancel(@RequestBody OrderGoodsCancelParam param) {
orderGoodsService.orderGoodsCancel(param); orderGoodsService.orderGoodsCancel(param);
return Result.ok(); return Result.ok();
...@@ -158,6 +164,12 @@ public class GoodsOrderController { ...@@ -158,6 +164,12 @@ public class GoodsOrderController {
return Result.ok(orderGoodsService.orderCancelResidueWeight(orderNo,optionType)); return Result.ok(orderGoodsService.orderCancelResidueWeight(orderNo,optionType));
} }
@ApiOperation(value = "获取当前货单可取消吨数", notes = "<br>By:胡宇帆")
@PostMapping("/orderGoodsCancelResidueWeight")
public Result<BigDecimal> orderGoodsCancelResidueWeight(@RequestBody OrderGoodsCancelParam goodsCancelParam) {
return Result.ok(orderGoodsService.orderGoodsCancelResidueWeight(goodsCancelParam));
}
@ApiOperation(value = "调整货单价格", notes = "<br>By:刘海泉") @ApiOperation(value = "调整货单价格", notes = "<br>By:刘海泉")
@PostMapping("/updateOrderGoodsPrice") @PostMapping("/updateOrderGoodsPrice")
@UnitCovert(result = false) @UnitCovert(result = false)
......
package com.clx.performance.controller.pc;
import com.clx.performance.service.OrderCancelService;
import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.convertor.aspect.UnitCovert;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/pc/order/")
@Validated
@Api(tags = "PC-订单取消取消")
@AllArgsConstructor
public class OrderCancelController {
private final OrderCancelService orderCancelService;
@ApiOperation(value = "承运端取消订单", notes = "<br>By:胡宇帆")
@GetMapping("/platformCancelOrderPre")
public Result<Object> platformCancelOrderPre(@RequestParam String orderNo) {
orderCancelService.platformCancelOrderPre(orderNo);
return Result.ok();
}
@ApiOperation(value = "货主端取消订单", notes = "<br>By:胡宇帆")
@GetMapping("/ownCancelOrderPre")
public Result<Object> ownCancelOrderPre(@RequestParam String orderNo) {
orderCancelService.ownerCancelOrderPre(orderNo);
return Result.ok();
}
}
...@@ -82,7 +82,9 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -82,7 +82,9 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List<OrderChild> selectResidueWeight(String orderNo,Integer status); List<OrderChild> selectResidueWeight(String orderNo,Integer status);
List<OrderChild> selectResidueWeight(String orderNo,Integer status,List<String> truckList); List<OrderChild> selectResidueWeightByOrderGoodsNo(String orderGoodsNo,Integer status);
List<OrderChild> selectResidueWeightByOrderGoodsNo(String orderGoodsNo,Integer status,List<String> truckList);
/** /**
* 查询在途运单 * 查询在途运单
...@@ -93,4 +95,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -93,4 +95,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
void batchUpdateOrderChildStatus(Integer status, List<Integer> ids); void batchUpdateOrderChildStatus(Integer status, List<Integer> ids);
List<OrderChild> selectOrderChildListByOrderGoodsNoAndStatusGE(String orderGoodsNo, Integer status);
} }
...@@ -267,8 +267,15 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -267,8 +267,15 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
} }
@Override @Override
public List<OrderChild> selectResidueWeight(String orderNo, Integer status, List<String> truckList) { public List<OrderChild> selectResidueWeightByOrderGoodsNo(String orderGoodsNo, Integer status) {
return baseMapper.selectList(lQrWrapper().eq(OrderChild::getOrderNo,orderNo) return baseMapper.selectList(lQrWrapper().eq(OrderChild::getOrderGoodsNo,orderGoodsNo)
.lt(ObjectUtil.isNotEmpty(status),OrderChild::getStatus, status)
);
}
@Override
public List<OrderChild> selectResidueWeightByOrderGoodsNo(String orderGoodsNo, Integer status, List<String> truckList) {
return baseMapper.selectList(lQrWrapper().eq(OrderChild::getOrderGoodsNo,orderGoodsNo)
.lt(ObjectUtil.isNotEmpty(status),OrderChild::getStatus, status) .lt(ObjectUtil.isNotEmpty(status),OrderChild::getStatus, status)
.in(OrderChild::getTruckNo, truckList) .in(OrderChild::getTruckNo, truckList)
); );
...@@ -288,6 +295,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -288,6 +295,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
baseMapper.updateOrderGoodsSetResidueWeight(status, ids); baseMapper.updateOrderGoodsSetResidueWeight(status, ids);
} }
@Override
public List<OrderChild> selectOrderChildListByOrderGoodsNoAndStatusGE(String orderGoodsNo, Integer status) {
return baseMapper.selectList(lQrWrapper().eq(OrderChild::getOrderGoodsNo, orderGoodsNo)
.ge(ObjectUtil.isNotNull(status),OrderChild::getStatus, status)
); }
@Override @Override
public List<OrderChild> getOrderChildByOrderNo(String orderNo) { public List<OrderChild> getOrderChildByOrderNo(String orderNo) {
LambdaQueryWrapper<OrderChild> query = new LambdaQueryWrapper(); LambdaQueryWrapper<OrderChild> query = new LambdaQueryWrapper();
......
...@@ -61,7 +61,16 @@ public interface OrderGoodsService { ...@@ -61,7 +61,16 @@ public interface OrderGoodsService {
/** /**
* 取消货单 * 取消货单
* @param OrderGoodsCancelParam * @param orderGoodsNo
*/ */
void orderGoodsCancel(OrderGoodsCancelParam orderGoodsNo); void orderGoodsCancel(OrderGoodsCancelParam orderGoodsNo);
/**
* 查看货单可取消吨数
* @param goodsCancelParam
* @return
*/
BigDecimal orderGoodsCancelResidueWeight(OrderGoodsCancelParam goodsCancelParam);
List<String> getOrderChildTruckList(String orderGoodsNo);
} }
...@@ -357,18 +357,18 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -357,18 +357,18 @@ public class OrderCancelServiceImpl implements OrderCancelService {
//货单还有余量,是已完结 //货单还有余量,是已完结
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode()); update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode());
} else { } else {
List<OrderChild> orderChildrenListComplete = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.COMPLETE.getCode()); List<OrderChild> orderChildrenListComplete = orderChildDao.selectOrderChildListByOrderGoodsNoAndStatusGE(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.ARRIVE_SEND.getCode());
if (CollectionUtil.isNotEmpty(orderChildrenListComplete)) { if (CollectionUtil.isNotEmpty(orderChildrenListComplete)) {
Map<String, List<OrderChild>> orderChildCompleteMap = orderChildrenListComplete.stream()
.collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo));
//没有余量,需要判断已完成的运单量是不等于货单的全部提取量,等于则是已完成,否则是已完结 //没有余量,需要判断已完成的运单量是不等于货单的全部提取量,等于则是已完成,否则是已完结
List<OrderChild> childList = orderChildCompleteMap.get(orderGoods.getOrderGoodsNo()); BigDecimal reduce = orderChildrenListComplete.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal reduce = childList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
if (reduce.compareTo(orderGoods.getExtractWeight()) == 0) { if (reduce.compareTo(orderGoods.getExtractWeight()) == 0) {
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.SUCCESS.getCode()); update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.SUCCESS.getCode());
} else { } else {
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode()); update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode());
} }
} else {
//虽然没有余量,但是可以取消的运单都是未到达货源地的
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CANCEL.getCode());
} }
} }
......
package com.clx.performance.service.impl; package com.clx.performance.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
...@@ -45,6 +46,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -45,6 +46,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -222,10 +224,14 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -222,10 +224,14 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
} else { } else {
String residueWeight = orderInfoFeign.getResidueWeight(); String residueWeight = orderInfoFeign.getResidueWeight();
List<OrderChild> orderChildList = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode()); List<OrderChild> orderChildList = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode());
BigDecimal childResidueWeight = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal childResidueWeight = BigDecimal.ZERO;
BigDecimal orderGoodsResidueWeight = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo).stream().map(OrderGoods::getResidueTransportWeight).reduce(BigDecimal::add).get(); if (CollectionUtils.isNotEmpty(orderChildList)) {
childResidueWeight = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
}
BigDecimal orderGoodsResidueWeight = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo).stream().map(OrderGoods::getResidueTransportWeight).reduce(BigDecimal.ZERO,BigDecimal::add);
return childResidueWeight.add(new BigDecimal(residueWeight)).add(orderGoodsResidueWeight); return new BigDecimal(residueWeight).add(orderGoodsResidueWeight).add(childResidueWeight);
} }
} }
...@@ -280,7 +286,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -280,7 +286,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
Integer cancelOperateType = goodsCancelParam.getCancelOperateType(); Integer cancelOperateType = goodsCancelParam.getCancelOperateType();
switch (cancelOperateType){ switch (cancelOperateType){
case 1: case 1:
orderChildList = orderChildDao.selectResidueWeight(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.ARRIVE_SEND.getCode()); orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), null);
if (CollectionUtils.isNotEmpty(orderChildList)) { if (CollectionUtils.isNotEmpty(orderChildList)) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "当前货单已产生运单"); throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "当前货单已产生运单");
} }
...@@ -303,10 +309,16 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -303,10 +309,16 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.CANCEL.getCode()); orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.CANCEL.getCode());
log.info("取消货单,参数:{}", JSONUtil.parse(param)); log.info("取消货单,参数:{}", JSONUtil.parse(param));
orderFeign.rollbackOrderWeight(param); if (orderFeign.rollbackOrderWeight(param).succeed()) {
OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId());
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CANCEL.getCode());
update.setResidueTransportWeight(BigDecimal.ZERO);
orderGoodsDao.updateEntityByKey(update);
}
return; return;
case 2: case 2:
orderChildList = orderChildDao.selectResidueWeight(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.ARRIVE_SEND.getCode()); orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.ARRIVE_SEND.getCode());
if (CollectionUtils.isNotEmpty(orderChildList)) { if (CollectionUtils.isNotEmpty(orderChildList)) {
sum = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add); sum = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
} }
...@@ -329,14 +341,16 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -329,14 +341,16 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.CANCEL.getCode()); orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.CANCEL.getCode());
orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), orderChildList.stream().map(OrderChild::getId).collect(Collectors.toList())); orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), orderChildList.stream().map(OrderChild::getId).collect(Collectors.toList()));
log.info("取消货单,参数:{}", JSONUtil.parse(param)); log.info("取消货单,参数:{}", JSONUtil.parse(param));
Result<Object> result = orderFeign.rollbackOrderWeight(param); if (orderFeign.rollbackOrderWeight(param).succeed()) {
if (result.succeed()) { OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId());
//orderGoodsDao.updateEntityByKey(); update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CANCEL.getCode());
update.setResidueTransportWeight(BigDecimal.ZERO);
orderGoodsDao.updateEntityByKey(update);
} }
return; return;
case 3: case 3:
orderChildList = orderChildDao.selectResidueWeight(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.LOAD.getCode(), goodsCancelParam.getTruckList()); orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.LOAD.getCode(), goodsCancelParam.getTruckList());
if (CollectionUtils.isNotEmpty(orderChildList)) { if (CollectionUtils.isNotEmpty(orderChildList)) {
sum = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add); sum = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
} }
...@@ -358,7 +372,13 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -358,7 +372,13 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.CANCEL.getCode()); orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.CANCEL.getCode());
orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), orderChildList.stream().map(OrderChild::getId).collect(Collectors.toList())); orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), orderChildList.stream().map(OrderChild::getId).collect(Collectors.toList()));
log.info("取消货单,参数:{}", JSONUtil.parse(param)); log.info("取消货单,参数:{}", JSONUtil.parse(param));
orderFeign.rollbackOrderWeight(param); if (orderFeign.rollbackOrderWeight(param).succeed()) {
OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId());
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CANCEL.getCode());
update.setResidueTransportWeight(BigDecimal.ZERO);
orderGoodsDao.updateEntityByKey(update);
}
return; return;
default: default:
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "参数类型有误"); throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "参数类型有误");
...@@ -368,4 +388,55 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -368,4 +388,55 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
} }
@Override
public BigDecimal orderGoodsCancelResidueWeight(OrderGoodsCancelParam goodsCancelParam) {
String orderGoodsNo = goodsCancelParam.getOrderGoodsNo();
Optional<OrderGoods> optional = orderGoodsDao.getByOrderGoodsNo(orderGoodsNo);
if (!optional.isPresent()) {
return null;
}
OrderGoods orderGoods = optional.get();
List<OrderChild> orderChildList = null;
BigDecimal residueWeight = null;
BigDecimal sum = BigDecimal.ZERO;
RollbackOrderWeightParam param = new RollbackOrderWeightParam();
Integer cancelOperateType = goodsCancelParam.getCancelOperateType();
switch (cancelOperateType){
case 1:
case 2:
orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.ARRIVE_SEND.getCode());
if (CollectionUtils.isNotEmpty(orderChildList)) {
sum = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
}
residueWeight = orderGoods.getResidueTransportWeight().add(sum);
return residueWeight;
case 3:
orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.LOAD.getCode(), goodsCancelParam.getTruckList());
if (CollectionUtils.isNotEmpty(orderChildList)) {
sum = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
}
residueWeight = orderGoods.getResidueTransportWeight().add(sum);
return residueWeight;
default:
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "参数类型有误");
}
}
@Override
public List<String> getOrderChildTruckList(String orderGoodsNo) {
List<OrderChild> orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoodsNo, OrderChildEnum.Status.LOAD.getCode());
if (CollectionUtil.isNotEmpty(orderChildList)) {
return orderChildList.stream().map(OrderChild::getTruckNo).collect(Collectors.toList());
}
return null;
}
} }
...@@ -106,8 +106,11 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive ...@@ -106,8 +106,11 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
breakDriver.setSettlePlatform(BreakContractSettlementDriverEnum.SettlePlatform.MSL.getCode()); breakDriver.setSettlePlatform(BreakContractSettlementDriverEnum.SettlePlatform.MSL.getCode());
record.setSettlementNo(settlementNo); record.setSettlementNo(settlementNo);
//保存违约记录
breakContractDriverRecordDao.saveEntity(record); breakContractDriverRecordDao.saveEntity(record);
//保存违约计费
breakContractSettlementDriverDao.saveEntity(breakDriver); breakContractSettlementDriverDao.saveEntity(breakDriver);
//保存违约结算单
breakContractSettlementDriverDetailDao.saveEntity(breakDriverDetail); breakContractSettlementDriverDetailDao.saveEntity(breakDriverDetail);
} }
......
...@@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -5,10 +5,7 @@ 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.vo.feign.FeignOrderInfoVO; import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.dao.breakcontract.*; import com.clx.performance.dao.breakcontract.*;
import com.clx.performance.enums.BreakContractRecordEnum; import com.clx.performance.enums.*;
import com.clx.performance.enums.BreakContractSettlementDriverEnum;
import com.clx.performance.enums.BreakContractSettlementOwnerEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.extranal.user.OrderService; import com.clx.performance.extranal.user.OrderService;
import com.clx.performance.extranal.user.OwnerInfoService; import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.model.breakcontract.*; import com.clx.performance.model.breakcontract.*;
...@@ -16,6 +13,7 @@ import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerReco ...@@ -16,6 +13,7 @@ import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerReco
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam; import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.param.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordParam; import com.clx.performance.param.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService; import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService;
import com.clx.performance.service.breakcontract.BreakContractSettlementLogService;
import com.clx.performance.service.impl.UniqueOrderNumService; import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.struct.breakcontract.*; import com.clx.performance.struct.breakcontract.*;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO; import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
...@@ -62,6 +60,8 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR ...@@ -62,6 +60,8 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR
private final BreakContractSettlementOwnerDetailDao breakContractSettlementOwnerDetailDao; private final BreakContractSettlementOwnerDetailDao breakContractSettlementOwnerDetailDao;
private final BreakContractSettlementLogService breakContractSettlementLogService;
@Override @Override
public void saveRecord(BreakContractOwnerRecordAddParam param) { public void saveRecord(BreakContractOwnerRecordAddParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
...@@ -103,9 +103,16 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR ...@@ -103,9 +103,16 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR
breakOwner.setStatus(BreakContractSettlementOwnerEnum.Status.TO_BE_LOCKED.getCode()); breakOwner.setStatus(BreakContractSettlementOwnerEnum.Status.TO_BE_LOCKED.getCode());
record.setSettlementNo(settlementNo); record.setSettlementNo(settlementNo);
//保存违约记录
breakContractOwnerRecordDao.saveEntity(record); breakContractOwnerRecordDao.saveEntity(record);
//保存违约计费
breakContractSettlementOwnerDao.saveEntity(breakOwner); breakContractSettlementOwnerDao.saveEntity(breakOwner);
//保存违约结算单
breakContractSettlementOwnerDetailDao.saveEntity(breakOwnerDetail); breakContractSettlementOwnerDetailDao.saveEntity(breakOwnerDetail);
//保存结算单日志----创建结算单
breakContractSettlementLogService.saveBreakSettlementLog(settlementNo,
BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getCode(),BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),userNo,loginUserInfo.getUserName());
} }
@Override @Override
......
...@@ -139,7 +139,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -139,7 +139,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----上传结算凭证 //保存结算单日志----上传结算凭证
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(), breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getCode(),BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getMsg(), BreakContractSettlementLogEnum.Type.UPLOAD_SETTLEMENT.getCode(),BreakContractSettlementLogEnum.Type.UPLOAD_SETTLEMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName()); OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
} }
......
...@@ -52,17 +52,15 @@ public class JobTest { ...@@ -52,17 +52,15 @@ public class JobTest {
@Test @Test
public void test1() { public void test1() {
OrderCancelMqParam mqParam = new OrderCancelMqParam(); // OrderCancelMqParam mqParam = new OrderCancelMqParam();
mqParam.setType("2"); // mqParam.setType("2");
mqParam.setOrderNo("123"); // mqParam.setOrderNo("123");
Message message = MessageBuilder.withBody(JSONUtil.parse(mqParam).toString().getBytes()).build(); // Message message = MessageBuilder.withBody(JSONUtil.parse(mqParam).toString().getBytes()).build();
rabbitTemplate.send( // rabbitTemplate.send(
RabbitKeyConstants.ORDER_CANCEL_EXCHANGE, RabbitKeyConstants.ORDER_CANCEL_ROUTE_KEY, message // RabbitKeyConstants.ORDER_CANCEL_EXCHANGE, RabbitKeyConstants.ORDER_CANCEL_ROUTE_KEY, message
); // );
//CX2023092600223 平台已承接的订单,没有产生货单
//CX2023101600386 truckDemand 类型是2,且有货单,有运单, 没有未到达货源地的运单 orderCancelService.ownerCancelOrderPre("PT2023102700473");
//PT2023092600207 类型都是1,且有运单
//orderCancelService.ownerCancelOrderPre("PT2023102700469");
//orderCancelService.ownerCancelOrder("PT2023102600466"); //orderCancelService.ownerCancelOrder("PT2023102600466");
System.out.println(); System.out.println();
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论