From 97304f6bb74875063755e53721d44b2f2a587cc5 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 15 三月 2025 17:32:41 +0800
Subject: [PATCH] #修改 1. mybatis Map驼峰不转换问题修复 2. 字段修改导致接口显示问题修复

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java            |   13 ++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java        |   30 ++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/AsnOrderAndItemsParams.java |   28 ++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java                  |    3 
 rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml                                   |   36 ++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java               |   16 +-
 /dev/null                                                                                             |   12 --
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java          |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/system/utils/ExtendFieldsUtils.java                   |   95 +++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java     |   42 +++---
 rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java                  |   25 ++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java         |   32 +++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java              |   10 +
 rsf-server/src/main/resources/application.yml                                                         |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java                   |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java                |   12 ++
 16 files changed, 301 insertions(+), 57 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java
index a5b525b..426cf07 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java
@@ -35,7 +35,7 @@
     private String poCode;
 
     @ApiModelProperty("鐗╂枡鍚嶇О")
-    private String matnk;
+    private String maktx;
 
     @ApiModelProperty("渚涘簲鍟嗘壒娆�")
     private String splrBatch;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index 798c9d7..527cf7b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -204,7 +204,6 @@
                                         .setShiperId(matnr.getShipperId())
                                         .setValue(extendFields.get(key).toString())
                                         .setUuid(uuid16);
-
                                 fieldsItems.add(fieldsItem);
                                 //鍞竴鏍囪瘑鍏ュ簱
                                 item.setFieldsIndex(uuid16);
@@ -294,7 +293,7 @@
             ReceiptDetlsDto detlsDto = new ReceiptDetlsDto();
 
             detlsDto.setAsnCode(asnOrderItem.getAsnCode())
-                    .setMatnk(asnOrderItem.getMaktx())
+                    .setMaktx(asnOrderItem.getMaktx())
                     .setBarcode(asnOrderItem.getBarcode())
                     .setPoCode(asnOrderItem.getPoCode())
                     .setPurQty(asnOrderItem.getAnfme())
@@ -325,14 +324,17 @@
                 detlsDto.setStockQty(stockItem.getQty() + stockItem.getWorkQty());
             }
 
-            //鑾峰彇閲囪喘鍗曟槑缁嗕俊鎭�
-            PurchaseItem purchaseItem = purchaseItemMapper.selectOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, asnOrderItem.getPoDetlId()));
-            //SET 骞冲彴琛屽彿
-            detlsDto.setPlatformId(purchaseItem.getPlatItemId());
+            if (!Objects.isNull(asnOrderItem.getPoDetlId())) {
+                //鑾峰彇閲囪喘鍗曟槑缁嗕俊鎭�
+                PurchaseItem purchaseItem = purchaseItemMapper.selectOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, asnOrderItem.getPoDetlId()));
+                if (Objects.isNull(purchaseItem)) {
+                    //SET 骞冲彴琛屽彿
+                    detlsDto.setPlatformId(purchaseItem.getPlatItemId());
+                }
+            }
 
             detlsDtos.add(detlsDto);
         });
-
 
         return R.ok(detlsDtos);
     }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
index d955fd9..3f58834 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
@@ -1,5 +1,8 @@
 package com.vincent.rsf.server.common.config;
 
+import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
+import com.baomidou.mybatisplus.core.MybatisConfiguration;
+import com.baomidou.mybatisplus.extension.MybatisMapWrapperFactory;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
@@ -12,6 +15,7 @@
 import org.springframework.context.annotation.Configuration;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
 
 import java.util.Arrays;
 
@@ -22,6 +26,7 @@
  * @since 2018-02-22 11:29:28
  */
 @Configuration
+@EnableTransactionManagement
 public class MybatisPlusConfig {
 
     @Bean
@@ -78,4 +83,24 @@
         return new LongValue(1);
     }
 
