diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java
index a55c4bd..5ca132e 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java
@@ -1,16 +1,16 @@
 package org.jeecg.modules.wms.receipt.receiptHeader.controller;
 
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import cn.monitor4all.logRecord.annotation.OperationLog;
+import cn.monitor4all.logRecord.context.LogRecordContext;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
@@ -19,11 +19,9 @@ import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.wms.api.erp.service.IErpService;
 import org.jeecg.modules.wms.api.mobile.entity.CallBoxBean;
 import org.jeecg.modules.wms.api.mobile.entity.QuickReceiptBean;
-import org.jeecg.modules.wms.api.mobile.service.IMobileService;
-import org.jeecg.modules.wms.config.material.service.IMaterialService;
+import org.jeecg.modules.wms.config.container.entity.JimuReportResult;
 import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
@@ -33,6 +31,7 @@ import org.jeecg.utils.HuahengJwtUtil;
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
 import org.jeecg.utils.support.ApiLogger;
+import org.jeecg.utils.support.PassApiAuthentication;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -44,24 +43,21 @@ import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-import cn.monitor4all.logRecord.annotation.OperationLog;
-import cn.monitor4all.logRecord.context.LogRecordContext;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 入库表主表
- * @Author:      jeecg-boot
- * @Date:        2022-11-01
- * @Version:     V1.0
+ * @Author: jeecg-boot
+ * @Date: 2022-11-01
+ * @Version: V1.0
  */
 @Api(tags = "入库表主表")
 @RestController
@@ -71,34 +67,27 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     @Autowired
     private IReceiptHeaderService receiptHeaderService;
-
-    @Resource
-    private IMobileService mobileService;
-
     @Autowired
     private IReceiptDetailService receiptDetailService;
     @Resource
