Commit ace2fce682f7169298b000b71159251c4d93bf83

Authored by 房远帅
1 parent 39e2f24a

报价:业务员报价-买断料预计损耗接收前端的值

@@ -69,7 +69,8 @@ public class SalesmanQuotationLineServiceImpl @@ -69,7 +69,8 @@ public class SalesmanQuotationLineServiceImpl
69 data.setQuantity(vo.getQuantity()); 69 data.setQuantity(vo.getQuantity());
70 data.setPurchasePrice(vo.getPurchasePrice()); 70 data.setPurchasePrice(vo.getPurchasePrice());
71 data.setApplicationAttrition(vo.getApplicationAttrition()); 71 data.setApplicationAttrition(vo.getApplicationAttrition());
72 - data.setItemId(StringUtils.defaultIfBlank(vo.getItemId(), IdUtil.getId())); 72 + data.setEstimatedLoss(vo.getEstimatedLoss());
  73 + data.setItemId(vo.getItemId());
73 74
74 getBaseMapper().insert(data); 75 getBaseMapper().insert(data);
75 76
@@ -99,6 +100,7 @@ public class SalesmanQuotationLineServiceImpl @@ -99,6 +100,7 @@ public class SalesmanQuotationLineServiceImpl
99 .set(SalesmanQuotationLine::getQuantity, vo.getQuantity()) 100 .set(SalesmanQuotationLine::getQuantity, vo.getQuantity())
100 .set(SalesmanQuotationLine::getPurchasePrice, vo.getPurchasePrice()) 101 .set(SalesmanQuotationLine::getPurchasePrice, vo.getPurchasePrice())
101 .set(SalesmanQuotationLine::getApplicationAttrition, vo.getApplicationAttrition()) 102 .set(SalesmanQuotationLine::getApplicationAttrition, vo.getApplicationAttrition())
  103 + .set(SalesmanQuotationLine::getEstimatedLoss, vo.getEstimatedLoss())
102 .set(SalesmanQuotationLine::getItemId, StringUtils.defaultIfBlank(vo.getItemId(), data.getItemId())) 104 .set(SalesmanQuotationLine::getItemId, StringUtils.defaultIfBlank(vo.getItemId(), data.getItemId()))
103 .eq(SalesmanQuotationLine::getId, vo.getId()); 105 .eq(SalesmanQuotationLine::getId, vo.getId());
104 106
@@ -362,13 +362,10 @@ public class SalesmanQuotationServiceImpl @@ -362,13 +362,10 @@ public class SalesmanQuotationServiceImpl
362 createLineVo.setQuantity(lineVo.getQuantity()); 362 createLineVo.setQuantity(lineVo.getQuantity());
363 createLineVo.setPurchasePrice(lineVo.getPurchasePrice()); 363 createLineVo.setPurchasePrice(lineVo.getPurchasePrice());
364 createLineVo.setApplicationAttrition(lineVo.getApplicationAttrition()); 364 createLineVo.setApplicationAttrition(lineVo.getApplicationAttrition());
  365 + createLineVo.setEstimatedLoss(lineVo.getEstimatedLoss());