+
+    /**
+     * 瑙e喅Map鏄犲皠闈為┘宄�
+     * @return
+     */
+    @Bean
+    public ConfigurationCustomizer mybatisConfigurationCustomizer(){
+        return new ConfigurationCustomizer() {
+            /**
+             * Customize the given a {@link MybatisConfiguration} object.
+             *
+             * @param configuration the configuration object to customize
+             */
+            @Override
+            public void customize(MybatisConfiguration configuration) {
+                configuration.setObjectWrapperFactory(new MybatisMapWrapperFactory());
+            }
+        };
+    }
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
index 8453c56..0f8d3ec 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
@@ -10,6 +10,7 @@
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.KeyValVo;
 import com.vincent.rsf.server.common.domain.PageParam;
+import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 import com.vincent.rsf.server.manager.service.AsnOrderService;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
@@ -54,6 +55,7 @@
     }
 
     @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+    @OperationLog("琛ㄥ崟鏌ヨ")
     @GetMapping("/asnOrder/{id}")
     public R get(@PathVariable("id") Long id) {
         return R.ok().add(asnOrderService.getById(id));
@@ -159,4 +161,15 @@
         }
         return asnOrderService.generateBarcode(orders);
     }
+
+
+    @PostMapping("/asnOrder/items/save")
+    @ApiOperation("淇濆瓨涓诲崟鍙婃槑缁�")
+    @PreAuthorize("hasAuthority('manager:asnOrder:save')")
+    public R orderAndItem(@RequestBody AsnOrderAndItemsParams params) {
+        if (Objects.isNull(params)) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return asnOrderService.saveOrderAndItems(params);
+    }
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java
index dff2932..d192832 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java
@@ -1,28 +1,20 @@
 package com.vincent.rsf.server.manager.controller;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
+
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.common.utils.CommonUtil;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.common.annotation.OperationLog;
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.KeyValVo;
 import com.vincent.rsf.server.common.domain.PageParam;
-import com.vincent.rsf.server.manager.controller.params.AsnOrderItemParams;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
 import com.vincent.rsf.server.manager.service.AsnOrderItemService;
 import com.vincent.rsf.server.system.controller.BaseController;
-import com.vincent.rsf.server.system.entity.Fields;
-import com.vincent.rsf.server.system.entity.FieldsItem;
-import com.vincent.rsf.server.system.service.FieldsItemService;
-import com.vincent.rsf.server.system.service.FieldsService;
-import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,10 +22,8 @@
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
-import java.util.stream.Collectors;
 
 @Api(tags = "ASN鍗曟槑缁�")
 @RestController
@@ -43,11 +33,12 @@
     private AsnOrderItemService asnOrderItemService;
 
     @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
+    @ApiOperation("鍒嗛〉鑾峰彇鍒楄〃")
     @PostMapping("/asnOrderItem/page")
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<AsnOrderItem, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrderItem.class);
-        return R.ok().add(asnOrderItemService.page(pageParam, pageParam.buildWrapper(true)));
+        return R.ok().add(asnOrderItemService.listByAsnId(pageParam, pageParam.buildWrapper(true)));
     }
 
     @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
@@ -84,6 +75,19 @@
         return R.ok("Save Success");
 
     }
+
+    @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
+    @ApiOperation("鑾峰彇ASN鍗曟槑缁嗕俊鎭�")
+    @PostMapping("/asnOrderItem/all/list")
+    public R listByAsnId(@RequestBody Map<String, Object> map) {
+        if (Objects.isNull(map)) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return R.ok();
+//        return asnOrderItemService.listByAsnId(map);
+    }
+
+
 
     @PreAuthorize("hasAuthority('manager:asnOrderItem:update')")
     @OperationLog("Update ASN鍗曟嵁")
@@ -123,7 +127,7 @@
 
     @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
     @PostMapping("/asnOrderItem/export")
