From ea1db1a84e8d1412b77060a37bc976a93bbb58dd Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期日, 04 一月 2026 16:33:52 +0800
Subject: [PATCH] #getArmType$
---
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java | 2
src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentDetainMatParam.java | 45 +++++++++
src/main/java/com/zy/asrs/entity/param/DigitalTwinWarehouseDetailParam.java | 46 +++++++++
src/main/java/com/zy/asrs/controller/OpenController.java | 45 +++++++++
src/main/resources/mapper/ViewWorkInMapper.xml | 18 +++
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 38 +++++++
src/main/java/com/zy/asrs/entity/param/DigitalTwinEquipmentParam.java | 32 ++++++
src/main/java/com/zy/asrs/service/OpenService.java | 3
src/main/java/com/zy/asrs/entity/param/VwLocDetlSummaryParam.java | 22 ++++
9 files changed, 251 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 464ded3..d9371a3 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -273,4 +273,49 @@
return R.ok().add(openService.digitalTwinRecentInAndOutBound(param));
}
+
+ /**
+ * 6.5杩戞湡鍛嗘粸鍝�
+ */
+ @RequestMapping("/digitalTwin/recentDetainMat")
+ public R digitalTwinRecentDetainMat(@RequestHeader(required = false) String appkey,
+ @RequestBody DigitalTwinRecentDetainMatParam param,
+ HttpServletRequest request) {
+ auth(appkey, param, request);
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ return R.ok().add(openService.digitalTwinRecentDetainMat(param));
+ }
+
+
+ /**
+ * 6.6璁惧鐩戞帶
+ */
+ @RequestMapping("/digitalTwin/equipment")
+ public R digitalTwinEquipment(@RequestHeader(required = false) String appkey,
+ @RequestBody DigitalTwinEquipmentParam param,
+ HttpServletRequest request) {
+ auth(appkey, param, request);
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ return R.ok().add(openService.digitalTwinEquipment(param));
+ }
+
+
+ /**
+ * 6.7搴撲綅鍙婂簱瀛樹俊鎭�
+ */
+ @RequestMapping("/digitalTwin/warehouseDetail")
+ public R digitalTwinWarehouseDetail(@RequestHeader(required = false) String appkey,
+ @RequestBody DigitalTwinWarehouseDetailParam param,
+ HttpServletRequest request) {
+ auth(appkey, param, request);
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ return R.ok().add(openService.digitalTwinWarehouseDetail(param));
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/entity/param/DigitalTwinEquipmentParam.java b/src/main/java/com/zy/asrs/entity/param/DigitalTwinEquipmentParam.java
new file mode 100644
index 0000000..52be5b9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/DigitalTwinEquipmentParam.java
@@ -0,0 +1,32 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/6/13
+ */
+@Data
+public class DigitalTwinEquipmentParam {
+ private int areaId = 0; //搴撳尯ID锛屼笉浼犻粯璁ゅ叏閮�
+
+ private List<DataCode> dataCodeList = new ArrayList<>();
+
+ @Data
+ public static class DataCode {
+
+ private String equipmentId = "1"; //璁惧ID
+ private String equipmentName = "鍙峰爢鍨涙満"; //璁惧鍚嶇О
+ private int equipmentType = 1; //璁惧绫诲瀷锛�1 鍫嗗灈鏈猴紱2 CTU锛�3 AGV锛�
+ private String belongAreaId = "1"; //褰掑睘搴撳尯ID
+ private String belongAreaName = "1"; //褰掑睘搴撳尯鍚嶇О
+ private int verticalSpeed = 10; //鍨傜洿閫熷害锛屽崟浣嶏細M/min
+ private int horizontalSpeed = 10; //姘村钩閫熷害锛屽崟浣嶏細M/min
+ private int voltage = 320; //鐢靛帇锛屽崟浣嶏細v
+ private int status = 1; //璁惧鐘舵�侊細1 姝e父锛�2 寰呮満锛�3 鏁呴殰锛�
+ private int operateMethod = 1; //鎿嶄綔鏂瑰紡锛�1 鑷姩锛�2 鍗婅嚜鍔紱3 鎵嬪姩锛�
+ }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentDetainMatParam.java b/src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentDetainMatParam.java
new file mode 100644
index 0000000..e370062
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentDetainMatParam.java
@@ -0,0 +1,45 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/6/13
+ */
+@Data
+public class DigitalTwinRecentDetainMatParam {
+ private int areaId = 0; //搴撳尯ID锛屼笉浼犻粯璁ゅ叏閮�
+ private int overDayNum = 30; //鍛嗘粸鍝佽瀹氬ぉ鏁帮紝濡傝秴杩�10浼犲�硷細10銆傞粯璁�30銆�
+ private int pageIndex = 1; //鍒嗛〉椤电爜锛屼粠1寮�濮嬨�傞渶瑕佸垎椤垫椂浣跨敤銆�
+ private int pageSize = 9999; //鍒嗛〉椤电爜澶у皬銆�
+
+ private List<DataCode> dataCodeList;
+
+ @Data
+ public static class DataCode {
+
+ private int belongAreaId; //褰掑睘搴撳尯ID
+ private String belongAreaName; //褰掑睘搴撳尯鍚嶇О
+ private String matId; //鐗╂枡ID
+ private String matName; //鐗╂枡鍚嶇О
+ private String lokId; //鎵�灞炲簱浣岻D
+ private String lokName; //鎵�灞炲簱浣嶅悕绉�
+ private int detainTime; //鍛嗘粸鏃堕棿锛岃绠楀崟浣嶏細鍒嗛挓
+ private String inBoundTime; //鍏ュ簱鏃堕棿锛屾牸寮忥細2025-10-11T11:15:16锛岄鐣�
+
+ public DataCode() {
+ }
+
+ public DataCode(VwLocDetlSummaryParam vwLocDetlSummaryParam) {
+ this.belongAreaId = vwLocDetlSummaryParam.getAreaId();
+ this.matId = vwLocDetlSummaryParam.getMatId();
+ this.matName = vwLocDetlSummaryParam.getMaktx();
+ this.lokId = vwLocDetlSummaryParam.getLocNo();
+ this.lokName = vwLocDetlSummaryParam.getLocNo();
+ this.detainTime = vwLocDetlSummaryParam.getDetainTime();
+ this.inBoundTime = vwLocDetlSummaryParam.getInBoundTime();
+ }
+ }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/DigitalTwinWarehouseDetailParam.java b/src/main/java/com/zy/asrs/entity/param/DigitalTwinWarehouseDetailParam.java
new file mode 100644
index 0000000..05f1159
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/DigitalTwinWarehouseDetailParam.java
@@ -0,0 +1,46 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocMast;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/6/13
+ */
+@Data
+public class DigitalTwinWarehouseDetailParam {
+ private int areaId = 0; //搴撳尯ID锛屼笉浼犻粯璁ゅ叏閮�
+
+ private List<DataCode> dataCodeList = new ArrayList<DataCode>();
+
+ @Data
+ public static class DataCode {
+
+ private String locNo;//璁惧ID
+ private String locSts;//璁惧鍚嶇О
+ private int areaId;//璁惧绫诲瀷
+ private String areaName;//璁惧绫诲瀷
+ private int row1;//璁惧绫诲瀷
+ private int bay1;//璁惧绫诲瀷
+ private int lev1;//璁惧绫诲瀷
+ private List<LocMast> locMast;//璁惧绫诲瀷
+ private List<LocDetl> locDetl;//璁惧绫诲瀷
+
+ public DataCode(LocMast locMast,List<LocDetl> locDetl) {
+ ArrayList<LocMast> locMasts = new ArrayList<>();
+ locMasts.add(locMast);
+ this.locNo = locMast.getLocNo();
+ this.locSts = locMast.getLocSts();
+ this.areaId = locMast.getCrnNo();
+ this.areaName = "";
+ this.row1 = locMast.getRow1();
+ this.bay1 = locMast.getBay1();
+ this.lev1 = locMast.getLev1();
+ this.locMast = locMasts;
+ this.locDetl = locDetl;
+ }
+ }
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/VwLocDetlSummaryParam.java b/src/main/java/com/zy/asrs/entity/param/VwLocDetlSummaryParam.java
new file mode 100644
index 0000000..8fed509
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/VwLocDetlSummaryParam.java
@@ -0,0 +1,22 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020/6/13
+ */
+@Data
+public class VwLocDetlSummaryParam {
+
+ private String locNo;
+ private int areaId;
+ private String matId;
+ private String inBoundTime;
+ private int detainTime;//搴撻緞锛堝ぉ鏁帮級
+ // 鐗╂枡缂栧彿
+ private String maktx;
+ private String batch;
+ private String zpallet;
+ // 鐗╂枡鏁伴噺
+ private Double anfme;
+}
diff --git a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
index a1b797a..2d3e55b 100644
--- a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
@@ -3,6 +3,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.ViewLocDailyLogParam;
import com.zy.asrs.entity.param.ViewOrderParam;
+import com.zy.asrs.entity.param.VwLocDetlSummaryParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -86,5 +87,6 @@
List<ViewOrderParam> getAsrOrderView(@Param("ymdS") String startTime, @Param("ymdD") String endTime);
List<ViewLocDailyLogParam> getAsrLocDailyLogO(@Param("areaId")int areaId, @Param("ymdS") String startTime, @Param("ymdD") String endTime);
List<ViewLocDailyLogParam> getAsrLocDailyLog2(@Param("areaId")int areaId, @Param("ymdS") String startTime, @Param("ymdD") String endTime);
+ List<VwLocDetlSummaryParam> getVwLocDetlSummaryParam(@Param("areaId")int areaId,@Param("overDayNum")int overDayNum, @Param("curr") Integer curr, @Param("limit") Integer limit);
void insertAsrLocDailyLog();
}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 66a4002..41f84ba 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -52,4 +52,7 @@
DigitalTwinRecentOrderParam digitalTwinRecentOrder(DigitalTwinRecentOrderParam digitalTwinRecentOrderParam);
DigitalTwinRecentIdleLocParam digitalTwinRecentIdleLoc(DigitalTwinRecentIdleLocParam digitalTwinRecentIdleLocParam);
DigitalTwinRecentInAndOutBoundParam digitalTwinRecentInAndOutBound(DigitalTwinRecentInAndOutBoundParam digitalTwinRecentIdleLocParam);
+ DigitalTwinRecentDetainMatParam digitalTwinRecentDetainMat(DigitalTwinRecentDetainMatParam digitalTwinRecentIdleLocParam);
+ DigitalTwinEquipmentParam digitalTwinEquipment(DigitalTwinEquipmentParam digitalTwinRecentIdleLocParam);
+ DigitalTwinWarehouseDetailParam digitalTwinWarehouseDetail(DigitalTwinWarehouseDetailParam digitalTwinRecentIdleLocParam);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index d628199..688cdd0 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -716,4 +716,42 @@
return param;
}
+ @Override
+ @Transactional
+ public DigitalTwinRecentDetainMatParam digitalTwinRecentDetainMat(DigitalTwinRecentDetainMatParam param) {
+ List<VwLocDetlSummaryParam> vwLocDetlSummaryParam = reportQueryMapper.getVwLocDetlSummaryParam(param.getAreaId(), param.getOverDayNum(), param.getPageIndex(), param.getPageSize());
+
+ List<DigitalTwinRecentDetainMatParam.DataCode> dataCodes = new ArrayList<>();
+ for (VwLocDetlSummaryParam view : vwLocDetlSummaryParam) {
+ DigitalTwinRecentDetainMatParam.DataCode dataCode = new DigitalTwinRecentDetainMatParam.DataCode(view);
+ dataCodes.add(dataCode);
+ }
+ param.setDataCodeList(dataCodes);
+ return param;
+ }
+
+ @Override
+ @Transactional
+ public DigitalTwinEquipmentParam digitalTwinEquipment(DigitalTwinEquipmentParam param) {
+ DigitalTwinEquipmentParam.DataCode dataCode = new DigitalTwinEquipmentParam.DataCode();
+ dataCode.setEquipmentId(""+param.getAreaId());
+ dataCode.setEquipmentName(param.getAreaId()+dataCode.getEquipmentName());
+ dataCode.setBelongAreaId(""+param.getAreaId());
+ dataCode.setBelongAreaName(""+param.getAreaId());
+ param.getDataCodeList().add(dataCode);
+ return param;
+ }
+
+ @Override
+ @Transactional
+ public DigitalTwinWarehouseDetailParam digitalTwinWarehouseDetail(DigitalTwinWarehouseDetailParam param) {
+ List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<>());
+ for (LocMast locMast : locMastList) {
+ List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+ DigitalTwinWarehouseDetailParam.DataCode dataCode = new DigitalTwinWarehouseDetailParam.DataCode(locMast,locDetlList);
+ param.getDataCodeList().add(dataCode);
+ }
+ return param;
+ }
+
}
diff --git a/src/main/resources/mapper/ViewWorkInMapper.xml b/src/main/resources/mapper/ViewWorkInMapper.xml
index c70ebdb..f5118e2 100644
--- a/src/main/resources/mapper/ViewWorkInMapper.xml
+++ b/src/main/resources/mapper/ViewWorkInMapper.xml
@@ -218,5 +218,23 @@
WHERE loc_sts = 'O'
GROUP BY crn_no;
</insert>
+<select id="getVwLocDetlSummaryParam" resultType="com.zy.asrs.entity.param.VwLocDetlSummaryParam">
+ SELECT *
+ FROM (
+ select
+ ROW_NUMBER() OVER(Order by a.areaId desc) as row
+ , *
+ FROM(
+ SELECT * FROM vw_loc_detl_summary
+ WHERE 1=1
+ and detainTime >= #{overDayNum}
+ <if test="areaId != null and areaId != 0">
+ and area = #{areaId}
+ </if>
+ ) a
+ ) b
+ WHERE 1=1 and b.row between ((#{curr}-1)*#{limit}+1) and (#{curr}*#{limit})
+
+</select>
</mapper>
--
Gitblit v1.9.1