自动化立体仓库 - WMS系统
#
gt-fuwuqi
2025-02-11 3a129dc7cbc261d6d73521875f94ff75ba88aa84
src/main/java/com/zy/asrs/controller/ReportQueryController.java
@@ -1,15 +1,21 @@
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;
import com.zy.asrs.service.LocDetlService;
import com.zy.common.web.BaseController;
import com.core.annotations.ManagerAuth;
import com.core.common.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
@@ -25,6 +31,8 @@
@RequestMapping("/report")
public class ReportQueryController extends BaseController {
   @Autowired
   private LocDetlService locDetlService;
   @Autowired
   private ReportQueryMapper reportQueryMapper;
@@ -61,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<>();
@@ -118,8 +130,27 @@
      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);
@@ -144,6 +175,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导出
@@ -181,4 +267,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);
         }
      }
   }
}