提交 d7d10ea5 authored 作者: liruixin's avatar liruixin

Merge branch 'v6.4_transportation_20231110' into test

# Conflicts: # performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractSettlementOwnerServiceImpl.java
...@@ -25,6 +25,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -25,6 +25,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.net.URLEncoder;
@Slf4j @Slf4j
...@@ -50,7 +51,6 @@ public class OwnerBreakContractSettlementOwnerController { ...@@ -50,7 +51,6 @@ public class OwnerBreakContractSettlementOwnerController {
public Result<PageData<PageCarrierBreakContractSettlementOwnerVO>> pageOwnerBreakContractSettlementOwnerList(@RequestBody PageCarrierBreakContractSettlementOwnerParam param) { public Result<PageData<PageCarrierBreakContractSettlementOwnerVO>> pageOwnerBreakContractSettlementOwnerList(@RequestBody PageCarrierBreakContractSettlementOwnerParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
param.setOwnerUserNo(loginUserInfo.getUserNo()); param.setOwnerUserNo(loginUserInfo.getUserNo());
System.out.println(param);
IPage<PageCarrierBreakContractSettlementOwnerVO> page = breakContractSettlementOwnerService.pageCarrierBreakContractSettlementOwnerList(param); IPage<PageCarrierBreakContractSettlementOwnerVO> page = breakContractSettlementOwnerService.pageCarrierBreakContractSettlementOwnerList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages()); return Result.page(page.getRecords(), page.getTotal(), page.getPages());
} }
...@@ -62,6 +62,8 @@ public class OwnerBreakContractSettlementOwnerController { ...@@ -62,6 +62,8 @@ public class OwnerBreakContractSettlementOwnerController {
param.setOwnerUserNo(loginUserInfo.getUserNo()); param.setOwnerUserNo(loginUserInfo.getUserNo());
SXSSFWorkbook workbook = breakContractSettlementOwnerService.exportCarrierBreakContractSettlementOwnerList(param); SXSSFWorkbook workbook = breakContractSettlementOwnerService.exportCarrierBreakContractSettlementOwnerList(param);
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE); response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
String fileName = URLEncoder.encode("货主违约结算单", "UTF-8");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + fileName + "\"");
workbook.write(response.getOutputStream()); workbook.write(response.getOutputStream());
return null; return null;
} }
......
...@@ -329,12 +329,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -329,12 +329,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
BreakContractOwnerRuleVO.OrderAmountReduceRule reduceRule = autoRule.getOrderAmountReduceRule();//订单吨数减少规则 BreakContractOwnerRuleVO.OrderAmountReduceRule reduceRule = autoRule.getOrderAmountReduceRule();//订单吨数减少规则
//运单状态(不包括取消) //运单状态(不包括取消)
List<Integer> statusList = Arrays.asList( List<Integer> breakStatusList = getBreakStatusList();
new Integer[]{OrderChildEnum.Status.CREATED.getCode(), OrderChildEnum.Status.PAY.getCode(),
OrderChildEnum.Status.GO_TO_SEND.getCode(), OrderChildEnum.Status.ARRIVE_SEND.getCode(),
OrderChildEnum.Status.LOAD.getCode(), OrderChildEnum.Status.GO_TO_RECEIVE.getCode(),
OrderChildEnum.Status.ARRIVE_RECEIVE.getCode(), OrderChildEnum.Status.UNLOAD.getCode(),
OrderChildEnum.Status.UNSETTLE.getCode()});
BigDecimal figure ;//总费用 BigDecimal figure ;//总费用
...@@ -347,7 +342,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -347,7 +342,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
.divide(param.getTransportWeight(),2, BigDecimal.ROUND_HALF_UP); .divide(param.getTransportWeight(),2, BigDecimal.ROUND_HALF_UP);
}else{ }else{
List<OrderChild> orderChilds = orderChildDao.listOrderChildByOrderNoAndStatus(param.getOrderNo(), statusList); List<OrderChild> orderChilds = orderChildDao.listOrderChildByOrderNoAndStatus(param.getOrderNo(), breakStatusList);
if(CollectionUtils.isEmpty(orderChilds)){ if(CollectionUtils.isEmpty(orderChilds)){
BigDecimal totalFreight = param.getTransportWeight().multiply(param.getValidFreightPrice()); BigDecimal totalFreight = param.getTransportWeight().multiply(param.getValidFreightPrice());
...@@ -408,6 +403,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -408,6 +403,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
@Override @Override
public void saveSettlementOwnerForCancelOrder(BigDecimal transportWeight,BigDecimal validFreightPrice,String orderNo,Integer cancelType) { public void saveSettlementOwnerForCancelOrder(BigDecimal transportWeight,BigDecimal validFreightPrice,String orderNo,Integer cancelType) {
//获取订单配置的违约金方案 //获取订单配置的违约金方案
OwnerQuotationDetailVO quotationDetailVO = quotationService.getQuotationByOrderNo(orderNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); OwnerQuotationDetailVO quotationDetailVO = quotationService.getQuotationByOrderNo(orderNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if(Objects.isNull(quotationDetailVO.getLiquidatedDamagesPlanId())){ if(Objects.isNull(quotationDetailVO.getLiquidatedDamagesPlanId())){
...@@ -425,32 +421,24 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -425,32 +421,24 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
BreakContractOwnerRuleVO.AutoRule autoRule = JSONObject.parseObject(autoRuleJson, BreakContractOwnerRuleVO.AutoRule.class); BreakContractOwnerRuleVO.AutoRule autoRule = JSONObject.parseObject(autoRuleJson, BreakContractOwnerRuleVO.AutoRule.class);
BreakContractOwnerRuleVO.OrderCancelRule orderCancelRule = autoRule.getOrderCancelRule();//订单取消规则 BreakContractOwnerRuleVO.OrderCancelRule orderCancelRule = autoRule.getOrderCancelRule();//订单取消规则
//运单状态 List<Integer> breakStatusList = getBreakStatusList();
List<Integer> statusList = new ArrayList<>();
statusList.add(OrderChildEnum.Status.CREATED.getCode());
statusList.add(OrderChildEnum.Status.PAY.getCode());
statusList.add(OrderChildEnum.Status.GO_TO_SEND.getCode());
statusList.add(OrderChildEnum.Status.ARRIVE_SEND.getCode());
statusList.add(OrderChildEnum.Status.LOAD.getCode());
statusList.add(OrderChildEnum.Status.GO_TO_RECEIVE.getCode());
statusList.add(OrderChildEnum.Status.ARRIVE_RECEIVE.getCode());
statusList.add(OrderChildEnum.Status.UNLOAD.getCode());
statusList.add(OrderChildEnum.Status.UNSETTLE.getCode());
statusList.add(OrderChildEnum.Status.COMPLETE.getCode());
//由于已经更新了订单状态为货主取消了 //由于已经更新了订单状态为货主取消了
if(Objects.equals(cancelType,CancelOrderEnum.Type.NOT_ARRIVE.getCode())){ if(Objects.equals(cancelType,CancelOrderEnum.Type.NOT_ARRIVE.getCode())){
statusList.add(OrderChildEnum.Status.OWNER_CANCEL.getCode()); breakStatusList.add(OrderChildEnum.Status.OWNER_CANCEL.getCode());
} }
BigDecimal figure ;//总费用 BigDecimal figure ;//总费用
//订单号查询货单 //订单号查询货单
List<OrderGoods> orderGoods = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); List<OrderGoods> orderGoods = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
if(CollectionUtils.isEmpty(orderGoods)){ if(CollectionUtils.isEmpty(orderGoods)){
figure = transportWeight.multiply(validFreightPrice).multiply(orderCancelRule.getBeforeRatio()); figure = transportWeight.multiply(validFreightPrice).multiply(orderCancelRule.getBeforeRatio());
}else{ }else{
List<OrderChild> orderChilds = orderChildDao.listOrderChildByOrderNoAndStatus(orderNo, statusList); List<OrderChild> orderChilds = orderChildDao.listOrderChildByOrderNoAndStatus(orderNo, breakStatusList);
//没有司机拉运 //没有司机拉运
if(CollectionUtils.isEmpty(orderChilds)){ if(CollectionUtils.isEmpty(orderChilds)){
figure = transportWeight.multiply(validFreightPrice).multiply(orderCancelRule.getAfterRatio()); figure = transportWeight.multiply(validFreightPrice).multiply(orderCancelRule.getAfterRatio());
...@@ -513,4 +501,26 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -513,4 +501,26 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
ownerRecordAddParam.setRemark("订单取消产生违约"); ownerRecordAddParam.setRemark("订单取消产生违约");
breakContractOwnerRecordService.autoSaveRecord(ownerRecordAddParam); breakContractOwnerRecordService.autoSaveRecord(ownerRecordAddParam);
} }
/**
* 违约订单状态
* @return
*/
private List<Integer> getBreakStatusList(){
//运单状态
List<Integer> statusList = new ArrayList<>();
statusList.add(OrderChildEnum.Status.CREATED.getCode());
statusList.add(OrderChildEnum.Status.PAY.getCode());
statusList.add(OrderChildEnum.Status.GO_TO_SEND.getCode());
statusList.add(OrderChildEnum.Status.ARRIVE_SEND.getCode());
statusList.add(OrderChildEnum.Status.LOAD.getCode());
statusList.add(OrderChildEnum.Status.GO_TO_RECEIVE.getCode());
statusList.add(OrderChildEnum.Status.ARRIVE_RECEIVE.getCode());
statusList.add(OrderChildEnum.Status.UNLOAD.getCode());
statusList.add(OrderChildEnum.Status.UNSETTLE.getCode());
statusList.add(OrderChildEnum.Status.COMPLETE.getCode());
return statusList;
}
} }
...@@ -283,6 +283,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -283,6 +283,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
fieldList.add(new ExcelField(1, "结算单号", "settlementNo", 5000)); fieldList.add(new ExcelField(1, "结算单号", "settlementNo", 5000));
fieldList.add(new ExcelField(2, "开票标识", "invoiceType", 5000)); fieldList.add(new ExcelField(2, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(3, "货主编码", "ownerUserNo", 5000)); fieldList.add(new ExcelField(3, "货主编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(3, "结算方式", "settlementWay", 5000));
fieldList.add(new ExcelField(4, "订单编号", "orderNo", 15000)); fieldList.add(new ExcelField(4, "订单编号", "orderNo", 15000));
fieldList.add(new ExcelField(5, "实际净重", "weight", 5000)); fieldList.add(new ExcelField(5, "实际净重", "weight", 5000));
fieldList.add(new ExcelField(6, "实际运费金额", "freight", 5000)); fieldList.add(new ExcelField(6, "实际运费金额", "freight", 5000));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论