-    @ApiOperation("鏀惰揣閫氱煡鍗曟槑缁�")
+    @ApiOperation("瀵煎嚭鏀惰揣閫氱煡鍗曟槑缁�")
     public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
         AsnOrderTemplate template = ExcelUtil.mockData(AsnOrderTemplate.class);
         List<AsnOrderTemplate> list = new ArrayList<>();
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
index 112b6f7..f32b867 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
@@ -109,4 +109,5 @@
         ExcelUtil.build(ExcelUtil.create(qlyInspectService.list(), QlyInspect.class), response);
     }
 
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/AsnOrderAndItemsParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/AsnOrderAndItemsParams.java
new file mode 100644
index 0000000..411eade
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/AsnOrderAndItemsParams.java
@@ -0,0 +1,28 @@
+package com.vincent.rsf.server.manager.controller.params;
+
+import com.vincent.rsf.server.manager.entity.AsnOrder;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Ryan
+ * @version 1.0
+ * @title AsnOrderAndItemsParams
+ * @description
+ * @create 2025/3/15 08:52
+ */
+@Data
+@ApiModel(value = "AsnOrderAndItemsParams", description = "涓诲崟鏄庣粏")
+public class AsnOrderAndItemsParams implements Serializable {
+
+    @ApiModelProperty("涓诲崟淇℃伅")
+    private AsnOrder orders;
+
+    @ApiModelProperty("鏄庣粏")
+    private List<Map<String, Object>> items;
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java
index 48b4de4..25d621b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java
@@ -1,12 +1,24 @@
 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.AsnOrderItem;
 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 AsnOrderItemMapper extends BaseMapper<AsnOrderItem> {
 
+    IPage<Map<String, Object>> resultForMap(PageParam<AsnOrderItem, BaseParam> pages, @Param(Constants.WRAPPER)  QueryWrapper<AsnOrderItem> buildWrapper);
+
+//    List<Map<String, Object>> resultForMap(long pageParam, @Param(Constants.WRAPPER) QueryWrapper<AsnOrderItem> ew);
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java
index c677466..3b15e3a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemService.java
@@ -1,12 +1,14 @@
 package com.vincent.rsf.server.manager.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.framework.exception.CoolException;
+import com.vincent.rsf.server.common.domain.BaseParam;
+import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -15,4 +17,8 @@
     R excelImport(MultipartFile file, HashMap<String, Object> hashMap) throws Exception;
 
     boolean fieldsSave(Map<String, Object> params);
+
+//    R listByAsnId(Map<String, Object> map);
+
+    IPage<Map<String, Object>> listByAsnId(PageParam<AsnOrderItem, BaseParam> pageParam, QueryWrapper<AsnOrderItem> buildWrapper);
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
index 3ea6b5d..5f9e5c8 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 
 import java.util.List;
@@ -14,4 +15,6 @@
     R generateBarcode(List<AsnOrder> orders);
 
     List<AsnOrder> getListByMatnr(Map<String, String> params);
+
+    R saveOrderAndItems(AsnOrderAndItemsParams params);
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index 60596bb..c9e55fa 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -4,9 +4,12 @@
 import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
-import com.vincent.rsf.server.common.utils.CommonUtil;
+import com.vincent.rsf.server.common.domain.BaseParam;
+import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.manager.entity.AsnOrder;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
@@ -15,10 +18,9 @@
 import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
 import com.vincent.rsf.server.manager.service.AsnOrderItemService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.vincent.rsf.server.system.entity.Fields;
-import com.vincent.rsf.server.system.entity.FieldsItem;
 import com.vincent.rsf.server.system.service.FieldsItemService;
 import com.vincent.rsf.server.system.service.FieldsService;
+import com.vincent.rsf.server.system.utils.ExtendFieldsUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -36,6 +38,7 @@
 
     @Autowired
     private FieldsService fieldsService;
+
     @Autowired
     private FieldsItemService fieldsItemService;
 
@@ -69,28 +72,23 @@
 
     @Override
     public boolean fieldsSave(Map<String, Object> params) {
-        List<Fields> fields = fieldsService.list(new LambdaQueryWrapper<Fields>().eq(Fields::getStatus, 1).eq(Fields::getFlagEnable, 1));
-        List<FieldsItem> fieldsItems = new ArrayList<>();
-        if (!fields.isEmpty()) {
-            String uuid16 = CommonUtil.randomUUID16();
-            for (Fields obj : fields) {
-                if (!Objects.isNull(params.get(obj.getFields()))) {
-                    FieldsItem item = new FieldsItem();
-                    item.setUuid(uuid16)
-                            .setValue(params.get(obj.getFields()).toString())
-                            .setMatnrId(Long.parseLong(params.get("matnrId").toString()))
-                            .setFieldsId(obj.getId());
-                    fieldsItems.add(item);
-                }
-            }
-            if (!fieldsItemService.saveBatch(fieldsItems)) {
-                throw new CoolException("鍗曟嵁鏄庣粏鎵╁睍瀛楁淇濆瓨澶辫触锛侊紒");
-            }
-        }
+       //淇濆瓨鎵╁睍瀛楁
+        ExtendFieldsUtils.saveFields(params);
         AsnOrderItem asnOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), AsnOrderItem.class);
-        if (!this.save(asnOrderItem)) {
+        if (!this.saveOrUpdate(asnOrderItem)) {
             throw new CoolException("鏀惰揣閫氱煡鍗曟槑缁嗕繚瀛樺け璐ワ紒锛�");
         }
         return true;
     }
+
+    @Override
+    public IPage<Map<String, Object>> listByAsnId(PageParam<AsnOrderItem, BaseParam> pageParam, QueryWrapper<AsnOrderItem> buildWrapper) {
+        IPage<Map<String, Object>> hsahMap = this.baseMapper.resultForMap(pageParam, buildWrapper);
+        if (hsahMap.getRecords().isEmpty()) {
+            return hsahMap.setRecords(new ArrayList<>());
+        }
+        hsahMap.setRecords(ExtendFieldsUtils.getExtendFields(hsahMap.getRecords()));
+        return hsahMap;
+
+    }
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
index 99da85e..098d817 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -6,6 +6,7 @@
 import com.vincent.rsf.server.api.entity.dto.PoItemsDto;
 import com.vincent.rsf.server.api.service.ReceiveMsgService;
 import com.vincent.rsf.server.api.service.ReportMsgService;
+import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper;
 import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
@@ -98,4 +99,35 @@
 
         return this.listByIds(longList);
     }
