diff --git a/src/main/java/com/huaheng/pc/config/company/mapper/CompanyMapper.java b/src/main/java/com/huaheng/pc/config/company/mapper/CompanyMapper.java
index 7682c74..175ab49 100644
--- a/src/main/java/com/huaheng/pc/config/company/mapper/CompanyMapper.java
+++ b/src/main/java/com/huaheng/pc/config/company/mapper/CompanyMapper.java
@@ -12,5 +12,6 @@ public interface CompanyMapper extends BaseMapper<Company> {
 
     List<Company> selectByWarehouseCode(Company company);
 
+    List<Company> selectListEntityByEqual(Company condition);
 
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/config/company/service/CompanyService.java b/src/main/java/com/huaheng/pc/config/company/service/CompanyService.java
index acc50e6..ebf6edc 100644
--- a/src/main/java/com/huaheng/pc/config/company/service/CompanyService.java
+++ b/src/main/java/com/huaheng/pc/config/company/service/CompanyService.java
@@ -18,4 +18,7 @@ public interface CompanyService extends IService<Company>{
     public AjaxResult updateCompany(Company company);
 
     public List<Map<String, Object>> getCode();
+
+    List<Company> selectListEntityByEqual(Company condition);
+
 }
diff --git a/src/main/java/com/huaheng/pc/config/company/service/CompanyServiceImpl.java b/src/main/java/com/huaheng/pc/config/company/service/CompanyServiceImpl.java
index b88cc8d..2825761 100644
--- a/src/main/java/com/huaheng/pc/config/company/service/CompanyServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/company/service/CompanyServiceImpl.java
@@ -107,4 +107,9 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
                 .eq(Company::getWarehouseCode, ShiroUtils.getWarehouseCode());
         return this.listMaps(lambda);
     }
