Browse Source

Merge branch 'dev' of ssh://10.10.100.21/source/saas-platform into dev

jinsy 7 years ago
parent
commit
a6f9024ff3

+ 2 - 5
applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/controller/ProdInOutReportController.java

@@ -1,6 +1,5 @@
 package com.usoftchina.saas.storage.controller;
 package com.usoftchina.saas.storage.controller;
 
 
-import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.page.PageRequest;
@@ -25,8 +24,7 @@ public class ProdInOutReportController {
      */
      */
     @GetMapping("/prodioDetail")
     @GetMapping("/prodioDetail")
     public Result getProdiodetail(PageRequest page, ListReqDTO req){
     public Result getProdiodetail(PageRequest page, ListReqDTO req){
-        PageInfo listData = prodInOutReportService.getProdiodetail(page, req);
-        return Result.success(listData);
+        return Result.success(prodInOutReportService.getProdiodetail(page, req));
     }
     }
 
 
     /**
     /**
@@ -37,8 +35,7 @@ public class ProdInOutReportController {
      */
      */
     @GetMapping("/prodinoutCount")
     @GetMapping("/prodinoutCount")
     public Result getProdinoutCount(PageRequest page, ListReqDTO req){
     public Result getProdinoutCount(PageRequest page, ListReqDTO req){
-        PageInfo listData = prodInOutReportService.getProdinoutCount(page, req);
-        return Result.success(listData);
+        return Result.success(prodInOutReportService.getProdinoutCount(page, req));
     }
     }
 
 
 }
 }

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

@@ -15,4 +15,8 @@ public interface ProdInOutReportMapper {
     List selectProdiodetailByCondition(@Param("con") String con,@Param("companyId") Long companyId);
     List selectProdiodetailByCondition(@Param("con") String con,@Param("companyId") Long companyId);
 
 
     List selectProdinoutCountByCondition(@Param("con") String con,@Param("companyId") Long companyId);
     List selectProdinoutCountByCondition(@Param("con") String con,@Param("companyId") Long companyId);
+
+    String selectProdiodetailCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
+
+    String selectProdinoutCountCalculateFields(String calculateFieldsSql, String con, Long companyId);
 }
 }

+ 4 - 3
applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/service/ProdInOutReportService.java

@@ -1,15 +1,16 @@
 package com.usoftchina.saas.storage.service;
 package com.usoftchina.saas.storage.service;
 
 
-import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.page.PageRequest;
 
 
+import java.util.Map;
+
 /**
 /**
  * Created by zdw
  * Created by zdw
  * 2018-11-09 16:57.
  * 2018-11-09 16:57.
  */
  */
 public interface ProdInOutReportService {
 public interface ProdInOutReportService {
-    PageInfo getProdiodetail(PageRequest page, ListReqDTO req);
+    Map<String, Object> getProdiodetail(PageRequest page, ListReqDTO req);
 
 
-    PageInfo getProdinoutCount(PageRequest page, ListReqDTO req);
+    Map<String, Object> getProdinoutCount(PageRequest page, ListReqDTO req);
 }
 }

+ 47 - 26
applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/service/impl/ProdInOutReportServiceImpl.java

@@ -1,16 +1,21 @@
 package com.usoftchina.saas.storage.service.impl;
 package com.usoftchina.saas.storage.service.impl;
 
 
+import com.alibaba.fastjson.JSONArray;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.context.BaseContextHolder;
+import com.usoftchina.saas.page.PageDefault;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.storage.mapper.ProdInOutReportMapper;
 import com.usoftchina.saas.storage.mapper.ProdInOutReportMapper;
 import com.usoftchina.saas.storage.service.ProdInOutReportService;
 import com.usoftchina.saas.storage.service.ProdInOutReportService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * Created by zdw
  * Created by zdw