+
+    @Override
+    public R saveOrderAndItems(AsnOrderAndItemsParams params) {
+        if (Objects.isNull(params.getOrders())) {
+            throw new CoolException("涓诲崟淇℃伅涓嶈兘涓虹┖");
+        }
+        AsnOrder orders = params.getOrders();
+
+        String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_ASN_ORDER, orders);
+        if (Objects.isNull(ruleCode)) {
+            throw new CoolException("鏀惰揣閫氱煡鍗曠紪鐮佺敓鎴愬け璐ワ紒锛�");
+        }
+        orders.setCode(ruleCode);
+        if (!this.save(orders)) {
+            throw new CoolException("涓诲崟淇濆瓨澶辫触锛侊紒");
+        }
+        if (params.getItems().isEmpty()) {
+            throw new CoolException("鏀惰揣閫氱煡鍗曟槑缁嗕笉鑳戒负瀵掗鑺傦紒锛�");
+        }
+        params.getItems().forEach(item -> {
+            item.put("asnId", orders.getId());
+            item.put("asnCode", orders.getCode());
+            item.put("poCode", orders.getPoCode());
+
+            if (!asnOrderItemService.fieldsSave(item)) {
+                throw new CoolException("鏄庣粏淇濆瓨澶辫触锛侊紒");
+            }
+
+        });
+        return R.ok("淇濆瓨鎴愬姛!!");
+    }
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/ExtendFieldsUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/ExtendFieldsUtils.java
new file mode 100644
index 0000000..8972eff
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/ExtendFieldsUtils.java
@@ -0,0 +1,95 @@
+package com.vincent.rsf.server.system.utils;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.framework.common.SpringUtils;
+import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.common.utils.CommonUtil;
+import com.vincent.rsf.server.system.entity.Fields;
+import com.vincent.rsf.server.system.entity.FieldsItem;
+import com.vincent.rsf.server.system.service.FieldsItemService;
+import com.vincent.rsf.server.system.service.FieldsService;
+import org.springframework.beans.BeanUtils;
+
+import java.util.*;
+
+/**
+ * @author Ryan
+ * @version 1.0
+ * @title ExtendFieldsUtils
+ * @description
+ * @create 2025/3/15 12:40
+ */
+public class ExtendFieldsUtils {
+
+    /**
+     * @author Ryan
+     * @description 鏄庣粏鍗曟嵁淇濆瓨鎵╁睍瀛楁
+     * @param
+     * @return
+     * @time 2025/3/15 13:36
+     */
+    public static Boolean saveFields(Map<String, Object> params) {
+        FieldsService fieldsService = SpringUtils.getBean(FieldsService.class);
+        List<Fields> fields = fieldsService.list(new LambdaQueryWrapper<Fields>()
+                .eq(Fields::getStatus, 1)
+                .eq(Fields::getFlagEnable, 1));
+        List<FieldsItem> fieldsItems = new ArrayList<>();
+        if (!fields.isEmpty()) {
+            String uuid16 = CommonUtil.randomUUID16();
+            for (Fields obj : fields) {
+                if (!Objects.isNull(params.get(obj.getFields()))) {
+                    FieldsItem item = new FieldsItem();
+                    item.setUuid(uuid16)
+                            .setValue(params.get(obj.getFields()).toString())
+                            .setMatnrId(Long.parseLong(params.get("matnrId").toString()))
+                            .setFieldsId(obj.getId());
+                    fieldsItems.add(item);
+                }
+                params.put("fieldsIndex", uuid16);
+            }
+            FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class);
+            if (!fieldsItemService.saveBatch(fieldsItems)) {
+                throw new CoolException("鍗曟嵁鏄庣粏鎵╁睍瀛楁淇濆瓨澶辫触锛侊紒");
+            }
+        }
+        return true;
+    }
+
+
+    /**
+     * @author Ryan
+     * @description 鑾峰彇鎵╁睍瀛楁key-value鍊�
+     * @param
+     * @return
+     * @time 2025/3/15 15:05
+     */
+    public static List<Map<String, Object>> getExtendFields(List<Map<String, Object>> params) {
+        FieldsService fieldsService = SpringUtils.getBean(FieldsService.class);
+        List<Fields> fields = fieldsService.list(new LambdaQueryWrapper<Fields>()
+                .eq(Fields::getStatus, 1)
+                .eq(Fields::getFlagEnable, 1));
+        FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (Map<String, Object> param : params) {
+            result.add(param);
+            if (Objects.isNull(param.get("fieldsIndex"))) {
+                continue;
+            }
+            List<FieldsItem> itemList = fieldsItemService
+                    .list(new LambdaQueryWrapper<FieldsItem>()
+                            .eq(FieldsItem::getUuid, param.get("fieldsIndex")));
+            if (itemList.isEmpty()) {
+                continue;
+            }
+            fields.forEach(fds -> {
+                for (FieldsItem fieldsItem : itemList) {
+                    if (!Objects.isNull(fieldsItem.getFieldsId()) && fieldsItem.getFieldsId().equals(fds.getId())) {
+                        param.put(fds.getFields(), fieldsItem.getValue());
+                    }
+                }
+            });
+        }
+
+        return result;
+    }
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/test/controller/QlyInspectController.java b/rsf-server/src/main/java/com/vincent/rsf/server/test/controller/QlyInspectController.java
deleted file mode 100644
index 573f495..0000000
--- a/rsf-server/src/main/java/com/vincent/rsf/server/test/controller/QlyInspectController.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package com.vincent.rsf.server.test.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.vincent.rsf.framework.common.Cools;
-import com.vincent.rsf.framework.common.R;
-import com.vincent.rsf.server.common.utils.ExcelUtil;
-import com.vincent.rsf.server.common.annotation.OperationLog;
-import com.vincent.rsf.server.common.domain.BaseParam;
-import com.vincent.rsf.server.common.domain.KeyValVo;
-import com.vincent.rsf.server.common.domain.PageParam;
-import com.vincent.rsf.server.test.entity.QlyInspect;
-import com.vincent.rsf.server.test.service.QlyInspectService;
-import com.vincent.rsf.server.system.controller.BaseController;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-import java.util.*;
-
-@RestController
-public class QlyInspectController extends BaseController {
-
-    @Autowired
-    private QlyInspectService qlyInspectService;
-
-    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
-    @PostMapping("/qlyInspect/page")
-    public R page(@RequestBody Map<String, Object> map) {
-        BaseParam baseParam = buildParam(map, BaseParam.class);
-        PageParam<QlyInspect, BaseParam> pageParam = new PageParam<>(baseParam, QlyInspect.class);
-        return R.ok().add(qlyInspectService.page(pageParam, pageParam.buildWrapper(true)));
-    }
-
-    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
-    @PostMapping("/qlyInspect/list")
-    public R list(@RequestBody Map<String, Object> map) {
-        return R.ok().add(qlyInspectService.list());
-    }
-
-    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
-    @PostMapping({"/qlyInspect/many/{ids}", "/qlyInspects/many/{ids}"})
-    public R many(@PathVariable Long[] ids) {
-        return R.ok().add(qlyInspectService.listByIds(Arrays.asList(ids)));
-    }
-
-    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
-    @GetMapping("/qlyInspect/{id}")
-    public R get(@PathVariable("id") Long id) {
-        return R.ok().add(qlyInspectService.getById(id));
-    }
-
-    @PreAuthorize("hasAuthority('test:qlyInspect:save')")
-    @OperationLog("Create 璐ㄦ淇℃伅")
-    @PostMapping("/qlyInspect/save")
-    public R save(@RequestBody QlyInspect qlyInspect) {
-        qlyInspect.setCreateBy(getLoginUserId());
-        qlyInspect.setCreateTime(new Date());
-        qlyInspect.setUpdateBy(getLoginUserId());
-        qlyInspect.setUpdateTime(new Date());
-        if (!qlyInspectService.save(qlyInspect)) {
-            return R.error("Save Fail");
-        }
-        return R.ok("Save Success").add(qlyInspect);
-    }
-
-    @PreAuthorize("hasAuthority('test:qlyInspect:update')")
-    @OperationLog("Update 璐ㄦ淇℃伅")
-    @PostMapping("/qlyInspect/update")
-    public R update(@RequestBody QlyInspect qlyInspect) {
-        qlyInspect.setUpdateBy(getLoginUserId());
-        qlyInspect.setUpdateTime(new Date());
-        if (!qlyInspectService.updateById(qlyInspect)) {
-            return R.error("Update Fail");
-        }
-        return R.ok("Update Success").add(qlyInspect);
-    }
-
-    @PreAuthorize("hasAuthority('test:qlyInspect:remove')")
-    @OperationLog("Delete 璐ㄦ淇℃伅")
-    @PostMapping("/qlyInspect/remove/{ids}")
-    public R remove(@PathVariable Long[] ids) {
-        if (!qlyInspectService.removeByIds(Arrays.asList(ids))) {
-            return R.error("Delete Fail");
-        }
-        return R.ok("Delete Success").add(ids);
-    }
-
-    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
-    @PostMapping("/qlyInspect/query")
-    public R query(@RequestParam(required = false) String condition) {
-        List<KeyValVo> vos = new ArrayList<>();
-        LambdaQueryWrapper<QlyInspect> wrapper = new LambdaQueryWrapper<>();
-        if (!Cools.isEmpty(condition)) {
-            wrapper.like(QlyInspect::getId, condition);
-        }
-        qlyInspectService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
-                item -> vos.add(new KeyValVo(item.getId(), item.getId()))
-        );
-        return R.ok().add(vos);
-    }
-
-    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
-    @PostMapping("/qlyInspect/export")
-    public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
-        ExcelUtil.build(ExcelUtil.create(qlyInspectService.list(), QlyInspect.class), response);
-    }
-
-}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/test/entity/QlyInspect.java b/rsf-server/src/main/java/com/vincent/rsf/server/test/entity/QlyInspect.java
deleted file mode 100644
index 13d8af9..0000000
--- a/rsf-server/src/main/java/com/vincent/rsf/server/test/entity/QlyInspect.java
+++ /dev/null
@@ -1,222 +0,0 @@
-package com.vincent.rsf.server.test.entity;
-
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import org.springframework.format.annotation.DateTimeFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import com.vincent.rsf.framework.common.Cools;
-import com.vincent.rsf.framework.common.SpringUtils;
-import com.vincent.rsf.server.system.service.UserService;
-import com.vincent.rsf.server.system.entity.User;
-import java.io.Serializable;
-import java.util.Date;
-
-@Data
-@TableName("man_qly_inspect")
-public class QlyInspect implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * ID
-     */
-    @ApiModelProperty(value= "ID")
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    /**
-     * 缂栫爜
-     */
-    @ApiModelProperty(value= "缂栫爜")
-    private String code;
-
-    /**
-     * 涓氬姟绫诲瀷
-     */
-    @ApiModelProperty(value= "涓氬姟绫诲瀷")
-    private String wkType;
-
-    /**
-     * 鍚堟牸鏁伴噺
-     */
-    @ApiModelProperty(value= "鍚堟牸鏁伴噺")
-    private Double safeQty;
-
-    /**
-     * 閫佽揣鏁伴噺
-     */
-    @ApiModelProperty(value= "閫佽揣鏁伴噺")
-    private Double dlyQty;
-
-    /**
-     * 鏀惰揣鏁伴噺
-     */
-    @ApiModelProperty(value= "鏀惰揣鏁伴噺")
-    private Double rcptQty;
-
-    /**
-     * 璐ㄦ鏁伴噺
-     */
-    @ApiModelProperty(value= "璐ㄦ鏁伴噺")
-    private Double isptQty;
-
-    /**
-     * 鐘舵�� 1: 璐ㄦ瀹屾垚  0: 寰呰川妫�   2: 璐ㄦ涓�   3: 鍏抽棴  
-     */
-    @ApiModelProperty(value= "鐘舵�� 1: 璐ㄦ瀹屾垚  0: 寰呰川妫�   2: 璐ㄦ涓�   3: 鍏抽棴  ")
-    private Integer status;
-
-    /**
-     * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
-     */
-    @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
-    @TableLogic
-    private Integer deleted;
-
-    /**
-     * 绉熸埛
-     */
-    @ApiModelProperty(value= "绉熸埛")
-    private Integer tenantId;
-
-    /**
-     * 娣诲姞浜哄憳
-     */
-    @ApiModelProperty(value= "娣诲姞浜哄憳")
-    private Long createBy;
-
-    /**
-     * 娣诲姞鏃堕棿
-     */
-    @ApiModelProperty(value= "娣诲姞鏃堕棿")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    private Date createTime;
-
-    /**
-     * 淇敼浜哄憳
-     */
-    @ApiModelProperty(value= "淇敼浜哄憳")
-    private Long updateBy;
-
-    /**
-     * 淇敼鏃堕棿
-     */
-    @ApiModelProperty(value= "淇敼鏃堕棿")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    private Date updateTime;
-
-    /**
-     * 澶囨敞
-     */
-    @ApiModelProperty(value= "澶囨敞")
-    private String memo;
-
-    public QlyInspect() {}
-
-    public QlyInspect(String code,String wkType,Double safeQty,Double dlyQty,Double rcptQty,Double isptQty,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
-        this.code = code;
-        this.wkType = wkType;
-        this.safeQty = safeQty;
-        this.dlyQty = dlyQty;
-        this.rcptQty = rcptQty;
-        this.isptQty = isptQty;
-        this.status = status;
-        this.deleted = deleted;
-        this.tenantId = tenantId;
-        this.createBy = createBy;
-        this.createTime = createTime;
-        this.updateBy = updateBy;
-        this.updateTime = updateTime;
-        this.memo = memo;
-    }
-
-//    QlyInspect qlyInspect = new QlyInspect(
-//            null,    // 缂栫爜[闈炵┖]
-//            null,    // 涓氬姟绫诲瀷
-//            null,    // 鍚堟牸鏁伴噺
-//            null,    // 閫佽揣鏁伴噺
-//            null,    // 鏀惰揣鏁伴噺
-//            null,    // 璐ㄦ鏁伴噺
-//            null,    // 鐘舵�乕闈炵┖]
-//            null,    // 鏄惁鍒犻櫎[闈炵┖]
-//            null,    // 绉熸埛
-//            null,    // 娣诲姞浜哄憳
-//            null,    // 娣诲姞鏃堕棿[闈炵┖]
-//            null,    // 淇敼浜哄憳
-//            null,    // 淇敼鏃堕棿[闈炵┖]
-//            null    // 澶囨敞
-//    );
-
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 1:
-                return "璐ㄦ瀹屾垚";
-            case 0:
-                return "寰呰川妫�";
-            case  2:
-                return "璐ㄦ涓�";
-            case  3:
-                return "鍏抽棴";
-            default:
-                return String.valueOf(this.status);
-        }
-    }
-
-    public String getCreateBy$(){
-        UserService service = SpringUtils.getBean(UserService.class);
-        User user = service.getById(this.createBy);
-        if (!Cools.isEmpty(user)){
-            return String.valueOf(user.getNickname());
-        }
-        return null;
-    }
-
-    public String getCreateTime$(){
-        if (Cools.isEmpty(this.createTime)){
-            return "";
-        }
-        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
-    }
-
-    public String getUpdateBy$(){
-        UserService service = SpringUtils.getBean(UserService.class);
-        User user = service.getById(this.updateBy);
-        if (!Cools.isEmpty(user)){
-            return String.valueOf(user.getNickname());
-        }
-        return null;
-    }
-
-    public String getUpdateTime$(){
-        if (Cools.isEmpty(this.updateTime)){
-            return "";
-        }
-        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
-    }
-
-
-
-    public Boolean getStatusBool(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 1:
-                return true;
-            case 0:
-                return false;
-            default:
-                return null;
-        }
-    }
-
-}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/test/mapper/QlyInspectMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/test/mapper/QlyInspectMapper.java
deleted file mode 100644
index 0df2c7a..0000000
--- a/rsf-server/src/main/java/com/vincent/rsf/server/test/mapper/QlyInspectMapper.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.vincent.rsf.server.test.mapper;
-
-import com.vincent.rsf.server.test.entity.QlyInspect;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-import org.springframework.stereotype.Repository;
-
-@Mapper
-@Repository
-public interface QlyInspectMapper extends BaseMapper<QlyInspect> {
-
-}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/test/service/QlyInspectService.java b/rsf-server/src/main/java/com/vincent/rsf/server/test/service/QlyInspectService.java
deleted file mode 100644
index 023eeeb..0000000
--- a/rsf-server/src/main/java/com/vincent/rsf/server/test/service/QlyInspectService.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.vincent.rsf.server.test.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.vincent.rsf.server.test.entity.QlyInspect;
-
-public interface QlyInspectService extends IService<QlyInspect> {
-
-}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/test/service/impl/QlyInspectServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/test/service/impl/QlyInspectServiceImpl.java
deleted file mode 100644
index db841c4..0000000
--- a/rsf-server/src/main/java/com/vincent/rsf/server/test/service/impl/QlyInspectServiceImpl.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.vincent.rsf.server.test.service.impl;
-
-import com.vincent.rsf.server.test.mapper.QlyInspectMapper;
-import com.vincent.rsf.server.test.entity.QlyInspect;
-import com.vincent.rsf.server.test.service.QlyInspectService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-@Service("qlyInspectService")
-public class QlyInspectServiceImpl extends ServiceImpl<QlyInspectMapper, QlyInspect> implements QlyInspectService {
-
-}
diff --git a/rsf-server/src/main/resources/application.yml b/rsf-server/src/main/resources/application.yml
index 94a4edf..e416c3e 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
+#    object-wrapper-factory: com.baomidou.mybatisplus.extension.MybatisMapWrapperFactory
   global-config:
     :banner: false
     db-config:
diff --git a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
index 8aced59..15f722f 100644
--- a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
+++ b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
@@ -2,4 +2,40 @@
 <!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.AsnOrderItemMapper">
 
+    <select id="resultForMap" resultType="java.util.Map">
+        SELECT
+            id,
+            asn_id,
+            asn_code,
+            plat_item_id,
+            po_detl_id,
+            po_code,
+            fields_index,
+            matnr_id,
+            matnr_code,
+            maktx,
+            anfme,
+            stock_unit,
+            pur_qty,
+            pur_unit,
+            qty,
+            splr_code,
+            splr_batch,
+            splr_name,
+            qrcode,
+            track_code,
+            barcode,
+            pack_name,
+            nty_status,
+            `status` deleted,
+            tenant_id,
+            create_by,
+            create_time,
+            update_by,
+            update_time,
+            memo
+        FROM
+            man_asn_order_item
+        ${ew.customSqlSegment}
+    </select>
 </mapper>

--
Gitblit v1.9.1