+
+    @Override
+    public List<Company> selectListEntityByEqual(Company condition) {
+        return companyMapper.selectListEntityByEqual(condition);
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/config/location/mapper/LocationMapper.java b/src/main/java/com/huaheng/pc/config/location/mapper/LocationMapper.java
index e4136b8..efae305 100644
--- a/src/main/java/com/huaheng/pc/config/location/mapper/LocationMapper.java
+++ b/src/main/java/com/huaheng/pc/config/location/mapper/LocationMapper.java
@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.config.location.domain.Location;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.LinkedHashMap;
+import java.util.List;
+
 import java.util.List;
 
 public interface LocationMapper extends BaseMapper<Location> {
@@ -18,4 +21,7 @@ public interface LocationMapper extends BaseMapper<Location> {
 
     Location getAllLocation(@Param("warehouseCode") String warehouseCode, @Param("type") String type);
 
+    //库位利用率
+    List<LinkedHashMap<String, Object>> getLocationProp();
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/config/location/service/LocationService.java b/src/main/java/com/huaheng/pc/config/location/service/LocationService.java
index 6d2dac2..8d1f352 100644
--- a/src/main/java/com/huaheng/pc/config/location/service/LocationService.java
+++ b/src/main/java/com/huaheng/pc/config/location/service/LocationService.java
@@ -5,6 +5,9 @@ import com.huaheng.pc.config.location.domain.Location;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huaheng.pc.config.location.domain.LocationInfo;
 
+import java.util.LinkedHashMap;
+import java.util.List;
+
 public interface LocationService extends IService<Location>{
 
     AjaxResult addsave(Location location);
@@ -18,4 +21,7 @@ public interface LocationService extends IService<Location>{
     void updateContainerCodeAndStatus(String locationCode, String containerCode, String status);
 
     LocationInfo getAllLocation(String type);
+
+    //库位利用率
+    List<LinkedHashMap<String, Object>> getLocationProp();
 }
diff --git a/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java b/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java
index 5e68f46..3278ce9 100644
--- a/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java
@@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.text.MessageFormat;
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -199,5 +200,9 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
         return null;
     }
 
+    @Override
+    public List<LinkedHashMap<String, Object>> getLocationProp() {
+        return locationMapper.getLocationProp();
+    }
 
 }
diff --git a/src/main/java/com/huaheng/pc/config/receiptType/service/ReceiptTypeServiceImpl.java b/src/main/java/com/huaheng/pc/config/receiptType/service/ReceiptTypeServiceImpl.java
index a3c702a..b37cd61 100644
--- a/src/main/java/com/huaheng/pc/config/receiptType/service/ReceiptTypeServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/receiptType/service/ReceiptTypeServiceImpl.java
@@ -3,6 +3,7 @@ package com.huaheng.pc.config.receiptType.service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaheng.common.utils.StringUtils;
 import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.pc.config.address.domain.Address;
 import com.huaheng.pc.config.receiptType.domain.ReceiptType;
@@ -18,8 +19,8 @@ public class ReceiptTypeServiceImpl extends ServiceImpl<ReceiptTypeMapper, Recei
 
     public List<Map<String, Object>> getType(){
         LambdaQueryWrapper<ReceiptType> lambdaQueryWrapper = Wrappers.lambdaQuery();
-        lambdaQueryWrapper.eq(ReceiptType::getWarehouseCode, ShiroUtils.getWarehouseCode())
-                .in(ReceiptType::getCompanyCode, ShiroUtils.getCompanyCodeList());
+        lambdaQueryWrapper.eq(StringUtils.isNotEmpty(ShiroUtils.getWarehouseCode()),ReceiptType::getWarehouseCode, ShiroUtils.getWarehouseCode())
+                .in(StringUtils.isNotEmpty(ShiroUtils.getCompanyCodeList()),ReceiptType::getCompanyCode, ShiroUtils.getCompanyCodeList());
         return this.listMaps(lambdaQueryWrapper);
     }
 
diff --git a/src/main/java/com/huaheng/pc/config/table/service/TableService.java b/src/main/java/com/huaheng/pc/config/table/service/TableService.java
new file mode 100644
index 0000000..256168f
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/config/table/service/TableService.java
@@ -0,0 +1,18 @@
+package com.huaheng.pc.config.table.service;
+
+import org.springframework.stereotype.Service;
+
+/**
+ * Created by Enzo Cotter on 2019/11/25.
+ */
+@Service("table")
+public class TableService {
+
+    public boolean getVisible(String value){
+        if ("t".equals(value)){
+            return true;
+        } else {
+            return false;
+        }
+    }
+}
diff --git a/src/main/java/com/huaheng/pc/config/warehouse/mapper/WarehouseMapper.java b/src/main/java/com/huaheng/pc/config/warehouse/mapper/WarehouseMapper.java
index ce10b8c..b5f2f9d 100644
--- a/src/main/java/com/huaheng/pc/config/warehouse/mapper/WarehouseMapper.java
+++ b/src/main/java/com/huaheng/pc/config/warehouse/mapper/WarehouseMapper.java
@@ -19,4 +19,7 @@ public interface WarehouseMapper extends BaseMapper<Warehouse> {
 
     int userCopy(@Param("warehouseCode") String warehouseCode, @Param("newWarehouseCode")String newWarehouseCode);
 
+
+    List<Warehouse> selectListEntityByEqual(Warehouse condition);
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseService.java b/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseService.java
index 5862597..68905b5 100644
--- a/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseService.java
+++ b/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseService.java
@@ -19,4 +19,8 @@ public interface WarehouseService extends IService<Warehouse>{
      */
     Boolean warehouseCopy(String warehouseCode, String newWarehouseCode);
 
+
+    List<Warehouse> selectListEntityByEqual(Warehouse condition);
+
+
 }
diff --git a/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java b/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java
index b9480b3..06a9000 100644
--- a/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java
@@ -201,4 +201,9 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse
         }
         return true;
     }
+
+    @Override
+    public List<Warehouse> selectListEntityByEqual(Warehouse condition) {
+        return warehouseMapper.selectListEntityByEqual(condition);
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/AdminInventoryController.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/AdminInventoryController.java
new file mode 100644
index 0000000..31411df
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/AdminInventoryController.java
@@ -0,0 +1,65 @@
+package com.huaheng.pc.inventory.inventoryDetail.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
+import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+
+/**
+ * 库存 信息操作处理
+ *
+ * @author ricard
+ * @date 2019-05-13
+ */
+@Controller
+@RequestMapping("/admin/inventory")
+public class AdminInventoryController extends BaseController {
+
+    private String prefix = "admin/inventory";
+
+    @Autowired
+    private InventoryDetailService inventoryService;
+
+//    @RequiresPermissions("admin:inventory:view")
+    @GetMapping()
+    public String inventory()
+    {
+        return prefix + "/inventory";
+    }
+
+    /**
+     * 查询库存列表
+     */
+//    @RequiresPermissions("admin:inventory:list")
+    @Log(title = "库存-库存查看",operating = "查看库存列表", action = BusinessType.GRANT)
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(InventoryDetail inventoryDetail)
+    {
+        LambdaQueryWrapper<InventoryDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        lambdaQueryWrapper.eq(StringUtils.isNotEmpty(inventoryDetail.getWarehouseCode()),InventoryDetail::getWarehouseCode,inventoryDetail.getWarehouseCode())
+                .eq(StringUtils.isNotEmpty(inventoryDetail.getCompanyCode()),InventoryDetail::getCompanyCode,inventoryDetail.getCompanyCode())
+                .eq(StringUtils.isNotEmpty(inventoryDetail.getLocationCode()),InventoryDetail::getLocationCode,inventoryDetail.getLocationCode())
+                .eq(StringUtils.isNotEmpty(inventoryDetail.getContainerCode()),InventoryDetail::getContainerCode,inventoryDetail.getContainerCode())
+                .eq(StringUtils.isNotEmpty(inventoryDetail.getMaterialCode()),InventoryDetail::getMaterialCode,inventoryDetail.getMaterialCode())
+                .eq(StringUtils.isNotEmpty(inventoryDetail.getInventorySts()),InventoryDetail::getInventorySts,inventoryDetail.getInventorySts())
+                .eq(StringUtils.isNotEmpty(inventoryDetail.getSupplierCode()),InventoryDetail::getSupplierCode,inventoryDetail.getSupplierCode());
+        startPage();
+        List<InventoryDetail> list =inventoryService.list(lambdaQueryWrapper);
+        return getDataTable(list);
+    }
+}
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/mapper/InventoryDetailMapper.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/mapper/InventoryDetailMapper.java
index 52da6f2..8777d87 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/mapper/InventoryDetailMapper.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/mapper/InventoryDetailMapper.java
@@ -2,8 +2,10 @@ package com.huaheng.pc.inventory.inventoryDetail.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
+import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
+import java.util.LinkedHashMap;
 import java.util.List;
 
 public interface InventoryDetailMapper extends BaseMapper<InventoryDetail> {
@@ -12,4 +14,21 @@ public interface InventoryDetailMapper extends BaseMapper<InventoryDetail> {
 
     BigDecimal getSumQty(InventoryDetail inventoryDetail);
 
+    //仓库维度显示库龄
+    String getWarehouseInventoryStatus(@Param("warehouseCode") String warehouseCode, @Param("a")Integer a, @Param("b")Integer b);
+
+    //仓库维度显示库龄
+    String getWarehouseInventoryStatuss(@Param("warehouseCode") String warehouseCode,@Param("a")Integer a);
+
+    //货主维度显示库龄
+    String getCompanyInventoryStatus(@Param("companyCode") String companyCode,@Param("a")Integer a,@Param("b")Integer b);
+
+    //货主维度显示库龄
+    String getCompanyInventoryStatuss(@Param("companyCode") String companyCode,@Param("a")Integer a);
+
+    //仓库维度显示库存分布
+    List<LinkedHashMap<String, Object>> getWarehouseInventoryProp(@Param("warehouseCode") String warehouseCode);
+
+    //货主维度显示库存分布
+    List<LinkedHashMap<String, Object>> getCompanyInventoryProp(@Param("companyCode") String companyCode);
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
index b656940..8bb4ab1 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
@@ -8,6 +8,7 @@ import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 
 import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
+import java.util.LinkedHashMap;
 import java.util.List;
 
 public interface InventoryDetailService extends IService<InventoryDetail> {
@@ -23,6 +24,22 @@ public interface InventoryDetailService extends IService<InventoryDetail> {
     //求一种物料的库存之和
     BigDecimal getSumQty(InventoryDetail inventoryDetail);
 
+    //仓库维度显示库龄
+    String getWarehouseInventoryStatus(String warehouseCode,Integer a,Integer b);
+
+    String getWarehouseInventoryStatuss(String warehouseCode,Integer a);
+
+    //货主维度显示库龄
+    String getCompanyInventoryStatus( String companyCode,Integer a,Integer b);
+
+    //货主维度显示库龄
+    String getCompanyInventoryStatuss( String companyCode,Integer a);
+
+    //仓库维度显示库存分布
+    List<LinkedHashMap<String, Object>> getWarehouseInventoryProp(String warehouseCode);
+
+    //货主维度显示库存分布
+    List<LinkedHashMap<String, Object>> getCompanyInventoryProp(String companyCode);
 
 }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
index 1dc07b0..c0ef118 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
@@ -243,6 +243,35 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
         return inventoryDetailMapper.getSumQty(inventoryDetail);
     }
 
+    @Override
+    public String getWarehouseInventoryStatus(String warehouseCode, Integer a, Integer b) {
+        return inventoryDetailMapper.getWarehouseInventoryStatus(warehouseCode,a,b);
+    }
+
+    @Override
+    public String getWarehouseInventoryStatuss(String warehouseCode,Integer a) {
+        return inventoryDetailMapper.getWarehouseInventoryStatuss(warehouseCode,a);
+    }
+
+    @Override
+    public String getCompanyInventoryStatus(String companyCode,Integer a,Integer b) {
+        return inventoryDetailMapper.getCompanyInventoryStatus(companyCode,a,b);
+    }
+
+    @Override
+    public String getCompanyInventoryStatuss(String companyCode,Integer a) {
+        return inventoryDetailMapper.getCompanyInventoryStatuss(companyCode,a);
+    }
+
+    @Override
+    public List<LinkedHashMap<String, Object>> getWarehouseInventoryProp(String warehouseCode) {
+        return inventoryDetailMapper.getWarehouseInventoryProp(warehouseCode);
+    }
+
+    @Override
+    public List<LinkedHashMap<String, Object>> getCompanyInventoryProp(String companyCode) {
+        return inventoryDetailMapper.getCompanyInventoryProp(companyCode);
+    }
 }
 
 
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/AdminReceiptDetailController.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/AdminReceiptDetailController.java
new file mode 100644
index 0000000..906e251
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/AdminReceiptDetailController.java
@@ -0,0 +1,59 @@
+package com.huaheng.pc.receipt.receiptDetail.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
+import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 入库明细 信息操作处理
+ * 
+ * @author huaheng
+ * @date 2019-05-21
+ */
+@Controller
+@RequestMapping("/admin/receiptDetail")
+public class AdminReceiptDetailController extends BaseController
+{
+    private String prefix = "admin/receiptDetail";
+	
+	@Autowired
+	private ReceiptDetailService receiptDetailService;
+
+	
+	@GetMapping("/{receiptId}/{receiptCode}")
+	public String receiptDetail(@PathVariable("receiptId") String receiptId, @PathVariable("receiptCode") String receiptCode, ModelMap mmap)
+	{
+		mmap.put("receiptId", receiptId);
+        mmap.put("receiptCode", receiptCode);
+	    return prefix + "/receiptDetail";
+	}
+	
+	/**
+	 * 查询入库明细列表
+	 */
+	@Log(title = "入库-入库单", operating = "查看入库单明细", action = BusinessType.GRANT)
+	@PostMapping("/list")
+	@ResponseBody
+	public TableDataInfo list(ReceiptDetail receiptDetail)
+	{
+		startPage();
+		LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
+		lambdaQueryWrapper.eq(StringUtils.isNotNull(receiptDetail.getReceiptId()), ReceiptDetail::getReceiptId, receiptDetail.getReceiptId());
+		List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper) ;
+		return getDataTable(list);
+	}
+
+}
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/mapper/ReceiptDetailMapper.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/mapper/ReceiptDetailMapper.java
index 4bec201..7688a6c 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/mapper/ReceiptDetailMapper.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/mapper/ReceiptDetailMapper.java
@@ -2,6 +2,18 @@ package com.huaheng.pc.receipt.receiptDetail.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
+
+import java.util.List;
 
 public interface ReceiptDetailMapper extends BaseMapper<ReceiptDetail> {
+
+    //获取7天内的入库量
+    List<TaskDetail> getReceiptQtyLast7Days();
+
+    //以仓库维度获取入库量
+    List<TaskDetail> getWarehouseReceipt();
+
+    //以货主维度获取入库量
+    List<TaskDetail> getCompanyReceipt();
 }
\ No newline at end of file
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 659362e..41018d2 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
@@ -3,6 +3,10 @@ package com.huaheng.pc.receipt.receiptDetail.service;
 import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
+
+import java.util.List;
+
 public interface ReceiptDetailService extends IService<ReceiptDetail>{
 
     AjaxResult saveReceiptDetaial(ReceiptDetail receiptDetail);
@@ -25,4 +29,13 @@ public interface ReceiptDetailService extends IService<ReceiptDetail>{
     void updateReceiptHeaderLastStatus(Integer id);
 
     AjaxResult approval(String ids, Integer approval);
+
+    //获取7天内的入库量
+    List<TaskDetail> getReceiptQtyLast7Days();
+
+    //以仓库维度获取入库量
+    List<TaskDetail> getWarehouseReceipt();
+
+    //以货主维度获取入库量
+    List<TaskDetail> getCompanyReceipt();
 }
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 fd88764..cce67eb 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
@@ -27,6 +27,7 @@ import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
 import com.huaheng.pc.system.config.domain.Config;
 import com.huaheng.pc.system.dict.domain.DictData;
 import com.huaheng.pc.system.dict.service.IDictDataService;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 import io.swagger.models.auth.In;
 import org.aspectj.weaver.loadtime.Aj;
 import org.springframework.stereotype.Service;
@@ -59,6 +60,8 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
     private CheckHeaderService checkHeaderService;
     @Resource
     private ConfigValueService configValueService;
+    @Resource
+    private ReceiptDetailMapper receiptDetailMapper;
 
     /**
      * 新增入库明细
@@ -368,6 +371,21 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
         return AjaxResult.success("审核完成");
     }
 
+    @Override
+    public List<TaskDetail> getReceiptQtyLast7Days() {
+        return receiptDetailMapper.getReceiptQtyLast7Days();
+    }
+
+    @Override
+    public List<TaskDetail> getWarehouseReceipt() {
+        return receiptDetailMapper.getWarehouseReceipt();
+    }
+
+    @Override
+    public List<TaskDetail> getCompanyReceipt() {
+        return receiptDetailMapper.getCompanyReceipt();
+    }
+
     /**
      * 判断明细中是否质检
      */
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/AdminReceiptHeaderController.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/AdminReceiptHeaderController.java
new file mode 100644
index 0000000..6779acf
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/AdminReceiptHeaderController.java
@@ -0,0 +1,84 @@
+package com.huaheng.pc.receipt.receiptHeader.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.security.ShiroUtils;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
+import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 入库单主 信息操作处理
+ * 
+ * @author huaheng
+ * @date 2019-05-21
+ */
+@Controller
+@RequestMapping("/admin/receiptHeader")
+public class AdminReceiptHeaderController extends BaseController
+{
+
+
+    private String prefix = "admin/receiptHeader";
+	
+	@Autowired
+	private ReceiptHeaderService receiptHeaderService;
+	
+	@GetMapping()
+	public String receiptHeader()
+	{
+	    return prefix + "/receiptHeader";
+	}
+	
+	/**
+	 * 查询入库单主列表
+	 */
+	@Log(title = "入库-入库单", operating = "查看入库主单列表", action = BusinessType.GRANT)
+	@PostMapping("/list")
+	@ResponseBody
+	public TableDataInfo list(ReceiptHeader receiptHeader, String time)
+	{
+        startPage();
+		LambdaQueryWrapper<ReceiptHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
+		lambdaQueryWrapper
+				.eq(StringUtils.isNotEmpty(receiptHeader.getCompanyCode()),ReceiptHeader::getCompanyCode, receiptHeader.getCompanyCode())
+				.eq(StringUtils.isNotEmpty(receiptHeader.getWarehouseCode()),ReceiptHeader::getWarehouseCode, receiptHeader.getWarehouseCode())
+				.eq(StringUtils.isNotEmpty(receiptHeader.getReceiptType()),
+						ReceiptHeader::getReceiptType, receiptHeader.getReceiptType())
+				.eq(StringUtils.isNotEmpty(receiptHeader.getCode()), ReceiptHeader::getCode, receiptHeader.getCode())
+				.eq(StringUtils.isNotNull(receiptHeader.getFirstStatus()),
+						ReceiptHeader::getFirstStatus, receiptHeader.getFirstStatus())
+				.eq(StringUtils.isNotNull(receiptHeader.getLastStatus()),
+						ReceiptHeader::getLastStatus, receiptHeader.getLastStatus())
+				.orderByDesc(ReceiptHeader::getCreated);
+		List<ReceiptHeader> list = new ArrayList<>();
+        if(StringUtils.isEmpty(time)) {
+			list=receiptHeaderService.list(lambdaQueryWrapper);
+		}else {
+        	list=receiptHeaderService.selectListByCreated();
+		}
+		return getDataTable(list);
+	}
+
+	@PostMapping("/getReceiptHeader")
+	@ResponseBody
+	public AjaxResult<ReceiptHeader> getShipmentHeader(int id){
+		return AjaxResult.success(receiptHeaderService.getById(id));
+	}
+}
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
index f24608c..d8d069d 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
@@ -79,9 +79,9 @@ public class ReceiptHeaderController extends BaseController {
                 .eq(StringUtils.isNotEmpty(receiptHeader.getReceiptType()),
                         ReceiptHeader::getReceiptType, receiptHeader.getReceiptType())
                 .eq(StringUtils.isNotEmpty(receiptHeader.getCode()), ReceiptHeader::getCode, receiptHeader.getCode())
-                .eq(StringUtils.isNotNull(receiptHeader.getFirstStatus()),
+                .ge(StringUtils.isNotNull(receiptHeader.getFirstStatus()),
                         ReceiptHeader::getFirstStatus, receiptHeader.getFirstStatus())
-                .eq(StringUtils.isNotNull(receiptHeader.getLastStatus()),
+                .le(StringUtils.isNotNull(receiptHeader.getLastStatus()),
                         ReceiptHeader::getLastStatus, receiptHeader.getLastStatus())
                 .orderByDesc(ReceiptHeader::getCreated);
 
@@ -195,7 +195,7 @@ public class ReceiptHeaderController extends BaseController {
     @Log(title = "入库-入库单 ",operating = "入库单删除", action = BusinessType.UPDATE)
     @PostMapping("/remove")
     @ResponseBody
-    public AjaxResult remove(@ApiParam(name = "id", value = "入库头表id字符串")Integer ids){
+    public AjaxResult remove(@ApiParam(name = "id", value = "入库头表id字符串")String ids){
         if (StringUtils.isNull(ids)){
             return AjaxResult.error("id为空");
         }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/mapper/ReceiptHeaderMapper.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/mapper/ReceiptHeaderMapper.java
index d53a5e1..5de0b59 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/mapper/ReceiptHeaderMapper.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/mapper/ReceiptHeaderMapper.java
@@ -3,5 +3,10 @@ package com.huaheng.pc.receipt.receiptHeader.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
 
+import java.util.List;
+
 public interface ReceiptHeaderMapper extends BaseMapper<ReceiptHeader> {
+
+    List<ReceiptHeader> selectListByCreated();
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
index c5174b4..cfb3e56 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
@@ -47,6 +47,8 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
     private CheckDetailService checkDetailService;
     @Resource
     private SendMailService sendMailService;
+    @Resource
+    private ReceiptHeaderMapper receiptHeaderMapper;
 
     /**
      * 保存入库单
@@ -217,6 +219,7 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
     /**
      * 提交审核入库单
      */
+    @Transactional
     public AjaxResult submitReview(String ids){
         if (StringUtils.isEmpty(ids)){
             return AjaxResult.error("id不能为空");
@@ -227,12 +230,16 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
             if (receiptHeader.getFirstStatus()>QuantityConstant.RECEIPT_HEADER_MODERATED ||receiptHeader.getLastStatus()>QuantityConstant.RECEIPT_HEADER_MODERATED){
                 return AjaxResult.error("单据号为"+receiptHeader.getCode()+"入库单不需要审核");
             }
+            LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
+            lambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, idArray[i]);
+            List<ReceiptDetail> receiptDetailList = receiptDetailService.list(lambdaQueryWrapper);
+            if (receiptDetailList.isEmpty()){
+                return AjaxResult.error("单据号为"+receiptHeader.getCode()+"入库单没有明细");
+            }
             receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_MODERATED);
             receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_MODERATED);
             if (!this.updateById(receiptHeader)){
                 throw new ServiceException("更新入库头表失败");
-            } else {
-                return AjaxResult.success("提交审核成功,请等待审核");
             }
         }
         return AjaxResult.success("提交审核成功");
@@ -294,4 +301,9 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
         }
         return AjaxResult.success("加入成功");
     }
+
+
+    public List<ReceiptHeader> selectListByCreated() {
+        return receiptHeaderMapper.selectListByCreated();
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java
index ec1111e..255d00d 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java
@@ -4,6 +4,7 @@ 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.service.ServiceException;
+import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
@@ -18,6 +19,7 @@ import javax.annotation.Resource;
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 
+import java.util.Arrays;
 import java.util.List;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.pc.receipt.receiptHeaderHistory.domain.ReceiptHeaderHistory;
@@ -35,51 +37,57 @@ public class ReceiptHeaderHistoryService extends ServiceImpl<ReceiptHeaderHistor
     private ReceiptDetailHistoryService receiptDetailHistoryService;
 
     @Transactional
-    public AjaxResult add(Integer id){
-        ReceiptHeader receiptHeader = receiptHeaderService.getById(id);
-        if (receiptHeader == null)  return AjaxResult.success("");
-        if((receiptHeader.getFirstStatus()>= QuantityConstant.RECEIPT_HEADER_POSTING && receiptHeader.getLastStatus()>=QuantityConstant.RECEIPT_HEADER_POSTING)||
-                (receiptHeader.getFirstStatus()<QuantityConstant.RECEIPT_HEADER_POOL &receiptHeader.getLastStatus()<QuantityConstant.RECEIPT_HEADER_POOL)){
-            ReceiptHeaderHistory receiptHeaderHistory = new ReceiptHeaderHistory();
-            List<ReceiptDetailHistory> receiptDetailHistoryList = new ArrayList<>();
-            //查询入库单明细
-            LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
-            lambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, id);
-            List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper);
-            try {
-                //复制到入库历史实体
-                BeanUtils.copyProperties(receiptHeaderHistory, receiptHeader);
-                for (ReceiptDetail receiptDetail: list) {
-                    ReceiptDetailHistory receiptDetailHistory = new ReceiptDetailHistory();
-                    BeanUtils.copyProperties(receiptDetailHistory, receiptDetail);
-                    receiptDetailHistoryList.add(receiptDetailHistory);
-                }
-            } catch (IllegalAccessException e) {
-                e.printStackTrace();
-            } catch (InvocationTargetException e) {
-                e.printStackTrace();
-            }
-
-            receiptHeaderHistory.setLastUpdatedBy(ShiroUtils.getLoginName());
-            if (!receiptHeaderService.removeById(receiptHeader.getId())){
-                throw new ServiceException("删除头表失败");
+    public AjaxResult add(String ids){
+        List<Integer> idList = Arrays.asList(Convert.toIntArray(ids));
+        for (Integer id : idList) {
+            ReceiptHeader receiptHeader = receiptHeaderService.getById(id);
+            if (receiptHeader == null)  {
+                return AjaxResult.success("");
             }
-            // 当存在明细时删除
-            if (list.size()!= 0){
-                //删除入库明细
-                List<Integer> ids = new ArrayList<>();
-                for (int i=0; i<receiptDetailHistoryList.size();i++){
-                    receiptDetailHistoryList.get(i).setLastUpdatedBy(ShiroUtils.getLoginName());
-                    ids.add(receiptDetailHistoryList.get(i).getId());
+            if((receiptHeader.getFirstStatus()>= QuantityConstant.RECEIPT_HEADER_POSTING && receiptHeader.getLastStatus()>=QuantityConstant.RECEIPT_HEADER_POSTING)||
+                    (receiptHeader.getFirstStatus()<QuantityConstant.RECEIPT_HEADER_POOL &receiptHeader.getLastStatus()<QuantityConstant.RECEIPT_HEADER_POOL)){
+                ReceiptHeaderHistory receiptHeaderHistory = new ReceiptHeaderHistory();
+                List<ReceiptDetailHistory> receiptDetailHistoryList = new ArrayList<>();
+                //查询入库单明细
+                LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
+                lambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, id);
+                List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper);
+                try {
+                    //复制到入库历史实体
+                    BeanUtils.copyProperties(receiptHeaderHistory, receiptHeader);
+                    for (ReceiptDetail receiptDetail: list) {
+                        ReceiptDetailHistory receiptDetailHistory = new ReceiptDetailHistory();
+                        BeanUtils.copyProperties(receiptDetailHistory, receiptDetail);
+                        receiptDetailHistoryList.add(receiptDetailHistory);
+                    }
+                } catch (IllegalAccessException e) {
+                    e.printStackTrace();
+                } catch (InvocationTargetException e) {
+                    e.printStackTrace();
                 }
-                if (!receiptDetailService.removeByIds(ids)) {
-                    throw new ServiceException("删除明细表失败");
+
+                receiptHeaderHistory.setLastUpdatedBy(ShiroUtils.getLoginName());
+                if (!receiptHeaderService.removeById(receiptHeader.getId())){
+                    throw new ServiceException("删除头表失败");
                 }
-                receiptDetailHistoryService.saveBatch(receiptDetailHistoryList);
+                // 当存在明细时删除
+                if (list.size()!= 0){
+                    //删除入库明细
+                    List<Integer> receiptDetailIds = new ArrayList<>();
+                    for (int i=0; i<receiptDetailHistoryList.size();i++){
+                        receiptDetailHistoryList.get(i).setLastUpdatedBy(ShiroUtils.getLoginName());
+                        receiptDetailIds.add(receiptDetailHistoryList.get(i).getId());
+                    }
+                    if (!receiptDetailService.removeByIds(receiptDetailIds)) {
+                        throw new ServiceException("删除明细表失败");
+                    }
+                    if (!receiptDetailHistoryService.saveBatch(receiptDetailHistoryList)){
+                        throw new ServiceException("新增明细失败");
+                    }                }
+                this.save(receiptHeaderHistory);
+            }else {
+                return AjaxResult.success("入库单没有完成,无法删除");
             }
-            this.save(receiptHeaderHistory);
-        }else {
-            return AjaxResult.success("入库单没有完成,无法删除");
         }
         return AjaxResult.success("删除成功");
     }
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/AdminShipmentDetailController.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/AdminShipmentDetailController.java
new file mode 100644
index 0000000..6344a59
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/AdminShipmentDetailController.java
@@ -0,0 +1,60 @@
+package com.huaheng.pc.shipment.shipmentDetail.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
+import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 出库明细 信息操作处理
+ * 
+ * @author huaheng
+ * @date 2018-08-19
+ */
+@Controller
+@RequestMapping("/admin/shipmentDetail")
+public class AdminShipmentDetailController extends BaseController
+{
+    private String prefix = "admin/shipmentDetail";
+	
+	@Autowired
+	private ShipmentDetailService shipmentDetailService;
+	
+    @GetMapping("/{shipmentId}/{shipmentCode}")
+	public String shipmentDetail(@PathVariable("shipmentId") String shipmentId, @PathVariable("shipmentCode") String shipmentCode,@PathVariable("inventoryStatus") String inventoryStatus, ModelMap mmap)
+	{
+        mmap.put("receiptId", shipmentId);
+		mmap.put("shipmentCode", shipmentCode);
+		mmap.put("inventoryStatus",inventoryStatus);
+	    return prefix + "/shipmentDetail";
+	}
+	
+	/**
+	 * 查询出库明细列表
+	 */
+	@Log(title = "出库-出库单", operating= "查看出库明细", action = BusinessType.GRANT)
+	@PostMapping("/list")
+	@ResponseBody
+	public TableDataInfo list(ShipmentDetail shipmentDetail)
+	{
+		startPage();
+		LambdaQueryWrapper<ShipmentDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
+		lambdaQueryWrapper.eq(StringUtils.isNotNull(shipmentDetail.getShipmentId()), ShipmentDetail::getShipmentId, shipmentDetail.getShipmentId());
+		List<ShipmentDetail> list = shipmentDetailService.list(lambdaQueryWrapper) ;
+		return getDataTable(list);
+	}
+	
+
+}
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/mapper/ShipmentDetailMapper.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/mapper/ShipmentDetailMapper.java
index e679c0e..dc0f350 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/mapper/ShipmentDetailMapper.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/mapper/ShipmentDetailMapper.java
@@ -2,6 +2,7 @@ package com.huaheng.pc.shipment.shipmentDetail.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -19,7 +20,14 @@ public interface ShipmentDetailMapper extends BaseMapper<ShipmentDetail> {
 
     Map<String,Integer> selectStatus(Integer id);
 
+    //获取7天内的出库量
+    List<TaskDetail> getShipmentQtyLast7Days();
     int insertDetails(@Param("shipmentDetails") List<ShipmentDetail> shipmentDetails);
 
 
+    //以仓库维度获取入库量
+    List<TaskDetail> getWarehouseShipment();
+
+    //以货主维度获取入库量
+    List<TaskDetail> getCompanyShipment();
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailService.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailService.java
index 6b3d550..2aa7f81 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailService.java
@@ -3,6 +3,7 @@ package com.huaheng.pc.shipment.shipmentDetail.service;
 import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 
 import java.util.List;
 import java.util.Map;
@@ -26,6 +27,15 @@ public interface ShipmentDetailService extends IService<ShipmentDetail>{
 
     Map<String,Integer> selectStatus(Integer id);
 
+    //获取7天内的出库量
+    List<TaskDetail> getShipmentQtyLast7Days();
+
+    //以仓库维度获取入库量
+    List<TaskDetail> getWarehouseShipment();
+
+    //以货主维度获取入库量
+    List<TaskDetail> getCompanyShipment();
+
     Boolean insertDetails(List<ShipmentDetail> shipmentDetails);
 
 
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 0d73136..838fcc7 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
@@ -23,6 +23,7 @@ import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
 import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
 import com.huaheng.pc.shipment.wave.domain.Wave;
 import com.huaheng.pc.shipment.wave.service.WaveService;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
@@ -284,6 +285,21 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
     }
 
     @Override
+    public List<TaskDetail> getShipmentQtyLast7Days() {
+        return shipmentDetailMapper.getShipmentQtyLast7Days();
+    }
+
+    @Override
+    public List<TaskDetail> getWarehouseShipment() {
+        return shipmentDetailMapper.getWarehouseShipment();
+    }
+
+    @Override
+    public List<TaskDetail> getCompanyShipment() {
+        return shipmentDetailMapper.getCompanyShipment();
+    }
+
+    @Override
     public Boolean insertDetails(List<ShipmentDetail> shipmentDetails) {
         int flag = shipmentDetailMapper.insertDetails(shipmentDetails);
         if(flag > 0){
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/AdminShipmentHeaderController.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/AdminShipmentHeaderController.java
new file mode 100644
index 0000000..d6aa3ca
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/AdminShipmentHeaderController.java
@@ -0,0 +1,83 @@
+package com.huaheng.pc.shipment.shipmentHeader.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.security.ShiroUtils;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
+import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 出库单主 信息操作处理
+ * 
+ * @author huaheng
+ * @date 2019-05-21
+ */
+@Controller
+@RequestMapping("/admin/shipmentHeader")
+public class AdminShipmentHeaderController extends BaseController
+{
+    private String prefix = "admin/shipmentHeader";
+	
+	@Autowired
+	private ShipmentHeaderService shipmentHeaderService;
+	@Autowired
+
+	
+	@GetMapping()
+	public String shipmentHeader()
+	{
+	    return prefix + "/shipmentHeader";
+	}
+	
+	/**
+	 * 查询出库单主列表
+	 */
+	@Log(title = "出库-出库单", operating="查看出库主单", action = BusinessType.GRANT)
+	@PostMapping("/list")
+	@ResponseBody
+	public TableDataInfo list(ShipmentHeader shipmentHeader, String time)
+	{
+		startPage();
+		LambdaQueryWrapper<ShipmentHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
+		lambdaQueryWrapper
+				.eq(StringUtils.isNotEmpty(shipmentHeader.getWarehouseCode()),ShipmentHeader::getWarehouseCode, shipmentHeader.getWarehouseCode())
+				.eq(ShipmentHeader::getDeleted,false)
+				.in(StringUtils.isNotEmpty(shipmentHeader.getCompanyCode()),ShipmentHeader::getCompanyCode,shipmentHeader.getCompanyCode())
+				.eq(StringUtils.isNotEmpty(shipmentHeader.getCode()),ShipmentHeader::getCode,shipmentHeader.getCode())
+				.eq(StringUtils.isNotEmpty(shipmentHeader.getShipmentType()),ShipmentHeader::getShipmentType,shipmentHeader.getShipmentType())
+				.eq(StringUtils.isNotEmpty(shipmentHeader.getReferCode()), ShipmentHeader::getReferCode, shipmentHeader.getReferCode())
+				.eq(StringUtils.isNotEmpty(shipmentHeader.getReferCodeType()), ShipmentHeader::getReferCodeType, shipmentHeader.getReferCodeType())
+				.eq(shipmentHeader.getFirstStatus()!=null, ShipmentHeader::getFirstStatus, shipmentHeader.getFirstStatus())
+				.eq(shipmentHeader.getLastStatus()!=null, ShipmentHeader::getLastStatus, shipmentHeader.getLastStatus())
+				.orderByDesc(ShipmentHeader::getId);
+		List<ShipmentHeader> list = new ArrayList<>();
+		if(StringUtils.isEmpty(time)) {
+			list=shipmentHeaderService.list(lambdaQueryWrapper);
+		}else {
+			list=shipmentHeaderService.selectListByCreated();
+		}
+		return getDataTable(list);
+	}
+
+	@PostMapping("/getShipmentHeader")
+	@ResponseBody
+	public AjaxResult<ShipmentHeader> getShipmentHeader(int id){
+		return AjaxResult.success(shipmentHeaderService.getById(id));
+	}
+}
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/mapper/ShipmentHeaderMapper.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/mapper/ShipmentHeaderMapper.java
index 5f54714..4378888 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/mapper/ShipmentHeaderMapper.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/mapper/ShipmentHeaderMapper.java
@@ -3,6 +3,8 @@ package com.huaheng.pc.shipment.shipmentHeader.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
 
+import java.util.List;
+
 public interface ShipmentHeaderMapper extends BaseMapper<ShipmentHeader> {
 
     /**
@@ -11,4 +13,6 @@ public interface ShipmentHeaderMapper extends BaseMapper<ShipmentHeader> {
      */
     String createCode(String shipmentType);
 
+    List<ShipmentHeader> selectListByCreated();
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java
index e793c9d..652684e 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java
@@ -5,6 +5,7 @@ import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.lang.reflect.InvocationTargetException;
+import java.util.List;
 
 public interface ShipmentHeaderService extends IService<ShipmentHeader>{
 
@@ -22,4 +23,7 @@ public interface ShipmentHeaderService extends IService<ShipmentHeader>{
     //审核出库单
     AjaxResult review(String ids);
 
+    List<ShipmentHeader> selectListByCreated();
+
+
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java
index 9751efe..650912c 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java
@@ -223,4 +223,9 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
         }
         return AjaxResult.success("订单审核成功,成功加入订单池");
     }
+
+    @Override
+    public List<ShipmentHeader> selectListByCreated() {
+        return shipmentHeaderMapper.selectListByCreated();
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/system/user/controller/HomeController.java b/src/main/java/com/huaheng/pc/system/user/controller/HomeController.java
new file mode 100644
index 0000000..fb987eb
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/system/user/controller/HomeController.java
@@ -0,0 +1,252 @@
+package com.huaheng.pc.system.user.controller;
+
+import com.huaheng.framework.config.HuaHengConfig;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.pc.config.company.domain.Company;
+import com.huaheng.pc.config.company.service.CompanyService;
+import com.huaheng.pc.config.location.service.LocationService;
+import com.huaheng.pc.config.warehouse.domain.Warehouse;
+import com.huaheng.pc.config.warehouse.service.WarehouseService;
+import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
+import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
+import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
+import com.huaheng.pc.report.excelReport.mapper.ExcelReportMapper;
+import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
+import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService;
+import com.huaheng.pc.system.menu.domain.Menu;
+import com.huaheng.pc.system.menu.service.IMenuService;
+import com.huaheng.pc.system.user.domain.User;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+@Controller
+@RequestMapping("/admin")
+public class HomeController extends BaseController {
+    @Autowired
+    private IMenuService menuService;
+    @Autowired
+    private HuaHengConfig huahengConfig;
+    @Resource
+    ExcelReportMapper mapper;
+
+    @Autowired
+    private ReceiptDetailService receiptDetailService;
+    @Autowired
+    private ShipmentDetailService shipmentDetailService;
+    @Autowired
+    private LocationService locationService;
+    @Autowired
+    private InventoryDetailService InventoryDetailService;
+    @Autowired
+    private WarehouseService warehouseService;
+    @Autowired
+    private CompanyService companyService;
+
+
+
+    private String prefix = "admin";
+
+    //6个显示后台
+    @GetMapping("home/getCommonData")
+    @ResponseBody
+    public AjaxResult getCommonData(){
+//        String condition = " and warehouseId = " + ShiroUtils.getWarehouseId();
+        String bllCount = "SELECT ifnull(sum(t.a),0) 'total' from (\n" +
+                "SELECT COUNT(*) 'a' FROM receipt_header WHERE DATEDIFF(NOW(), created)=0 "  +
+                " UNION \n" +
+                "SELECT COUNT(*) 'a' FROM shipment_header WHERE DATEDIFF(NOW(), created)=0 " +
+                ") t";
+        String receiptTotal = "SELECT ifnull(sum(t.qty),0) 'total' from task_detail t\n" +
+                "inner join receipt_header r on t.billCode=r.code and\n" +
+                "t.status>100 and DATEDIFF(NOW(), t.lastUpdated)=0;";
+        String shipmentTotal = "SELECT ifnull(sum(t.qty),0) 'total' from task_detail t\n" +
+                "inner join shipment_header s on t.billCode=s.code and\n" +
+                "t.status>100 and DATEDIFF(NOW(), t.lastUpdated)=0;";
+        String inventoryTotal = "SELECT IFNULL(SUM(qty),0) 'total' from inventory_detail where 1=1 " ;
+        String materialCount = "SELECT count(DISTINCT materialCode) 'total' from inventory_detail WHERE 1=1";
+        String taskUncompletedTotal = "SELECT COUNT(*) 'total' from task_header WHERE status < 100 " ;
+
+        Map<String, Object> map = new HashMap<>();
+        List<LinkedHashMap<String, Object>> temp1 = mapper.selectCommon(bllCount);
+        map.put("bllCount",temp1.get(0).entrySet().iterator().next().getValue());
+
+        List<LinkedHashMap<String, Object>> temp2 = mapper.selectCommon(receiptTotal);
+        map.put("receiptTotal",temp2.get(0).entrySet().stream().findFirst().get().getValue());
+
+        List<LinkedHashMap<String, Object>> temp3 = mapper.selectCommon(shipmentTotal);
+        map.put("shipmentTotal",temp3.get(0).entrySet().stream().findFirst().get().getValue());
+
+        List<LinkedHashMap<String, Object>> temp4 = mapper.selectCommon(inventoryTotal);
+        map.put("inventoryTotal",temp4.get(0).entrySet().stream().findFirst().get().getValue());
+
+        List<LinkedHashMap<String, Object>> temp5 = mapper.selectCommon(materialCount);
+        map.put("materialCount",temp5.get(0).entrySet().stream().findFirst().get().getValue());
+
+        List<LinkedHashMap<String, Object>> temp6 = mapper.selectCommon(taskUncompletedTotal);
+        map.put("taskUncompletedTotal",temp6.get(0).entrySet().stream().findFirst().get().getValue());
+
+        return AjaxResult.success(map);
+    }
+
+    //库龄展示
+    @GetMapping("home/getInventoryStatus")
+    @ResponseBody
+    public AjaxResult getInventoryStatus(String type){
+        List<Map<String, Object>> list=new ArrayList<>();
+        if(type.equals("1")) {
+            Warehouse warehouse=new Warehouse();
+            List<Warehouse> warehouseList=warehouseService.selectListEntityByEqual(warehouse);
+            for(Warehouse item:warehouseList) {
+                List<String> list1=new ArrayList<>();
+                Integer a=0;
+                Integer b=3;
+                String  num1 = InventoryDetailService.getWarehouseInventoryStatus(item.getCode(),a,b);
+                list1.add(num1);
+                 a=3;
+                 b=6;
+                String  num2 = InventoryDetailService.getWarehouseInventoryStatus(item.getCode(),a,b);
+                list1.add(num2);
+                 a=6;
+                 b=9;
+                String  num3 = InventoryDetailService.getWarehouseInventoryStatus(item.getCode(),a,b);
+                list1.add(num3);
+                 a=9;
+                 b=12;
+                String  num4 = InventoryDetailService.getWarehouseInventoryStatus(item.getCode(),a,b);
+                list1.add(num4);
+                 a=12;
+                String  num5 = InventoryDetailService.getWarehouseInventoryStatuss(item.getCode(),a);
+                list1.add(num5);
+               Map map=new ModelMap();
+               map.put("warehouseName",item.getName());
+               map.put("list1",list1);
+               list.add(map);
+            }
+        }else {
+            Company company=new Company();
+            List<Company> companyList=companyService.selectListEntityByEqual(company);
+            for(Company item:companyList) {
+                List<String> list1=new ArrayList<>();
+                Integer a=0;
+                Integer b=3;
+                String  num1 = InventoryDetailService.getCompanyInventoryStatus(item.getCode(),a,b);
+                list1.add(num1);
+                a=3;
+                b=6;
+                String  num2 = InventoryDetailService.getCompanyInventoryStatus(item.getCode(),a,b);
+                list1.add(num2);
+                a=6;
+                b=9;
+                String  num3 = InventoryDetailService.getCompanyInventoryStatus(item.getCode(),a,b);
+                list1.add(num3);
+                a=9;
+                b=12;
+                String  num4 = InventoryDetailService.getCompanyInventoryStatus(item.getCode(),a,b);
+                list1.add(num4);
+                a=12;
+                String  num5 = InventoryDetailService.getCompanyInventoryStatuss(item.getCode(),a);
+                list1.add(num5);
+                Map map=new ModelMap();
+                map.put("companyName",item.getName());
+                map.put("list1",list1);
+                list.add(map);
+            }
+        }
+    return AjaxResult.success(list);
+    }
+
+    //获得七天的出入库量
+    @GetMapping("home/getShipmentsLast7Days")
+    @ResponseBody
+    public AjaxResult getQtyLast7Days(String type){
+        List<TaskDetail> receiptDetails=new ArrayList<>();
+        List<TaskDetail> shipmentDetails=new ArrayList<>();
+        Map map=new ModelMap();
+        if(type.equals("1")) {
+            receiptDetails = receiptDetailService.getReceiptQtyLast7Days();
+            shipmentDetails = shipmentDetailService.getShipmentQtyLast7Days();
+        }
+        if(type.equals("2")){
+            receiptDetails =receiptDetailService.getWarehouseReceipt();
+            shipmentDetails=shipmentDetailService.getWarehouseShipment();
+        }
+        if(type.equals("3")){
+            receiptDetails =receiptDetailService.getCompanyReceipt();
+            shipmentDetails=shipmentDetailService.getCompanyShipment();
+        }
+        map.put("receiptDetails", receiptDetails);
+        map.put("shipmentDetails", shipmentDetails);
+        return AjaxResult.success(map);
+    }
+
+    //库存分布
+    @GetMapping("home/getInventoryProp")
+    @ResponseBody
+    public AjaxResult getInventoryProp(String type){
+        List<Map<String, Object>> list=new ArrayList<>();
+        if(type.equals("1")) {
+            Warehouse warehouse=new Warehouse();
+            List<Warehouse> warehouseList=warehouseService.selectListEntityByEqual(warehouse);
+            for(Warehouse item:warehouseList) {
+                List<LinkedHashMap<String, Object>>  list1 = InventoryDetailService.getWarehouseInventoryProp(item.getCode());
+                Map map=new ModelMap();
+                if(list1!=null && list1.size()>0) {
+                    map.put("warehouseName",item.getName());
+                    map.put("list1", list1);
+                    list.add(map);
+                }
+            }
+        }else {
+            Company company=new Company();
+            List<Company> companyList=companyService.selectListEntityByEqual(company);
+            for(Company item:companyList) {
+                List<LinkedHashMap<String, Object>>  list1 = InventoryDetailService.getCompanyInventoryProp(item.getCode());
+                Map map=new ModelMap();
+                if(list1!=null && list1.size()>0){
+                    map.put("companyName",item.getName());
+                    map.put("list1",list1);
+                    list.add(map);
+                }
+            }
+        }
+        return AjaxResult.success(list);
+    }
+
+    //库位利用率
+    @GetMapping("home/getLocationProp")
+    @ResponseBody
+    public AjaxResult getLocationProp(){
+        List<LinkedHashMap<String, Object>> list =locationService.getLocationProp();
+        return AjaxResult.success(list);
+    }
+
+    @GetMapping("/home")
+    public String home(ModelMap mmap)
+    {
+        // 取身份信息
+        User user = getUser();
+        // 根据用户id取出菜单
+        List<Menu> menus = menuService.selectMenusByUserId(user.getId());
+        mmap.put("menus", menus);
+        mmap.put("user", user);
+        mmap.put("copyrightYear", huahengConfig.getCopyrightYear());
+        return prefix + "/home";
+    }
+
+
+    // 系统介绍
+    @GetMapping("/main")
+    public String main(ModelMap mmap) {
+        mmap.put("version", huahengConfig.getVersion());
+        return prefix + "/main";
+    }
+}
diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/controller/AdminTaskDetailController.java b/src/main/java/com/huaheng/pc/task/taskDetail/controller/AdminTaskDetailController.java
new file mode 100644
index 0000000..60c5adc
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/task/taskDetail/controller/AdminTaskDetailController.java
@@ -0,0 +1,58 @@
+package com.huaheng.pc.task.taskDetail.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
+import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 立库任务明细 信息操作处理
+ * 
+ * @author huaheng
+ * @date 2018-08-19
+ */
+@Controller
+@RequestMapping("/admin/taskDetail")
+public class AdminTaskDetailController extends BaseController
+{
+    private String prefix = "admin/taskDetail";
+	
+	@Autowired
+	private TaskDetailService taskDetailService;
+	
+//	@RequiresPermissions("admin:task:view")
+	@GetMapping("/{taskId}")
+	public String taskDetail(@PathVariable("taskId") String taskId, ModelMap mmap)
+	{
+		mmap.put("taskId", taskId);
+		return prefix + "/taskDetail";
+	}
+	
+	/**
+	 * 查询立库任务明细列表
+	 */
+//	@RequiresPermissions("admin:task:list")
+	@Log(title = "任务-任务管理", operating = "查看立库任务明细", action = BusinessType.GRANT)
+	@PostMapping("/list")
+	@ResponseBody
+	public TableDataInfo list(TaskDetail taskDetail)
+	{
+		startPage();
+		LambdaQueryWrapper<TaskDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
+		lambdaQueryWrapper.eq(TaskDetail::getTaskId,taskDetail.getTaskId());
+		List<TaskDetail> list = taskDetailService.list(lambdaQueryWrapper) ;
+		return getDataTable(list);
+	}
+
+	
+}
diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java b/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java
index 237bf94..94e2740 100644
--- a/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java
+++ b/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java
@@ -50,6 +50,10 @@ public class TaskDetail implements Serializable {
     @ApiModelProperty(value="仓库")
     private String warehouseCode;
 
+    private String warehouseName;
+
+    private String companyName;
+
     /**
      * 货主
      */
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/controller/AdminTaskController.java b/src/main/java/com/huaheng/pc/task/taskHeader/controller/AdminTaskController.java
new file mode 100644
index 0000000..8323262
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/controller/AdminTaskController.java
@@ -0,0 +1,66 @@
+package com.huaheng.pc.task.taskHeader.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
+import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 任务 信息操作处理
+ * 
+ * @author huaheng
+ * @date 2019-05-20
+ */
+@Controller
+@RequestMapping("/admin/task")
+public class AdminTaskController extends BaseController {
+	private String prefix = "admin/task";
+
+	@Autowired
+	private TaskHeaderService taskHeaderService;
+
+//	@RequiresPermissions("task:task:view")
+	@GetMapping()
+	public String task() {
+		return prefix + "/task";
+	}
+
+
+	/**
+	 * 查询立库任务列表
+	 */
+//	@RequiresPermissions("task:task:list")
+	@Log(title = "任务-任务管理", operating = "查看立库任务列表", action = BusinessType.GRANT)
+	@PostMapping("/list")
+	@ResponseBody
+	public TableDataInfo list(TaskHeader taskHeader, Short lastStatus) {
+		startPage();
+		LambdaQueryWrapper<TaskHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
+		lambdaQueryWrapper.eq(StringUtils.isNotEmpty(taskHeader.getWarehouseCode()),TaskHeader::getWarehouseCode, taskHeader.getWarehouseCode())
+				.eq(StringUtils.isNotEmpty(taskHeader.getCompanyCode()),TaskHeader::getCompanyCode,taskHeader.getCompanyCode())
+				.eq(StringUtils.isNotEmpty(taskHeader.getContainerCode()),TaskHeader::getContainerCode,taskHeader.getContainerCode())
+				.eq(StringUtils.isNotEmpty(taskHeader.getToLocation()),TaskHeader::getToLocation,taskHeader.getToLocation());
+		List<TaskHeader> list=new ArrayList<>();
+		if(lastStatus==null) {
+			list = taskHeaderService.list(lambdaQueryWrapper);
+		}else {
+			list = taskHeaderService.getTasksStatus(lastStatus);
+		}
+		return getDataTable(list);
+	}
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java b/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java
index 60920ff..f174f7b 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java
@@ -13,4 +13,6 @@ public interface TaskHeaderMapper extends BaseMapper<TaskHeader> {
 
     Integer UncompleteCount(@Param("containerCode") String containerCode, @Param("warehouseCode") String warehouseCode);
 
+    List<TaskHeader> getTasksStatus(Short lastStatus);
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
index c246e27..b25f5b9 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
@@ -41,5 +41,5 @@ public interface TaskHeaderService extends IService<TaskHeader>{
 
     List<TaskHeader> preferenceRealize (List<TaskHeader> taskHeaderList);
 
-
+    List<TaskHeader>  getTasksStatus(Short lastStatus);
 }
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
index c6fbc53..a051ebe 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
@@ -142,6 +142,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         return taskHeaders;
     }
 
+    @Override
+    public List<TaskHeader> getTasksStatus(Short lastStatus) {
+        return taskHeaderMapper.getTasksStatus(lastStatus);
+    }
+
     /**
      * 查询容器有无任务
      */
@@ -701,7 +706,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         Location temp1 = new Location();
         temp1.setCode(sourceLocation);
         temp1.setWarehouseCode(ShiroUtils.getWarehouseCode());
-        LambdaQueryWrapper<Location> lambda1 = Wrappers.lambdaQuery();
+        LambdaQueryWrapper<Location> lambda1 = Wrappers.lambdaQuery(temp1);
         Location loc1 = locationService.getOne(lambda1);
         if (loc1 == null) {
             return AjaxResult.error("源库位:" + sourceLocation + "未找到");
@@ -745,7 +750,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         TaskHeader taskHeader = new TaskHeader();
         taskHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());
         taskHeader.setCompanyCode(ShiroUtils.getCompanyCodeList().get(0));//获取第一个货主
-        taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_CHECK);
+        taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_TRANSFER);
         taskHeader.setTaskType(QuantityConstant.TASK_TYPE_TRANSFER);
         taskHeader.setContainerCode(loc1.getContainerCode());
         taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD);
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 11995df..ccea313 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -66,4 +66,4 @@ logging:
 server:
   port: 8888
   servlet:
-    context-path: /twms/
+    context-path: /twms/
\ No newline at end of file
diff --git a/src/main/resources/application-druid.properties b/src/main/resources/application-druid.properties
index 95d3992..5a2f00b 100644
--- a/src/main/resources/application-druid.properties
+++ b/src/main/resources/application-druid.properties
@@ -46,5 +46,5 @@ logging.level.org.springframework=warn
 logging.level.spring.springboot.dao=DEBUG
 
 #\u6D4B\u8BD5\u670D\u52A1\u7AEF\u53E3\u3001\u6D4B\u8BD5\u9879\u76EEcontextPath
-server.port=8888
-server.servlet.context-path=/twms/
+server.port=
+server.servlet.context-path=
diff --git a/src/main/resources/mybatis/config/CompanyMapper.xml b/src/main/resources/mybatis/config/CompanyMapper.xml
index 2bb69a7..bf126b1 100644
--- a/src/main/resources/mybatis/config/CompanyMapper.xml
+++ b/src/main/resources/mybatis/config/CompanyMapper.xml
@@ -58,4 +58,76 @@
         where company.warehouseCode = #{warehouseCode}
   </select>
 
+  <select id="selectListEntityByEqual" resultType="com.huaheng.pc.config.company.domain.Company">
+    SELECT id, code, warehouseCode, `name`, attentionTo, address1, address2, district, city,
+    province, country, postalCode, phoneNum, mobile, email, created, createdBy, lastUpdated, lastUpdatedBy,
+    version, userDef1, userDef2, userDef3, processStamp
+    FROM company
+    <where>
+      <if test="id != null">
+        AND id = #{id}
+      </if>
+      <if test="code != null">
+        AND code = #{code}
+      </if>
+      <if test="name != null">
+        AND name = #{name}
+      </if>
+      <if test="address1 != null">
+        AND address1 = #{address1}
+      </if>
+      <if test="address2 != null">
+        AND address2 = #{address2}
+      </if>
+      <if test="city != null">
+        AND city = #{city}
+      </if>
+      <if test="province != null">
+        AND province = #{province}
+      </if>
+      <if test="country != null">
+        AND country = #{country}
+      </if>
+      <if test="postalCode != null">
+        AND postalCode = #{postalCode}
+      </if>
+      <if test="attentionTo != null">
+        AND attentionTo = #{attentionTo}
+      </if>
+      <if test="phoneNum != null">
+        AND phoneNum = #{phoneNum}
+      </if>
+      <if test="mobile != null">
+        AND mobile = #{mobile}
+      </if>
+      <if test="email != null">
+        AND email = #{email}
+      </if>
+      <if test="created != null">
+        AND created = #{created}
+      </if>
+      <if test="createdBy != null">
+        AND createdBy = #{createdBy}
+      </if>
+      <if test="lastUpdated != null">
+        AND lastUpdated = #{lastUpdated}
+      </if>
+      <if test="lastUpdatedBy != null">
+        AND lastUpdatedBy = #{lastUpdatedBy}
+      </if>
+      <if test="deleted != null">
+        AND deleted = #{deleted}
+      </if>
+      <if test="userDef1 != null">
+        AND userDef1 = #{userDef1}
+      </if>
+      <if test="userDef2 != null">
+        AND userDef2 = #{userDef2}
+      </if>
+      <if test="userDef3 != null">
+        AND userDef3 = #{userDef3}
+      </if>
+    </where>
+  </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/config/LocationMapper.xml b/src/main/resources/mybatis/config/LocationMapper.xml
index 901897f..6c8e3e4 100644
--- a/src/main/resources/mybatis/config/LocationMapper.xml
+++ b/src/main/resources/mybatis/config/LocationMapper.xml
@@ -87,4 +87,11 @@
     select  max(iRow) as iRow,max(iColumn) as iColumn,max(iLayer) as iLayer,max(iGrid) as iGrid from location l where l.warehouseCode=#{warehouseCode} AND l.locationType=#{type}
   </select>
 
+  <select id="getLocationProp"  resultType="java.util.LinkedHashMap">
+      SELECT w.name warehouseName,ifnull(convert(a.num1/(b.num2+a.num1),decimal(15,2)),0) '有货',ifnull(convert(b.num2/(b.num2+a.num1),decimal(15,2)),0) '无货'  from warehouse w
+      left join
+      (SELECT count(1) num1,warehouseCode FROM location WHERE containerCode!='' GROUP BY warehouseCode) a on a.warehouseCode=w.code
+      LEFT JOIN
+      (SELECT count(1) num2,warehouseCode FROM location WHERE containerCode ='' GROUP BY warehouseCode) b on b.warehouseCode=w.code
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/config/WarehouseMapper.xml b/src/main/resources/mybatis/config/WarehouseMapper.xml
index ed4a145..023b9bd 100644
--- a/src/main/resources/mybatis/config/WarehouseMapper.xml
+++ b/src/main/resources/mybatis/config/WarehouseMapper.xml
@@ -59,7 +59,7 @@
     code, address1, address2, city, `state`, district, country, postalCode, attentionTo, 
     phoneNum, faxNum, email, hostCode, `name`, `enable`, orgCode, created, createdBy, 
     lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, userDef5, 
-    userDef6, userDef7, userDef8, delete
+    userDef6, userDef7, userDef8, deleted
   </sql>
 
   <insert id="companyCopy">
@@ -67,6 +67,87 @@
     select #{newWarehouseCode},companyId,companyCode from warehouse_company where warehouseCode=#{warehouseCode}
   </insert>
 
+  <select id="selectListEntityByEqual" resultType="com.huaheng.pc.config.warehouse.domain.Warehouse">
+    SELECT  code, name, address1, address2, city, state, district, country, postalCode, attentionTo, phoneNum, faxNum,
+    email, hostCode,orgCode, created, createdBy, lastUpdated, lastUpdatedBy, enable, deleted, userDef1, userDef2, userDef3
+    FROM warehouse
+    <where>
+      <if test="code != null">
+        AND code = #{code}
+      </if>
+      <if test="name != null">
+        AND name = #{name}
+      </if>
+      <if test="address1 != null">
+        AND address1 = #{address1}
+      </if>
+      <if test="address2 != null">
+        AND address2 = #{address2}
+      </if>
+      <if test="city != null">
+        AND city = #{city}
+      </if>
+      <if test="state != null">
+        AND state = #{state}
+      </if>
+      <if test="district != null">
+        AND district = #{district}
+      </if>
+      <if test="country != null">
+        AND country = #{country}
+      </if>
+      <if test="postalCode != null">
+        AND postalCode = #{postalCode}
+      </if>
+      <if test="attentionTo != null">
+        AND attentionTo = #{attentionTo}
+      </if>
+      <if test="phoneNum != null">
+        AND phoneNum = #{phoneNum}
+      </if>
+      <if test="faxNum != null">
+        AND faxNum = #{faxNum}
+      </if>
+      <if test="email != null">
+        AND email = #{email}
+      </if>
+      <if test="hostCode != null">
+        AND hostCode = #{hostCode}
+      </if>
+      <if test="orgCode != null">
+        AND orgCode = #{orgCode}
+      </if>
+      <if test="created != null">
+        AND created = #{created}
+      </if>
+      <if test="createdBy != null">
+        AND createdBy = #{createdBy}
+      </if>
+      <if test="lastUpdated != null">
+        AND lastUpdated = #{lastUpdated}
+      </if>
+      <if test="lastUpdatedBy != null">
+        AND lastUpdatedBy = #{lastUpdatedBy}
+      </if>
+      <if test="enable != null">
+        AND enable = #{enable}
+      </if>
+      <if test="deleted != null">
+        AND deleted = #{deleted}
+      </if>
+      <if test="userDef1 != null">
+        AND userDef1 = #{userDef1}
+      </if>
+      <if test="userDef2 != null">
+        AND userDef2 = #{userDef2}
+      </if>
+      <if test="userDef3 != null">
+        AND userDef3 = #{userDef3}
+      </if>
+    </where>
+  </select>
+
+
   <insert id="userCopy">
     insert into sys_user_warehouse(userId,warehouseCode)
     select userId,#{newWarehouseCode} from sys_user_warehouse where warehouseCode=#{warehouseCode}
diff --git a/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml b/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml
index 13c4bc4..bb19648 100644
--- a/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml
+++ b/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml
@@ -67,4 +67,85 @@
           and companyCode = #{companyCode}
         </if>
     </select>
+
+  <select id="getWarehouseInventoryStatus"  resultType="java.lang.String">
+        SELECT
+        ifnull(
+        CONVERT (
+        ( SELECT count( 1 ) FROM inventory_detail WHERE TIMESTAMPDIFF( MONTH, created, CURDATE( ) ) >= #{a}
+        and TIMESTAMPDIFF( MONTH, created, CURDATE( ) ) &lt;#{b}
+        AND warehouseCode = #{warehouseCode} ) / ( SELECT count( 1 ) FROM inventory_detail WHERE warehouseCode = #{warehouseCode} ),
+        DECIMAL ( 15, 2 )
+        ),
+        0
+        ) scale
+        FROM
+        DUAL
+    </select>
+
+  <select id="getWarehouseInventoryStatuss"  resultType="java.lang.String">
+        SELECT
+        ifnull(
+        CONVERT (
+        ( SELECT count( 1 ) FROM inventory_detail WHERE TIMESTAMPDIFF( MONTH, created, CURDATE( ) ) >= #{a} AND warehouseCode = #{warehouseCode} ) / ( SELECT count( 1 ) FROM inventory_detail WHERE warehouseCode = #{warehouseCode} ),
+        DECIMAL ( 15, 2 )
+        ),
+        0
+        ) scale
+        FROM
+        DUAL
+    </select>
+
+    <select id="getCompanyInventoryStatus"  resultType="java.lang.String">
+       SELECT
+        ifnull(
+        CONVERT (
+        ( SELECT count( 1 ) FROM inventory_detail WHERE TIMESTAMPDIFF( MONTH, created, CURDATE( ) ) >= #{a}
+        and TIMESTAMPDIFF( MONTH, created, CURDATE( ) ) &lt;#{b}
+        AND companyCode = #{companyCode} ) / ( SELECT count( 1 ) FROM inventory_detail WHERE companyCode = #{companyCode} ),
+        DECIMAL ( 15, 2 )
+        ),
+        0
+        ) scale
+        FROM
+        DUAL
+    </select>
+
+    <select id="getCompanyInventoryStatuss"  resultType="java.lang.String">
+       SELECT
+        ifnull(
+        CONVERT (
+        ( SELECT count( 1 ) FROM inventory_detail WHERE TIMESTAMPDIFF( MONTH, created, CURDATE( ) ) >= #{a}
+        AND companyCode = #{companyCode} ) / ( SELECT count( 1 ) FROM inventory_detail WHERE companyCode = #{companyCode} ),
+        DECIMAL ( 15, 2 )
+        ),
+        0
+        ) scale
+        FROM
+        DUAL
+    </select>
+
+    <select id="getWarehouseInventoryProp"  resultType="java.util.LinkedHashMap">
+--     SELECT w.name,a.name,ifnull(a.total,0) total from warehouse w
+--     left join
+--     (SELECT m.name name,sum(i.qty) total,i.warehouseCode warehouseCode from inventory i
+--     inner join material m on i.materialCode = m.`code` and i.warehouseId = m.warehouseId
+--     GROUP BY m.name,i.warehouseCode) a on w.code=a.warehouseCode ORDER BY total desc
+      SELECT m.name name,sum(i.qty) total from inventory_detail i
+      inner join material m on i.materialCode = m.`code` and i.warehouseCode = m.warehouseCode and i.warehouseCode=#{warehouseCode}
+      GROUP BY m.code ORDER BY total desc limit 10
+    </select>
+
+    <select id="getCompanyInventoryProp"  resultType="java.util.LinkedHashMap">
+--     SELECT c.name,a.name,ifnull(a.total,0) total from company c
+--       left join
+--       (SELECT m.name name,sum(i.qty) total,i.companyId companyId from inventory i
+--       inner join material m on i.materialCode = m.`code` and i.companyId = m.companyId
+--       GROUP BY m.name,i.companyId) a on c.id=a.companyId ORDER BY total desc
+      SELECT m.name name,sum(i.qty) total from inventory_detail i
+      inner join material m on i.materialCode = m.`code` and i.companyCode = m.companyCode and i.companyCode=#{companyCode}
+      GROUP BY m.code  ORDER BY total desc limit 10
+    </select>
+
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/receipt/ReceiptDetailMapper.xml b/src/main/resources/mybatis/receipt/ReceiptDetailMapper.xml
new file mode 100644
index 0000000..d1838d8
--- /dev/null
+++ b/src/main/resources/mybatis/receipt/ReceiptDetailMapper.xml
@@ -0,0 +1,117 @@
+<?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.huaheng.pc.receipt.receiptDetail.mapper.ReceiptDetailMapper">
+  <resultMap id="BaseResultMap" type="com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail">
+    <!--@mbg.generated-->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="receiptId" jdbcType="INTEGER" property="receiptId" />
+    <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
+    <result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
+    <result column="receiptCode" jdbcType="VARCHAR" property="receiptCode" />
+    <result column="materialCode" jdbcType="VARCHAR" property="materialCode" />
+    <result column="materialName" jdbcType="VARCHAR" property="materialName" />
+    <result column="materialSpec" jdbcType="VARCHAR" property="materialSpec" />
+    <result column="materialUnit" jdbcType="VARCHAR" property="materialUnit" />
+    <result column="supplierCode" jdbcType="VARCHAR" property="supplierCode" />
+    <result column="batch" jdbcType="VARCHAR" property="batch" />
+    <result column="lot" jdbcType="VARCHAR" property="lot" />
+    <result column="qcCheck" jdbcType="VARCHAR" property="qcCheck" />
+    <result column="projectNo" jdbcType="VARCHAR" property="projectNo" />
+    <result column="manufactureDate" jdbcType="TIMESTAMP" property="manufactureDate" />
+    <result column="expirationDate" jdbcType="TIMESTAMP" property="expirationDate" />
+    <result column="agingDate" jdbcType="TIMESTAMP" property="agingDate" />
+    <result column="attributeTemplateCode" jdbcType="VARCHAR" property="attributeTemplateCode" />
+    <result column="attribute1" jdbcType="VARCHAR" property="attribute1" />
+    <result column="attribute2" jdbcType="VARCHAR" property="attribute2" />
+    <result column="attribute3" jdbcType="VARCHAR" property="attribute3" />
+    <result column="attribute4" jdbcType="VARCHAR" property="attribute4" />
+    <result column="totalQty" jdbcType="DECIMAL" property="totalQty" />
+    <result column="openQty" jdbcType="DECIMAL" property="openQty" />
+    <result column="referCode" jdbcType="VARCHAR" property="referCode" />
+    <result column="referId" jdbcType="INTEGER" property="referId" />
+    <result column="referLineNum" jdbcType="VARCHAR" property="referLineNum" />
+    <result column="locatingRule" jdbcType="VARCHAR" property="locatingRule" />
+    <result column="inventorySts" jdbcType="VARCHAR" property="inventorySts" />
+    <result column="itemListPrice" jdbcType="DECIMAL" property="itemListPrice" />
+    <result column="itemNetPrice" jdbcType="DECIMAL" property="itemNetPrice" />
+    <result column="isVirtualBom" jdbcType="INTEGER" property="isVirtualBom" />
+    <result column="created" jdbcType="TIMESTAMP" property="created" />
+    <result column="createdBy" jdbcType="VARCHAR" property="createdBy" />
+    <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" />
+    <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" />
+    <result column="version" jdbcType="INTEGER" property="version" />
+    <result column="userDef1" jdbcType="VARCHAR" property="userDef1" />
+    <result column="userDef2" jdbcType="VARCHAR" property="userDef2" />
+    <result column="userDef3" jdbcType="VARCHAR" property="userDef3" />
+    <result column="userDef4" jdbcType="VARCHAR" property="userDef4" />
+    <result column="userDef5" jdbcType="VARCHAR" property="userDef5" />
+    <result column="userDef6" jdbcType="VARCHAR" property="userDef6" />
+    <result column="userDef7" jdbcType="VARCHAR" property="userDef7" />
+    <result column="userDef8" jdbcType="VARCHAR" property="userDef8" />
+    <result column="processStamp" jdbcType="VARCHAR" property="processStamp" />
+    <result column="deleted" jdbcType="BIT" property="deleted" />
+    <result column="statusFlowCode" jdbcType="VARCHAR" property="statusFlowCode" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, receiptId,warehouseCode, companyCode, receiptCode, materialCode, materialName, materialSpec, materialUnit,
+    supplierCode, batch, lot, qcCheck, projectNo, manufactureDate, expirationDate, agingDate,
+    attributeTemplateCode, attribute1, attribute2, attribute3, attribute4, totalQty,
+    openQty, referCode, referId, referLineNum,locatingRule,inventorySts,itemListPrice,
+    itemNetPrice, isVirtualBom, created, createdBy, lastUpdated, lastUpdatedBy,
+    version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, 
+    processStamp, deleted,statusFlowCode
+  </sql>
+
+  <select id="getReceiptQtyLast7Days" resultType="com.huaheng.pc.task.taskDetail.domain.TaskDetail">
+SELECT
+	a.click_date AS lastUpdated,
+	ifnull( b.taskQty, 0 ) AS qty
+FROM
+	(
+	SELECT
+		curdate( ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 1 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 2 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 3 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 4 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 5 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 6 DAY ) AS click_date
+	) a
+	LEFT JOIN (
+	SELECT
+		DATE( r.lastUpdated ) AS date,
+		SUM( r.qty ) AS taskQty
+	FROM
+		task_detail r
+	WHERE
+	    r.taskType = 100 and
+		r.lastUpdated >= DATE_SUB( CURDATE( ), INTERVAL 7 DAY )
+		AND r.status>90
+	GROUP BY
+		DATE(r.lastUpdated )
+	) b ON a.click_date = b.date
+ORDER BY
+	a.click_date;
+    </select>
+
+  <select id="getWarehouseReceipt" resultType="com.huaheng.pc.task.taskDetail.domain.TaskDetail">
+    SELECT ifnull(sum(r.qty),0) as qty,w.name as warehouseName  from warehouse w
+    left JOIN task_detail r on r.warehouseCode=w.code and r.status>90 and r.taskType =100
+    and date(r.lastUpdated)=CURDATE()  group by w.code
+
+    </select>
+
+
+  <select id="getCompanyReceipt" resultType="com.huaheng.pc.task.taskDetail.domain.TaskDetail">
+    SELECT ifnull(sum(r.qty),0) as qty,c.name as companyName  from company c
+    left JOIN task_detail r on r.companyCode=c.code and r.status>90 and r.taskType =100
+    and date(r.lastUpdated)=CURDATE()  group by c.code
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/receipt/ReceiptHeaderMapper.xml b/src/main/resources/mybatis/receipt/ReceiptHeaderMapper.xml
index 7fdfbd5..cce1f97 100644
--- a/src/main/resources/mybatis/receipt/ReceiptHeaderMapper.xml
+++ b/src/main/resources/mybatis/receipt/ReceiptHeaderMapper.xml
@@ -53,4 +53,10 @@
     version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, 
     processStamp, deleted
   </sql>
+
+  <select id="selectListByCreated" resultType="com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader">
+      SELECT r.*  from receipt_header r
+      inner join task_detail t on t.billCode=r.code and
+      t.status>700 and DATEDIFF(NOW(), t.lastUpdated)=0 GROUP BY r.code
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml b/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml
index 801e728..be9b17d 100644
--- a/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml
+++ b/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml
@@ -86,6 +86,58 @@
        WHERE shipmentId=#{id}
     </select>
 
+  <select id="getShipmentQtyLast7Days" resultType="com.huaheng.pc.task.taskDetail.domain.TaskDetail">
+SELECT
+	a.click_date AS lastUpdated,
+	ifnull( b.taskQty, 0 ) AS qty
+FROM
+	(
+	SELECT
+		curdate( ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 1 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 2 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 3 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 4 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 5 DAY ) AS click_date UNION ALL
+	SELECT
+		date_sub( curdate( ), INTERVAL 6 DAY ) AS click_date
+	) a
+	LEFT JOIN (
+	SELECT
+		DATE( r.lastUpdated ) AS date,
+		SUM( r.qty ) AS taskQty
+	FROM
+		task_detail r
+	WHERE
+	    r.taskType = 200 and
+		r.lastUpdated >= DATE_SUB( CURDATE( ), INTERVAL 7 DAY )
+		AND r.status> 90
+	GROUP BY
+		DATE(r.lastUpdated )
+	) b ON a.click_date = b.date
+ORDER BY
+	a.click_date;
+    </select>
+
+
+  <select id="getWarehouseShipment" resultType="com.huaheng.pc.task.taskDetail.domain.TaskDetail">
+    SELECT ifnull(sum(r.qty),0) as qty,w.name as warehouseName  from warehouse w
+    left JOIN task_detail r on r.warehouseCode=w.code and r.status>90 and r.taskType =200
+    and date(r.lastUpdated)=CURDATE()  group by w.code
+    </select>
+
+
+  <select id="getCompanyShipment" resultType="com.huaheng.pc.task.taskDetail.domain.TaskDetail">
+    SELECT ifnull(sum(r.qty),0) as qty,c.name as companyName  from company c
+    left JOIN task_detail r on r.companyCode=c.code and r.status>90 and r.taskType =200
+    and date(r.lastUpdated)=CURDATE()  group by c.code
+    </select>
+
   <insert id="insertDetails">
     insert into shipment_detail(
     shipmentId, warehouseCode, companyCode, shipmentCode, referCode, referId, referLineNum,
diff --git a/src/main/resources/mybatis/shipment/ShipmentHeaderMapper.xml b/src/main/resources/mybatis/shipment/ShipmentHeaderMapper.xml
index 51a802d..08f317b 100644
--- a/src/main/resources/mybatis/shipment/ShipmentHeaderMapper.xml
+++ b/src/main/resources/mybatis/shipment/ShipmentHeaderMapper.xml
@@ -70,4 +70,9 @@
         SELECT code FROM shipment_header WHERE shipmentType = #{shipmentType,jdbcType=VARCHAR} ORDER BY id DESC LIMIT 1
     </select>
 
+  <select id="selectListByCreated" resultType="com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader">
+    SELECT  s.* from shipment_header s
+    inner join task_detail t on t.billCode=s.code and
+    t.status>700 and DATEDIFF(NOW(), t.lastUpdated)=0 GROUP BY s.code
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/task/TaskHeaderMapper.xml b/src/main/resources/mybatis/task/TaskHeaderMapper.xml
index b175607..a71b78a 100644
--- a/src/main/resources/mybatis/task/TaskHeaderMapper.xml
+++ b/src/main/resources/mybatis/task/TaskHeaderMapper.xml
@@ -58,7 +58,11 @@
         SELECT COUNT(*) AS count FROM task_header WHERE status &lt; 10 AND containerCode = #{containerCode} AND warehouseCode=#{warehouseCode}
     </select>
 
-
+    <select id="getTasksStatus" resultType="com.huaheng.pc.task.taskHeader.domain.TaskHeader">
+    select *
+     FROM task
+     where lastStatus &lt; 100
+    </select>
 
 
     <sql id="Base_Column_List">
diff --git a/src/main/resources/templates/admin/inventory/inventory.html b/src/main/resources/templates/admin/inventory/inventory.html
index 0f02fc7..1ed1197 100644
--- a/src/main/resources/templates/admin/inventory/inventory.html
+++ b/src/main/resources/templates/admin/inventory/inventory.html
@@ -9,61 +9,59 @@
 				<form id="inventory-form">
 					<div class="select-list">
 						<ul>
-                            <li>
-                                库位编号:<input type="text" name="locationCode"/>
-                            </li>
 							<li>
-								容器编号:<input type="text" name="containerCode"/>
+								库存头ID:<input id="inventoryHeaderId" type="text" name="inventoryHeaderId"/>
 							</li>
 							<li>
-								仓库编码:<input type="text" name="warehouseCode"/>
+								库位编号:<input id="locationCode" type="text" name="locationCode"/>
 							</li>
 							<li>
-								u8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouse.selectList()}">
-								<option value="">所有</option>
-								<option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select>
+								容器编号:<input id="containerCode" type="text" name="containerCode"/>
 							</li>
-                            <li>
-                                储货库区:<input type="text" name="zoneCode"/>
-                            </li>
 							<li>
-								存货编码:<input type="text" name="materialCode"/>
+								物料编码:<input type="text" name="materialCode"/>
 							</li>
-                            <li>
-                                存货代码:<input type="text" name="materialOldCode"/>
-                            </li>
 							<li>
 								物料名称:<input type="text" name="materialName"/>
 							</li>
-                            <li>
-                                库存状态:
-                                <select name="status" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">
-                                    <option value="">所有</option>
-                                    <option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
-                                </select>
-                            </li>
-							<li class="time" style="height:30px">
-								<label>创建时间: </label>
-								<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
-								<span>-</span>
-								<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+							<li>
+								物料规格:<input type="text" name="materialSpec"/>
 							</li>
-							<!--<li>
-								物料类型:
-								<select name="materialType" th:with="type=${@dict.getType('materialType')}">
+							<li>
+								库存状态:
+								<select name="inventorySts" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">
 									<option value="">所有</option>
-									<option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
+									<option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}"
+											th:value="${e['dictValue']}"></option>
 								</select>
-							</li>-->
+							</li>
 							<li>
 								供应商编码:<input type="text" name="supplierCode"/>
 							</li>
+							<li>
+								货主编码:<input type="text" name="companyCode"/>
+							</li>
+							<li>
+								上游单号:<input type="text" name="referCode"/>
+							</li>
+							<li>
+								上游行号:<input type="text" name="referDetailId"/>
+							</li>
+							<li>
+								入库编码:<input type="text" name="receiptCode"/>
+							</li>
+							<li>
+								入库明细ID:<input type="text" name="receiptDetailId"/>
+							</li>
 
 							<li>
-								项 目 号:<input type="text" name="project"/>
+								项 目 号:<input type="text" name="projectNo"/>
 							</li>
 							<li>
-								物料规格:<input type="text" name="materialSpec"/>
+								批&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;次:<input type="text" name="batch"/>
+							</li>
+							<li>
+								批&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:<input type="text" name="lot"/>
 							</li>
 							<li>
 								<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
@@ -98,189 +96,190 @@
                 columns: [{
 		            checkbox: true
 		        },
-				{
-					field : 'id', 
-					title : '库存ID',
-                    sortable:true
-				},
-				/*{
-					field : 'locationId',
-					title : '库位Id' ,
-					visible:false
-				},*/
-				{
-					field : 'locationCode',
-					title : '库位编号'
-				},
-                {
-                    field : 'containerCode',
-                    title : '容器编号'
-                },
-                {
-                    field : 'zoneCode',
-                    title : '储货库区' ,
-                },
-                {
-                    field : 'materialCode',
-                    title : '存货编码'
-                },
-                {
-                    field : 'materialOldCode',
-                    title : '存货代码'
-                },
-                {
-                    field : 'materialName',
-                    title : '物料名称'
-                },
-                {
-                    field : 'materialSpec',
-                    title : '物料规格'
-                },
-                {
-                    field : 'qty',
-                    title : '数量'
-                },
-                {
-                    field : 'taskQty',
-                    title : '预定执行数量'
-                },
-					// {
-					// 	field : 'zoneCode',
-					// 	title : '物料库区',
-					// 	visible:true
-					// },
-				{
-					field : 'sourceCode', 
-					title : '上游系统单号',
-                    visible:true
-				},
-				{
-					field : 'uWarehouseCode',
-					title : 'u8仓库',
-					visible:true
-				},
-				{
-					field : 'sourceLine', 
-					title : '上游系统行号',
-					visible:true
-				},
-				/*{
-					field : 'companyId',
-					title : '货主Id',
-                    visible:false
-				},*/
-				{
-					field : 'companyCode', 
-					title : '货主编码'
-				},
+					{
+						field: 'id',
+						title: '明细ID',
+						sortable: true
+					},
+					{
+						field: 'inventoryHeaderId',
+						title: '库存头ID'
+					},
+					{
+						field: 'locationCode',
+						title: '库位编号'
+					},
+					{
+						field: 'containerCode',
+						title: '容器编号'
+					},
+
+					{
+						field: 'materialCode',
+						title: '存货编码'
+					},
 
-				{
-					field : 'receiptId',
-					title : '入库单标识' ,
-                    visible:false
-				},
-				{
-					field : 'receiptCode', 
-					title : '入库单编码' 
-				},
-				{
-					field : 'receiptDetailId',
-					title : '入库单明细标识'  ,
-                    visible:false
-				},
-				{
-					field : 'batch', 
-					title : '批次' ,
-                    sortable:false,
-                    visible:false
-				},
-				{
-					field : 'lot', 
-					title : '批号' ,
-                    sortable:false,
-                    visible:false
-				},
-				{
-					field : 'project', 
-					title : '项目号' ,
-                    sortable:true
-				},
-                    {
-                        field : 'supplierCode',
-                        title : '供应商编码',
-                        visible:true
-                    },
-				{
-					field : 'manufactureDate', 
-					title : '生产日期' ,
-                    sortable:true ,
-                    visible:false
-				},
-				{
-					field : 'expirationDate', 
-					title : '失效日期' ,
-                    sortable:true ,
-                    visible:false
-				},
-				{
-					field : 'status', 
-					title : '库存状态' ,
-                    align: 'center',
-                    formatter: function(value, row, index) {
-                        return $.table.selectDictLabel(inventoryStatus, value);
-                    }
-				},
+					{
+						field: 'materialName',
+						title: '物料名称'
+					},
+					{
+						field: 'materialSpec',
+						title: '物料规格'
+					},
+					{
+						field: 'materialUnit',
+						title: '物料单位'
+					},
+					{
+						field: 'qty',
+						title: '库存数量'
+					},
+					{
+						field: 'inventorySts',
+						title: '库存状态',
+						align: 'center',
+						formatter: function (value, row, index) {
+							return $.table.selectDictLabel(inventoryStatus, value);
+						}
+					},
+					{
+						field: 'taskQty',
+						title: '预定执行数量'
+					},
+					{
+						field: 'lockedQty',
+						title: '冻结数量'
+					},
+					{
+						field: 'companyCode',
+						title: '货主编码'
+					},
+					{
+						field: 'receiptCode',
+						title: '入库单编码'
+					},
+					{
+						field: 'receiptDetailId',
+						title: '入库单明细ID',
+						visible: true
+					},
+					{
+						field: 'batch',
+						title: '批次',
+						sortable: false,
+						visible: false
+					},
+					{
+						field: 'lot',
+						title: '批号',
+						sortable: false,
+						visible: false
+					},
+					{
+						field: 'projectNo',
+						title: '项目号',
+						sortable: true
+					},
+					{
+						field: 'supplierCode',
+						title: '供应商编码',
+						visible: true
+					},
+					{
+						field: 'manufactureDate',
+						title: '生产日期',
+						sortable: true,
+						visible: false
+					},
+					{
+						field: 'expirationDate',
+						title: '失效日期',
+						sortable: true,
+						visible: false
+					},
 
-				{
-					field : 'costPrice', 
-					title : '成本' ,
-                    visible:false
-				},
-				{
-					field : 'listPrice', 
-					title : '标价' ,
-                    visible:false
-				},
-				{
-					field : 'netPrice', 
-					title : '净价' ,
-                    visible:false
-				},
-				{
-					field : 'created', 
-					title : '入库时间',
-                    sortable:true
-				},
-				{
-					field : 'createdBy', 
-					title : '创建用户' ,
-                    visible:false
-				},
-				{
-					field : 'lastUpdated', 
-					title : '最后修改时间',
-                    sortable:true
-				},
-				{
-					field : 'lastUpdatedBy', 
-					title : '更新用户' 
-				},
-				{
-					field : 'userDef1', 
-					title : '自定义字段1' ,
-                    visible:false
-				},
-				{
-					field : 'userDef2', 
-					title : '自定义字段2' ,
-                    visible:false
-				},
-				{
-					field : 'userDef3', 
-					title : '自定义字段3' ,
-                    visible:false
-				}
-		        ]
+					{
+						field: 'referCode',
+						title: '上游单号'
+					},
+					{
+						field: 'referDetailId',
+						title: '上游单号行号'
+					},
+					{
+						field: 'qcCheck',
+						title: '质检'
+					},
+					{
+						field: 'weight',
+						title: '重量'
+					},
+					{
+						field: 'attributeId',
+						title: '属性号',
+						visible: false
+					},
+					{
+						field: 'attribute1',
+						title: '属性1',
+						visible: false
+					},
+					{
+						field: 'attribute2',
+						title: '属性2',
+						visible: false
+					},
+					{
+						field: 'attribute3',
+						title: '属性3',
+						visible: false
+					},
+					{
+						field: 'lockCode',
+						title: '锁',
+					},
+					{
+						field: 'lastCycleCountDate',
+						title: '上次盘点日期',
+						visible: false,
+						sortable: true
+					},
+					{
+						field: 'created',
+						title: '入库日期',
+						sortable: true
+					},
+					{
+						field: 'createdBy',
+						title: '创建用户',
+						visible: false
+					},
+					{
+						field: 'lastUpdated',
+						title: '最后修改时间',
+						sortable: true
+					},
+					{
+						field: 'lastUpdatedBy',
+						title: '更新用户'
+					},
+					{
+						field: 'userDef1',
+						title: '自定义字段1',
+						visible: false
+					},
+					{
+						field: 'userDef2',
+						title: '自定义字段2',
+						visible: false
+					},
+					{
+						field: 'userDef3',
+						title: '自定义字段3',
+						visible: false
+					}
+				]
             };
             $.table.init(options);
         });
diff --git a/src/main/resources/templates/admin/main.html b/src/main/resources/templates/admin/main.html
index f1ae4da..6af7c2d 100644
--- a/src/main/resources/templates/admin/main.html
+++ b/src/main/resources/templates/admin/main.html
@@ -59,7 +59,7 @@
                  <p>库内物料品数</p>
               </div>
         </div>
-        <div class="col-sm-2" style="padding:5px;" onclick="createMenuItem('/twms/admin/task?id=40','任务查看')">
+        <div class="col-sm-2" style="padding:5px;" onclick="createMenuItem('/twms/admin/task?id=100','任务查看')">
               <div class="total_box ys06">
                  <h1 id="s6">-</h1>
                  <p>待执行任务数</p>
diff --git a/src/main/resources/templates/admin/receiptHeader/receiptHeader.html b/src/main/resources/templates/admin/receiptHeader/receiptHeader.html
index 544377b..c2978d4 100644
--- a/src/main/resources/templates/admin/receiptHeader/receiptHeader.html
+++ b/src/main/resources/templates/admin/receiptHeader/receiptHeader.html
@@ -33,45 +33,23 @@
 										入库单号:<input type="text" name="code"/>
 									</li>
 									<li>
-										仓库:<input type="text" name="warehouseCode"/>
-									</li>
-									<li>
-										<!--入库类型:<input type="text" name="sourceCode"/>-->
-										入库类型:<select name="type" th:with="type=${@dict.getType('receiptType')}">
-										<option value="">所有</option>
-										<option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select>
+										上游单号:<input type="text" name="referCode"/>
 									</li>
 									<li>
-										供 应 商:<input type="text" name="supplierCode"/>
+										仓库:<input type="text" name="warehouseCode"/>
 									</li>
 									<li>
-										<!--头 状 态:<input type="text" name="firstStatus"/>-->
-										头 状 态:<select name="firstStatus" th:with="firstStatus=${@dict.getType('receiptHeaderStatus')}">
-										<option value="">所有</option>
-										<option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select>
-									</li>
+										货主:<select id="companyCode" name="companyCode" th:with="list=${@companyService.getCode()}">
+										<option th:each="item : ${list}" th:text="${item['name']}" th:value="${item['code']}" th:attr = " code = ${item['code']}"></option>
+									</select>
 									<li>
-										<!--尾 状 态:<input type="text" name="lastStatus"/>-->
-										尾 状 态:<select name="lastStatus" th:with="lastStatus=${@dict.getType('receiptHeaderStatus')}">
+										<!--入库类型:<input type="text" name="sourceCode"/>-->
+										入库类型:<select name="type" th:with="type=${@receiptTypeService.getType()}">
 										<option value="">所有</option>
-										<option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select>
-									</li>
-									<li>
-										上游单号:<input type="text" name="sourceCode"/>
+										<option th:each="e : ${type}" th:text="${e['name']}" th:value="${e['code']}"></option></select>
 									</li>
 									<li>
-										上游平台:<input type="text" name="sourcePlatform"/>
-									</li>
-									<li class="time">
-										<label>创建时间: </label>
-										<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
-										<span>-</span>
-										<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
-									</li>
-									<li>
-										u8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouse.selectList()}">
-										<option value="">所有</option>
-										<option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select>
+										供 应 商:<input type="text" name="supplierCode"/>
 									</li>
 									<li>
 										<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
@@ -106,8 +84,7 @@
                                                 <input type="text" name="receiptCompanyCode" id="receiptCompanyCode">
                                                 <input type="hidden" name="receiptCompanyId" id="receiptCompanyId">
                                             </li>
-											<li>上游系统单号:<input type="text" name="receiptSourceCode" id="receiptSourceCode"></li>
-											<li>上游平台:<input type="text" name="receiptSourcePlatform" id="receiptSourcePlatform"></li>
+											<li>上游系统单号:<input type="text" name="receiptReferCode" id="receiptReferCode"></li>
 											<li>入库单类型:<input type="text" name="receiptType" id = "receiptType"></li>
 											<li>总数量:<input type="text" name="receiptTotalQty" id="receiptTotalQty"></li>
 											<li>总行数:<input type="text" name="receiptTotalLines" id="receiptTotalLines"></li>
@@ -136,7 +113,7 @@
 								<div class="tab-pane fade" id="tabOther">
 									<div class="select-list">
 										<ul>
-											<li>备注:<input type="text" name="receiptRemark" id="receiptRemark"></li>
+											<li>备注:<input type="text" name="receiptNote" id="receiptNote"></li>
 											<li>扩展属性1:<input type="text" name="receiptUserDef1" id="receiptUserDef1"></li>
 											<li>扩展属性2:<input type="text" name="receiptUserDef2" id="receiptUserDef2"></li>
 											<li>扩展属性3:<input type="text" name="receiptUserDef3" id="receiptUserDef3"></li>
@@ -177,7 +154,7 @@
         var prefix = ctx + "admin/receiptHeader";
         var detailPrefix = ctx + "admin/receiptDetail";
         var datas = [[${@dict.getType('sys_normal_disable')}]];
-        var receiptTypes = [[${@dict.getType('receiptType')}]];
+        var receiptTypes = [[${@receiptTypeService.getType()}]];
         var receiptHeaderStatus = [[${@dict.getType('receiptHeaderStatus')}]];
         var uploadStatus = [[${@dict.getType('uploadStatus')}]];
         var inventoryStatus = [[${@dict.getType('inventoryStatus')}]];
@@ -226,11 +203,6 @@
 					field : 'warehouseCode',
 					title : '仓库',
 				},
-				{
-					field : 'uWarehouseCode',
-					title : 'U8仓库',
-					sortable:true
-				},
                 {
                     field : 'companyId',
                     title : '货主ID',
@@ -250,16 +222,11 @@
                     }
                 },
                 {
-                    field : 'sourceCode',
+                    field : 'referCode',
                     title : '上游单号',
                     sortable:true
                 },
                 {
-                    field : 'sourcePlatform',
-                    title : '上游平台',
-                    visible:false
-                },
-                {
                     field : 'supplierId',
                     title : '供应商id',
                     visible:false
@@ -297,18 +264,6 @@
                     visible:false
                 },
                 {
-                    field : 'uploadTime',
-                    title : '上传时间',
-                    visible:false,
-                    sortable:true
-                },
-                {
-                    field : 'appointmentTime',
-                    title : '入库预约时间',
-                    visible:false,
-                    sortable:true
-                },
-                {
                     field : 'firstStatus',
                     title : '头状态',
                     align: 'center',
@@ -343,14 +298,6 @@
                     title : '更新用户'
                 },
                 {
-                    field : 'enable',
-                    title : '是否有效',
-                    align: 'center',
-                        formatter: function(value, row, index) {
-                            return $.table.selectDictLabel(datas, value);
-                        }
-                },
-                {
                     field : 'userDef1',
                     title : '自定义字段1',
                     visible: false
@@ -418,81 +365,159 @@
                 title : '入库单号',
                 visible:false
             },
-			{
-				field : 'zoneCode',
-				title : '库区编码'
-			},
-            {
-                field : 'materialCode',
-                title : '存货编码'
-            },
-            {
-                field : 'materialName',
-                title : '物料名称'
-            },
-            {
-                field : 'specification',
-                title : '规格'
-            },
-            {
-                field : 'batch',
-                title : '批次'
-            },
-            {
-                field : 'lot',
-                title : '批号'
-            },
-            {
-                field : 'project',
-                title : '项目号'
-            },
-            {
-                field : 'manufactureDate',
-                title : '生产日期'
-            },
-            {
-                field : 'expirationDate',
-                title : '失效日期'
-            },
-            {
-                field : 'inventoryStatus',
-                title : '库存状态',
-                formatter: function(value, row, index) {
-                    return $.table.selectDictLabel(inventoryStatus, value);
-                },
-            },
-            {
-                field : 'qty',
-                title : '单据数量'
-            },
-            {
-                field : 'qtyCompleted',
-                title : '已收数量'
-            },
-            {
-                field : 'status',
-                title : '单据状态',
-                align: 'center',
-                formatter: function(value, row, index) {
-                    return $.table.selectDictLabel(receiptHeaderStatus, value);
-                }
-            },
-            {
-                field : 'created',
-                title : '创建时间'
-            },
-            {
-                field : 'createdBy',
-                title : '创建用户'
-            },
-            {
-                field : 'lastUpdated',
-                title : '最后修改时间'
-            },
-            {
-                field : 'lastUpdatedBy',
-                title : '更新用户'
-            },
+				{
+					field : 'materialCode',
+					title : '物料编码'
+				},
+				{
+					field : 'materialName',
+					title : '物料名称'
+				},
+				{
+					field : 'materialSpec',
+					title : '物料规格'
+				},
+				{
+					field : 'materialUnit',
+					title : '物料单位'
+				},
+				{
+					field : 'supplierCode',
+					title : '供应商编码'
+				},
+				{
+					field : 'batch',
+					title : '批次'
+				},
+				{
+					field : 'lot',
+					title : '批号' ,
+					visible:false
+				},
+				{
+					field : 'qcCheck',
+					title : '是否质检',
+					align : "center",
+					formatter: function(value, row, index) {
+						var actions = [];
+						if (value == 0) {
+							actions.push("<span class='badge badge-info'>是</span>");
+						} else {
+							actions.push("<span class='badge badge-info'>否</span>");
+						}
+						return actions.join('');
+					}
+				},
+				{
+					field : 'projectNo',
+					title : '项目号'
+				},
+				{
+					field : 'manufactureDate',
+					title : '生产日期' ,
+					visible:false
+				},
+				{
+					field : 'expirationDate',
+					title : '失效日期' ,
+					visible:false
+				},
+				{
+					field : 'agingDate',
+					title : '入库日期' ,
+					visible:false
+				},
+				{
+					field : 'totalQty',
+					title : '总数量'
+				},
+				{
+					field : 'openQty',
+					title : '未收数量'
+				},
+				{
+					field : 'referCode',
+					title : 'ERP单号',
+					visible : false
+				},
+				{
+					field : 'referId',
+					title : 'ERP内部号',
+					visible : false
+				},
+				{
+					field : 'referLineNum',
+					title : 'ERP行号',
+					visible : false
+				},
+				{
+					field : 'locatingRule',
+					title : '定位规则'
+				},
+				{
+					field : 'inventorySts',
+					title : '库存状态',
+					visible : false
+				},
+				{
+					field : 'itemListPrice',
+					title : '标价'
+				},
+				{
+					field : 'itemNetPrice',
+					title : '净价'
+				},
+				{
+					field : 'price',
+					title : '单价' ,
+					visible:false
+				},
+				{
+					field : 'statusFlowCode',
+					title : '流程编码'
+				},
+				{
+					field : 'isVirtualBom',
+					title : '是否虚拟套件',
+					align : "center",
+					formatter: function(value, row, index) {
+						return $.table.selectDictLabel(isVirtualBoms, value);
+					}
+				},
+				{
+					field : 'created',
+					title : '创建时间'
+				},
+				{
+					field : 'createdBy',
+					title : '创建用户',
+					visible:false
+				},
+				{
+					field : 'lastUpdated',
+					title : '最后修改时间',
+					visible:false
+				},
+				{
+					field : 'lastUpdatedBy',
+					title : '更新用户' ,
+					visible:false
+				},
+				{
+					field : 'userDef1',
+					title : '自定义字段1' ,
+					visible:false
+				},
+				{
+					field : 'userDef2',
+					title : '自定义字段2' ,
+					visible:false
+				},
+				{
+					field : 'userDef3',
+					title : '自定义字段3' ,
+					visible:false
+				},
             {
                 title: '操作',
                 align: 'center',
@@ -540,8 +565,7 @@
                     receiptCode=value.data.code
                     $('#receiptCompanyId').val(value.data.companyId);
                     $('#receiptCompanyCode').val(value.data.companyCode);
-                    $('#receiptSourceCode').val(value.data.sourceCode);
-                    $('#receiptSourcePlatform').val(value.data.sourcePlatform);
+                    $('#receiptReferCode').val(value.data.referCode);
                     $('#receiptType').val(receiptTypes.filter(function (e) {return e.dictValue==value.data.type})[0].dictLabel);
                     $('#receiptTotalQty').val(value.data.totalQty);
                     $('#receiptTotalLines').val(value.data.totalLines);
diff --git a/src/main/resources/templates/admin/shipmentHeader/shipmentHeader.html b/src/main/resources/templates/admin/shipmentHeader/shipmentHeader.html
index 09aa7a1..d16e743 100644
--- a/src/main/resources/templates/admin/shipmentHeader/shipmentHeader.html
+++ b/src/main/resources/templates/admin/shipmentHeader/shipmentHeader.html
@@ -27,17 +27,20 @@
                                         出库单号:<input type="text" name="code"/>
                                     </li>
                                     <li>
-                                    仓库:<input type="text" name="warehouseCode"/>
-                                </li>
-                                    <li>
                                         <!--入库类型:<input type="text" name="sourceCode"/>-->
-                                        出库类型:<select name="type" th:with="type=${@dict.getType('shipmentType')}">
+                                        出库类型:<select name="shipmentType" th:with="shipmentType=${@dict.getType('shipmentType')}">
                                         <option value="">所有</option>
-                                        <option th:each="e : ${type}" th:text="${e['dictLabel']}"
+                                        <option th:each="e : ${shipmentType}" th:text="${e['dictLabel']}"
                                                 th:value="${e['dictValue']}"></option>
                                     </select>
                                     </li>
                                     <li>
+                                        上游单号:<input type="text" name="referCode"/>
+                                    </li>
+                                    <li>
+                                        上游订单类型:<input type="text" name="referCodeType"/>
+                                    </li>
+                                    <li>
                                         客户编码:<input type="text" name="sourceCode"/>
                                     </li>
                                     <li>
@@ -58,24 +61,13 @@
                                                 th:value="${e['dictValue']}"></option>
                                     </select>
                                     </li>
-                                    <li>
-                                        上游单号:<input type="text" name="sourceCode"/>
-                                    </li>
-                                    <li>
-                                        u8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouse.selectList()}">
-                                        <option value="">所有</option>
-                                        <option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select>
-                                    </li>
-                                    <li>
-                                        上游平台:<input type="text" name="sourcePlatform"/>
-                                    </li>
                                     <li class="time">
                                         <label>创建时间: </label>
                                         <input type="text" class="time-input" id="startTime" placeholder="开始时间"
-                                               name="params[createdBegin]"/>
+                                               name="createdBegin"/>
                                         <span>-</span>
                                         <input type="text" class="time-input" id="endTime" placeholder="结束时间"
-                                               name="params[createdEnd]"/>
+                                               name="createdEnd"/>
                                     </li>
                                     <li>
                                         <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
@@ -110,8 +102,8 @@
                                             <li>仓库编码:<input type="text" name="shipmentWarehouseCode" id="shipmentWarehouseCode"></li>
                                             <input type="hidden" name="shipmentCompanyId" id="shipmentCompanyId">
                                             <li>货主:<input type="text" name="shipmentCompanyCode" id="shipmentCompanyCode"></li>
-                                            <li>上游系统单号:<input type="text" name="shipmentSourceCode" id="shipmentSourceCode"></li>
-                                            <li>上游平台:<input type="text" name="shipmentSourcePlatform" id="shipmentSourcePlatform"></li>
+                                            <li>上游订单号:<input type="text" name="shipmentSourceCode" id="shipmentSourceCode"></li>
+                                            <li>订单平台:<input type="text" name="shipmentSourcePlatform" id="shipmentSourcePlatform"></li>
                                             <li>出库单类型:<input type="text" name="shipmentType" id = "shipmentType"></li>
                                             <li>总数量:<input type="text" name="shipmentTotalQty" id="shipmentTotalQty"></li>
                                             <li>总行数:<input type="text" name="shipmentTotalLines" id="shipmentTotalLines"></li>
@@ -123,16 +115,14 @@
                                 <div class="tab-pane fade" id="tabCustomer">
                                     <div class="select-list">
                                         <ul>
-                                            <li>客户编码:<input type="text" name="shipmentShipTo" id="shipmentShipTo"></li>
-                                            <li>发货预约时间:<input type="text" name="shipmentAppointmentTime" id="shipmentAppointmentTime"></li>
+                                        <li>客户编码:<input type="text" name="shipmentShipTo" id="shipmentShipTo"></li>
                                         </ul>
                                     </div>
                                 </div>
                                 <div class="tab-pane fade" id="tabExcute">
                                     <div class="select-list">
                                         <ul>
-                                            <li>优先级:<input type="text" name="shipmentPriority" id="shipmentPriority"></li>
-                                            <li>发货站台:<input type="text" name="shipmentStation" id="shipmentStation"></li>
+                                            < <li>优先级:<input type="text" name="shipmentPriority" id="shipmentPriority"></li>
                                             <li></li>
                                         </ul>
                                     </div>
@@ -140,7 +130,6 @@
                                 <div class="tab-pane fade" id="tabOther">
                                     <div class="select-list">
                                         <ul>
-                                            <li>备注:<input type="text" name="shipmentRemark" id="shipmentRemark"></li>
                                             <li>扩展属性1:<input type="text" name="shipmentUserDef1" id="shipmentUserDef1"></li>
                                             <li>扩展属性2:<input type="text" name="shipmentUserDef2" id="shipmentUserDef2"></li>
                                             <li>扩展属性3:<input type="text" name="shipmentUserDef3" id="shipmentUserDef3"></li>
@@ -151,14 +140,10 @@
                                 <div class="tab-pane fade" id="tabSystem">
                                     <div class="select-list">
                                         <ul>
-                                            <li>上传备注:<input type="text" name="shipmentUploadremark" id="shipmentUploadremark"></li>
-                                            <li>上传时间:<input type="text" name="shipmentUploadTime" id="shipmentUploadTime"></li>
-                                            <li>上传状态:<input type="text" name="shipmentUploadStatus" id="shipmentUploadStatus"></li>
                                             <li>创建时间:<input type="text" name="shipmentCreated" id="shipmentCreated"></li>
                                             <li>创建用户:<input type="text" name="shipmentCreatedBy" id="shipmentCreatedBy"></li>
                                             <li>最后修改时间:<input type="text" name="shipmentLastUpdated" id="shipmentLastUpdated"></li>
                                             <li>更新用户:<input type="text" name=" shipmentLastUpdatedBy" id="shipmentLastUpdatedBy"></li>
-                                            <li>是否有效:<input type="text" name="shipmentEnable" id="shipmentEnable"></li>
                                             <li>是否删除:<input type="text" name="shipmentDeleted" id="shipmentDeleted"></li>
                                         </ul>
                                     </div>
@@ -229,38 +214,23 @@
                     sortable:true
                 },
                 {
-                    field: 'warehouseCode',
-                    title: '仓库',
-                    sortable:true
-                },
-                {
-                    field: 'companyId',
-                    title: '货主标识',
-                    visible:false
-                },
-                {
                     field: 'companyCode',
                     title: '货主',
                     sortable:true
                 },
                 {
-                    field: 'sourceCode',
-                    title: '上游单号',
+                    field: 'referCode',
+                    title: '上游订单号',
                     sortable:true
                 },
                 {
-                    field: 'sourcePlatform',
-                    title: '上游平台',
+                    field: 'referCodeType',
+                    title: '上游订单内部号',
                     sortable:true,
                     visible:false
                 },
                 {
-                    field : 'uWarehouseCode',
-                    title : 'U8仓库',
-                    sortable:true
-                },
-                {
-                    field: 'type',
+                    field: 'shipmentType',
                     title: '类型',
                     align: 'center',
                     formatter: function(value, row, index) {
@@ -270,7 +240,7 @@
 
                 },
                 {
-                    field: 'shipTo',
+                    field: 'customerCode',
                     title: '客户编码',
                     sortable:true
                 },
@@ -279,12 +249,8 @@
                     title: '优先级'
                 },
                 {
-                    field: 'station',
-                    title: '发货站台',
-                    align: 'center',
-                    formatter: function(value, row, index) {
-                        return $.table.selectDictLabel(stations, value);
-                    },
+                    field: 'route',
+                    title: '路线',
                     sortable:true
                 },
                 {
@@ -296,25 +262,6 @@
                     title: '总行数'
                 },
                 {
-                    field: 'remark',
-                    title: '备注'
-                },
-                {
-                    field: 'uploadremark',
-                    title: '上传备注',
-                    visible:false
-                },
-                {
-                    field: 'uploadTime',
-                    title: '上传时间',
-                    visible:false
-                },
-                {
-                    field: 'appointmentTime',
-                    title: '发货预约时间',
-                    visible:false
-                },
-                {
                     field: 'firstStatus',
                     title: '头状态',
                     formatter: function(value, row, index) {
@@ -331,11 +278,6 @@
                     sortable:true
                 },
                 {
-                    field: 'uploadStatus',
-                    title: '上传状态',
-                    visible:false
-                },
-                {
                     field: 'created',
                     title: '创建时间',
                     sortable: true
@@ -355,13 +297,6 @@
                     visible:false
                 },
                 {
-                    field: 'enable',
-                    title: '是否有效',
-                    formatter: function(value, row, index) {
-                        return $.table.selectDictLabel(datas, value);
-                    }
-                },
-                {
                     title: '操作',
                     align: 'center',
                     formatter: function (value, row, index) {
@@ -396,15 +331,6 @@
                     title: '明细id'
                 },
                 {
-                    field: 'zoneCode',
-                    title: '库区'
-                },
-
-               /* {
-                    field: 'shipmentId',
-                    title: '出库单Id'
-                },*/
-                {
                     field: 'materialCode',
                     title: '存货编码'
                 },
@@ -413,12 +339,13 @@
                     title: '物料名称'
                 },
                 {
-                    field: 'specification',
+                    field: 'materialSpec',
                     title: '物料规格'
                 },
                 {
                     field: 'batch',
-                    title: '批次'
+                    title: '批次',
+                    visible:false
                 },
                 {
                     field: 'lot',
@@ -426,17 +353,17 @@
                     visible:false
                 },
                 {
-                    field: 'project',
+                    field: 'projectNo',
                     title: '项目号'
                 },
-                {
+                /*{
                     field: 'status',
                     title: '明细状态',
                     formatter: function(value, row, index) {
                         return $.table.selectDictLabel(shipmentHeaderStatus, value);
                     },
                     visible:true
-                },
+                },*/
                 {
                     field: 'manufactureDate',
                     title: '生产日期',
@@ -450,37 +377,40 @@
                 {
                     field: 'agingDate',
                     title: '入库日期',
-                    sortable: true
+                    visible:false
                 },
                 {
-                    field: 'inventoryStatus',
+                    field: 'inventorySts',
                     title: '库存状态',
                     formatter: function(value, row, index) {
                         return $.table.selectDictLabel(inventoryStatus, value);
                     },
                 },
                 {
-                    field: 'qty',
+                    field: 'shipQty',
                     title: '发货数量'
                 },
                 {
-                    field: 'qtyCompleted',
+                    field: 'requestQty',
                     title: '已出数量'
                 },
                 {
+                    field : 'inventoryQty',
+                    title : '库存数量'
+                },
+                {
+                    field : 'materialUnit',
+                    title : '物料单位'
+                },
+                {
                     field : 'status',
-                    title : '单据状态',
+                    title : '明细状态',
                     align: 'center',
                     formatter: function(value, row, index) {
                         return $.table.selectDictLabel(shipmentHeaderStatus, value);
                     }
                 },
                 {
-                    field: 'price',
-                    title: '物料单价',
-                    visible:false
-                },
-                {
                     field: 'created',
                     title: '创建时间',
                 },
@@ -541,36 +471,21 @@
             success:function (value) {
                 $('#shipmentId').val(value.data.id);
                 $('#shipmentCode').val(value.data.code);
-                $('#shipmentWarehouseId').val(value.data.warehouseId);
                 $('#shipmentWarehouseCode').val(value.data.warehouseCode);
-                $('#shipmentCompanyId').val(value.data.companyId);
                 $('#shipmentCompanyCode').val(value.data.companyCode);
-                $('#shipmentSourceCode').val(value.data.sourceCode);
-                $('#shipmentSourcePlatform').val(value.data.sourcePlatform);
-                $('#shipmentType').val(shipmentTypes.filter(function(a){return a.dictValue==value.data.type})[0].dictLabel);
-                $('#shipmentShipTo').val(value.data.shipTo);
+                $('#shipmentSourceCode').val(value.data.referCode);
+                $('#shipmentSourcePlatform').val(value.data.referPlatform);
+                $('#shipmentType').val(shipmentTypes.filter(function(a){return a.dictValue==value.data.shipmentType})[0].dictLabel);
+                $('#shipmentShipTo').val(value.data.customerCode);
                 $('#shipmentPriority').val(value.data.priority);
-                $('#shipmentStation').val(value.data.station);
                 $('#shipmentTotalQty').val(value.data.totalQty);
                 $('#shipmentTotalLines').val(value.data.totalLines);
-                $('#shipmentRemark').val(value.data.remark);
-                $('#shipmentUploadremark').val(value.data.uploadremark);
-                $('#shipmentUploadTime').val(value.data.uploadTime);
-                $('#shipmentAppointmentTime').val(value.data.appointmentTime);
                 $('#shipmentFirstStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.firstStatus})[0].dictLabel);
                 $('#shipmentLastStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.lastStatus})[0].dictLabel);
-                $('#shipmentUploadStatus').val(uploadStatus.filter(function (a) {return a.dictValue==value.data.uploadStatus})[0].dictLabel);
                 $('#shipmentCreated').val(value.data.created);
                 $('#shipmentCreatedBy').val(value.data.createdBy);
                 $('#shipmentLastUpdated').val(value.data.lastUpdated);
                 $('#shipmentLastUpdatedBy').val(value.data.lastUpdatedBy);
-                //$('#shipmentEnable').val(value.data.enable);
-                if(value.data.enable==true){
-                    $('#shipmentEnable').val('是')
-                }else{
-                    $('#shipmentEnable').val('否')
-                };
-                //$('#shipmentDeleted').val(value.data.deleted);
                 if(value.data.deleted==false){
                     $('#shipmentDeleted').val('否')
                 }else{
diff --git a/src/main/resources/templates/admin/task/task.html b/src/main/resources/templates/admin/task/task.html
index 8aa0073..64289ba 100644
--- a/src/main/resources/templates/admin/task/task.html
+++ b/src/main/resources/templates/admin/task/task.html
@@ -27,56 +27,15 @@
 									<li>
 										任务id:<input type="text" name="id"/>
 									</li>
-									<!--<li>-->
-										<!--单据编码:<input type="text" name="billCode"/>-->
-									<!--</li>-->
 									<li>
 										容器编号:<input type="text" name="containerCode"/>
 									</li>
 									<li>
-										<!--入库类型:<input type="text" name="sourceCode"/>-->
-										任务类型:<select name="type" th:with="type=${@dict.getType('taskType')}">
-										<option value="">所有</option>
-										<option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select>
+										源库位编号:<input type="text" name="fromLocation"/>
 									</li>
-
-									<li class="time" style="height: 30px">
-										<label>创建时间: </label>
-										<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
-										<span>-</span>
-										<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
-									</li>
-
-									<li>
-										<!--头 状 态:<input type="text" name="firstStatus"/>-->
-										头 状 态:<select name="firstStatus" th:with="firstStatus=${@dict.getType('taskStatus')}">
-										<option value="">所有</option>
-										<option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select>
-									</li>
-									<li>
-										<!--尾 状 态:<input type="text" name="lastStatus"/>-->
-										尾 状 态:<select name="lastStatus" th:with="lastStatus=${@dict.getType('taskStatus')}">
-										<option value="">所有</option>
-										<option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select>
-									</li>
-                                    <!--<li>
-                                        出入库站台:<select name="station" th:with="stations = ${@dict.getType('station')}">
-                                        <option value="">所有</option>
-                                        <option th:each="e : ${stations}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option></select>
-                                    </li>-->
 									<li>
-										巷道:<input type="text" name="roadway"/>
+										目的库位编号:<input type="text" name="toLocation"/>
 									</li>
-                                    <li>
-                                        库区:<input type="text" name="zoneCode"/>
-                                    </li>
-									<li>
-										来源库位:<input type="text" name="sourceLocation"/>
-									</li>
-									<li>
-										目的库位:<input type="text" name="destinationLocation"/>
-									</li>
-
 									<li>
 										<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
 										<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="receipt:receiptHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
@@ -136,128 +95,90 @@
                 columns: [{
 		            checkbox: true
 		        },
-				{
-					field : 'id', 
-					title : '任务id' ,
-                    sortable: true
-				},
-				{
-					field : 'companyId', 
-					title : '货主id' ,
-					visible:false
-				},
-				/*{
-                    field : 'billCode',
-                    title : '单据编码' ,
-                },*/
-				{
-					field : 'priority', 
-					title : '优先级'
-				},
-				{
-					field : 'type', 
-					title : '任务类型' ,
-                    align: 'center',
-                    visible:true,
-                    formatter: function(value, row, index) {
-                        return $.table.selectDictLabel(taskTypes, value);
-                    }
+					{
+						field : 'id',
+						title : '任务id' ,
+						sortable: true
+					},
+					{
+						field : 'companyCode',
+						title : '货主编码',
+						visible:true
+					},
+					{
+						field : 'taskType',
+						title : '任务类型' ,
+						align: 'center',
+						visible:true,
+						formatter: function(value, row, index) {
+							return $.table.selectDictLabel(taskTypes, value);
+						}
 
-				},
-                    {
-                        field : 'roadway',
-                        title : '巷道',
-                        visible:true
-                    },
-				{
-					field : 'station',
-					title : '出入库站台' ,
-                    align: 'center',
-                    visible:true,
-                    formatter: function(value, row, index) {
-                        return $.table.selectDictLabel(stations, value);
-                    },
-                    visible:false
-				},
-				{
-					field : 'containerCode', 
-					title : '容器编码' ,
-                    sortable: true
-				},
-				{
-					field : 'sourceLocation', 
-					title : '来源库位',
-                    sortable: true
-				},
-                    {
-                        field : 'zoneCode',
-                        title : '库区',
-                        sortable: true
-                    },
-				{
-					field : 'destinationLocation', 
-					title : '目的库位' ,
-                    sortable: true
-				},
-                {
-                 	field : 'firstStatus',
-                    title : '头状态' ,
-                    align: 'center',
-                    formatter: function(value, row, index) {
-                    return $.table.selectDictLabel(taskStatus, value);
-                 	}
-                },
-                {
-                    field : 'lastStatus',
-					title : '尾状态' ,
-                    align: 'center',
-                    formatter: function(value, row, index) {
-                    return $.table.selectDictLabel(taskStatus, value);
-                        }
-                    },
-				{
-					field : 'created', 
-					title : '生成时间',
-                    sortable: true
-				},
-				{
-					field : 'createdBy', 
-					title : '任务下达人' 
-				},
-				{
-					field : 'beginTime', 
-					title : '任务下达时间' ,
-                    visible:false
-				},
-				{
-					field : 'lastUpdated', 
-					title : '修改时间' ,
-                    sortable: true,
-				},
-                {
-                        field : 'endTime',
-                        title : '任务完成时间',
-                        sortable: true
-                 },
-				{
-					field : 'lastUpdatedBy', 
-					title : '更新用户' 
-				},
-				{
-					field : 'userDef1', 
-					title : '自定义字段1' ,
-					visible:false
-				},
-				{
-					field : 'userDef2', 
-					title : '自定义字段2' ,
-					visible:false
-				},
-				{
-					field : 'userDef3', 
-					title : '自定义字段3' ,
-					visible:false
-				},
+					},
+					{
+						field : 'fromLocation',
+						title : '源库位号',
+						visible:true
+					},
+
+					{
+						field : 'toLocation',
+						title : '目的库位号',
+						visible:true
+					},
+					{
+						field : 'containerCode',
+						title : '容器号' ,
+						sortable: true
+					},
+					{
+						field : 'exceptionCode',
+						title : '异常原因',
+						sortable: true
+					},
+
+					{
+						field : 'startPickDateTime',
+						title : '开始拣货时间',
+						sortable: true
+					},
+					{
+						field : 'endPickDateTime',
+						title : '截止拣货时间'
+					},
+					{
+						field : 'created',
+						title : '生成时间',
+						sortable: true
+					},
+					{
+						field : 'createdBy',
+						title : '任务下达人'
+					},
+					{
+						field : 'lastUpdated',
+						title : '修改时间' ,
+						sortable: true,
+					},
+					{
+						field : 'lastUpdatedBy',
+						title : '更新用户'
+					},
+					{
+						field : 'userDef1',
+						title : '自定义字段1' ,
+						visible:false
+					},
+					{
+						field : 'userDef2',
+						title : '自定义字段2' ,
+						visible:false
+					},
+					{
+						field : 'userDef3',
+						title : '自定义字段3' ,
+						visible:false
+					},
 		        {
 		            title: '操作',
 		            align: 'center',
@@ -296,81 +217,81 @@
             columns: [{
                 checkbox: true
             },
-                {
-                    field : 'id',
-                    title : '明细Id'
-                },
-                {
-                    field : 'taskId',
-                    title : '任务Id',
-                    sortable: true
-                },
-                {
-                    field : 'billCode',
-                    title : '单据编码',
-                },
-                {
-                    field : 'allocationId',
-                    title : '容器物料表ID' ,
-                    sortable: true
-                },
-                {
-                    field : 'materialCode',
-                    title : '存货编码',
-                    sortable: true
-                },
-                {
-                    field : 'materialName',
-                    title : '物料名称',
-                    sortable:true
-                },
-                {
-                    field : 'project',
-                    title : '项目号',
-                },
-                {
-                    field : 'containerCode',
-                    title : '容器编码',
-                    sortable:true
-                },
-                {
-                    field : 'sourceLocation',
-                    title : '源库位',
-                    sortable:true
-                },
-                {
-                    field : 'destinationLocation',
-                    title : '目的库位',
-                    sortable:true
-                },
-                {
-                    field : 'qty',
-                    title : '数量'
-                },
-                {
-                    field : 'status',
-                    title : '子任务状态',
-                    align: 'center',
-                    formatter: function(value, row, index) {
-                        return $.table.selectDictLabel(taskDetailStatus, value);
-                    }
-                },
-                {
-                    field : 'endTime',
-                    title : '子任务完成时间' ,
-                    visible:false,
-                    sortable:true
-                },
-                {
-                    field : 'lastUpdated',
-                    title : '最后修改时间' ,
-                    visible:false,
-                    sortable:true
-                },
-                {
-                    field : 'lastUpdatedBy',
-                    title : '更新用户'
-                },
+				{
+					field : 'id',
+					title : '明细id'
+				},
+				{
+					field : 'billCode',
+					title : '单据编码',
+				},
+				{
+					field : 'taskId',
+					title : '任务标识',
+					sortable: true
+				},
+				{
+					field : 'allocationId',
+					title : '容器物料表id' ,
+					sortable: true
+				},
+				{
+					field : 'materialCode',
+					title : '存货编码',
+					sortable: true
+				},
+				{
+					field : 'materialName',
+					title : '物料名称',
+					sortable:true
+				},
+				{
+					field : 'containerCode',
+					title : '容器编码',
+					sortable:true
+				},
+				{
+					field : 'fromLocation',
+					title : '源库位',
+					sortable:true
+				},
+				{
+					field : 'toLocation',
+					title : '目的库位',
+					sortable:true
+				},
+				{
+					field : 'qty',
+					title : '数量'
+				},
+				{
+					field : 'project',
+					title : '项目号'
+				},
+				{
+					field : 'status',
+					title : '子任务状态',
+					align: 'center',
+					formatter: function(value, row, index) {
+						return $.table.selectDictLabel(taskDetailStatus, value);
+					}
+				},
+				{
+					field : 'endTime',
+					title : '子任务完成时间' ,
+					visible:false,
+					sortable:true
+				},
+				{
+					field : 'lastUpdated',
+					title : '最后修改时间' ,
+					visible:false,
+					sortable:true
+				},
+				{
+					field : 'lastUpdatedBy',
+					title : '更新用户'
+				},
                 /*{
                     title: '操作',
                     align: 'center',
diff --git a/src/main/resources/templates/administration/alarmFlow/alarmFlow.html b/src/main/resources/templates/administration/alarmFlow/alarmFlow.html
index f1248d0..5a908f0 100644
--- a/src/main/resources/templates/administration/alarmFlow/alarmFlow.html
+++ b/src/main/resources/templates/administration/alarmFlow/alarmFlow.html
@@ -23,9 +23,9 @@
                         <!--</li>-->
                         <li class="time">
                             <label>创建时间: </label>
-                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
                             <span>-</span>
-                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
                         </li>
                         <li>
                             <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/administration/alarmType/alarmType.html b/src/main/resources/templates/administration/alarmType/alarmType.html
index 69fd8e8..0c4f608 100644
--- a/src/main/resources/templates/administration/alarmType/alarmType.html
+++ b/src/main/resources/templates/administration/alarmType/alarmType.html
@@ -23,9 +23,9 @@
                         <!--</li>-->
                         <li class="time">
                             <label>创建时间: </label>
-                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
                             <span>-</span>
-                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
                         </li>
                         <li>
                             <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/administration/sendMail/sendMail.html b/src/main/resources/templates/administration/sendMail/sendMail.html
index 08d2045..79f6f04 100644
--- a/src/main/resources/templates/administration/sendMail/sendMail.html
+++ b/src/main/resources/templates/administration/sendMail/sendMail.html
@@ -23,9 +23,9 @@
                         <!--</li>-->
                         <li class="time">
                             <label>创建时间: </label>
-                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
                             <span>-</span>
-                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
                         </li>
                         <li>
                             <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/check/checkHeader/checkHeader.html b/src/main/resources/templates/check/checkHeader/checkHeader.html
index dcf6346..ce05da2 100644
--- a/src/main/resources/templates/check/checkHeader/checkHeader.html
+++ b/src/main/resources/templates/check/checkHeader/checkHeader.html
@@ -32,9 +32,9 @@
                                     </li>
                                     <li class="time">
                                         <label>创建时间: </label>
-                                        <input type="text" class="time-input" id="startCreatedTime" placeholder="开始时间" name="params[createdBegin]"/>
+                                        <input type="text" class="time-input" id="startCreatedTime" placeholder="开始时间" name="createdBegin"/>
                                         <span>-</span>
-                                        <input type="text" class="time-input" id="endCreatedTime" placeholder="结束时间" name="params[createdEnd]"/>
+                                        <input type="text" class="time-input" id="endCreatedTime" placeholder="结束时间" name="createdEnd"/>
                                     </li>
                                     <li>
                                         <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/check/checkingRegister/checkingRegister.html b/src/main/resources/templates/check/checkingRegister/checkingRegister.html
index 22e3298..9f9105c 100644
--- a/src/main/resources/templates/check/checkingRegister/checkingRegister.html
+++ b/src/main/resources/templates/check/checkingRegister/checkingRegister.html
@@ -32,9 +32,9 @@
                         </li>
                         <li class="time">
                             <label>创建时间: </label>
-                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
                             <span>-</span>
-                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
                         </li>
                         <li>
                             <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/config/bomHeader/bomHeader.html b/src/main/resources/templates/config/bomHeader/bomHeader.html
index 1f39f7a..9132019 100644
--- a/src/main/resources/templates/config/bomHeader/bomHeader.html
+++ b/src/main/resources/templates/config/bomHeader/bomHeader.html
@@ -26,10 +26,10 @@
                                     <li class="time">
                                         <label>创建时间: </label>
                                         <input type="text" class="time-input" id="startTime" placeholder="开始时间"
-                                               name="params[createdBegin]"/>
+                                               name="createdBegin"/>
                                         <span>-</span>
                                         <input type="text" class="time-input" id="endTime" placeholder="结束时间"
-                                               name="params[createdEnd]"/>
+                                               name="createdEnd"/>
                                     </li>
                                     <li>
                                         <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
diff --git a/src/main/resources/templates/config/configWarning/configWarning.html b/src/main/resources/templates/config/configWarning/configWarning.html
index 5ea4807..6c9b521 100644
--- a/src/main/resources/templates/config/configWarning/configWarning.html
+++ b/src/main/resources/templates/config/configWarning/configWarning.html
@@ -30,9 +30,9 @@
                         </li>
                         <li class="time">
                             <label>创建时间: </label>
-                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
                             <span>-</span>
-                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
                         </li>
                         <li>
                             <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/config/container/container.html b/src/main/resources/templates/config/container/container.html
index efb7bfc..55e0cd0 100644
--- a/src/main/resources/templates/config/container/container.html
+++ b/src/main/resources/templates/config/container/container.html
@@ -29,9 +29,9 @@
 							</li>
 							<li class="time">
 								<label>创建时间: </label>
-								<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+								<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
 								<span>-</span>
-								<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+								<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
 							</li>
 							<li>
 								<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/config/location/location.html b/src/main/resources/templates/config/location/location.html
index 06d13b5..d983495 100644
--- a/src/main/resources/templates/config/location/location.html
+++ b/src/main/resources/templates/config/location/location.html
@@ -50,9 +50,9 @@
 						</li>
 						<li class="time">
 							<label>创建时间: </label>
-							<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+							<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
 							<span>-</span>
-							<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+							<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
 						</li>
 						<li>
 							<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/config/station/station.html b/src/main/resources/templates/config/station/station.html
index 6b5f357..2b0806f 100644
--- a/src/main/resources/templates/config/station/station.html
+++ b/src/main/resources/templates/config/station/station.html
@@ -14,9 +14,9 @@
                         </li>
                         <li class="time">
                             <label>创建时间: </label>
-                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
                             <span>-</span>
-                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
                         </li>
                         <li>
                             <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
index 318e153..9e24329 100644
--- a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
+++ b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
@@ -65,10 +65,10 @@
                     <li class="time">
                         <label>创建时间: </label>
                         <input type="text" class="time-input" id="startTime" placeholder="开始时间"
-                               name="params[createdBegin]"/>
+                               name="createdBegin"/>
                         <span>-</span>
                         <input type="text" class="time-input" id="endTime" placeholder="结束时间"
-                               name="params[createdEnd]"/>
+                               name="createdEnd"/>
                     </li>
                     <li>
                         创建人:<input id="createdBy" type="text" name="createdBy" />
diff --git a/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html b/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html
index 54310a5..f5ee6ac 100644
--- a/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html
+++ b/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html
@@ -55,10 +55,10 @@
                                     <li class="time">
                                         <label>创建时间: </label>
                                         <input type="text" class="time-input" id="startTime" placeholder="开始时间"
-                                               name="params[createdBegin]"/>
+                                               name="createdBegin"/>
                                         <span>-</span>
                                         <input type="text" class="time-input" id="endTime" placeholder="结束时间"
-                                               name="params[createdEnd]"/>
+                                               name="createdEnd"/>
                                     </li>
                                     <li>
                                         <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
diff --git a/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html b/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
index b2bda68..172e314 100644
--- a/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
+++ b/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
@@ -67,10 +67,10 @@
                         <li class="time" style="height:30px">
                             <label>创建时间: </label>
                             <input type="text" class="time-input" id="startTime" placeholder="开始时间"
-                                   name="params[createdBegin]"/>
+                                   name="createdBegin"/>
                             <span>-</span>
                             <input type="text" class="time-input" id="endTime" placeholder="结束时间"
-                                   name="params[createdEnd]"/>
+                                   name="createdEnd"/>
                         </li>
                         <li>
                             <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
diff --git a/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html
index 81325e5..d33bfbe 100644
--- a/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html
+++ b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html
@@ -39,10 +39,10 @@
                                     <li class="time">
                                         <label>创建时间: </label>
                                         <input type="text" class="time-input" id="startTime" placeholder="开始时间"
-                                               name="params[createdBegin]"/>
+                                               name="createdBegin"/>
                                         <span>-</span>
                                         <input type="text" class="time-input" id="endTime" placeholder="结束时间"
-                                               name="params[createdEnd]"/>
+                                               name="createdEnd"/>
                                     </li>
                                     <li>
                                         <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
diff --git a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
index c35f1ef..3f9a945 100644
--- a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
+++ b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
@@ -58,7 +58,7 @@
                             <li>
                                 项 目 号:<input type="text" name="projectNo"/>
                             </li>
-                            <li>
+                            AjaxResult.error("单据号为"+receiptHeader.getCode()+"入库单不需要审核");                    <li>
                                 交易类型:<select name="type" th:with="type=${@dict.getType('inventoryTransactionType')}">
                                 <option value="">所有</option>
                                 <option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
@@ -67,9 +67,9 @@
 
                             <li class="time">
                                 <label>创建时间: </label>
-                                <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+                                <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
                                 <span>-</span>
-                                <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+                                <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
                             </li>
                             <li>
                                 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html b/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
index 46b0642..8ff7a94 100644
--- a/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
+++ b/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
@@ -44,9 +44,9 @@
 									   </li>
 									   <li class="time">
 										   <label>创建时间: </label>
-										   <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+										   <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
 										   <span>-</span>
-										   <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+										   <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
 									   </li>
 									   <li>
 										   <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
diff --git a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
index e583e89..60122e6 100644
--- a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
+++ b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
@@ -66,9 +66,9 @@
                                     </li>
                                     <li class="time">
                                         <label>创建时间: </label>
-                                        <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
+                                        <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
                                         <span>-</span>
-                                        <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
+                                        <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
                                     </li>
                                     <li>
                                         <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
@@ -250,7 +250,7 @@
                 {
                     field : 'companyCode',
                     title : '货主编码',
-                    visible:false
+                    visible: [[${@table.getVisible('p')}]]
                 },
                 {
                     field : 'warehouseCode',