Commit 1bc750132c74137f25e2047154d393b00bea4523

Authored by 房远帅
1 parent 389a29f8

统计报表:订单明细-修改

@@ -458,6 +458,7 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde @@ -458,6 +458,7 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde
458 vo1.setPackaging(vo.getPackaging()); 458 vo1.setPackaging(vo.getPackaging());
459 vo1.setRemarks(vo.getRemarks()); 459 vo1.setRemarks(vo.getRemarks());
460 vo1.setShippingCost(vo.getShippingCost()); 460 vo1.setShippingCost(vo.getShippingCost());
  461 + vo1.setSalesPrice(updatePurchaseOrderLineVo.getSalesPrice());
461 orderDetailReportService.update(vo1); 462 orderDetailReportService.update(vo1);
462 } 463 }
463 } 464 }
@@ -534,6 +535,7 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde @@ -534,6 +535,7 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde
534 vo1.setPackaging(vo.getPackaging()); 535 vo1.setPackaging(vo.getPackaging());
535 vo1.setRemarks(vo.getRemarks()); 536 vo1.setRemarks(vo.getRemarks());
536 vo1.setShippingCost(vo.getShippingCost()); 537 vo1.setShippingCost(vo.getShippingCost());
  538 + vo1.setSalesPrice(updatePurchaseOrderLineVo.getSalesPrice());
537 orderDetailReportService.update(vo1); 539 orderDetailReportService.update(vo1);
538 } 540 }
539 } 541 }
@@ -224,6 +224,21 @@ public class OrderDetailReportServiceImpl extends BaseMpServiceImpl<OrderDetailR @@ -224,6 +224,21 @@ public class OrderDetailReportServiceImpl extends BaseMpServiceImpl<OrderDetailR
224 @Override 224 @Override
225 public void update(UpdateOrderDetailReportVo vo) { 225 public void update(UpdateOrderDetailReportVo vo) {
226 226
  227 + String assessmentExceedsAgreement;
  228 + BigDecimal salesPrice = vo.getSalesPrice();
  229 + if (vo.getSalesPrice() != null && StringUtils.isNotEmpty(vo.getAssessmentExceedsAgreement())) {
  230 + assessmentExceedsAgreement = vo.getAssessmentExceedsAgreement().trim();
  231 + try {
  232 + BigDecimal exceedsAgreement = new BigDecimal(assessmentExceedsAgreement);
  233 + BigDecimal divisor = new BigDecimal("1000");
  234 + BigDecimal adjustment = exceedsAgreement.divide(divisor, 4, RoundingMode.HALF_UP); // 保留4位小数
  235 + BigDecimal subtract = salesPrice.subtract(adjustment);
  236 + vo.setSuggestedPrice(subtract.toPlainString());
  237 + } catch (NumberFormatException e) {
  238 + // 日志记录或按业务处理:超协价格式无效,忽略计算
  239 + log.error("超协价格式错误,使用原始销售价。value=" + assessmentExceedsAgreement);
  240 + }
  241 + }
227 LambdaUpdateWrapper<OrderDetailReport> updateWrapper = Wrappers.lambdaUpdate(OrderDetailReport.class) 242 LambdaUpdateWrapper<OrderDetailReport> updateWrapper = Wrappers.lambdaUpdate(OrderDetailReport.class)
228 .set(OrderDetailReport::getDeliveryDate, vo.getDeliveryDate() == null ? null : vo.getDeliveryDate()) 243 .set(OrderDetailReport::getDeliveryDate, vo.getDeliveryDate() == null ? null : vo.getDeliveryDate())
229 .set(OrderDetailReport::getAssessmentExceedsAgreement, StringUtil.isBlank(vo.getAssessmentExceedsAgreement()) ? null : vo.getAssessmentExceedsAgreement()) 244 .set(OrderDetailReport::getAssessmentExceedsAgreement, StringUtil.isBlank(vo.getAssessmentExceedsAgreement()) ? null : vo.getAssessmentExceedsAgreement())
@@ -237,6 +252,7 @@ public class OrderDetailReportServiceImpl extends BaseMpServiceImpl<OrderDetailR @@ -237,6 +252,7 @@ public class OrderDetailReportServiceImpl extends BaseMpServiceImpl<OrderDetailR
237 .set(OrderDetailReport::getPackaging, StringUtil.isBlank(vo.getPackaging()) ? null : vo.getPackaging()) 252 .set(OrderDetailReport::getPackaging, StringUtil.isBlank(vo.getPackaging()) ? null : vo.getPackaging())
238 .set(OrderDetailReport::getRemarks, StringUtil.isBlank(vo.getRemarks()) ? null : vo.getRemarks()) 253 .set(OrderDetailReport::getRemarks, StringUtil.isBlank(vo.getRemarks()) ? null : vo.getRemarks())
239 .set(OrderDetailReport::getShippingCost, StringUtil.isBlank(vo.getShippingCost()) ? null : vo.getShippingCost()) 254 .set(OrderDetailReport::getShippingCost, StringUtil.isBlank(vo.getShippingCost()) ? null : vo.getShippingCost())
  255 + .set(OrderDetailReport::getSuggestedPrice, StringUtil.isBlank(vo.getSuggestedPrice()) ? null : vo.getSuggestedPrice())
240 .eq(OrderDetailReport::getPurchaseOrderLineId, vo.getPurchaseOrderLineId()); 256 .eq(OrderDetailReport::getPurchaseOrderLineId, vo.getPurchaseOrderLineId());
241 257
242 getBaseMapper().update(updateWrapper); 258 getBaseMapper().update(updateWrapper);
@@ -2,6 +2,7 @@ package com.lframework.xingyun.sc.vo.statistics.orderDetail; @@ -2,6 +2,7 @@ package com.lframework.xingyun.sc.vo.statistics.orderDetail;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import javax.validation.constraints.NotBlank; 4 import javax.validation.constraints.NotBlank;
  5 +import java.math.BigDecimal;
5 import java.time.LocalDate; 6 import java.time.LocalDate;
6 import com.lframework.starter.web.core.vo.BaseVo; 7 import com.lframework.starter.web.core.vo.BaseVo;
7 import com.lframework.starter.web.core.components.validation.TypeMismatch; 8 import com.lframework.starter.web.core.components.validation.TypeMismatch;
@@ -106,4 +107,18 @@ public class UpdateOrderDetailReportVo implements BaseVo, Serializable { @@ -106,4 +107,18 @@ public class UpdateOrderDetailReportVo implements BaseVo, Serializable {
106 @Length(message = "运费最多允许50个字符!") 107 @Length(message = "运费最多允许50个字符!")
107 private String shippingCost; 108 private String shippingCost;
108 109
  110 + /**
  111 + * 指导价
  112 + */
  113 + @ApiModelProperty("指导价")
  114 + @Length(message = "指导价最多允许50个字符!")
  115 + private String suggestedPrice;
  116 +
  117 + /**
  118 + * 销售价格
  119 + */
  120 + @ApiModelProperty("销售价格")
  121 + private BigDecimal salesPrice;
  122 +
  123 +
109 } 124 }