Просмотр исходного кода

修改采购模块报表接口

zhoudw 7 лет назад
Родитель
Сommit
c22190fe1a

+ 2 - 5
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseReportController.java

@@ -1,6 +1,5 @@
 package com.usoftchina.saas.purchase.controller;
 
-import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
@@ -23,14 +22,12 @@ public class PurchaseReportController {
 
     @GetMapping("/purchasePay")
     public Result PurchasePay(PageRequest page, ListReqDTO req) {
-        PageInfo listData = purchaseReportService.getPurchasePayData(page, req);
-        return Result.success(listData);
+        return Result.success(purchaseReportService.getPurchasePayData(page, req));
     }
 
     @GetMapping("/purchaseDetail")
     public Result PurchaseDetail(PageRequest page, ListReqDTO req) {
-        PageInfo listData = purchaseReportService.getPurchaseDetailData(page, req);
-        return Result.success(listData);
+        return Result.success(purchaseReportService.getPurchaseDetailData(page, req));
     }
 
 }

+ 5 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchaseReportMapper.java

@@ -7,7 +7,11 @@ import org.apache.ibatis.annotations.Param;
 import java.util.List;
 
 public interface PurchaseReportMapper {
-    List<PurchasePay> selectByCondition(@Param("con") String con, @Param("companyId") Long companyId);
+    List<PurchasePay> selectPurchasePayByCondition(@Param("con") String con, @Param("companyId") Long companyId);
 
     List<PurchaseReportDetail> selectDetailByCondition(@Param("con") String con, @Param("companyId") Long companyId);
+
+    String selectPurchasePayCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
+
+    String selectDetailCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
 }

+ 4 - 3
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/PurchaseReportService.java

@@ -1,12 +1,13 @@
 package com.usoftchina.saas.purchase.service;
 
-import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
 
+import java.util.Map;
+
 public interface PurchaseReportService {
 
-    PageInfo getPurchasePayData(PageRequest page, ListReqDTO req);
+    Map<String, Object> getPurchasePayData(PageRequest page, ListReqDTO req);
 
-    PageInfo getPurchaseDetailData(PageRequest page, ListReqDTO req);
+    Map<String, Object> getPurchaseDetailData(PageRequest page, ListReqDTO req);
 }

+ 48 - 27
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseReportServiceImpl.java

@@ -1,16 +1,21 @@
 package com.usoftchina.saas.purchase.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.context.BaseContextHolder;
+import com.usoftchina.saas.page.PageDefault;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.purchase.mapper.PurchaseReportMapper;
 import com.usoftchina.saas.purchase.service.PurchaseReportService;
 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: guq
