From 8edc8701512d6a02492c8f8d38c05a4253650117 Mon Sep 17 00:00:00 2001
From: yangyang
Date: 星期五, 21 三月 2025 08:19:22 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java              |   22 +++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/MatnrMapper.java            |    9 ++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java          |    5 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java |   37 ++++++++++++------
 rsf-server/src/main/resources/mapper/manager/MatnrMapper.xml                               |   32 ++++++++++++++++
 rsf-server/src/main/resources/application.yml                                              |    1 
 6 files changed, 91 insertions(+), 15 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
index 8a6897f..7b53065 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
@@ -50,6 +50,28 @@
 
         return  fieldsMap;
     }
+
+    public static void mergeFields(Map<String, Object> fileds ,String uuid) {
+        FieldsService fieldsService = SpringUtils.getBean(FieldsService.class);
+        List<Fields> fields = fieldsService.list(new LambdaQueryWrapper<Fields>().eq(Fields::getFlagEnable, 1).eq(Fields::getStatus, 1));
+        if (fields.isEmpty()) {
+            return;
+        }
+        FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class);
+        List<FieldsItem> fieldsItems = fieldsItemService.list(new LambdaQueryWrapper<FieldsItem>().eq(FieldsItem::getUuid, uuid));
+        for (Fields field : fields ) {
+            if (fieldsItems.isEmpty()) {
+                fileds.put(field.getFields(), null);
+                continue;
+            }
+            fieldsItems.forEach(fieldsItem -> {
+                if (fieldsItem.getFieldsId().equals(field.getId())) {
+                    fileds.put(field.getFields(), fieldsItem.getValue());
+                }
+            });
+        }
+
+    }
     
     /**
      * @param template
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/MatnrMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/MatnrMapper.java
index 72b237c..bfc59f1 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/MatnrMapper.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/MatnrMapper.java
@@ -1,12 +1,21 @@
 package com.vincent.rsf.server.manager.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.vincent.rsf.server.common.domain.BaseParam;
+import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.manager.entity.Matnr;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.Map;
 
 @Mapper
 @Repository
 public interface MatnrMapper extends BaseMapper<Matnr> {
 
+    IPage<Map<String, Object>> selectMatnrs(PageParam<Matnr, BaseParam> pages, @Param(Constants.WRAPPER) QueryWrapper<Matnr> matnrQueryWrapper);
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java
index 038a93b..5cb7c0c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java
@@ -1,5 +1,6 @@
 package com.vincent.rsf.server.manager.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.common.domain.BaseParam;
@@ -13,7 +14,7 @@
 
     R importExcels(MultipartFile file) throws Exception;
 
-    PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam);
-
     R saveMatnrs(Map<String, Object> matnr);
+
+    IPage<Map<String, Object>> getMatnrPage(PageParam<Matnr, BaseParam> pageParam);
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java
index 8985b97..1c875d1 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java
@@ -2,10 +2,12 @@
 
 import cn.afterturn.easypoi.excel.ExcelImportUtil;
 import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.vincent.rsf.framework.common.R;
-import com.vincent.rsf.framework.common.SpringUtils;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.PageParam;
@@ -20,8 +22,6 @@
 import com.vincent.rsf.server.manager.service.MatnrService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
-import com.vincent.rsf.server.system.entity.Fields;
-import com.vincent.rsf.server.system.service.FieldsService;
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -99,17 +99,28 @@
     }
 
     @Override
-    public PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam) {
-        PageParam<Matnr, BaseParam> page = this.page(pageParam, pageParam.buildWrapper(true));
-        List<Matnr> records = page.getRecords();
-        for (Matnr record : records) {
-            if (!Objects.isNull(record.getFieldsIndex())) {
-                Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
-                record.setExtendFields(fields);
-            }
+    public IPage<Map<String, Object>> getMatnrPage(PageParam<Matnr, BaseParam> pageParam) {
+        IPage<Map<String, Object>> reulst = this.baseMapper.selectMatnrs(pageParam, pageParam.buildWrapper(true));
+        /**鑾峰彇鐗╂枡鍒嗛〉淇℃伅 */
+        List<Map<String, Object>> mapList = reulst.getRecords();
+        if (!mapList.isEmpty()) {
+            mapList.forEach(map -> {
+                if (!Objects.isNull(map.get("fieldsIndex"))) {
+                   FieldsUtils.mergeFields(map, map.get("fieldsIndex").toString());
+                }
+            });
         }
-        page.setRecords(records);
-        return page;
+        List<Matnr> matnrs = JSONArray.parseArray(JSON.toJSONString(mapList), Matnr.class);
+//        PageParam<Matnr, BaseParam> page = this.page(pageParam, pageParam.buildWrapper(true));
+//        List<Matnr> records = page.getRecords();
+//        for (Matnr record : records) {
+//            if (!Objects.isNull(record.getFieldsIndex())) {
+//                Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
+//                record.setExtendFields(fields);
+//            }
+//        }
+//        page.setRecords(records);
+        return reulst;
     }
 
     /**
diff --git a/rsf-server/src/main/resources/application.yml b/rsf-server/src/main/resources/application.yml
index 94a4edf..dbc54f3 100644
--- a/rsf-server/src/main/resources/application.yml
+++ b/rsf-server/src/main/resources/application.yml
@@ -26,6 +26,7 @@
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     map-underscore-to-camel-case: true
     cache-enabled: true
+    call-setters-on-nulls: true
   global-config:
     :banner: false
     db-config:
diff --git a/rsf-server/src/main/resources/mapper/manager/MatnrMapper.xml b/rsf-server/src/main/resources/mapper/manager/MatnrMapper.xml
index 2ff6899..cc1f97b 100644
--- a/rsf-server/src/main/resources/mapper/manager/MatnrMapper.xml
+++ b/rsf-server/src/main/resources/mapper/manager/MatnrMapper.xml
@@ -2,4 +2,36 @@
 <!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.MatnrMapper">
 
+    <select id="selectMatnrs" resultType="java.util.Map">
+        select
+            `id`,
+            `name`,
+            `code`,
+            `shipper_id`,
+            `group_id`,
+            `rglar_id`,
+            `barcode`,
+            `spec`,
+            `model`,
+            `fields_index`,
+            `weight`,
+            `color`,
+            `size`,
+            `describle`,
+            `nrom_num`,
+            `unit`,
+            `pur_unit`,
+            `stock_unit`,
+            `stock_level`,
+            `flag_label_mange`,
+            `safe_qty`,
+            `min_qty`,
+            `max_qty`,
+            `stagn`,
+            `valid` ,
+            `valid_warn`,
+            `flag_check`
+        from man_matnr
+        ${ew.customSqlSegment}
+    </select>
 </mapper>

--
Gitblit v1.9.1