ソースを参照

添加了产品看板

wxf 2 年 前
コミット
a61d40d09e

+ 9 - 1
hx-sale/src/main/java/com/fjhx/sale/controller/contract/ContractController.java

@@ -139,10 +139,18 @@ public class ContractController {
     }
 
     /**
-     * 产品销售统计(数据看板-销售分析页面开发)
+     * 产品销售统计(数据看板-销售分析页面开发)
      */
     @PostMapping("/productSalesStatistics")
     public  List<ContractDto>  productSalesStatistics(@RequestBody ContractDto dto) {
         return contractService.productSalesStatistics(dto);
     }
+
+    /**
+     * 产品销售量统计(数据看板-销售分析页面开发)
+     */
+    @PostMapping("/salesVolumeStatistics")
+    public  List<ContractDto>  salesVolumeStatistics(@RequestBody ContractDto dto) {
+        return contractService.salesVolumeStatistics(dto);
+    }
 }

+ 7 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/dto/ContractDto.java

@@ -4,6 +4,8 @@ import com.fjhx.sale.entity.contract.po.Contract;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 外销合同表新增编辑入参实体
  *
@@ -42,4 +44,9 @@ public class ContractDto extends Contract {
      * 产品名称
      */
     private String productName;
+
+    /**
+     * 外销数量
+     */
+    private BigDecimal quantity;
 }

+ 2 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/contract/ContractMapper.java

@@ -76,4 +76,6 @@ public interface ContractMapper extends BaseMapper<Contract> {
      * 产品销售统计(数据看板-销售分析页面开发)
      */
     List<ContractDto> productSalesStatistics(@Param("ew") QueryWrapper<Object> query);
+
+    List<ContractDto> salesVolumeStatistics(@Param("ew") QueryWrapper<Object> query);
 }

+ 2 - 2
hx-sale/src/main/java/com/fjhx/sale/service/commission/impl/CommissionServiceImpl.java

@@ -114,13 +114,13 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
                 .setScale(2,BigDecimal.ROUND_HALF_UP));
 
         //计算公共金额:到账金额 * 公共占比
-        commissionDto.setPublicAmount(commissionDto.getPublicAmount()
+        commissionDto.setPublicAmount(commissionDto.getContractArrival()
                 .multiply(commissionRule.getPublicRatio())
                 .divide(new BigDecimal(100))
                 .setScale(2,BigDecimal.ROUND_HALF_UP));
 
         //计算总办金额:到账金额 * 总办占比
-        commissionDto.setHaveOverallAmount(commissionDto.getPublicAmount()
+        commissionDto.setHaveOverallAmount(commissionDto.getContractArrival()
                 .multiply(commissionRule.getHaveOverallRatio())
                 .divide(new BigDecimal(100))
                 .setScale(2,BigDecimal.ROUND_HALF_UP));

+ 4 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/ContractService.java

@@ -121,4 +121,8 @@ public interface ContractService extends BaseService<Contract> {
     List<ContractDto> productSalesStatistics(ContractDto dto);
 
 
+    /**
+     * 产品销售量统计(数据看板-销售分析页面开发)
+     */
+    List<ContractDto> salesVolumeStatistics(ContractDto dto);
 }

+ 14 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -384,6 +384,20 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         return contractDtoList;
     }
 
+    /**
+     * 产品销售量统计(数据看板-销售分析页面开发)
+     */
+    @Override
+    public List<ContractDto> salesVolumeStatistics(ContractDto dto) {
+        QueryWrapper<Object> query = Wrappers.query();
+        query.ge("DATE_FORMAT(cp.create_time,'%Y-%m')",dto.getBeginTime());
+        query.le("DATE_FORMAT(cp.create_time,'%Y-%m')",dto.getEndTime());
+        query.groupBy("cp.product_id");
+        query.orderByDesc("quantity");
+        //查询销售商品统计信息
+        List<ContractDto> contractDtoList =  baseMapper.salesVolumeStatistics(query);
+        return contractDtoList;
+    }
 
 
     /**

+ 10 - 0
hx-sale/src/main/resources/mapper/contract/ContractMapper.xml

@@ -111,6 +111,16 @@
                 LEFT JOIN bytesailing_item.product_info pi ON cp.product_id = pi.id
             ${ew.customSqlSegment}
     </select>
+    <select id="salesVolumeStatistics" resultType="com.fjhx.sale.entity.contract.dto.ContractDto">
+
+        SELECT
+            SUM(cp.quantity) quantity,
+            pi.name productName
+        FROM
+            contract_product cp
+                LEFT JOIN bytesailing_item.product_info pi ON cp.product_id = pi.id
+            ${ew.customSqlSegment}
+    </select>
 
 
 </mapper>