Commit 3182e5d7598e49b3a7a9873f67ec6446bd5d0b29

Authored by 谢茂盛
1 parent 90083703

fix: 补齐利润分析字段

sql/table.sql
... ... @@ -39,10 +39,13 @@ CREATE TABLE `order_profit_analysis` (
39 39 `order_id` bigint NOT NULL COMMENT '订单id',
40 40 `customer_price` DOUBLE DEFAULT 0 COMMENT '客户单价$',
41 41 `customer_total_price` DOUBLE DEFAULT 0 COMMENT '客户总价$',
  42 + `customer_currency` varchar(32) DEFAULT NULL COMMENT '客户价格货币',
42 43 `production_department_price` DOUBLE DEFAULT 0 COMMENT '生成科单价¥',
43 44 `production_department_total_price` DOUBLE DEFAULT 0 COMMENT '生成科总价¥',
  45 + `production_department_currency` varchar(32) DEFAULT NULL COMMENT '生成科货币',
44 46 `packet_price` DOUBLE DEFAULT 0 COMMENT '包装费用¥',
45 47 `packet_total_price` DOUBLE DEFAULT 0 COMMENT '包装费用合计¥',
  48 + `packet_currency` varchar(32) DEFAULT NULL COMMENT '包装费货币',
46 49 `exchange_rate` DOUBLE DEFAULT 0 COMMENT '汇率',
47 50 `profit_rate` DOUBLE DEFAULT 0 COMMENT '利润率',
48 51 `order_status` INT NOT NULL COMMENT '订单状态',
... ...
src/main/java/com/order/erp/domain/dto/order/OrderProfitAnalysisDO.java
... ... @@ -36,6 +36,12 @@ public class OrderProfitAnalysisDO extends BaseDO implements Serializable {
36 36 * 客户总价$
37 37 */
38 38 private Double customerTotalPrice;
  39 +
  40 + /**
  41 + * 客户价格货币
  42 + */
  43 + private String customerCurrency;
  44 +
39 45 /**
40 46 * 生成科单价¥
41 47 */
... ... @@ -44,6 +50,12 @@ public class OrderProfitAnalysisDO extends BaseDO implements Serializable {
44 50 * 生成科总价¥
45 51 */
46 52 private Double productionDepartmentTotalPrice;
  53 +
  54 + /**
  55 + * 生成科货币
  56 + */
  57 + private String productionDepartmentCurrency;
  58 +
47 59 /**
48 60 * 包装费用¥
49 61 */
... ... @@ -52,6 +64,12 @@ public class OrderProfitAnalysisDO extends BaseDO implements Serializable {
52 64 * 包装费用合计¥
53 65 */
54 66 private Double packetTotalPrice;
  67 +
  68 + /**
  69 + * 包装费货币
  70 + */
  71 + private String packetCurrency;
  72 +
55 73 /**
56 74 * 汇率
57 75 */
... ...
src/main/java/com/order/erp/domain/vo/order/OrderProfitAnalysisVO.java
... ... @@ -33,6 +33,12 @@ public class OrderProfitAnalysisVO implements Serializable {
33 33 * 客户总价$
34 34 */
35 35 private Double customerTotalPrice;
  36 +
  37 + /**
  38 + * 客户价格货币
  39 + */
  40 + private String customerCurrency;
  41 +
36 42 /**
37 43 * 生成科单价¥
38 44 */
... ... @@ -41,6 +47,12 @@ public class OrderProfitAnalysisVO implements Serializable {
41 47 * 生成科总价¥
42 48 */
43 49 private Double productionDepartmentTotalPrice;
  50 +
  51 + /**
  52 + * 生成科货币
  53 + */
  54 + private String productionDepartmentCurrency;
  55 +
44 56 /**
45 57 * 包装费用¥
46 58 */
... ... @@ -49,6 +61,12 @@ public class OrderProfitAnalysisVO implements Serializable {
49 61 * 包装费用合计¥
50 62 */
51 63 private Double packetTotalPrice;
  64 +
  65 + /**
  66 + * 包装费货币
  67 + */
  68 + private String packetCurrency;
  69 +
52 70 /**
53 71 * 汇率
54 72 */
... ...
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
... ... @@ -546,11 +546,17 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
546 546 BeanUtils.copyProperties(profitAnalysisVO, profitAnalysisDO);
547 547 profitAnalysisDO.setOrderId(baseInfoDO.getId());
548 548 profitAnalysisDO.setOrderStatus(OrderStatusEnum.PROFIT_WAIT_AUDIT.getStatus());
549   - profitAnalysisDO.setProfitRate(ProfitUtils.calculateProfitRate(ProfitCalculateVO.builder()
550   - .customerTotalPrice(profitAnalysisDO.getCustomerTotalPrice())
551   - .exchangeRate(profitAnalysisDO.getExchangeRate())
552   - .packetTotalPrice(profitAnalysisDO.getPacketTotalPrice())
553   - .productionDepartmentTotalPrice(profitAnalysisDO.getProductionDepartmentTotalPrice()).build()));
  549 + if (Objects.nonNull(profitAnalysisDO.getCustomerTotalPrice())
  550 + && Objects.nonNull(profitAnalysisDO.getExchangeRate())
  551 + && Objects.nonNull(profitAnalysisDO.getPacketTotalPrice())
  552 + && Objects.nonNull(profitAnalysisDO.getProductionDepartmentTotalPrice())) {
  553 + profitAnalysisDO.setProfitRate(ProfitUtils.calculateProfitRate(ProfitCalculateVO.builder()
  554 + .customerTotalPrice(profitAnalysisDO.getCustomerTotalPrice())
  555 + .exchangeRate(profitAnalysisDO.getExchangeRate())
  556 + .packetTotalPrice(profitAnalysisDO.getPacketTotalPrice())
  557 + .productionDepartmentTotalPrice(profitAnalysisDO.getProductionDepartmentTotalPrice()).build()));
  558 + }
  559 +
554 560 profitAnalysisService.save(profitAnalysisDO);
555 561 }
556 562  
... ...