|
...
|
...
|
@@ -224,6 +224,21 @@ public class OrderDetailReportServiceImpl extends BaseMpServiceImpl<OrderDetailR |
|
224
|
224
|
@Override
|
|
225
|
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
|
242
|
LambdaUpdateWrapper<OrderDetailReport> updateWrapper = Wrappers.lambdaUpdate(OrderDetailReport.class)
|
|
228
|
243
|
.set(OrderDetailReport::getDeliveryDate, vo.getDeliveryDate() == null ? null : vo.getDeliveryDate())
|
|
229
|
244
|
.set(OrderDetailReport::getAssessmentExceedsAgreement, StringUtil.isBlank(vo.getAssessmentExceedsAgreement()) ? null : vo.getAssessmentExceedsAgreement())
|
|
...
|
...
|
@@ -237,6 +252,7 @@ public class OrderDetailReportServiceImpl extends BaseMpServiceImpl<OrderDetailR |
|
237
|
252
|
.set(OrderDetailReport::getPackaging, StringUtil.isBlank(vo.getPackaging()) ? null : vo.getPackaging())
|
|
238
|
253
|
.set(OrderDetailReport::getRemarks, StringUtil.isBlank(vo.getRemarks()) ? null : vo.getRemarks())
|
|
239
|
254
|
.set(OrderDetailReport::getShippingCost, StringUtil.isBlank(vo.getShippingCost()) ? null : vo.getShippingCost())
|
|
|
255
|
+ .set(OrderDetailReport::getSuggestedPrice, StringUtil.isBlank(vo.getSuggestedPrice()) ? null : vo.getSuggestedPrice())
|
|
240
|
256
|
.eq(OrderDetailReport::getPurchaseOrderLineId, vo.getPurchaseOrderLineId());
|
|
241
|
257
|
|
|
242
|
258
|
getBaseMapper().update(updateWrapper);
|
...
|
...
|
|