wangxiaoming 5 лет назад
Родитель
Сommit
50dd72c912

+ 57 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DmDealer.java

@@ -1,5 +1,8 @@
 package com.iamberry.rst.core.dm;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Date;
@@ -45,8 +48,22 @@ public class DmDealer  implements  Serializable{
     private Date coopAgreeBeforeDate;
     //合同结束日期
     private Date coopAgreeEndDate;
+    //店铺id
+    private Integer storeId;
     //店铺名称
     private String storeName;
+    //渠道名称
+    private String dealChannelName;
+    //订单总额
+    private Integer itemTotal;
+    //已认领金额
+    private Integer claimOrderTotal;
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date startDate;                 //开始时间
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date endDate;                   //结束时间
 
     //对接人
     private List<DealerContact> dealerContactList = new ArrayList<>();
@@ -224,4 +241,44 @@ public class DmDealer  implements  Serializable{
     public void setStoreName(String storeName) {
         this.storeName = storeName;
     }
+
+    public String getDealChannelName() {
+        return dealChannelName;
+    }
+
+    public void setDealChannelName(String dealChannelName) {
+        this.dealChannelName = dealChannelName;
+    }
+
+    public Integer getItemTotal() {
+        return itemTotal;
+    }
+
+    public void setItemTotal(Integer itemTotal) {
+        this.itemTotal = itemTotal;
+    }
+
+    public Integer getClaimOrderTotal() {
+        return claimOrderTotal;
+    }
+
+    public void setClaimOrderTotal(Integer claimOrderTotal) {
+        this.claimOrderTotal = claimOrderTotal;
+    }
+
+    public Date getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(Date startDate) {
+        this.startDate = startDate;
+    }
+
+    public Date getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(Date endDate) {
+        this.endDate = endDate;
+    }
 }

+ 9 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DmDealerService.java

@@ -1,6 +1,7 @@
 package com.iamberry.rst.faces.dm;
 
 import com.iamberry.rst.core.dm.DmDealer;
+import com.iamberry.rst.core.dm.FinancialReceipt;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
 
@@ -61,4 +62,12 @@ public interface DmDealerService {
      */
     Integer  deleteDealer(Integer  dealerId);
 
+    /**
+     * 获取集合 -财务统计
+     * @param  pageRequest
+     * @return List
+     */
+    PagedResult<DmDealer> listDmDealerStatistic(PageRequest<DmDealer> pageRequest);
+
+
 }

+ 2 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/FinancialReceiptService.java

@@ -26,6 +26,8 @@ public interface FinancialReceiptService {
      * @return List
      */
     PagedResult<FinancialReceipt> listFinancialReceiptPage(PageRequest<FinancialReceipt> pageRequest);
+
+
     /**
      * 查询单条数据
      * @param  id

+ 7 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DmDealerServiceImpl.java

@@ -359,4 +359,11 @@ public class DmDealerServiceImpl  implements DmDealerService {
         return flag;
     }
 
+    @Override
+    public PagedResult<DmDealer> listDmDealerStatistic(PageRequest<DmDealer> pageRequest) {
+        PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
+        List<DmDealer> dmDealerList = dmDealerMapper.listDmDealerStatistic(pageRequest.getData());
+        return PageUtil.getPage(dmDealerList);
+    }
+
 }

+ 8 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DmDealerMapper.java

@@ -1,6 +1,8 @@
 package com.iamberry.rst.service.dm.mapper;
 
 import com.iamberry.rst.core.dm.DmDealer;
+import com.iamberry.rst.core.page.PageRequest;
+import com.iamberry.rst.core.page.PagedResult;
 
 import java.util.List;
 
@@ -53,4 +55,10 @@ public interface DmDealerMapper {
      */
     Integer  deleteDealer(Integer  id);
 
+    /**
+     * 获取财务统计的数据
+     * @param dmDealer
+     * @return
+     */
+    List<DmDealer> listDmDealerStatistic(DmDealer dmDealer);
 }

+ 9 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/FinancialReceiptMapper.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.service.dm.mapper;
 
 import com.iamberry.rst.core.cm.PostageInfo;
 import com.iamberry.rst.core.dm.FinancialReceipt;
+import com.iamberry.rst.core.page.PagedResult;
 
 import java.util.List;
 
@@ -17,6 +18,14 @@ public interface FinancialReceiptMapper {
      * @return List
      */
     List<FinancialReceipt> getFinancialReceiptList(FinancialReceipt  financialReceipt);
+
+    /**
+     * 获取集合 -财务统计
+     * @param  pageRequest
+     * @return List
+     */
+    PagedResult<FinancialReceipt> listFinancialReceiptStatistic(FinancialReceipt financialReceipt);
+
     /**
      * 查询单条数据
      * @param  id

+ 46 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dmDealerMapper.xml

@@ -223,4 +223,50 @@
         where dealer_id = #{dealerId}
     </delete>
 
+
+    <select id="listDmDealerStatistic" resultMap="DmDealer" parameterType="DmDealer" >
+        SELECT
+            t.dealer_id,
+            sa.admin_name,
+            t.dealer_name,
+            ddc.deal_channel_name,
+            dcs.store_id,
+            SUM(soix.item_total) as itemTotal,
+            xx.claim_order_total as claimOrderTotal
+        FROM tb_rst_dm_dealer t
+        LEFT JOIN tb_rst_sys_admin sa ON sa.admin_id = t.create_id
+        LEFT JOIN tb_rst_dm_dealer_channel ddc ON ddc.dealer_id = t.dealer_id
+        LEFT JOIN tb_rst_dm_dealer_channel_store dcs ON ddc.deal_channel_id = dcs.deal_channel_id
+        LEFT JOIN tb_rst_sales_order_info soi ON dcs.store_id = soi.sales_store_id
+        LEFT JOIN tb_rst_sales_order_item soix ON soi.sales_id = soix.item_order_id
+        LEFT JOIN (
+            SELECT
+            tx.dealer_id,
+            SUM(soix.item_total) AS claim_order_total
+            FROM tb_rst_dm_dealer tx
+            LEFT JOIN tb_rst_dm_financial_receipt dfr ON tx.dealer_id = dfr.dealer_id
+            LEFT JOIN tb_rst_dm_claim_order dco ON dfr.fr_id = dco.fr_id
+            LEFT JOIN tb_rst_sales_order_item soix ON dco.item_id = soix.item_id
+            WHERE 1=1
+            <if test="startDate != null and startDate != ''">
+                AND soix.sales_create_time <![CDATA[>=]]> #{startDate}
+            </if>
+            <if test="endDate != null and endDate != ''">
+                AND soix.sales_create_time <![CDATA[<=]]> #{endDate}
+            </if>
+            GROUP BY tx.dealer_id
+        )xx ON t.dealer_id = xx.dealer_id
+        WHERE
+             soi.sales_customer_id  is null AND soi.sales_batch_id != 'KS00000000000001'
+        <if test="startDate != null and startDate != ''">
+            AND soi.sales_create_time <![CDATA[>=]]> #{startDate}
+        </if>
+        <if test="endDate != null and endDate != ''">
+            AND soi.sales_create_time <![CDATA[<=]]> #{endDate}
+        </if>
+        GROUP BY dcs.deal_channel_id
+        ORDER BY t.dealer_id DESC
+    </select>
+
+
 </mapper>

+ 1 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/DmDealerController.java

@@ -114,6 +114,7 @@ public class DmDealerController {
             result.setTotal(totalNum);
         }
         StitchAttrUtil.getSa()
+                .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
                 .addNoPro("dealerContactList","dealerChannelList","dealerProductList","cooperationAgreeList")
                 .setModelAndView(dmDealer, mv, "/admin/dealer/list_page_dealer", result);
 

+ 34 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/FinanciaReceController.java

@@ -445,6 +445,10 @@ public class FinanciaReceController {
         if(salesStatusStr != null && !"".equals(salesStatusStr)){
             salesOrder.setSalesStatus(Integer.valueOf(salesStatusStr));
         }
+        String orderIscostTotal = request.getParameter("orderIscostTotal");
+        if(orderIscostTotal != null && !"".equals(orderIscostTotal)){
+            salesOrder.setOrderIscostTotal(Integer.valueOf(orderIscostTotal));
+        }
 
         //获取销售公司
 //        List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
@@ -538,6 +542,36 @@ public class FinanciaReceController {
         return rj;
     }
 
+    /**
+     * 查询客户基本信息列表
+     *
+     * @return
+     * @author
+     * @date
+     */
+    @RequiresPermissions("dm:FinancialReceipt:statistic")
+    @RequestMapping("/fr_statistic")
+    public ModelAndView frStatistic(HttpServletRequest request, DmDealer dmDealer,
+                                          @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
+                                          @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
+                                          @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
+        ModelAndView mv = new ModelAndView("dm/financialReceipt/fr_statistics");
 
+        // 封装请求数据
+        PageRequest<DmDealer> pageRequest = new PageRequest<>(dmDealer, pageNO, pageSize, totalNum == 0);
+        // 查询订单列表
+        long x = System.currentTimeMillis();
+        PagedResult<DmDealer> result = dmDealerService.listDmDealerStatistic(pageRequest);
+        long y = System.currentTimeMillis();
+        System.out.println("long tima : " +  (y-x));
+        if (totalNum != 0) {
+            result.setTotal(totalNum);
+        }
+        StitchAttrUtil.getSa()
+                .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
+                .addNoPro("dealerContactList","dealerChannelList","dealerProductList","cooperationAgreeList")
+                .setModelAndView(dmDealer, mv, "/admin/financial_receipt/fr_statistic", result);
+        return mv;
+    }
 
 }

+ 6 - 6
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -819,12 +819,12 @@ public class AdminSalesOrderController {
         salesOrder.setSalesAddType(1);  //手动添加
         salesOrder.setSalesAdminId(admin.getAdminId()); //admin id
 
-        salesOrder.setSalesAmount(salesOrder.getSalesAmount()*100);
-        salesOrder.setSalesDiscountMoney(salesOrder.getSalesDiscountMoney()*100);;
-        salesOrder.setSalesPayMoney(salesOrder.getSalesPayMoney()*100);
-        salesOrder.setSalesWaitMoney(salesOrder.getSalesWaitMoney()*100);
-        salesOrder.setSalesLastMoney(salesOrder.getSalesLastMoney()*100);
-        salesOrder.setSalesShippingFee(salesOrder.getSalesShippingFee()*100);
+//        salesOrder.setSalesAmount(salesOrder.getSalesAmount()*100);
+//        salesOrder.setSalesDiscountMoney(salesOrder.getSalesDiscountMoney()*100);;
+//        salesOrder.setSalesPayMoney(salesOrder.getSalesPayMoney()*100);
+//        salesOrder.setSalesWaitMoney(salesOrder.getSalesWaitMoney()*100);
+//        salesOrder.setSalesLastMoney(salesOrder.getSalesLastMoney()*100);
+//        salesOrder.setSalesShippingFee(salesOrder.getSalesShippingFee()*100);
 
         salesOrder.setSalesOrderItemList(salesOrderItemList);
 

Разница между файлами не показана из-за своего большого размера
+ 148 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/fr_statistics.ftl


+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/order_desc.ftl

@@ -348,7 +348,7 @@
      */
     function selectOrder(type) {
         isAddOrderType=type;
-        layer_show("搜索订单",url_path + "/admin/financial_receipt/to_select_order?salesStatus="+1,"1200","550");
+        layer_show("搜索订单",url_path + "/admin/financial_receipt/to_select_order?salesStatus="+1+"&orderIscostTotal="+2,"1200","550");
     }
     
     function showSelectOrder(orderIds) {

+ 11 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/select_order_list.ftl

@@ -92,6 +92,15 @@
                         </span>
                      </div>
 
+                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 110px;" > <span class="select-box">
+                        <select name="orderIscostTotal" class="select" id="orderIscostTotal"  >
+                             <option value ="">是否认领</option>
+                             <option <#if (salesOrder.orderIscostTotal)??><#if salesOrder.orderIscostTotal == 1>selected="selected"</#if></#if> value ="1" >已认领</option>
+                             <option <#if (salesOrder.orderIscostTotal)??><#if salesOrder.orderIscostTotal == 2>selected="selected"</#if></#if> value ="2" >未认领</option>
+                        </select>
+                        </span>
+                     </div>
+
                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 180px;line-height: 29px;" >
                         <select class="chosenColorId select" name="colorId" id="colorId"  style="width: 1000px;">
                             <option value="">产品名称(颜色)</option>
@@ -213,6 +222,7 @@
         var salesAddressTel = cufte($("#salesAddressTel").val());
         var salesOrderId = cufte($("#salesOrderId").val());
         var colorId = cufte($("#colorId").val());
+        var orderIscostTotal = cufte($("#orderIscostTotal").val());
         var startDate = cufte($("#startDate").val());
         var endDate = cufte($("#endDate").val());
         $.ajax({
@@ -227,6 +237,7 @@
                 salesAddressName : salesAddressName,
                 salesAddressTel : salesAddressTel,
                 colorId : colorId,
+                orderIscostTotal : orderIscostTotal,
                 startDate : startDate,
                 endDate : endDate,
                 orderDateType : 1,