24282 1 年間 前
コミット
42b0bb8170

+ 6 - 0
sd-business/src/main/java/com/sd/business/entity/order/po/OrderInfo.java

@@ -171,6 +171,12 @@ public class OrderInfo extends BasePo {
     private BigDecimal packingLabor;
 
     /**
+     * 管理费
+     */
+    @NotNull(message = "管理费不能为空")
+    private BigDecimal managementFee;
+
+    /**
      * 包材费
      */
     @NotNull(message = "包材费不能为空")

+ 6 - 0
sd-business/src/main/java/com/sd/business/entity/order/po/OrderSku.java

@@ -107,6 +107,12 @@ public class OrderSku extends BasePo {
     private BigDecimal packingLabor;
 
     /**
+     * 管理费
+     */
+    @NotNull(message = "管理费不能为空")
+    private BigDecimal managementFee;
+
+    /**
      * 包材费
      */
     @NotNull(message = "包材费不能为空")

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/order/vo/SkuSpecPriceVo.java

@@ -35,6 +35,11 @@ public class SkuSpecPriceVo {
     private BigDecimal packingLabor;
 
     /**
+     * 管理费
+     */
+    private BigDecimal managementFee;
+
+    /**
      * 单价
      */
     private BigDecimal unitPrice;

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/sku/dto/GetReplaceMaterialListDto.java

@@ -40,4 +40,9 @@ public class GetReplaceMaterialListDto extends BaseSelectDto {
      */
     private BigDecimal height;
 
+    /**
+     * 类型 0非集团SKU 1集团SKU
+     */
+    private Integer type;
+
 }

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/statement/bo/ExportDocumentByOrderBo.java

@@ -107,4 +107,9 @@ public class ExportDocumentByOrderBo {
      */
     private BigDecimal packingLaborSummary;
 
+    /**
+     * 管理费
+     */
+    private BigDecimal managementFeeSummary;
+
 }

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/statement/vo/DocumentByBomVo.java

@@ -62,6 +62,11 @@ public class DocumentByBomVo {
     private BigDecimal packingLaborSummary;
 
     /**
+     * 管理费汇总
+     */
+    private BigDecimal managementFeeSummary;
+
+    /**
      * 小计
      */
     private BigDecimal subtotal;

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/statement/vo/DocumentByOrderVo.java

@@ -160,6 +160,11 @@ public class DocumentByOrderVo {
          */
         private BigDecimal packingLaborSummary;
 
+        /**
+         * 管理费
+         */
+        private BigDecimal managementFeeSummary;
+
     }
 
 }

+ 4 - 0
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -331,6 +331,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         skuSpecPriceVo.setLssueFee(BigDecimal.ZERO);
         skuSpecPriceVo.setDeliveryMaterialsFee(BigDecimal.ZERO);
         skuSpecPriceVo.setPackingLabor(BigDecimal.ZERO);
+        skuSpecPriceVo.setManagementFee(BigDecimal.ZERO);
 
         for (PriceBillingStandardDetail priceBillingStandardDetail : priceBillingStandardDetailList) {
             String chargeItem = priceBillingStandardDetail.getChargeItem();
@@ -345,6 +346,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
                 case "60":
                     skuSpecPriceVo.setDeliveryMaterialsFee(chargePrice);
                     break;
+                case "70":
+                    skuSpecPriceVo.setManagementFee(chargePrice);
+                    break;
                 default:
                     if (Objects.equals(chargeItem, skuSpec.getMachinedPanel())
                             && dto.getQuantity().compareTo(priceBillingStandardDetail.getSectionMin()) >= 0

+ 5 - 0
sd-business/src/main/java/com/sd/business/service/sku/impl/SkuServiceImpl.java

@@ -447,13 +447,18 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuSe
     }
 
     private IWrapper<Object> getReplaceWrapper(GetReplaceMaterialListDto dto) {
+
+        Assert.notNull(dto.getType(), "sku类型不能为空");
+
         return IWrapper.getWrapper()
                 .eq("s", Sku::getCode, dto.getSkuCode())
+                .eq("s", Sku::getType, dto.getType())
                 .eq("ss", SkuSpec::getCode, dto.getSkuSpecCode())
                 .eq("bs", BomSpec::getCode, dto.getBomSpecCode())
                 .eq("ss", SkuSpec::getLength, dto.getLength())
                 .eq("ss", SkuSpec::getWidth, dto.getWidth())
                 .eq("ss", SkuSpec::getHeight, dto.getHeight());
+
     }
 
     /**

+ 2 - 0
sd-business/src/main/java/com/sd/business/service/statement/impl/StatementOfAccountExportServiceImpl.java

@@ -59,6 +59,7 @@ public class StatementOfAccountExportServiceImpl implements StatementOfAccountEx
         map.put("totalLssueFeeSummary", StreamUtil.bigDecimalAdd(list, DocumentByBomVo::getLssueFeeSummary));
         map.put("totalDeliveryMaterialsFeeSummary", StreamUtil.bigDecimalAdd(list, DocumentByBomVo::getDeliveryMaterialsFeeSummary));
         map.put("totalPackingLaborSummary", StreamUtil.bigDecimalAdd(list, DocumentByBomVo::getPackingLaborSummary));
+        map.put("totalManagementFeeSummary", StreamUtil.bigDecimalAdd(list, DocumentByBomVo::getManagementFeeSummary));
 
         TemplateExcelUtil.writeBrowser("bomDocument.xlsx", "bom对账单", response, list, map);
     }
@@ -95,6 +96,7 @@ public class StatementOfAccountExportServiceImpl implements StatementOfAccountEx
                             .lssueFeeSummary(bomSpec.getLssueFeeSummary())
                             .deliveryMaterialsFeeSummary(bomSpec.getDeliveryMaterialsFeeSummary())
                             .packingLaborSummary(bomSpec.getPackingLaborSummary())
+                            .managementFeeSummary(bomSpec.getManagementFeeSummary())
                             .build();
                     exportDocumentByOrderBos.add(exportDocumentByOrderBo);
                 }

+ 6 - 1
sd-business/src/main/java/com/sd/business/service/statement/impl/StatementOfAccountServiceImpl.java

@@ -292,13 +292,16 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                         .lssueFeeSummary(item.getLssueFee().multiply(item.getQuantity()))
                         .deliveryMaterialsFeeSummary(item.getDeliveryMaterialsFee().multiply(item.getQuantity()))
                         .packingLaborSummary(item.getPackingLabor().multiply(item.getQuantity()))
+                        .managementFeeSummary(item.getManagementFee().multiply(item.getManagementFee()))
                         .build())
                 .peek(item -> item.setSubtotal(item.getUnitPrice().multiply(item.getQuantity())
                         .add(item.getLaserLogoSummary())
                         .add(item.getLaserMitochondrialSummary())
                         .add(item.getLssueFeeSummary())
                         .add(item.getDeliveryMaterialsFeeSummary())
-                        .add(item.getPackingLaborSummary())))
+                        .add(item.getPackingLaborSummary())
+                        .add(item.getManagementFeeSummary())
+                ))
                 .peek(item -> item.setTotal(item.getSubtotal()))
                 .collect(Collectors.toList());
 
@@ -321,6 +324,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                             v1.setLssueFeeSummary(v1.getLssueFeeSummary().add(v2.getLssueFeeSummary()));
                             v1.setDeliveryMaterialsFeeSummary(v1.getDeliveryMaterialsFeeSummary().add(v2.getDeliveryMaterialsFeeSummary()));
                             v1.setPackingLaborSummary(v1.getPackingLaborSummary().add(v2.getPackingLaborSummary()));
+                            v1.setManagementFeeSummary(v1.getManagementFeeSummary().add(v2.getManagementFeeSummary()));
                             v1.setSubtotal(v1.getSubtotal().add(v2.getSubtotal()));
                             v1.setTotal(v1.getSubtotal());
                             return v1;
@@ -502,6 +506,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                         .lssueFeeSummary(item.getLssueFee())
                         .deliveryMaterialsFeeSummary(item.getDeliveryMaterialsFee())
                         .packingLaborSummary(item.getPackingLabor())
+                        .managementFeeSummary(item.getManagementFee())
                         .build())
                 .collect(Collectors.toList());
 

+ 1 - 0
sd-business/src/main/resources/mapper/order/OrderMapper.xml

@@ -27,6 +27,7 @@
                o.lssue_fee,
                o.delivery_materials_fee,
                o.packing_labor,
+               o.management_fee,
                o.packaging_material_cost,
                o.tax_rate,
                o.shipping_time,

BIN
sd-starter/src/main/resources/template/bomDocument.xlsx


BIN
sd-starter/src/main/resources/template/orderDocument.xlsx


+ 9 - 1
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -170,6 +170,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
         orderInfo.setLssueFee(BigDecimal.ZERO);
         orderInfo.setDeliveryMaterialsFee(BigDecimal.ZERO);
         orderInfo.setPackingLabor(BigDecimal.ZERO);
+        orderInfo.setManagementFee(BigDecimal.ZERO);
         orderInfo.setPackagingMaterialCost(BigDecimal.ZERO);
 
         // 赋值订单异常类型
@@ -410,6 +411,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
         orderSku.setLssueFee(BigDecimal.ZERO);
         orderSku.setDeliveryMaterialsFee(BigDecimal.ZERO);
         orderSku.setPackingLabor(BigDecimal.ZERO);
+        orderSku.setManagementFee(BigDecimal.ZERO);
         orderSku.setPackagingMaterialCost(BigDecimal.ZERO);
 
         if (skuSpec != null) {
@@ -464,6 +466,9 @@ public class WlnOrderServiceImpl implements WlnOrderService {
                 case "60":
                     orderSku.setDeliveryMaterialsFee(chargePrice);
                     break;
+                case "70":
+                    orderSku.setManagementFee(chargePrice);
+                    break;
                 default:
                     if (Objects.equals(chargeItem, skuSpec.getMachinedPanel())
                             && orderSku.getQuantity().compareTo(priceBillingStandardDetail.getSectionMin()) >= 0
@@ -487,18 +492,21 @@ public class WlnOrderServiceImpl implements WlnOrderService {
         BigDecimal deliveryMaterialsFee = quantity.multiply(orderSku.getDeliveryMaterialsFee());
         BigDecimal packingLabor = quantity.multiply(orderSku.getPackingLabor());
         BigDecimal packagingMaterialCost = quantity.multiply(orderSku.getPackagingMaterialCost());
+        BigDecimal managementFee = quantity.multiply(orderSku.getManagementFee());
         BigDecimal totalAmount = productTotalAmount
                 .add(customProcessingFee)
                 .add(lssueFee)
                 .add(deliveryMaterialsFee)
                 .add(packingLabor)
-                .add(packagingMaterialCost);
+                .add(packagingMaterialCost)
+                .add(managementFee);
 
         orderInfo.setProductTotalAmount(orderInfo.getProductTotalAmount().add(productTotalAmount));
         orderInfo.setCustomProcessingFee(orderInfo.getCustomProcessingFee().add(customProcessingFee));
         orderInfo.setLssueFee(orderInfo.getLssueFee().add(lssueFee));
         orderInfo.setDeliveryMaterialsFee(orderInfo.getDeliveryMaterialsFee().add(deliveryMaterialsFee));
         orderInfo.setPackingLabor(orderInfo.getPackingLabor().add(packingLabor));
+        orderInfo.setManagementFee(orderInfo.getManagementFee().add(managementFee));
         orderInfo.setPackagingMaterialCost(orderInfo.getPackagingMaterialCost().add(packagingMaterialCost));
         orderInfo.setTotalAmount(orderInfo.getTotalAmount().add(totalAmount));
     }