From d71f2838bef10e571572db8cd3f82e7db15e3880 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 15 八月 2025 09:03:24 +0800
Subject: [PATCH] 首页库存使用率修改

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/LocUsageDto.java  |   21 +++++++++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java |   13 +++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocMapper.java            |    5 +++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java          |    2 ++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java    |    7 +++++++
 rsf-server/src/main/resources/mapper/manager/LocMapper.xml                               |   11 +++++++++++
 6 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
index 59971b5..fb2daf9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
@@ -60,6 +60,13 @@
     }
 
     @PreAuthorize("hasAuthority('manager:loc:list')")
+    @ApiOperation(("鑾峰彇搴撲綅浣跨敤鐜�"))
+    @PostMapping("/loc/pie/list")
+    public R locPie() {
+        return R.ok().add(locService.getLocPies());
+    }
+
+    @PreAuthorize("hasAuthority('manager:loc:list')")
     @PostMapping("/loc/areaNoUse/list")
     public R areaNoUselist(@RequestBody Map<String, Object> map) {
         String locCode = map.get("locCode").toString();
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/LocUsageDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/LocUsageDto.java
new file mode 100644
index 0000000..702e0d8
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/dto/LocUsageDto.java
@@ -0,0 +1,21 @@
+package com.vincent.rsf.server.manager.controller.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "LocUsageDto", description = "搴撲綅浣跨敤鐜�")
+public class LocUsageDto implements Serializable {
+
+    @ApiModelProperty("搴撲綅绫诲瀷")
+    private String name;
+    @ApiModelProperty("搴撲綅浣跨敤鐜�")
+    private Double value;
+    @ApiModelProperty("搴撲綅绫诲瀷鏁伴噺")
+    private Integer count;
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocMapper.java
index 34c3375..5418115 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocMapper.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/LocMapper.java
@@ -1,10 +1,13 @@
 package com.vincent.rsf.server.manager.mapper;
 
+import com.vincent.rsf.server.manager.controller.dto.LocUsageDto;
 import com.vincent.rsf.server.manager.entity.Loc;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
@@ -12,4 +15,6 @@
 
     @Update("truncate table man_loc")
     boolean deleteAll();
+
+    List<LocUsageDto> getLocPies();
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java
index 9b936bc..c1eee8c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java
@@ -17,4 +17,6 @@
     boolean updateLoc(Loc loc);
 
     R batchBindLocs(LocModifyParams locs);
+
+    R getLocPies();
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
index 769e868..179a894 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
@@ -5,6 +5,7 @@
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.manager.controller.dto.LocUsageDto;
 import com.vincent.rsf.server.manager.controller.params.LocMastInitParam;
 import com.vincent.rsf.server.manager.controller.params.LocModifyParams;
 import com.vincent.rsf.server.manager.entity.*;
@@ -40,6 +41,8 @@
 
     @Autowired
     private LocTypeRelaMapper locTypeRelaMapper;
+    @Autowired
+    private LocService locService;
 
     @Override
     public R modifyLocs(LocModifyParams locs) {
@@ -217,4 +220,14 @@
 
         return R.ok();
     }
+
+    /**
+     * 鑾峰彇搴撲綅浣跨敤鎯呭喌
+     * @return
+     */
+    @Override
+    public R getLocPies() {
+        List<LocUsageDto> locPies = this.baseMapper.getLocPies();
+        return R.ok().add(locPies);
+    }
 }
diff --git a/rsf-server/src/main/resources/mapper/manager/LocMapper.xml b/rsf-server/src/main/resources/mapper/manager/LocMapper.xml
index ee706ac..059ec5e 100644
--- a/rsf-server/src/main/resources/mapper/manager/LocMapper.xml
+++ b/rsf-server/src/main/resources/mapper/manager/LocMapper.xml
@@ -2,4 +2,15 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.vincent.rsf.server.manager.mapper.LocMapper">
 
+    <select id="getLocPies" resultType="com.vincent.rsf.server.manager.controller.dto.LocUsageDto">
+            SELECT
+                use_status AS `name`,
+                COUNT(`code`) `value`,
+                SUM(loi.anfme) anfme
+            FROM
+                man_loc l
+                INNER JOIN man_loc_item loi ON l.id = loi.loc_id
+           GROUP BY
+                use_status
+    </select>
 </mapper>

--
Gitblit v1.9.1