365 createLineVo.setItemId(lineVo.getItemId()); 366 createLineVo.setItemId(lineVo.getItemId());
366 - String lineId = salesmanQuotationLineService.create(createLineVo);  
367 367
368 - BreedRelationship breedRelationship = breedMap.get(lineVo.getProductId());  
369 - BigDecimal estimatedLoss = calculateEstimatedLoss(lineVo.getPurchasePrice(),  
370 - lineVo.getApplicationAttrition(), breedRelationship.getAttritionRate(), priced);  
371 - updateLineEstimatedLoss(lineId, estimatedLoss); 368 + salesmanQuotationLineService.create(createLineVo);
372 } 369 }
373 } 370 }
374 371
@@ -391,10 +388,6 @@ public class SalesmanQuotationServiceImpl @@ -391,10 +388,6 @@ public class SalesmanQuotationServiceImpl
391 388
392 List<String> existIdList = new ArrayList<>(); 389 List<String> existIdList = new ArrayList<>();
393 for (UpdateSalesmanQuotationLineVo lineVo : lineList) { 390 for (UpdateSalesmanQuotationLineVo lineVo : lineList) {
394 - BreedRelationship breedRelationship = breedMap.get(lineVo.getProductId());  
395 - BigDecimal estimatedLoss = calculateEstimatedLoss(lineVo.getPurchasePrice(),  
396 - lineVo.getApplicationAttrition(), breedRelationship.getAttritionRate(), priced);  
397 -  
398 if (StringUtils.isNotBlank(lineVo.getId())) { 391 if (StringUtils.isNotBlank(lineVo.getId())) {
399 SalesmanQuotationLine oldLine = oldLineMap.get(lineVo.getId()); 392 SalesmanQuotationLine oldLine = oldLineMap.get(lineVo.getId());
400 if (oldLine == null) { 393 if (oldLine == null) {
@@ -407,7 +400,6 @@ public class SalesmanQuotationServiceImpl @@ -407,7 +400,6 @@ public class SalesmanQuotationServiceImpl
407 lineVo.setItemId(oldLine.getItemId()); 400 lineVo.setItemId(oldLine.getItemId());
408 } 401 }
409 salesmanQuotationLineService.update(lineVo); 402 salesmanQuotationLineService.update(lineVo);
410 - updateLineEstimatedLoss(lineVo.getId(), estimatedLoss);  
411 } else { 403 } else {
412 CreateSalesmanQuotationLineVo createLineVo = new CreateSalesmanQuotationLineVo(); 404 CreateSalesmanQuotationLineVo createLineVo = new CreateSalesmanQuotationLineVo();
413 createLineVo.setQuotationId(quotationId); 405 createLineVo.setQuotationId(quotationId);
@@ -416,9 +408,10 @@ public class SalesmanQuotationServiceImpl @@ -416,9 +408,10 @@ public class SalesmanQuotationServiceImpl
416 createLineVo.setQuantity(lineVo.getQuantity()); 408 createLineVo.setQuantity(lineVo.getQuantity());
417 createLineVo.setPurchasePrice(lineVo.getPurchasePrice()); 409 createLineVo.setPurchasePrice(lineVo.getPurchasePrice());
418 createLineVo.setApplicationAttrition(lineVo.getApplicationAttrition()); 410 createLineVo.setApplicationAttrition(lineVo.getApplicationAttrition());
419 - createLineVo.setItemId(StringUtils.defaultIfBlank(lineVo.getItemId(), IdUtil.getId())); 411 + createLineVo.setEstimatedLoss(lineVo.getEstimatedLoss());
  412 + createLineVo.setItemId(lineVo.getItemId());
420 String lineId = salesmanQuotationLineService.create(createLineVo); 413 String lineId = salesmanQuotationLineService.create(createLineVo);
421 - updateLineEstimatedLoss(lineId, estimatedLoss); 414 +
422 existIdList.add(lineId); 415 existIdList.add(lineId);
423 } 416 }
424 } 417 }
@@ -434,19 +427,6 @@ public class SalesmanQuotationServiceImpl @@ -434,19 +427,6 @@ public class SalesmanQuotationServiceImpl
434 } 427 }
435 428
436 /** 429 /**
437 - * 更新预计损耗  
438 - *  
439 - * @param lineId 明细ID  
440 - * @param estimatedLoss 预计损耗  
441 - */  
442 - private void updateLineEstimatedLoss(String lineId, BigDecimal estimatedLoss) {  
443 - SalesmanQuotationLine updateLine = new SalesmanQuotationLine();  
444 - updateLine.setId(lineId);  
445 - updateLine.setEstimatedLoss(estimatedLoss);  
446 - salesmanQuotationLineService.updateById(updateLine);  
447 - }  
448 -  
449 - /**  
450 * 计算数量合计 430 * 计算数量合计
451 * 431 *
452 * @param lineList 明细列表 432 * @param lineList 明细列表
@@ -461,30 +441,6 @@ public class SalesmanQuotationServiceImpl @@ -461,30 +441,6 @@ public class SalesmanQuotationServiceImpl
461 } 441 }
462 442
463 /** 443 /**
464 - * 计算预计损耗  
465 - *  
466 - * @param purchasePrice 采购价  
467 - * @param applicationAttrition 申请损耗  
468 - * @param fixedAttrition 固定损耗率  
469 - * @param priced 是否为点价  
470 - * @return 预计损耗  
471 - */  
472 - private BigDecimal calculateEstimatedLoss(BigDecimal purchasePrice, BigDecimal applicationAttrition,  
473 - BigDecimal fixedAttrition, Boolean priced) {  
474 - if (!Boolean.TRUE.equals(priced) || purchasePrice == null) {  
475 - return null;  
476 - }  
477 -  
478 - BigDecimal useRate = applicationAttrition != null ? applicationAttrition : fixedAttrition;  
479 - if (useRate == null) {  
480 - return null;  
481 - }  
482 -  
483 - return purchasePrice.multiply(useRate)  
484 - .divide(new BigDecimal("100"), 10, RoundingMode.HALF_UP);  
485 - }  
486 -  
487 - /**  
488 * 查询必填品种映射 444 * 查询必填品种映射
489 * 445 *
490 * @param productIds 品种ID集合 446 * @param productIds 品种ID集合
@@ -61,6 +61,13 @@ public class CreateSalesmanQuotationLineVo implements BaseVo, Serializable { @@ -61,6 +61,13 @@ public class CreateSalesmanQuotationLineVo implements BaseVo, Serializable {
61 private BigDecimal applicationAttrition; 61 private BigDecimal applicationAttrition;
62 62
63 /** 63 /**
  64 + * 买断料预计损耗
  65 + */
  66 + @ApiModelProperty("买断料预计损耗")
  67 + @Digits(integer = 8, fraction = 10, message = "买断料预计损耗最多支持8位整数和10位小数!")
  68 + private BigDecimal estimatedLoss;
  69 +
  70 + /**
64 * 前端行标识 71 * 前端行标识
65 */ 72 */
66 @ApiModelProperty("前端行标识") 73 @ApiModelProperty("前端行标识")