diff --git a/src/main/java/com/huaheng/common/constant/QuantityConstant.java b/src/main/java/com/huaheng/common/constant/QuantityConstant.java
index b4313ed..abf36bc 100644
--- a/src/main/java/com/huaheng/common/constant/QuantityConstant.java
+++ b/src/main/java/com/huaheng/common/constant/QuantityConstant.java
@@ -493,6 +493,7 @@ public class QuantityConstant {
      * 其他出库类型
      */
     public static String SHIPMENT_QTCKLX= "QTCKLX";
+    public static String RECEIPT_QTCKLX= "QTRKLX";
 
     public static final String LOCAL_SERVER_IP = "localServerIP";
 
@@ -517,6 +518,12 @@ public class QuantityConstant {
     public static final String SP_InStock = "SP_InStock";
     /*其他入库单回传*/
     public static final String STK_MISCELLANEOUS = "STK_MISCELLANEOUS";
+    /**
+     * 平库容器组盘自动生成任务
+     */
+    public static final String FLOOR_AUTO_CREATE_TASK = "FLOOR_AUTO_CREATE_TASK";
+
+    public static final String ZONE_FLOOR = "A";
 
 
 
diff --git a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
index 7a18320..744391a 100644
--- a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
+++ b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
@@ -162,7 +162,11 @@ public class RyTask extends BaseController {
             @Override
             public AjaxResult doProcess() {
                 for(TaskHeader taskHeader : taskHeaderList) {
-                    taskHeaderService.sendTaskToWcs(Convert.toIntArray(String.valueOf(taskHeader.getId())));
+                    try{
+                        taskHeaderService.sendTaskToWcs(Convert.toIntArray(String.valueOf(taskHeader.getId())));
+                    }catch (Exception e){
+
+                    }
                 }
                 return null;
             }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
index b19689a..bd2a54b 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.common.constant.QuantityConstant;
 import com.huaheng.common.exception.service.ServiceException;
+import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.StringUtils;
 import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.web.domain.AjaxResult;
@@ -33,6 +34,7 @@ import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
 import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService;
 import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
+import com.huaheng.pc.task.taskHeader.service.ReceiptTaskService;
 import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.text.MessageFormat;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -70,6 +73,9 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
     private ConfigService configService;
     @Resource
     private ShipmentContainerHeaderService shipmentContainerHeaderService;
+    @Resource
+    private ReceiptTaskService receiptTaskService;
+
     /**
      * 保存入库组盘
      * @param receiptCode 入库单编码
@@ -189,6 +195,30 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
             }
         }
         receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
+
+        String floorAutoCreateTask = configService.getKey(QuantityConstant.FLOOR_AUTO_CREATE_TASK);
+        if(StringUtils.isNotEmpty(floorAutoCreateTask)){
+            String[] floorType = floorAutoCreateTask.split(",");
+            List<String> floorTypes = Arrays.asList(floorType);
+            Container container = containerService.getContainerByCode(containerCode);
+            if(floorTypes.contains(container.getContainerType())){
+                //自动生成任务
+                LambdaQueryWrapper<ReceiptContainerHeader> lambdaQueryWrapper= Wrappers.lambdaQuery();
+                lambdaQueryWrapper.eq(ReceiptContainerHeader::getContainerCode,containerCode);
+                lambdaQueryWrapper.le(ReceiptContainerHeader::getStatus,10);
+                List<ReceiptContainerHeader> receiptContainerHeaders1=this.list(lambdaQueryWrapper);
+                for(ReceiptContainerHeader item:receiptContainerHeaders1) {
+                    String ids = item.getId().toString();
+                    Integer[] idArray = Convert.toIntArray(ids);
+                    List<Integer> islist= Arrays.asList(idArray);
+                    try {
+                        AjaxResult ajaxResult1=receiptTaskService.createReceiptTask(islist);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+        }
         return AjaxResult.success("success");
     }
 
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java
index 735ce25..4a672ed 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java
@@ -24,6 +24,7 @@ import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
 import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
+import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 import com.huaheng.pc.system.user.domain.User;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -32,6 +33,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -326,4 +328,28 @@ public class ReceiptDetailController extends BaseController {
             return error("导出Excel失败,请联系网站管理员!");
         }
     }
+    @PostMapping("/importData")
+    @ResponseBody
+    public AjaxResult importData (MultipartFile file) throws Exception {
+        ExcelUtil<ReceiptDetail> util = new ExcelUtil<>(ReceiptDetail.class);
+        List<ReceiptDetail> list = util.importExcel(file.getInputStream());
+        String operName = ShiroUtils.getLoginName();
+        String message = receiptDetailService.insertExcelData(list, false, operName);
+        return AjaxResult.success(message);
+    }
+
+    /**
+     * 导出模板
+     *
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("/importTemplate")
+    @ResponseBody
+    public AjaxResult importTemplate () {
+        ExcelUtil<ReceiptDetail> util = new ExcelUtil<>(ReceiptDetail.class);
+        return util.importTemplateExcel("入库详情");
+    }
+
+
 }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
index 5128b74..2bd1340 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
@@ -31,7 +31,7 @@ public class ReceiptDetail implements Serializable {
     /**
      * 入库单
      */
-    @Excel(name = "入库单号")
+    @Excel(name = "入库单号",type = Excel.Type.EXPORT)
     @TableField(value = "receiptCode")
     @ApiModelProperty(value = "入库单")
     private String receiptCode;
@@ -211,7 +211,7 @@ public class ReceiptDetail implements Serializable {
     /**
      * 未收数量
      */
-    @Excel(name = "实收数量")
+    @Excel(name = "实收数量",type = Excel.Type.EXPORT)
     @TableField(value = "taskQty")
     @ApiModelProperty(value = "已收数量")
     private BigDecimal taskQty;
@@ -275,7 +275,7 @@ public class ReceiptDetail implements Serializable {
     /**
      * 创建时间
      */
-    @Excel(name = "创建时间",dateFormat="yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "创建时间",dateFormat="yyyy-MM-dd HH:mm:ss",type = Excel.Type.EXPORT)
     @TableField(value = "created", fill = FieldFill.INSERT)
     @ApiModelProperty(value = "创建时间")
     private Date created;
@@ -290,7 +290,7 @@ public class ReceiptDetail implements Serializable {
     /**
      * 创建时间
      */
-    @Excel(name = "最后修改时间",dateFormat="yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "最后修改时间",dateFormat="yyyy-MM-dd HH:mm:ss",type = Excel.Type.EXPORT)
     @TableField(value = "lastUpdated", fill = FieldFill.INSERT_UPDATE)
     @ApiModelProperty(value = "创建时间")
     private Date lastUpdated;
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java
index 2f1b84d..935ecf2 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java
@@ -6,6 +6,7 @@ import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
+import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 
 import java.util.List;
@@ -65,4 +66,6 @@ public interface ReceiptDetailService extends IService<ReceiptDetail>{
     List<ReceiptDetail> findByReceiptId(Integer id);
 
     boolean isNoCompletedQty(List<ReceiptDetail> receiptDetails,Integer receiptHeaderId);
+
+    String insertExcelData(List<ReceiptDetail> list, boolean updateSupport, String operName);
 }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
index ef5b2f0..884d868 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
@@ -3,6 +3,7 @@ package com.huaheng.pc.receipt.receiptDetail.service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.huaheng.common.constant.QuantityConstant;
+import com.huaheng.common.exception.BusinessException;
 import com.huaheng.common.exception.service.ServiceException;
 import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.StringUtils;
@@ -27,6 +28,8 @@ import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
 import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
+import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
 import com.huaheng.pc.system.dict.service.IDictDataService;
 import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 import org.springframework.stereotype.Service;
@@ -222,6 +225,95 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
         return false;
     }
 
+    @Override
+    public String insertExcelData(List<ReceiptDetail> list, boolean updateSupport, String operName) {
+        if (StringUtils.isNull(list) || list.size() == 0) {
+            throw new BusinessException("导入数据不能为空!");
+        }
+        ReceiptHeader receiptHeader=createHeader(list);
+        int successNum = 0;
+        int failureNum = 0;
+        StringBuilder successMsg = new StringBuilder();
+        StringBuilder failureMsg = new StringBuilder();
+        for (ReceiptDetail importData : list) {
+            /*if(StringUtils.isEmpty(importData.getWarehouseCode())){
+                failureNum++;
+                String msg = "<br/>" + failureNum + "、仓库编码为空 导入失败:";
+                failureMsg.append(msg );
+                continue;
+            }
+            if(StringUtils.isEmpty(importData.getCompanyCode())){
+                failureNum++;
+                String msg = "<br/>" + failureNum + "、货主编码为空 导入失败:";
+                failureMsg.append(msg );
+                continue;
+            }*/
+            if(StringUtils.isNull(importData.getQty())){
+                failureNum++;
+                String msg = "<br/>" + failureNum + "、数量为空 导入失败:";
+                failureMsg.append(msg );
+                continue;
+            }
+            try {
+                importData.setReceiptId(receiptHeader.getId());
+                importData.setReceiptCode(receiptHeader.getCode());
+                Material material = materialService.findAllByCode(importData.getMaterialCode());
+                if(material==null){
+                    String msgs = "<br/>" + failureNum + "、物料编码 " + importData.getMaterialCode() + " 未找到 导入失败:";
+                    failureNum++;
+                    failureMsg.append(msgs);
+                    continue;
+                }
+                importData.setMaterialName(material.getName());
+                importData.setMaterialSpec(material.getSpec());
+                importData.setMaterialUnit(material.getUnit());
+                importData.setWarehouseCode(ShiroUtils.getWarehouseCode());
+                importData.setCompanyCode(QuantityConstant.DEFAULT_COMPANY);
+                importData.setInventorySts(QuantityConstant.GOOD);
+                this.save(importData);
+                receiptHeader.setTotalQty(receiptHeader.getTotalQty().add(importData.getQty()));
+                receiptHeader.setTotalLines(receiptHeader.getTotalLines()+1);
+                receiptHeaderService.updateById(receiptHeader);
+                successNum++;
+                successMsg.append("<br/>" + successNum + "、数据 " + importData.getMaterialCode() + " 导入成功");
+
+            } catch (Exception e) {
+                failureNum++;
+                String msg = "<br/>" + failureNum + "、物料编码 " + importData.getMaterialCode() + " 导入失败:";
+                failureMsg.append(msg + e.getMessage());
+            }
+        }
+        if (failureNum > 0) {
+            failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
+            throw new BusinessException(failureMsg.toString());
+        } else {
+            successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
+        }
+        return successMsg.toString()+"\n"+failureMsg.toString();
+    }
+
+    private ReceiptHeader createHeader(List<ReceiptDetail> list){
+        ReceiptHeader receiptHeader=new ReceiptHeader();
+        String code =receiptHeaderService.createCode(QuantityConstant.RECEIPT_QTCKLX);
+        receiptHeader.setId(null);
+        receiptHeader.setLastUpdated(null);
+        receiptHeader.setLastUpdatedBy((ShiroUtils.getLoginName()));
+        receiptHeader.setCreated(null);
+        receiptHeader.setCreatedBy((ShiroUtils.getLoginName()));
+        receiptHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());
+        receiptHeader.setCompanyCode(QuantityConstant.DEFAULT_COMPANY);
+        receiptHeader.setCode(code);
+        receiptHeader.setReceiptType(QuantityConstant.RECEIPT_QTCKLX);
+        receiptHeader.setTotalLines(BigDecimal.ZERO.intValue());
+        receiptHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_BUILD);
+        receiptHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_BUILD);
+        receiptHeader.setTotalQty(BigDecimal.ZERO);
+        if (!receiptHeaderService.save(receiptHeader)) {
+            throw new ServiceException("导入失败,添加出库单头表失败");
+        }
+        return receiptHeader;
+    }
+
     /**
      * 根据流程配置更新入库明细下一流程
      * @param receiptDetail
diff --git a/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java b/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java
index 982c3b8..d5c0e0b 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java
@@ -39,6 +39,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -154,7 +155,7 @@ public class ReceivingController extends BaseController {
         //找到主单的账套和仓库
         LambdaQueryWrapper<ReceiptHeader> lambdaQueryWrapper= Wrappers.lambdaQuery();
         lambdaQueryWrapper.eq(ReceiptHeader::getCode,code)
-        .eq(ReceiptHeader::getCompanyCode, ShiroUtils.getCompanyCodeList())
+        .in(ReceiptHeader::getCompanyCode, ShiroUtils.getCompanyCodeList())
         .eq(ReceiptHeader::getWarehouseCode, ShiroUtils.getWarehouseCode());
         ReceiptHeader receiptHeader=receiptHeaderService.getOne(lambdaQueryWrapper);
         if(receiptHeader == null) {
@@ -164,7 +165,7 @@ public class ReceivingController extends BaseController {
         //找到子单物料
         LambdaQueryWrapper<ReceiptDetail> lambdaQuery=Wrappers.lambdaQuery();
         lambdaQuery.eq(ReceiptDetail::getReceiptCode,code)
-                .eq(ReceiptDetail::getCompanyCode, ShiroUtils.getCompanyCodeList())
+                .in(ReceiptDetail::getCompanyCode, ShiroUtils.getCompanyCodeList())
                 .eq(ReceiptDetail::getWarehouseCode, ShiroUtils.getWarehouseCode())
         .eq(ReceiptDetail::getId,id);
         ReceiptDetail receiptDetail=receiptDetailService.getOne(lambdaQuery);
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/controller/ShipmentContainerHeaderController.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/controller/ShipmentContainerHeaderController.java
index 682189c..c387c68 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/controller/ShipmentContainerHeaderController.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/controller/ShipmentContainerHeaderController.java
@@ -15,6 +15,9 @@ import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.framework.web.page.PageDomain;
 import com.huaheng.framework.web.page.TableDataInfo;
 import com.huaheng.framework.web.page.TableSupport;
+import com.huaheng.framework.web.service.ConfigService;
+import com.huaheng.pc.config.container.domain.Container;
+import com.huaheng.pc.config.container.service.ContainerService;
 import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader;
 import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentContainerHeader;
 import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService;
@@ -25,8 +28,8 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.List;
+import javax.annotation.Resource;
+import java.util.*;
 
 /**
  * 出库组盘头 信息操作处理
@@ -40,6 +43,10 @@ public class ShipmentContainerHeaderController extends BaseController
 {
 	@Autowired
 	private ShipmentContainerHeaderService shipmentContainerHeaderService;
+	@Resource
+	private ContainerService containerService;
+	@Resource
+	private ConfigService configService;
 
 
 	private String prefix = "shipment/shipmentContainerHeader";
@@ -176,5 +183,44 @@ public class ShipmentContainerHeaderController extends BaseController
 		ajaxResult=shipmentContainerHeaderService.createTask(idList);
 		return ajaxResult;
     }
+	/**
+	 * 生成任务
+	 */
+	@RequiresPermissions("shipment:container:add")
+	@Log(title ="出库-任务生成", operating = "批量生成任务", action = BusinessType.UPDATE)
+	@PostMapping( "/floorCombination")
+	@ResponseBody
+	public AjaxResult floorCombination(String ids)
+	{
+		AjaxResult ajaxResult=new AjaxResult();
+		if (StringUtils.isEmpty(ids)) {
+			return AjaxResult.error("id不能为空");
+		}
+		Set<Integer> floorIds = new HashSet<>();
+		List<Integer> idList = Arrays.asList(Convert.toIntArray(ids));
+		String floorAutoCreateTask = configService.getKey(QuantityConstant.FLOOR_AUTO_CREATE_TASK);
+		for (Integer id : idList) {
+			//获取表头
+			ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.getById(id);
+			if(shipmentContainerHeader == null) {
+				return AjaxResult.error("出库货箱id:" + id + "未找到,操作中止");
+			}
+			if(shipmentContainerHeader.getStatus() >= QuantityConstant.TASK_STATUS_RELEASE){
+				return AjaxResult.error("出库货箱编码(" + shipmentContainerHeader.getContainerCode() + ")已经生成任务,请不要重复生成,操作中止");
+			}
+			String containerCode = shipmentContainerHeader.getContainerCode();
+			if(StringUtils.isNotEmpty(floorAutoCreateTask)) {
+				String[] floorType = floorAutoCreateTask.split(",");
+				List<String> floorTypes = Arrays.asList(floorType);
+				Container container = containerService.getContainerByCode(containerCode);
+				if (floorTypes.contains(container.getContainerType())) {
+					floorIds.add(id);
+				}
+			}
+		}
+
+		ajaxResult=shipmentContainerHeaderService.createTask(new ArrayList<>(floorIds));
+		return ajaxResult;
+	}
 
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
index 42b4b9d..d2a0808 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
@@ -297,7 +297,7 @@ public class ShipmentDetailController extends BaseController
 	@ResponseBody
 	public AjaxResult importTemplate () {
 		ExcelUtil<ShipmentDetail> util = new ExcelUtil<>(ShipmentDetail.class);
-		return util.importTemplateExcel("入库详情");
+		return util.importTemplateExcel("出库详情");
 	}
 
 
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
index 7e5dd78..718b516 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
@@ -54,7 +54,7 @@ public class ShipmentDetail implements Serializable {
     /**
      * 出库单号
      */
-    @Excel(name = "出库单号")
+    @Excel(name = "出库单号",type = Excel.Type.EXPORT)
     @TableField(value = "shipmentCode")
     @ApiModelProperty(value="出库单号")
     private String shipmentCode;
@@ -146,7 +146,7 @@ public class ShipmentDetail implements Serializable {
     /**
      * 已出数量
      */
-    @Excel(name = "已出数量")
+    @Excel(name = "已出数量",type = Excel.Type.EXPORT)
     @TableField(value = "taskQty")
     @ApiModelProperty(value="已出数量")
     private BigDecimal taskQty;
@@ -288,7 +288,7 @@ public class ShipmentDetail implements Serializable {
     /**
      * 创建时间
      */
-    @Excel(name = "创建时间",dateFormat="yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "创建时间",dateFormat="yyyy-MM-dd HH:mm:ss",type = Excel.Type.EXPORT)
     @TableField(value = "created")
     @ApiModelProperty(value="创建时间")
     private Date created;
@@ -304,7 +304,7 @@ public class ShipmentDetail implements Serializable {
     /**
      * 创建时间
      */
-    @Excel(name = "最后修改时间",dateFormat="yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "最后修改时间",dateFormat="yyyy-MM-dd HH:mm:ss",type = Excel.Type.EXPORT)
     @TableField(value = "lastUpdated")
     @ApiModelProperty(value="创建时间")
     private Date lastUpdated;
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java
index 8d8dc2b..3705b29 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java
@@ -407,7 +407,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
                 importData.setShipmentCode(shipmentHeader.getCode());
                 Material material = materialService.findAllByCode(importData.getMaterialCode());
                 if(material==null){
-                    String msgs = "<br/>" + failureNum + "、物料编码 " + importData.getMaterialCode() + " 导入失败:";
+                    String msgs = "<br/>" + failureNum + "、物料编码 " + importData.getMaterialCode() + " 未找到 导入失败:";
                     failureNum++;
                     failureMsg.append(msgs);
                     continue;
@@ -419,6 +419,9 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
                 importData.setCompanyCode(QuantityConstant.DEFAULT_COMPANY);
                 importData.setInventorySts(QuantityConstant.GOOD);
                 this.save(importData);
+                shipmentHeader.setTotalQty(shipmentHeader.getTotalQty().add(importData.getQty()));
+                shipmentHeader.setTotalLines(shipmentHeader.getTotalLines()+1);
+                shipmentHeaderService.updateById(shipmentHeader);
                 successNum++;
                 successMsg.append("<br/>" + successNum + "、数据 " + importData.getMaterialCode() + " 导入成功");
 
@@ -449,11 +452,10 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
         shipmentHeader.setCompanyCode(QuantityConstant.DEFAULT_COMPANY);
         shipmentHeader.setCode(code);
         shipmentHeader.setShipmentType(QuantityConstant.SHIPMENT_QTCKLX);
-        shipmentHeader.setTotalLines(list.size());
+        shipmentHeader.setTotalLines(BigDecimal.ZERO.intValue());
         shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_BUILD);
         shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_BUILD);
-        BigDecimal bigDecimal = list.stream().map(ShipmentDetail::getQty).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
-        shipmentHeader.setTotalQty(bigDecimal);
+        shipmentHeader.setTotalQty(BigDecimal.ZERO);
         if (!shipmentHeaderService.save(shipmentHeader)) {
             throw new ServiceException("导入失败,添加出库单头表失败");
         }
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java
index 02bd9a5..a689f2d 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java
@@ -216,6 +216,13 @@ public class ReceiptTaskService {
                     }
                     String taskId = String.valueOf(task.getId());
                     taskIds.add(taskId);
+                    if(QuantityConstant.ZONE_FLOOR.equals(task.getZoneCode())){
+                        try{
+                            AjaxResult ajaxResult = taskHeaderService.completeTask(task.getToLocation());
+                        }catch (Exception e){
+                            e.printStackTrace();
+                        }
+                    }
                 } else {
                     throw new ServiceException("任务生成失败");
                 }
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
index 14fbdec..ac658be 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
@@ -76,6 +76,8 @@ public class ShipmentTaskService {
     private ShipmentPreferenceService shipmentPreferenceService;
     @Resource
     private ConfigService configService;
+    @Resource
+    private ShipmentTaskService shipmentTaskService;
     /**
      * 创建出库任务
      * @param shipmentTaskCreateModel
@@ -231,6 +233,13 @@ public class ShipmentTaskService {
         if (!containerHeaderService.updateById(shipmentContainerHeader)) {
             throw new ServiceException("修改组盘头状态失败,sql报错");
         }
+        if(QuantityConstant.ZONE_FLOOR.equals(task.getZoneCode())){
+            try{
+                AjaxResult ajaxResult = shipmentTaskService.completeShipmentTask(task);
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }
 
         return AjaxResult.success(taskId);
     }
diff --git a/src/main/resources/application-druid.properties b/src/main/resources/application-druid.properties
index 63dbebd..3908517 100644
--- a/src/main/resources/application-druid.properties
+++ b/src/main/resources/application-druid.properties
@@ -2,20 +2,19 @@
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
 spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
 # ����
-spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2b8
-#spring.datasource.druid.master.url=jdbc:mysql://localhost:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2b8
+#spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2b8
+spring.datasource.druid.master.url=jdbc:mysql://localhost:3306/wms_sushouqingyuan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2b8
+#spring.datasource.druid.master.url=jdbc:mysql://localhost:3306/wms_suzhouqingyuan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2b8
 #spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/huahengExample?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
 #spring.datasource.druid.master.url=jdbc:mysql://117.62.222.186:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2b8
 
 #spring.datasource.druid.master.username=softhuaheng
 #spring.datasource.druid.master.password=HHrobot123.
+#??
+spring.datasource.druid.master.username=huaheng
+spring.datasource.druid.master.password=HHrobot123.
 #spring.datasource.druid.master.username=root
 #spring.datasource.druid.master.password=hhsoftware
-#??
-#spring.datasource.druid.master.username=huaheng
-#spring.datasource.druid.master.password=HHrobot123.
-spring.datasource.druid.master.username=root
-spring.datasource.druid.master.password=hhsoftware
 # �ӿ�
 spring.datasource.druid.slave.open = false
 spring.datasource.druid.slave.url=jdbc:mysql://117.62.222.186:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
diff --git a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
index e9bca98..c65b3f4 100644
--- a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
+++ b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
@@ -90,6 +90,9 @@
                         <a class="btn btn-outline btn-primary btn-rounded" onclick="approval()" shiro:hasPermission="receipt:receiptHeader:review">
                             <i class="fa fa-level-up"></i> 审核通过
                         </a>
+                        <a class="btn btn-info" onclick="$.table.importExcel()"  shiro:hasPermission="receipt:receiptHeader:add">
+                            <i class="fa fa-upload"></i>导入
+                        </a>
                         <!--                        <a class="btn btn-outline btn-primary btn-rounded" onclick="addPool()" shiro:hasPermission="receipt:receiptHeader:addPool">-->
                         <!--                            <i class="fa fa-check-circle"></i> 加入订单池-->
                         <!--                        </a>-->
@@ -201,6 +204,20 @@
         </div>
     </div>
 </div>
+<script id="importTpl" type="text/template">
+    <form enctype="multipart/form-data" class="mt20 mb10">
+        <div class="col-xs-offset-1">
+            <input type="file" id="file" name="file"/>
+            <div class="mt10 pt5">
+                <input type="checkbox" id="updateSupport" name="updateSupport" title="如果数据已经存在,更新这条数据。"> 是否更新已经存在的数据
+                &nbsp;    <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a>
+            </div>
+            <font color="red" class="pull-left mt10">
+                提示:仅允许导入“xls”或“xlsx”格式文件!
+            </font>
+        </div>
+    </form>
+</script>
 <div th:include="include :: footer"></div>
 <script th:inline="javascript">
     var printFlag = [[${@permission.hasPermi('receipt:receiptHeader:report')}]];
@@ -234,6 +251,8 @@
             updateUrl: prefix + "/edit/{id}",
             removeUrl: prefix + "/remove",
             exportUrl: detailPrefix + "/export",
+            importUrl: detailPrefix+"/importData",//导入
+            importTemplateUrl: detailPrefix + "/importTemplate",//导入模板
             modalName: "入库单",
             sidePagination:"server",
             showExport: true, //导出
diff --git a/src/main/resources/templates/receipt/receiving/receiving.html b/src/main/resources/templates/receipt/receiving/receiving.html
index 8a75e08..3946c4c 100644
--- a/src/main/resources/templates/receipt/receiving/receiving.html
+++ b/src/main/resources/templates/receipt/receiving/receiving.html
@@ -152,8 +152,8 @@
                 if(value.data){
 					$("#bootstrap-table").bootstrapTable('load',value.data);
                     for (var i = 0; i < value.data.length; i++) {
-						qty_show=value.data[i].totalQty + qty_show;
-                        qtyCompleted_show=value.data[i].openQty + qtyCompleted_show;
+						qty_show=value.data[i].qty + qty_show;
+                        qtyCompleted_show=value.data[i].taskQty + qtyCompleted_show;
                     }
                     $("#material_length").text(value.data.length);
                     $("#qty_length").text(qty_show);
diff --git a/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html b/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
index 8f8549f..7582a6f 100644
--- a/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
+++ b/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
@@ -67,6 +67,9 @@
                 <a class="btn btn-outline btn-warning btn-rounded" onclick="batchCreateTask()">
                     <i class="fa fa-edit"></i> 生成任务
                 </a>
+                <a class="btn btn-outline btn-primary btn-rounded" onclick="floorCombination()">
+                    <i class="fa fa-edit"></i> 平库生成任务
+                </a>
                 <a class="menuItem btn btn-outline btn-warning btn-rounded" onclick="jumpReceiptTask()">
                     <i class="fa fa-edit"></i> 跳转任务页面
                 </a>
@@ -411,6 +414,39 @@
         chooseStation(ids);
     }
 
+    function floorCombination() {
+        let rows=$("#bootstrap-table2").bootstrapTable('getSelections');
+        if (rows.length == 0) {
+            $.modal.alertWarning("请至少选择一条记录");
+            return;
+        }
+        var ids = "";
+        for(var i=0; i<rows.length; i++) {
+            if(ids == "") {
+                ids = rows[i].shippingContainerId;
+            } else {
+                ids = ids + "," + rows[i].shippingContainerId
+            }
+        }
+        var url = ctx + "shipment/shipmentContainerHeader/floorCombination";
+        var data = { "ids": ids };
+        $.ajax({
+            url: url,
+            type:'post',
+            data: data,
+            success:function (response) {
+                if (response.code == web_status.SUCCESS) {
+                    $("#bootstrap-table2").bootstrapTable('refresh',{function (){
+
+                        }});
+                } else {
+                    $.modal.alertError(response.msg);
+                }
+                $.modal.closeLoading();
+            }
+        })
+    }
+
 
     /* 批量取消组盘 */
     function batchRemoveHead() {