@@ -23,43 +28,59 @@ public class PurchaseReportServiceImpl implements PurchaseReportService{
     private PurchaseReportMapper purchaseReportMapper;
 
     @Override
-    public PageInfo getPurchasePayData(PageRequest page, ListReqDTO req) {
-        return getListDATA(page, req, "PurchasePay");
-    }
-
-    @Override
-    public PageInfo getPurchaseDetailData(PageRequest page, ListReqDTO req) {
-        return getListDATA(page, req, "PurchaseReportDetail");
-    }
-
-    private PageInfo getListDATA(PageRequest page, ListReqDTO req, String type) {
-        //设置默认分页
-        if (null == page || page.getSize() == 0 || page.getNumber() == 0) {
-            page = new PageRequest();
-            page.setNumber(1);
-            page.setSize(10);
-        }
+    public Map<String, Object> getPurchasePayData(@PageDefault(size = 10)PageRequest page, ListReqDTO req) {
         PageHelper.startPage(page.getNumber(), page.getSize());
-        //查询数据
-        List lists = getListByType(req, type);
+        Map<String,Object> map = new HashMap<>();
+        List list = null;
+        Long companyId = BaseContextHolder.getCompanyId();
+        String con = req.getFinalCondition();
+        String calculateFieldsSql = req.getCalculateFieldsSql();
+        JSONArray arr = null;
+        if (null == con) {
+            con = "1=1";
+        }
+        list = purchaseReportMapper.selectPurchasePayByCondition(con, companyId);
         //取分页信息
-        PageInfo pageInfo = new PageInfo(lists);
-        return pageInfo;
+        PageInfo pageInfo = new PageInfo(list);
+        //取对应计算数据
+        if (!StringUtils.isEmpty(calculateFieldsSql)) {
+            String res = purchaseReportMapper.selectPurchasePayCalculateFields(calculateFieldsSql, con, companyId);
+            try {
+                arr = JSONArray.parseArray(res);
+            } catch (Exception e) {
+            }
+        }
+        map.put("list", pageInfo);
+        map.put("calculate", arr);
+        return map;
     }
 
-    private List getListByType(ListReqDTO req, String type) {
+    @Override
+    public Map<String, Object> getPurchaseDetailData(@PageDefault(size = 10)PageRequest page, ListReqDTO req) {
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        Map<String,Object> map = new HashMap<>();
         List list = null;
         Long companyId = BaseContextHolder.getCompanyId();
-        companyId = 1l;
         String con = req.getFinalCondition();
+        String calculateFieldsSql = req.getCalculateFieldsSql();
+        JSONArray arr = null;
         if (null == con) {
             con = "1=1";
         }
-        if ("PurchasePay".equals(type)) {
-            list = purchaseReportMapper.selectByCondition(con, companyId);
-        } else if ("PurchaseReportDetail".equals(type)){
-            list = purchaseReportMapper.selectDetailByCondition(con, companyId);
+        list = purchaseReportMapper.selectDetailByCondition(con, companyId);
+        //取分页信息
+        PageInfo pageInfo = new PageInfo(list);
+        //取对应计算数据
+        if (!StringUtils.isEmpty(calculateFieldsSql)) {
+            String res = purchaseReportMapper.selectDetailCalculateFields(calculateFieldsSql, con, companyId);
+            try {
+                arr = JSONArray.parseArray(res);
+            } catch (Exception e) {
+            }
         }
-        return list;
+        map.put("list", pageInfo);
+        map.put("calculate", arr);
+        return map;
     }
+
 }

+ 39 - 1
applications/purchase/purchase-server/src/main/resources/mapper/PurchaseReportMapper.xml

@@ -100,7 +100,7 @@
     <result column="pr_text4" property="pr_text4"/>
     <result column="pd_accepttotal" property="pd_accepttotal"/>
   </resultMap>
-  <select id="selectByCondition" resultMap="BaseResultMap">
+  <select id="selectPurchasePayByCondition" resultMap="BaseResultMap">
     select  *  from purchasepay_view
     <where>
       <if test="con != null">
@@ -125,4 +125,42 @@
       </if>
     </where>  order by pu_date desc
   </select>
+
+
+  <select id="selectPurchasePayCalculateFields" resultType="string">
+    select   ${fields}  from purchasepay_view
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and  companyId = #{companyId}
+      </if>
+    </where>
+    order by pb_id desc
+  </select>
+
+  <select id="selectDetailCalculateFields" resultType="string">
+    select   ${fields}  from purchase left join purchasedetail on pu_id=pd_puid
+    left join product on pd_prodid=pr_id
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and   purchase.companyId = #{companyId}
+      </if>
+    </where>  order by pu_date desc
+  </select>
+
+
+
+
+
+
+
+
+
+
+
 </mapper>

+ 1 - 1
applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/mapper/ProdInOutReportMapper.java

@@ -18,5 +18,5 @@ public interface ProdInOutReportMapper {
 
     String selectProdiodetailCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
 
-    String selectProdinoutCountCalculateFields(String calculateFieldsSql, String con, Long companyId);
+    String selectProdinoutCountCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
 }