From f1a3407130d88ad15320ab9fcfabd109e5127c78 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 27 四月 2025 14:01:27 +0800
Subject: [PATCH] 获取堆垛机状态及所属巷道库位统计信息
---
src/main/java/com/zy/asrs/entity/CrnLaneWayInfoDto.java | 53 ++++++++++++++++++++++++++
src/main/java/com/zy/asrs/mapper/BasCrnpMapper.java | 7 +++
src/main/java/com/zy/asrs/controller/OpenController.java | 8 ++++
src/main/resources/mapper/BasCrnpMapper.xml | 21 ++++++++++
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 14 +++++--
src/main/java/com/zy/asrs/service/OpenService.java | 5 ++
6 files changed, 104 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index c07c41c..93e089d 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -193,6 +193,14 @@
return openService.getUnfulfilledOrders();
}
+ @PostMapping("/getCrnLaneWayInfo")
+ @AppAuth(memo = "鑾峰彇鍫嗗灈鏈虹姸鎬佸強鎵�灞炲贩閬撳簱浣嶇粺璁′俊鎭�")
+ public synchronized R getCrnLaneWayInfo(@RequestHeader(required = false) String appkey,
+ HttpServletRequest request) {
+ auth(appkey, null, request);
+ return openService.getCrnLaneWayInfo();
+ }
+
/*@PostMapping("/order/matSync/default/v1")
@AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
diff --git a/src/main/java/com/zy/asrs/entity/CrnLaneWayInfoDto.java b/src/main/java/com/zy/asrs/entity/CrnLaneWayInfoDto.java
new file mode 100644
index 0000000..dba42b2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/CrnLaneWayInfoDto.java
@@ -0,0 +1,53 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+/**
+ * @author pang.jiabao
+ * @description 鍫嗗灈鏈虹姸鎬佸強鎵�灞炲贩閬撶粺璁′俊鎭�
+ * @createDate 2025/4/27 13:37
+ */
+@Data
+public class CrnLaneWayInfoDto {
+
+ /**
+ * 鍫嗗灈鏈哄彿
+ */
+ private Integer crnNo;
+
+ /**
+ * 鍫嗗灈鏈虹姸鎬� -1.绂荤嚎, 0.缁翠慨, 1.鎵嬪姩,2.鍗婅嚜鍔�,3.鑷姩,100.鍏朵粬
+ */
+ private Integer crnSts;
+
+ /**
+ * 鍫嗗灈鏈烘槸鍚﹀紓甯� 0.鏈紓甯革紝1.寮傚父
+ */
+ private Integer crnErr;
+
+ /**
+ * 宸烽亾搴撲綅鎬绘暟
+ */
+ private Integer count;
+
+ /**
+ * 鍦ㄥ簱鏁�
+ */
+ private Integer stockQty;
+
+ /**
+ * 绌烘墭鐩樻暟
+ */
+ private Integer emptyPalletQty;
+
+ /**
+ * 绌哄簱浣嶆暟
+ */
+ private Integer emptySlotQty;
+
+ /**
+ * 鍏朵粬鐘舵�佸簱浣嶆暟
+ */
+ private Integer otherQty;
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasCrnpMapper.java b/src/main/java/com/zy/asrs/mapper/BasCrnpMapper.java
index baffc35..389fa94 100644
--- a/src/main/java/com/zy/asrs/mapper/BasCrnpMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasCrnpMapper.java
@@ -2,11 +2,18 @@
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.BasCrnp;
+import com.zy.asrs.entity.CrnLaneWayInfoDto;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
+
+import java.util.List;
@Mapper
@Repository
public interface BasCrnpMapper extends BaseMapper<BasCrnp> {
+ /**
+ * 鑾峰彇鍫嗗灈鏈虹姸鎬佸強鎵�灞炲贩閬撳簱浣嶇粺璁′俊鎭�
+ */
+ List<CrnLaneWayInfoDto> getCrnLaneWayInfo();
}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index aab0d10..4f8c1e0 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -90,6 +90,11 @@
*/
R getUnfulfilledOrders();
+ /**
+ * 鑾峰彇鍫嗗灈鏈虹姸鎬佸強鎵�灞炲贩閬撳簱浣嶇粺璁′俊鎭�
+ */
+ R getCrnLaneWayInfo();
+
/**
* 娣诲姞鍏ュ簱鍗�
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 eb6bf8a..13537f8 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -15,10 +15,7 @@
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.entity.result.ZphjcdgzVo;
import com.zy.asrs.entity.result.ZphjcdwcVo;
-import com.zy.asrs.mapper.LocDetlMapper;
-import com.zy.asrs.mapper.MatMapper;
-import com.zy.asrs.mapper.OrderMapper;
-import com.zy.asrs.mapper.TagMapper;
+import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.constant.MesConstant;
@@ -111,6 +108,9 @@
@Resource
private OrderMapper orderMapper;
+
+ @Resource
+ private BasCrnpMapper basCrnpMapper;
@Override
@Transactional
@@ -1973,6 +1973,12 @@
return R.ok(unfulfilledOrders);
}
+ @Override
+ public R getCrnLaneWayInfo() {
+ List<CrnLaneWayInfoDto> crnLaneWayInfo = basCrnpMapper.getCrnLaneWayInfo();
+ return R.ok(crnLaneWayInfo);
+ }
+
/**
* 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。
*/
diff --git a/src/main/resources/mapper/BasCrnpMapper.xml b/src/main/resources/mapper/BasCrnpMapper.xml
index 50d9755..9ee2944 100644
--- a/src/main/resources/mapper/BasCrnpMapper.xml
+++ b/src/main/resources/mapper/BasCrnpMapper.xml
@@ -27,5 +27,26 @@
<result column="tank_qty1" property="tankQty1" />
<result column="origin" property="origin" />
</resultMap>
+ <select id="getCrnLaneWayInfo" resultType="com.zy.asrs.entity.CrnLaneWayInfoDto">
+ select
+ crn.crn_no crnNo ,
+ crn.crn_sts crnSts,
+ case when crn.crn_err != 0 then 1 else 0 end as crnErr,
+ count(loc.loc_no) count,
+ count(case when loc.loc_sts = 'F' then 1 end) stockQty,
+ count(case when loc.loc_sts = 'D' then 1 end) emptyPalletQty,
+ count(case when loc.loc_sts = 'O' then 1 end) emptySlotQty,
+ count(case when loc.loc_sts != 'O' and loc.loc_sts != 'D' and loc.loc_sts != 'F' then 1 end) otherQty
+ from
+ asr_bas_crnp crn
+ left join asr_loc_mast loc on
+ crn.crn_no = loc.crn_no
+ group by
+ crn.crn_no,
+ crn.crn_sts,
+ crn.crn_err
+ order by
+ crn.crn_no
+ </select>
</mapper>
--
Gitblit v1.9.1