From e0c8b1913123939b5adcff3da4a81cadff95e002 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 11 七月 2024 11:00:20 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LedApiController.java | 105 +++++++++++++++++++++++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocServiceImpl.java | 6 +
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/vo/LocChartPie.java | 17 ++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/WorkChartAxis.java | 17 ++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java | 15 +++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocService.java | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java | 6 +
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/AxisBean.java | 16 ++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/LocMapper.java | 5 +
10 files changed, 187 insertions(+), 4 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LedApiController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LedApiController.java
index 49a757a..93ae27a 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LedApiController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LedApiController.java
@@ -3,14 +3,19 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.framework.common.Arith;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wcs.core.domain.dto.AxisBean;
+import com.zy.asrs.wcs.core.domain.dto.WorkChartAxis;
+import com.zy.asrs.wcs.core.domain.vo.LocChartPie;
import com.zy.asrs.wcs.core.entity.BasConveyorSta;
import com.zy.asrs.wcs.core.entity.BasShuttle;
import com.zy.asrs.wcs.core.entity.Loc;
import com.zy.asrs.wcs.core.service.BasConveyorStaService;
import com.zy.asrs.wcs.core.service.BasShuttleService;
import com.zy.asrs.wcs.core.service.LocService;
+import com.zy.asrs.wcs.core.service.TaskService;
import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol;
import com.zy.asrs.wcs.system.controller.BaseController;
import io.swagger.models.auth.In;
@@ -21,9 +26,8 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.text.SimpleDateFormat;
+import java.util.*;
@RestController
@RequestMapping("/monitor")
@@ -36,6 +40,101 @@
private BasShuttleService basShuttleService;
@Autowired
private LocService locService;
+ @Autowired
+ private TaskService taskService;
+
+ @GetMapping("/loc/rep")
+ public R monitorLocRep(){
+ List<Map<String, Object>> pie = new ArrayList<>();
+
+ LocChartPie locUseRate = locService.getLocUseRate();
+ if(locUseRate!=null) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("name", "鍦ㄥ簱");
+ map.put("value", locUseRate.getFqty());
+ pie.add(map);
+
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("name", "绌�");
+ map1.put("value", locUseRate.getOqty());
+ pie.add(map1);
+
+ Map<String, Object> map2 = new HashMap<>();
+ map2.put("name", "浣跨敤");
+ map2.put("value", locUseRate.getUqty());
+ pie.add(map2);
+
+ Map<String, Object> map3 = new HashMap<>();
+ map3.put("name", "绂佺敤");
+ map3.put("value", locUseRate.getXqty());
+ pie.add(map3);
+ }
+
+ // 鎬诲簱浣嶆暟
+ Integer total = (int) Arith.add(0, locUseRate.getFqty(), locUseRate.getOqty(), locUseRate.getUqty(), locUseRate.getXqty());
+ // 浣跨敤涓�
+ Integer used = locUseRate.getFqty() + locUseRate.getUqty();
+ // 搴撲綅浣跨敤鐜�
+ double usedDivides = Arith.divides(3, used, total);
+ double usedPr = Arith.multiplys(1, usedDivides, 100);
+
+ return R.ok(
+ Cools.add("pie", pie)
+ .add("stockCunt", locUseRate.getFqty())
+ .add("emptyCount", locUseRate.getOqty())
+ .add("noneCount", locUseRate.getXqty())
+ .add("total", total)
+ .add("used", used)
+ .add("usedPr", usedPr)
+ );
+ }
+
+
+ @GetMapping("/line/charts")
+ public R locIoLineCharts(){
+ Map<String,Object> map=new HashMap<String, Object>();
+ List<AxisBean> list = new ArrayList<AxisBean>();
+
+ List<WorkChartAxis> listChart = taskService.selectByLineCharts();
+
+ if(listChart!=null) {
+ ArrayList<Integer> data1 = new ArrayList<Integer>();
+ ArrayList<Integer> data2 = new ArrayList<Integer>();
+
+ SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.DATE, -12);
+ for(int i=0;i<12;i++) {
+ boolean flag = true;
+ calendar.add(Calendar.DATE, 1);
+ String str = sf.format(calendar.getTime());
+ for(WorkChartAxis workChart : listChart) {
+ if(str.equals(workChart.getYmd())) {
+ data1.add(workChart.getInqty());
+ data2.add(workChart.getOutqty());
+ flag = false;
+ break;
+ }
+ }
+ if(flag) {
+ data1.add(0);
+ data2.add(0);
+ }
+ }
+ AxisBean inqty = new AxisBean();
+ inqty.setName("鍏ュ簱鏁伴噺");
+ Integer[] array1 = new Integer[data1.size()];
+ inqty.setData(data1.toArray(array1));
+ list.add(inqty);
+ AxisBean outqty = new AxisBean();
+ outqty.setName("鍑哄簱鏁伴噺");
+ Integer[] array2 = new Integer[data2.size()];
+ outqty.setData(data2.toArray(array2));
+ list.add(outqty);
+ }
+ map.put("rows",list);
+ return R.ok(map);
+ }
@GetMapping("/date")
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/AxisBean.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/AxisBean.java
new file mode 100644
index 0000000..fbaca0e
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/AxisBean.java
@@ -0,0 +1,16 @@
+package com.zy.asrs.wcs.core.domain.dto;
+
+import lombok.Data;
+
+/**
+ * 鏇茬嚎鍥捐〃json閿�
+ * @author admin
+ *
+ */
+@Data
+public class AxisBean {
+ private String name;
+ private Integer[] data;
+
+
+}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/WorkChartAxis.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/WorkChartAxis.java
new file mode 100644
index 0000000..9c5d36f
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/WorkChartAxis.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.wcs.core.domain.dto;
+
+import lombok.Data;
+
+/**
+ * 鍏ュ嚭搴撶粺璁℃洸绾垮浘
+ * @author admin
+ * @date 2018骞�12鏈�12鏃�
+ */
+@Data
+public class WorkChartAxis {
+ private String ymd;
+ private int inqty;
+ private int outqty;
+
+
+}
\ No newline at end of file
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/vo/LocChartPie.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/vo/LocChartPie.java
new file mode 100644
index 0000000..9bba7d2
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/vo/LocChartPie.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.wcs.core.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 搴撲綅鍗犵敤鐧惧垎姣�
+ * @author admin
+ * @date 2018骞�12鏈�12鏃�
+ */
+@Data
+public class LocChartPie {
+ private int fqty;
+ private int oqty;
+ private int uqty;
+ private int xqty;
+
+}
\ No newline at end of file
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/LocMapper.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/LocMapper.java
index 50117c8..0e4b268 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/LocMapper.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/LocMapper.java
@@ -1,12 +1,15 @@
package com.zy.asrs.wcs.core.mapper;
+import com.zy.asrs.wcs.core.domain.vo.LocChartPie;
import com.zy.asrs.wcs.core.entity.Loc;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface LocMapper extends BaseMapper<Loc> {
-
+ @Select("select * from asr_loc_use_view")
+ LocChartPie getLocUseRate();
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java
index af9aabf..1a99b14 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java
@@ -1,9 +1,11 @@
package com.zy.asrs.wcs.core.mapper;
+import com.zy.asrs.wcs.core.domain.dto.WorkChartAxis;
import com.zy.asrs.wcs.core.entity.Task;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -54,4 +56,17 @@
Task selectChargeWorking(Integer shuttleNo);
+ @Select("SELECT\n" +
+ " ymd,\n" +
+ " SUM(sto_qty) AS inqty,\n" +
+ " SUM(ret_qty) AS outqty\n" +
+ "FROM\n" +
+ " asr_sta_inout_view\n" +
+ "WHERE\n" +
+ " ymd >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 12 DAY), '%Y-%m-%d')\n" +
+ "GROUP BY\n" +
+ " ymd\n" +
+ "ORDER BY\n" +
+ " ymd;")
+ List<WorkChartAxis> selectByLineCharts();
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocService.java
index 633160a..5a94042 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocService.java
@@ -1,10 +1,12 @@
package com.zy.asrs.wcs.core.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.wcs.core.domain.vo.LocChartPie;
import com.zy.asrs.wcs.core.entity.Loc;
public interface LocService extends IService<Loc> {
Loc selectByLocNo(String locNo);
+ LocChartPie getLocUseRate();
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java
index 0ceddbd..eaa35c1 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java
@@ -1,6 +1,7 @@
package com.zy.asrs.wcs.core.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.wcs.core.domain.dto.WorkChartAxis;
import com.zy.asrs.wcs.core.entity.Task;
import org.apache.ibatis.annotations.Param;
@@ -52,4 +53,5 @@
Task selectChargeWorking(Integer shuttleNo);
+ List<WorkChartAxis> selectByLineCharts();
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocServiceImpl.java
index 93fde69..68d77f8 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.wcs.core.domain.vo.LocChartPie;
import com.zy.asrs.wcs.core.mapper.LocMapper;
import com.zy.asrs.wcs.core.entity.Loc;
import com.zy.asrs.wcs.core.service.LocService;
@@ -19,4 +20,9 @@
return this.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, locNo));
}
+ @Override
+ public LocChartPie getLocUseRate() {
+ return this.baseMapper.getLocUseRate();
+ }
+
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java
index 5704d9a..aef0725 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.wcs.core.service.impl;
import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.wcs.core.domain.dto.WorkChartAxis;
import com.zy.asrs.wcs.core.mapper.TaskMapper;
import com.zy.asrs.wcs.core.entity.Task;
import com.zy.asrs.wcs.core.model.enums.DeviceCtgType;
@@ -155,4 +156,9 @@
public Task selectChargeWorking(Integer shuttleNo) {
return this.baseMapper.selectChargeWorking(shuttleNo);
}
+
+ @Override
+ public List<WorkChartAxis> selectByLineCharts() {
+ return this.baseMapper.selectByLineCharts();
+ }
}
--
Gitblit v1.9.1