Browse Source

1.添加报表排序

heqinwei 7 years ago
parent
commit
07500ea121
17 changed files with 147 additions and 26 deletions
  1. 8 6
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/MoneyReportColltroller.java
  2. 1 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/AccountDetailsViewMapper.java
  3. 1 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/AcountbalanceViewMapper.java
  4. 1 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/CustomerCheckViewMapper.java
  5. 1 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/PaydetailViewMapper.java
  6. 1 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/RecdetailViewMapper.java
  7. 1 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VendorAcountViewMapper.java
  8. 4 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/RecdetailView.java
  9. 8 6
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/MoneyReportService.java
  10. 48 13
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/MoneyReportServiceImpl.java
  11. 12 0
      applications/money/money-server/src/main/resources/mapper/AccountDetailsViewMapper.xml
  12. 12 0
      applications/money/money-server/src/main/resources/mapper/AcountbalanceViewMapper.xml
  13. 12 0
      applications/money/money-server/src/main/resources/mapper/CustomerCheckViewMapper.xml
  14. 12 0
      applications/money/money-server/src/main/resources/mapper/PaydetailViewMapper.xml
  15. 12 0
      applications/money/money-server/src/main/resources/mapper/RecdetailViewMapper.xml
  16. 12 0
      applications/money/money-server/src/main/resources/mapper/VendorAcountViewMapper.xml
  17. 1 1
      frontend/saas-web/app/view/money/report/RecDetail.js

+ 8 - 6
applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/MoneyReportColltroller.java

@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 /**
  * @author heqw
  * @date 2018/11/9 14:21
@@ -24,42 +26,42 @@ public class MoneyReportColltroller {
     //供应商对账
     @GetMapping("/vendorCheck")
     public Result vendorCheck(PageRequest page, ListReqDTO req) {
-        PageInfo listData = moneyReportService.vendorCheck(page, req);
+        Map<String, Object> listData = moneyReportService.vendorCheck(page, req);
         return Result.success(listData);
     }
 
     //应付账款明细
     @GetMapping("/payDetail")
     public Result payDetail(PageRequest page, ListReqDTO req) {
-        PageInfo listData = moneyReportService.payDetail(page, req);
+        Map<String, Object> listData = moneyReportService.payDetail(page, req);
         return Result.success(listData);
     }
 
     //应收款明细表
     @GetMapping("/recDetail")
     public Result recDetail(PageRequest page, ListReqDTO req) {
-        PageInfo listData = moneyReportService.recDetail(page, req);
+        Map<String, Object> listData = moneyReportService.recDetail(page, req);
         return Result.success(listData);
     }
 
     //资金账号余额表
     @GetMapping("/accountBalance")
     public Result acountBalance(PageRequest page, ListReqDTO req) {
-        PageInfo listData = moneyReportService.acountBalance(page, req);
+        Map<String, Object> listData = moneyReportService.acountBalance(page, req);
         return Result.success(listData);
     }
 
     //客户对账单
     @GetMapping("/customercheck")
     public Result customercheck(PageRequest page, ListReqDTO req) {
-        PageInfo listData = moneyReportService.customercheck(page, req);
+        Map<String, Object> listData = moneyReportService.customercheck(page, req);
         return Result.success(listData);
     }
 
     //冲账明细表
     @GetMapping("/accountdetails")
     public Result accountdetails(PageRequest page, ListReqDTO req) {
-        PageInfo listData = moneyReportService.accountdetails(page, req);
+        Map<String, Object> listData = moneyReportService.accountdetails(page, req);
         return Result.success(listData);
     }
 }

+ 1 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/AccountDetailsViewMapper.java

@@ -7,4 +7,5 @@ import java.util.List;
 
 public interface AccountDetailsViewMapper {
     List<AccountDetailsView> selectByCondition(@Param("con") String con, @Param("companyId") Long companyId);
+    String selectCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
 }

+ 1 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/AcountbalanceViewMapper.java

@@ -7,4 +7,5 @@ import java.util.List;
 
 public interface AcountbalanceViewMapper {
     List<AcountbalanceView> selectByCondition(@Param("con") String con, @Param("companyId") Long companyId);
+    String selectCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
 }

+ 1 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/CustomerCheckViewMapper.java

@@ -8,4 +8,5 @@ import java.util.List;
 
 public interface CustomerCheckViewMapper {
     List<CustomerCheckView> selectByCondition(@Param("con") String con, @Param("companyId") Long companyId);
+    String selectCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
 }

+ 1 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/PaydetailViewMapper.java

@@ -7,4 +7,5 @@ import java.util.List;
 
 public interface PaydetailViewMapper {
     List<PaydetailView> selectByCondition(@Param("con") String con, @Param("companyId") Long companyId);
+    String selectCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
 }

+ 1 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/RecdetailViewMapper.java

@@ -7,4 +7,5 @@ import java.util.List;
 
 public interface RecdetailViewMapper {
     List<RecdetailView> selectByCondition(@Param("con") String con, @Param("companyId") Long companyId);
+    String selectCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
 }

+ 1 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VendorAcountViewMapper.java

@@ -7,4 +7,5 @@ import java.util.List;
 
 public interface VendorAcountViewMapper {
     List<VendorAcountView> selectByCondition(@Param("con")String con, @Param("companyId")Long companyId);
+    String selectCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
 }

+ 4 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/RecdetailView.java

@@ -32,6 +32,10 @@ public class RecdetailView {
     private String pi_remark;
     private Integer companyId;
 
+    public Date getMustdate() {
+        return mustdate;
+    }
+
     public void setMustdate(Date mustdate) {
         this.mustdate = mustdate;
     }

+ 8 - 6
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/MoneyReportService.java

@@ -4,15 +4,17 @@ import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
 
+import java.util.Map;
+
 /**
  * @author heqw
  * @date 2018/11/9 14:50
  **/
 public interface MoneyReportService {
-    PageInfo vendorCheck(PageRequest page, ListReqDTO req);
-    PageInfo payDetail(PageRequest page, ListReqDTO req);
-    PageInfo recDetail(PageRequest page, ListReqDTO req);
-    PageInfo acountBalance(PageRequest page, ListReqDTO req);
-    PageInfo customercheck(PageRequest page, ListReqDTO req);
-    PageInfo accountdetails(PageRequest page, ListReqDTO req);
+    Map<String, Object> vendorCheck(PageRequest page, ListReqDTO req);
+    Map<String, Object> payDetail(PageRequest page, ListReqDTO req);
+    Map<String, Object> recDetail(PageRequest page, ListReqDTO req);
+    Map<String, Object> acountBalance(PageRequest page, ListReqDTO req);
+    Map<String, Object> customercheck(PageRequest page, ListReqDTO req);
+    Map<String, Object> accountdetails(PageRequest page, ListReqDTO req);
 }

