| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.core.common.Arith; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.mapper.ReportQueryMapper; |
| | | import com.zy.common.service.CommonService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * Created by vincent on 2020/11/16 |
| | |
| | | public class MonitorController { |
| | | |
| | | private static final String[] WEEK = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; |
| | | |
| | | @Autowired |
| | | private ReportQueryMapper reportQueryMapper; |
| | | |
| | | /** |
| | | * 获取当前时间 |
| | |
| | | ); |
| | | } |
| | | |
| | | /** |
| | | * 入库报表 |
| | | */ |
| | | @GetMapping("/pakin/rep") |
| | | public R monitorPakinRep(){ |
| | | List<Map<String, Object>> report = reportQueryMapper.queryPakinRep(); |
| | | for (Map<String, Object> map : report) { |
| | | if (map.get("node")!=null) { |
| | | map.put("node", String.valueOf(map.get("node")).substring(5, 10)); |
| | | } |
| | | } |
| | | return R.ok(report); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 自动补零 |
| | | */ |
| | | private List<Map<String, Object>> fill(List<Map<String, Object>> list, int start, int end){ |
| | | for (int i = start ; i <= end; i++){ |
| | | boolean exist = false; |
| | | for (Map seq : list){ |
| | | if (Integer.parseInt(String.valueOf(seq.get("node"))) == i){ |
| | | exist = true; |
| | | } |
| | | } |
| | | if (!exist){ |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("node", i); |
| | | map.put("val", 0); |
| | | list.add(map); |
| | | } |
| | | } |
| | | list.sort(Comparator.comparingInt(o -> (int) o.get("node"))); |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | | * x轴单位转换 |
| | | * @param dot y轴数值保留小数位 |
| | | */ |
| | | private List<Map<String, Object>> convert(List<Map<String, Object>> list, StatsType statsType, int dot){ |
| | | for (Map<String, Object> map : list){ |
| | | Object val = map.get("val"); |
| | | map.put("val", Arith.multiplys(dot, 1, (Number) val)); |
| | | Object node = map.get("node"); |
| | | switch (statsType){ |
| | | case MONTH: |
| | | map.put("node", node + "号"); |
| | | break; |
| | | case YEAR: |
| | | map.put("node", node + "月"); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | enum StatsType{ |
| | | |
| | | YEAR(1,1, 12), |
| | | MONTH(2,1, 30), |
| | | ; |
| | | |
| | | int id; |
| | | int start; |
| | | int end; |
| | | StatsType(int id, int start, int end) { |
| | | this.id = id; |
| | | this.start = start; |
| | | this.end = end; |
| | | } |
| | | |
| | | static StatsType get(int id) { |
| | | StatsType[] values = StatsType.values(); |
| | | for (StatsType statsType : values){ |
| | | if (statsType.id == id){ |
| | | return statsType; |
| | | } |
| | | } |
| | | throw new RuntimeException("找不到StatsType类型"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |