소스 검색

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

zhoux 2 년 전
부모
커밋
7ba7ac2136
62개의 변경된 파일8508개의 추가작업 그리고 374개의 파일을 삭제
  1. 30 6
      src/main/java/com/dk/mdm/controller/common/CommonController.java
  2. 0 59
      src/main/java/com/dk/mdm/controller/core/SettingValueController.java
  3. 24 0
      src/main/java/com/dk/mdm/controller/ivt/OutboundController.java
  4. 24 0
      src/main/java/com/dk/mdm/controller/ivt/OutboundItemController.java
  5. 55 0
      src/main/java/com/dk/mdm/controller/mst/SettingValueController.java
  6. 24 0
      src/main/java/com/dk/mdm/controller/sale/OutReturnController.java
  7. 24 0
      src/main/java/com/dk/mdm/controller/sale/OutReturnItemController.java
  8. 14 1
      src/main/java/com/dk/mdm/mapper/common/CommonMapper.java
  9. 80 5
      src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml
  10. 44 44
      src/main/java/com/dk/mdm/mapper/core/SettingValueMapper.java
  11. 134 134
      src/main/java/com/dk/mdm/mapper/core/SettingValueMapper.xml
  12. 1 1
      src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml
  13. 1 1
      src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml
  14. 14 0
      src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.java
  15. 255 0
      src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml
  16. 14 0
      src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.java
  17. 285 0
      src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.xml
  18. 8 1
      src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.java
  19. 8 0
      src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.xml
  20. 21 0
      src/main/java/com/dk/mdm/mapper/mst/SettingValueMapper.java
  21. 184 0
      src/main/java/com/dk/mdm/mapper/mst/SettingValueMapper.xml
  22. 8 1
      src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.java
  23. 46 9
      src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.xml
  24. 14 0
      src/main/java/com/dk/mdm/mapper/sale/OutReturnItemMapper.java
  25. 243 0
      src/main/java/com/dk/mdm/mapper/sale/OutReturnItemMapper.xml
  26. 14 0
      src/main/java/com/dk/mdm/mapper/sale/OutReturnMapper.java
  27. 339 0
      src/main/java/com/dk/mdm/mapper/sale/OutReturnMapper.xml
  28. 366 0
      src/main/java/com/dk/mdm/model/pojo/ivt/Outbound.java
  29. 316 0
      src/main/java/com/dk/mdm/model/pojo/ivt/OutboundItem.java
  30. 1 1
      src/main/java/com/dk/mdm/model/pojo/mst/GoodsSku.java
  31. 157 0
      src/main/java/com/dk/mdm/model/pojo/mst/SettingValue.java
  32. 4 0
      src/main/java/com/dk/mdm/model/pojo/mst/Supplier.java
  33. 1 1
      src/main/java/com/dk/mdm/model/pojo/sale/OrderItem.java
  34. 437 0
      src/main/java/com/dk/mdm/model/pojo/sale/OutReturn.java
  35. 301 0
      src/main/java/com/dk/mdm/model/pojo/sale/OutReturnItem.java
  36. 315 0
      src/main/java/com/dk/mdm/model/query/ivt/OutboundItemQuery.java
  37. 367 0
      src/main/java/com/dk/mdm/model/query/ivt/OutboundQuery.java
  38. 300 0
      src/main/java/com/dk/mdm/model/query/sale/OutReturnItemQuery.java
  39. 438 0
      src/main/java/com/dk/mdm/model/query/sale/OutReturnQuery.java
  40. 315 0
      src/main/java/com/dk/mdm/model/response/ivt/OutboundItemResponse.java
  41. 367 0
      src/main/java/com/dk/mdm/model/response/ivt/OutboundResponse.java
  42. 254 0
      src/main/java/com/dk/mdm/model/response/mst/SpplierResponse.java
  43. 300 0
      src/main/java/com/dk/mdm/model/response/sale/OutReturnItemResponse.java
  44. 438 0
      src/main/java/com/dk/mdm/model/response/sale/OutReturnResponse.java
  45. 315 0
      src/main/java/com/dk/mdm/model/vo/ivt/OutboundItemVO.java
  46. 367 0
      src/main/java/com/dk/mdm/model/vo/ivt/OutboundVO.java
  47. 163 0
      src/main/java/com/dk/mdm/model/vo/mst/SettingValueVO.java
  48. 4 0
      src/main/java/com/dk/mdm/model/vo/mst/SupplierVo.java
  49. 300 0
      src/main/java/com/dk/mdm/model/vo/sale/OutReturnItemVO.java
  50. 438 0
      src/main/java/com/dk/mdm/model/vo/sale/OutReturnVO.java
  51. 49 21
      src/main/java/com/dk/mdm/service/common/CommonService.java
  52. 74 74
      src/main/java/com/dk/mdm/service/core/SettingValueService.java
  53. 23 0
      src/main/java/com/dk/mdm/service/ivt/OutboundItemService.java
  54. 23 0
      src/main/java/com/dk/mdm/service/ivt/OutboundService.java
  55. 20 3
      src/main/java/com/dk/mdm/service/mst/GoodsSkuService.java
  56. 1 7
      src/main/java/com/dk/mdm/service/mst/MoneyAccountService.java
  57. 1 1
      src/main/java/com/dk/mdm/service/mst/OrgService.java
  58. 83 0
      src/main/java/com/dk/mdm/service/mst/SettingValueService.java
  59. 15 3
      src/main/java/com/dk/mdm/service/mst/SupplierService.java
  60. 1 1
      src/main/java/com/dk/mdm/service/pur/PurchaseService.java
  61. 23 0
      src/main/java/com/dk/mdm/service/sale/OutReturnItemService.java
  62. 23 0
      src/main/java/com/dk/mdm/service/sale/OutReturnService.java

+ 30 - 6
src/main/java/com/dk/mdm/controller/common/CommonController.java

@@ -1248,8 +1248,6 @@ public class CommonController extends BaseController<Map<String, Object>> {
         return commonService.getWsPrinter(param);
     }
 
-
-
     /**
      * @desc : 获取仓位
      * @author : 洪旭东
@@ -1400,9 +1398,9 @@ public class CommonController extends BaseController<Map<String, Object>> {
     }
 
     /**
-     * @desc   : 获取供应商
+     * @desc : 获取供应商
      * @author : 常皓宁
-     * @date   : 2024/3/1 9:19
+     * @date : 2024/3/1 9:19
      */
     @ApiOperation(
             value = "获取供应商",
@@ -1437,6 +1435,7 @@ public class CommonController extends BaseController<Map<String, Object>> {
     public ResponseResultVO<List<Map<String, Object>>> getChannel(@RequestBody Map<String, Object> param) {
         return commonService.getChannel(param);
     }
+
     /**
      * @desc :  商品品牌查询
      * @author : 王英杰
@@ -1497,9 +1496,9 @@ public class CommonController extends BaseController<Map<String, Object>> {
 
 
     /**
-     * @desc   : 获取仓库
+     * @desc : 获取仓库
      * @author : 常皓宁
-     * @date   : 2024/3/4 10:49
+     * @date : 2024/3/4 10:49
      */
     @ApiOperation(
             value = "获取仓库",
@@ -1509,6 +1508,31 @@ public class CommonController extends BaseController<Map<String, Object>> {
     public ResponseResultVO<List<Map<String, Object>>> getWarehouse(@RequestBody Map<String, Object> param) {
         return commonService.getWarehouse(param);
     }
+
+    /**
+     * @desc : 查询库存
+     * @author : 付斌
+     * @date : 2024-03-05 10:50
+     */
+    @ApiOperation(
+            value = "获取商品",
+            notes = "获取商品"
+    )
+    @PostMapping("get_inventory")
+    public ResponseResultVO<List<Map<String, Object>>> getInventory(@RequestBody Map<String, Object> param) {
+        return commonService.getInventory(param);
+    }
+
+    /**
+     * @desc : 查询库存(分页)
+     * @author : 付斌
+     * @date : 2024-03-05 10:50
+     */
+    @ApiOperation(value = "获取商品分页查询", notes = "获取商品分页查询")
+    @PostMapping({"get_inventory_by_page"})
+    public ResponseResultVO<PageList<Map<String, Object>>> getInventoryByPage(@RequestBody Map<String, Object> param) {
+        return commonService.getInventoryByPage(param);
+    }
 }
 
 

+ 0 - 59
src/main/java/com/dk/mdm/controller/core/SettingValueController.java

@@ -1,59 +0,0 @@
-package com.dk.mdm.controller.core;
-
-import com.dk.common.response.ResponseResultVO;
-import com.dk.mdm.model.pojo.core.SettingValue;
-import com.dk.common.service.BaseService;
-import com.dk.mdm.model.vo.core.SettingValueVO;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RestController;
-import io.swagger.annotations.Api;
-import com.dk.mdm.service.core.SettingValueService;
-
-import java.util.List;
-import java.util.Map;
-
-@Api(tags = "系统参数API接口")
-@RestController
-@RequestMapping("/core/settingValue")
-public class SettingValueController{
-
-    public BaseService<SettingValue> getService() {
-        return settingValueService;
-    }
-
-    @Autowired
-    private SettingValueService settingValueService;
-
-    /**
-     * @desc   : 查询系统参数
-     * @author : 夏常明
-     * @date   : 2023/1/29 17:07
-     */
-    @ApiOperation(
-            value = "查询系统参数",
-            notes = "查询系统参数"
-    )
-    @PostMapping("get_setting_value")
-    public ResponseResultVO<List<Map<String, Object>>> getSettingValue(@RequestBody Map<String, Object> param) {
-        return settingValueService.getSettingValue(param);
-    }
-
-    /**
-     * @desc   : 批量修改系统参数值
-     * @author : 夏常明
-     * @date   : 2023/1/30 14:01
-     */
-    @ApiOperation(
-            value = "批量修改系统参数值",
-            notes = "批量修改系统参数值"
-    )
-    @PostMapping("update_setting_values")
-    public ResponseResultVO<?> updateSettingValues(@RequestBody List<SettingValueVO>  param) {
-        return settingValueService.updateSettingValues(param);
-    }
-
-}

+ 24 - 0
src/main/java/com/dk/mdm/controller/ivt/OutboundController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.ivt;
+
+import com.dk.mdm.model.pojo.ivt.Outbound;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.ivt.OutboundService;
+
+@Api(tags = "出库单API接口")
+@RestController
+@RequestMapping("/outbound")
+public class OutboundController{
+
+    public BaseService<Outbound> getService() {
+        return outboundService;
+    }
+
+    @Autowired
+    private OutboundService outboundService;
+
+}

+ 24 - 0
src/main/java/com/dk/mdm/controller/ivt/OutboundItemController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.ivt;
+
+import com.dk.mdm.model.pojo.ivt.OutboundItem;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.ivt.OutboundItemService;
+
+@Api(tags = "出库明细API接口")
+@RestController
+@RequestMapping("/outboundItem")
+public class OutboundItemController{
+
+    public BaseService<OutboundItem> getService() {
+        return outboundItemService;
+    }
+
+    @Autowired
+    private OutboundItemService outboundItemService;
+
+}

+ 55 - 0
src/main/java/com/dk/mdm/controller/mst/SettingValueController.java

@@ -0,0 +1,55 @@
+package com.dk.mdm.controller.mst;
+
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.model.pojo.mst.SettingValue;
+import com.dk.common.service.BaseService;
+import com.dk.mdm.model.vo.mst.SettingValueVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.mst.SettingValueService;
+
+import java.util.Map;
+
+@Api(tags = "系统参数API接口")
+@RestController
+@RequestMapping("/mst/setting_value")
+public class SettingValueController {
+
+    public BaseService<SettingValue> getService() {
+        return settingValueService;
+    }
+
+    @Autowired
+    private SettingValueService settingValueService;
+
+    /**
+     * @desc : 获取系统参数
+     * @author : 姜永辉
+     * @date : 2024/2/26 10:36
+     */
+    @ApiOperation(
+            value = "获取系统参数",
+            notes = "获取系统参数"
+    )
+    @PostMapping("get_setting_value")
+    public ResponseResultVO<Map<String, Object>> getSettingValue(@RequestBody Map<String, Object> param) {
+        return settingValueService.getSettingValue(param);
+    }
+
+
+    /**
+     * @desc : 批量修改系统参数
+     * @author : 姜永辉
+     * @date : 2023/1/5 9:39
+     */
+    @ApiOperation(value = "批量修改敏感信息", notes = "批量修改敏感信息")
+    @PostMapping({"update_batch"})
+    public ResponseResultVO<?> updateBatch(@RequestBody SettingValueVO vo) {
+        return settingValueService.updateBatch(vo);
+    }
+}

+ 24 - 0
src/main/java/com/dk/mdm/controller/sale/OutReturnController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.sale;
+
+import com.dk.mdm.model.pojo.sale.OutReturn;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.sale.OutReturnService;
+
+@Api(tags = "出库退货API接口")
+@RestController
+@RequestMapping("/outReturn")
+public class OutReturnController{
+
+    public BaseService<OutReturn> getService() {
+        return outReturnService;
+    }
+
+    @Autowired
+    private OutReturnService outReturnService;
+
+}

+ 24 - 0
src/main/java/com/dk/mdm/controller/sale/OutReturnItemController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.sale;
+
+import com.dk.mdm.model.pojo.sale.OutReturnItem;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.sale.OutReturnItemService;
+
+@Api(tags = "出库退货明细API接口")
+@RestController
+@RequestMapping("/outReturnItem")
+public class OutReturnItemController{
+
+    public BaseService<OutReturnItem> getService() {
+        return outReturnItemService;
+    }
+
+    @Autowired
+    private OutReturnItemService outReturnItemService;
+
+}

+ 14 - 1
src/main/java/com/dk/mdm/mapper/common/CommonMapper.java

@@ -1047,11 +1047,24 @@ public interface CommonMapper extends BaseMapper<Map<String, Object>> {
      */
     Long countWarehouseByPage(Map param);
 
-
     /**
      * @desc : 获取仓库
      * @author : 常皓宁
      * @date : 2024/3/4 10:50
      */
     List<Map<String, Object>> getWarehouse(Map param);
+
+    /**
+     * @desc : 查询库存
+     * @author : 付斌
+     * @date : 2024-03-05 10:53
+     */
+    List<Map<String, Object>> getInventory(Map param);
+
+    /**
+     * @desc : 查询库存(数量)
+     * @author : 付斌
+     * @date : 2024-03-05 10:52
+     */
+    Long getInventoryCountByPage(Map param);
 }

+ 80 - 5
src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml

@@ -2610,6 +2610,7 @@
         SELECT tmw.wh_id as "whId"
                 ,tmw.wh_name as "whName"
                 ,tmw.wh_code as "whCode"
+                ,tmw.flg_default as "flgDefault"
         FROM dkic_b.t_mst_warehouse tmw
         WHERE tmw.cp_id = #{cpId}
         and tmw.flg_valid
@@ -2852,11 +2853,12 @@
                  left join dkic_b.t_mst_goods_series as tmgseries on tmgs.series_id = tmgseries.series_id
                  left join dkic_b.t_mst_unit as tmgu on tmgs.unit_id = tmgu.unit_id
         where tmgs.flg_valid
+          AND tmgs.cp_id = #{cpId}
         <if test="skuCode != null">
             AND tmgs.sku_code = #{skuCode}
         </if>
         <if test="skuName != null">
-            AND tmgs.sku_name != #{skuName}
+            AND tmgs.sku_name = #{skuName}
         </if>
     </select>
 
@@ -2866,11 +2868,12 @@
         count(1)
         from dkic_b.t_mst_goods_sku as tmgs
         where tmgs.flg_valid
+          AND tmgs.cp_id = #{cpId}
         <if test="skuCode != null">
             AND tmgs.sku_code = #{skuCode}
         </if>
         <if test="skuName != null">
-            AND tmgs.sku_name != #{skuName}
+            AND tmgs.sku_name = #{skuName}
         </if>
     </select>
 
@@ -2912,15 +2915,16 @@
                  inner join dkic_b.t_mst_sale_channel tmsc on tmc.channel_id = tmsc.channel_id
                  left join dkic_b.t_mst_dictionary_data tmdd on tmc.cus_from = tmdd.data_id
         where tmc.flg_valid
+          AND tmc.cp_id = #{cpId}
         <if test="skuCode != null">
             AND tmc.cus_code = #{cusCode}
         </if>
         <if test="skuName != null">
-            AND tmc.cus_name != #{cusName}
+            AND tmc.cus_name = #{cusName}
         </if>
     </select>
 
-    <!-- 获取商品个数 -->
+    <!-- 获取客户个数 -->
     <select id="getCustomerCountByPage" resultType="Long">
         SELECT
         count(1)
@@ -2931,7 +2935,7 @@
             AND tmc.cus_code = #{cusCode}
         </if>
         <if test="skuName != null">
-            AND tmc.cus_name != #{cusName}
+            AND tmc.cus_name = #{cusName}
         </if>
     </select>
 
@@ -2962,6 +2966,9 @@
         <if test="supplierCode!=null and supplierCode!=''">
             AND tms.sup_code LIKE concat('%', #{supplierCode}, '%')
         </if>
+        <if test="supplierType!=null and supplierType!=''">
+            AND tms.sup_type LIKE concat('%', #{supplierType}, '%')
+        </if>
         order by tms.sup_code
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
@@ -3197,4 +3204,72 @@
         </where>
     </select>
 
+    <!-- 查询库存 -->
+    <select id="getInventory" resultType="java.util.Map">
+        select tmgs.sku_id            as "skuId",
+               tmgs.sku_code          as "skuCode",
+               tmgs.sku_name          as "skuName",
+               tmgs.sku_model         as "skuModel",
+               tmgs.brand_id          as "brandId",
+               tmgb.brand_name        as "brandName",
+               tmgs.category_id       as "categoryId",
+               tmgc.cat_name          as "categoryName",
+               tmgs.unit_id           as "unitId",
+               tmgu.unit_name         as "unitName",
+               tmgs.sub_unit_id       as "subUnitId",
+               tmgs.conversion_factor as "conversionFactor",
+               tmgs.series_id         as "seriesId",
+               tmgseries.series_name  as "seriesName",
+               tmgs.sku_spec          as "skuSpec",
+               tmgs.price_purchase    as "pricePurchase",
+               tmgs.price_standard    as "priceStandard",
+               tmgs.price_wholesale   as "priceWholesale",
+               tmgs.price_limited     as "priceLimited",
+               tmgs.sku_images        as "skuImages",
+               tpi.non_std_code       as "nonStdCode",
+               tpi.inv_qty            as "invQty",
+               tpi.outing_qty         as "outingQty",
+               tpi.usable_qty         as "usableQty",
+               tmw.wh_code            as "whCode",
+               tmw.wh_name            as "whName",
+               tpi.remarks
+        from dkic_b.t_psi_inventory as tpi
+                 inner join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id
+                 inner join dkic_b.t_mst_goods_sku as tmgs on tmgs.sku_id = tpi.sku_id
+                 left join dkic_b.t_mst_goods_brand as tmgb on tmgs.brand_id = tmgb.brand_id
+                 left join dkic_b.t_mst_goods_category as tmgc on tmgs.category_id = tmgc.cat_id
+                 left join dkic_b.t_mst_goods_series as tmgseries on tmgs.series_id = tmgseries.series_id
+                 left join dkic_b.t_mst_unit as tmgu on tmgs.unit_id = tmgu.unit_id
+        where tpi.flg_valid
+          AND tpi.cp_id = #{cpId}
+        <if test="skuCode != null">
+            AND tmgs.sku_code = #{skuCode}
+        </if>
+        <if test="skuName != null">
+            AND tmgs.sku_name = #{skuName}
+        </if>
+        <if test="whName != null">
+            AND tmgs.wh_name = #{whName}
+        </if>
+    </select>
+
+    <!-- 查询库存个数 -->
+    <select id="getInventoryCountByPage" resultType="Long">
+        SELECT
+        count(1)
+        from dkic_b.t_psi_inventory as tpi
+                inner join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id
+                inner join dkic_b.t_mst_goods_sku as tmgs on tmgs.sku_id = tpi.sku_id
+        where tpi.flg_valid
+          AND tpi.cp_id = #{cpId}
+        <if test="skuCode != null">
+            AND tmgs.sku_code = #{skuCode}
+        </if>
+        <if test="skuName != null">
+            AND tmgs.sku_name = #{skuName}
+        </if>
+        <if test="whName != null">
+            AND tmgs.wh_name = #{whName}
+        </if>
+    </select>
 </mapper>

+ 44 - 44
src/main/java/com/dk/mdm/mapper/core/SettingValueMapper.java

@@ -1,44 +1,44 @@
-package com.dk.mdm.mapper.core;
-
-import com.dk.common.mapper.BaseMapper;
-import com.dk.mdm.model.pojo.core.SettingValue;
-import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-import java.util.Map;
-
-/**
-*  系统参数 Mapper
-*/
-@Repository
-public interface SettingValueMapper extends BaseMapper<SettingValue>{
-    /**
-     * @desc   : 查询系统参数
-     * @author : 夏常明
-     * @date   : 2023/1/29 17:02
-     */
-    List<Map<String, Object>> getSettingValue(Map param);
-
-    /**
-     * @desc   : 修改系统参数值
-     * @author : 夏常明
-     * @date   : 2023/1/30 13:27
-     */
-    int updateSettingValues(SettingValue settingValue);
-
-    /**
-     * @desc   : 系统参数值是否重复
-     * @author : 姜宁
-     * @date   : 2023/4/14 9:20
-     */
-    Long selectByCode(SettingValue settingValue);
-
-    /**
-     * @desc   : 通过主键查询
-     * @author : 洪旭东
-     * @date   : 2023-09-04 14:28
-     */
-    Map<String, Object> selectById(@Param("ftyId") Integer ftyId, @Param("settingCode") String settingCode);
-}
-
+//package com.dk.mdm.mapper.core;
+//
+//import com.dk.common.mapper.BaseMapper;
+//import com.dk.mdm.model.pojo.core.SettingValue;
+//import org.apache.ibatis.annotations.Param;
+//import org.springframework.stereotype.Repository;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+///**
+//*  系统参数 Mapper
+//*/
+//@Repository
+//public interface SettingValueMapper extends BaseMapper<SettingValue>{
+//    /**
+//     * @desc   : 查询系统参数
+//     * @author : 夏常明
+//     * @date   : 2023/1/29 17:02
+//     */
+//    List<Map<String, Object>> getSettingValue(Map param);
+//
+//    /**
+//     * @desc   : 修改系统参数值
+//     * @author : 夏常明
+//     * @date   : 2023/1/30 13:27
+//     */
+//    int updateSettingValues(SettingValue settingValue);
+//
+//    /**
+//     * @desc   : 系统参数值是否重复
+//     * @author : 姜宁
+//     * @date   : 2023/4/14 9:20
+//     */
+//    Long selectByCode(SettingValue settingValue);
+//
+//    /**
+//     * @desc   : 通过主键查询
+//     * @author : 洪旭东
+//     * @date   : 2023-09-04 14:28
+//     */
+//    Map<String, Object> selectById(@Param("ftyId") Integer ftyId, @Param("settingCode") String settingCode);
+//}
+//

+ 134 - 134
src/main/java/com/dk/mdm/mapper/core/SettingValueMapper.xml

@@ -1,145 +1,145 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.dk.mdm.mapper.core.SettingValueMapper">
+<!--<?xml version="1.0" encoding="UTF-8"?>-->
+<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
+<!--<mapper namespace="com.dk.mdm.mapper.core.SettingValueMapper">-->
 
-    <!-- 通用设置 -->
-    <!-- 通用查询列 -->
-    <sql id="Base_Column_List">
-        fty_id, setting_code, setting_value, remarks, flg_valid, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
-    </sql>
+<!--    &lt;!&ndash; 通用设置 &ndash;&gt;-->
+<!--    &lt;!&ndash; 通用查询列 &ndash;&gt;-->
+<!--    <sql id="Base_Column_List">-->
+<!--        fty_id, setting_code, setting_value, remarks, flg_valid, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user-->
+<!--    </sql>-->
 
-    <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.core.SettingValue">
-        <id column="fty_id" property="ftyId"/>
-                <result column="setting_code" property="settingCode"/>
-                <result column="setting_value" property="settingValue"/>
-                <result column="remarks" property="remarks"/>
-                <result column="flg_valid" property="flgValid"/>
-            <result column="op_create_time" property="opCreateTime"
-                    typeHandler="com.dk.common.infrastructure.handler.TimestampTypeHandler"/>
-                <result column="op_create_user_id" property="opCreateUserId"/>
-            <result column="op_update_time" property="opUpdateTime"
-                    typeHandler="com.dk.common.infrastructure.handler.TimestampTypeHandler"/>
-                <result column="op_update_user_id" property="opUpdateUserId"/>
-                <result column="op_app_code" property="opAppCode"/>
-            <result column="op_timestamp" property="opTimestamp"
-                    typeHandler="com.dk.common.infrastructure.handler.TimestampTypeHandler"/>
-                <result column="op_db_user" property="opDbUser"/>
-    </resultMap>
+<!--    &lt;!&ndash; 通用查询映射结果 &ndash;&gt;-->
+<!--    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.core.SettingValue">-->
+<!--        <id column="fty_id" property="ftyId"/>-->
+<!--                <result column="setting_code" property="settingCode"/>-->
+<!--                <result column="setting_value" property="settingValue"/>-->
+<!--                <result column="remarks" property="remarks"/>-->
+<!--                <result column="flg_valid" property="flgValid"/>-->
+<!--            <result column="op_create_time" property="opCreateTime"-->
+<!--                    typeHandler="com.dk.common.infrastructure.handler.TimestampTypeHandler"/>-->
+<!--                <result column="op_create_user_id" property="opCreateUserId"/>-->
+<!--            <result column="op_update_time" property="opUpdateTime"-->
+<!--                    typeHandler="com.dk.common.infrastructure.handler.TimestampTypeHandler"/>-->
+<!--                <result column="op_update_user_id" property="opUpdateUserId"/>-->
+<!--                <result column="op_app_code" property="opAppCode"/>-->
+<!--            <result column="op_timestamp" property="opTimestamp"-->
+<!--                    typeHandler="com.dk.common.infrastructure.handler.TimestampTypeHandler"/>-->
+<!--                <result column="op_db_user" property="opDbUser"/>-->
+<!--    </resultMap>-->
 
-    <!-- 通用条件列 -->
-    <sql id="Condition">
-        <where>
-            <if test="settingCode != null and settingCode != ''">
-                AND setting_code = #{settingCode}
-            </if>
-            <if test="settingValue != null and settingValue != ''">
-                AND setting_value = #{settingValue}
-            </if>
-            <if test="remarks != null and remarks != ''">
-                AND remarks = #{remarks}
-            </if>
-            <if test="flgValid != null">
-                AND flg_valid = #{flgValid}
-            </if>
-            <if test="opCreateTime != null">
-                AND op_create_time = #{opCreateTime}
-            </if>
-            <if test="opCreateUserId != null">
-                AND op_create_user_id = #{opCreateUserId}
-            </if>
-            <if test="opUpdateTime != null">
-                AND op_update_time = #{opUpdateTime}
-            </if>
-            <if test="opUpdateUserId != null">
-                AND op_update_user_id = #{opUpdateUserId}
-            </if>
-            <if test="opAppCode != null and opAppCode != ''">
-                AND op_app_code = #{opAppCode}
-            </if>
-            <if test="opTimestamp != null">
-                AND op_timestamp = #{opTimestamp}
-            </if>
-            <if test="opDbUser != null and opDbUser != ''">
-                AND op_db_user = #{opDbUser}
-            </if>
-        </where>
-    </sql>
+<!--    &lt;!&ndash; 通用条件列 &ndash;&gt;-->
+<!--    <sql id="Condition">-->
+<!--        <where>-->
+<!--            <if test="settingCode != null and settingCode != ''">-->
+<!--                AND setting_code = #{settingCode}-->
+<!--            </if>-->
+<!--            <if test="settingValue != null and settingValue != ''">-->
+<!--                AND setting_value = #{settingValue}-->
+<!--            </if>-->
+<!--            <if test="remarks != null and remarks != ''">-->
+<!--                AND remarks = #{remarks}-->
+<!--            </if>-->
+<!--            <if test="flgValid != null">-->
+<!--                AND flg_valid = #{flgValid}-->
+<!--            </if>-->
+<!--            <if test="opCreateTime != null">-->
+<!--                AND op_create_time = #{opCreateTime}-->
+<!--            </if>-->
+<!--            <if test="opCreateUserId != null">-->
+<!--                AND op_create_user_id = #{opCreateUserId}-->
+<!--            </if>-->
+<!--            <if test="opUpdateTime != null">-->
+<!--                AND op_update_time = #{opUpdateTime}-->
+<!--            </if>-->
+<!--            <if test="opUpdateUserId != null">-->
+<!--                AND op_update_user_id = #{opUpdateUserId}-->
+<!--            </if>-->
+<!--            <if test="opAppCode != null and opAppCode != ''">-->
+<!--                AND op_app_code = #{opAppCode}-->
+<!--            </if>-->
+<!--            <if test="opTimestamp != null">-->
+<!--                AND op_timestamp = #{opTimestamp}-->
+<!--            </if>-->
+<!--            <if test="opDbUser != null and opDbUser != ''">-->
+<!--                AND op_db_user = #{opDbUser}-->
+<!--            </if>-->
+<!--        </where>-->
+<!--    </sql>-->
 
-    <sql id="idsForeach">
-        <!-- 根据主键ftyId批量操作 -->
-        WHERE fty_id in
-        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
-            #{item}
-        </foreach>
-    </sql>
+<!--    <sql id="idsForeach">-->
+<!--        &lt;!&ndash; 根据主键ftyId批量操作 &ndash;&gt;-->
+<!--        WHERE fty_id in-->
+<!--        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">-->
+<!--            #{item}-->
+<!--        </foreach>-->
+<!--    </sql>-->
 
-    <!-- 查询表core.t_setting_value,(条件查询+分页)列表 -->
-    <select id="selectByCond" resultMap="BaseResultMap">
-        SELECT
-        <include refid="Base_Column_List"/>
-        FROM core.t_setting_value
-        <include refid="Condition"/>
-        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
-            limit #{end} offset #{start}
-        </if>
-    </select>
+<!--    &lt;!&ndash; 查询表core.t_setting_value,(条件查询+分页)列表 &ndash;&gt;-->
+<!--    <select id="selectByCond" resultMap="BaseResultMap">-->
+<!--        SELECT-->
+<!--        <include refid="Base_Column_List"/>-->
+<!--        FROM core.t_setting_value-->
+<!--        <include refid="Condition"/>-->
+<!--        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">-->
+<!--            limit #{end} offset #{start}-->
+<!--        </if>-->
+<!--    </select>-->
 
-    <!-- 查询表core.t_setting_value,(条件查询)个数 -->
-    <select id="countByCond" resultType="Long">
-        SELECT
-        count(1)
-        FROM core.t_setting_value
-        <include refid="Condition"/>
-    </select>
+<!--    &lt;!&ndash; 查询表core.t_setting_value,(条件查询)个数 &ndash;&gt;-->
+<!--    <select id="countByCond" resultType="Long">-->
+<!--        SELECT-->
+<!--        count(1)-->
+<!--        FROM core.t_setting_value-->
+<!--        <include refid="Condition"/>-->
+<!--    </select>-->
 
-    <!-- 根据系统参数类别查询参数信息  -->
-    <select id="getSettingValue" resultType="java.util.Map">
-        <include refid="select"/>
-        <if test="settingKind != null and settingKind != ''">
-            AND item.setting_kind = #{settingKind}
-        </if>
-        order by kind.kind_code,item.display_no
-    </select>
+<!--    &lt;!&ndash; 根据系统参数类别查询参数信息  &ndash;&gt;-->
+<!--    <select id="getSettingValue" resultType="java.util.Map">-->
+<!--        <include refid="select"/>-->
+<!--        <if test="settingKind != null and settingKind != ''">-->
+<!--            AND item.setting_kind = #{settingKind}-->
+<!--        </if>-->
+<!--        order by kind.kind_code,item.display_no-->
+<!--    </select>-->
 
-    <sql id="select">
-        select
-            sys.f_get_name_i18n_lang(kind.kind_name_i18n,#{i18n}) as "classCode",
-            sys.f_get_name_i18n_lang(item.setting_name_i18n,#{i18n})  as "settingName",
-            item.def_value as "settingDefault",
-            item.flg_modifiable as "flgModifiable",
-            item.display_no as "displayNo",
-            item.value_kind as "valueKind",
-            item.value_format as "valueFormat",
-            sys.f_get_name_i18n_lang(item.description_i18n,#{i18n}) as "settingDescription",
-            case when setting.setting_value is not null then setting.setting_value else item.def_value end "settingValue",
-            --setting.setting_value as "settingValue",
-            item.setting_code as "settingCode"
-        from sys.t_setting_kind as kind
-                 inner join sys.t_setting_item as item
-                            on kind.kind_code = item.setting_kind
-                 left join core.t_setting_value as setting
-                           on item.setting_code = setting.setting_code and setting.fty_id=#{ftyId}
-        where kind.flg_valid and item.flg_valid
-    </sql>
+<!--    <sql id="select">-->
+<!--        select-->
+<!--            sys.f_get_name_i18n_lang(kind.kind_name_i18n,#{i18n}) as "classCode",-->
+<!--            sys.f_get_name_i18n_lang(item.setting_name_i18n,#{i18n})  as "settingName",-->
+<!--            item.def_value as "settingDefault",-->
+<!--            item.flg_modifiable as "flgModifiable",-->
+<!--            item.display_no as "displayNo",-->
+<!--            item.value_kind as "valueKind",-->
+<!--            item.value_format as "valueFormat",-->
+<!--            sys.f_get_name_i18n_lang(item.description_i18n,#{i18n}) as "settingDescription",-->
+<!--            case when setting.setting_value is not null then setting.setting_value else item.def_value end "settingValue",-->
+<!--            &#45;&#45;setting.setting_value as "settingValue",-->
+<!--            item.setting_code as "settingCode"-->
+<!--        from sys.t_setting_kind as kind-->
+<!--                 inner join sys.t_setting_item as item-->
+<!--                            on kind.kind_code = item.setting_kind-->
+<!--                 left join core.t_setting_value as setting-->
+<!--                           on item.setting_code = setting.setting_code and setting.fty_id=#{ftyId}-->
+<!--        where kind.flg_valid and item.flg_valid-->
+<!--    </sql>-->
 
-    <!-- 修改系统参数参数值-->
-    <update id="updateSettingValues" >
-            UPDATE core.t_setting_value
-            set setting_value=#{settingValue}
-            where fty_id=#{ftyId}  and setting_code = #{settingCode}
-    </update>
+<!--    &lt;!&ndash; 修改系统参数参数值&ndash;&gt;-->
+<!--    <update id="updateSettingValues" >-->
+<!--            UPDATE core.t_setting_value-->
+<!--            set setting_value=#{settingValue}-->
+<!--            where fty_id=#{ftyId}  and setting_code = #{settingCode}-->
+<!--    </update>-->
 
-    <!--组织部门编码是否重复-->
-    <select id="selectByCode" resultType="Long">
-        select count(1)
-         from core.t_setting_value
-        where setting_code = #{settingCode} and fty_id = #{ftyId}
-          and flg_valid
-    </select>
+<!--    &lt;!&ndash;组织部门编码是否重复&ndash;&gt;-->
+<!--    <select id="selectByCode" resultType="Long">-->
+<!--        select count(1)-->
+<!--         from core.t_setting_value-->
+<!--        where setting_code = #{settingCode} and fty_id = #{ftyId}-->
+<!--          and flg_valid-->
+<!--    </select>-->
 
-    <select id="selectById" resultType="java.util.Map">
-        <include refid="select"/>
-        AND item.setting_code = #{settingCode}
-    </select>
-</mapper>
+<!--    <select id="selectById" resultType="java.util.Map">-->
+<!--        <include refid="select"/>-->
+<!--        AND item.setting_code = #{settingCode}-->
+<!--    </select>-->
+<!--</mapper>-->

+ 1 - 1
src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml

@@ -9,7 +9,7 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.ivt.InboundItem">
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.ivt.InboundItemResponse">
         <id column="item_id" property="itemId"/>
                 <result column="into_id" property="intoId" typeHandler="UuidTypeHandler"/>
                 <result column="into_type" property="intoType"/>

+ 1 - 1
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml

@@ -9,7 +9,7 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.ivt.Inbound">
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.ivt.InboundResponse">
         <id column="into_id" property="intoId"/>
                 <result column="into_no" property="intoNo"/>
                 <result column="into_type" property="intoType"/>

+ 14 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.ivt;
+
+import com.dk.mdm.model.pojo.ivt.OutboundItem;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  出库明细 Mapper
+*/
+@Repository
+public interface OutboundItemMapper extends BaseMapper<OutboundItem>{
+	
+}
+

+ 255 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml

@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.ivt.OutboundItemMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        item_id, out_id, out_type, from_id, from_item_id, item_index, sku_id, item_qty, price_out, item_amt, non_std_code, out_status, outing_qty, outing_amt, out_qty, out_amt, return_qty, return_amt, remarks, inv_id, cost_price, cost_amt, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.ivt.OutboundItemResponse">
+        <id column="item_id" property="itemId"/>
+                <result column="out_id" property="outId" typeHandler="UuidTypeHandler"/>
+                <result column="out_type" property="outType"/>
+                <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
+                <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
+                <result column="item_index" property="itemIndex"/>
+                <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+                <result column="item_qty" property="itemQty"/>
+                <result column="price_out" property="priceOut"/>
+                <result column="item_amt" property="itemAmt"/>
+                <result column="non_std_code" property="nonStdCode"/>
+                <result column="out_status" property="outStatus"/>
+                <result column="outing_qty" property="outingQty"/>
+                <result column="outing_amt" property="outingAmt"/>
+                <result column="out_qty" property="outQty"/>
+                <result column="out_amt" property="outAmt"/>
+                <result column="return_qty" property="returnQty"/>
+                <result column="return_amt" property="returnAmt"/>
+                <result column="remarks" property="remarks"/>
+                <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
+                <result column="cost_price" property="costPrice"/>
+                <result column="cost_amt" property="costAmt"/>
+                <result column="flg_valid" property="flgValid"/>
+                <result column="cp_id" property="cpId"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="outId != null and outId != ''">
+                AND out_id = #{outId}
+            </if>
+            <if test="outType != null and outType != ''">
+                AND out_type = #{outType}
+            </if>
+            <if test="fromId != null and fromId != ''">
+                AND from_id = #{fromId}
+            </if>
+            <if test="fromItemId != null and fromItemId != ''">
+                AND from_item_id = #{fromItemId}
+            </if>
+            <if test="itemIndex != null">
+                AND item_index = #{itemIndex}
+            </if>
+            <if test="skuId != null and skuId != ''">
+                AND sku_id = #{skuId}
+            </if>
+            <if test="itemQty != null">
+                AND item_qty = #{itemQty}
+            </if>
+            <if test="priceOut != null">
+                AND price_out = #{priceOut}
+            </if>
+            <if test="itemAmt != null">
+                AND item_amt = #{itemAmt}
+            </if>
+            <if test="nonStdCode != null and nonStdCode != ''">
+                AND non_std_code = #{nonStdCode}
+            </if>
+            <if test="outStatus != null and outStatus != ''">
+                AND out_status = #{outStatus}
+            </if>
+            <if test="outingQty != null">
+                AND outing_qty = #{outingQty}
+            </if>
+            <if test="outingAmt != null">
+                AND outing_amt = #{outingAmt}
+            </if>
+            <if test="outQty != null">
+                AND out_qty = #{outQty}
+            </if>
+            <if test="outAmt != null">
+                AND out_amt = #{outAmt}
+            </if>
+            <if test="returnQty != null">
+                AND return_qty = #{returnQty}
+            </if>
+            <if test="returnAmt != null">
+                AND return_amt = #{returnAmt}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="invId != null and invId != ''">
+                AND inv_id = #{invId}
+            </if>
+            <if test="costPrice != null">
+                AND cost_price = #{costPrice}
+            </if>
+            <if test="costAmt != null">
+                AND cost_amt = #{costAmt}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键itemId批量操作 -->
+        WHERE item_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_psi_outbound_item,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_outbound_item
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_psi_outbound_item,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_psi_outbound_item
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_psi_outbound_item的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_outbound_item
+        WHERE item_id = #{itemId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_psi_outbound_item的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_outbound_item
+        WHERE item_id = #{itemId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_psi_outbound_item的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_outbound_item
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_psi_outbound_item
+        (
+        <trim suffixOverrides=",">
+            out_id,
+            out_type,
+            from_id,
+            from_item_id,
+            item_index,
+            sku_id,
+            item_qty,
+            price_out,
+            item_amt,
+            non_std_code,
+            out_status,
+            outing_qty,
+            outing_amt,
+            out_qty,
+            out_amt,
+            return_qty,
+            return_amt,
+            remarks,
+            inv_id,
+            cost_price,
+            cost_amt,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.outId}::uuid,
+                #{item.outType},
+                #{item.fromId}::uuid,
+                #{item.fromItemId}::uuid,
+                #{item.itemIndex},
+                #{item.skuId}::uuid,
+                #{item.itemQty},
+                #{item.priceOut},
+                #{item.itemAmt},
+                #{item.nonStdCode},
+                #{item.outStatus},
+                #{item.outingQty},
+                #{item.outingAmt},
+                #{item.outQty},
+                #{item.outAmt},
+                #{item.returnQty},
+                #{item.returnAmt},
+                #{item.remarks},
+                #{item.invId}::uuid,
+                #{item.costPrice},
+                #{item.costAmt},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 14 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.ivt;
+
+import com.dk.mdm.model.pojo.ivt.Outbound;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  出库单 Mapper
+*/
+@Repository
+public interface OutboundMapper extends BaseMapper<Outbound>{
+	
+}
+

+ 285 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.xml

@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.ivt.OutboundMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        out_id, out_no, out_type, from_id, from_no, org_id, staff_id, order_id, order_no, into_return_id, into_return_no, cus_id, sup_id, out_status, outing_qty, outing_amt, out_qty, out_amt, return_qty, return_amt, out_date, remarks, annex_paths, make_staff, make_time, receivable_id, payable_id, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.ivt.OutboundResponse">
+        <id column="out_id" property="outId"/>
+                <result column="out_no" property="outNo"/>
+                <result column="out_type" property="outType"/>
+                <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
+                <result column="from_no" property="fromNo"/>
+                <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
+                <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
+                <result column="order_id" property="orderId" typeHandler="UuidTypeHandler"/>
+                <result column="order_no" property="orderNo"/>
+                <result column="into_return_id" property="intoReturnId" typeHandler="UuidTypeHandler"/>
+                <result column="into_return_no" property="intoReturnNo"/>
+                <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
+                <result column="sup_id" property="supId" typeHandler="UuidTypeHandler"/>
+                <result column="out_status" property="outStatus"/>
+                <result column="outing_qty" property="outingQty"/>
+                <result column="outing_amt" property="outingAmt"/>
+                <result column="out_qty" property="outQty"/>
+                <result column="out_amt" property="outAmt"/>
+                <result column="return_qty" property="returnQty"/>
+                <result column="return_amt" property="returnAmt"/>
+            <result column="out_date" property="outDate" typeHandler="TimestampTypeHandler"/>
+                <result column="remarks" property="remarks"/>
+                <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
+                <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
+            <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
+                <result column="receivable_id" property="receivableId" typeHandler="UuidTypeHandler"/>
+                <result column="payable_id" property="payableId" typeHandler="UuidTypeHandler"/>
+                <result column="flg_valid" property="flgValid"/>
+                <result column="cp_id" property="cpId"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="outNo != null and outNo != ''">
+                AND out_no = #{outNo}
+            </if>
+            <if test="outType != null and outType != ''">
+                AND out_type = #{outType}
+            </if>
+            <if test="fromId != null and fromId != ''">
+                AND from_id = #{fromId}
+            </if>
+            <if test="fromNo != null and fromNo != ''">
+                AND from_no = #{fromNo}
+            </if>
+            <if test="orgId != null and orgId != ''">
+                AND org_id = #{orgId}
+            </if>
+            <if test="staffId != null and staffId != ''">
+                AND staff_id = #{staffId}
+            </if>
+            <if test="orderId != null and orderId != ''">
+                AND order_id = #{orderId}
+            </if>
+            <if test="orderNo != null and orderNo != ''">
+                AND order_no = #{orderNo}
+            </if>
+            <if test="intoReturnId != null and intoReturnId != ''">
+                AND into_return_id = #{intoReturnId}
+            </if>
+            <if test="intoReturnNo != null and intoReturnNo != ''">
+                AND into_return_no = #{intoReturnNo}
+            </if>
+            <if test="cusId != null and cusId != ''">
+                AND cus_id = #{cusId}
+            </if>
+            <if test="supId != null and supId != ''">
+                AND sup_id = #{supId}
+            </if>
+            <if test="outStatus != null and outStatus != ''">
+                AND out_status = #{outStatus}
+            </if>
+            <if test="outingQty != null">
+                AND outing_qty = #{outingQty}
+            </if>
+            <if test="outingAmt != null">
+                AND outing_amt = #{outingAmt}
+            </if>
+            <if test="outQty != null">
+                AND out_qty = #{outQty}
+            </if>
+            <if test="outAmt != null">
+                AND out_amt = #{outAmt}
+            </if>
+            <if test="returnQty != null">
+                AND return_qty = #{returnQty}
+            </if>
+            <if test="returnAmt != null">
+                AND return_amt = #{returnAmt}
+            </if>
+            <if test="outDate != null">
+                AND out_date = #{outDate}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="annexPaths != null and annexPaths != ''">
+                AND annex_paths = #{annexPaths}
+            </if>
+            <if test="makeStaff != null and makeStaff != ''">
+                AND make_staff = #{makeStaff}
+            </if>
+            <if test="makeTime != null">
+                AND make_time = #{makeTime}
+            </if>
+            <if test="receivableId != null and receivableId != ''">
+                AND receivable_id = #{receivableId}
+            </if>
+            <if test="payableId != null and payableId != ''">
+                AND payable_id = #{payableId}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键outId批量操作 -->
+        WHERE out_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_psi_outbound,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_outbound
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_psi_outbound,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_psi_outbound
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_psi_outbound的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_outbound
+        WHERE out_id = #{outId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_psi_outbound的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_outbound
+        WHERE out_id = #{outId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_psi_outbound的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_outbound
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_psi_outbound
+        (
+        <trim suffixOverrides=",">
+            out_no,
+            out_type,
+            from_id,
+            from_no,
+            org_id,
+            staff_id,
+            order_id,
+            order_no,
+            into_return_id,
+            into_return_no,
+            cus_id,
+            sup_id,
+            out_status,
+            outing_qty,
+            outing_amt,
+            out_qty,
+            out_amt,
+            return_qty,
+            return_amt,
+            out_date,
+            remarks,
+            annex_paths,
+            make_staff,
+            make_time,
+            receivable_id,
+            payable_id,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.outNo},
+                #{item.outType},
+                #{item.fromId}::uuid,
+                #{item.fromNo},
+                #{item.orgId}::uuid,
+                #{item.staffId}::uuid,
+                #{item.orderId}::uuid,
+                #{item.orderNo},
+                #{item.intoReturnId}::uuid,
+                #{item.intoReturnNo},
+                #{item.cusId}::uuid,
+                #{item.supId}::uuid,
+                #{item.outStatus},
+                #{item.outingQty},
+                #{item.outingAmt},
+                #{item.outQty},
+                #{item.outAmt},
+                #{item.returnQty},
+                #{item.returnAmt},
+                #{item.outDate},
+                #{item.remarks},
+                #{item.annexPaths},
+                #{item.makeStaff}::uuid,
+                #{item.makeTime},
+                #{item.receivableId}::uuid,
+                #{item.payableId}::uuid,
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 8 - 1
src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.java

@@ -2,9 +2,9 @@ package com.dk.mdm.mapper.mst;
 
 import com.dk.mdm.model.pojo.mst.MoneyAccount;
 import com.dk.common.mapper.BaseMapper;
-import com.dk.mdm.model.query.mst.GoodsBrandQuery;
 import com.dk.mdm.model.query.mst.MoneyAccountQuery;
 import com.dk.mdm.model.response.mst.MoneyAccountResponse;
+import com.dk.mdm.model.response.sale.OrderResponse;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -34,5 +34,12 @@ public interface MoneyAccountMapper extends BaseMapper<MoneyAccount>{
     * @date   : 2024/3/2 16:19
     */
     Integer selectDisplayNo(MoneyAccountQuery moneyAccountQuery);
+
+    /**
+     * @desc   : 根据Id进行查询
+     * @author : songy
+     * @date   : 2024-03-03 9:25
+     */
+    MoneyAccountResponse selectById(String id);
 }
 

+ 8 - 0
src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.xml

@@ -99,6 +99,14 @@
         <include refid="Condition"/>
     </select>
 
+    <!-- 根据主键查询表t_mst_money_account的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_money_account
+        WHERE mac_id = #{macId}::uuid
+    </select>
+
     <select id="selectDisplayNo" resultType="Integer">
         SELECT MAX(display_no) + 1  FROM dkic_b.t_mst_money_account ma
          WHERE ma.cp_id = #{cpId}

+ 21 - 0
src/main/java/com/dk/mdm/mapper/mst/SettingValueMapper.java

@@ -0,0 +1,21 @@
+package com.dk.mdm.mapper.mst;
+
+import com.dk.mdm.model.pojo.mst.RoleSensitive;
+import com.dk.mdm.model.pojo.mst.SettingValue;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+*  系统参数 Mapper
+*/
+@Repository
+public interface SettingValueMapper extends BaseMapper<SettingValue>{
+
+    List<Map<String, Object>> getSettingValue(Map param);
+
+    int deleteSettingValueId(SettingValue settingValue);
+}
+

+ 184 - 0
src/main/java/com/dk/mdm/mapper/mst/SettingValueMapper.xml

@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.mst.SettingValueMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        cp_id, setting_code, setting_value, remarks, flg_valid, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.SettingValue">
+        <id column="cp_id" property="cpId"/>
+                <result column="setting_code" property="settingCode"/>
+                <result column="setting_value" property="settingValue"/>
+                <result column="remarks" property="remarks"/>
+                <result column="flg_valid" property="flgValid"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="settingCode != null and settingCode != ''">
+                AND setting_code = #{settingCode}
+            </if>
+            <if test="settingValue != null and settingValue != ''">
+                AND setting_value = #{settingValue}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+
+    <!-- 获取角色敏感信息权限 -->
+    <select id="getSettingValue" resultType="java.util.Map">
+        SELECT
+            T.*
+        FROM
+            (
+                SELECT
+                    tsk.kind_code AS "itemCode",
+                    tsk.kind_name AS "itemName",
+                    tsk.kind_code AS "settingCode",
+                    NULL AS "parentCode",
+                    NULL AS "valueKind",
+                    NULL AS "defValue",
+                    NULL AS "settingValue",
+                    tsk.display_no AS "displayNo",
+                    TRUE AS "checked"
+                FROM
+                    sys.t_setting_kind tsk UNION all
+                SELECT
+                    tsi.setting_code AS "itemCode",
+                    tsi.setting_name AS "itemName",
+                    tsi.setting_kind AS "settingCode",
+                    tsi.setting_kind AS "parentCode",
+                    tsi.value_kind AS "valueKind",
+                    tsi.def_value AS "defValue",
+                    tmsv.setting_value AS "settingValue",
+                    tsi.display_no AS "displayNo",
+                    CASE
+
+                        WHEN tmsv.setting_value IS NULL THEN
+                            FALSE ELSE TRUE
+                        END AS "checked"
+                FROM
+                    sys.t_setting_item tsi
+                        LEFT JOIN sys.t_setting_kind tsk ON tsi.setting_kind = tsk.kind_code
+                        LEFT JOIN dkic_b.t_mst_setting_value tmsv ON tsi.setting_code = tmsv.setting_code
+                        AND tmsv.cp_id = #{ cpId }
+                WHERE
+                    tsi.flg_valid
+            ) T
+        ORDER BY
+            t."settingCode" desc ,
+            t."displayNo"
+    </select>
+
+    <delete id="deleteSettingValueId" >
+        DELETE FROM dkic_b.t_mst_setting_value tmrs WHERE tmrs.cp_id = #{cpId};
+    </delete>
+
+    <sql id="idsForeach">
+        <!-- 根据主键cpId批量操作 -->
+        WHERE cp_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_mst_setting_value,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_b.t_mst_setting_value tmsv
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_mst_setting_value,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM dkic_b.t_mst_setting_value tmsv
+        <include refid="Condition"/>
+    </select>
+
+
+    <!-- 根据主键锁定表t_mst_setting_value的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_b.t_mst_setting_value tmsv
+        WHERE cp_id = #{cpId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_mst_setting_value的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_b.t_mst_setting_value
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into dkic_b.t_mst_setting_value
+        (
+        <trim suffixOverrides=",">
+            setting_code,
+            setting_value,
+            remarks,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.settingCode},
+                #{item.settingValue},
+                #{item.remarks},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 8 - 1
src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.java

@@ -4,6 +4,7 @@ import com.dk.mdm.model.pojo.mst.Org;
 import com.dk.mdm.model.pojo.mst.Supplier;
 import com.dk.common.mapper.BaseMapper;
 import com.dk.mdm.model.query.mst.SupplierQuery;
+import com.dk.mdm.model.response.mst.SpplierResponse;
 import com.dk.mdm.model.response.mst.StaffResponse;
 import com.dk.mdm.model.vo.mst.SupplierVo;
 import org.springframework.stereotype.Repository;
@@ -20,7 +21,7 @@ public interface SupplierMapper extends BaseMapper<Supplier>{
      * @author : 王英杰
      * @date   : 2023/1/9 10:42
      */
-    List<Supplier> selectByCond(SupplierQuery supplierQuery);
+    List<SpplierResponse> selectByCond(SupplierQuery supplierQuery);
 
     /**
      * @desc   : 根据条件进行查询(数量)
@@ -37,6 +38,12 @@ public interface SupplierMapper extends BaseMapper<Supplier>{
         */
     int insertSupplierBrand(Supplier supplierVo);
     /**
+     * @desc   : 保存供应商品牌
+     * @author : 王英杰
+     * @date   : 2024/2/29 17:49
+     */
+    int insertSupplierBrandtBatch(List<Supplier> supplierVo  );
+    /**
      * @desc   : 批量删除 供应商iD对应的品牌
      * @author : 王英杰
      * @date   : 2024/2/29 17:49

+ 46 - 9
src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.xml

@@ -14,11 +14,11 @@
         msl.service_categories, msl.remarks, msl.flg_valid, msl.cp_id,
         msl.op_create_time, msl.op_create_user_id, msl.op_update_time,
         msl.op_update_user_id, msl.op_app_code, msl.op_timestamp,
-        msl.op_db_user ,tmgb.brand_name,tmgb.brand_id
+        msl.op_db_user
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.Supplier">
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.SpplierResponse">
         <id column="sup_id" property="supId"/>
                 <result column="sup_code" property="supCode"/>
                 <result column="sup_name" property="supName"/>
@@ -31,8 +31,6 @@
                 <result column="remarks" property="remarks"/>
                 <result column="flg_valid" property="flgValid"/>
                 <result column="cp_id" property="cpId"/>
-                <result column="brand_name" property="brandName"/>
-        <result column="brand_id" property="brandId"/>
         <result column="staff_name" property="staffName"/>
         <result column="org_name" property="orgName"/>
                 <result column="sum_residue" property="sumResidue"/>
@@ -180,11 +178,18 @@
     <select id="selectByCond" resultMap="BaseResultMap">
         SELECT
         <include refid="msl_Base_Column_List"/>
-        ,tms.staff_name
+        ,tms.staff_name,
+        (SELECT COALESCE
+        ( array_to_string( ARRAY_AGG ( tsm.brand_name ), ',' ), '' )
+        FROM
+        dkic_b.t_mst_supplier_brand tsmb
+        LEFT JOIN dkic_b.t_mst_goods_brand tsm ON tsm.brand_id = tsmb.brand_id
+        WHERE
+        tsmb.sup_id = msl.sup_id
+        ) AS "brandName"
         ,tmo.org_name
         FROM dkic_b.t_mst_supplier msl
         LEFT JOIN dkic_b.t_mst_supplier_brand mslb ON msl.sup_id = mslb.sup_id
-        LEFT JOIN dkic_b.t_mst_goods_brand tmgb ON tmgb.brand_id = mslb.brand_id
         LEFT JOIN dkic_b.t_mst_staff  tms   ON tms.staff_id = msl.staff_id
         LEFT JOIN dkic_b.t_mst_org  tmo   ON tmo.org_id = msl.org_id
         <include refid="msl_Condition"/>
@@ -206,11 +211,26 @@
     <select id="selectById" resultMap="BaseResultMap">
         SELECT
         <include refid="msl_Base_Column_List"/>
+       , (SELECT COALESCE
+        ( array_to_string( ARRAY_AGG ( tsm.brand_id ), ',' ), '' )
+        FROM
+        dkic_b.t_mst_supplier_brand tsmb
+        LEFT JOIN dkic_b.t_mst_goods_brand tsm ON tsm.brand_id = tsmb.brand_id
+        WHERE
+        tsmb.sup_id = msl.sup_id
+        ) AS "brandIds",
+        (SELECT COALESCE
+        ( array_to_string( ARRAY_AGG ( tsm.brand_name ), ',' ), '' )
+        FROM
+        dkic_b.t_mst_supplier_brand tsmb
+        LEFT JOIN dkic_b.t_mst_goods_brand tsm ON tsm.brand_id = tsmb.brand_id
+        WHERE
+        tsmb.sup_id = msl.sup_id
+        ) AS "brandNames"
         ,tms.staff_name
         ,tmo.org_name
         FROM dkic_b.t_mst_supplier msl
-        LEFT JOIN dkic_b.t_mst_supplier_brand mslb ON msl.sup_id = mslb.sup_id
-        LEFT JOIN dkic_b.t_mst_goods_brand tmgb ON tmgb.brand_id = mslb.brand_id
+
         LEFT JOIN dkic_b.t_mst_staff  tms   ON tms.staff_id = msl.staff_id
         LEFT JOIN dkic_b.t_mst_org  tmo   ON tmo.org_id = msl.org_id
         WHERE msl.sup_id = #{supId}::uuid
@@ -277,7 +297,24 @@
             )
         </foreach>
     </insert>
-
+    <insert id="insertSupplierBrandtBatch">
+        insert into dkic_b.t_mst_supplier_brand
+        (
+        <trim suffixOverrides=",">
+            sup_id,
+            brand_id
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.supId}::uuid,
+                #{item.brandId}::uuid,
+            </trim>
+            )
+        </foreach>
+    </insert>
     <insert id="insertSupplierBrand">
         insert into dkic_b.t_mst_supplier_brand
         (

+ 14 - 0
src/main/java/com/dk/mdm/mapper/sale/OutReturnItemMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.sale;
+
+import com.dk.mdm.model.pojo.sale.OutReturnItem;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  出库退货明细 Mapper
+*/
+@Repository
+public interface OutReturnItemMapper extends BaseMapper<OutReturnItem>{
+	
+}
+

+ 243 - 0
src/main/java/com/dk/mdm/mapper/sale/OutReturnItemMapper.xml

@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.sale.OutReturnItemMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        item_id, return_id, out_id, out_item_id, order_id, order_item_id, item_index, sku_id, item_qty, price_std, amt_std, price_return, item_amt, non_std_code, into_status, intoing_qty, intoing_amt, into_qty, into_amt, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.sale.OutReturnItemResponse">
+        <id column="item_id" property="itemId"/>
+                <result column="return_id" property="returnId" typeHandler="UuidTypeHandler"/>
+                <result column="out_id" property="outId" typeHandler="UuidTypeHandler"/>
+                <result column="out_item_id" property="outItemId" typeHandler="UuidTypeHandler"/>
+                <result column="order_id" property="orderId" typeHandler="UuidTypeHandler"/>
+                <result column="order_item_id" property="orderItemId" typeHandler="UuidTypeHandler"/>
+                <result column="item_index" property="itemIndex"/>
+                <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+                <result column="item_qty" property="itemQty"/>
+                <result column="price_std" property="priceStd"/>
+                <result column="amt_std" property="amtStd"/>
+                <result column="price_return" property="priceReturn"/>
+                <result column="item_amt" property="itemAmt"/>
+                <result column="non_std_code" property="nonStdCode"/>
+                <result column="into_status" property="intoStatus"/>
+                <result column="intoing_qty" property="intoingQty"/>
+                <result column="intoing_amt" property="intoingAmt"/>
+                <result column="into_qty" property="intoQty"/>
+                <result column="into_amt" property="intoAmt"/>
+                <result column="remarks" property="remarks"/>
+                <result column="flg_valid" property="flgValid"/>
+                <result column="cp_id" property="cpId"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="returnId != null and returnId != ''">
+                AND return_id = #{returnId}
+            </if>
+            <if test="outId != null and outId != ''">
+                AND out_id = #{outId}
+            </if>
+            <if test="outItemId != null and outItemId != ''">
+                AND out_item_id = #{outItemId}
+            </if>
+            <if test="orderId != null and orderId != ''">
+                AND order_id = #{orderId}
+            </if>
+            <if test="orderItemId != null and orderItemId != ''">
+                AND order_item_id = #{orderItemId}
+            </if>
+            <if test="itemIndex != null">
+                AND item_index = #{itemIndex}
+            </if>
+            <if test="skuId != null and skuId != ''">
+                AND sku_id = #{skuId}
+            </if>
+            <if test="itemQty != null">
+                AND item_qty = #{itemQty}
+            </if>
+            <if test="priceStd != null">
+                AND price_std = #{priceStd}
+            </if>
+            <if test="amtStd != null">
+                AND amt_std = #{amtStd}
+            </if>
+            <if test="priceReturn != null">
+                AND price_return = #{priceReturn}
+            </if>
+            <if test="itemAmt != null">
+                AND item_amt = #{itemAmt}
+            </if>
+            <if test="nonStdCode != null and nonStdCode != ''">
+                AND non_std_code = #{nonStdCode}
+            </if>
+            <if test="intoStatus != null and intoStatus != ''">
+                AND into_status = #{intoStatus}
+            </if>
+            <if test="intoingQty != null">
+                AND intoing_qty = #{intoingQty}
+            </if>
+            <if test="intoingAmt != null">
+                AND intoing_amt = #{intoingAmt}
+            </if>
+            <if test="intoQty != null">
+                AND into_qty = #{intoQty}
+            </if>
+            <if test="intoAmt != null">
+                AND into_amt = #{intoAmt}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键itemId批量操作 -->
+        WHERE item_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_psi_out_return_item,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_out_return_item
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_psi_out_return_item,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_psi_out_return_item
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_psi_out_return_item的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_out_return_item
+        WHERE item_id = #{itemId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_psi_out_return_item的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_out_return_item
+        WHERE item_id = #{itemId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_psi_out_return_item的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_out_return_item
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_psi_out_return_item
+        (
+        <trim suffixOverrides=",">
+            return_id,
+            out_id,
+            out_item_id,
+            order_id,
+            order_item_id,
+            item_index,
+            sku_id,
+            item_qty,
+            price_std,
+            amt_std,
+            price_return,
+            item_amt,
+            non_std_code,
+            into_status,
+            intoing_qty,
+            intoing_amt,
+            into_qty,
+            into_amt,
+            remarks,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.returnId}::uuid,
+                #{item.outId}::uuid,
+                #{item.outItemId}::uuid,
+                #{item.orderId}::uuid,
+                #{item.orderItemId}::uuid,
+                #{item.itemIndex},
+                #{item.skuId}::uuid,
+                #{item.itemQty},
+                #{item.priceStd},
+                #{item.amtStd},
+                #{item.priceReturn},
+                #{item.itemAmt},
+                #{item.nonStdCode},
+                #{item.intoStatus},
+                #{item.intoingQty},
+                #{item.intoingAmt},
+                #{item.intoQty},
+                #{item.intoAmt},
+                #{item.remarks},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 14 - 0
src/main/java/com/dk/mdm/mapper/sale/OutReturnMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.sale;
+
+import com.dk.mdm.model.pojo.sale.OutReturn;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  出库退货 Mapper
+*/
+@Repository
+public interface OutReturnMapper extends BaseMapper<OutReturn>{
+	
+}
+

+ 339 - 0
src/main/java/com/dk/mdm/mapper/sale/OutReturnMapper.xml

@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.sale.OutReturnMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        return_id, return_no, return_type, out_id, order_id, out_no, order_no, org_id, staff_id, cus_id, address_area, address_name, address_no, address_gcj02, address_full, contact_name, contact_phone, sales_channel, pickup_date, sum_quantity, sum_standard, sum_amount, sale_discount, return_status, into_status, intoing_qty, intoing_amt, into_qty, into_amt, amt_receivable, amt_handle, amt_residue, remarks, annex_paths, make_staff, make_time, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.sale.OutReturnResponse">
+        <id column="return_id" property="returnId"/>
+                <result column="return_no" property="returnNo"/>
+                <result column="return_type" property="returnType"/>
+                <result column="out_id" property="outId" typeHandler="UuidTypeHandler"/>
+                <result column="order_id" property="orderId" typeHandler="UuidTypeHandler"/>
+                <result column="out_no" property="outNo"/>
+                <result column="order_no" property="orderNo"/>
+                <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
+                <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
+                <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
+                <result column="address_area" property="addressArea" typeHandler="JsonTypeHandler"/>
+                <result column="address_name" property="addressName"/>
+                <result column="address_no" property="addressNo"/>
+                <result column="address_gcj02" property="addressGcj02" typeHandler="JsonTypeHandler"/>
+                <result column="address_full" property="addressFull"/>
+                <result column="contact_name" property="contactName"/>
+                <result column="contact_phone" property="contactPhone"/>
+                <result column="sales_channel" property="salesChannel" typeHandler="UuidTypeHandler"/>
+            <result column="pickup_date" property="pickupDate" typeHandler="TimestampTypeHandler"/>
+                <result column="sum_quantity" property="sumQuantity"/>
+                <result column="sum_standard" property="sumStandard"/>
+                <result column="sum_amount" property="sumAmount"/>
+                <result column="sale_discount" property="saleDiscount"/>
+                <result column="return_status" property="returnStatus"/>
+                <result column="into_status" property="intoStatus"/>
+                <result column="intoing_qty" property="intoingQty"/>
+                <result column="intoing_amt" property="intoingAmt"/>
+                <result column="into_qty" property="intoQty"/>
+                <result column="into_amt" property="intoAmt"/>
+                <result column="amt_receivable" property="amtReceivable"/>
+                <result column="amt_handle" property="amtHandle"/>
+                <result column="amt_residue" property="amtResidue"/>
+                <result column="remarks" property="remarks"/>
+                <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
+                <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
+            <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
+                <result column="flg_valid" property="flgValid"/>
+                <result column="cp_id" property="cpId"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="returnNo != null and returnNo != ''">
+                AND return_no = #{returnNo}
+            </if>
+            <if test="returnType != null and returnType != ''">
+                AND return_type = #{returnType}
+            </if>
+            <if test="outId != null and outId != ''">
+                AND out_id = #{outId}
+            </if>
+            <if test="orderId != null and orderId != ''">
+                AND order_id = #{orderId}
+            </if>
+            <if test="outNo != null and outNo != ''">
+                AND out_no = #{outNo}
+            </if>
+            <if test="orderNo != null and orderNo != ''">
+                AND order_no = #{orderNo}
+            </if>
+            <if test="orgId != null and orgId != ''">
+                AND org_id = #{orgId}
+            </if>
+            <if test="staffId != null and staffId != ''">
+                AND staff_id = #{staffId}
+            </if>
+            <if test="cusId != null and cusId != ''">
+                AND cus_id = #{cusId}
+            </if>
+            <if test="addressArea != null and addressArea != ''">
+                AND address_area = #{addressArea}
+            </if>
+            <if test="addressName != null and addressName != ''">
+                AND address_name = #{addressName}
+            </if>
+            <if test="addressNo != null and addressNo != ''">
+                AND address_no = #{addressNo}
+            </if>
+            <if test="addressGcj02 != null and addressGcj02 != ''">
+                AND address_gcj02 = #{addressGcj02}
+            </if>
+            <if test="addressFull != null and addressFull != ''">
+                AND address_full = #{addressFull}
+            </if>
+            <if test="contactName != null and contactName != ''">
+                AND contact_name = #{contactName}
+            </if>
+            <if test="contactPhone != null and contactPhone != ''">
+                AND contact_phone = #{contactPhone}
+            </if>
+            <if test="salesChannel != null and salesChannel != ''">
+                AND sales_channel = #{salesChannel}
+            </if>
+            <if test="pickupDate != null">
+                AND pickup_date = #{pickupDate}
+            </if>
+            <if test="sumQuantity != null">
+                AND sum_quantity = #{sumQuantity}
+            </if>
+            <if test="sumStandard != null">
+                AND sum_standard = #{sumStandard}
+            </if>
+            <if test="sumAmount != null">
+                AND sum_amount = #{sumAmount}
+            </if>
+            <if test="saleDiscount != null">
+                AND sale_discount = #{saleDiscount}
+            </if>
+            <if test="returnStatus != null and returnStatus != ''">
+                AND return_status = #{returnStatus}
+            </if>
+            <if test="intoStatus != null and intoStatus != ''">
+                AND into_status = #{intoStatus}
+            </if>
+            <if test="intoingQty != null">
+                AND intoing_qty = #{intoingQty}
+            </if>
+            <if test="intoingAmt != null">
+                AND intoing_amt = #{intoingAmt}
+            </if>
+            <if test="intoQty != null">
+                AND into_qty = #{intoQty}
+            </if>
+            <if test="intoAmt != null">
+                AND into_amt = #{intoAmt}
+            </if>
+            <if test="amtReceivable != null">
+                AND amt_receivable = #{amtReceivable}
+            </if>
+            <if test="amtHandle != null">
+                AND amt_handle = #{amtHandle}
+            </if>
+            <if test="amtResidue != null">
+                AND amt_residue = #{amtResidue}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="annexPaths != null and annexPaths != ''">
+                AND annex_paths = #{annexPaths}
+            </if>
+            <if test="makeStaff != null and makeStaff != ''">
+                AND make_staff = #{makeStaff}
+            </if>
+            <if test="makeTime != null">
+                AND make_time = #{makeTime}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键returnId批量操作 -->
+        WHERE return_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_psi_out_return,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_out_return
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_psi_out_return,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_psi_out_return
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_psi_out_return的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_out_return
+        WHERE return_id = #{returnId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_psi_out_return的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_out_return
+        WHERE return_id = #{returnId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_psi_out_return的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_out_return
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_psi_out_return
+        (
+        <trim suffixOverrides=",">
+            return_no,
+            return_type,
+            out_id,
+            order_id,
+            out_no,
+            order_no,
+            org_id,
+            staff_id,
+            cus_id,
+            address_area,
+            address_name,
+            address_no,
+            address_gcj02,
+            address_full,
+            contact_name,
+            contact_phone,
+            sales_channel,
+            pickup_date,
+            sum_quantity,
+            sum_standard,
+            sum_amount,
+            sale_discount,
+            return_status,
+            into_status,
+            intoing_qty,
+            intoing_amt,
+            into_qty,
+            into_amt,
+            amt_receivable,
+            amt_handle,
+            amt_residue,
+            remarks,
+            annex_paths,
+            make_staff,
+            make_time,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.returnNo},
+                #{item.returnType},
+                #{item.outId}::uuid,
+                #{item.orderId}::uuid,
+                #{item.outNo},
+                #{item.orderNo},
+                #{item.orgId}::uuid,
+                #{item.staffId}::uuid,
+                #{item.cusId}::uuid,
+                #{item.addressArea},
+                #{item.addressName},
+                #{item.addressNo},
+                #{item.addressGcj02},
+                #{item.addressFull},
+                #{item.contactName},
+                #{item.contactPhone},
+                #{item.salesChannel}::uuid,
+                #{item.pickupDate},
+                #{item.sumQuantity},
+                #{item.sumStandard},
+                #{item.sumAmount},
+                #{item.saleDiscount},
+                #{item.returnStatus},
+                #{item.intoStatus},
+                #{item.intoingQty},
+                #{item.intoingAmt},
+                #{item.intoQty},
+                #{item.intoAmt},
+                #{item.amtReceivable},
+                #{item.amtHandle},
+                #{item.amtResidue},
+                #{item.remarks},
+                #{item.annexPaths},
+                #{item.makeStaff}::uuid,
+                #{item.makeTime},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 366 - 0
src/main/java/com/dk/mdm/model/pojo/ivt/Outbound.java

@@ -0,0 +1,366 @@
+package com.dk.mdm.model.pojo.ivt;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+import java.io.Serializable;
+
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.*;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.alibaba.fastjson.JSONObject;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  出库单
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库单")
+@TableName(value = "t_psi_outbound", autoResultMap = true)
+@ApiModel(value="实体类:出库单", description="表名:t_psi_outbound")
+public class Outbound extends PageInfo<Outbound> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 出库单ID
+     */
+//    @TableId(value = "out_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "出库单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 出库单号
+     */
+    @Excel(name = "出库单号")
+    @ApiModelProperty(value = "出库单号")
+    private String outNo;
+
+
+    /**
+     * 出库类型 (【系统字典】销售出库、采退出库、其他出库)
+     */
+    @Excel(name = "出库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    @ApiModelProperty(value = "出库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    private String outType;
+
+
+    /**
+     * 来源单ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单号
+     */
+    @Excel(name = "来源单号")
+    @ApiModelProperty(value = "来源单号")
+    private String fromNo;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 销售订单ID
+     */
+    @Excel(name = "销售订单ID")
+    @ApiModelProperty(value = "销售订单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 销售订单号
+     */
+    @Excel(name = "销售订单号")
+    @ApiModelProperty(value = "销售订单号")
+    private String orderNo;
+
+
+    /**
+     * 入库退货单ID
+     */
+    @Excel(name = "入库退货单ID")
+    @ApiModelProperty(value = "入库退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String intoReturnId;
+
+
+    /**
+     * 入库退货单号
+     */
+    @Excel(name = "入库退货单号")
+    @ApiModelProperty(value = "入库退货单号")
+    private String intoReturnNo;
+
+
+    /**
+     * 客户
+     */
+    @Excel(name = "客户")
+    @ApiModelProperty(value = "客户")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 供应商
+     */
+    @Excel(name = "供应商")
+    @ApiModelProperty(value = "供应商")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String supId;
+
+
+    /**
+     * 出库状态 (【系统字典】)
+     */
+    @Excel(name = "出库状态 (【系统字典】)")
+    @ApiModelProperty(value = "出库状态 (【系统字典】)")
+    private String outStatus;
+
+
+    /**
+     * 出库中数量
+     */
+    @Excel(name = "出库中数量")
+    @ApiModelProperty(value = "出库中数量")
+    private BigDecimal outingQty;
+
+
+    /**
+     * 出库中金额
+     */
+    @Excel(name = "出库中金额")
+    @ApiModelProperty(value = "出库中金额")
+    private BigDecimal outingAmt;
+
+
+    /**
+     * 已出库数量
+     */
+    @Excel(name = "已出库数量")
+    @ApiModelProperty(value = "已出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 已出库金额
+     */
+    @Excel(name = "已出库金额")
+    @ApiModelProperty(value = "已出库金额")
+    private BigDecimal outAmt;
+
+
+    /**
+     * 已出库退货数量
+     */
+    @Excel(name = "已出库退货数量")
+    @ApiModelProperty(value = "已出库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已出库退货金额
+     */
+    @Excel(name = "已出库退货金额")
+    @ApiModelProperty(value = "已出库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 出库日期
+     */
+    @Excel(name = "出库日期")
+    @ApiModelProperty(value = "出库日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime outDate;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject annexPaths;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 应收款单
+     */
+    @Excel(name = "应收款单")
+    @ApiModelProperty(value = "应收款单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String receivableId;
+
+
+    /**
+     * 应付款单
+     */
+    @Excel(name = "应付款单")
+    @ApiModelProperty(value = "应付款单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String payableId;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 316 - 0
src/main/java/com/dk/mdm/model/pojo/ivt/OutboundItem.java

@@ -0,0 +1,316 @@
+package com.dk.mdm.model.pojo.ivt;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+import java.io.Serializable;
+
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.*;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.alibaba.fastjson.JSONObject;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  出库明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库明细")
+@TableName(value = "t_psi_outbound_item", autoResultMap = true)
+@ApiModel(value="实体类:出库明细", description="表名:t_psi_outbound_item")
+public class OutboundItem extends PageInfo<OutboundItem> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 出库ID
+     */
+    @Excel(name = "出库ID")
+    @ApiModelProperty(value = "出库ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 入库类型 (【系统字典】销售出库、采退出库、其他出库)
+     */
+    @Excel(name = "入库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    @ApiModelProperty(value = "入库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    private String outType;
+
+
+    /**
+     * 来源单ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单明细ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单明细ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单明细ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品数量
+     */
+    @Excel(name = "商品数量")
+    @ApiModelProperty(value = "商品数量")
+    private BigDecimal itemQty;
+
+
+    /**
+     * 出库价
+     */
+    @Excel(name = "出库价")
+    @ApiModelProperty(value = "出库价")
+    private BigDecimal priceOut;
+
+
+    /**
+     * 出库金额 (商品数量*入库价)
+     */
+    @Excel(name = "出库金额 (商品数量*入库价)")
+    @ApiModelProperty(value = "出库金额 (商品数量*入库价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 出库状态
+     */
+    @Excel(name = "出库状态")
+    @ApiModelProperty(value = "出库状态")
+    private String outStatus;
+
+
+    /**
+     * 出库中数量
+     */
+    @Excel(name = "出库中数量")
+    @ApiModelProperty(value = "出库中数量")
+    private BigDecimal outingQty;
+
+
+    /**
+     * 出库中金额
+     */
+    @Excel(name = "出库中金额")
+    @ApiModelProperty(value = "出库中金额")
+    private BigDecimal outingAmt;
+
+
+    /**
+     * 已出库数量
+     */
+    @Excel(name = "已出库数量")
+    @ApiModelProperty(value = "已出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 已出库金额
+     */
+    @Excel(name = "已出库金额")
+    @ApiModelProperty(value = "已出库金额")
+    private BigDecimal outAmt;
+
+
+    /**
+     * 已出库退货数量
+     */
+    @Excel(name = "已出库退货数量")
+    @ApiModelProperty(value = "已出库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已出库退货金额
+     */
+    @Excel(name = "已出库退货金额")
+    @ApiModelProperty(value = "已出库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 成本单价
+     */
+    @Excel(name = "成本单价")
+    @ApiModelProperty(value = "成本单价")
+    private BigDecimal costPrice;
+
+
+    /**
+     * 成本金额
+     */
+    @Excel(name = "成本金额")
+    @ApiModelProperty(value = "成本金额")
+    private BigDecimal costAmt;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 1 - 1
src/main/java/com/dk/mdm/model/pojo/mst/GoodsSku.java

@@ -41,7 +41,7 @@ public class GoodsSku extends PageInfo<GoodsSku> implements Serializable {
     /**
      * 商品ID
      */
-    @TableId(value = "sku_id", type = IdType.AUTO)
+//    @TableId(value = "sku_id", type = IdType.AUTO)
     @ApiModelProperty(value = "商品ID")
     @TableField(typeHandler = UuidTypeHandler.class)
     private String skuId;

+ 157 - 0
src/main/java/com/dk/mdm/model/pojo/mst/SettingValue.java

@@ -0,0 +1,157 @@
+package com.dk.mdm.model.pojo.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+import java.io.Serializable;
+
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.*;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  系统参数
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("系统参数")
+@TableName(value = "t_mst_setting_value",schema =  "dkic_b",  autoResultMap = true)
+@ApiModel(value="实体类:系统参数", description="表名:t_mst_setting_value")
+public class SettingValue extends PageInfo<SettingValue> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 企业ID
+     */
+    @TableId(value = "cp_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 参数代码
+     */
+    @Excel(name = "参数代码")
+    @ApiModelProperty(value = "参数代码")
+    private String settingCode;
+
+
+    /**
+     * 参数值
+     */
+    @Excel(name = "参数值")
+    @ApiModelProperty(value = "参数值")
+    private String settingValue;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 4 - 0
src/main/java/com/dk/mdm/model/pojo/mst/Supplier.java

@@ -228,6 +228,10 @@ public class Supplier extends PageInfo<Supplier> implements Serializable {
     @TableField(exist = false)
     @ApiModelProperty(value = "剩余应收付")
     private String sumResidue;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "供应品牌")
+    private List<String> brandIds;
     /*
      * 相关属性
      * @TableField(exist = false)

+ 1 - 1
src/main/java/com/dk/mdm/model/pojo/sale/OrderItem.java

@@ -41,7 +41,7 @@ public class OrderItem extends PageInfo<OrderItem> implements Serializable {
     /**
      * 明细ID
      */
-    @TableId(value = "item_id", type = IdType.AUTO)
+//    @TableId(value = "item_id", type = IdType.AUTO)
     @ApiModelProperty(value = "明细ID")
     @TableField(typeHandler = UuidTypeHandler.class)
     private String itemId;

+ 437 - 0
src/main/java/com/dk/mdm/model/pojo/sale/OutReturn.java

@@ -0,0 +1,437 @@
+package com.dk.mdm.model.pojo.sale;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+import java.io.Serializable;
+
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.*;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.alibaba.fastjson.JSONObject;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  出库退货
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库退货")
+@TableName(value = "t_psi_out_return", autoResultMap = true)
+@ApiModel(value="实体类:出库退货", description="表名:t_psi_out_return")
+public class OutReturn extends PageInfo<OutReturn> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 退货单ID
+     */
+//    @TableId(value = "return_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String returnId;
+
+
+    /**
+     * 退货单号
+     */
+    @Excel(name = "退货单号")
+    @ApiModelProperty(value = "退货单号")
+    private String returnNo;
+
+
+    /**
+     * 退货类型 (【系统字典】销售退货)
+     */
+    @Excel(name = "退货类型 (【系统字典】销售退货)")
+    @ApiModelProperty(value = "退货类型 (【系统字典】销售退货)")
+    private String returnType;
+
+
+    /**
+     * 出库单
+     */
+    @Excel(name = "出库单")
+    @ApiModelProperty(value = "出库单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 销售订单
+     */
+    @Excel(name = "销售订单")
+    @ApiModelProperty(value = "销售订单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 出库单号
+     */
+    @Excel(name = "出库单号")
+    @ApiModelProperty(value = "出库单号")
+    private String outNo;
+
+
+    /**
+     * 销售订单号
+     */
+    @Excel(name = "销售订单号")
+    @ApiModelProperty(value = "销售订单号")
+    private String orderNo;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 客户ID
+     */
+    @Excel(name = "客户ID")
+    @ApiModelProperty(value = "客户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 行政区划 (a1:省 a2:市 a3:区)
+     */
+    @Excel(name = "行政区划 (a1:省 a2:市 a3:区)")
+    @ApiModelProperty(value = "行政区划 (a1:省 a2:市 a3:区)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject addressArea;
+
+
+    /**
+     * 小区或POI
+     */
+    @Excel(name = "小区或POI")
+    @ApiModelProperty(value = "小区或POI")
+    private String addressName;
+
+
+    /**
+     * 门牌号
+     */
+    @Excel(name = "门牌号")
+    @ApiModelProperty(value = "门牌号")
+    private String addressNo;
+
+
+    /**
+     * 地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)
+     */
+    @Excel(name = "地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)")
+    @ApiModelProperty(value = "地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject addressGcj02;
+
+
+    /**
+     * 详细地址
+     */
+    @Excel(name = "详细地址")
+    @ApiModelProperty(value = "详细地址")
+    private String addressFull;
+
+
+    /**
+     * 联系人
+     */
+    @Excel(name = "联系人")
+    @ApiModelProperty(value = "联系人")
+    private String contactName;
+
+
+    /**
+     * 联系电话
+     */
+    @Excel(name = "联系电话")
+    @ApiModelProperty(value = "联系电话")
+    private String contactPhone;
+
+
+    /**
+     * 销售渠道
+     */
+    @Excel(name = "销售渠道")
+    @ApiModelProperty(value = "销售渠道")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String salesChannel;
+
+
+    /**
+     * 取货日期
+     */
+    @Excel(name = "取货日期")
+    @ApiModelProperty(value = "取货日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime pickupDate;
+
+
+    /**
+     * 商品总数量
+     */
+    @Excel(name = "商品总数量")
+    @ApiModelProperty(value = "商品总数量")
+    private BigDecimal sumQuantity;
+
+
+    /**
+     * 标价合计
+     */
+    @Excel(name = "标价合计")
+    @ApiModelProperty(value = "标价合计")
+    private BigDecimal sumStandard;
+
+
+    /**
+     * 合计金额
+     */
+    @Excel(name = "合计金额")
+    @ApiModelProperty(value = "合计金额")
+    private BigDecimal sumAmount;
+
+
+    /**
+     * 销售折扣 (合计金额/标价合计)
+     */
+    @Excel(name = "销售折扣 (合计金额/标价合计)")
+    @ApiModelProperty(value = "销售折扣 (合计金额/标价合计)")
+    private BigDecimal saleDiscount;
+
+
+    /**
+     * 退货状态 (【系统字典】)
+     */
+    @Excel(name = "退货状态 (【系统字典】)")
+    @ApiModelProperty(value = "退货状态 (【系统字典】)")
+    private String returnStatus;
+
+
+    /**
+     * 入库状态 (【系统字典】)
+     */
+    @Excel(name = "入库状态 (【系统字典】)")
+    @ApiModelProperty(value = "入库状态 (【系统字典】)")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 应收金额
+     */
+    @Excel(name = "应收金额")
+    @ApiModelProperty(value = "应收金额")
+    private BigDecimal amtReceivable;
+
+
+    /**
+     * 还款金额
+     */
+    @Excel(name = "还款金额")
+    @ApiModelProperty(value = "还款金额")
+    private BigDecimal amtHandle;
+
+
+    /**
+     * 剩余应收
+     */
+    @Excel(name = "剩余应收")
+    @ApiModelProperty(value = "剩余应收")
+    private BigDecimal amtResidue;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject annexPaths;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 301 - 0
src/main/java/com/dk/mdm/model/pojo/sale/OutReturnItem.java

@@ -0,0 +1,301 @@
+package com.dk.mdm.model.pojo.sale;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+import java.io.Serializable;
+
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.*;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.alibaba.fastjson.JSONObject;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  出库退货明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库退货明细")
+@TableName(value = "t_psi_out_return_item", autoResultMap = true)
+@ApiModel(value="实体类:出库退货明细", description="表名:t_psi_out_return_item")
+public class OutReturnItem extends PageInfo<OutReturnItem> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 退货单ID
+     */
+    @Excel(name = "退货单ID")
+    @ApiModelProperty(value = "退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String returnId;
+
+
+    /**
+     * 出库单ID
+     */
+    @Excel(name = "出库单ID")
+    @ApiModelProperty(value = "出库单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 出库单明细ID
+     */
+    @Excel(name = "出库单明细ID")
+    @ApiModelProperty(value = "出库单明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outItemId;
+
+
+    /**
+     * 销售订单ID
+     */
+    @Excel(name = "销售订单ID")
+    @ApiModelProperty(value = "销售订单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 销售明细ID
+     */
+    @Excel(name = "销售明细ID")
+    @ApiModelProperty(value = "销售明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品数量
+     */
+    @Excel(name = "商品数量")
+    @ApiModelProperty(value = "商品数量")
+    private BigDecimal itemQty;
+
+
+    /**
+     * 标价
+     */
+    @Excel(name = "标价")
+    @ApiModelProperty(value = "标价")
+    private BigDecimal priceStd;
+
+
+    /**
+     * 标价金额 (商品数量*标价)
+     */
+    @Excel(name = "标价金额 (商品数量*标价)")
+    @ApiModelProperty(value = "标价金额 (商品数量*标价)")
+    private BigDecimal amtStd;
+
+
+    /**
+     * 退货价
+     */
+    @Excel(name = "退货价")
+    @ApiModelProperty(value = "退货价")
+    private BigDecimal priceReturn;
+
+
+    /**
+     * 退货金额 (商品数量*退货价)
+     */
+    @Excel(name = "退货金额 (商品数量*退货价)")
+    @ApiModelProperty(value = "退货金额 (商品数量*退货价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 入库状态
+     */
+    @Excel(name = "入库状态")
+    @ApiModelProperty(value = "入库状态")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 315 - 0
src/main/java/com/dk/mdm/model/query/ivt/OutboundItemQuery.java

@@ -0,0 +1,315 @@
+package com.dk.mdm.model.query.ivt;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库明细")
+@TableName(value = "t_psi_outbound_item", autoResultMap = true)
+@ApiModel(value="实体类:出库明细", description="表名:t_psi_outbound_item")
+public class OutboundItemQuery extends PageInfo<OutboundItemQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 出库ID
+     */
+    @Excel(name = "出库ID")
+    @ApiModelProperty(value = "出库ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 入库类型 (【系统字典】销售出库、采退出库、其他出库)
+     */
+    @Excel(name = "入库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    @ApiModelProperty(value = "入库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    private String outType;
+
+
+    /**
+     * 来源单ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单明细ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单明细ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单明细ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品数量
+     */
+    @Excel(name = "商品数量")
+    @ApiModelProperty(value = "商品数量")
+    private BigDecimal itemQty;
+
+
+    /**
+     * 出库价
+     */
+    @Excel(name = "出库价")
+    @ApiModelProperty(value = "出库价")
+    private BigDecimal priceOut;
+
+
+    /**
+     * 出库金额 (商品数量*入库价)
+     */
+    @Excel(name = "出库金额 (商品数量*入库价)")
+    @ApiModelProperty(value = "出库金额 (商品数量*入库价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 出库状态
+     */
+    @Excel(name = "出库状态")
+    @ApiModelProperty(value = "出库状态")
+    private String outStatus;
+
+
+    /**
+     * 出库中数量
+     */
+    @Excel(name = "出库中数量")
+    @ApiModelProperty(value = "出库中数量")
+    private BigDecimal outingQty;
+
+
+    /**
+     * 出库中金额
+     */
+    @Excel(name = "出库中金额")
+    @ApiModelProperty(value = "出库中金额")
+    private BigDecimal outingAmt;
+
+
+    /**
+     * 已出库数量
+     */
+    @Excel(name = "已出库数量")
+    @ApiModelProperty(value = "已出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 已出库金额
+     */
+    @Excel(name = "已出库金额")
+    @ApiModelProperty(value = "已出库金额")
+    private BigDecimal outAmt;
+
+
+    /**
+     * 已出库退货数量
+     */
+    @Excel(name = "已出库退货数量")
+    @ApiModelProperty(value = "已出库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已出库退货金额
+     */
+    @Excel(name = "已出库退货金额")
+    @ApiModelProperty(value = "已出库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 成本单价
+     */
+    @Excel(name = "成本单价")
+    @ApiModelProperty(value = "成本单价")
+    private BigDecimal costPrice;
+
+
+    /**
+     * 成本金额
+     */
+    @Excel(name = "成本金额")
+    @ApiModelProperty(value = "成本金额")
+    private BigDecimal costAmt;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 367 - 0
src/main/java/com/dk/mdm/model/query/ivt/OutboundQuery.java

@@ -0,0 +1,367 @@
+package com.dk.mdm.model.query.ivt;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库单
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库单")
+@TableName(value = "t_psi_outbound", autoResultMap = true)
+@ApiModel(value="实体类:出库单", description="表名:t_psi_outbound")
+public class OutboundQuery extends PageInfo<OutboundQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 出库单ID
+     */
+//    @TableId(value = "out_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "出库单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 出库单号
+     */
+    @Excel(name = "出库单号")
+    @ApiModelProperty(value = "出库单号")
+    private String outNo;
+
+
+    /**
+     * 出库类型 (【系统字典】销售出库、采退出库、其他出库)
+     */
+    @Excel(name = "出库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    @ApiModelProperty(value = "出库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    private String outType;
+
+
+    /**
+     * 来源单ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单号
+     */
+    @Excel(name = "来源单号")
+    @ApiModelProperty(value = "来源单号")
+    private String fromNo;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 销售订单ID
+     */
+    @Excel(name = "销售订单ID")
+    @ApiModelProperty(value = "销售订单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 销售订单号
+     */
+    @Excel(name = "销售订单号")
+    @ApiModelProperty(value = "销售订单号")
+    private String orderNo;
+
+
+    /**
+     * 入库退货单ID
+     */
+    @Excel(name = "入库退货单ID")
+    @ApiModelProperty(value = "入库退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String intoReturnId;
+
+
+    /**
+     * 入库退货单号
+     */
+    @Excel(name = "入库退货单号")
+    @ApiModelProperty(value = "入库退货单号")
+    private String intoReturnNo;
+
+
+    /**
+     * 客户
+     */
+    @Excel(name = "客户")
+    @ApiModelProperty(value = "客户")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 供应商
+     */
+    @Excel(name = "供应商")
+    @ApiModelProperty(value = "供应商")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String supId;
+
+
+    /**
+     * 出库状态 (【系统字典】)
+     */
+    @Excel(name = "出库状态 (【系统字典】)")
+    @ApiModelProperty(value = "出库状态 (【系统字典】)")
+    private String outStatus;
+
+
+    /**
+     * 出库中数量
+     */
+    @Excel(name = "出库中数量")
+    @ApiModelProperty(value = "出库中数量")
+    private BigDecimal outingQty;
+
+
+    /**
+     * 出库中金额
+     */
+    @Excel(name = "出库中金额")
+    @ApiModelProperty(value = "出库中金额")
+    private BigDecimal outingAmt;
+
+
+    /**
+     * 已出库数量
+     */
+    @Excel(name = "已出库数量")
+    @ApiModelProperty(value = "已出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 已出库金额
+     */
+    @Excel(name = "已出库金额")
+    @ApiModelProperty(value = "已出库金额")
+    private BigDecimal outAmt;
+
+
+    /**
+     * 已出库退货数量
+     */
+    @Excel(name = "已出库退货数量")
+    @ApiModelProperty(value = "已出库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已出库退货金额
+     */
+    @Excel(name = "已出库退货金额")
+    @ApiModelProperty(value = "已出库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 出库日期
+     */
+    @Excel(name = "出库日期")
+    @ApiModelProperty(value = "出库日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime outDate;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject annexPaths;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 应收款单
+     */
+    @Excel(name = "应收款单")
+    @ApiModelProperty(value = "应收款单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String receivableId;
+
+
+    /**
+     * 应付款单
+     */
+    @Excel(name = "应付款单")
+    @ApiModelProperty(value = "应付款单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String payableId;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 300 - 0
src/main/java/com/dk/mdm/model/query/sale/OutReturnItemQuery.java

@@ -0,0 +1,300 @@
+package com.dk.mdm.model.query.sale;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库退货明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库退货明细")
+@TableName(value = "t_psi_out_return_item", autoResultMap = true)
+@ApiModel(value="实体类:出库退货明细", description="表名:t_psi_out_return_item")
+public class OutReturnItemQuery extends PageInfo<OutReturnItemQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 退货单ID
+     */
+    @Excel(name = "退货单ID")
+    @ApiModelProperty(value = "退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String returnId;
+
+
+    /**
+     * 出库单ID
+     */
+    @Excel(name = "出库单ID")
+    @ApiModelProperty(value = "出库单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 出库单明细ID
+     */
+    @Excel(name = "出库单明细ID")
+    @ApiModelProperty(value = "出库单明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outItemId;
+
+
+    /**
+     * 销售订单ID
+     */
+    @Excel(name = "销售订单ID")
+    @ApiModelProperty(value = "销售订单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 销售明细ID
+     */
+    @Excel(name = "销售明细ID")
+    @ApiModelProperty(value = "销售明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品数量
+     */
+    @Excel(name = "商品数量")
+    @ApiModelProperty(value = "商品数量")
+    private BigDecimal itemQty;
+
+
+    /**
+     * 标价
+     */
+    @Excel(name = "标价")
+    @ApiModelProperty(value = "标价")
+    private BigDecimal priceStd;
+
+
+    /**
+     * 标价金额 (商品数量*标价)
+     */
+    @Excel(name = "标价金额 (商品数量*标价)")
+    @ApiModelProperty(value = "标价金额 (商品数量*标价)")
+    private BigDecimal amtStd;
+
+
+    /**
+     * 退货价
+     */
+    @Excel(name = "退货价")
+    @ApiModelProperty(value = "退货价")
+    private BigDecimal priceReturn;
+
+
+    /**
+     * 退货金额 (商品数量*退货价)
+     */
+    @Excel(name = "退货金额 (商品数量*退货价)")
+    @ApiModelProperty(value = "退货金额 (商品数量*退货价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 入库状态
+     */
+    @Excel(name = "入库状态")
+    @ApiModelProperty(value = "入库状态")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 438 - 0
src/main/java/com/dk/mdm/model/query/sale/OutReturnQuery.java

@@ -0,0 +1,438 @@
+package com.dk.mdm.model.query.sale;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库退货
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库退货")
+@TableName(value = "t_psi_out_return", autoResultMap = true)
+@ApiModel(value="实体类:出库退货", description="表名:t_psi_out_return")
+public class OutReturnQuery extends PageInfo<OutReturnQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 退货单ID
+     */
+//    @TableId(value = "return_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String returnId;
+
+
+    /**
+     * 退货单号
+     */
+    @Excel(name = "退货单号")
+    @ApiModelProperty(value = "退货单号")
+    private String returnNo;
+
+
+    /**
+     * 退货类型 (【系统字典】销售退货)
+     */
+    @Excel(name = "退货类型 (【系统字典】销售退货)")
+    @ApiModelProperty(value = "退货类型 (【系统字典】销售退货)")
+    private String returnType;
+
+
+    /**
+     * 出库单
+     */
+    @Excel(name = "出库单")
+    @ApiModelProperty(value = "出库单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 销售订单
+     */
+    @Excel(name = "销售订单")
+    @ApiModelProperty(value = "销售订单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 出库单号
+     */
+    @Excel(name = "出库单号")
+    @ApiModelProperty(value = "出库单号")
+    private String outNo;
+
+
+    /**
+     * 销售订单号
+     */
+    @Excel(name = "销售订单号")
+    @ApiModelProperty(value = "销售订单号")
+    private String orderNo;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 客户ID
+     */
+    @Excel(name = "客户ID")
+    @ApiModelProperty(value = "客户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 行政区划 (a1:省 a2:市 a3:区)
+     */
+    @Excel(name = "行政区划 (a1:省 a2:市 a3:区)")
+    @ApiModelProperty(value = "行政区划 (a1:省 a2:市 a3:区)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject addressArea;
+
+
+    /**
+     * 小区或POI
+     */
+    @Excel(name = "小区或POI")
+    @ApiModelProperty(value = "小区或POI")
+    private String addressName;
+
+
+    /**
+     * 门牌号
+     */
+    @Excel(name = "门牌号")
+    @ApiModelProperty(value = "门牌号")
+    private String addressNo;
+
+
+    /**
+     * 地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)
+     */
+    @Excel(name = "地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)")
+    @ApiModelProperty(value = "地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject addressGcj02;
+
+
+    /**
+     * 详细地址
+     */
+    @Excel(name = "详细地址")
+    @ApiModelProperty(value = "详细地址")
+    private String addressFull;
+
+
+    /**
+     * 联系人
+     */
+    @Excel(name = "联系人")
+    @ApiModelProperty(value = "联系人")
+    private String contactName;
+
+
+    /**
+     * 联系电话
+     */
+    @Excel(name = "联系电话")
+    @ApiModelProperty(value = "联系电话")
+    private String contactPhone;
+
+
+    /**
+     * 销售渠道
+     */
+    @Excel(name = "销售渠道")
+    @ApiModelProperty(value = "销售渠道")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String salesChannel;
+
+
+    /**
+     * 取货日期
+     */
+    @Excel(name = "取货日期")
+    @ApiModelProperty(value = "取货日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime pickupDate;
+
+
+    /**
+     * 商品总数量
+     */
+    @Excel(name = "商品总数量")
+    @ApiModelProperty(value = "商品总数量")
+    private BigDecimal sumQuantity;
+
+
+    /**
+     * 标价合计
+     */
+    @Excel(name = "标价合计")
+    @ApiModelProperty(value = "标价合计")
+    private BigDecimal sumStandard;
+
+
+    /**
+     * 合计金额
+     */
+    @Excel(name = "合计金额")
+    @ApiModelProperty(value = "合计金额")
+    private BigDecimal sumAmount;
+
+
+    /**
+     * 销售折扣 (合计金额/标价合计)
+     */
+    @Excel(name = "销售折扣 (合计金额/标价合计)")
+    @ApiModelProperty(value = "销售折扣 (合计金额/标价合计)")
+    private BigDecimal saleDiscount;
+
+
+    /**
+     * 退货状态 (【系统字典】)
+     */
+    @Excel(name = "退货状态 (【系统字典】)")
+    @ApiModelProperty(value = "退货状态 (【系统字典】)")
+    private String returnStatus;
+
+
+    /**
+     * 入库状态 (【系统字典】)
+     */
+    @Excel(name = "入库状态 (【系统字典】)")
+    @ApiModelProperty(value = "入库状态 (【系统字典】)")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 应收金额
+     */
+    @Excel(name = "应收金额")
+    @ApiModelProperty(value = "应收金额")
+    private BigDecimal amtReceivable;
+
+
+    /**
+     * 还款金额
+     */
+    @Excel(name = "还款金额")
+    @ApiModelProperty(value = "还款金额")
+    private BigDecimal amtHandle;
+
+
+    /**
+     * 剩余应收
+     */
+    @Excel(name = "剩余应收")
+    @ApiModelProperty(value = "剩余应收")
+    private BigDecimal amtResidue;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject annexPaths;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 315 - 0
src/main/java/com/dk/mdm/model/response/ivt/OutboundItemResponse.java

@@ -0,0 +1,315 @@
+package com.dk.mdm.model.response.ivt;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库明细")
+@TableName(value = "t_psi_outbound_item", autoResultMap = true)
+@ApiModel(value="实体类:出库明细", description="表名:t_psi_outbound_item")
+public class OutboundItemResponse extends PageInfo<OutboundItemResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 出库ID
+     */
+    @Excel(name = "出库ID")
+    @ApiModelProperty(value = "出库ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 入库类型 (【系统字典】销售出库、采退出库、其他出库)
+     */
+    @Excel(name = "入库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    @ApiModelProperty(value = "入库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    private String outType;
+
+
+    /**
+     * 来源单ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单明细ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单明细ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单明细ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品数量
+     */
+    @Excel(name = "商品数量")
+    @ApiModelProperty(value = "商品数量")
+    private BigDecimal itemQty;
+
+
+    /**
+     * 出库价
+     */
+    @Excel(name = "出库价")
+    @ApiModelProperty(value = "出库价")
+    private BigDecimal priceOut;
+
+
+    /**
+     * 出库金额 (商品数量*入库价)
+     */
+    @Excel(name = "出库金额 (商品数量*入库价)")
+    @ApiModelProperty(value = "出库金额 (商品数量*入库价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 出库状态
+     */
+    @Excel(name = "出库状态")
+    @ApiModelProperty(value = "出库状态")
+    private String outStatus;
+
+
+    /**
+     * 出库中数量
+     */
+    @Excel(name = "出库中数量")
+    @ApiModelProperty(value = "出库中数量")
+    private BigDecimal outingQty;
+
+
+    /**
+     * 出库中金额
+     */
+    @Excel(name = "出库中金额")
+    @ApiModelProperty(value = "出库中金额")
+    private BigDecimal outingAmt;
+
+
+    /**
+     * 已出库数量
+     */
+    @Excel(name = "已出库数量")
+    @ApiModelProperty(value = "已出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 已出库金额
+     */
+    @Excel(name = "已出库金额")
+    @ApiModelProperty(value = "已出库金额")
+    private BigDecimal outAmt;
+
+
+    /**
+     * 已出库退货数量
+     */
+    @Excel(name = "已出库退货数量")
+    @ApiModelProperty(value = "已出库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已出库退货金额
+     */
+    @Excel(name = "已出库退货金额")
+    @ApiModelProperty(value = "已出库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 成本单价
+     */
+    @Excel(name = "成本单价")
+    @ApiModelProperty(value = "成本单价")
+    private BigDecimal costPrice;
+
+
+    /**
+     * 成本金额
+     */
+    @Excel(name = "成本金额")
+    @ApiModelProperty(value = "成本金额")
+    private BigDecimal costAmt;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 367 - 0
src/main/java/com/dk/mdm/model/response/ivt/OutboundResponse.java

@@ -0,0 +1,367 @@
+package com.dk.mdm.model.response.ivt;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库单
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库单")
+@TableName(value = "t_psi_outbound", autoResultMap = true)
+@ApiModel(value="实体类:出库单", description="表名:t_psi_outbound")
+public class OutboundResponse extends PageInfo<OutboundResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 出库单ID
+     */
+//    @TableId(value = "out_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "出库单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 出库单号
+     */
+    @Excel(name = "出库单号")
+    @ApiModelProperty(value = "出库单号")
+    private String outNo;
+
+
+    /**
+     * 出库类型 (【系统字典】销售出库、采退出库、其他出库)
+     */
+    @Excel(name = "出库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    @ApiModelProperty(value = "出库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    private String outType;
+
+
+    /**
+     * 来源单ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单号
+     */
+    @Excel(name = "来源单号")
+    @ApiModelProperty(value = "来源单号")
+    private String fromNo;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 销售订单ID
+     */
+    @Excel(name = "销售订单ID")
+    @ApiModelProperty(value = "销售订单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 销售订单号
+     */
+    @Excel(name = "销售订单号")
+    @ApiModelProperty(value = "销售订单号")
+    private String orderNo;
+
+
+    /**
+     * 入库退货单ID
+     */
+    @Excel(name = "入库退货单ID")
+    @ApiModelProperty(value = "入库退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String intoReturnId;
+
+
+    /**
+     * 入库退货单号
+     */
+    @Excel(name = "入库退货单号")
+    @ApiModelProperty(value = "入库退货单号")
+    private String intoReturnNo;
+
+
+    /**
+     * 客户
+     */
+    @Excel(name = "客户")
+    @ApiModelProperty(value = "客户")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 供应商
+     */
+    @Excel(name = "供应商")
+    @ApiModelProperty(value = "供应商")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String supId;
+
+
+    /**
+     * 出库状态 (【系统字典】)
+     */
+    @Excel(name = "出库状态 (【系统字典】)")
+    @ApiModelProperty(value = "出库状态 (【系统字典】)")
+    private String outStatus;
+
+
+    /**
+     * 出库中数量
+     */
+    @Excel(name = "出库中数量")
+    @ApiModelProperty(value = "出库中数量")
+    private BigDecimal outingQty;
+
+
+    /**
+     * 出库中金额
+     */
+    @Excel(name = "出库中金额")
+    @ApiModelProperty(value = "出库中金额")
+    private BigDecimal outingAmt;
+
+
+    /**
+     * 已出库数量
+     */
+    @Excel(name = "已出库数量")
+    @ApiModelProperty(value = "已出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 已出库金额
+     */
+    @Excel(name = "已出库金额")
+    @ApiModelProperty(value = "已出库金额")
+    private BigDecimal outAmt;
+
+
+    /**
+     * 已出库退货数量
+     */
+    @Excel(name = "已出库退货数量")
+    @ApiModelProperty(value = "已出库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已出库退货金额
+     */
+    @Excel(name = "已出库退货金额")
+    @ApiModelProperty(value = "已出库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 出库日期
+     */
+    @Excel(name = "出库日期")
+    @ApiModelProperty(value = "出库日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime outDate;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject annexPaths;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 应收款单
+     */
+    @Excel(name = "应收款单")
+    @ApiModelProperty(value = "应收款单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String receivableId;
+
+
+    /**
+     * 应付款单
+     */
+    @Excel(name = "应付款单")
+    @ApiModelProperty(value = "应付款单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String payableId;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 254 - 0
src/main/java/com/dk/mdm/model/response/mst/SpplierResponse.java

@@ -0,0 +1,254 @@
+package com.dk.mdm.model.response.mst;
+
+
+        import cn.afterturn.easypoi.excel.annotation.Excel;
+        import com.baomidou.mybatisplus.annotation.*;
+        import java.io.Serializable;
+
+        import com.dk.common.infrastructure.annotaiton.ExportTitle;
+        import com.dk.common.infrastructure.handler.*;
+        import com.dk.common.model.pojo.PageInfo;
+        import com.fasterxml.jackson.annotation.JsonFormat;
+        import lombok.Data;
+        import lombok.AllArgsConstructor;
+        import lombok.NoArgsConstructor;
+        import lombok.EqualsAndHashCode;
+        import lombok.experimental.Accessors;
+        import io.swagger.annotations.ApiModel;
+        import io.swagger.annotations.ApiModelProperty;
+        import com.alibaba.fastjson.JSONObject;
+
+        import java.util.Arrays;
+        import java.util.HashSet;
+        import java.util.List;
+        import java.time.LocalDateTime;
+        import java.util.Set;
+
+/**
+ *  供应商
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("供应商")
+@TableName(value = "t_mst_supplier", autoResultMap = true,schema = "dkic_b")
+@ApiModel(value="实体类:供应商", description="表名:t_mst_supplier")
+public class SpplierResponse extends PageInfo<SpplierResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 供应商ID
+     */
+//    @TableId(value = "sup_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "供应商ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String supId;
+
+
+    /**
+     * 供应商编号
+     */
+    @Excel(name = "供应商编号")
+    @ApiModelProperty(value = "供应商编号")
+    private String supCode;
+
+
+    /**
+     * 供应商名称
+     */
+    @Excel(name = "供应商名称")
+    @ApiModelProperty(value = "供应商名称")
+    private String supName;
+
+
+    /**
+     * 供应商类别 (【系统字典】)
+     */
+    @Excel(name = "供应商类别 (【系统字典】)")
+    @ApiModelProperty(value = "供应商类别 (【系统字典】)")
+    private String supType;
+
+
+    /**
+     * 联系人
+     */
+    @Excel(name = "联系人")
+    @ApiModelProperty(value = "联系人")
+    private String contactName;
+
+
+    /**
+     * 联系电话
+     */
+    @Excel(name = "联系电话")
+    @ApiModelProperty(value = "联系电话")
+    private String contactPhone;
+
+
+    /**
+     * 组织部门
+     */
+    @Excel(name = "组织部门")
+    @ApiModelProperty(value = "组织部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 业务员
+     */
+    @Excel(name = "业务员")
+    @ApiModelProperty(value = "业务员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+    /**
+     * 业务员
+     */
+    @Excel(name = "业务员")
+    @ApiModelProperty(value = "业务员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffName;
+    /**
+     * 业务员
+     */
+    @Excel(name = "组织机构")
+    @ApiModelProperty(value = "组织机构")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgName;
+
+    /**
+     * 服务类别 (【系统字典】)
+     */
+    @Excel(name = "服务类别 (【系统字典】)")
+    @ApiModelProperty(value = "服务类别 (【系统字典】)")
+    @TableField(typeHandler = StringListTypeHandler.class)
+    private List<String> serviceCategories;
+
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "商品品牌")
+    private String brandName;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "商品品牌")
+    private String brandId;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "剩余应收付")
+    private String sumResidue;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "供应品牌")
+    private String brandIds;
+
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "剩余应收付")
+    private String brandNames;
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 300 - 0
src/main/java/com/dk/mdm/model/response/sale/OutReturnItemResponse.java

@@ -0,0 +1,300 @@
+package com.dk.mdm.model.response.sale;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库退货明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库退货明细")
+@TableName(value = "t_psi_out_return_item", autoResultMap = true)
+@ApiModel(value="实体类:出库退货明细", description="表名:t_psi_out_return_item")
+public class OutReturnItemResponse extends PageInfo<OutReturnItemResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 退货单ID
+     */
+    @Excel(name = "退货单ID")
+    @ApiModelProperty(value = "退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String returnId;
+
+
+    /**
+     * 出库单ID
+     */
+    @Excel(name = "出库单ID")
+    @ApiModelProperty(value = "出库单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 出库单明细ID
+     */
+    @Excel(name = "出库单明细ID")
+    @ApiModelProperty(value = "出库单明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outItemId;
+
+
+    /**
+     * 销售订单ID
+     */
+    @Excel(name = "销售订单ID")
+    @ApiModelProperty(value = "销售订单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 销售明细ID
+     */
+    @Excel(name = "销售明细ID")
+    @ApiModelProperty(value = "销售明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品数量
+     */
+    @Excel(name = "商品数量")
+    @ApiModelProperty(value = "商品数量")
+    private BigDecimal itemQty;
+
+
+    /**
+     * 标价
+     */
+    @Excel(name = "标价")
+    @ApiModelProperty(value = "标价")
+    private BigDecimal priceStd;
+
+
+    /**
+     * 标价金额 (商品数量*标价)
+     */
+    @Excel(name = "标价金额 (商品数量*标价)")
+    @ApiModelProperty(value = "标价金额 (商品数量*标价)")
+    private BigDecimal amtStd;
+
+
+    /**
+     * 退货价
+     */
+    @Excel(name = "退货价")
+    @ApiModelProperty(value = "退货价")
+    private BigDecimal priceReturn;
+
+
+    /**
+     * 退货金额 (商品数量*退货价)
+     */
+    @Excel(name = "退货金额 (商品数量*退货价)")
+    @ApiModelProperty(value = "退货金额 (商品数量*退货价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 入库状态
+     */
+    @Excel(name = "入库状态")
+    @ApiModelProperty(value = "入库状态")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 438 - 0
src/main/java/com/dk/mdm/model/response/sale/OutReturnResponse.java

@@ -0,0 +1,438 @@
+package com.dk.mdm.model.response.sale;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库退货
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库退货")
+@TableName(value = "t_psi_out_return", autoResultMap = true)
+@ApiModel(value="实体类:出库退货", description="表名:t_psi_out_return")
+public class OutReturnResponse extends PageInfo<OutReturnResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 退货单ID
+     */
+//    @TableId(value = "return_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String returnId;
+
+
+    /**
+     * 退货单号
+     */
+    @Excel(name = "退货单号")
+    @ApiModelProperty(value = "退货单号")
+    private String returnNo;
+
+
+    /**
+     * 退货类型 (【系统字典】销售退货)
+     */
+    @Excel(name = "退货类型 (【系统字典】销售退货)")
+    @ApiModelProperty(value = "退货类型 (【系统字典】销售退货)")
+    private String returnType;
+
+
+    /**
+     * 出库单
+     */
+    @Excel(name = "出库单")
+    @ApiModelProperty(value = "出库单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 销售订单
+     */
+    @Excel(name = "销售订单")
+    @ApiModelProperty(value = "销售订单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 出库单号
+     */
+    @Excel(name = "出库单号")
+    @ApiModelProperty(value = "出库单号")
+    private String outNo;
+
+
+    /**
+     * 销售订单号
+     */
+    @Excel(name = "销售订单号")
+    @ApiModelProperty(value = "销售订单号")
+    private String orderNo;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 客户ID
+     */
+    @Excel(name = "客户ID")
+    @ApiModelProperty(value = "客户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 行政区划 (a1:省 a2:市 a3:区)
+     */
+    @Excel(name = "行政区划 (a1:省 a2:市 a3:区)")
+    @ApiModelProperty(value = "行政区划 (a1:省 a2:市 a3:区)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject addressArea;
+
+
+    /**
+     * 小区或POI
+     */
+    @Excel(name = "小区或POI")
+    @ApiModelProperty(value = "小区或POI")
+    private String addressName;
+
+
+    /**
+     * 门牌号
+     */
+    @Excel(name = "门牌号")
+    @ApiModelProperty(value = "门牌号")
+    private String addressNo;
+
+
+    /**
+     * 地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)
+     */
+    @Excel(name = "地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)")
+    @ApiModelProperty(value = "地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject addressGcj02;
+
+
+    /**
+     * 详细地址
+     */
+    @Excel(name = "详细地址")
+    @ApiModelProperty(value = "详细地址")
+    private String addressFull;
+
+
+    /**
+     * 联系人
+     */
+    @Excel(name = "联系人")
+    @ApiModelProperty(value = "联系人")
+    private String contactName;
+
+
+    /**
+     * 联系电话
+     */
+    @Excel(name = "联系电话")
+    @ApiModelProperty(value = "联系电话")
+    private String contactPhone;
+
+
+    /**
+     * 销售渠道
+     */
+    @Excel(name = "销售渠道")
+    @ApiModelProperty(value = "销售渠道")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String salesChannel;
+
+
+    /**
+     * 取货日期
+     */
+    @Excel(name = "取货日期")
+    @ApiModelProperty(value = "取货日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime pickupDate;
+
+
+    /**
+     * 商品总数量
+     */
+    @Excel(name = "商品总数量")
+    @ApiModelProperty(value = "商品总数量")
+    private BigDecimal sumQuantity;
+
+
+    /**
+     * 标价合计
+     */
+    @Excel(name = "标价合计")
+    @ApiModelProperty(value = "标价合计")
+    private BigDecimal sumStandard;
+
+
+    /**
+     * 合计金额
+     */
+    @Excel(name = "合计金额")
+    @ApiModelProperty(value = "合计金额")
+    private BigDecimal sumAmount;
+
+
+    /**
+     * 销售折扣 (合计金额/标价合计)
+     */
+    @Excel(name = "销售折扣 (合计金额/标价合计)")
+    @ApiModelProperty(value = "销售折扣 (合计金额/标价合计)")
+    private BigDecimal saleDiscount;
+
+
+    /**
+     * 退货状态 (【系统字典】)
+     */
+    @Excel(name = "退货状态 (【系统字典】)")
+    @ApiModelProperty(value = "退货状态 (【系统字典】)")
+    private String returnStatus;
+
+
+    /**
+     * 入库状态 (【系统字典】)
+     */
+    @Excel(name = "入库状态 (【系统字典】)")
+    @ApiModelProperty(value = "入库状态 (【系统字典】)")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 应收金额
+     */
+    @Excel(name = "应收金额")
+    @ApiModelProperty(value = "应收金额")
+    private BigDecimal amtReceivable;
+
+
+    /**
+     * 还款金额
+     */
+    @Excel(name = "还款金额")
+    @ApiModelProperty(value = "还款金额")
+    private BigDecimal amtHandle;
+
+
+    /**
+     * 剩余应收
+     */
+    @Excel(name = "剩余应收")
+    @ApiModelProperty(value = "剩余应收")
+    private BigDecimal amtResidue;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject annexPaths;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 315 - 0
src/main/java/com/dk/mdm/model/vo/ivt/OutboundItemVO.java

@@ -0,0 +1,315 @@
+package com.dk.mdm.model.vo.ivt;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库明细")
+@TableName(value = "t_psi_outbound_item", autoResultMap = true)
+@ApiModel(value="实体类:出库明细", description="表名:t_psi_outbound_item")
+public class OutboundItemVO extends PageInfo<OutboundItemVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 出库ID
+     */
+    @Excel(name = "出库ID")
+    @ApiModelProperty(value = "出库ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 入库类型 (【系统字典】销售出库、采退出库、其他出库)
+     */
+    @Excel(name = "入库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    @ApiModelProperty(value = "入库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    private String outType;
+
+
+    /**
+     * 来源单ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单明细ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单明细ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单明细ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品数量
+     */
+    @Excel(name = "商品数量")
+    @ApiModelProperty(value = "商品数量")
+    private BigDecimal itemQty;
+
+
+    /**
+     * 出库价
+     */
+    @Excel(name = "出库价")
+    @ApiModelProperty(value = "出库价")
+    private BigDecimal priceOut;
+
+
+    /**
+     * 出库金额 (商品数量*入库价)
+     */
+    @Excel(name = "出库金额 (商品数量*入库价)")
+    @ApiModelProperty(value = "出库金额 (商品数量*入库价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 出库状态
+     */
+    @Excel(name = "出库状态")
+    @ApiModelProperty(value = "出库状态")
+    private String outStatus;
+
+
+    /**
+     * 出库中数量
+     */
+    @Excel(name = "出库中数量")
+    @ApiModelProperty(value = "出库中数量")
+    private BigDecimal outingQty;
+
+
+    /**
+     * 出库中金额
+     */
+    @Excel(name = "出库中金额")
+    @ApiModelProperty(value = "出库中金额")
+    private BigDecimal outingAmt;
+
+
+    /**
+     * 已出库数量
+     */
+    @Excel(name = "已出库数量")
+    @ApiModelProperty(value = "已出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 已出库金额
+     */
+    @Excel(name = "已出库金额")
+    @ApiModelProperty(value = "已出库金额")
+    private BigDecimal outAmt;
+
+
+    /**
+     * 已出库退货数量
+     */
+    @Excel(name = "已出库退货数量")
+    @ApiModelProperty(value = "已出库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已出库退货金额
+     */
+    @Excel(name = "已出库退货金额")
+    @ApiModelProperty(value = "已出库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 成本单价
+     */
+    @Excel(name = "成本单价")
+    @ApiModelProperty(value = "成本单价")
+    private BigDecimal costPrice;
+
+
+    /**
+     * 成本金额
+     */
+    @Excel(name = "成本金额")
+    @ApiModelProperty(value = "成本金额")
+    private BigDecimal costAmt;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 367 - 0
src/main/java/com/dk/mdm/model/vo/ivt/OutboundVO.java

@@ -0,0 +1,367 @@
+package com.dk.mdm.model.vo.ivt;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库单
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库单")
+@TableName(value = "t_psi_outbound", autoResultMap = true)
+@ApiModel(value="实体类:出库单", description="表名:t_psi_outbound")
+public class OutboundVO extends PageInfo<OutboundVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 出库单ID
+     */
+//    @TableId(value = "out_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "出库单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 出库单号
+     */
+    @Excel(name = "出库单号")
+    @ApiModelProperty(value = "出库单号")
+    private String outNo;
+
+
+    /**
+     * 出库类型 (【系统字典】销售出库、采退出库、其他出库)
+     */
+    @Excel(name = "出库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    @ApiModelProperty(value = "出库类型 (【系统字典】销售出库、采退出库、其他出库)")
+    private String outType;
+
+
+    /**
+     * 来源单ID (销售订单、入库退货)
+     */
+    @Excel(name = "来源单ID (销售订单、入库退货)")
+    @ApiModelProperty(value = "来源单ID (销售订单、入库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单号
+     */
+    @Excel(name = "来源单号")
+    @ApiModelProperty(value = "来源单号")
+    private String fromNo;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 销售订单ID
+     */
+    @Excel(name = "销售订单ID")
+    @ApiModelProperty(value = "销售订单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 销售订单号
+     */
+    @Excel(name = "销售订单号")
+    @ApiModelProperty(value = "销售订单号")
+    private String orderNo;
+
+
+    /**
+     * 入库退货单ID
+     */
+    @Excel(name = "入库退货单ID")
+    @ApiModelProperty(value = "入库退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String intoReturnId;
+
+
+    /**
+     * 入库退货单号
+     */
+    @Excel(name = "入库退货单号")
+    @ApiModelProperty(value = "入库退货单号")
+    private String intoReturnNo;
+
+
+    /**
+     * 客户
+     */
+    @Excel(name = "客户")
+    @ApiModelProperty(value = "客户")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 供应商
+     */
+    @Excel(name = "供应商")
+    @ApiModelProperty(value = "供应商")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String supId;
+
+
+    /**
+     * 出库状态 (【系统字典】)
+     */
+    @Excel(name = "出库状态 (【系统字典】)")
+    @ApiModelProperty(value = "出库状态 (【系统字典】)")
+    private String outStatus;
+
+
+    /**
+     * 出库中数量
+     */
+    @Excel(name = "出库中数量")
+    @ApiModelProperty(value = "出库中数量")
+    private BigDecimal outingQty;
+
+
+    /**
+     * 出库中金额
+     */
+    @Excel(name = "出库中金额")
+    @ApiModelProperty(value = "出库中金额")
+    private BigDecimal outingAmt;
+
+
+    /**
+     * 已出库数量
+     */
+    @Excel(name = "已出库数量")
+    @ApiModelProperty(value = "已出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 已出库金额
+     */
+    @Excel(name = "已出库金额")
+    @ApiModelProperty(value = "已出库金额")
+    private BigDecimal outAmt;
+
+
+    /**
+     * 已出库退货数量
+     */
+    @Excel(name = "已出库退货数量")
+    @ApiModelProperty(value = "已出库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已出库退货金额
+     */
+    @Excel(name = "已出库退货金额")
+    @ApiModelProperty(value = "已出库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 出库日期
+     */
+    @Excel(name = "出库日期")
+    @ApiModelProperty(value = "出库日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime outDate;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject annexPaths;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 应收款单
+     */
+    @Excel(name = "应收款单")
+    @ApiModelProperty(value = "应收款单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String receivableId;
+
+
+    /**
+     * 应付款单
+     */
+    @Excel(name = "应付款单")
+    @ApiModelProperty(value = "应付款单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String payableId;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 163 - 0
src/main/java/com/dk/mdm/model/vo/mst/SettingValueVO.java

@@ -0,0 +1,163 @@
+package com.dk.mdm.model.vo.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.dk.mdm.model.pojo.mst.RoleSensitive;
+import com.dk.mdm.model.pojo.mst.SettingValue;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ *  系统参数
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("系统参数")
+@TableName(value = "t_mst_setting_value", autoResultMap = true)
+@ApiModel(value="实体类:系统参数", description="表名:t_mst_setting_value")
+public class SettingValueVO extends PageInfo<SettingValueVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 企业ID
+     */
+    @TableId(value = "cp_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 参数代码
+     */
+    @Excel(name = "参数代码")
+    @ApiModelProperty(value = "参数代码")
+    private String settingCode;
+
+
+    /**
+     * 参数值
+     */
+    @Excel(name = "参数值")
+    @ApiModelProperty(value = "参数值")
+    private String settingValue;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    private List<SettingValue> settingValueList;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+}

+ 4 - 0
src/main/java/com/dk/mdm/model/vo/mst/SupplierVo.java

@@ -148,6 +148,10 @@ public class SupplierVo extends PageInfo<SupplierVo> implements Serializable {
     @TableField(exist = false)
     @ApiModelProperty(value = "剩余应收付")
     private String sumResidue;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "供应品牌")
+    private List<String> brandIds;
     /*
      * 相关属性
      * @TableField(exist = false)

+ 300 - 0
src/main/java/com/dk/mdm/model/vo/sale/OutReturnItemVO.java

@@ -0,0 +1,300 @@
+package com.dk.mdm.model.vo.sale;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库退货明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库退货明细")
+@TableName(value = "t_psi_out_return_item", autoResultMap = true)
+@ApiModel(value="实体类:出库退货明细", description="表名:t_psi_out_return_item")
+public class OutReturnItemVO extends PageInfo<OutReturnItemVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 退货单ID
+     */
+    @Excel(name = "退货单ID")
+    @ApiModelProperty(value = "退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String returnId;
+
+
+    /**
+     * 出库单ID
+     */
+    @Excel(name = "出库单ID")
+    @ApiModelProperty(value = "出库单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 出库单明细ID
+     */
+    @Excel(name = "出库单明细ID")
+    @ApiModelProperty(value = "出库单明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outItemId;
+
+
+    /**
+     * 销售订单ID
+     */
+    @Excel(name = "销售订单ID")
+    @ApiModelProperty(value = "销售订单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 销售明细ID
+     */
+    @Excel(name = "销售明细ID")
+    @ApiModelProperty(value = "销售明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品数量
+     */
+    @Excel(name = "商品数量")
+    @ApiModelProperty(value = "商品数量")
+    private BigDecimal itemQty;
+
+
+    /**
+     * 标价
+     */
+    @Excel(name = "标价")
+    @ApiModelProperty(value = "标价")
+    private BigDecimal priceStd;
+
+
+    /**
+     * 标价金额 (商品数量*标价)
+     */
+    @Excel(name = "标价金额 (商品数量*标价)")
+    @ApiModelProperty(value = "标价金额 (商品数量*标价)")
+    private BigDecimal amtStd;
+
+
+    /**
+     * 退货价
+     */
+    @Excel(name = "退货价")
+    @ApiModelProperty(value = "退货价")
+    private BigDecimal priceReturn;
+
+
+    /**
+     * 退货金额 (商品数量*退货价)
+     */
+    @Excel(name = "退货金额 (商品数量*退货价)")
+    @ApiModelProperty(value = "退货金额 (商品数量*退货价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 入库状态
+     */
+    @Excel(name = "入库状态")
+    @ApiModelProperty(value = "入库状态")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 438 - 0
src/main/java/com/dk/mdm/model/vo/sale/OutReturnVO.java

@@ -0,0 +1,438 @@
+package com.dk.mdm.model.vo.sale;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  出库退货
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("出库退货")
+@TableName(value = "t_psi_out_return", autoResultMap = true)
+@ApiModel(value="实体类:出库退货", description="表名:t_psi_out_return")
+public class OutReturnVO extends PageInfo<OutReturnVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 退货单ID
+     */
+//    @TableId(value = "return_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "退货单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String returnId;
+
+
+    /**
+     * 退货单号
+     */
+    @Excel(name = "退货单号")
+    @ApiModelProperty(value = "退货单号")
+    private String returnNo;
+
+
+    /**
+     * 退货类型 (【系统字典】销售退货)
+     */
+    @Excel(name = "退货类型 (【系统字典】销售退货)")
+    @ApiModelProperty(value = "退货类型 (【系统字典】销售退货)")
+    private String returnType;
+
+
+    /**
+     * 出库单
+     */
+    @Excel(name = "出库单")
+    @ApiModelProperty(value = "出库单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
+
+
+    /**
+     * 销售订单
+     */
+    @Excel(name = "销售订单")
+    @ApiModelProperty(value = "销售订单")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orderId;
+
+
+    /**
+     * 出库单号
+     */
+    @Excel(name = "出库单号")
+    @ApiModelProperty(value = "出库单号")
+    private String outNo;
+
+
+    /**
+     * 销售订单号
+     */
+    @Excel(name = "销售订单号")
+    @ApiModelProperty(value = "销售订单号")
+    private String orderNo;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 客户ID
+     */
+    @Excel(name = "客户ID")
+    @ApiModelProperty(value = "客户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 行政区划 (a1:省 a2:市 a3:区)
+     */
+    @Excel(name = "行政区划 (a1:省 a2:市 a3:区)")
+    @ApiModelProperty(value = "行政区划 (a1:省 a2:市 a3:区)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject addressArea;
+
+
+    /**
+     * 小区或POI
+     */
+    @Excel(name = "小区或POI")
+    @ApiModelProperty(value = "小区或POI")
+    private String addressName;
+
+
+    /**
+     * 门牌号
+     */
+    @Excel(name = "门牌号")
+    @ApiModelProperty(value = "门牌号")
+    private String addressNo;
+
+
+    /**
+     * 地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)
+     */
+    @Excel(name = "地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)")
+    @ApiModelProperty(value = "地址坐标(gcj02) (LAT:纬度的值 LON:经度的值)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject addressGcj02;
+
+
+    /**
+     * 详细地址
+     */
+    @Excel(name = "详细地址")
+    @ApiModelProperty(value = "详细地址")
+    private String addressFull;
+
+
+    /**
+     * 联系人
+     */
+    @Excel(name = "联系人")
+    @ApiModelProperty(value = "联系人")
+    private String contactName;
+
+
+    /**
+     * 联系电话
+     */
+    @Excel(name = "联系电话")
+    @ApiModelProperty(value = "联系电话")
+    private String contactPhone;
+
+
+    /**
+     * 销售渠道
+     */
+    @Excel(name = "销售渠道")
+    @ApiModelProperty(value = "销售渠道")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String salesChannel;
+
+
+    /**
+     * 取货日期
+     */
+    @Excel(name = "取货日期")
+    @ApiModelProperty(value = "取货日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime pickupDate;
+
+
+    /**
+     * 商品总数量
+     */
+    @Excel(name = "商品总数量")
+    @ApiModelProperty(value = "商品总数量")
+    private BigDecimal sumQuantity;
+
+
+    /**
+     * 标价合计
+     */
+    @Excel(name = "标价合计")
+    @ApiModelProperty(value = "标价合计")
+    private BigDecimal sumStandard;
+
+
+    /**
+     * 合计金额
+     */
+    @Excel(name = "合计金额")
+    @ApiModelProperty(value = "合计金额")
+    private BigDecimal sumAmount;
+
+
+    /**
+     * 销售折扣 (合计金额/标价合计)
+     */
+    @Excel(name = "销售折扣 (合计金额/标价合计)")
+    @ApiModelProperty(value = "销售折扣 (合计金额/标价合计)")
+    private BigDecimal saleDiscount;
+
+
+    /**
+     * 退货状态 (【系统字典】)
+     */
+    @Excel(name = "退货状态 (【系统字典】)")
+    @ApiModelProperty(value = "退货状态 (【系统字典】)")
+    private String returnStatus;
+
+
+    /**
+     * 入库状态 (【系统字典】)
+     */
+    @Excel(name = "入库状态 (【系统字典】)")
+    @ApiModelProperty(value = "入库状态 (【系统字典】)")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 应收金额
+     */
+    @Excel(name = "应收金额")
+    @ApiModelProperty(value = "应收金额")
+    private BigDecimal amtReceivable;
+
+
+    /**
+     * 还款金额
+     */
+    @Excel(name = "还款金额")
+    @ApiModelProperty(value = "还款金额")
+    private BigDecimal amtHandle;
+
+
+    /**
+     * 剩余应收
+     */
+    @Excel(name = "剩余应收")
+    @ApiModelProperty(value = "剩余应收")
+    private BigDecimal amtResidue;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject annexPaths;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 49 - 21
src/main/java/com/dk/mdm/service/common/CommonService.java

@@ -45,16 +45,16 @@ public class CommonService extends BaseService<Map<String, Object>> {
      * @author : 周兴
      * @date : 2024/3/1 11:41
      */
-    public Map<String, Object> getUniqueNoteCode(String docName,Boolean codeFlag) {
+    public Map<String, Object> getUniqueNoteCode(String docName, Boolean codeFlag) {
         Map<String, Object> param = new HashMap<>();
-        param.put("docName",docName);
+        param.put("docName", docName);
         // TODO 公司Id
-        param.put("cpId",1);
+        param.put("cpId", 1);
         Map<String, Object> map = null;
         // 获取系统基础数据
-        if(codeFlag){
+        if (codeFlag) {
             map = commonMapper.getUniqueCode(param);
-        }else{
+        } else {
             map = commonMapper.getUniqueNote(param);
         }
         return map;
@@ -1356,9 +1356,9 @@ public class CommonService extends BaseService<Map<String, Object>> {
     }
 
     /**
-     * @desc   : 获取供应商
+     * @desc : 获取供应商
      * @author : 常皓宁
-     * @date   : 2024/3/1 9:20
+     * @date : 2024/3/1 9:20
      */
     public ResponseResultVO<List<Map<String, Object>>> getSupplier(Map<String, Object> param) {
         // 获取公司
@@ -1367,9 +1367,9 @@ public class CommonService extends BaseService<Map<String, Object>> {
     }
 
     /**
-     * @desc   : 获取供应商(分页)
+     * @desc : 获取供应商(分页)
      * @author : 常皓宁
-     * @date   : 2024/3/1 9:20
+     * @date : 2024/3/1 9:20
      */
     public ResponseResultVO<PageList<Map<String, Object>>> getSupplierByPage(Map<String, Object> param) {
         // 校验分页参数
@@ -1390,9 +1390,9 @@ public class CommonService extends BaseService<Map<String, Object>> {
     }
 
     /**
-     * @desc   : 获取渠道
+     * @desc : 获取渠道
      * @author : 付斌
-     * @date   : 2024-03-02 10:18
+     * @date : 2024-03-02 10:18
      */
     public ResponseResultVO<List<Map<String, Object>>> getChannel(Map<String, Object> param) {
         // 获取公司
@@ -1401,9 +1401,9 @@ public class CommonService extends BaseService<Map<String, Object>> {
     }
 
     /**
-     * @desc   : 获取商品品牌(分页)
+     * @desc : 获取商品品牌(分页)
      * @author : 王英杰
-     * @date   : 2024/3/1 9:20
+     * @date : 2024/3/1 9:20
      */
     public ResponseResultVO<PageList<Map<String, Object>>> goodsBrandListBy(Map<String, Object> param) {
         // 校验分页参数
@@ -1424,9 +1424,9 @@ public class CommonService extends BaseService<Map<String, Object>> {
     }
 
     /**
-     * @desc   : 获取商品种类(分页)
+     * @desc : 获取商品种类(分页)
      * @author : 王英杰
-     * @date   : 2024/3/1 9:20
+     * @date : 2024/3/1 9:20
      */
     public ResponseResultVO<PageList<Map<String, Object>>> goodsCategoryListBy(Map<String, Object> param) {
         // 校验分页参数
@@ -1447,9 +1447,9 @@ public class CommonService extends BaseService<Map<String, Object>> {
     }
 
     /**
-     * @desc   : 获取商品系列(分页)
+     * @desc : 获取商品系列(分页)
      * @author : 王英杰
-     * @date   : 2024/3/1 9:20
+     * @date : 2024/3/1 9:20
      */
     public ResponseResultVO<PageList<Map<String, Object>>> goodsSeriesListBy(Map<String, Object> param) {
         // 校验分页参数
@@ -1470,9 +1470,9 @@ public class CommonService extends BaseService<Map<String, Object>> {
     }
 
     /**
-     * @desc   : 计量单位查询(分页)
+     * @desc : 计量单位查询(分页)
      * @author : 王英杰
-     * @date   : 2024/3/1 9:20
+     * @date : 2024/3/1 9:20
      */
     public ResponseResultVO<PageList<Map<String, Object>>> unitListBy(Map<String, Object> param) {
         // 校验分页参数
@@ -1491,6 +1491,7 @@ public class CommonService extends BaseService<Map<String, Object>> {
         data.setPageSize((int) param.get("pageSize")).setCurrentPage((int) param.get("currentPage")).setList(list).setTotal(total);
         return ResponseResultUtil.success(data);
     }
+
     /**
      * @desc : 获取仓库档案
      * @author : 王英杰
@@ -1503,13 +1504,40 @@ public class CommonService extends BaseService<Map<String, Object>> {
     }
 
     /**
-     * @desc   : 获取仓库
+     * @desc : 获取仓库
      * @author : 常皓宁
-     * @date   : 2024/3/4 10:50
+     * @date : 2024/3/4 10:50
      */
     public ResponseResultVO<List<Map<String, Object>>> getWarehouse(Map<String, Object> param) {
         // 获取仓库
         List<Map<String, Object>> list = commonMapper.getWarehouse(param);
         return ResponseResultUtil.success(list);
     }
+
+    /**
+     * @desc : 查询库存
+     * @author : 付斌
+     * @date : 2024-03-05 10:52
+     */
+    public ResponseResultVO<List<Map<String, Object>>> getInventory(Map<String, Object> param) {
+        // 获取系统基础数据
+        List<Map<String, Object>> list = commonMapper.getInventory(param);
+        return ResponseResultUtil.success(list);
+    }
+
+    /**
+     * @desc : 查询库存(分页)
+     * @author : 付斌
+     * @date : 2024-03-05 10:52
+     */
+    public ResponseResultVO<PageList<Map<String, Object>>> getInventoryByPage(Map<String, Object> param) {
+        // 校验分页参数
+        if (param.get("pageSize") == null || param.get("currentPage") == null) {
+            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL, "请检查分页参数!");
+        }
+        // 分页参数赋值
+        param = this.getLimit(param);
+        return super.mergeListWithCount(param, commonMapper.getInventory(param),
+                commonMapper.getInventoryCountByPage(param));
+    }
 }

+ 74 - 74
src/main/java/com/dk/mdm/service/core/SettingValueService.java

@@ -1,74 +1,74 @@
-package com.dk.mdm.service.core;
-
-import com.dk.common.mapper.BaseMapper;
-import com.dk.common.response.ResponseResultUtil;
-import com.dk.common.response.ResponseResultVO;
-import com.dk.common.service.BaseService;
-import com.dk.mdm.infrastructure.convert.core.SettingValueConvert;
-import com.dk.mdm.mapper.core.SettingValueMapper;
-import com.dk.mdm.model.pojo.core.SettingValue;
-import com.dk.mdm.model.vo.core.SettingValueVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-import java.util.Map;
-
-@Service
-@Transactional
-public class SettingValueService extends BaseService<SettingValue> {
-
-    @Override
-    public BaseMapper<SettingValue> getRepository() {
-        return settingValueMapper;
-    }
-
-    @Autowired
-    private SettingValueMapper settingValueMapper;
-
-    @Autowired
-    private SettingValueConvert settingValueConvert;
-
-    /**
-     * @desc : 查询系统参数
-     * @author : 夏常明
-     * @date : 2023/1/29 17:04
-     */
-    public ResponseResultVO<List<Map<String, Object>>> getSettingValue(Map<String, Object> param) {
-        List<Map<String, Object>> list = settingValueMapper.getSettingValue(param);
-        return ResponseResultUtil.success(list);
-    }
-
-    /**
-     * @desc : 批量更新系统参数值
-     * @author : 夏常明
-     * @date : 2023/1/30 13:50
-     */
-    @Transactional(
-            rollbackFor = {Exception.class}
-    )
-    public ResponseResultVO<?> updateSettingValues(List<SettingValueVO> param) {
-        //循环
-        for (SettingValueVO settingValueVO :
-                param) {
-            //获取SettingCode查询条件
-            SettingValueVO setting = new SettingValueVO().setSettingCode(settingValueVO.getSettingCode()).setFtyId(settingValueVO.getFtyId());
-            // 转化实体 校验参数只传主键
-            SettingValue settingValueCount = settingValueConvert.convertToPo(setting);
-            // 转化实体 数据操作
-            SettingValue settingValue = settingValueConvert.convertToPo(settingValueVO);
-            //是否存在
-            long count = settingValueMapper.selectByCode(settingValueCount);
-            //编辑
-            if (count > 0) {
-               settingValueMapper.updateSettingValues(settingValue);
-            } else //新建
-            {
-                super.insert(settingValue);
-            }
-        }
-        return ResponseResultUtil.success(param);
-    }
-
-}
+//package com.dk.mdm.service.core;
+//
+//import com.dk.common.mapper.BaseMapper;
+//import com.dk.common.response.ResponseResultUtil;
+//import com.dk.common.response.ResponseResultVO;
+//import com.dk.common.service.BaseService;
+//import com.dk.mdm.infrastructure.convert.core.SettingValueConvert;
+//import com.dk.mdm.mapper.core.SettingValueMapper;
+//import com.dk.mdm.model.pojo.core.SettingValue;
+//import com.dk.mdm.model.vo.core.SettingValueVO;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Service;
+//import org.springframework.transaction.annotation.Transactional;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+//@Service
+//@Transactional
+//public class SettingValueService extends BaseService<SettingValue> {
+//
+//    @Override
+//    public BaseMapper<SettingValue> getRepository() {
+//        return settingValueMapper;
+//    }
+//
+//    @Autowired
+//    private SettingValueMapper settingValueMapper;
+//
+//    @Autowired
+//    private SettingValueConvert settingValueConvert;
+//
+//    /**
+//     * @desc : 查询系统参数
+//     * @author : 夏常明
+//     * @date : 2023/1/29 17:04
+//     */
+//    public ResponseResultVO<List<Map<String, Object>>> getSettingValue(Map<String, Object> param) {
+//        List<Map<String, Object>> list = settingValueMapper.getSettingValue(param);
+//        return ResponseResultUtil.success(list);
+//    }
+//
+//    /**
+//     * @desc : 批量更新系统参数值
+//     * @author : 夏常明
+//     * @date : 2023/1/30 13:50
+//     */
+//    @Transactional(
+//            rollbackFor = {Exception.class}
+//    )
+//    public ResponseResultVO<?> updateSettingValues(List<SettingValueVO> param) {
+//        //循环
+//        for (SettingValueVO settingValueVO :
+//                param) {
+//            //获取SettingCode查询条件
+//            SettingValueVO setting = new SettingValueVO().setSettingCode(settingValueVO.getSettingCode()).setFtyId(settingValueVO.getFtyId());
+//            // 转化实体 校验参数只传主键
+//            SettingValue settingValueCount = settingValueConvert.convertToPo(setting);
+//            // 转化实体 数据操作
+//            SettingValue settingValue = settingValueConvert.convertToPo(settingValueVO);
+//            //是否存在
+//            long count = settingValueMapper.selectByCode(settingValueCount);
+//            //编辑
+//            if (count > 0) {
+//               settingValueMapper.updateSettingValues(settingValue);
+//            } else //新建
+//            {
+//                super.insert(settingValue);
+//            }
+//        }
+//        return ResponseResultUtil.success(param);
+//    }
+//
+//}

+ 23 - 0
src/main/java/com/dk/mdm/service/ivt/OutboundItemService.java

@@ -0,0 +1,23 @@
+package com.dk.mdm.service.ivt;
+
+import com.dk.mdm.model.pojo.ivt.OutboundItem;
+import com.dk.mdm.mapper.ivt.OutboundItemMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class OutboundItemService extends BaseService<OutboundItem> {
+
+	@Override
+	public BaseMapper<OutboundItem> getRepository() {
+		return outboundItemMapper;
+	}
+
+	@Autowired
+	private OutboundItemMapper outboundItemMapper;
+
+}

+ 23 - 0
src/main/java/com/dk/mdm/service/ivt/OutboundService.java

@@ -0,0 +1,23 @@
+package com.dk.mdm.service.ivt;
+
+import com.dk.mdm.model.pojo.ivt.Outbound;
+import com.dk.mdm.mapper.ivt.OutboundMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class OutboundService extends BaseService<Outbound> {
+
+	@Override
+	public BaseMapper<Outbound> getRepository() {
+		return outboundMapper;
+	}
+
+	@Autowired
+	private OutboundMapper outboundMapper;
+
+}

+ 20 - 3
src/main/java/com/dk/mdm/service/mst/GoodsSkuService.java

@@ -1,6 +1,7 @@
 package com.dk.mdm.service.mst;
 
 import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.infrastructure.constant.Constant;
 import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
@@ -16,10 +17,13 @@ import com.dk.mdm.model.response.mst.GoodsSkuResponse;
 import com.dk.mdm.model.response.mst.RoleResponse;
 import com.dk.mdm.model.vo.mst.GoodsSkuVO;
 import com.dk.mdm.model.vo.mst.RoleVo;
+import com.dk.mdm.service.common.CommonService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Map;
+
 @Service
 @Transactional
 public class GoodsSkuService extends BaseService<GoodsSku> {
@@ -35,8 +39,17 @@ public class GoodsSkuService extends BaseService<GoodsSku> {
 
 	@Autowired
 	private GoodsSkuConvert goodsSkuConvert;
-
-
+ /**
+     * @desc   : 重写组件
+     * @author : 王英杰
+     * @date   : 2024/3/4 14:51
+     */
+	@Override
+	public String getPrimaryKey() {
+		return "sku_id";
+	}
+	@Autowired
+	private CommonService commonService;
 	/**
 	 * @desc : 查询
 	 * @author : 王英杰
@@ -60,7 +73,11 @@ public class GoodsSkuService extends BaseService<GoodsSku> {
 	)
 	public ResponseResultVO<?> insert(GoodsSkuVO goodsSkuVO) {
 		GoodsSku goodsSku = goodsSkuConvert.convertToPo(goodsSkuVO);
-		goodsSkuMapper.insert(goodsSku);
+		// 获取编码和主键UuId
+		Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.GOODSSKU.getName(), true);
+		goodsSku.setSkuId(codeMap.get("outId").toString());
+		goodsSku.setSkuCode(codeMap.get("outNote").toString());
+		super.insert(goodsSku);
 		return ResponseResultUtil.success();
 	}
 

+ 1 - 7
src/main/java/com/dk/mdm/service/mst/MoneyAccountService.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.dk.common.infrastructure.annotaiton.Pagination;
 import com.dk.common.infrastructure.constant.Constant;
 import com.dk.common.model.pojo.PageList;
-import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.mst.MoneyAccountConvert;
@@ -12,18 +11,13 @@ import com.dk.mdm.model.pojo.mst.MoneyAccount;
 import com.dk.mdm.mapper.mst.MoneyAccountMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
-import com.dk.mdm.model.pojo.mst.Staff;
-import com.dk.mdm.model.query.mst.GoodsBrandQuery;
 import com.dk.mdm.model.query.mst.MoneyAccountQuery;
 import com.dk.mdm.model.response.mst.MoneyAccountResponse;
 import com.dk.mdm.model.vo.mst.MoneyAccountVO;
-import com.dk.mdm.model.vo.mst.StaffVO;
 import com.dk.mdm.service.common.CommonService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
 
 import java.util.Map;
 import java.util.UUID;
@@ -53,7 +47,7 @@ public class MoneyAccountService extends BaseService<MoneyAccount> {
 	 */
 	@Override
 	public String getPrimaryKey() {
-		return "moneyAccount_id";
+		return "mac_id";
 	}
 
 

+ 1 - 1
src/main/java/com/dk/mdm/service/mst/OrgService.java

@@ -72,7 +72,7 @@ public class OrgService extends BaseService<Org> {
     public ResponseResultVO<?> insert(OrgVO orgVO) {
         // 转化实体
         Org organization = orgConvert.convertToPo(orgVO);
-        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.STAFF.getName(), false);
+        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORG.getName(), false);
 
         organization.setOrgId(codeMap.get("outId").toString());
 //        organization.setOrgCode(codeMap.get("outNote").toString());

+ 83 - 0
src/main/java/com/dk/mdm/service/mst/SettingValueService.java

@@ -0,0 +1,83 @@
+package com.dk.mdm.service.mst;
+
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.model.pojo.mst.RoleSensitive;
+import com.dk.mdm.model.pojo.mst.SettingValue;
+import com.dk.mdm.mapper.mst.SettingValueMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.vo.mst.RoleVo;
+import com.dk.mdm.model.vo.mst.SettingValueVO;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@Transactional
+public class SettingValueService extends BaseService<SettingValue> {
+
+    @Override
+    public BaseMapper<SettingValue> getRepository() {
+        return settingValueMapper;
+    }
+
+    @Autowired
+    private SettingValueMapper settingValueMapper;
+
+    /**
+     * @desc : 获取系统参数
+     * @author : 姜永辉
+     * @date : 2024/2/26 10:36
+     */
+    public ResponseResultVO<Map<String, Object>> getSettingValue(Map<String, Object> param) {
+        // 获取系统基础数据
+        List<Map<String, Object>> list = settingValueMapper.getSettingValue(param);
+        Map<String, Object> objectObjectHashMap = new HashMap<>();
+        objectObjectHashMap.put("list", list);
+        return ResponseResultUtil.success(objectObjectHashMap);
+    }
+
+
+    /**
+     * @desc : 删除系统参数
+     * @author : 姜永辉
+     * @date : 2023/1/5 9:39
+     */
+    public ResponseResultVO<Boolean> deleteSettingValueId(Integer id) {
+        SettingValue settingValue = new SettingValue();
+        settingValue.setCpId(id);
+        return ResponseResultUtil.success(settingValueMapper.deleteSettingValueId(settingValue) > 0);
+    }
+
+    /**
+     * @desc : 批量修改系统参数
+     * @author : 姜永辉
+     * @date : 2023/1/5 9:39
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<Boolean> updateBatch(SettingValueVO vo) {
+        if (vo.getSettingValueList() != null) {
+            //删除历史功能权限
+            deleteSettingValueId(vo.getCpId());
+        }
+        if (vo.getSettingValueList() != null && vo.getSettingValueList().size() > 0) {
+            //新建角色敏感信息权限
+            for (SettingValue settingValue : vo.getSettingValueList()) {
+                settingValue.setSettingValue(vo.getSettingValue());
+                settingValue.setCpId(vo.getCpId());
+            }
+            //批量新建
+            settingValueMapper.insertBatch(vo.getSettingValueList());
+        }
+
+        return ResponseResultUtil.success();
+    }
+
+}

+ 15 - 3
src/main/java/com/dk/mdm/service/mst/SupplierService.java

@@ -29,6 +29,8 @@ import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
@@ -85,14 +87,24 @@ public class SupplierService extends BaseService<Supplier> {
         Supplier supplier = supplierConvert.convertToPo(supplierVo);
 
         try {
-            Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.STAFF.getName(), true);
+            Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.SUPPLIER.getName(), true);
 
             supplier.setSupId(codeMap.get("outId").toString());
             supplier.setSupCode(codeMap.get("outNote").toString());  //插入供应商表的实体
 
             super.insert(supplier);// 先插入自己的供应商表
-            if (supplier.getBrandId() != null) {  //如果有 商品品牌
-                supplierMapper.insertSupplierBrand(supplier); // 向供应商品牌表插入数据
+            if (supplier.getBrandIds() != null) {  //如果有 商品品牌 一起插入品牌
+                List<Supplier>  Supplierlst   = new ArrayList<>();
+                List<String> BrandIdList =  new ArrayList<>();
+                BrandIdList = supplier.getBrandIds();
+                Supplier supplier_center = null;
+                 for (int i = 0;  i< BrandIdList.size();i++){
+                     supplier_center= new Supplier();
+                     supplier_center.setBrandId(BrandIdList.get(i));
+                     supplier_center.setSupId(supplier.getSupId());
+                     Supplierlst.add(supplier_center);
+                 }
+                supplierMapper.insertSupplierBrandtBatch(Supplierlst); // 向供应商品牌表插入数据
             }
             return ResponseResultUtil.success();
         } catch (Exception e) {

+ 1 - 1
src/main/java/com/dk/mdm/service/pur/PurchaseService.java

@@ -113,7 +113,7 @@ public class PurchaseService extends BaseService<Purchase> {
 		// 入库状态
 		purchasevo.setIntoStatus(Constant.IntoStatus.DAIRUKU.getName());
 		// 订单状态
-		purchasevo.setPurStatus(Constant.Status.STATUS_DEAL.getName());
+		purchasevo.setPurStatus(Constant.OrderStatus.STATUS_DEAL.getName());
 		// 获取单号
 		Map<String , Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.PURCHASE.getName(),false);
 		purchasevo.setPurId(codeMap.get("outId").toString());

+ 23 - 0
src/main/java/com/dk/mdm/service/sale/OutReturnItemService.java

@@ -0,0 +1,23 @@
+package com.dk.mdm.service.sale;
+
+import com.dk.mdm.model.pojo.sale.OutReturnItem;
+import com.dk.mdm.mapper.sale.OutReturnItemMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class OutReturnItemService extends BaseService<OutReturnItem> {
+
+	@Override
+	public BaseMapper<OutReturnItem> getRepository() {
+		return outReturnItemMapper;
+	}
+
+	@Autowired
+	private OutReturnItemMapper outReturnItemMapper;
+
+}

+ 23 - 0
src/main/java/com/dk/mdm/service/sale/OutReturnService.java

@@ -0,0 +1,23 @@
+package com.dk.mdm.service.sale;
+
+import com.dk.mdm.model.pojo.sale.OutReturn;
+import com.dk.mdm.mapper.sale.OutReturnMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class OutReturnService extends BaseService<OutReturn> {
+
+	@Override
+	public BaseMapper<OutReturn> getRepository() {
+		return outReturnMapper;
+	}
+
+	@Autowired
+	private OutReturnMapper outReturnMapper;
+
+}