自动化立体仓库 - WMS系统
#
zjj
5 天以前 80ae48016f45b38d087544471472192b95c1ef92
src/main/java/com/zy/asrs/controller/ReportQueryController.java
@@ -1,9 +1,11 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.ReportQueryMapper;
@@ -67,6 +69,10 @@
      ViewStayTimeBean bean = new ViewStayTimeBean();
      bean.setPageSize(limit);
      bean.setPageNumber(curr);
      String locNo = String.valueOf(param.get("loc_no"));
      if (!Cools.isEmpty(locNo) && !locNo.equals("null")) {
         bean.setLoc_no(locNo);
      }
      List<ViewStayTimeBean> list = reportQueryMapper.queryViewStayTimeList(bean);
      int count = reportQueryMapper.getViewStayTimeCount(bean);
      Page<ViewStayTimeBean> page = new Page<>();
@@ -124,12 +130,87 @@
      ViewInOutBean bean = new ViewInOutBean();
      bean.setPageSize(limit);
      bean.setPageNumber(curr);
      List<ViewInOutBean> list = reportQueryMapper.queryViewInOutList(bean);
      int count = reportQueryMapper.getViewInOutCount(bean);
      if (!Cools.isEmpty(param.get("modi_time"))) {
         String[] dates = param.get("modi_time").toString().split(RANGE_TIME_LINK);
         bean.setBegin_date(dates[0]);
         bean.setEnd_date(dates[1]);
      }
      int count = 0;
      List<ViewInOutBean> list = new ArrayList<>();
      if (param.get("type") == null || param.get("type").equals(1)) {
         list = reportQueryMapper.queryViewInOutListDay(bean);
         count = reportQueryMapper.getViewInOutCountDay(bean);
      }else if ( param.get("type").equals("2")) {
         list = reportQueryMapper.queryViewInOutListMonth(bean);
         count = reportQueryMapper.getViewInOutCountMonth(bean);
      } else if (param.get("type").equals("3")) {
         list = reportQueryMapper.queryViewInOutListYear(bean);
         count = reportQueryMapper.getViewInOutCountYear(bean);
      }else {
         list = reportQueryMapper.queryViewInOutListDay(bean);
         count = reportQueryMapper.getViewInOutCountDay(bean);
      }
//      List<ViewInOutBean> list = reportQueryMapper.queryViewInOutList(bean);
      Page<ViewInOutBean> page = new Page<>();
      page.setRecords(list);
      page.setTotal(count);
      return R.ok(page);
   }
   @RequestMapping("/viewInOutList/count")
   public R getAllCount() {
      ViewInOutBean bean = new ViewInOutBean();
      bean.setPageSize(99999);
      bean.setPageNumber(1);
      List<ViewInOutBean> list = new ArrayList<>();
      Map<String, Double> map =  new HashMap<>();
      Double in = 0.0;
      Double out = 0.0;
      list = reportQueryMapper.queryViewInOutListDay(bean);
      for (ViewInOutBean bean1 : list) {
         in += bean1.getSto_qty().doubleValue();
         out += bean1.getRet_qty().doubleValue();
      }
      map.put("in", in);
      map.put("out", out);
      return R.ok(map);
   }
   /**
    * 获取库存总数
    * @return
    */
   @RequestMapping("/viewInOutList/date/count")
   public R getCount(@RequestBody Map<String, String> param){
      ViewInOutBean bean = new ViewInOutBean();
      bean.setPageSize(99999);
      bean.setPageNumber(1);
      if (!Cools.isEmpty(param.get("modi_time"))) {
         String[] dates = param.get("modi_time").toString().split(RANGE_TIME_LINK);
         bean.setBegin_date(dates[0]);
         bean.setEnd_date(dates[1]);
      }
      Map<String, Double> map =  new HashMap<>();
      Double in = 0.0;
      Double out = 0.0;
      List<ViewInOutBean> list = new ArrayList<>();
      if (param.get("type") == null || param.get("type").equals(1)) {
         list = reportQueryMapper.queryViewInOutListDay(bean);
      }else if ( param.get("type").equals("2")) {
         list = reportQueryMapper.queryViewInOutListMonth(bean);
      } else if (param.get("type").equals("3")) {
         list = reportQueryMapper.queryViewInOutListYear(bean);
      }else {
         list = reportQueryMapper.queryViewInOutListDay(bean);
      }
      for (ViewInOutBean bean1 : list) {
         in += bean1.getSto_qty().doubleValue();
         out += bean1.getRet_qty().doubleValue();
      }
      map.put("in", in);
      map.put("out", out);
      return R.ok(map);
   }
   //excel导出
