فهرست منبع

新增统计下载,订单下载Excel金额值不准确等问题

wangxiaoming 5 سال پیش
والد
کامیت
e834c93986

+ 15 - 13
watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DmDealer.java

@@ -55,11 +55,11 @@ public class DmDealer  implements  Serializable{
     //渠道名称
     private String dealChannelName;
     //订单总额
-    private String itemTotal;
+    private Integer itemTotal;
     //订单总额
-    private String itemCostTotal;
+    private Integer itemCostTotal;
     //已认领金额
-    private String claimOrderTotal;
+    private Integer claimOrderTotal;
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
     private Date startDate;                 //开始时间
@@ -252,19 +252,27 @@ public class DmDealer  implements  Serializable{
         this.dealChannelName = dealChannelName;
     }
 
-    public String getItemTotal() {
+    public Integer getItemTotal() {
         return itemTotal;
     }
 
-    public void setItemTotal(String itemTotal) {
+    public void setItemTotal(Integer itemTotal) {
         this.itemTotal = itemTotal;
     }
 
-    public String getClaimOrderTotal() {
+    public Integer getItemCostTotal() {
+        return itemCostTotal;
+    }
+
+    public void setItemCostTotal(Integer itemCostTotal) {
+        this.itemCostTotal = itemCostTotal;
+    }
+
+    public Integer getClaimOrderTotal() {
         return claimOrderTotal;
     }
 
-    public void setClaimOrderTotal(String claimOrderTotal) {
+    public void setClaimOrderTotal(Integer claimOrderTotal) {
         this.claimOrderTotal = claimOrderTotal;
     }
 
@@ -292,11 +300,5 @@ public class DmDealer  implements  Serializable{
         this.storeId = storeId;
     }
 
-    public String getItemCostTotal() {
-        return itemCostTotal;
-    }
 
-    public void setItemCostTotal(String itemCostTotal) {
-        this.itemCostTotal = itemCostTotal;
-    }
 }

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

@@ -69,5 +69,12 @@ public interface DmDealerService {
      */
     PagedResult<DmDealer> listDmDealerStatistic(PageRequest<DmDealer> pageRequest);
 
+    /**
+     * 获取集合 -财务统计
+     * @param  dmDealer
+     * @return List
+     */
+    List<DmDealer> listDmDealerFile(DmDealer dmDealer);
+
 
 }

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

@@ -367,4 +367,9 @@ public class DmDealerServiceImpl  implements DmDealerService {
         return PageUtil.getPage(dmDealerList);
     }
 
+    @Override
+    public List<DmDealer> listDmDealerFile(DmDealer dmDealer) {
+        return dmDealerMapper.listDmDealerStatistic(dmDealer);
+    }
+
 }

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

@@ -231,9 +231,9 @@
             t.dealer_name,
             ddc.deal_channel_name,
             dcs.store_id,
-            cast(round(SUM(soix.item_total)/100,2)   as   decimal(11,2))  as itemTotal,
-            cast(round(SUM(soix.item_cost_total) / 100, 2) AS DECIMAL (11, 2) ) AS itemCostTotal,
-            cast(round(xx.claim_order_total/100,2)   as   decimal(11,2)) as claimOrderTotal
+        SUM(soix.item_total)  as itemTotal,
+        SUM(soix.item_cost_total) AS itemCostTotal,
+        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

+ 16 - 5
watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/DmDealerController.java

@@ -17,7 +17,6 @@ import com.iamberry.rst.faces.dm.*;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.faces.sys.SysService;
-import com.iamberry.rst.service.cm.mapper.SalesOrderMapper;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.rst.utils.UploadFileUtils;
@@ -79,8 +78,6 @@ public class DmDealerController {
     private SupplierProductService supplierProductService;
     @Autowired
     private PostOrderNumService postOrderNumService;
-    @Autowired
-    private SalesOrderMapper salesOrderMapper;
 
     private static List<LogisticsInfo> LOGISTICSINFO_LIST;
 
@@ -839,8 +836,22 @@ public class DmDealerController {
                 row.add(salesOrder.getItemProductName() == null ? null:salesOrder.getItemProductName()+(salesOrder.getItemProductColor() == null ? null:"-"+salesOrder.getItemProductColor()));
                 row.add(salesOrder.getItemProductColor() == null ? null:salesOrder.getItemProductColor());
                 row.add(salesOrder.getItemNum() == null ? null:salesOrder.getItemNum());
-                row.add(salesOrder.getItemTotal() == null ? null:salesOrder.getItemTotal()/100);
-                row.add(salesOrder.getItemCostTotal() == null ? null:salesOrder.getItemCostTotal()/100);
+
+                if(salesOrder.getItemTotal() == null){
+                    row.add(0);
+                }else{
+                    Double itemTotal = Double.valueOf(salesOrder.getItemTotal());
+                    itemTotal = itemTotal/100;
+                    row.add(itemTotal);
+                }
+
+                if(salesOrder.getItemCostTotal() == null){
+                    row.add(0);
+                }else{
+                    Double itemCostTotal = Double.valueOf(salesOrder.getItemCostTotal());
+                    itemCostTotal = itemCostTotal/100;
+                    row.add(itemCostTotal);
+                }
 
                 String salesShoppingStatus = "";
                 if(salesOrder.getSalesShippingStatus() == null){

+ 66 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/FinanciaReceController.java

@@ -9,6 +9,7 @@ import com.iamberry.rst.core.dm.FinancialReceipt;
 import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.pts.PtsBatch;
 import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.faces.cm.CompanyInfoService;
 import com.iamberry.rst.faces.cm.SalesOrderService;
@@ -19,6 +20,7 @@ import com.iamberry.rst.faces.sys.SysService;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.ExcelUtil;
 import com.iamberry.rst.utils.StitchAttrUtil;
+import com.iamberry.wechat.tools.ObjectExcelView;
 import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.json.JSONArray;
 import org.apache.shiro.authz.annotation.Logical;
@@ -34,10 +36,7 @@ import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 @Controller
 @RequestMapping("/admin/financial_receipt")
@@ -657,4 +656,67 @@ public class FinanciaReceController {
         return mv;
     }
 
+    /**
+     * 下载订单
+     * @param request
+     * @return
+     * @throws IOException
+     */
+    @RequestMapping("/download_fIle")
+    @RequiresPermissions("dm:FinancialReceipt:statistic")
+    public ModelAndView downloadFIle(HttpServletRequest request,DmDealer dmDealer) throws Exception {
+        List<DmDealer> dmDealerList = dmDealerService.listDmDealerFile(dmDealer);
+
+        // 准备model
+        Map<String, Object> model = new HashMap<String, Object>();
+        model.put("fileName", "财务统计");	// 下载文件名称
+
+        // 标题  	客户名称	销售渠道	订单总额	订单总成本	已认领金额
+        List<String> titles = new ArrayList<String>();
+        titles.add("客户经理");
+        titles.add("客户名称");
+        titles.add("销售渠道");
+        titles.add("订单总额");
+        titles.add("订单总成本");
+        titles.add("已认领金额");
+        model.put("titles", titles);
+        PtsBatch ptsBatch = new PtsBatch();
+        List<List<Object>> countexts = new ArrayList<List<Object>>();
+        if(dmDealerList != null && dmDealerList.size() >0){
+            for (DmDealer dealer : dmDealerList) {
+                List<Object> row = new ArrayList<Object>();
+                row.add(dealer.getAdminName() == null ? null:dealer.getAdminName());
+                row.add(dealer.getDealerName() == null ? null:dealer.getDealerName());
+                row.add(dealer.getDealChannelName() == null ? null:dealer.getDealChannelName());
+                if(dealer.getItemTotal() == null){
+                    row.add(0);
+                }else{
+                    Double itemTotal = Double.valueOf(dealer.getItemTotal());
+                    itemTotal = itemTotal/100;
+                    row.add(itemTotal);
+                }
+
+                if(dealer.getItemCostTotal() == null){
+                    row.add(0);
+                }else{
+                    Double itemCostTotal = Double.valueOf(dealer.getItemCostTotal());
+                    itemCostTotal = itemCostTotal/100;
+                    row.add(itemCostTotal);
+                }
+
+                if(dealer.getClaimOrderTotal() == null){
+                    row.add(0);
+                }else{
+                    Double claimOrderTotal = Double.valueOf(dealer.getClaimOrderTotal());
+                    claimOrderTotal = claimOrderTotal/100;
+                    row.add(claimOrderTotal);
+                }
+                countexts.add(row);
+            }
+        }
+        model.put("varList", countexts);
+        ObjectExcelView erv = new ObjectExcelView();
+        ModelAndView mv = new ModelAndView(erv,model);
+        return mv;
+    }
 }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 27 - 3
watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/fr_statistics.ftl