-    private IMaterialService materialService;
-    @Resource
-    private IErpService erpService;
-    @Resource
     private IHuahengMultiHandlerService huahengMultiHandlerService;
 
     /*---------------------------------主表处理-begin-------------------------------------*/
 
     /**
      * 分页列表查询
-     * @param  receiptHeader
-     * @param  pageNo
-     * @param  pageSize
-     * @param  req
+     *
+     * @param receiptHeader
+     * @param pageNo
+     * @param pageSize
+     * @param req
      * @return
      */
     // @AutoLog(value = "入库表主表-分页列表查询")
     @ApiOperation(value = "入库表主表-分页列表查询", notes = "入库表主表-分页列表查询")
     @GetMapping(value = "/list")
     public Result<IPage<ReceiptHeader>> queryPageList(ReceiptHeader receiptHeader, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-        @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
+                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
         HuahengJwtUtil.setWarehouseCode(request, receiptHeader);
         QueryWrapper<ReceiptHeader> queryWrapper = QueryGenerator.initQueryWrapper(receiptHeader, request.getParameterMap());
         Page<ReceiptHeader> page = new Page<ReceiptHeader>(pageNo, pageSize);
@@ -108,7 +97,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 添加
-     * @param  receiptHeader
+     *
+     * @param receiptHeader
      * @return
      */
     @AutoLog(value = "入库表主表-添加")
@@ -122,7 +112,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 编辑
-     * @param  receiptHeader
+     *
+     * @param receiptHeader
      * @return
      */
     @AutoLog(value = "入库表主表-编辑")
@@ -136,7 +127,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 通过id删除
-     * @param  id
+     *
+     * @param id
      * @return
      */
     @AutoLog(value = "入库表主表-通过id删除")
@@ -152,7 +144,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 批量删除
-     * @param  ids
+     *
+     * @param ids
      * @return
      */
     @AutoLog(value = "入库表主表-批量删除")
@@ -166,6 +159,7 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 导出
+     *
      * @return
      */
     @RequestMapping(value = "/exportXls")
@@ -176,6 +170,7 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 导入
+     *
      * @return
      */
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@@ -186,11 +181,12 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 导入入库单
+     *
      * @return
      */
     @RequestMapping(value = "/importReceipt")
     public Result<?> importFinishedProduct(HttpServletRequest request, HttpServletResponse response) throws Exception {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
             MultipartFile file = entity.getValue();// 获取上传文件对象
@@ -232,15 +228,17 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
     /*---------------------------------主表处理-end-------------------------------------*/
 
     /*--------------------------------子表处理-入库单详情-begin----------------------------------------------*/
+
     /**
      * 通过主表ID查询
+     *
      * @return
      */
     // @AutoLog(value = "入库单详情-通过主表ID查询")
     @ApiOperation(value = "入库单详情-通过主表ID查询", notes = "入库单详情-通过主表ID查询")
     @GetMapping(value = "/listReceiptDetailByMainId")
     public Result<IPage<ReceiptDetail>> listReceiptDetailByMainId(ReceiptDetail receiptDetail, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-        @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
+                                                                  @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
         QueryWrapper<ReceiptDetail> queryWrapper = QueryGenerator.initQueryWrapper(receiptDetail, req.getParameterMap());
         Page<ReceiptDetail> page = new Page<ReceiptDetail>(pageNo, pageSize);
         IPage<ReceiptDetail> pageList = receiptDetailService.page(page, queryWrapper);
@@ -256,11 +254,11 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
     @ApiOperation(value = "入库单详情-查询未收完的明细", notes = "入库单详情-查询未收完的明细")
     @GetMapping(value = "/listReceiptDetailByCode")
     public Result<IPage<ReceiptDetail>> listReceiptDetailByCode(String code, String materialCode, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-        @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+                                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
         LambdaQueryWrapper<ReceiptDetail> query = Wrappers.lambdaQuery();
         query.eq(StringUtils.isNotEmpty(code), ReceiptDetail::getReceiptCode, code)
-            .eq(StringUtils.isNotEmpty(materialCode), ReceiptDetail::getMaterialCode, materialCode)
-            .lt(ReceiptDetail::getStatus, QuantityConstant.RECEIPT_HEADER_COMPLETED).last(" and qty-task_qty>0");
+                .eq(StringUtils.isNotEmpty(materialCode), ReceiptDetail::getMaterialCode, materialCode)
+                .lt(ReceiptDetail::getStatus, QuantityConstant.RECEIPT_HEADER_COMPLETED).last(" and qty-task_qty>0");
         Page<ReceiptDetail> page = new Page<ReceiptDetail>(pageNo, pageSize);
         IPage<ReceiptDetail> pageList = receiptDetailService.page(page, query);
         return Result.ok(pageList);
@@ -268,7 +266,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 添加
-     * @param  receiptDetail
+     *
+     * @param receiptDetail
      * @return
      */
     @AutoLog(value = "入库单详情-添加")
@@ -281,7 +280,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 编辑
-     * @param  receiptDetail
+     *
+     * @param receiptDetail
      * @return
      */
     @AutoLog(value = "入库单详情-编辑")
@@ -297,7 +297,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 通过id删除
-     * @param  id
+     *
+     * @param id
      * @return
      */
     @AutoLog(value = "入库单详情-通过id删除")
@@ -311,7 +312,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 批量删除
-     * @param  ids
+     *
+     * @param ids
      * @return
      */
     @AutoLog(value = "入库单详情-批量删除")
@@ -325,6 +327,7 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 导出
+     *
      * @return
      */
     @RequestMapping(value = "/exportReceiptDetail")
@@ -332,7 +335,7 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
     public ModelAndView exportReceiptDetail(HttpServletRequest request, ReceiptDetail receiptDetail) {
         // Step.1 组装查询条件
         QueryWrapper<ReceiptDetail> queryWrapper = QueryGenerator.initQueryWrapper(receiptDetail, request.getParameterMap());
-        LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
         // Step.2 获取导出数据
         List<ReceiptDetail> pageList = receiptDetailService.list(queryWrapper);
@@ -358,12 +361,13 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 导入
+     *
      * @return
      */
     @RequestMapping(value = "/importReceiptDetail/{mainId}")
     @RequiresPermissions("receiptDetail:import")
     public Result<?> importReceiptDetail(HttpServletRequest request, HttpServletResponse response, @PathVariable("mainId") Integer mainId) {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
             MultipartFile file = entity.getValue();// 获取上传文件对象
@@ -398,7 +402,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
 
     /**
      * 回传入库单
-     * @param  receiptHeader
+     *
+     * @param receiptHeader
      * @return
      */
     @AutoLog(value = "回传入库单")
@@ -458,4 +463,46 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
     public Result<?> crossDocking(@RequestParam(name = "id", required = true) String id, HttpServletRequest req) {
         return receiptHeaderService.crossDocking(id);
     }
+
+    /**
+     * 积木报表API数据集:入库单主表
+     */
+    @PassApiAuthentication
+    @GetMapping(value = "/listPrintContent")
+    public JimuReportResult listPrintContent(@RequestParam(name = "ids", required = true) String ids) {
+        LambdaQueryWrapper<ReceiptHeader> receiptHeaderQueryWrapper = Wrappers.lambdaQuery();
+        receiptHeaderQueryWrapper.in(ReceiptHeader::getId, Arrays.asList(ids.split(",")));
+        List<ReceiptHeader> receiptHeaderList = receiptHeaderService.list(receiptHeaderQueryWrapper);
+        JimuReportResult jimuReportResult = new JimuReportResult();
+        jimuReportResult.setData(receiptHeaderList);
+        return jimuReportResult;
+    }
+
+    /**
+     * 积木报表API数据集:入库单详情
+     */
+    @PassApiAuthentication
+    @GetMapping(value = "/listPrintContentDetail")
+    public JimuReportResult listPrintContentDetail(@RequestParam(name = "ids", required = true) String ids) {
+        LambdaQueryWrapper<ReceiptDetail> receiptDetailQueryWrapper = Wrappers.lambdaQuery();
+        receiptDetailQueryWrapper.in(ReceiptDetail::getReceiptId, Arrays.asList(ids.split(",")));
+        List<ReceiptDetail> receiptDetailList = receiptDetailService.list(receiptDetailQueryWrapper);
+        JimuReportResult jimuReportResult = new JimuReportResult();
+        jimuReportResult.setData(receiptDetailList);
+        return jimuReportResult;
+    }
+
+    /**
+     * 积木报表API数据集:入库单详情
+     */
+    @PassApiAuthentication
+    @GetMapping(value = "/listPrintReceiptDetail")
+    public JimuReportResult listPrintReceiptDetail(@RequestParam(name = "ids", required = true) String ids) {
+        LambdaQueryWrapper<ReceiptDetail> receiptDetailQueryWrapper = Wrappers.lambdaQuery();
+        receiptDetailQueryWrapper.in(ReceiptDetail::getId, Arrays.asList(ids.split(",")));
+        List<ReceiptDetail> receiptDetailList = receiptDetailService.list(receiptDetailQueryWrapper);
+        JimuReportResult jimuReportResult = new JimuReportResult();
+        jimuReportResult.setData(receiptDetailList);
+        return jimuReportResult;
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerAdvice/controller/ShipmentContainerAdviceController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerAdvice/controller/ShipmentContainerAdviceController.java
index af8c1a4..1446459 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerAdvice/controller/ShipmentContainerAdviceController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerAdvice/controller/ShipmentContainerAdviceController.java
@@ -6,12 +6,18 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.wms.config.container.entity.JimuReportResult;
 import org.jeecg.modules.wms.shipment.shipmentContainerAdvice.entity.ShipmentContainerAdvice;
 import org.jeecg.modules.wms.shipment.shipmentContainerAdvice.service.IShipmentContainerAdviceService;
+import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail;
+import org.jeecg.utils.constant.QuantityConstant;
+import org.jeecg.utils.support.PassApiAuthentication;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
@@ -160,4 +166,20 @@ public class ShipmentContainerAdviceController extends JeecgController<ShipmentC
         }
         return Result.OK(shipmentContainerAdviceList);
     }
+
+
+    /**
+     * 积木报表API数据集:预配盘查询
+     */
+    @PassApiAuthentication
+    @GetMapping(value = "/listPrintShipmentAdvice")
+    public JimuReportResult listPrintShipmentAdvice(@RequestParam(name = "ids", required = true) String ids) {
+        LambdaQueryWrapper<ShipmentContainerAdvice> shipmentContainerAdviceQueryWrapper = Wrappers.lambdaQuery();
+        shipmentContainerAdviceQueryWrapper.in(ShipmentContainerAdvice::getShipmentId, Arrays.asList(ids.split(",")))
+                .lt(ShipmentContainerAdvice::getStatus, QuantityConstant.SHIPMENT_CONTAINER_FINISHED);
+        List<ShipmentContainerAdvice> shipmentContainerAdviceList = shipmentContainerAdviceService.list(shipmentContainerAdviceQueryWrapper);
+        JimuReportResult jimuReportResult = new JimuReportResult();
+        jimuReportResult.setData(shipmentContainerAdviceList);
+        return jimuReportResult;
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java
index c8a6345..13e06d2 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java
@@ -1,16 +1,14 @@
 package org.jeecg.modules.wms.shipment.shipmentHeader.controller;
 
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import cn.monitor4all.logRecord.annotation.OperationLog;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
@@ -19,9 +17,8 @@ import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.wms.api.erp.service.IErpService;
 import org.jeecg.modules.wms.api.mobile.entity.CallBoxBean;
-import org.jeecg.modules.wms.api.mobile.service.IMobileService;
+import org.jeecg.modules.wms.config.container.entity.JimuReportResult;
 import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService;
 import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail;
 import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService;
@@ -34,6 +31,7 @@ import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
 import org.jeecg.utils.HuahengJwtUtil;
 import org.jeecg.utils.constant.QuantityConstant;
 import org.jeecg.utils.support.ApiLogger;
+import org.jeecg.utils.support.PassApiAuthentication;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -45,20 +43,21 @@ import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-import cn.monitor4all.logRecord.annotation.OperationLog;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 出库单
- * @Author:      jeecg-boot
- * @Date:        2022-11-21
- * @Version:     V1.0
+ * @Author: jeecg-boot
+ * @Date: 2022-11-21
+ * @Version: V1.0
  */
 @Api(tags = "出库单")
 @RestController
@@ -66,9 +65,6 @@ import lombok.extern.slf4j.Slf4j;
 @Slf4j
 public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IShipmentHeaderService> {
 
-    @Resource
-    private IMobileService mobileService;
-
     @Autowired
     private IShipmentHeaderService shipmentHeaderService;
 
@@ -76,9 +72,6 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
     private IShipmentDetailService shipmentDetailService;
 
     @Resource
-    private IErpService erpService;
-
-    @Resource
     private IInventoryDetailService inventoryDetailService;
 
     @Resource
@@ -88,17 +81,18 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 分页列表查询
-     * @param  shipmentHeader
-     * @param  pageNo
-     * @param  pageSize
-     * @param  req
+     *
+     * @param shipmentHeader
+     * @param pageNo
+     * @param pageSize
+     * @param req
      * @return
      */
     // @AutoLog(value = "出库单-分页列表查询")
     @ApiOperation(value = "出库单-分页列表查询", notes = "出库单-分页列表查询")
     @GetMapping(value = "/list")
     public Result<IPage<ShipmentHeader>> queryPageList(ShipmentHeader shipmentHeader, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-        @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
+                                                       @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
         HuahengJwtUtil.setWarehouseCode(req, shipmentHeader);
         QueryWrapper<ShipmentHeader> queryWrapper = QueryGenerator.initQueryWrapper(shipmentHeader, req.getParameterMap());
         Page<ShipmentHeader> page = new Page<ShipmentHeader>(pageNo, pageSize);
@@ -108,7 +102,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 添加
-     * @param  shipmentHeader
+     *
+     * @param shipmentHeader
      * @return
      */
     @AutoLog(value = "出库单-添加")
@@ -130,7 +125,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 编辑
-     * @param  shipmentHeader
+     *
+     * @param shipmentHeader
      * @return
      */
     @AutoLog(value = "出库单-编辑")
@@ -143,7 +139,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 通过id删除
-     * @param  id
+     *
+     * @param id
      * @return
      */
     @AutoLog(value = "出库单-通过id删除")
@@ -159,7 +156,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 批量删除
-     * @param  ids
+     *
+     * @param ids
      * @return
      */
     @AutoLog(value = "出库单-批量删除")
@@ -173,6 +171,7 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 导出
+     *
      * @return
      */
     @RequestMapping(value = "/exportXls")
@@ -183,6 +182,7 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 导入
+     *
      * @return
      */
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@@ -193,15 +193,17 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
     /*---------------------------------主表处理-end-------------------------------------*/
 
     /*--------------------------------子表处理-出库单详情-begin----------------------------------------------*/
+
     /**
      * 通过主表ID查询
+     *
      * @return
      */
     // @AutoLog(value = "出库单详情-通过主表ID查询")
     @ApiOperation(value = "出库单详情-通过主表ID查询", notes = "出库单详情-通过主表ID查询")
     @GetMapping(value = "/listShipmentDetailByMainId")
     public Result<IPage<ShipmentDetail>> listShipmentDetailByMainId(ShipmentDetail shipmentDetail, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-        @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
+                                                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
         QueryWrapper<ShipmentDetail> queryWrapper = QueryGenerator.initQueryWrapper(shipmentDetail, null);
         Page<ShipmentDetail> page = new Page<ShipmentDetail>(pageNo, pageSize);
         IPage<ShipmentDetail> pageList = shipmentDetailService.page(page, queryWrapper);
@@ -226,7 +228,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 添加
-     * @param  shipmentDetail
+     *
+     * @param shipmentDetail
      * @return
      */
     @AutoLog(value = "出库单详情-添加")
@@ -239,7 +242,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 编辑
-     * @param  shipmentDetail
+     *
+     * @param shipmentDetail
      * @return
      */
     @AutoLog(value = "出库单详情-编辑")
@@ -252,7 +256,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 通过id删除
-     * @param  id
+     *
+     * @param id
      * @return
      */
     @AutoLog(value = "出库单详情-通过id删除")
@@ -266,7 +271,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 批量删除
-     * @param  ids
+     *
+     * @param ids
      * @return
      */
     @AutoLog(value = "出库单详情-批量删除")
@@ -279,6 +285,7 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 导出
+     *
      * @return
      */
     @RequestMapping(value = "/exportShipmentDetail")
@@ -286,7 +293,7 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
     public ModelAndView exportShipmentDetail(HttpServletRequest request, ShipmentDetail shipmentDetail) {
         // Step.1 组装查询条件
         QueryWrapper<ShipmentDetail> queryWrapper = QueryGenerator.initQueryWrapper(shipmentDetail, request.getParameterMap());
-        LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
         // Step.2 获取导出数据
         List<ShipmentDetail> pageList = shipmentDetailService.list(queryWrapper);
@@ -312,12 +319,13 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 导入
+     *
      * @return
      */
     @RequestMapping(value = "/importShipmentDetail/{mainId}")
     @RequiresPermissions("shipmentDetail:import")
     public Result<?> importShipmentDetail(HttpServletRequest request, HttpServletResponse response, @PathVariable("mainId") Integer mainId) {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
             MultipartFile file = entity.getValue();// 获取上传文件对象
@@ -350,11 +358,12 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 导入出库单
+     *
      * @return
      */
     @RequestMapping(value = "/importShipment")
     public Result<?> importFinishedProduct(HttpServletRequest request, HttpServletResponse response) throws Exception {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
             MultipartFile file = entity.getValue();// 获取上传文件对象
@@ -398,7 +407,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 回传出库单
-     * @param  shipmentHeader
+     *
+     * @param shipmentHeader
      * @return
      */
     @AutoLog(value = "回传出库单")
@@ -483,6 +493,7 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
 
     /**
      * 获取出库单物料库存信息
+     *
      * @return
      */
     @ApiOperation(value = "获取出库单物料库存信息", notes = "获取出库单物料库存信息")
@@ -507,4 +518,45 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
         return Result.OK(shipmentInventory);
     }
 
+    /**
+     * 积木报表API数据集:出库单主表
+     */
+    @PassApiAuthentication
+    @GetMapping(value = "/listPrintContent")
+    public JimuReportResult listPrintContent(@RequestParam(name = "ids", required = true) String ids) {
+        LambdaQueryWrapper<ShipmentHeader> shipmentHeaderQueryWrapper = Wrappers.lambdaQuery();
+        shipmentHeaderQueryWrapper.in(ShipmentHeader::getId, Arrays.asList(ids.split(",")));
+        List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(shipmentHeaderQueryWrapper);
+        JimuReportResult jimuReportResult = new JimuReportResult();
+        jimuReportResult.setData(shipmentHeaderList);
+        return jimuReportResult;
+    }
+
+    /**
+     * 积木报表API数据集:出库单详情
+     */
+    @PassApiAuthentication
+    @GetMapping(value = "/listPrintContentDetail")
+    public JimuReportResult listPrintContentDetail(@RequestParam(name = "ids", required = true) String ids) {
+        LambdaQueryWrapper<ShipmentDetail> shipmentHeaderQueryWrapper = Wrappers.lambdaQuery();
+        shipmentHeaderQueryWrapper.in(ShipmentDetail::getShipmentId, Arrays.asList(ids.split(",")));
+        List<ShipmentDetail> shipmentDetailList = shipmentDetailService.list(shipmentHeaderQueryWrapper);
+        JimuReportResult jimuReportResult = new JimuReportResult();
+        jimuReportResult.setData(shipmentDetailList);
+        return jimuReportResult;
+    }
+
+    /**
+     * 积木报表API数据集:出库单详情
+     */
+    @PassApiAuthentication
+    @GetMapping(value = "/listPrintShipmentDetail")
+    public JimuReportResult listPrintShipmentDetail(@RequestParam(name = "ids", required = true) String ids) {
+        LambdaQueryWrapper<ShipmentDetail> shipmentHeaderQueryWrapper = Wrappers.lambdaQuery();
+        shipmentHeaderQueryWrapper.in(ShipmentDetail::getId, Arrays.asList(ids.split(",")));
+        List<ShipmentDetail> shipmentDetailList = shipmentDetailService.list(shipmentHeaderQueryWrapper);
+        JimuReportResult jimuReportResult = new JimuReportResult();
+        jimuReportResult.setData(shipmentDetailList);
+        return jimuReportResult;
+    }
 }
diff --git a/huaheng-wms-core/src/main/resources/application-dev.yml b/huaheng-wms-core/src/main/resources/application-dev.yml
index 52b67b6..1a22270 100644
--- a/huaheng-wms-core/src/main/resources/application-dev.yml
+++ b/huaheng-wms-core/src/main/resources/application-dev.yml
@@ -214,7 +214,7 @@ jeecg:
     #webapp文件路径
     webapp: ./webapp
   shiro:
-    excludeUrls: /test/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/sys/getWarehouseByUserCode,/receipt/receiveHeader/**,/config/materialSn/listPrintContent,/config/material/listPrintContent,/config/container/listPrintContent,/config/location/listPrintContent,/api/**,/sys/cas/client/validateLogin,/sys/common/static/**,/sys/systemActivation
+    excludeUrls: /test/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/sys/getWarehouseByUserCode,/receipt/receiptHeader/listPrintContent,/receipt/receiptHeader/listPrintContentDetail,/receipt/receiptHeader/listPrintReceiptDetail,/shipment/shipmentHeader/listPrintContent,/shipment/shipmentHeader/listPrintContentDetail,/shipment/shipmentHeader/listPrintShipmentDetail,/shipment/shipmentContainerAdvice/listPrintShipmentAdvice,/receipt/receiveHeader/**,/config/materialSn/listPrintContent,/config/material/listPrintContent,/config/container/listPrintContent,/config/location/listPrintContent,/api/**,/sys/cas/client/validateLogin,/sys/common/static/**,/sys/systemActivation
   #阿里云oss存储和大鱼短信秘钥配置
   oss:
     accessKey: ??
diff --git a/huaheng-wms-core/src/main/resources/application-prod.yml b/huaheng-wms-core/src/main/resources/application-prod.yml
index 425af35..97903a6 100644
--- a/huaheng-wms-core/src/main/resources/application-prod.yml
+++ b/huaheng-wms-core/src/main/resources/application-prod.yml
@@ -214,7 +214,7 @@ jeecg:
     #webapp文件路径
     webapp: ./webapp
   shiro:
-    excludeUrls: /test/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/sys/getWarehouseByUserCode,/receipt/receiveHeader/**,/config/materialSn/listPrintContent,/config/material/listPrintContent,/config/location/listPrintContent,/config/container/listPrintContent,/api/**,/sys/cas/client/validateLogin,/sys/common/static/**,/sys/systemActivation
+    excludeUrls: /test/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/sys/getWarehouseByUserCode,/receipt/receiptHeader/listPrintContent,/receipt/receiptHeader/listPrintContentDetail,/receipt/receiptHeader/listPrintReceiptDetail,/shipment/shipmentHeader/listPrintContent,/shipment/shipmentHeader/listPrintContentDetail,/shipment/shipmentHeader/listPrintShipmentDetail,/shipment/shipmentContainerAdvice/listPrintShipmentAdvice,/receipt/receiveHeader/**,/config/materialSn/listPrintContent,/config/material/listPrintContent,/config/location/listPrintContent,/config/container/listPrintContent,/api/**,/sys/cas/client/validateLogin,/sys/common/static/**,/sys/systemActivation
   #阿里云oss存储和大鱼短信秘钥配置
   oss:
     accessKey: ??
diff --git a/huaheng-wms-core/src/main/resources/application-test.yml b/huaheng-wms-core/src/main/resources/application-test.yml
index 1b8a76d..e8f2533 100644
--- a/huaheng-wms-core/src/main/resources/application-test.yml
+++ b/huaheng-wms-core/src/main/resources/application-test.yml
@@ -217,7 +217,7 @@ jeecg:
     #webapp文件路径
     webapp: ./webapp
   shiro:
-    excludeUrls: /test/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/sys/getWarehouseByUserCode,/receipt/receiveHeader/**,/config/materialSn/listPrintContent,/config/materialSn/listPrintContent,/config/material/listPrintContent,/config/location/listPrintContent,/config/container/listPrintContent,/api/**,/sys/cas/client/validateLogin,/sys/common/static/**,/sys/systemActivation
+    excludeUrls: /test/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/sys/getWarehouseByUserCode,/receipt/receiptHeader/listPrintContent,/receipt/receiptHeader/listPrintContentDetail,/receipt/receiptHeader/listPrintReceiptDetail,/shipment/shipmentHeader/listPrintContent,/shipment/shipmentHeader/listPrintContentDetail,/shipment/shipmentHeader/listPrintShipmentDetail,/shipment/shipmentContainerAdvice/listPrintShipmentAdvice,/receipt/receiveHeader/**,/config/materialSn/listPrintContent,/config/material/listPrintContent,/config/container/listPrintContent,/config/location/listPrintContent,/api/**,/sys/cas/client/validateLogin,/sys/common/static/**,/sys/systemActivation
   #阿里云oss存储和大鱼短信秘钥配置
   oss:
     accessKey: ??