@@ -150,6 +231,61 @@
      page.setRecords(list);
      page.setTotal(count);
      return R.ok(page);
   }
   /**
    * 日入库汇总查询
    * @return
    */
   @RequestMapping("/viewWorkCountInList.action")
   public R viewWorkCountInList(@RequestParam(defaultValue = "1")Integer curr,
                         @RequestParam(defaultValue = "10")Integer limit,
                         @RequestParam Map<String, Object> param){
      String startTime = "1970.1.2";
      String endTime = "2099.1.2";
      if (!Cools.isEmpty(param.get("query_date"))) {
         String  queryDate = (String) param.get("query_date");
         String[] split = queryDate.split(" - ");
         startTime= split[0].split(" ")[0].replace("-",".");
         endTime = split[1].split(" ")[0].replace("-",".");
      }
      List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountIn(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")), (String) param.get("matnr"), startTime,endTime);
      Integer total = reportQueryMapper.selectWorkCountInTotal((String) param.get("matnr"), startTime,endTime);
      Page<ViewWorkCountInView> page = new Page<>();
      page.setRecords(allCountIn);
      page.setTotal(total);
      Integer sum = reportQueryMapper.selectWorkCountInSum((String) param.get("matnr"), startTime,endTime);
      HashMap<String, Object> result = new HashMap<>();
      result.put("page",page);
      result.put("sum",sum);
      return R.ok(result);
   }
   /**
    * 日出库汇总
    */
   @RequestMapping("/viewWorkCountOutList.action")
   public R viewWorkCountOutList(@RequestParam(defaultValue = "1")Integer curr,
                          @RequestParam(defaultValue = "10")Integer limit,
                          @RequestParam Map<String, Object> param){
      String startTime = "1970.1.2";
      String endTime = "2099.1.2";
      if (!Cools.isEmpty(param.get("query_date"))) {
         String  queryDate = (String) param.get("query_date");
         String[] split = queryDate.split(" - ");
         startTime= split[0].split(" ")[0].replace("-",".");
         endTime = split[1].split(" ")[0].replace("-",".");
      }
      List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountOut(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")), (String) param.get("matnr"), startTime,endTime);
      Integer total = reportQueryMapper.selectWorkCountOutTotal((String) param.get("matnr"), startTime,endTime);
      Page<ViewWorkCountInView> page = new Page<>();
      page.setRecords(allCountIn);
      page.setTotal(total);
      Integer sum = reportQueryMapper.selectWorkCountOutSum((String) param.get("matnr"), startTime,endTime);
      HashMap<String, Object> result = new HashMap<>();
      result.put("page",page);
      result.put("sum",sum);
      return R.ok(result);
   }
   //excel导出
@@ -187,4 +323,17 @@
      return R.ok(exportSupport(list, fields));
   }
   private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
      for (Map.Entry<String, Object> entry : map.entrySet()){
         String val = String.valueOf(entry.getValue());
         if (val.contains(RANGE_TIME_LINK)){
            String[] dates = val.split(RANGE_TIME_LINK);
            wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
            wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
         } else {
            wrapper.like(entry.getKey(), val);
         }
      }
   }
}