From 555fdbae1f338a404da8d5f4c52c0afb8003bce6 Mon Sep 17 00:00:00 2001
From: lixiangyu <lixiangyu@xalxzn.com>
Date: 星期二, 09 九月 2025 17:54:38 +0800
Subject: [PATCH] feat(cms): 添加库存刀具列表接口并优化相关功能

---
 src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveServiceImpl.java |    9 ++++
 src/main/java/org/jeecg/modules/cms/entity/CuttingReceive.java                  |    7 +--
 src/main/java/org/jeecg/modules/cms/entity/CuttingReceiveDetail.java            |    6 +--
 src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveMapper.xml         |   17 ++++++++
 src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveDetailMapper.xml   |   10 +++-
 src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveService.java         |    4 ++
 src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveMapper.java            |    3 +
 src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingToolMapper.xml            |   28 +++++++-------
 src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java    |   27 ++++++++++---
 9 files changed, 79 insertions(+), 32 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java b/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
index 17ad902..a1be185 100644
--- a/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
+++ b/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
@@ -12,13 +12,12 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import liquibase.pro.packaged.G;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.cms.entity.CuttingInbound;
-import org.jeecg.modules.cms.entity.CuttingInboundDetail;
-import org.jeecg.modules.cms.entity.CuttingReceive;
-import org.jeecg.modules.cms.entity.CuttingReceiveDetail;
+import org.jeecg.modules.cms.entity.*;
+import org.jeecg.modules.cms.service.ICuttingInventoryService;
 import org.jeecg.modules.cms.service.ICuttingReceiveDetailService;
 import org.jeecg.modules.cms.service.ICuttingReceiveService;
 
@@ -59,7 +58,6 @@
 
     @Autowired
     private ICuttingReceiveDetailService cuttingReceiveDetailService;
-
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
      *
@@ -93,13 +91,16 @@
     //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:add")
     @PostMapping(value = "/add")
     public Result<String> add(@RequestBody JSONObject jSONObject) {
+        // 淇濆瓨涓昏〃鏁版嵁
         CuttingReceive cuttingReceive = jSONObject.toJavaObject(CuttingReceive.class);
         cuttingReceive.setOrderStatus("1");
         cuttingReceiveService.saveOrUpdate(cuttingReceive);
-        //鍒犻櫎鍘熷叧鑱旀暟鎹�
+
+        // 鍒犻櫎鍘熸湁鍏宠仈鐨勬槑缁嗘暟鎹�
         List<CuttingReceiveDetail> cuttingReceiveDetailList = cuttingReceiveDetailService.lambdaQuery().eq(CuttingReceiveDetail::getOrderId, cuttingReceive.getId()).list();
         cuttingReceiveDetailService.removeBatchByIds(cuttingReceiveDetailList);
-        //娣诲姞鏂板叧鑱旀暟鎹�
+
+        // 閲嶆柊娣诲姞鏂扮殑鏄庣粏鏁版嵁
         JSONArray jsonArray = jSONObject.getJSONArray("detailData");
         List<CuttingReceiveDetail> list = jsonArray.toJavaList(CuttingReceiveDetail.class);
         for (int i = 0; i < list.size(); i++) {
@@ -209,4 +210,16 @@
         return Result.ok(list);
     }
 
+    /**
+     * 閫夋嫨搴撳瓨鍒�鍏风殑鍒楄〃
+     *
+     * @return
+     */
+    @GetMapping("/getInventoryToolList")
+    public Result<?> getInventoryToolList(@RequestParam("pageNo") Integer pageNo,
+                                         @RequestParam("pageSize") Integer pageSize,
+                                         @RequestParam Map<String, Object> params) {
+        IPage<Map<String, Object>> inventoryTooList = cuttingReceiveService.getInventoryToolList(pageNo, pageSize, params);
+        return Result.ok(inventoryTooList);
+    }
 }
diff --git a/src/main/java/org/jeecg/modules/cms/entity/CuttingReceive.java b/src/main/java/org/jeecg/modules/cms/entity/CuttingReceive.java
index dba3e42..c0e3ad6 100644
--- a/src/main/java/org/jeecg/modules/cms/entity/CuttingReceive.java
+++ b/src/main/java/org/jeecg/modules/cms/entity/CuttingReceive.java
@@ -4,10 +4,8 @@
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.jeecg.common.constant.CommonConstant;
@@ -121,4 +119,5 @@
 	@Excel(name = "褰掕繕纭鎰忚", width = 15)
     @ApiModelProperty(value = "褰掕繕纭鎰忚")
     private String returnConfirmComment;
+
 }
diff --git a/src/main/java/org/jeecg/modules/cms/entity/CuttingReceiveDetail.java b/src/main/java/org/jeecg/modules/cms/entity/CuttingReceiveDetail.java
index 18424b9..731e4d8 100644
--- a/src/main/java/org/jeecg/modules/cms/entity/CuttingReceiveDetail.java
+++ b/src/main/java/org/jeecg/modules/cms/entity/CuttingReceiveDetail.java
@@ -4,10 +4,8 @@
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
diff --git a/src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveMapper.java b/src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveMapper.java
index 643c97e..922c6e3 100644
--- a/src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveMapper.java
+++ b/src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveMapper.java
@@ -1,7 +1,9 @@
 package org.jeecg.modules.cms.mapper;
 
 import java.util.List;
+import java.util.Map;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.cms.entity.CuttingReceive;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -14,4 +16,5 @@
  */
 public interface CuttingReceiveMapper extends BaseMapper<CuttingReceive> {
 
+    IPage<Map<String, Object>> getInventoryToolList(IPage<Map> pageData, Map<String, Object> params);
 }
