提交 f5715e20 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
...@@ -21,6 +21,7 @@ public enum BreakContractSettlementLogEnum { ...@@ -21,6 +21,7 @@ public enum BreakContractSettlementLogEnum {
PLATFORM_TO_PAYMENT(6, "平台付款"), PLATFORM_TO_PAYMENT(6, "平台付款"),
OWNER_CONFIRMED_PLATFORM_PAYMENT(7, "货主确认付款"), OWNER_CONFIRMED_PLATFORM_PAYMENT(7, "货主确认付款"),
COMPLETED(8, "已完结"), COMPLETED(8, "已完结"),
CANCEL(9, "已取消"),
; ;
......
...@@ -20,6 +20,7 @@ public enum BreakContractSettlementOwnerEnum { ...@@ -20,6 +20,7 @@ public enum BreakContractSettlementOwnerEnum {
PLATFORM_TO_PAYMENT(50, "待平台付款"), PLATFORM_TO_PAYMENT(50, "待平台付款"),
OWNER_CONFIRMED_PLATFORM_PAYMENT(60, "待货主确认付款"), OWNER_CONFIRMED_PLATFORM_PAYMENT(60, "待货主确认付款"),
COMPLETED(70, "已完结"), COMPLETED(70, "已完结"),
CANCEL(80, "已取消"),
; ;
...@@ -36,18 +37,5 @@ public enum BreakContractSettlementOwnerEnum { ...@@ -36,18 +37,5 @@ public enum BreakContractSettlementOwnerEnum {
} }
@Getter
@AllArgsConstructor
public enum DeleteStatus {
NO(0, "否"),
YES(1, "是"),
;
private final Integer code;
private final String msg;
}
} }
package com.clx.performance.param.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class CarrierBreakContractSavePayeeParam {
@NotNull(message = "id不能为空")
@ApiModelProperty(value = "id", example = "100")
private Integer id;
@NotBlank(message = "收款人不能为空")
@ApiModelProperty(value = "收款人", example = "收款人")
private String payee;
@NotBlank(message = "收款银行不能为空")
@ApiModelProperty(value = "收款银行", example = "浙江银行")
private String payeeBankName;
@NotBlank(message = "收款银行卡卡号不能为空")
@ApiModelProperty(value = "收款银行卡卡号", example = "62213545878787")
private String payeeBankCardNo;
@NotBlank(message = "付款凭证不能为空")
@ApiModelProperty(value = "付款凭证", example = "/a.png")
private String paymentImg;
@NotBlank(message = "付款银行不能为空")
@ApiModelProperty(value = "付款银行", example = "浙江银行")
private String paymentBankName;
@NotBlank(message = "付款银行卡卡号不能为空")
@ApiModelProperty(value = "付款银行卡卡号", example = "62213545878787")
private String paymentBankCardNo;
}
package com.clx.performance.param.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class CarrierBreakPayeeConfirmParam {
@NotNull(message = "id不能为空")
@ApiModelProperty(value = "id", example = "100")
private Integer id;
}
package com.clx.performance.param.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class CarrierCancelSettlementParam {
@NotNull(message = "id不能为空")
@ApiModelProperty(value = "id", example = "100")
private Integer id;
}
package com.clx.performance.controller.pc.breakcontract.carrier; package com.clx.performance.controller.pc.breakcontract.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.CarrierUploadInvoiceImgParam; import com.clx.performance.param.pc.breakcontract.carrier.*;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService; import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementOwnerDetailVO; import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerVO; import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerVO;
...@@ -67,4 +66,26 @@ public class CarrierBreakContractSettlementOwnerController { ...@@ -67,4 +66,26 @@ public class CarrierBreakContractSettlementOwnerController {
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "取消结算单",notes = "<br>By:李瑞新")
@PostMapping("/updateCancelSettlement")
public Result updateCancelSettlement(@RequestBody @Validated CarrierCancelSettlementParam param) {
breakContractSettlementOwnerService.updateCancelSettlement(param);
return Result.ok();
}
@ApiOperation(value = "付款",notes = "<br>By李瑞新")
@PostMapping("/saveCarrierBreakContractPayee")
public Result saveCarrierBreakContractPayee(@RequestBody @Validated CarrierBreakContractSavePayeeParam param) {
breakContractSettlementOwnerService.saveCarrierBreakContractPayee(param);
return Result.ok();
}
@ApiOperation(value = "付款确认",notes = "<br>By:李瑞新")
@PostMapping("/updateCarrierBreakContractPayeeConfirm")
public Result updateCarrierBreakContractPayeeConfirm(@RequestBody @Validated CarrierBreakPayeeConfirmParam param ) {
breakContractSettlementOwnerService.updateCarrierBreakContractPayeeConfirm(param);
return Result.ok();
}
} }
...@@ -4,6 +4,7 @@ package com.clx.performance.dao.breakcontract; ...@@ -4,6 +4,7 @@ package com.clx.performance.dao.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.breakcontract.BreakContractSettlementOwnerMapper; import com.clx.performance.mapper.breakcontract.BreakContractSettlementOwnerMapper;
import com.clx.performance.model.breakcontract.BreakContractSettlementOwner; import com.clx.performance.model.breakcontract.BreakContractSettlementOwner;
import com.clx.performance.param.pc.breakcontract.carrier.CarrierBreakContractSavePayeeParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam; import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -18,4 +19,9 @@ public interface BreakContractSettlementOwnerDao extends BaseDao<BreakContractSe ...@@ -18,4 +19,9 @@ public interface BreakContractSettlementOwnerDao extends BaseDao<BreakContractSe
IPage<BreakContractSettlementOwner> pageCarrierBreakContractSettlementOwnerList(PageCarrierBreakContractSettlementOwnerParam param); IPage<BreakContractSettlementOwner> pageCarrierBreakContractSettlementOwnerList(PageCarrierBreakContractSettlementOwnerParam param);
boolean uploadInvoiceImg(@Param("id")Integer id, @Param("invoiceImg")String invoiceImg); boolean uploadInvoiceImg(@Param("id")Integer id, @Param("invoiceImg")String invoiceImg);
boolean updateStatus(@Param("id")Integer id,@Param("from")Integer from,@Param("to")Integer to);
boolean saveCarrierBreakContractPayee(CarrierBreakContractSavePayeeParam param);
} }
...@@ -8,6 +8,7 @@ import com.clx.performance.dao.breakcontract.BreakContractSettlementOwnerDao; ...@@ -8,6 +8,7 @@ import com.clx.performance.dao.breakcontract.BreakContractSettlementOwnerDao;
import com.clx.performance.enums.BreakContractSettlementOwnerEnum; import com.clx.performance.enums.BreakContractSettlementOwnerEnum;
import com.clx.performance.mapper.breakcontract.BreakContractSettlementOwnerMapper; import com.clx.performance.mapper.breakcontract.BreakContractSettlementOwnerMapper;
import com.clx.performance.model.breakcontract.BreakContractSettlementOwner; import com.clx.performance.model.breakcontract.BreakContractSettlementOwner;
import com.clx.performance.param.pc.breakcontract.carrier.CarrierBreakContractSavePayeeParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam; import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -27,7 +28,6 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra ...@@ -27,7 +28,6 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra
@Override @Override
public IPage<BreakContractSettlementOwner> pageCarrierBreakContractSettlementOwnerList(PageCarrierBreakContractSettlementOwnerParam param) { public IPage<BreakContractSettlementOwner> pageCarrierBreakContractSettlementOwnerList(PageCarrierBreakContractSettlementOwnerParam param) {
LambdaQueryWrapper<BreakContractSettlementOwner> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BreakContractSettlementOwner> query = new LambdaQueryWrapper<>();
query.eq(BreakContractSettlementOwner :: getDeleteStatus, BreakContractSettlementOwnerEnum.DeleteStatus.NO.getCode());
query.eq(StringUtils.isNotBlank(param.getOrderNo()),BreakContractSettlementOwner :: getOrderNo,param.getOrderNo()); query.eq(StringUtils.isNotBlank(param.getOrderNo()),BreakContractSettlementOwner :: getOrderNo,param.getOrderNo());
query.eq(StringUtils.isNotBlank(param.getSettlementNo()),BreakContractSettlementOwner ::getSettlementNo ,param.getSettlementNo()); query.eq(StringUtils.isNotBlank(param.getSettlementNo()),BreakContractSettlementOwner ::getSettlementNo ,param.getSettlementNo());
query.eq(Objects.nonNull(param.getBreakContractPartyType()),BreakContractSettlementOwner :: getBreakContractPartyType,param.getBreakContractPartyType()); query.eq(Objects.nonNull(param.getBreakContractPartyType()),BreakContractSettlementOwner :: getBreakContractPartyType,param.getBreakContractPartyType());
...@@ -46,4 +46,27 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra ...@@ -46,4 +46,27 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra
.set(BreakContractSettlementOwner::getStatus, BreakContractSettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode()) .set(BreakContractSettlementOwner::getStatus, BreakContractSettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode())
); );
} }
@Override
public boolean saveCarrierBreakContractPayee(CarrierBreakContractSavePayeeParam param) {
return update(lUdWrapper()
.eq(BreakContractSettlementOwner::getId, param.getId())
.set(BreakContractSettlementOwner::getPayee, param.getPayee())
.set(BreakContractSettlementOwner::getPayeeBankName, param.getPayeeBankName())
.set(BreakContractSettlementOwner::getPayeeBankCardNo, param.getPayeeBankCardNo())
.set(BreakContractSettlementOwner::getPaymentImg, param.getPaymentImg())
.set(BreakContractSettlementOwner::getPaymentBankCardNo, param.getPaymentBankCardNo())
.set(BreakContractSettlementOwner::getPaymentBankName, param.getPaymentBankName())
);
}
@Override
public boolean updateStatus(Integer id, Integer from, Integer to) {
return update(lUdWrapper()
.eq(BreakContractSettlementOwner::getId, id)
.eq(BreakContractSettlementOwner::getStatus, from)
.set(BreakContractSettlementOwner::getStatus, to)
);
}
} }
...@@ -96,10 +96,6 @@ public class BreakContractSettlementOwner implements HasKey<Integer> { ...@@ -96,10 +96,6 @@ public class BreakContractSettlementOwner implements HasKey<Integer> {
@ApiModelProperty("操作人名称") @ApiModelProperty("操作人名称")
private String createName; private String createName;
@TableField("delete_status")
@ApiModelProperty("删除状态 0-否;1-是")
private Integer deleteStatus;
@TableField("create_time") @TableField("create_time")
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;
......
package com.clx.performance.service.breakcontract; package com.clx.performance.service.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.CarrierUploadInvoiceImgParam; import com.clx.performance.param.pc.breakcontract.carrier.*;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam;
import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementOwnerDetailVO; import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerVO; import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerVO;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
...@@ -21,4 +20,10 @@ public interface BreakContractSettlementOwnerService { ...@@ -21,4 +20,10 @@ public interface BreakContractSettlementOwnerService {
CarrierBreakContractSettlementOwnerDetailVO getCarrierBreakContractSettlementOwnerDetail(Integer id); CarrierBreakContractSettlementOwnerDetailVO getCarrierBreakContractSettlementOwnerDetail(Integer id);
void uploadInvoiceImg(CarrierUploadInvoiceImgParam param); void uploadInvoiceImg(CarrierUploadInvoiceImgParam param);
void updateCancelSettlement(CarrierCancelSettlementParam param);
void saveCarrierBreakContractPayee(CarrierBreakContractSavePayeeParam param);
void updateCarrierBreakContractPayeeConfirm(CarrierBreakPayeeConfirmParam param);
} }
...@@ -3,17 +3,16 @@ package com.clx.performance.service.impl; ...@@ -3,17 +3,16 @@ package com.clx.performance.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.clx.order.enums.OrderEnum; import com.clx.order.enums.OrderEnum;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.param.feign.UpdateOrderInfoResidueWeightParam;
import com.clx.order.vo.feign.FeignOrderVO; import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao; import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.OrderGoodsTruckBindDao;
import com.clx.performance.enums.OrderChildEnum; import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.OrderGoodsStatusEnum; import com.clx.performance.enums.OrderGoodsStatusEnum;
import com.clx.performance.enums.TruckDemandEnum; import com.clx.performance.enums.TruckDemandEnum;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.service.OrderCancelService; import com.clx.performance.service.OrderCancelService;
import com.clx.performance.service.OrderChildService;
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;
...@@ -38,7 +37,6 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -38,7 +37,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private final OrderGoodsDao orderGoodsDao; private final OrderGoodsDao orderGoodsDao;
private final OrderGoodsTruckBindDao orderGoodsTruckBindDao;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void ownerCancelOrderPre(String orderNo) { public void ownerCancelOrderPre(String orderNo) {
...@@ -71,7 +69,9 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -71,7 +69,9 @@ public class OrderCancelServiceImpl implements OrderCancelService {
} }
} else { } else {
BigDecimal orderChildResidueWeight = orderChildrenList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal orderChildResidueWeight = orderChildrenList.stream()
.map(OrderChild::getWeight)
.reduce(BigDecimal.ZERO, BigDecimal::add);
if (orderChildResidueWeight.compareTo(orderTransportWeight) == 0) { if (orderChildResidueWeight.compareTo(orderTransportWeight) == 0) {
throw new RuntimeException("当前订单已无余量可取消"); throw new RuntimeException("当前订单已无余量可取消");
} }
...@@ -92,14 +92,14 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -92,14 +92,14 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void ownerCancelOrder(String orderNo) { public void ownerCancelOrder(String orderNo) {
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo); FeignOrderVO orderInfoFeignVO = orderFeign.getOrderInfoFeign(orderNo);
List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
Map<Integer, BigDecimal> truckDemandMap = new HashMap<>(); Map<Integer, BigDecimal> truckDemandMap = new HashMap<>();
truckDemandMap.put(TruckDemandEnum.TruckType.PLATFORM_CAR.getCode(), BigDecimal.ZERO); truckDemandMap.put(TruckDemandEnum.TruckType.PLATFORM_CAR.getCode(), BigDecimal.ZERO);
truckDemandMap.put(TruckDemandEnum.TruckType.OWNER_CAR.getCode(), BigDecimal.ZERO); truckDemandMap.put(TruckDemandEnum.TruckType.OWNER_CAR.getCode(), BigDecimal.ZERO);
if (!TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode().equals(orderInfoFeign.getTruckDemand())) { if (!TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode().equals(orderInfoFeignVO.getTruckDemand())) {
if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeign.getOrderStatus())) { if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
//已完结 //已完结
List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo); List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo);
...@@ -110,15 +110,22 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -110,15 +110,22 @@ public class OrderCancelServiceImpl implements OrderCancelService {
//TODO 补充批量更新接口 关闭运单状态 //TODO 补充批量更新接口 关闭运单状态
orderChildDao.updateEntityByKey(update); orderChildDao.updateEntityByKey(update);
} }
Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream().collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo)); Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream()
.collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo));
Map<String, List<OrderChild>> orderChildMap = orderChildrenList.stream().collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo)); Map<String, List<OrderChild>> orderChildMap = orderChildrenList.stream()
.collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo));
for (Map.Entry<String, List<OrderGoods>> entry : orderGoodsMap.entrySet()) { for (Map.Entry<String, List<OrderGoods>> entry : orderGoodsMap.entrySet()) {
String orderGoodsNo = entry.getKey(); String orderGoodsNo = entry.getKey();
OrderGoods orderGoods = entry.getValue().get(0); OrderGoods orderGoods = entry.getValue().get(0);
BigDecimal sum = orderChildMap.get(orderGoodsNo).stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
truckDemandMap.put(orderGoods.getTruckDemand(), truckDemandMap.get(orderGoods.getTruckDemand()).add(orderGoods.getResidueTransportWeight().add(sum))); BigDecimal sum = orderChildMap.get(orderGoodsNo).stream()
.map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
truckDemandMap.put(orderGoods.getTruckDemand(),
truckDemandMap.get(orderGoods.getTruckDemand())
.add(orderGoods.getResidueTransportWeight().add(sum)));
OrderGoods update = new OrderGoods(); OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId()); update.setId(orderGoods.getId());
//TODO 补充批量更新接口 关闭货单状态 //TODO 补充批量更新接口 关闭货单状态
...@@ -127,10 +134,12 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -127,10 +134,12 @@ public class OrderCancelServiceImpl implements OrderCancelService {
orderGoodsDao.updateEntityByKey(update); orderGoodsDao.updateEntityByKey(update);
} }
} else if (OrderEnum.Status.CANCELED.getCode().equals(orderInfoFeign.getOrderStatus())) { } else if (OrderEnum.Status.CANCELED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
//已取消 //已取消
for (OrderGoods orderGoods : orderGoodsList) { for (OrderGoods orderGoods : orderGoodsList) {
truckDemandMap.put(orderGoods.getTruckDemand(), truckDemandMap.get(orderGoods.getTruckDemand()).add(orderGoods.getResidueTransportWeight())); truckDemandMap.put(orderGoods.getTruckDemand(),
truckDemandMap.get(orderGoods.getTruckDemand())
.add(orderGoods.getResidueTransportWeight()));
OrderGoods update = new OrderGoods(); OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId()); update.setId(orderGoods.getId());
//TODO 补充批量更新接口 关闭货单状态 //TODO 补充批量更新接口 关闭货单状态
...@@ -139,9 +148,26 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -139,9 +148,26 @@ public class OrderCancelServiceImpl implements OrderCancelService {
orderGoodsDao.updateEntityByKey(update); orderGoodsDao.updateEntityByKey(update);
} }
} }
Integer truckDemand = orderInfoFeignVO.getTruckDemand();
BigDecimal residueWeight = truckDemandMap.get(truckDemand);
UpdateOrderInfoResidueWeightParam param = new UpdateOrderInfoResidueWeightParam();
param.setOrderId(orderInfoFeignVO.getId());
if (truckDemand.equals(TruckDemandEnum.TruckType.PLATFORM_CAR.getCode())) {
param.setUpdateType("2");
param.setResidueWeight(residueWeight.add(new BigDecimal(orderInfoFeignVO.getResidueWeight())));
param.setPlatWeight(residueWeight);
}
if (truckDemand.equals(TruckDemandEnum.TruckType.OWNER_CAR.getCode())) {
param.setUpdateType("3");
param.setResidueWeight(residueWeight.add(new BigDecimal(orderInfoFeignVO.getResidueWeight())));
param.setOwnWeight(residueWeight);
}
orderFeign.updateOrderInfoResidueWeight(param);
} else { } else {
Map<Integer,BigDecimal> vehicleUsageMap = new HashMap<>(); Map<Integer, BigDecimal> vehicleUsageMap = new HashMap<>();
if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeign.getOrderStatus())) { if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
//已完结 //已完结
List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo); List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo);
...@@ -153,16 +179,21 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -153,16 +179,21 @@ public class OrderCancelServiceImpl implements OrderCancelService {
orderChildDao.updateEntityByKey(update); orderChildDao.updateEntityByKey(update);
} }
//货单 //货单
Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream().collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo)); Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream()
.collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo));
//运单 //运单
Map<String, List<OrderChild>> orderChildMap = orderChildrenList.stream().collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo)); Map<String, List<OrderChild>> orderChildMap = orderChildrenList.stream()
.collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo));
for (Map.Entry<String, List<OrderGoods>> entry : orderGoodsMap.entrySet()) { for (Map.Entry<String, List<OrderGoods>> entry : orderGoodsMap.entrySet()) {
String orderGoodsNo = entry.getKey(); String orderGoodsNo = entry.getKey();
OrderGoods orderGoods = entry.getValue().get(0); OrderGoods orderGoods = entry.getValue().get(0);
BigDecimal sum = orderChildMap.get(orderGoodsNo).stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal sum = orderChildMap.get(orderGoodsNo).stream()
vehicleUsageMap.put(orderGoods.getVehicleUsage(), vehicleUsageMap.get(orderGoods.getVehicleUsage()).add(orderGoods.getResidueTransportWeight().add(sum))); .map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
vehicleUsageMap.put(orderGoods.getVehicleUsage(),
vehicleUsageMap.get(orderGoods.getVehicleUsage())
.add(orderGoods.getResidueTransportWeight().add(sum)));
OrderGoods update = new OrderGoods(); OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId()); update.setId(orderGoods.getId());
//TODO 补充批量更新接口 关闭货单状态 //TODO 补充批量更新接口 关闭货单状态
...@@ -172,10 +203,12 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -172,10 +203,12 @@ public class OrderCancelServiceImpl implements OrderCancelService {
} }
} else if (OrderEnum.Status.CANCELED.getCode().equals(orderInfoFeign.getOrderStatus())) { } else if (OrderEnum.Status.CANCELED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
//已取消 //已取消
for (OrderGoods orderGoods : orderGoodsList) { for (OrderGoods orderGoods : orderGoodsList) {
vehicleUsageMap.put(orderGoods.getVehicleUsage(), vehicleUsageMap.get(orderGoods.getVehicleUsage()).add(orderGoods.getResidueTransportWeight())); vehicleUsageMap.put(orderGoods.getVehicleUsage(),
vehicleUsageMap.get(orderGoods.getVehicleUsage())
.add(orderGoods.getResidueTransportWeight()));
OrderGoods update = new OrderGoods(); OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId()); update.setId(orderGoods.getId());
//TODO 补充批量更新接口 关闭货单状态 //TODO 补充批量更新接口 关闭货单状态
...@@ -185,13 +218,19 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -185,13 +218,19 @@ public class OrderCancelServiceImpl implements OrderCancelService {
} }
} }
String platformResidueCarryWeight = orderInfoFeign.getPlatformResidueCarryWeight(); String platformResidueCarryWeight = orderInfoFeignVO.getPlatformResidueCarryWeight();
String ownResidueCarryWeight = orderInfoFeign.getOwnResidueCarryWeight(); String ownResidueCarryWeight = orderInfoFeignVO.getOwnResidueCarryWeight();
BigDecimal platformResidueSum = new BigDecimal(platformResidueCarryWeight).add(vehicleUsageMap.get(1)); BigDecimal platformResidueSum = new BigDecimal(platformResidueCarryWeight).add(vehicleUsageMap.get(1));
BigDecimal ownResidueSum = new BigDecimal(ownResidueCarryWeight).add(vehicleUsageMap.get(2)); BigDecimal ownResidueSum = new BigDecimal(ownResidueCarryWeight).add(vehicleUsageMap.get(2));
BigDecimal residueSum = new BigDecimal(orderInfoFeign.getResidueWeight()).add(platformResidueSum).add(ownResidueSum); BigDecimal residueSum = new BigDecimal(orderInfoFeignVO.getResidueWeight()).add(platformResidueSum).add(ownResidueSum);
UpdateOrderInfoResidueWeightParam param = new UpdateOrderInfoResidueWeightParam();
param.setOrderId(orderInfoFeignVO.getId());
param.setUpdateType("4");
param.setResidueWeight(residueSum);
param.setPlatWeight(platformResidueSum);
param.setOwnWeight(ownResidueSum);
orderFeign.updateOrderInfoResidueWeight(param);
} }
......
...@@ -11,8 +11,7 @@ import com.clx.performance.enums.OrderChildLogEnum; ...@@ -11,8 +11,7 @@ import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.breakcontract.BreakContractSettlementLog; import com.clx.performance.model.breakcontract.BreakContractSettlementLog;
import com.clx.performance.model.breakcontract.BreakContractSettlementOwner; import com.clx.performance.model.breakcontract.BreakContractSettlementOwner;
import com.clx.performance.param.pc.breakcontract.carrier.CarrierUploadInvoiceImgParam; import com.clx.performance.param.pc.breakcontract.carrier.*;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam;
import com.clx.performance.service.breakcontract.BreakContractSettlementLogService; import com.clx.performance.service.breakcontract.BreakContractSettlementLogService;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService; import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
import com.clx.performance.struct.breakcontract.BreakContractSettlementLogStruct; import com.clx.performance.struct.breakcontract.BreakContractSettlementLogStruct;
...@@ -31,6 +30,7 @@ import lombok.AllArgsConstructor; ...@@ -31,6 +30,7 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -130,6 +130,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -130,6 +130,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void uploadInvoiceImg(CarrierUploadInvoiceImgParam param) { public void uploadInvoiceImg(CarrierUploadInvoiceImgParam param) {
BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
...@@ -144,4 +145,61 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -144,4 +145,61 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getCode(),BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getMsg(), BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getCode(),BreakContractSettlementLogEnum.Type.CREATE_SETTLEMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName()); OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void updateCancelSettlement(CarrierCancelSettlementParam param) {
BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if(!Objects.equals(settlementOwner.getStatus(), BreakContractSettlementOwnerEnum.Status.TO_BE_LOCKED.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.STATUS_CHANGED);
}
breakContractSettlementOwnerDao.updateStatus(param.getId(),BreakContractSettlementOwnerEnum.Status.TO_BE_LOCKED.getCode(),BreakContractSettlementOwnerEnum.Status.CANCEL.getCode());
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----取消结算单
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.CANCEL.getCode(),BreakContractSettlementLogEnum.Type.CANCEL.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveCarrierBreakContractPayee(CarrierBreakContractSavePayeeParam param) {
BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if(!Objects.equals(settlementOwner.getStatus(), BreakContractSettlementOwnerEnum.Status.PLATFORM_TO_PAYMENT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.STATUS_CHANGED);
}
breakContractSettlementOwnerDao.saveCarrierBreakContractPayee(param);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----平台付款
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.PLATFORM_TO_PAYMENT.getCode(),BreakContractSettlementLogEnum.Type.PLATFORM_TO_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateCarrierBreakContractPayeeConfirm(CarrierBreakPayeeConfirmParam param) {
BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if(!Objects.equals(settlementOwner.getStatus(), BreakContractSettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.STATUS_CHANGED);
}
breakContractSettlementOwnerDao.updateStatus(param.getId(),BreakContractSettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode(),BreakContractSettlementOwnerEnum.Status.COMPLETED.getCode());
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----平台付款
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode(),BreakContractSettlementLogEnum.Type.PLATFORM_CONFIRMED_OWNER_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
//保存结算单日志----已完结
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.COMPLETED.getCode(),BreakContractSettlementLogEnum.Type.COMPLETED.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论