@@ -22,43 +27,59 @@ public class ProdInOutReportServiceImpl implements ProdInOutReportService{
     private ProdInOutReportMapper prodInOutReportMapper;
     private ProdInOutReportMapper prodInOutReportMapper;
 
 
     @Override
     @Override
-    public PageInfo getProdiodetail(PageRequest page, ListReqDTO req) {
-        return getListDATA(page, req, "Prodiodetail");
-    }
-
-    @Override
-    public PageInfo getProdinoutCount(PageRequest page, ListReqDTO req) {
-        return getListDATA(page, req, "ProdinoutCount");
-    }
-
-    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> getProdiodetail(@PageDefault(size = 10) PageRequest page, ListReqDTO req) {
         PageHelper.startPage(page.getNumber(), page.getSize());
         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 = prodInOutReportMapper.selectProdiodetailByCondition(con, companyId);
         //取分页信息
         //取分页信息
-        PageInfo pageInfo = new PageInfo(lists);
-        return pageInfo;
+        PageInfo pageInfo = new PageInfo(list);
+        //取对应计算数据
+        if (!StringUtils.isEmpty(calculateFieldsSql)) {
+            String res = prodInOutReportMapper.selectProdiodetailCalculateFields(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> getProdinoutCount(@PageDefault(size = 10) PageRequest page, ListReqDTO req) {
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        Map<String,Object> map = new HashMap<>();
         List list = null;
         List list = null;
         Long companyId = BaseContextHolder.getCompanyId();
         Long companyId = BaseContextHolder.getCompanyId();
         String con = req.getFinalCondition();
         String con = req.getFinalCondition();
+        String calculateFieldsSql = req.getCalculateFieldsSql();
+        JSONArray arr = null;
         if (null == con) {
         if (null == con) {
             con = "1=1";
             con = "1=1";
         }
         }
-        if ("Prodiodetail".equals(type)) {
-            list = prodInOutReportMapper.selectProdiodetailByCondition(con, companyId);
-        } else if ("ProdinoutCount".equals(type)){
-            list = prodInOutReportMapper.selectProdinoutCountByCondition(con, companyId);
+        list = prodInOutReportMapper.selectProdinoutCountByCondition(con, companyId);
+        //取分页信息
+        PageInfo pageInfo = new PageInfo(list);
+        //取对应计算数据
+        if (!StringUtils.isEmpty(calculateFieldsSql)) {
+            String res = prodInOutReportMapper.selectProdinoutCountCalculateFields(calculateFieldsSql, con, companyId);
+            try {
+                arr = JSONArray.parseArray(res);
+            } catch (Exception e) {
+            }
         }
         }
-        return list;
+        map.put("list", pageInfo);
+        map.put("calculate", arr);
+        return map;
     }
     }
 
 
 }
 }

+ 25 - 0
applications/storage/storage-server/src/main/resources/mapper/ProdInOutReportMapper.xml

@@ -71,6 +71,31 @@
     </where>
     </where>
   </select>
   </select>
 
 
+  <select id="selectProdiodetailCalculateFields" resultType="string">
+    select   ${fields}  from prodiodetail_view
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and  companyId = #{companyId}
+      </if>
+    </where>
+    order by pi_inoutno desc
+  </select>
+
+  <select id="selectProdinoutCountCalculateFields" resultType="string">
+    select   ${fields}  from prodinoutcount_view
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and  companyId = #{companyId}
+      </if>
+    </where>
+    order by pwm_yearmonth
+  </select>
 
 
 
 
 
 

+ 0 - 3
frontend/saas-web/app/view/viewport/ViewportController.js

@@ -122,9 +122,6 @@ Ext.define('saas.view.viewport.ViewportController', {
 
 
     saveSession: function(session) {
     saveSession: function(session) {
         saas.util.State.set('session', session && session.getData(true));
         saas.util.State.set('session', session && session.getData(true));
-        console.log(session);
-        console.log(session);
-        console.log(session.get('account'));
         this.getViewModel().set('account', session && session.get('account'));
         this.getViewModel().set('account', session && session.get('account'));
         this.session = session;
         this.session = session;
     },
     },