diff --git a/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveDetailMapper.xml b/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveDetailMapper.xml
index f8277af..643a8fc 100644
--- a/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveDetailMapper.xml
+++ b/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveDetailMapper.xml
@@ -9,11 +9,15 @@
             t1.cutting_id cuttingId,
             t1.workpiece_material workpieceMaterial,
             t1.used_life usedLife,
-            t2.cutting_code cuttingCode,
-            t2.cutting_name cuttingName
+            t2.cutting_barcode cuttingCBarcode,
+            t2.inventory_status inventoryStatus,
+            t2.current_life currentLife,
+            t3.cutting_code cuttingCode,
+            t3.cutting_name cuttingName
         FROM
             cms_cutting_receive_detail t1
-                LEFT JOIN cms_cutting_tool t2 ON t1.cutting_id = t2.id
+            LEFT JOIN cms_cutting_inventory t2 ON t1.inventory_id = t2.id
+            LEFT JOIN cms_cutting_tool t3 ON t1.cutting_id = t3.id
         WHERE t1.order_id = #{orderId}
     </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveMapper.xml b/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveMapper.xml
index cfc1730..57a8969 100644
--- a/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveMapper.xml
+++ b/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveMapper.xml
@@ -2,4 +2,21 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.cms.mapper.CuttingReceiveMapper">
 
+    <select id="getInventoryToolList" parameterType="Map" resultType="Map">
+        SELECT
+            t1.cutting_id cuttingId,
+            t1.id,
+            t1.cutting_barcode cuttingBarcode,
+            t1.current_life currentLife,
+            t2.cutting_code cuttingCode,
+            t2.cutting_name cuttingName,
+            t2.cutting_category,
+            t3.item_text cuttingCategory
+        FROM cms_cutting_inventory t1
+        LEFT JOIN cms_cutting_tool t2 ON t1.cutting_id = t2.id
+        LEFT JOIN (select * from v_sys_dict where dict_code = 'cutting_category') t3 on t3.item_value = t2.cutting_category
+        WHERE t1.inventory_status = '姝e父'
+        AND t2.del_flag = 0
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingToolMapper.xml b/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingToolMapper.xml
index ccfe624..f67ca3b 100644
--- a/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingToolMapper.xml
+++ b/src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingToolMapper.xml
@@ -4,21 +4,21 @@
 
     <select id="getCuttingToolList"  parameterType="Map" resultType="Map">
         SELECT
-        t1.id,
-        t1.cutting_code cuttingCode,
-        t1.cutting_name cuttingName,
-        t1.cutting_category,
-        t1.store_location storeLocation,
-        t1.supplier_id supplierId,
-        t1.minimum_package_unit minimumPackageUnit,
-        t1.cutting_material cuttingMaterial,
-        t1.cutting_model cuttingModel,
-        t1.drawing_number drawingNumber,
-        t1.inventory_warning inventoryWarning,
-        t1.remark remark,
-        t2.item_text cuttingCategory
+            t1.id,
+            t1.cutting_code cuttingCode,
+            t1.cutting_name cuttingName,
+            t1.cutting_category,
+            t1.store_location storeLocation,
+            t1.supplier_id supplierId,
+            t1.minimum_package_unit minimumPackageUnit,
+            t1.cutting_material cuttingMaterial,
+            t1.cutting_model cuttingModel,
+            t1.drawing_number drawingNumber,
+            t1.inventory_warning inventoryWarning,
+            t1.remark remark,
+            t2.item_text cuttingCategory
         FROM
-        cms_cutting_tool t1
+            cms_cutting_tool t1
         left join (select * from v_sys_dict where dict_code = 'cutting_category') t2 on t2.item_value = t1.cutting_category
         WHERE t1.del_flag = 0
         <if test="params.cuttingCode != null and params.cuttingCode != ''">
diff --git a/src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveService.java b/src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveService.java
index 39b1229..1e69198 100644
--- a/src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveService.java
+++ b/src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveService.java
@@ -1,7 +1,10 @@
 package org.jeecg.modules.cms.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.jeecg.modules.cms.entity.CuttingReceive;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
 
 /**
  * @Description: 鍒�鍏烽鐢ㄥ崟
@@ -11,4 +14,5 @@
  */
 public interface ICuttingReceiveService extends IService<CuttingReceive> {
 
+    IPage<Map<String, Object>> getInventoryToolList(Integer pageNo, Integer pageSize, Map<String, Object> params);
 }
diff --git a/src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveServiceImpl.java b/src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveServiceImpl.java
index 72a03d1..b385d79 100644
--- a/src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveServiceImpl.java
+++ b/src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveServiceImpl.java
@@ -1,11 +1,15 @@
 package org.jeecg.modules.cms.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.cms.entity.CuttingReceive;
 import org.jeecg.modules.cms.mapper.CuttingReceiveMapper;
 import org.jeecg.modules.cms.service.ICuttingReceiveService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.Map;
 
 /**
  * @Description: 鍒�鍏烽鐢ㄥ崟
@@ -16,4 +20,9 @@
 @Service
 public class CuttingReceiveServiceImpl extends ServiceImpl<CuttingReceiveMapper, CuttingReceive> implements ICuttingReceiveService {
 
+    @Override
+    public IPage<Map<String, Object>> getInventoryToolList(Integer pageNo, Integer pageSize, Map<String, Object> params) {
+        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        return super.getBaseMapper().getInventoryToolList(pageData,params);
+    }
 }

--
Gitblit v1.9.3