فهرست منبع

郑多燕商城订单维度统计修改

wjj 1 هفته پیش
والد
کامیت
46975c7cdb

+ 8 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -22,6 +22,7 @@ import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.company.param.CompanyStoreOrderMoneyLogsListParam;
 import com.fs.company.service.ICompanyMoneyLogsService;
 import com.fs.company.vo.CompanyStoreOrderMoneyLogsVO;
+import com.fs.config.cloud.CloudHostProper;
 import com.fs.erp.domain.ErpDeliverys;
 import com.fs.erp.domain.ErpOrderQuery;
 import com.fs.erp.dto.ErpOrderQueryRequert;
@@ -101,6 +102,9 @@ public class FsStoreOrderScrmController extends BaseController {
     @Autowired
     IFsStorePaymentScrmService paymentService;
 
+    @Autowired
+    private CloudHostProper cloudHostProper;
+
     @Autowired
     private ICompanyMoneyLogsService moneyLogsService;
     @Autowired
@@ -902,6 +906,10 @@ public class FsStoreOrderScrmController extends BaseController {
      * **/
     @GetMapping("/orderDimensionStatisticsList")
     public TableDataInfo orderDimensionStatisticsList(OrderStatisticsParam param){
+        // 郑多燕需求
+        if("广州郑多燕".equals(cloudHostProper.getCompanyName())){
+            return getDataTable(fsStoreOrderService.selectZDYOrderSaleStatisticsList(param));
+        }
         return getDataTable(fsStoreOrderService.selectOrderDimensionStatisticsList(param));
     }
 

+ 7 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreOrderScrmMapper.java

@@ -1088,6 +1088,13 @@ public interface FsStoreOrderScrmMapper
      * **/
     List<OrderStatisticsVo> selectOrderSaleStatisticsList(@Param("param") OrderStatisticsParam param);
 
+    /**
+     * 郑多燕订单销售维度分页查询接口
+     * @param param 查询条件
+     * @return List<OrderStatisticsVo>
+     * **/
+    List<OrderStatisticsVo> selectZDYOrderSaleStatisticsList(@Param("param") OrderStatisticsParam param);
+
     List<FsStoreOrderCountsVO> selectFsStoreOrderCountsByDept(Map<String, Object> map);
 
     List<FsStoreOrderScrm> computePayMoney(@Param("customerIds")List<Long> customerIds);

+ 2 - 1
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreOrderScrmService.java

@@ -12,7 +12,6 @@ import com.fs.common.core.domain.R;
 import com.fs.company.domain.CompanyUser;
 import com.fs.course.dto.FsOrderDeliveryNoteDTO;
 import com.fs.erp.domain.ErpOrder;
-import com.fs.his.domain.FsStorePayment;
 import com.fs.his.dto.FsStoreOrderAmountScrmStatsQueryDto;
 import com.fs.his.param.FsStoreOrderSalesParam;
 import com.fs.his.vo.FsStoreOrderAmountScrmStatsVo;
@@ -251,6 +250,8 @@ public interface IFsStoreOrderScrmService
      * **/
     List<OrderStatisticsVo> selectOrderDimensionStatisticsList(OrderStatisticsParam param);
 
+    List<OrderStatisticsVo> selectZDYOrderSaleStatisticsList(OrderStatisticsParam param);
+
     List<FsStoreOrderCountsVO> selectFsStoreOrderCountsByDept(Map<String, Object> map,Long deptId);
 
     R updateSalesOrderMoneyByProduct(FsStoreOrderMoneyByProductParam param);

+ 5 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -3621,6 +3621,11 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
 //        }
     }
 
+    @Override
+    public List<OrderStatisticsVo> selectZDYOrderSaleStatisticsList(OrderStatisticsParam param) {
+        return fsStoreOrderMapper.selectZDYOrderSaleStatisticsList(param);
+    }
+
     @Override
     public List<FsStoreOrderCountsVO> selectFsStoreOrderCountsByDept(Map<String, Object> map, Long deptId) {
         List<FsStoreOrderCountsVO> vos = fsStoreOrderMapper.selectFsStoreOrderCountsByDept(map);

+ 113 - 0
fs-service/src/main/resources/mapper/hisStore/FsStoreOrderScrmMapper.xml

@@ -785,6 +785,119 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ) a ORDER BY
         a.company_id DESC,a.totalNum DESC
     </select>
+
+
+    <select id="selectZDYOrderSaleStatisticsList" resultType="com.fs.hisStore.vo.OrderStatisticsVo">
+        SELECT * FROM (  SELECT
+        cu.user_id,
+        cu.user_name,
+        cu.nick_name,
+        c.company_name,
+        c.company_id,
+        SUM(fso.`status` > 0) AS totalNum,
+        SUM(
+        CASE
+        WHEN fso.`status` > 0 THEN
+        fso.pay_delivery + fso.pay_money
+        ELSE
+        0
+        END
+        ) totalPrice,
+        SUM(fso.`status` > 0) AS dealNum,
+        SUM(
+        CASE
+        WHEN fso.`status` > 0 THEN
+        fso.pay_money
+        ELSE
+        0
+        END
+        ) AS dealPrice,
+        SUM(
+        CASE
+        WHEN fso.`status` > 0
+        THEN
+        fso.pay_delivery
+        ELSE
+        0
+        END
+        ) AS invoicePrice,
+        IFNULL(
+        SUM(
+        fso.`status` = 3
+        ),
+        0
+        ) AS signForNum,
+        SUM(
+        CASE
+        WHEN fso.`status` = 3
+        THEN
+        fso.pay_delivery + fso.pay_money
+        ELSE
+        0
+        END
+        ) AS signFPrice,
+        SUM(
+        fso.`status` = -2
+        ) AS chargebackNum,
+        SUM(
+        CASE
+        WHEN fso.`status` = -2
+        THEN
+        fso.pay_money
+        ELSE
+        0
+        END
+        ) AS chargebackPrice
+        FROM
+        company_user cu
+        INNER JOIN company c ON cu.company_id = c.company_id
+        LEFT JOIN fs_store_order_scrm fso ON cu.user_id = fso.company_user_id
+        INNER JOIN fs_store_order_item_scrm fsoi ON fso.id = fsoi.order_id
+        INNER JOIN fs_store_product_scrm fsp ON fsoi.product_id = fsp.product_id
+        INNER JOIN fs_store_product_category_scrm fspc ON fspc.cate_id = fsp.cate_id
+        WHERE
+        fso.is_del = '0'
+        AND fso.`status` != 0
+        <if test="param.companyId != null and param.companyId != ''">
+            AND  c.company_id = #{param.companyId}
+        </if>
+
+        <if test="param.userName != null and param.userName != ''">
+            AND cu.user_name Like CONCAT('%',#{param.userName},'%')
+        </if>
+
+        <if test="param.companyUser != null and param.companyUser != ''">
+            AND cu.nick_name Like CONCAT('%',#{param.companyUser},'%')
+        </if>
+
+        <if test="param.productId != null and param.productId != ''">
+            AND fsp.product_id = #{param.productId}
+        </if>
+
+        <if test="param.productName != null and param.productName != ''">
+            AND fsp.product_name Like CONCAT('%',#{param.productName},'%')
+        </if>
+
+        <if test="param.cateName != null and param.cateName != ''">
+            AND fspc.cate_name Like CONCAT('%',#{param.cateName},'%')
+        </if>
+
+        <if test="param.cateId != null and param.cateId != ''">
+            AND fspc.cate_id = #{param.cateId}
+        </if>
+
+        <if test="param.startDate != null">
+            AND DATE_FORMAT(fso.pay_time,'%Y-%m') >= DATE_FORMAT(#{param.startDate},'%Y-%m')
+        </if>
+
+        <if test="param.endDate != null">
+            AND DATE_FORMAT(fso.pay_time,'%Y-%m') &lt;= DATE_FORMAT(#{param.endDate},'%Y-%m')
+        </if>
+        GROUP BY
+        cu.user_id
+        ) a ORDER BY
+        a.company_id DESC,a.totalNum DESC
+    </select>
     <select id="selectFsStoreOrderCountsByDept" resultType="com.fs.hisStore.vo.FsStoreOrderCountsVO">
         SELECT
         o.dept_id,