+ 48 - 13
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/MoneyReportServiceImpl.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.money.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
@@ -9,8 +10,11 @@ import com.usoftchina.saas.money.service.MoneyReportService;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author heqw
@@ -32,36 +36,36 @@ public class MoneyReportServiceImpl implements MoneyReportService {
     private AccountDetailsViewMapper accountDetailsViewMapper;
 
     @Override
-    public PageInfo vendorCheck(PageRequest page, ListReqDTO req) {
+    public Map<String, Object> vendorCheck(PageRequest page, ListReqDTO req) {
         return getListDATA(page, req, "Supplier");
     }
 
     @Override
-    public PageInfo payDetail(PageRequest page, ListReqDTO req) {
+    public Map<String, Object> payDetail(PageRequest page, ListReqDTO req) {
         return getListDATA(page, req, "payDetail");
     }
 
     @Override
-    public PageInfo recDetail(PageRequest page, ListReqDTO req) {
+    public Map<String, Object> recDetail(PageRequest page, ListReqDTO req) {
         return getListDATA(page, req, "recDetail");
     }
 
     @Override
-    public PageInfo acountBalance(PageRequest page, ListReqDTO req) {
+    public Map<String, Object> acountBalance(PageRequest page, ListReqDTO req) {
         return getListDATA(page, req, "acountBalance");
     }
 
     @Override
-    public PageInfo customercheck(PageRequest page, ListReqDTO req) {
+    public Map<String, Object> customercheck(PageRequest page, ListReqDTO req) {
         return getListDATA(page, req, "customercheck");
     }
 
     @Override
-    public PageInfo accountdetails(PageRequest page, ListReqDTO req) {
+    public Map<String, Object> accountdetails(PageRequest page, ListReqDTO req) {
         return getListDATA(page, req, "accountdetails");
     }
 
-    private PageInfo getListDATA(PageRequest page, ListReqDTO req, String type) {
+    private Map<String, Object> getListDATA(PageRequest page, ListReqDTO req, String type) {
         //设置默认分页
         if (null == page || page.getSize() == 0 || page.getNumber() == 0) {
             page = new PageRequest();
@@ -70,34 +74,65 @@ public class MoneyReportServiceImpl implements MoneyReportService {
         }
         PageHelper.startPage(page.getNumber(), page.getSize());
 
-
         //查询数据
-        List list = getListByType(req, type);
+        Map<String, Object> map = getListByType(req, type);
         //取分页信息
-        PageInfo lists = new PageInfo(list);
-        return lists;
+        PageInfo lists = new PageInfo((List) map.get("list"));
+        map.remove("list");
+        map.put("list", lists);
+        return map;
     }
 
-    private List getListByType(ListReqDTO req, String type) {
+    private Map<String, Object> getListByType(ListReqDTO req, String type) {
         List list = null;
         Long companyId = BaseContextHolder.getCompanyId();
         String con = req.getFinalCondition();
+        String calculateFieldsSql = req.getCalculateFieldsSql();
+        JSONArray arr = null;
         if (null == con) {
             con = "1=1";
         }
+
+        String res = null;
         if ("Supplier".equals(type)) {
             list = vendorAcountViewMapper.selectByCondition(con, companyId);
+            if (!StringUtils.isEmpty(calculateFieldsSql)) {
+                res = vendorAcountViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
+            }
         } else if("payDetail".equals(type)){
             list = paydetailViewMapper.selectByCondition(con, companyId);
+            if (!StringUtils.isEmpty(calculateFieldsSql)) {
+                res = paydetailViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
+            }
         }else if("recDetail".equals(type)){
             list = recdetailViewMapper.selectByCondition(con, companyId);
+            if (!StringUtils.isEmpty(calculateFieldsSql)) {
+                res = recdetailViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
+            }
         }else if ("acountBalance".equals(type)){
             list = acountbalanceViewMapper.selectByCondition(con, companyId);
+            if (!StringUtils.isEmpty(calculateFieldsSql)) {
+                res = acountbalanceViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
+            }
         }else if ("customercheck".equals(type)){
             list = customerCheckViewMapper.selectByCondition(con, companyId);
+            if (!StringUtils.isEmpty(calculateFieldsSql)) {
+                res = customerCheckViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
+            }
         }else if ("accountdetails".equals(type)){
             list = accountDetailsViewMapper.selectByCondition(con, companyId);
+            if (!StringUtils.isEmpty(calculateFieldsSql)) {
+                res = accountDetailsViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
+            }
+        }
+
+        try {
+            arr = JSONArray.parseArray(res);
+        } catch (Exception e) {
         }
-        return list;
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("list", list);
+        map.put("calculate", arr);
+        return map;
     }
 }

+ 12 - 0
applications/money/money-server/src/main/resources/mapper/AccountDetailsViewMapper.xml

@@ -24,4 +24,16 @@
     </where>
     order by date desc
   </select>
+
+  <select id="selectCalculateFields" resultType="string">
+    select   ${fields}  from account_details_view
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and  companyId = #{companyId}
+      </if>
+    </where>
+  </select>
 </mapper>

+ 12 - 0
applications/money/money-server/src/main/resources/mapper/AcountbalanceViewMapper.xml

@@ -30,4 +30,16 @@
     order by bankname asc, date desc, bankid desc
   </select>
 
+  <select id="selectCalculateFields" resultType="string">
+    select   ${fields}  from acountbalance_view
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and  companyId = #{companyId}
+      </if>
+    </where>
+  </select>
+
 </mapper>

+ 12 - 0
applications/money/money-server/src/main/resources/mapper/CustomerCheckViewMapper.xml

@@ -33,4 +33,16 @@
         order by pi_custname asc, pi_date desc, pi_custcode desc
     </select>
 
+    <select id="selectCalculateFields" resultType="string">
+        select   ${fields}  from customer_amount_view
+        <where>
+            <if test="con != null">
+                ${con}
+            </if>
+            <if test="companyId != null">
+                and  companyId = #{companyId}
+            </if>
+        </where>
+    </select>
+
 </mapper>

+ 12 - 0
applications/money/money-server/src/main/resources/mapper/PaydetailViewMapper.xml

@@ -32,4 +32,16 @@
     order by pi_vendname asc, pb_date desc,pi_vendcode desc
   </select>
 
+  <select id="selectCalculateFields" resultType="string">
+    select   ${fields}  from paydetail_view
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and  companyId = #{companyId}
+      </if>
+    </where>
+  </select>
+
 </mapper>

+ 12 - 0
applications/money/money-server/src/main/resources/mapper/RecdetailViewMapper.xml

@@ -31,4 +31,16 @@
     </where>
     order by pi_custname asc, rb_date desc, pi_custcode desc
   </select>
+
+  <select id="selectCalculateFields" resultType="string">
+    select   ${fields}  from recdetail_view
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and  companyId = #{companyId}
+      </if>
+    </where>
+  </select>
 </mapper>

+ 12 - 0
applications/money/money-server/src/main/resources/mapper/VendorAcountViewMapper.xml

@@ -34,4 +34,16 @@
     </where>
     order by pi_vendname asc, pi_date desc, pi_vendcode desc
   </select>
+
+  <select id="selectCalculateFields" resultType="string">
+    select   ${fields}  from vendor_acount_view
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and  companyId = #{companyId}
+      </if>
+    </where>
+  </select>
 </mapper>

+ 1 - 1
frontend/saas-web/app/view/money/report/RecDetail.js

@@ -80,7 +80,7 @@ Ext.define('saas.view.money.report.RecDetail', {
         },{
             text:'本期收款金额',
             xtype: 'numbercolumn',
-            dataIndex:'pb_pdamount',
+            dataIndex:'rb_rdamount',
             xtype: 'numbercolumn',
             width: 110,
             renderer : function(v) {