diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 72dfe38..68acc4b 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -3,10 +3,9 @@
   <component name="Encoding" native2AsciiForPropertiesFiles="true" defaultCharsetForPropertiesFiles="UTF-8">
     <file url="file://$PROJECT_DIR$" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js" charset="GBK" />
+    <file url="file://$PROJECT_DIR$/src/main/resources/static/js/qrcode/qrcode.min.js" charset="GBK" />
     <file url="file://$PROJECT_DIR$/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/report.html" charset="GBK" />
-    <file url="file://$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/report.html" charset="GBK" />
-    <file url="file://$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/report.html" charset="GBK" />
     <file url="PROJECT" charset="GBK" />
   </component>
 </project>
\ No newline at end of file
diff --git a/sql/huaheng20180921.sql b/sql/huaheng20180921.sql
index fc96619..0cd3749 100644
--- a/sql/huaheng20180921.sql
+++ b/sql/huaheng20180921.sql
@@ -490,7 +490,7 @@ CREATE TABLE `cyclecount_detail`  (
   `locationId` int(11) NULL DEFAULT NULL COMMENT '库位id',
   `locationCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '库位编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
   `receiptId` int(11) NOT NULL COMMENT '入库单id',
   `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id',
@@ -1031,7 +1031,7 @@ CREATE TABLE `inventory`  (
   `companyId` int(11) NULL DEFAULT NULL COMMENT '公司id',
   `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
   `materialId` int(11) NULL DEFAULT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `receiptId` int(11) NOT NULL COMMENT '入库单id',
   `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
   `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id',
@@ -1089,7 +1089,7 @@ CREATE TABLE `inventory_transaction`  (
   `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货主编码',
   `materialId` int(11) NULL DEFAULT NULL COMMENT '物料Id',
   `materialName` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `billId` int(11) NOT NULL COMMENT '单头',
   `billCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '单编码',
   `billDetailId` int(11) NULL DEFAULT NULL COMMENT '单明细id',
@@ -1532,7 +1532,7 @@ CREATE TABLE `material`  (
   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
   `warehouseId` int(11) NOT NULL COMMENT '仓库Id',
   `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库编码',
-  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料类别',
   `name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
   `barcode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '条码',
@@ -1954,7 +1954,7 @@ CREATE TABLE `receipt_container_detail`  (
   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id号',
   `headerId` int(11) NOT NULL COMMENT '组盘头id号',
   `receiptDetailId` int(11) NOT NULL COMMENT '入库单明细id号',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
   `qty` decimal(12, 3) NOT NULL COMMENT '组盘数量',
   `created` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `createdBy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建用户',
@@ -2014,7 +2014,7 @@ CREATE TABLE `receipt_detail`  (
   `receiptId` int(11) NOT NULL COMMENT '入库单id',
   `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
   `materialId` int(11) NULL DEFAULT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
   `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
   `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
@@ -2064,7 +2064,7 @@ CREATE TABLE `receipt_detail_history`  (
   `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库',
   `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
   `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
   `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
@@ -2180,7 +2180,7 @@ CREATE TABLE `shipment_container_detail`  (
   `headerId` int(11) NOT NULL COMMENT '组盘头id号',
   `shipmentHeaderId` int(11) NOT NULL COMMENT '出库头d号',
   `shipmentDetailId` int(11) NOT NULL COMMENT '出库明细id号',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
   `materialName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称',
   `qty` decimal(12, 3) NOT NULL COMMENT '配盘数量',
   `inventoryId` int(11) NOT NULL COMMENT '关联库存Id',
@@ -2217,7 +2217,7 @@ CREATE TABLE `shipment_detail`  (
   `shipmentId` int(11) NOT NULL COMMENT '出库单id',
   `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
   `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
   `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
@@ -2253,7 +2253,7 @@ CREATE TABLE `shipment_detail_history`  (
   `shipmentId` int(11) NOT NULL COMMENT '出库单id',
   `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
   `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
   `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
@@ -3932,7 +3932,7 @@ CREATE TABLE `task_detail`  (
   `warehouseId` int(11) NOT NULL COMMENT '仓库Id',
   `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库',
   `allocationId` int(11) NULL DEFAULT NULL COMMENT '入库或者组盘详情表ID',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
   `containerCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出入库货箱Code',
   `sourceLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '源库位',
   `destinationLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目的库位',
diff --git a/sql/huaheng_20180913.sql b/sql/huaheng_20180913.sql
index 16e0901..bb260f4 100644
--- a/sql/huaheng_20180913.sql
+++ b/sql/huaheng_20180913.sql
@@ -485,7 +485,7 @@ CREATE TABLE `cyclecount_detail`  (
   `locationId` int(11) NULL DEFAULT NULL COMMENT '库位id',
   `locationCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '库位编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
   `receiptId` int(11) NOT NULL COMMENT '入库单id',
   `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id',
@@ -551,7 +551,7 @@ CREATE TABLE `inventory`  (
   `companyId` int(11) NOT NULL COMMENT '公司id',
   `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `receiptId` int(11) NOT NULL COMMENT '入库单id',
   `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
   `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id',
@@ -657,7 +657,7 @@ CREATE TABLE `inventory_transaction`  (
   `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货主编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
   `materialName` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `billId` int(11) NOT NULL COMMENT '单头',
   `billCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '单编码',
   `billDetailId` int(11) NULL DEFAULT NULL COMMENT '单明细id',
@@ -867,7 +867,7 @@ CREATE TABLE `material`  (
   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
   `warehouseId` int(11) NOT NULL COMMENT '仓库Id',
   `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库编码',
-  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料类别',
   `name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
   `barcode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '条码',
@@ -1283,7 +1283,7 @@ CREATE TABLE `receipt_container_detail`  (
   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id号',
   `headerId` int(11) NOT NULL COMMENT '组盘头id号',
   `receiptDetailId` int(11) NOT NULL COMMENT '入库单明细id号',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
   `qty` decimal(12, 3) NOT NULL COMMENT '组盘数量',
   `created` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `createdBy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建用户',
@@ -1431,7 +1431,7 @@ CREATE TABLE `receipt_detail`  (
   `receiptId` int(11) NOT NULL COMMENT '入库单id',
   `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
   `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
   `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
@@ -1515,7 +1515,7 @@ CREATE TABLE `receipt_detail_history`  (
   `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库',
   `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
   `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
   `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
@@ -1652,7 +1652,7 @@ CREATE TABLE `shipment_container_detail`  (
   `headerId` int(11) NOT NULL COMMENT '组盘头id号',
   `shipmentHeaderId` int(11) NOT NULL COMMENT '出库头d号',
   `shipmentDetailId` int(11) NOT NULL COMMENT '出库明细id号',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
   `materialName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称',
   `qty` decimal(12, 3) NOT NULL COMMENT '配盘数量',
   `inventoryId` int(11) NOT NULL COMMENT '关联库存Id',
@@ -1800,7 +1800,7 @@ CREATE TABLE `shipment_detail`  (
   `shipmentId` int(11) NOT NULL COMMENT '出库单id',
   `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
   `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
   `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
@@ -1877,7 +1877,7 @@ CREATE TABLE `shipment_detail_history`  (
   `shipmentId` int(11) NOT NULL COMMENT '出库单id',
   `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码',
   `materialId` int(11) NOT NULL COMMENT '物料Id',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
   `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
   `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
   `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
@@ -7927,7 +7927,7 @@ CREATE TABLE `task_detail`  (
   `warehouseId` int(11) NOT NULL COMMENT '仓库Id',
   `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库',
   `allocationId` int(11) NULL DEFAULT NULL COMMENT '容器物料表ID',
-  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
+  `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
   `containerCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出入库货箱Code',
   `sourceLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '源库位',
   `destinationLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目的库位',
diff --git a/src/main/java/com/huaheng/api/Common/ReceiptApi.java b/src/main/java/com/huaheng/api/Common/ReceiptApi.java
new file mode 100644
index 0000000..d93457a
--- /dev/null
+++ b/src/main/java/com/huaheng/api/Common/ReceiptApi.java
@@ -0,0 +1,143 @@
+package com.huaheng.api.Common;
+
+
+import com.alibaba.fastjson.JSON;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.http.HttpUtils;
+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.pc.general.material.domain.Material;
+import com.huaheng.pc.general.material.service.IMaterialService;
+import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
+import com.huaheng.pc.receipt.receiptDetail.service.IReceiptDetailService;
+import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
+import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptModel;
+import com.huaheng.pc.receipt.receiptHeader.service.IReceiptHeaderService;
+import com.huaheng.pc.system.dict.service.IDictDataService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *  入库下发和入传接口
+ *    @author huaheng
+ *    @date 2018-12-20
+ *
+ *
+ *
+ */
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/receipt")
+@Api(tags = {"receipt"}, description = "入库接口")
+public class ReceiptApi extends BaseController {
+
+    @Autowired
+    private IDictDataService dictDataService;
+    @Autowired
+    private IReceiptHeaderService receiptHeaderService;
+    @Autowired
+    private IReceiptDetailService receiptDetailService;
+    @Autowired
+    private IMaterialService materialService;
+
+
+
+    @Log(title = "入库单下发", action = BusinessType.INSERT)
+    @PostMapping("/insertReceipt")
+    @ResponseBody
+    public AjaxResult insertReceipt(ReceiptModel receiptModel){
+        if(receiptModel==null){
+            return AjaxResult.error("参数不对");
+        }
+        ReceiptHeader receiptHeader=receiptModel.getReceiptHeader();
+        List<ReceiptDetail> receiptDetails=receiptModel.getReceiptDetails();
+        if(receiptHeader==null || receiptDetails==null){
+            return AjaxResult.error("入库主单或入库子单有问题");
+        }
+
+        if(dictDataService.checkConfig("receiptType", receiptHeader.getType()) == false)
+        {
+            return  AjaxResult.error("没有对应的入库单类型");
+        }
+        Integer result = receiptHeaderService.insert(receiptHeader);
+        if(result<1){
+            return AjaxResult.error("新增主单失败");
+        }
+
+
+        for(ReceiptDetail item :receiptDetails){
+            ReceiptHeader receiptHeaderB=receiptHeaderService.selectEntityById(item.getReceiptId());
+            if(!receiptHeader.equals(receiptHeaderB)){
+                return AjaxResult.error("主子单据不匹配");
+            }
+            if (receiptHeader.getFirstStatus() > 100) {
+                //表示已经加入了波次
+                return AjaxResult.error("主单据状态不允许新增明细");
+            }
+
+            Material material = new Material();
+            material.setCode(item.getMaterialCode());
+            material.setWarehouseId(item.getWarehouseId());
+            material = materialService.selectFirstEntity(material);
+            if (material == null) {
+                return AjaxResult.error("物料未找到");
+            }
+            if (StringUtils.isNotEmpty(material.getCompanyCode()) &&
+                    ShiroUtils.getCompanyCodeList().contains(material.getCompanyCode()) == false)
+            {
+                return AjaxResult.error("物料不属于当前货主!");
+            }
+            if(receiptDetailService.insert(item) > 0){
+                //更新表头的总行数和总数量统计
+                receiptHeader.setTotalQty(receiptHeader.getTotalQty().add(item.getQty()));
+                receiptHeader.setTotalLines(receiptHeader.getTotalLines() + 1);
+                receiptHeaderService.updateByModel(receiptHeader);
+            }
+            else {
+                return AjaxResult.error("新增单据明细失败");
+            }
+        }
+        return AjaxResult.success("入库单据下发成功");
+    }
+
+
+
+
+    //出库单回传
+    @Log(title = "入库单回传", action = BusinessType.INSERT)
+    @PostMapping("/shipmentAssign")
+    @ResponseBody
+    public AjaxResult shipmentAssign(String url)
+    {
+        ReceiptHeader receiptHeader = new ReceiptHeader();
+        receiptHeader.setLastStatus((short)300);
+        receiptHeader = receiptHeaderService.selectFirstEntity(receiptHeader);
+        if (receiptHeader == null) {
+            return AjaxResult.error("入库回传主单不存在");
+        }
+        ReceiptDetail receiptDetail = new ReceiptDetail();
+        receiptDetail.setReceiptCode(receiptHeader.getCode());
+        List<ReceiptDetail> receiptDetails = receiptDetailService.selectListEntityByEqual(receiptDetail);
+        if (receiptDetails == null) {
+            return AjaxResult.error("入库回传子单不存在");
+        }
+        ReceiptModel model=new ReceiptModel();
+        model.setReceiptHeader(receiptHeader);
+        model.setReceiptDetails(receiptDetails);
+        String JsonParam = JSON.toJSONString(model);
+        String result = HttpUtils.sendPost(url, JsonParam);
+        AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
+        receiptHeader.setFirstStatus((short)900);
+        receiptHeader.setLastStatus((short)900);
+        receiptHeaderService.updateByModel(receiptHeader);
+        return ajaxResult;
+    }
+}
diff --git a/src/main/java/com/huaheng/api/Common/ShipmentApi.java b/src/main/java/com/huaheng/api/Common/ShipmentApi.java
new file mode 100644
index 0000000..b985302
--- /dev/null
+++ b/src/main/java/com/huaheng/api/Common/ShipmentApi.java
@@ -0,0 +1,149 @@
+package com.huaheng.api.Common;
+
+import com.alibaba.fastjson.JSON;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.http.HttpUtils;
+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.pc.general.company.service.ICompanyService;
+import com.huaheng.pc.general.material.domain.Material;
+import com.huaheng.pc.general.material.service.IMaterialService;
+import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
+import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentModel;
+import com.huaheng.pc.shipment.shipmentHeader.service.IShipmentHeaderService;
+import com.huaheng.pc.system.dict.service.IDictDataService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *  出库下发和回传接口
+ *    @author huaheng
+ *    @date 2018-12-18
+ *
+ *
+ *
+ */
+@RestController
+@RequestMapping("/api/shipment")
+@Api(tags = {"shipment"}, description = "出库接口")
+public class ShipmentApi extends BaseController {
+
+
+    @Autowired
+    private IDictDataService dictDataService;
+    @Autowired
+    IShipmentDetailService shipmentDetailService;
+    @Autowired
+    ICompanyService companyService;
+    @Autowired
+    IShipmentHeaderService shipmentHeaderService;
+    @Autowired
+    private IMaterialService materialService;
+
+    //出库单下发
+    @Log(title = "出库单下发", action = BusinessType.INSERT)
+    @PostMapping("/insertShipment")
+    @ResponseBody
+    public AjaxResult insertShipment(ShipmentModel shipmentModel){
+        if(shipmentModel==null){
+            return AjaxResult.error("参数不对");
+        }
+        ShipmentHeader shipmentHeader=new ShipmentHeader();
+        List<ShipmentDetail> shipmentDetails=new ArrayList<>();
+        try {
+            shipmentHeader=shipmentModel.getShipmentHeader();
+            shipmentDetails=shipmentModel.getShipmentDetails();
+        }catch (Exception e){
+            return AjaxResult.error("出库主单或出库子单有问题");
+        }
+        if(dictDataService.checkConfig("shipmentType", shipmentHeader.getType()) == false)
+        {
+            return  AjaxResult.error("没有对应的出库单类型");
+        }
+        int result = shipmentHeaderService.insert(shipmentHeader);
+        if(result<1){
+            return AjaxResult.error("新增主单失败");
+        }
+
+        //添加细表到shipmentDetail
+        for(ShipmentDetail shipmentDetail : shipmentDetails) {
+            ShipmentHeader shipmentHeaderB = shipmentHeaderService.selectEntityById(shipmentDetail.getShipmentId());
+            if (!shipmentHeaderB.equals(shipmentHeader)) {
+                return AjaxResult.error("找不到主单据");
+            }
+            if (shipmentHeaderB.getFirstStatus() > 100) {
+                //表示已经加入了波次
+                return AjaxResult.error("主单据状态不允许新增明细");
+            }
+            Material material = new Material();
+            material.setCode(shipmentDetail.getMaterialCode());
+            material.setWarehouseId(shipmentDetail.getWarehouseId());
+            material = materialService.selectFirstEntity(material);
+            if (material == null) {
+                return AjaxResult.error("物料未找到");
+            }
+            if (StringUtils.isNotEmpty(material.getCompanyCode()) &&
+                    ShiroUtils.getCompanyCodeList().contains(material.getCompanyCode()) == false)
+            {
+                return AjaxResult.error("物料不属于当前货主!");
+            }
+
+            if (shipmentDetailService.insert(shipmentDetail) > 0){
+                //更新单据总行数与总数量
+                shipmentHeader.setTotalLines(shipmentHeader.getTotalLines() + 1);
+                shipmentHeader.setTotalQty(shipmentHeader.getTotalQty().add(shipmentDetail.getQty()));
+                shipmentHeaderService.updateByModel(shipmentHeader);
+            }
+            else {
+                return AjaxResult.error("新增单据明细失败");
+            }
+        }
+        return AjaxResult.success("出库单下发成功");
+    }
+
+
+
+    //出库单回传
+    @Log(title = "出库单回传", action = BusinessType.INSERT)
+    @PostMapping("/shipmentAssign")
+    @ResponseBody
+    public AjaxResult shipmentAssign(String url)
+    {
+        ShipmentHeader shipmentHeader = new ShipmentHeader();
+        shipmentHeader.setLastStatus(300);
+        shipmentHeader = shipmentHeaderService.selectFirstEntity(shipmentHeader);
+        if (shipmentHeader == null) {
+            return AjaxResult.error("出库回传主单不存在");
+        }
+        ShipmentDetail shipmentDetail = new ShipmentDetail();
+        shipmentDetail.setShipmentCode(shipmentHeader.getCode());
+        List<ShipmentDetail> shipmentDetails = shipmentDetailService.selectListEntityByEqual(shipmentDetail);
+        if (shipmentDetails == null) {
+            return AjaxResult.error("出库回传子单不存在");
+        }
+        ShipmentModel model=new ShipmentModel();
+        model.setShipmentHeader(shipmentHeader);
+        model.setShipmentDetails(shipmentDetails);
+        String JsonParam = JSON.toJSONString(model);
+        String result = HttpUtils.sendPost(url, JsonParam);
+        AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
+        shipmentHeader.setFirstStatus(900);
+        shipmentHeader.setLastStatus(900);
+        shipmentHeaderService.updateByModel(shipmentHeader);
+        return ajaxResult;
+    }
+
+
+}
diff --git a/src/main/java/com/huaheng/api/U8/controller/ICSShipmentApi.java b/src/main/java/com/huaheng/api/U8/controller/ICSShipmentApi.java
new file mode 100644
index 0000000..2f8a86d
--- /dev/null
+++ b/src/main/java/com/huaheng/api/U8/controller/ICSShipmentApi.java
@@ -0,0 +1,53 @@
+package com.huaheng.api.U8.controller;
+
+import com.huaheng.api.U8.domain.ICSShipmentModel;
+import com.huaheng.api.U8.service.ICSShipmentService;
+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 io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * u8-wms出库下发或回传接口
+ *
+ *
+ */
+
+
+@RestController
+@RequestMapping("/api/ICSShipment")
+@Api(tags = {"shipment"}, description = "出库下发或回传接口")
+public class ICSShipmentApi extends BaseController {
+
+
+    @Autowired
+    private ICSShipmentService icsShipmentService;
+
+    //出库下发
+    @Log(title = "出库下发", action = BusinessType.INSERT)
+    @PostMapping("/insertICSShipment")
+    @ResponseBody
+    public AjaxResult insertICSShipment(ICSShipmentModel icsShipmentModel){
+        AjaxResult ajaxResult = icsShipmentService.insertICSShipment(icsShipmentModel);
+        return ajaxResult;
+    }
+
+
+
+    //出库下发
+    @Log(title = "出库回传", action = BusinessType.GRANT)
+    @PostMapping("/ICSShipmentAssign")
+    @ResponseBody
+    public AjaxResult ICSShipmentAssign(String url){
+        AjaxResult ajaxResult = icsShipmentService.ICSShipmentAssign(url);
+        return ajaxResult;
+    }
+
+
+}
diff --git a/src/main/java/com/huaheng/api/U8/domain/ICSShipmentModel.java b/src/main/java/com/huaheng/api/U8/domain/ICSShipmentModel.java
new file mode 100644
index 0000000..e4f3f1c
--- /dev/null
+++ b/src/main/java/com/huaheng/api/U8/domain/ICSShipmentModel.java
@@ -0,0 +1,36 @@
+package com.huaheng.api.U8.domain;
+
+import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
+import com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader;
+
+import java.util.List;
+
+
+/**
+ *
+ *  出库下发或回传模型
+ *    @author huaheng
+ *    @date 2018-12-18
+ *
+ */
+
+public class ICSShipmentModel {
+    private ICSShipmentHeader icsShipmentHeader;
+    private List<ICSShipmentDetail> icsShipmentDetails;
+
+    public ICSShipmentHeader getIcsShipmentHeader() {
+        return icsShipmentHeader;
+    }
+
+    public void setIcsShipmentHeader(ICSShipmentHeader icsShipmentHeader) {
+        this.icsShipmentHeader = icsShipmentHeader;
+    }
+
+    public List<ICSShipmentDetail> getIcsShipmentDetails() {
+        return icsShipmentDetails;
+    }
+
+    public void setIcsShipmentDetails(List<ICSShipmentDetail> icsShipmentDetails) {
+        this.icsShipmentDetails = icsShipmentDetails;
+    }
+}
diff --git a/src/main/java/com/huaheng/api/U8/service/ICSShipmentService.java b/src/main/java/com/huaheng/api/U8/service/ICSShipmentService.java
new file mode 100644
index 0000000..da02c52
--- /dev/null
+++ b/src/main/java/com/huaheng/api/U8/service/ICSShipmentService.java
@@ -0,0 +1,243 @@
+package com.huaheng.api.U8.service;
+
+import com.alibaba.fastjson.JSON;
+import com.huaheng.api.Common.ShipmentApi;
+import com.huaheng.api.U8.domain.ICSShipmentModel;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.http.HttpUtils;
+import com.huaheng.common.utils.security.ShiroUtils;
+import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.pc.general.company.domain.Company;
+import com.huaheng.pc.general.company.service.ICompanyService;
+import com.huaheng.pc.general.material.domain.Material;
+import com.huaheng.pc.general.material.service.IMaterialService;
+import com.huaheng.pc.general.warehouse.domain.Warehouse;
+import com.huaheng.pc.general.warehouse.service.IWarehouseService;
+import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
+import com.huaheng.pc.icsShipment.icsShipmentDetail.service.ICSShipmentDetailService;
+import com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader;
+import com.huaheng.pc.icsShipment.icsShipmentHeader.service.ICSShipmentHeaderService;
+import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
+import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentModel;
+import com.huaheng.pc.shipment.shipmentHeader.service.IShipmentHeaderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class ICSShipmentService {
+
+    @Autowired
+    private IShipmentHeaderService shipmentHeaderService;
+    @Autowired
+    IShipmentDetailService shipmentDetailService;
+    @Autowired
+    private IWarehouseService warehouseService;
+    @Autowired
+    private ICompanyService companyService;
+    @Autowired
+    private IMaterialService materialService;
+    @Autowired
+    private ICSShipmentHeaderService icsShipmentHeaderService;
+    @Autowired
+    private ICSShipmentDetailService icsShipmentDetailService;
+
+    //u8-wms出库下发
+    public AjaxResult insertICSShipment(ICSShipmentModel icsShipmentModel){
+
+        //获取主单和子单列
+        if(icsShipmentModel==null){
+            return AjaxResult.error("u8上传参数错误");
+        }
+        ICSShipmentHeader icsShipmentHeader=icsShipmentModel.getIcsShipmentHeader();
+        List<ICSShipmentDetail> icsShipmentDetails=icsShipmentModel.getIcsShipmentDetails();
+        if(icsShipmentHeader==null || icsShipmentDetails==null){
+            return AjaxResult.error("参数异常,不匹配");
+        }
+        //判断系统中有没有该货主
+        companyService.checkwarehouseCompany(icsShipmentHeader.getCompanyCode());
+
+        //将主表插入到新的接收主表里去
+        int result=icsShipmentHeaderService.insertModel(icsShipmentHeader);
+        if(result<1){
+            return AjaxResult.error("出库主单传输失败!");
+        }
+
+        //将子表插入到新的接收子表里去
+        for(ICSShipmentDetail item : icsShipmentDetails){
+            int result1=icsShipmentDetailService.insertModel(item);
+            if(result1<1){
+                return AjaxResult.error("出库子单传输失败!");
+            }
+        }
+
+        //根据icsShipmentHeader生成shipmentHeader
+        String type=icsShipmentHeader.getcBusType();
+        ShipmentHeader shipmentHeader=new ShipmentHeader();
+        Warehouse warehouse=new Warehouse();
+        String warehouseCode=new String();
+        if(type.equals("调拨")){
+            warehouseCode=icsShipmentHeader.getoWHCode();
+        }else {
+            warehouseCode=icsShipmentHeader.getcWHCode();
+        }
+        warehouse.setCode(warehouseCode);
+        int warehouseId=warehouseService.selectFirstEntity(warehouse).getId();
+        Company company=new Company();
+        String companyCode=icsShipmentHeader.getCompanyCode();
+        company.setCode(companyCode);
+        int companyId=companyService.selectFirstEntity(company).getId();
+        String code = shipmentHeaderService.createCode(type);
+        shipmentHeader.setType(type);
+        shipmentHeader.setId(null);
+        shipmentHeader.setLastUpdated(null);
+        shipmentHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
+        shipmentHeader.setCreated(null);
+        shipmentHeader.setCreatedBy(ShiroUtils.getLoginName());
+        shipmentHeader.setWarehouseId(warehouseId);
+        shipmentHeader.setWarehouseCode(warehouseCode);
+        shipmentHeader.setCompanyId(companyId);
+        shipmentHeader.setCompanyCode(companyCode);
+        shipmentHeader.setCode(code);
+        shipmentHeader.setUploadStatus(0);
+        if(type.equals("生产")){
+            shipmentHeader.setSourceCode(icsShipmentHeader.getMoCode());
+        }else if(type.equals("销售")){
+            shipmentHeader.setSourceCode(icsShipmentHeader.getcDLCode());
+        }else if(type.equals("调拨")){
+            shipmentHeader.setSourceCode(icsShipmentHeader.getcTVCode());
+        }
+        else {
+            shipmentHeader.setSourceCode(icsShipmentHeader.getcCode());
+        }
+
+
+
+
+        //根据icsShipmentDetail生成shipmentAetail
+        List<ShipmentDetail> shipmentDetails=new ArrayList<ShipmentDetail>();
+        for(ICSShipmentDetail icsShipmentDetail : icsShipmentDetails) {
+            //查找物料
+            Material material = new Material();
+            material.setCode(icsShipmentDetail.getcInvCode());
+            material=materialService.selectFirstEntity(material);
+
+            ShipmentDetail shipmentDetail = new ShipmentDetail();
+            shipmentDetail.setId(null);
+            shipmentDetail.setWarehouseId(warehouseId);
+            shipmentDetail.setWarehouseCode(icsShipmentDetail.getcWHCode());
+            shipmentDetail.setMaterialId(material.getId());
+            shipmentDetail.setMaterialCode(material.getCode());
+            shipmentDetail.setCreated(null);
+            shipmentDetail.setCreatedBy(ShiroUtils.getLoginName());
+            shipmentDetail.setLastUpdated(null);
+            shipmentDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
+            shipmentDetail.setCompanyId(companyId);
+            shipmentDetail.setCompanyCode(icsShipmentDetail.getCompanyCode());
+            shipmentDetail.setShipmentId(shipmentHeader.getId());
+            shipmentDetail.setShipmentCode(shipmentHeader.getCode());
+            if (StringUtils.isNotEmpty(icsShipmentDetail.getIrowno().toString())) {
+                shipmentDetail.setSourceLine(icsShipmentDetail.getIrowno().toString());
+            }
+            if (StringUtils.isNotEmpty(icsShipmentDetail.getSortSeq().toString())) {
+                shipmentDetail.setSourceLine(icsShipmentDetail.getSortSeq().toString());
+            }
+            shipmentDetail.setQty(icsShipmentDetail.getcQuantity());
+           shipmentDetails.add(shipmentDetail);
+        }
+
+        //调用公共API
+        ShipmentApi shipmentApi=new ShipmentApi();
+        ShipmentModel shipmentModel=new ShipmentModel();
+        shipmentModel.setShipmentHeader(shipmentHeader);
+        shipmentModel.setShipmentDetails(shipmentDetails);
+        return shipmentApi.insertShipment(shipmentModel);
+    }
+
+
+
+    //wms-u8出库回传
+    public AjaxResult ICSShipmentAssign(String url){
+
+        //先找到出库主单
+        ShipmentHeader shipmentHeader = new ShipmentHeader();
+        shipmentHeader.setLastStatus(300);
+        shipmentHeader = shipmentHeaderService.selectFirstEntity(shipmentHeader);
+        if (shipmentHeader == null) {
+            return AjaxResult.error("出库回传主单不存在");
+        }
+        ShipmentDetail shipmentDetail = new ShipmentDetail();
+
+        shipmentDetail.setShipmentCode(shipmentHeader.getCode());
+        List<ShipmentDetail> shipmentDetails = shipmentDetailService.selectListEntityByEqual(shipmentDetail);
+        if (shipmentDetails == null) {
+            return AjaxResult.error("出库回传子单不存在");
+        }
+
+        ICSShipmentHeader icsShipmentHeader=new ICSShipmentHeader();
+        String type=shipmentHeader.getType();
+        String code=shipmentHeader.getSourceCode();
+        List<ICSShipmentDetail> icsShipmentDetails=new ArrayList<ICSShipmentDetail>();
+        ICSShipmentDetail icsShipmentDetail=new ICSShipmentDetail();
+
+
+        //出库类型为采购的主单和子单
+        if(type.equals("采购")){
+            icsShipmentHeader.setcCode(code);
+            icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader);
+            icsShipmentHeader.setID(shipmentHeader.getId());
+            icsShipmentDetail.setcCode(code);
+            icsShipmentDetails=icsShipmentDetailService.selectList(icsShipmentDetail);
+            for(ICSShipmentDetail item :icsShipmentDetails){
+                shipmentDetail.setShipmentCode(code);
+                shipmentDetail.setSourceLine(item.getIrowno().toString());
+                shipmentDetailService.selectFirstEntity(shipmentDetail);
+                item.setID(shipmentDetail.getId());
+            }
+        }
+
+        //出库类型为材料或其他的主单和子单
+        if(type.equals("材料") || type.equals("其他")){
+            icsShipmentHeader.setcCode(code);
+            icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader);
+            icsShipmentDetail.setcCode(code);
+            icsShipmentDetails=icsShipmentDetailService.selectList(icsShipmentDetail);
+        }
+
+        //出库类型为销售的主单和子单
+        if(type.equals("销售")){
+            icsShipmentHeader.setcDLCode (code);
+            icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader);
+            icsShipmentHeader.setcCode(shipmentHeader.getSourceCode());
+            icsShipmentHeader.setID(icsShipmentHeader.getDLID());
+            icsShipmentHeader.setdDate(icsShipmentHeader.getdPODate());
+        }
+
+        //出库类型为调拨的主单和子单
+        if(type.equals("调拨")){
+            icsShipmentHeader.setcTVCode (code);
+            icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader);
+            icsShipmentHeader.setcCode(shipmentHeader.getSourceCode());
+            icsShipmentHeader.setcWHCode(icsShipmentHeader.getoWHCode());
+            icsShipmentHeader.setcWHName(icsShipmentHeader.getoWHName());
+        }
+
+
+
+        ICSShipmentModel model=new ICSShipmentModel();
+        model.setIcsShipmentHeader(icsShipmentHeader);
+        model.setIcsShipmentDetails(icsShipmentDetails);
+        String JsonParam = JSON.toJSONString(model);
+        String result = HttpUtils.sendPost(url, JsonParam);
+        AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
+        shipmentHeader.setFirstStatus(900);
+        shipmentHeader.setLastStatus(900);
+        shipmentHeaderService.updateByModel(shipmentHeader);
+        return ajaxResult;
+
+    }
+}
diff --git a/src/main/java/com/huaheng/mobile/inventory/MobileInventory.java b/src/main/java/com/huaheng/mobile/inventory/MobileInventory.java
index 6230cf8..9250419 100644
--- a/src/main/java/com/huaheng/mobile/inventory/MobileInventory.java
+++ b/src/main/java/com/huaheng/mobile/inventory/MobileInventory.java
@@ -8,7 +8,7 @@ public class MobileInventory {
     private int id;
     /** 库位编号 */
     private String locationCode;
-    /** 物料编码 */
+    /** 存货编码 */
     private String materialCode;
     /**物料名称  */
     private String materialName;
diff --git a/src/main/java/com/huaheng/mobile/inventory/MobileInventoryController.java b/src/main/java/com/huaheng/mobile/inventory/MobileInventoryController.java
index b87a0cd..097105d 100644
--- a/src/main/java/com/huaheng/mobile/inventory/MobileInventoryController.java
+++ b/src/main/java/com/huaheng/mobile/inventory/MobileInventoryController.java
@@ -41,7 +41,7 @@ public class MobileInventoryController {
     @PostMapping("/getInventoryInfo")
     @ApiOperation("移动端获得库存详情")
     @Log(title = "移动端获得库存详情", action = BusinessType.OTHER)
-    public AjaxResult getInventoryInfo(@RequestBody @ApiParam(value="物料编码或者库位号") Map<String, String> param) {
+    public AjaxResult getInventoryInfo(@RequestBody @ApiParam(value="存货编码或者库位号") Map<String, String> param) {
         if  (param.get("code") == null || param.get("code").trim().length() < 1)
             throw new JSONException("查询码(code)不能为空");
         if  (param.get("companyCode") == null || param.get("companyCode").trim().length() < 1)
diff --git a/src/main/java/com/huaheng/pc/general/customer/domain/ShipMaterialDetail.java b/src/main/java/com/huaheng/pc/general/customer/domain/ShipMaterialDetail.java
index 1b0d433..79c60d3 100644
--- a/src/main/java/com/huaheng/pc/general/customer/domain/ShipMaterialDetail.java
+++ b/src/main/java/com/huaheng/pc/general/customer/domain/ShipMaterialDetail.java
@@ -7,7 +7,7 @@ public class ShipMaterialDetail {
 
     /** 仓库 */
     private String warehouseCode;
-    /** 物料编码 */
+    /** 存货编码 */
     private String materialCode;
     /** 发货数量 */
     private BigDecimal qty = new BigDecimal(0);
diff --git a/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java b/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java
index ea64393..6f5b586 100644
--- a/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java
+++ b/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java
@@ -143,7 +143,7 @@ public class MaterialController extends BaseController
             receiptDetail.setDeleted(false);
             Map<String, Object> map = receiptDetailService.selectFirstMap("id", receiptDetail);
 			if (map != null) {
-                return AjaxResult.error("物料编码(" + material.getCode() +")存在入库单,不能删除!");
+                return AjaxResult.error("存货编码(" + material.getCode() +")存在入库单,不能删除!");
             }
             material.setDeleted(true);
             material.setLastUpdatedBy(ShiroUtils.getLoginName());
diff --git a/src/main/java/com/huaheng/pc/general/material/domain/Material.java b/src/main/java/com/huaheng/pc/general/material/domain/Material.java
index f4d412c..5c5ccaa 100644
--- a/src/main/java/com/huaheng/pc/general/material/domain/Material.java
+++ b/src/main/java/com/huaheng/pc/general/material/domain/Material.java
@@ -24,7 +24,7 @@ public class Material extends BaseEntity
 	private Integer warehouseId;
 	/** 仓库编码 */
 	private String warehouseCode;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String code;
 	/** 物料类别 */
 	private String type;
diff --git a/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java b/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java
index 34d0bd8..b8a36d4 100644
--- a/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java
@@ -90,7 +90,11 @@ public class MaterialServiceImpl implements IMaterialService {
         material.getCompanyCodeList().add("");
         material.setEnable(true);
         material.setDeleted(false);
-        material.setCode(materialCode);
+        if(materialCode.length() == 11) {
+            material.setCode(materialCode);
+        } else {
+            material.setUserDef1(materialCode);
+        }
         Material result= selectFirstEntity(material);
         if(result == null) {
             material = new Material();
diff --git a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentDetail/domain/ICSShipmentDetail.java b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentDetail/domain/ICSShipmentDetail.java
index b9cf476..b12ec4b 100644
--- a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentDetail/domain/ICSShipmentDetail.java
+++ b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentDetail/domain/ICSShipmentDetail.java
@@ -28,7 +28,7 @@ public class ICSShipmentDetail implements Serializable {
     private Integer AutoID;
 
     //采购单一类的行号
-    private Integer rowno;
+    private Integer irowno;
 
     //项目号
     private String cItemName ;
@@ -155,12 +155,12 @@ public class ICSShipmentDetail implements Serializable {
         AutoID = autoID;
     }
 
-    public Integer getRowno() {
-        return rowno;
+    public Integer getIrowno() {
+        return irowno;
     }
 
-    public void setRowno(Integer rowno) {
-        this.rowno = rowno;
+    public void setIrowno(Integer irowno) {
+        this.irowno = irowno;
     }
 
     public String getcItemName() {
diff --git a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderService.java b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderService.java
index 733f2c4..b8f7fd7 100644
--- a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderService.java
+++ b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderService.java
@@ -17,6 +17,4 @@ public interface ICSShipmentHeaderService {
     //添加出库下发主单
     int insertModel(ICSShipmentHeader condition);
 
-    AjaxResult inserModel(ICSShipmentHeader condition);
-
 }
diff --git a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderServiceImpl.java
index c57edc2..149385c 100644
--- a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderServiceImpl.java
@@ -31,16 +31,5 @@ public class ICSShipmentHeaderServiceImpl implements ICSShipmentHeaderService {
         return icsShipmentHeaderMapper.insertModel(condition);
     }
 
-    @Override
-    public AjaxResult inserModel(ICSShipmentHeader condition) {
-        int result=0;
-        result=insertModel(condition);
-        if(result<1){
-            return AjaxResult.error("出库下发失败");
-        }else {
-            return AjaxResult.success("出库下发成功");
-        }
-    }
-
 
 }
diff --git a/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/domain/CyclecountDetail.java b/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/domain/CyclecountDetail.java
index d7e5e81..9e5753f 100644
--- a/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/domain/CyclecountDetail.java
+++ b/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/domain/CyclecountDetail.java
@@ -38,7 +38,7 @@ public class CyclecountDetail  extends BaseEntity
 	private String containerCode;
 	/** 物料Id */
 	private Integer materialId;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialCode;
 	//物料规格
 	private String materialSpecification;
diff --git a/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/service/CyclecountDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/service/CyclecountDetailServiceImpl.java
index 83ce8d6..8ab9d91 100644
--- a/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/service/CyclecountDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/service/CyclecountDetailServiceImpl.java
@@ -173,9 +173,9 @@ public class CyclecountDetailServiceImpl implements ICyclecountDetailService {
         }else{
             return AjaxResult.error("容器忙碌,请选择空闲容器!");
         }
-        //物料编码判定
+        //存货编码判定
         Material temp = new Material();
-        temp.setCode(cyclecountDetail.getMaterialCode());//物料编码
+        temp.setCode(cyclecountDetail.getMaterialCode());//存货编码
         temp.setWarehouseId(cyclecountHeader.getWarehouseId());
         temp.setDeleted(false);
         Material material = materialService.selectFirstEntity(temp);
@@ -186,9 +186,9 @@ public class CyclecountDetailServiceImpl implements ICyclecountDetailService {
             return AjaxResult.error("物料不属于当前货主!");
         }
         if(material.getCode().equals(cyclecountDetail.getMaterialCode())){
-            cyclecountDetail2.setMaterialCode(cyclecountDetail.getMaterialCode());//物料编码
+            cyclecountDetail2.setMaterialCode(cyclecountDetail.getMaterialCode());//存货编码
         }else{
-            return AjaxResult.error("物料编码错误!");
+            return AjaxResult.error("存货编码错误!");
         }
 
         cyclecountDetail2.setMaterialSpecification(material.getSpecification());  //物料规格
diff --git a/src/main/java/com/huaheng/pc/inventory/inventory/domain/Inventory.java b/src/main/java/com/huaheng/pc/inventory/inventory/domain/Inventory.java
index a3008e9..6e56832 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventory/domain/Inventory.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventory/domain/Inventory.java
@@ -43,8 +43,10 @@ public class Inventory  extends BaseEntity
 	private String companyCode;
 	/** 物料Id */
 	private Integer materialId;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialCode;
+	/** 物料代码 */
+	private String materialOldCode;
 	/** 物料名称 */
 	private String materialName;
 	/** 物料类别 */
@@ -205,6 +207,16 @@ public class Inventory  extends BaseEntity
 	{
 		return materialCode;
 	}
+
+	public String getMaterialOldCode() {
+		return materialOldCode;
+	}
+
+	public Inventory setMaterialOldCode(String materialOldCode) {
+		this.materialOldCode = materialOldCode;
+		return this;
+	}
+
 	public void setMaterialName(String materialName) 
 	{
 		this.materialName = materialName;
diff --git a/src/main/java/com/huaheng/pc/inventory/inventory/domain/InventorySearch.java b/src/main/java/com/huaheng/pc/inventory/inventory/domain/InventorySearch.java
index f45a1de..6734ee3 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventory/domain/InventorySearch.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventory/domain/InventorySearch.java
@@ -31,7 +31,7 @@ public class InventorySearch extends BaseEntity {
     private String companyCode;
     /** 物料Id */
     private Integer materialId;
-    /** 物料编码 */
+    /** 存货编码 */
     private String materialCode;
     /** 物料名称 */
     private String materialName;
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java b/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java
index 7812a4b..47ec058 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java
@@ -43,7 +43,7 @@ public class InventoryTransaction  extends BaseEntity
 	private String companyCode;
 	/** 物料Id */
 	private Integer materialId;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialCode;
 	/** 物料名称 */
 	private String materialName;
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java
index 253c2db..1d2ba48 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java
@@ -27,9 +27,9 @@ public class ReceiptContainerDetail extends BaseEntity
 	private Integer receiptId;
 	/** 入库单明细id号 */
 	private Integer receiptDetailId;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialCode;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialName;
 	/** 物料规格 */
 	private String materialSpec;
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
index e84b781..bfa3ed9 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
@@ -38,7 +38,7 @@ public class ReceiptDetail extends BaseEntity
 	private String receiptCode;
 	/** 物料Id */
 	private Integer materialId;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialCode;
 	/** 物料名称 */
 	private String materialName;
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java
index c0f67fd..ac7de67 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java
@@ -31,7 +31,7 @@ public class ReceiptDetailHistory  extends BaseEntity
 	private String receiptCode;
 	/** 物料Id */
 	private Integer materialId;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialCode;
 	/** 批次 */
 	private String batch;
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptModel.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptModel.java
new file mode 100644
index 0000000..f4c6ab0
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptModel.java
@@ -0,0 +1,26 @@
+package com.huaheng.pc.receipt.receiptHeader.domain;
+
+import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
+
+import java.util.List;
+
+public class ReceiptModel {
+    private ReceiptHeader receiptHeader;
+    private List<ReceiptDetail> receiptDetails;
+
+    public ReceiptHeader getReceiptHeader() {
+        return receiptHeader;
+    }
+
+    public void setReceiptHeader(ReceiptHeader receiptHeader) {
+        this.receiptHeader = receiptHeader;
+    }
+
+    public List<ReceiptDetail> getReceiptDetails() {
+        return receiptDetails;
+    }
+
+    public void setReceiptDetails(List<ReceiptDetail> receiptDetails) {
+        this.receiptDetails = receiptDetails;
+    }
+}
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java
index ebe665c..79b839d 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java
@@ -27,7 +27,7 @@ public class ShipmentContainerDetail extends BaseEntity
 	private Integer shipmentHeaderId;
 	/** 出库明细id号 */
 	private Integer shipmentDetailId;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialCode;
 	/**  物料名称 */
 	private String materialName;
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
index b813fdd..bfba136 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
@@ -161,7 +161,7 @@ public class ShipmentContainerHeaderServiceImpl implements IShipmentContainerHea
             if (shipmentQty.compareTo(BigDecimal.ZERO) <= 0) {
                 continue;
             }
-            // 根据 仓库编码、货主编码、物料编码,物料状态来查找可以出库的物料
+            // 根据 仓库编码、货主编码、存货编码,物料状态来查找可以出库的物料
             ShippingSearch search = new ShippingSearch();
             search.setWarehouseCode(ShiroUtils.getWarehouseCode());
             search.setCompanyCode(item.getCompanyCode());
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
index 6ea0365..3086c6d 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
@@ -10,7 +10,6 @@ import com.huaheng.pc.general.material.domain.Material;
 import com.huaheng.pc.general.material.service.IMaterialService;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService;
-import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -88,9 +87,9 @@ public class ShipmentDetailController extends BaseController
 	@Log(title = "出库-出库单", operating= "新增出库明细", action = BusinessType.INSERT)
 	@PostMapping("/add")
 	@ResponseBody
-	public AjaxResult addSave(ICSShipmentDetail uwshipmentDetail)
+	public AjaxResult addSave(ShipmentDetail shipmentDetail)
 	{		
-		return shipmentDetailService.insertDetail(uwshipmentDetail);
+		return shipmentDetailService.insertDetail(shipmentDetail);
 	}
 
 	/**
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
index e1607d6..801fe26 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
@@ -38,7 +38,7 @@ public class ShipmentDetail extends BaseEntity implements Cloneable
 	private String shipmentCode;
 	/** 物料Id */
 	private Integer materialId;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialCode;
 	/** 物料名称 */
 	private String materialName;
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/IShipmentDetailService.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/IShipmentDetailService.java
index 37dcea4..4a328cc 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/IShipmentDetailService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/IShipmentDetailService.java
@@ -5,7 +5,6 @@ import com.huaheng.mobile.shipment.ShipmentBill;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetailSearchModel;
 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
-import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
 
 import java.util.List;
 import java.util.Map;
@@ -44,7 +43,7 @@ public interface IShipmentDetailService  {
 
     AjaxResult<List<ShipmentDetail>> listDetails(ShipmentDetailSearchModel shipmentDetailSearchModel);
 
-    AjaxResult insertDetail(ICSShipmentDetail uwshipmentDetail);
+    AjaxResult insertDetail(ShipmentDetail shipmentDetail);
 
     AjaxResult updateDetail(ShipmentDetail shipmentDetail);
 
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 c15253e..ef711b5 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
@@ -7,15 +7,12 @@ import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.mobile.shipment.ShipmentBill;
 import com.huaheng.pc.general.material.domain.Material;
 import com.huaheng.pc.general.material.service.MaterialServiceImpl;
-import com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader;
-import com.huaheng.pc.icsShipment.icsShipmentHeader.service.ICSShipmentHeaderService;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetailSearchModel;
 import com.huaheng.pc.shipment.shipmentDetail.mapper.ShipmentDetailMapper;
 import com.huaheng.pc.shipment.shipmentDetail.mapper.ShipmentDetailMapperAuto;
 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
 import com.huaheng.pc.shipment.shipmentHeader.service.IShipmentHeaderService;
-import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -43,8 +40,6 @@ public class ShipmentDetailServiceImpl implements IShipmentDetailService {
     private ShipmentDetailMapper shipmentDetailMapper;
     @Autowired
     private MaterialServiceImpl materialService;
-    @Autowired
-    private ICSShipmentHeaderService icsShipmentHeaderService;
 
     public List<ShipmentDetail> selectListEntityByLike(ShipmentDetail condition) {
         List<ShipmentDetail> shipmentDetails = aotuMapper.selectListEntityByLike(condition);
@@ -117,30 +112,12 @@ public class ShipmentDetailServiceImpl implements IShipmentDetailService {
     /**
      * 新增出库明细
      *
-     * @param icsShipmentDetail
+     * @param shipmentDetail
      * @return
      */
     @Override
-    public AjaxResult insertDetail(ICSShipmentDetail icsShipmentDetail) {
-        ShipmentHeader shipmentHeader = new ShipmentHeader();
-        ICSShipmentHeader icsShipmentHeader=new ICSShipmentHeader();
-        if(StringUtils.isNotEmpty(icsShipmentDetail.getDLID().toString())){
-            icsShipmentHeader.setDLID(icsShipmentDetail.getDLID());
-            shipmentHeader.setSourceCode(icsShipmentHeaderService.selectModel(icsShipmentHeader).getcDLCode());
-            shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader);
-        }else if(StringUtils.isNotEmpty(icsShipmentDetail.getMoId().toString())){
-            icsShipmentHeader.setMoId(icsShipmentDetail.getMoId());
-            shipmentHeader.setSourceCode(icsShipmentHeaderService.selectModel(icsShipmentHeader).getMoCode());
-            shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader);
-        }else if(StringUtils.isNotEmpty(icsShipmentDetail.getcCode())){
-            shipmentHeader.setSourceCode(icsShipmentDetail.getcCode());
-            shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader);
-        }else {
-            icsShipmentHeader.setID(icsShipmentDetail.getID());
-            shipmentHeader.setSourceCode(icsShipmentHeaderService.selectModel(icsShipmentHeader).getcTVCode());
-            shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader);
-        }
-
+    public AjaxResult insertDetail(ShipmentDetail shipmentDetail) {
+        ShipmentHeader shipmentHeader = shipmentHeaderService.selectEntityById(shipmentDetail.getShipmentId());
         if (shipmentHeader == null) {
             return AjaxResult.error("找不到主单据");
         }
@@ -149,38 +126,27 @@ public class ShipmentDetailServiceImpl implements IShipmentDetailService {
             return AjaxResult.error("主单据状态不允许新增明细");
         }
         Material material = new Material();
-        material.setCode(icsShipmentDetail.getcInvCode());
-        material.setWarehouseId(icsShipmentDetail.getWarehouseId());
+        material.setCode(shipmentDetail.getMaterialCode());
+        material.setWarehouseId(ShiroUtils.getWarehouseId());
         material = materialService.selectFirstEntity(material);
         if (material == null) {
             return AjaxResult.error("物料未找到");
         }
         if (StringUtils.isNotEmpty(material.getCompanyCode()) &&
-                material.getCompanyCode()!=icsShipmentDetail.getCompanyCode())
+                ShiroUtils.getCompanyCodeList().contains(material.getCompanyCode()) == false)
         {
             return AjaxResult.error("物料不属于当前货主!");
         }
-        ShipmentDetail shipmentDetail=new ShipmentDetail();
         shipmentDetail.setId(null);
-        shipmentDetail.setWarehouseId(icsShipmentDetail.getWarehouseId());
-        shipmentDetail.setWarehouseCode(icsShipmentDetail.getcWHCode());
+        shipmentDetail.setWarehouseId(ShiroUtils.getWarehouseId());
+        shipmentDetail.setWarehouseCode(ShiroUtils.getWarehouseCode());
         shipmentDetail.setMaterialId(material.getId());
         shipmentDetail.setMaterialCode(material.getCode());
+        shipmentDetail.setMaterialName(material.getName());
         shipmentDetail.setCreated(null);
         shipmentDetail.setCreatedBy(ShiroUtils.getLoginName());
         shipmentDetail.setLastUpdated(null);
         shipmentDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
-        shipmentDetail.setCompanyId(icsShipmentDetail.getCompanyId());
-        shipmentDetail.setCompanyCode(icsShipmentDetail.getCompanyCode());
-        shipmentDetail.setShipmentId(shipmentHeader.getId());
-        shipmentDetail.setShipmentCode(shipmentHeader.getCode());
-        if(StringUtils.isNotEmpty(icsShipmentDetail.getRowno().toString())) {
-            shipmentDetail.setSourceLine(icsShipmentDetail.getRowno().toString());
-        }
-        if(StringUtils.isNotEmpty(icsShipmentDetail.getSortSeq().toString())) {
-            shipmentDetail.setSourceLine(icsShipmentDetail.getSortSeq().toString());
-        }
-        shipmentDetail.setQty(icsShipmentDetail.getcQuantity());
         if (this.insert(shipmentDetail) > 0){
             //更新单据总行数与总数量
             shipmentHeader.setTotalLines(shipmentHeader.getTotalLines() + 1);
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java
index 7a863c5..14b1325 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java
@@ -31,7 +31,7 @@ public class ShipmentDetailHistory extends BaseEntity
 	private String shipmentCode;
 	/** 物料Id */
 	private Integer materialId;
-	/** 物料编码 */
+	/** 存货编码 */
 	private String materialCode;
 	/** 批次 */
 	private String batch;
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentModel.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentModel.java
new file mode 100644
index 0000000..7c0be7e
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentModel.java
@@ -0,0 +1,26 @@
+package com.huaheng.pc.shipment.shipmentHeader.domain;
+
+import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
+
+import java.util.List;
+
+public class ShipmentModel {
+    private ShipmentHeader shipmentHeader;
+    private List<ShipmentDetail> shipmentDetails;
+
+    public ShipmentHeader getShipmentHeader() {
+        return shipmentHeader;
+    }
+
+    public void setShipmentHeader(ShipmentHeader shipmentHeader) {
+        this.shipmentHeader = shipmentHeader;
+    }
+
+    public List<ShipmentDetail> getShipmentDetails() {
+        return shipmentDetails;
+    }
+
+    public void setShipmentDetails(List<ShipmentDetail> shipmentDetails) {
+        this.shipmentDetails = shipmentDetails;
+    }
+}
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/IShipmentHeaderService.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/IShipmentHeaderService.java
index 561abf1..daa540c 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/IShipmentHeaderService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/IShipmentHeaderService.java
@@ -86,6 +86,8 @@ public interface IShipmentHeaderService {
     Integer createTodayShipmentHeader(String companyId, String companyCode);
 
     void statistics(Integer shipmentId);
+
+     String createCode(String shipmentType);
 }
 	
 
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 02463ae..5be581a 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
@@ -363,7 +363,7 @@ public class ShipmentHeaderServiceImpl implements IShipmentHeaderService {
         }
     }
 
-    private String createCode(String shipmentType)
+    public String createCode(String shipmentType)
     {
         String code = null;
         Date now = new Date();
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 7ee985b..817a3a1 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
@@ -38,7 +38,7 @@ public class TaskDetail  extends BaseEntity
 	private Integer billDetailId;
     /** 单据编码 */
     private String billCode;
-	/** 物料编码  */
+	/** 存货编码  */
 	private String materialCode;
 	/** 物料名称 */
 	private String materialName;
diff --git a/src/main/resources/mybatis/general/MaterialMapperAuto.xml b/src/main/resources/mybatis/general/MaterialMapperAuto.xml
index fb0d212..c302150 100644
--- a/src/main/resources/mybatis/general/MaterialMapperAuto.xml
+++ b/src/main/resources/mybatis/general/MaterialMapperAuto.xml
@@ -32,8 +32,9 @@
     <if test="companyCode != null and companyCode != '' "> 
         AND companyCode = #{companyCode}
     </if>
-    <if test="code != null and code != '' "> 
-        AND code = #{code}
+    <if test="code != null and code != '' ">
+        <bind name="codePattern" value="'%' + code + '%'" />
+        AND code like #{codePattern}
     </if>
     <if test="type != null and type != '' "> 
         AND type = #{type}
diff --git a/src/main/resources/mybatis/icsShipment/ICSShipmentDetailMapper.xml b/src/main/resources/mybatis/icsShipment/ICSShipmentDetailMapper.xml
index 211365e..5fd53f1 100644
--- a/src/main/resources/mybatis/icsShipment/ICSShipmentDetailMapper.xml
+++ b/src/main/resources/mybatis/icsShipment/ICSShipmentDetailMapper.xml
@@ -13,8 +13,8 @@
             <if test="AutoID != null">
                 AutoID,
             </if>
-            <if test="rowno != null">
-                rowno,
+            <if test="irowno != null">
+                irowno,
             </if>
             <if test="cItemName != null">
                 cItemName,
@@ -108,8 +108,8 @@
             <if test="AutoID != null">
                 #{AutoID, jdbcType=INTEGER},
             </if>
-            <if test="rowno != null">
-                #{rowno, jdbcType=INTEGER},
+            <if test="irowno != null">
+                #{irowno, jdbcType=INTEGER},
             </if>
             <if test="cItemName != null">
                 #{cItemName, jdbcType=VARCHAR},
@@ -197,7 +197,7 @@
 
     <select id="selectModel"
             resultType="com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail">
-        SELECT cCode, ID, AutoID,rowno,cItemName, DLID, cSOCode, cSOID, cSOAutoID , MoId, MoDId,MoCode, SortSeq, cWHCode,cWHName,cInvCode,cInvName,cInvStd,iQuantity,cQuantity,cComUnitName,StartDate,DueDate,CompanyCode,cModifyDate,cMemo,iMaIDs, POCode, POID, PODID, iTrIds, iDLsID
+        SELECT cCode, ID, AutoID,irowno,cItemName, DLID, cSOCode, cSOID, cSOAutoID , MoId, MoDId,MoCode, SortSeq, cWHCode,cWHName,cInvCode,cInvName,cInvStd,iQuantity,cQuantity,cComUnitName,StartDate,DueDate,CompanyCode,cModifyDate,cMemo,iMaIDs, POCode, POID, PODID, iTrIds, iDLsID
         from icsShipment_detail
         <where>
             <if test="cCode != null">
@@ -212,8 +212,8 @@
             <if test="cItemName != null">
                 AND cItemName = #{cItemName}
             </if>
-            <if test="rowno != null">
-                AND rowno = #{rowno}
+            <if test="irowno != null">
+                AND irowno = #{irowno}
             </if>
             <if test="DLID != null">
                 AND DLID = #{DLID}
@@ -300,5 +300,106 @@
 
     </select>
 
-    <select id="selectList" resultType="com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail"></select>
+    <select id="selectList" resultType="com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail">
+        SELECT cCode, ID, AutoID,irowno,cItemName, DLID, cSOCode, cSOID, cSOAutoID , MoId, MoDId,MoCode, SortSeq, cWHCode,cWHName,cInvCode,cInvName,cInvStd,iQuantity,cQuantity,cComUnitName,StartDate,DueDate,CompanyCode,cModifyDate,cMemo,iMaIDs, POCode, POID, PODID, iTrIds, iDLsID
+        from icsShipment_detail
+        <where>
+            <if test="cCode != null">
+                AND cCode = #{cCode}
+            </if>
+            <if test="ID != null">
+                AND ID = #{ID}
+            </if>
+            <if test="AutoID != null">
+                AND AutoID = #{AutoID}
+            </if>
+            <if test="cItemName != null">
+                AND cItemName = #{cItemName}
+            </if>
+            <if test="irowno != null">
+                AND irowno = #{irowno}
+            </if>
+            <if test="DLID != null">
+                AND DLID = #{DLID}
+            </if>
+            <if test="cSOCode != null">
+                AND cSOCode = #{cSOCode}
+            </if>
+            <if test="cSOID != null">
+                AND cSOID = #{cSOID}
+            </if>
+            <if test="cSOAutoID != null">
+                AND cSOAutoID = #{cSOAutoID}
+            </if>
+            <if test="MoId != null">
+                AND MoId = #{MoId}
+            </if>
+            <if test="MoDId != null">
+                AND MoDId = #{MoDId}
+            </if>
+            <if test="MoCode != null">
+                AND MoCode = #{MoCode}
+            </if>
+            <if test="SortSeq != null">
+                AND SortSeq = #{SortSeq}
+            </if>
+            <if test="cWHCode != null">
+                AND cWHCode = #{cWHCode}
+            </if>
+            <if test="cWHName != null">
+                AND cWHName = #{cWHName}
+            </if>
+            <if test="cInvCode != null">
+                AND cInvCode = #{cInvCode}
+            </if>
+            <if test="cInvName != null">
+                AND cInvName = #{cInvName}
+            </if>
+            <if test="cInvStd != null">
+                AND cInvStd = #{cInvStd}
+            </if>
+            <if test="iQuantity != null">
+                AND iQuantity = #{iQuantity}
+            </if>
+            <if test="cQuantity != null">
+                AND cQuantity = #{cQuantity}
+            </if>
+            <if test="cComUnitName != null">
+                AND cComUnitName = #{cComUnitName}
+            </if>
+            <if test="StartDate != null">
+                AND StartDate = #{StartDate}
+            </if>
+            <if test="DueDate != null">
+                AND DueDate = #{DueDate}
+            </if>
+            <if test="CompanyCode != null">
+                AND CompanyCode = #{CompanyCode}
+            </if>
+            <if test="cModifyDate != null">
+                AND cModifyDate = #{cModifyDate}
+            </if>
+            <if test="cMemo != null">
+                AND cMemo = #{cMemo}
+            </if>
+            <if test="iMaIDs != null">
+                AND iMaIDs = #{iMaIDs}
+            </if>
+            <if test="POCode != null">
+                AND POCode = #{POCode}
+            </if>
+            <if test="POID != null">
+                AND POID = #{POID}
+            </if>
+            <if test="PODID != null">
+                AND PODID = #{PODID}
+            </if>
+            <if test="iTrIds != null">
+                AND iTrIds = #{iTrIds}
+            </if>
+            <if test="iDLsID != null">
+                AND iDLsID = #{iDLsID}
+            </if>
+        </where>
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/icsShipment/ICSShipmentHeaderMapper.xml b/src/main/resources/mybatis/icsShipment/ICSShipmentHeaderMapper.xml
index 3d839bb..a29c699 100644
--- a/src/main/resources/mybatis/icsShipment/ICSShipmentHeaderMapper.xml
+++ b/src/main/resources/mybatis/icsShipment/ICSShipmentHeaderMapper.xml
@@ -4,7 +4,7 @@
 
     <select id="selectModel"
             resultType="com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader">
-        SELECT cCode, ID, dPODate, cVenCode, cVenName, cBusType, cDepCode, cDepName, cPersonCode, cPersonName, cMemo, cMaker, cVerifier, CompanyCode, cModifyDate, dDate, cRDName, cWHCode, cWHName, MoId, MoCode, DLID, cDLCode, cCusCode, cCusName, cSTName
+        SELECT cCode, ID, dPODate, cVenCode, cVenName, cBusType, cDepCode, cDepName, cPersonCode, cPersonName, cMemo, cMaker, cVerifier, CompanyCode, cModifyDate,cTVCode, dDate, cRDName, cWHCode, cWHName,oWHCode, oWHName, MoId, MoCode, DLID, cDLCode, cCusCode, cCusName, cSTName
         from icsShipment_header
         <where>
             <if test="cCode != null">
@@ -61,6 +61,15 @@
             <if test="cWHCode != null">
                 AND cWHCode = #{cWHCode}
             </if>
+            <if test="cWHName != null">
+                AND cWHName = #{cWHName}
+            </if>
+            <if test="oWHCode != null">
+                AND oWHCode = #{oWHCode}
+            </if>
+            <if test="oWHName != null">
+                AND oWHName = #{oWHName}
+            </if>
             <if test="cTVCode != null">
                 AND cTVCode = #{cTVCode}
             </if>
@@ -151,6 +160,12 @@
             <if test="cWHName != null">
                 cWHName,
             </if>
+            <if test="oWHCode != null">
+                oWHCode,
+            </if>
+            <if test="oWHName != null">
+                oWHName,
+            </if>
             <if test="cTVCode != null">
                 cTVCode,
             </if>
@@ -234,6 +249,12 @@
             <if test="cWHName != null">
                 #{cWHName, jdbcType=VARCHAR},
             </if>
+            <if test="oWHCode != null">
+                #{oWHCode, jdbcType=VARCHAR},
+            </if>
+            <if test="oWHName != null">
+                #{oWHName, jdbcType=VARCHAR},
+            </if>
             <if test="cTVCode != null">
                 #{cTVCode, jdbcType=VARCHAR},
             </if>
diff --git a/src/main/resources/mybatis/shipment/ShippingCombinationMapper.xml b/src/main/resources/mybatis/shipment/ShippingCombinationMapper.xml
index 97768c1..dae59a2 100644
--- a/src/main/resources/mybatis/shipment/ShippingCombinationMapper.xml
+++ b/src/main/resources/mybatis/shipment/ShippingCombinationMapper.xml
@@ -7,7 +7,7 @@
                 i.receiptId, i.receiptCode,	i.receiptDetailId, i.batch, i.lot, i.project, i.manufactureDate,
                 i.expirationDate, i.status, i.qty, i.taskQty, i.costPrice, i.listPrice, i.netPrice, i.created,
                 i.createdBy, i.lastUpdated, i.lastUpdatedBy, i.userDef1, i.userDef2, i.userDef3, i.deleted,
-                m.name materialName
+                m.name materialName, m.userDef1 materialOldCode
         FROM inventory i
         INNER JOIN material m ON i.materialCode = m.code
                                 AND i.companyCode=#{companyCode}
diff --git a/src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js b/src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js
deleted file mode 100644
index f718c22..0000000
--- a/src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jquery-qrcode v0.14.0 - https://larsjung.de/jquery-qrcode/ */
-!function(r){"use strict";function t(t,e,n,o){function a(r,t){return r-=o,t-=o,0>r||r>=c||0>t||t>=c?!1:f.isDark(r,t)}function i(r,t,e,n){var o=u.isDark,a=1/l;u.isDark=function(i,u){var f=u*a,c=i*a,l=f+a,g=c+a;return o(i,u)&&(r>l||f>e||t>g||c>n)}}var u={},f=r(n,e);f.addData(t),f.make(),o=o||0;var c=f.getModuleCount(),l=f.getModuleCount()+2*o;return u.text=t,u.level=e,u.version=n,u.moduleCount=l,u.isDark=a,u.addBlank=i,u}function e(r,e,n,o,a){n=Math.max(1,n||1),o=Math.min(40,o||40);for(var i=n;o>=i;i+=1)try{return t(r,e,i,a)}catch(u){}}function n(r,t,e){var n=e.size,o="bold "+e.mSize*n+"px "+e.fontname,a=w("<canvas/>")[0].getContext("2d");a.font=o;var i=a.measureText(e.label).width,u=e.mSize,f=i/n,c=(1-f)*e.mPosX,l=(1-u)*e.mPosY,g=c+f,s=l+u,v=.01;1===e.mode?r.addBlank(0,l-v,n,s+v):r.addBlank(c-v,l-v,g+v,s+v),t.fillStyle=e.fontcolor,t.font=o,t.fillText(e.label,c*n,l*n+.75*e.mSize*n)}function o(r,t,e){var n=e.size,o=e.image.naturalWidth||1,a=e.image.naturalHeight||1,i=e.mSize,u=i*o/a,f=(1-u)*e.mPosX,c=(1-i)*e.mPosY,l=f+u,g=c+i,s=.01;3===e.mode?r.addBlank(0,c-s,n,g+s):r.addBlank(f-s,c-s,l+s,g+s),t.drawImage(e.image,f*n,c*n,u*n,i*n)}function a(r,t,e){w(e.background).is("img")?t.drawImage(e.background,0,0,e.size,e.size):e.background&&(t.fillStyle=e.background,t.fillRect(e.left,e.top,e.size,e.size));var a=e.mode;1===a||2===a?n(r,t,e):(3===a||4===a)&&o(r,t,e)}function i(r,t,e,n,o,a,i,u){r.isDark(i,u)&&t.rect(n,o,a,a)}function u(r,t,e,n,o,a,i,u,f,c){i?r.moveTo(t+a,e):r.moveTo(t,e),u?(r.lineTo(n-a,e),r.arcTo(n,e,n,o,a)):r.lineTo(n,e),f?(r.lineTo(n,o-a),r.arcTo(n,o,t,o,a)):r.lineTo(n,o),c?(r.lineTo(t+a,o),r.arcTo(t,o,t,e,a)):r.lineTo(t,o),i?(r.lineTo(t,e+a),r.arcTo(t,e,n,e,a)):r.lineTo(t,e)}function f(r,t,e,n,o,a,i,u,f,c){i&&(r.moveTo(t+a,e),r.lineTo(t,e),r.lineTo(t,e+a),r.arcTo(t,e,t+a,e,a)),u&&(r.moveTo(n-a,e),r.lineTo(n,e),r.lineTo(n,e+a),r.arcTo(n,e,n-a,e,a)),f&&(r.moveTo(n-a,o),r.lineTo(n,o),r.lineTo(n,o-a),r.arcTo(n,o,n-a,o,a)),c&&(r.moveTo(t+a,o),r.lineTo(t,o),r.lineTo(t,o-a),r.arcTo(t,o,t+a,o,a))}function c(r,t,e,n,o,a,i,c){var l=r.isDark,g=n+a,s=o+a,v=e.radius*a,h=i-1,d=i+1,w=c-1,m=c+1,y=l(i,c),T=l(h,w),p=l(h,c),B=l(h,m),A=l(i,m),E=l(d,m),k=l(d,c),M=l(d,w),C=l(i,w);y?u(t,n,o,g,s,v,!p&&!C,!p&&!A,!k&&!A,!k&&!C):f(t,n,o,g,s,v,p&&C&&T,p&&A&&B,k&&A&&E,k&&C&&M)}function l(r,t,e){var n,o,a=r.moduleCount,u=e.size/a,f=i;for(e.radius>0&&e.radius<=.5&&(f=c),t.beginPath(),n=0;a>n;n+=1)for(o=0;a>o;o+=1){var l=e.left+o*u,g=e.top+n*u,s=u;f(r,t,e,l,g,s,n,o)}if(w(e.fill).is("img")){t.strokeStyle="rgba(0,0,0,0.5)",t.lineWidth=2,t.stroke();var v=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",t.fill(),t.globalCompositeOperation=v,t.clip(),t.drawImage(e.fill,0,0,e.size,e.size),t.restore()}else t.fillStyle=e.fill,t.fill()}function g(r,t){var n=e(t.text,t.ecLevel,t.minVersion,t.maxVersion,t.quiet);if(!n)return null;var o=w(r).data("qrcode",n),i=o[0].getContext("2d");return a(n,i,t),l(n,i,t),o}function s(r){var t=w("<canvas/>").attr("width",r.size).attr("height",r.size);return g(t,r)}function v(r){return w("<img/>").attr("src",s(r)[0].toDataURL("image/png"))}function h(r){var t=e(r.text,r.ecLevel,r.minVersion,r.maxVersion,r.quiet);if(!t)return null;var n,o,a=r.size,i=r.background,u=Math.floor,f=t.moduleCount,c=u(a/f),l=u(.5*(a-c*f)),g={position:"relative",left:0,top:0,padding:0,margin:0,width:a,height:a},s={position:"absolute",padding:0,margin:0,width:c,height:c,"background-color":r.fill},v=w("<div/>").data("qrcode",t).css(g);for(i&&v.css("background-color",i),n=0;f>n;n+=1)for(o=0;f>o;o+=1)t.isDark(n,o)&&w("<div/>").css(s).css({left:l+o*c,top:l+n*c}).appendTo(v);return v}function d(r){return m&&"canvas"===r.render?s(r):m&&"image"===r.render?v(r):h(r)}var w=window.jQuery,m=function(){var r=document.createElement("canvas");return!(!r.getContext||!r.getContext("2d"))}(),y={render:"canvas",minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:0,quiet:0,mode:0,mSize:.1,mPosX:.5,mPosY:.5,label:"no label",fontname:"sans",fontcolor:"#000",image:null};w.fn.qrcode=function(r){var t=w.extend({},y,r);return this.each(function(r,e){"canvas"===e.nodeName.toLowerCase()?g(e,t):w(e).append(d(t))})}}(function(){var r=function(){function r(t,e){if("undefined"==typeof t.length)throw new Error(t.length+"/"+e);var n=function(){for(var r=0;r<t.length&&0==t[r];)r+=1;for(var n=new Array(t.length-r+e),o=0;o<t.length-r;o+=1)n[o]=t[o+r];return n}(),o={};return o.getAt=function(r){return n[r]},o.getLength=function(){return n.length},o.multiply=function(t){for(var e=new Array(o.getLength()+t.getLength()-1),n=0;n<o.getLength();n+=1)for(var a=0;a<t.getLength();a+=1)e[n+a]^=i.gexp(i.glog(o.getAt(n))+i.glog(t.getAt(a)));return r(e,0)},o.mod=function(t){if(o.getLength()-t.getLength()<0)return o;for(var e=i.glog(o.getAt(0))-i.glog(t.getAt(0)),n=new Array(o.getLength()),a=0;a<o.getLength();a+=1)n[a]=o.getAt(a);for(var a=0;a<t.getLength();a+=1)n[a]^=i.gexp(i.glog(t.getAt(a))+e);return r(n,0).mod(t)},o}var t=function(t,e){var o=236,i=17,l=t,g=n[e],s=null,v=0,d=null,w=new Array,m={},y=function(r,t){v=4*l+17,s=function(r){for(var t=new Array(r),e=0;r>e;e+=1){t[e]=new Array(r);for(var n=0;r>n;n+=1)t[e][n]=null}return t}(v),T(0,0),T(v-7,0),T(0,v-7),A(),B(),k(r,t),l>=7&&E(r),null==d&&(d=D(l,g,w)),M(d,t)},T=function(r,t){for(var e=-1;7>=e;e+=1)if(!(-1>=r+e||r+e>=v))for(var n=-1;7>=n;n+=1)-1>=t+n||t+n>=v||(e>=0&&6>=e&&(0==n||6==n)||n>=0&&6>=n&&(0==e||6==e)||e>=2&&4>=e&&n>=2&&4>=n?s[r+e][t+n]=!0:s[r+e][t+n]=!1)},p=function(){for(var r=0,t=0,e=0;8>e;e+=1){y(!0,e);var n=a.getLostPoint(m);(0==e||r>n)&&(r=n,t=e)}return t},B=function(){for(var r=8;v-8>r;r+=1)null==s[r][6]&&(s[r][6]=r%2==0);for(var t=8;v-8>t;t+=1)null==s[6][t]&&(s[6][t]=t%2==0)},A=function(){for(var r=a.getPatternPosition(l),t=0;t<r.length;t+=1)for(var e=0;e<r.length;e+=1){var n=r[t],o=r[e];if(null==s[n][o])for(var i=-2;2>=i;i+=1)for(var u=-2;2>=u;u+=1)-2==i||2==i||-2==u||2==u||0==i&&0==u?s[n+i][o+u]=!0:s[n+i][o+u]=!1}},E=function(r){for(var t=a.getBCHTypeNumber(l),e=0;18>e;e+=1){var n=!r&&1==(t>>e&1);s[Math.floor(e/3)][e%3+v-8-3]=n}for(var e=0;18>e;e+=1){var n=!r&&1==(t>>e&1);s[e%3+v-8-3][Math.floor(e/3)]=n}},k=function(r,t){for(var e=g<<3|t,n=a.getBCHTypeInfo(e),o=0;15>o;o+=1){var i=!r&&1==(n>>o&1);6>o?s[o][8]=i:8>o?s[o+1][8]=i:s[v-15+o][8]=i}for(var o=0;15>o;o+=1){var i=!r&&1==(n>>o&1);8>o?s[8][v-o-1]=i:9>o?s[8][15-o-1+1]=i:s[8][15-o-1]=i}s[v-8][8]=!r},M=function(r,t){for(var e=-1,n=v-1,o=7,i=0,u=a.getMaskFunction(t),f=v-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var c=0;2>c;c+=1)if(null==s[n][f-c]){var l=!1;i<r.length&&(l=1==(r[i]>>>o&1));var g=u(n,f-c);g&&(l=!l),s[n][f-c]=l,o-=1,-1==o&&(i+=1,o=7)}if(n+=e,0>n||n>=v){n-=e,e=-e;break}}},C=function(t,e){for(var n=0,o=0,i=0,u=new Array(e.length),f=new Array(e.length),c=0;c<e.length;c+=1){var l=e[c].dataCount,g=e[c].totalCount-l;o=Math.max(o,l),i=Math.max(i,g),u[c]=new Array(l);for(var s=0;s<u[c].length;s+=1)u[c][s]=255&t.getBuffer()[s+n];n+=l;var v=a.getErrorCorrectPolynomial(g),h=r(u[c],v.getLength()-1),d=h.mod(v);f[c]=new Array(v.getLength()-1);for(var s=0;s<f[c].length;s+=1){var w=s+d.getLength()-f[c].length;f[c][s]=w>=0?d.getAt(w):0}}for(var m=0,s=0;s<e.length;s+=1)m+=e[s].totalCount;for(var y=new Array(m),T=0,s=0;o>s;s+=1)for(var c=0;c<e.length;c+=1)s<u[c].length&&(y[T]=u[c][s],T+=1);for(var s=0;i>s;s+=1)for(var c=0;c<e.length;c+=1)s<f[c].length&&(y[T]=f[c][s],T+=1);return y},D=function(r,t,e){for(var n=u.getRSBlocks(r,t),c=f(),l=0;l<e.length;l+=1){var g=e[l];c.put(g.getMode(),4),c.put(g.getLength(),a.getLengthInBits(g.getMode(),r)),g.write(c)}for(var s=0,l=0;l<n.length;l+=1)s+=n[l].dataCount;if(c.getLengthInBits()>8*s)throw new Error("code length overflow. ("+c.getLengthInBits()+">"+8*s+")");for(c.getLengthInBits()+4<=8*s&&c.put(0,4);c.getLengthInBits()%8!=0;)c.putBit(!1);for(;;){if(c.getLengthInBits()>=8*s)break;if(c.put(o,8),c.getLengthInBits()>=8*s)break;c.put(i,8)}return C(c,n)};return m.addData=function(r){var t=c(r);w.push(t),d=null},m.isDark=function(r,t){if(0>r||r>=v||0>t||t>=v)throw new Error(r+","+t);return s[r][t]},m.getModuleCount=function(){return v},m.make=function(){y(!1,p())},m.createTableTag=function(r,t){r=r||2,t="undefined"==typeof t?4*r:t;var e="";e+='<table style="',e+=" border-width: 0px; border-style: none;",e+=" border-collapse: collapse;",e+=" padding: 0px; margin: "+t+"px;",e+='">',e+="<tbody>";for(var n=0;n<m.getModuleCount();n+=1){e+="<tr>";for(var o=0;o<m.getModuleCount();o+=1)e+='<td style="',e+=" border-width: 0px; border-style: none;",e+=" border-collapse: collapse;",e+=" padding: 0px; margin: 0px;",e+=" width: "+r+"px;",e+=" height: "+r+"px;",e+=" background-color: ",e+=m.isDark(n,o)?"#000000":"#ffffff",e+=";",e+='"/>';e+="</tr>"}return e+="</tbody>",e+="</table>"},m.createImgTag=function(r,t){r=r||2,t="undefined"==typeof t?4*r:t;var e=m.getModuleCount()*r+2*t,n=t,o=e-t;return h(e,e,function(t,e){if(t>=n&&o>t&&e>=n&&o>e){var a=Math.floor((t-n)/r),i=Math.floor((e-n)/r);return m.isDark(i,a)?0:1}return 1})},m};t.stringToBytes=function(r){for(var t=new Array,e=0;e<r.length;e+=1){var n=r.charCodeAt(e);t.push(255&n)}return t},t.createStringToBytes=function(r,t){var e=function(){for(var e=s(r),n=function(){var r=e.read();if(-1==r)throw new Error;return r},o=0,a={};;){var i=e.read();if(-1==i)break;var u=n(),f=n(),c=n(),l=String.fromCharCode(i<<8|u),g=f<<8|c;a[l]=g,o+=1}if(o!=t)throw new Error(o+" != "+t);return a}(),n="?".charCodeAt(0);return function(r){for(var t=new Array,o=0;o<r.length;o+=1){var a=r.charCodeAt(o);if(128>a)t.push(a);else{var i=e[r.charAt(o)];"number"==typeof i?(255&i)==i?t.push(i):(t.push(i>>>8),t.push(255&i)):t.push(n)}}return t}};var e={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},n={L:1,M:0,Q:3,H:2},o={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},a=function(){var t=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],n=1335,a=7973,u=21522,f={},c=function(r){for(var t=0;0!=r;)t+=1,r>>>=1;return t};return f.getBCHTypeInfo=function(r){for(var t=r<<10;c(t)-c(n)>=0;)t^=n<<c(t)-c(n);return(r<<10|t)^u},f.getBCHTypeNumber=function(r){for(var t=r<<12;c(t)-c(a)>=0;)t^=a<<c(t)-c(a);return r<<12|t},f.getPatternPosition=function(r){return t[r-1]},f.getMaskFunction=function(r){switch(r){case o.PATTERN000:return function(r,t){return(r+t)%2==0};case o.PATTERN001:return function(r,t){return r%2==0};case o.PATTERN010:return function(r,t){return t%3==0};case o.PATTERN011:return function(r,t){return(r+t)%3==0};case o.PATTERN100:return function(r,t){return(Math.floor(r/2)+Math.floor(t/3))%2==0};case o.PATTERN101:return function(r,t){return r*t%2+r*t%3==0};case o.PATTERN110:return function(r,t){return(r*t%2+r*t%3)%2==0};case o.PATTERN111:return function(r,t){return(r*t%3+(r+t)%2)%2==0};default:throw new Error("bad maskPattern:"+r)}},f.getErrorCorrectPolynomial=function(t){for(var e=r([1],0),n=0;t>n;n+=1)e=e.multiply(r([1,i.gexp(n)],0));return e},f.getLengthInBits=function(r,t){if(t>=1&&10>t)switch(r){case e.MODE_NUMBER:return 10;case e.MODE_ALPHA_NUM:return 9;case e.MODE_8BIT_BYTE:return 8;case e.MODE_KANJI:return 8;default:throw new Error("mode:"+r)}else if(27>t)switch(r){case e.MODE_NUMBER:return 12;case e.MODE_ALPHA_NUM:return 11;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 10;default:throw new Error("mode:"+r)}else{if(!(41>t))throw new Error("type:"+t);switch(r){case e.MODE_NUMBER:return 14;case e.MODE_ALPHA_NUM:return 13;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 12;default:throw new Error("mode:"+r)}}},f.getLostPoint=function(r){for(var t=r.getModuleCount(),e=0,n=0;t>n;n+=1)for(var o=0;t>o;o+=1){for(var a=0,i=r.isDark(n,o),u=-1;1>=u;u+=1)if(!(0>n+u||n+u>=t))for(var f=-1;1>=f;f+=1)0>o+f||o+f>=t||(0!=u||0!=f)&&i==r.isDark(n+u,o+f)&&(a+=1);a>5&&(e+=3+a-5)}for(var n=0;t-1>n;n+=1)for(var o=0;t-1>o;o+=1){var c=0;r.isDark(n,o)&&(c+=1),r.isDark(n+1,o)&&(c+=1),r.isDark(n,o+1)&&(c+=1),r.isDark(n+1,o+1)&&(c+=1),(0==c||4==c)&&(e+=3)}for(var n=0;t>n;n+=1)for(var o=0;t-6>o;o+=1)r.isDark(n,o)&&!r.isDark(n,o+1)&&r.isDark(n,o+2)&&r.isDark(n,o+3)&&r.isDark(n,o+4)&&!r.isDark(n,o+5)&&r.isDark(n,o+6)&&(e+=40);for(var o=0;t>o;o+=1)for(var n=0;t-6>n;n+=1)r.isDark(n,o)&&!r.isDark(n+1,o)&&r.isDark(n+2,o)&&r.isDark(n+3,o)&&r.isDark(n+4,o)&&!r.isDark(n+5,o)&&r.isDark(n+6,o)&&(e+=40);for(var l=0,o=0;t>o;o+=1)for(var n=0;t>n;n+=1)r.isDark(n,o)&&(l+=1);var g=Math.abs(100*l/t/t-50)/5;return e+=10*g},f}(),i=function(){for(var r=new Array(256),t=new Array(256),e=0;8>e;e+=1)r[e]=1<<e;for(var e=8;256>e;e+=1)r[e]=r[e-4]^r[e-5]^r[e-6]^r[e-8];for(var e=0;255>e;e+=1)t[r[e]]=e;var n={};return n.glog=function(r){if(1>r)throw new Error("glog("+r+")");return t[r]},n.gexp=function(t){for(;0>t;)t+=255;for(;t>=256;)t-=255;return r[t]},n}(),u=function(){var r=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],t=function(r,t){var e={};return e.totalCount=r,e.dataCount=t,e},e={},o=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return}};return e.getRSBlocks=function(r,e){var n=o(r,e);if("undefined"==typeof n)throw new Error("bad rs block @ typeNumber:"+r+"/errorCorrectLevel:"+e);for(var a=n.length/3,i=new Array,u=0;a>u;u+=1)for(var f=n[3*u+0],c=n[3*u+1],l=n[3*u+2],g=0;f>g;g+=1)i.push(t(c,l));return i},e}(),f=function(){var r=new Array,t=0,e={};return e.getBuffer=function(){return r},e.getAt=function(t){var e=Math.floor(t/8);return 1==(r[e]>>>7-t%8&1)},e.put=function(r,t){for(var n=0;t>n;n+=1)e.putBit(1==(r>>>t-n-1&1))},e.getLengthInBits=function(){return t},e.putBit=function(e){var n=Math.floor(t/8);r.length<=n&&r.push(0),e&&(r[n]|=128>>>t%8),t+=1},e},c=function(r){var n=e.MODE_8BIT_BYTE,o=t.stringToBytes(r),a={};return a.getMode=function(){return n},a.getLength=function(r){return o.length},a.write=function(r){for(var t=0;t<o.length;t+=1)r.put(o[t],8)},a},l=function(){var r=new Array,t={};return t.writeByte=function(t){r.push(255&t)},t.writeShort=function(r){t.writeByte(r),t.writeByte(r>>>8)},t.writeBytes=function(r,e,n){e=e||0,n=n||r.length;for(var o=0;n>o;o+=1)t.writeByte(r[o+e])},t.writeString=function(r){for(var e=0;e<r.length;e+=1)t.writeByte(r.charCodeAt(e))},t.toByteArray=function(){return r},t.toString=function(){var t="";t+="[";for(var e=0;e<r.length;e+=1)e>0&&(t+=","),t+=r[e];return t+="]"},t},g=function(){var r=0,t=0,e=0,n="",o={},a=function(r){n+=String.fromCharCode(i(63&r))},i=function(r){if(0>r);else{if(26>r)return 65+r;if(52>r)return 97+(r-26);if(62>r)return 48+(r-52);if(62==r)return 43;if(63==r)return 47}throw new Error("n:"+r)};return o.writeByte=function(n){for(r=r<<8|255&n,t+=8,e+=1;t>=6;)a(r>>>t-6),t-=6},o.flush=function(){if(t>0&&(a(r<<6-t),r=0,t=0),e%3!=0)for(var o=3-e%3,i=0;o>i;i+=1)n+="="},o.toString=function(){return n},o},s=function(r){var t=r,e=0,n=0,o=0,a={};a.read=function(){for(;8>o;){if(e>=t.length){if(0==o)return-1;throw new Error("unexpected end of file./"+o)}var r=t.charAt(e);if(e+=1,"="==r)return o=0,-1;r.match(/^\s$/)||(n=n<<6|i(r.charCodeAt(0)),o+=6)}var a=n>>>o-8&255;return o-=8,a};var i=function(r){if(r>=65&&90>=r)return r-65;if(r>=97&&122>=r)return r-97+26;if(r>=48&&57>=r)return r-48+52;if(43==r)return 62;if(47==r)return 63;throw new Error("c:"+r)};return a},v=function(r,t){var e=r,n=t,o=new Array(r*t),a={};a.setPixel=function(r,t,n){o[t*e+r]=n},a.write=function(r){r.writeString("GIF87a"),r.writeShort(e),r.writeShort(n),r.writeByte(128),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(255),r.writeByte(255),r.writeByte(255),r.writeString(","),r.writeShort(0),r.writeShort(0),r.writeShort(e),r.writeShort(n),r.writeByte(0);var t=2,o=u(t);r.writeByte(t);for(var a=0;o.length-a>255;)r.writeByte(255),r.writeBytes(o,a,255),a+=255;r.writeByte(o.length-a),r.writeBytes(o,a,o.length-a),r.writeByte(0),r.writeString(";")};var i=function(r){var t=r,e=0,n=0,o={};return o.write=function(r,o){if(r>>>o!=0)throw new Error("length over");for(;e+o>=8;)t.writeByte(255&(r<<e|n)),o-=8-e,r>>>=8-e,n=0,e=0;n=r<<e|n,e+=o},o.flush=function(){e>0&&t.writeByte(n)},o},u=function(r){for(var t=1<<r,e=(1<<r)+1,n=r+1,a=f(),u=0;t>u;u+=1)a.add(String.fromCharCode(u));a.add(String.fromCharCode(t)),a.add(String.fromCharCode(e));var c=l(),g=i(c);g.write(t,n);var s=0,v=String.fromCharCode(o[s]);for(s+=1;s<o.length;){var h=String.fromCharCode(o[s]);s+=1,a.contains(v+h)?v+=h:(g.write(a.indexOf(v),n),a.size()<4095&&(a.size()==1<<n&&(n+=1),a.add(v+h)),v=h)}return g.write(a.indexOf(v),n),g.write(e,n),g.flush(),c.toByteArray()},f=function(){var r={},t=0,e={};return e.add=function(n){if(e.contains(n))throw new Error("dup key:"+n);r[n]=t,t+=1},e.size=function(){return t},e.indexOf=function(t){return r[t]},e.contains=function(t){return"undefined"!=typeof r[t]},e};return a},h=function(r,t,e,n){for(var o=v(r,t),a=0;t>a;a+=1)for(var i=0;r>i;i+=1)o.setPixel(i,a,e(i,a));var u=l();o.write(u);for(var f=g(),c=u.toByteArray(),s=0;s<c.length;s+=1)f.writeByte(c[s]);f.flush();var h="";return h+="<img",h+=' src="',h+="data:image/gif;base64,",h+=f,h+='"',h+=' width="',h+=r,h+='"',h+=' height="',h+=t,h+='"',n&&(h+=' alt="',h+=n,h+='"'),h+="/>"};return t}();return function(r){"function"==typeof define&&define.amd?define([],r):"object"==typeof exports&&(module.exports=r())}(function(){return r}),!function(r){r.stringToBytes=function(r){function t(r){for(var t=[],e=0;e<r.length;e++){var n=r.charCodeAt(e);128>n?t.push(n):2048>n?t.push(192|n>>6,128|63&n):55296>n||n>=57344?t.push(224|n>>12,128|n>>6&63,128|63&n):(e++,n=65536+((1023&n)<<10|1023&r.charCodeAt(e)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return t}return t(r)}}(r),r}());
\ No newline at end of file
diff --git a/src/main/resources/static/js/qrcode/qrcode.min.js b/src/main/resources/static/js/qrcode/qrcode.min.js
new file mode 100644
index 0000000..6f76fb1
--- /dev/null
+++ b/src/main/resources/static/js/qrcode/qrcode.min.js
@@ -0,0 +1 @@
+var QRCode;!function(){function t(t){this.mode=r.MODE_8BIT_BYTE,this.data=t,this.parsedData=[];for(var e=0,o=this.data.length;e<o;e++){var i=[],n=this.data.charCodeAt(e);n>65536?(i[0]=240|(1835008&n)>>>18,i[1]=128|(258048&n)>>>12,i[2]=128|(4032&n)>>>6,i[3]=128|63&n):n>2048?(i[0]=224|(61440&n)>>>12,i[1]=128|(4032&n)>>>6,i[2]=128|63&n):n>128?(i[0]=192|(1984&n)>>>6,i[1]=128|63&n):i[0]=n,this.parsedData.push(i)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function e(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}t.prototype={getLength:function(t){return this.parsedData.length},write:function(t){for(var e=0,r=this.parsedData.length;e<r;e++)t.put(this.parsedData[e],8)}},e.prototype={addData:function(e){var r=new t(e);this.dataList.push(r),this.dataCache=null},isDark:function(t,e){if(t<0||this.moduleCount<=t||e<0||this.moduleCount<=e)throw new Error(t+","+e);return this.modules[t][e]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(t,r){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var o=0;o<this.moduleCount;o++){this.modules[o]=new Array(this.moduleCount);for(var i=0;i<this.moduleCount;i++)this.modules[o][i]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,r),this.typeNumber>=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r)},setupPositionProbePattern:function(t,e){for(var r=-1;r<=7;r++)if(!(t+r<=-1||this.moduleCount<=t+r))for(var o=-1;o<=7;o++)e+o<=-1||this.moduleCount<=e+o||(this.modules[t+r][e+o]=0<=r&&r<=6&&(0==o||6==o)||0<=o&&o<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=o&&o<=4)},getBestMaskPattern:function(){for(var t=0,e=0,r=0;r<8;r++){this.makeImpl(!0,r);var o=g.getLostPoint(this);(0==r||t>o)&&(t=o,e=r)}return e},createMovieClip:function(t,e,r){var o=t.createEmptyMovieClip(e,r);this.make();for(var i=0;i<this.modules.length;i++)for(var n=1*i,a=0;a<this.modules[i].length;a++){var s=1*a;this.modules[i][a]&&(o.beginFill(0,100),o.moveTo(s,n),o.lineTo(s+1,n),o.lineTo(s+1,n+1),o.lineTo(s,n+1),o.endFill())}return o},setupTimingPattern:function(){for(var t=8;t<this.moduleCount-8;t++)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(var e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)},setupPositionAdjustPattern:function(){for(var t=g.getPatternPosition(this.typeNumber),e=0;e<t.length;e++)for(var r=0;r<t.length;r++){var o=t[e],i=t[r];if(null==this.modules[o][i])for(var n=-2;n<=2;n++)for(var a=-2;a<=2;a++)this.modules[o+n][i+a]=-2==n||2==n||-2==a||2==a||0==n&&0==a}},setupTypeNumber:function(t){for(var e=g.getBCHTypeNumber(this.typeNumber),r=0;r<18;r++){var o=!t&&1==(e>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=o}for(r=0;r<18;r++){o=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=o}},setupTypeInfo:function(t,e){for(var r=this.errorCorrectLevel<<3|e,o=g.getBCHTypeInfo(r),i=0;i<15;i++){var n=!t&&1==(o>>i&1);i<6?this.modules[i][8]=n:i<8?this.modules[i+1][8]=n:this.modules[this.moduleCount-15+i][8]=n}for(i=0;i<15;i++){n=!t&&1==(o>>i&1);i<8?this.modules[8][this.moduleCount-i-1]=n:i<9?this.modules[8][15-i-1+1]=n:this.modules[8][15-i-1]=n}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var r=-1,o=this.moduleCount-1,i=7,n=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;s<2;s++)if(null==this.modules[o][a-s]){var h=!1;n<t.length&&(h=1==(t[n]>>>i&1)),g.getMask(e,o,a-s)&&(h=!h),this.modules[o][a-s]=h,-1==--i&&(n++,i=7)}if((o+=r)<0||this.moduleCount<=o){o-=r,r=-r;break}}}},e.PAD0=236,e.PAD1=17,e.createData=function(t,r,o){for(var i=m.getRSBlocks(t,r),n=new _,a=0;a<o.length;a++){var s=o[a];n.put(s.mode,4),n.put(s.getLength(),g.getLengthInBits(s.mode,t)),s.write(n)}var h=0;for(a=0;a<i.length;a++)h+=i[a].dataCount;if(n.getLengthInBits()>8*h)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*h+")");for(n.getLengthInBits()+4<=8*h&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*h||(n.put(e.PAD0,8),n.getLengthInBits()>=8*h));)n.put(e.PAD1,8);return e.createBytes(n,i)},e.createBytes=function(t,e){for(var r=0,o=0,i=0,n=new Array(e.length),a=new Array(e.length),s=0;s<e.length;s++){var h=e[s].dataCount,l=e[s].totalCount-h;o=Math.max(o,h),i=Math.max(i,l),n[s]=new Array(h);for(var u=0;u<n[s].length;u++)n[s][u]=255&t.buffer[u+r];r+=h;var f=g.getErrorCorrectPolynomial(l),d=new p(n[s],f.getLength()-1).mod(f);a[s]=new Array(f.getLength()-1);for(u=0;u<a[s].length;u++){var c=u+d.getLength()-a[s].length;a[s][u]=c>=0?d.get(c):0}}var m=0;for(u=0;u<e.length;u++)m+=e[u].totalCount;var _=new Array(m),v=0;for(u=0;u<o;u++)for(s=0;s<e.length;s++)u<n[s].length&&(_[v++]=n[s][u]);for(u=0;u<i;u++)for(s=0;s<e.length;s++)u<a[s].length&&(_[v++]=a[s][u]);return _};for(var r={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},o={L:1,M:0,Q:3,H:2},i=0,n=1,a=2,s=3,h=4,l=5,u=6,f=7,g={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t){for(var e=t<<10;g.getBCHDigit(e)-g.getBCHDigit(g.G15)>=0;)e^=g.G15<<g.getBCHDigit(e)-g.getBCHDigit(g.G15);return(t<<10|e)^g.G15_MASK},getBCHTypeNumber:function(t){for(var e=t<<12;g.getBCHDigit(e)-g.getBCHDigit(g.G18)>=0;)e^=g.G18<<g.getBCHDigit(e)-g.getBCHDigit(g.G18);return t<<12|e},getBCHDigit:function(t){for(var e=0;0!=t;)e++,t>>>=1;return e},getPatternPosition:function(t){return g.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case i:return(e+r)%2==0;case n:return e%2==0;case a:return r%3==0;case s:return(e+r)%3==0;case h:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case l:return e*r%2+e*r%3==0;case u:return(e*r%2+e*r%3)%2==0;case f:return(e*r%3+(e+r)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new p([1],0),r=0;r<t;r++)e=e.multiply(new p([1,d.gexp(r)],0));return e},getLengthInBits:function(t,e){if(1<=e&&e<10)switch(t){case r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error("mode:"+t)}else if(e<27)switch(t){case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error("mode:"+t)}else{if(!(e<41))throw new Error("type:"+e);switch(t){case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error("mode:"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),r=0,o=0;o<e;o++)for(var i=0;i<e;i++){for(var n=0,a=t.isDark(o,i),s=-1;s<=1;s++)if(!(o+s<0||e<=o+s))for(var h=-1;h<=1;h++)i+h<0||e<=i+h||0==s&&0==h||a==t.isDark(o+s,i+h)&&n++;n>5&&(r+=3+n-5)}for(o=0;o<e-1;o++)for(i=0;i<e-1;i++){var l=0;t.isDark(o,i)&&l++,t.isDark(o+1,i)&&l++,t.isDark(o,i+1)&&l++,t.isDark(o+1,i+1)&&l++,0!=l&&4!=l||(r+=3)}for(o=0;o<e;o++)for(i=0;i<e-6;i++)t.isDark(o,i)&&!t.isDark(o,i+1)&&t.isDark(o,i+2)&&t.isDark(o,i+3)&&t.isDark(o,i+4)&&!t.isDark(o,i+5)&&t.isDark(o,i+6)&&(r+=40);for(i=0;i<e;i++)for(o=0;o<e-6;o++)t.isDark(o,i)&&!t.isDark(o+1,i)&&t.isDark(o+2,i)&&t.isDark(o+3,i)&&t.isDark(o+4,i)&&!t.isDark(o+5,i)&&t.isDark(o+6,i)&&(r+=40);var u=0;for(i=0;i<e;i++)for(o=0;o<e;o++)t.isDark(o,i)&&u++;return r+=10*(Math.abs(100*u/e/e-50)/5)}},d={glog:function(t){if(t<1)throw new Error("glog("+t+")");return d.LOG_TABLE[t]},gexp:function(t){for(;t<0;)t+=255;for(;t>=256;)t-=255;return d.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},c=0;c<8;c++)d.EXP_TABLE[c]=1<<c;for(c=8;c<256;c++)d.EXP_TABLE[c]=d.EXP_TABLE[c-4]^d.EXP_TABLE[c-5]^d.EXP_TABLE[c-6]^d.EXP_TABLE[c-8];for(c=0;c<255;c++)d.LOG_TABLE[d.EXP_TABLE[c]]=c;function p(t,e){if(void 0==t.length)throw new Error(t.length+"/"+e);for(var r=0;r<t.length&&0==t[r];)r++;this.num=new Array(t.length-r+e);for(var o=0;o<t.length-r;o++)this.num[o]=t[o+r]}function m(t,e){this.totalCount=t,this.dataCount=e}function _(){this.buffer=[],this.length=0}p.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=new Array(this.getLength()+t.getLength()-1),r=0;r<this.getLength();r++)for(var o=0;o<t.getLength();o++)e[r+o]^=d.gexp(d.glog(this.get(r))+d.glog(t.get(o)));return new p(e,0)},mod:function(t){if(this.getLength()-t.getLength()<0)return this;for(var e=d.glog(this.get(0))-d.glog(t.get(0)),r=new Array(this.getLength()),o=0;o<this.getLength();o++)r[o]=this.get(o);for(o=0;o<t.getLength();o++)r[o]^=d.gexp(d.glog(t.get(o))+e);return new p(r,0).mod(t)}},m.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],m.getRSBlocks=function(t,e){var r=m.getRsBlockTable(t,e);if(void 0==r)throw new Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+e);for(var o=r.length/3,i=[],n=0;n<o;n++)for(var a=r[3*n+0],s=r[3*n+1],h=r[3*n+2],l=0;l<a;l++)i.push(new m(s,h));return i},m.getRsBlockTable=function(t,e){switch(e){case o.L:return m.RS_BLOCK_TABLE[4*(t-1)+0];case o.M:return m.RS_BLOCK_TABLE[4*(t-1)+1];case o.Q:return m.RS_BLOCK_TABLE[4*(t-1)+2];case o.H:return m.RS_BLOCK_TABLE[4*(t-1)+3];default:return}},_.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var r=0;r<e;r++)this.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var v=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];function C(){var t=!1,e=navigator.userAgent;if(/android/i.test(e)){t=!0;var r=e.toString().match(/android ([0-9]\.[0-9])/i);r&&r[1]&&(t=parseFloat(r[1]))}return t}var w=function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){var e=this._htOption,r=this._el,o=t.getModuleCount();Math.floor(e.width/o),Math.floor(e.height/o);function i(t,e){var r=document.createElementNS("http://www.w3.org/2000/svg",t);for(var o in e)e.hasOwnProperty(o)&&r.setAttribute(o,e[o]);return r}this.clear();var n=i("svg",{viewBox:"0 0 "+String(o)+" "+String(o),width:"100%",height:"100%",fill:e.colorLight});n.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),r.appendChild(n),n.appendChild(i("rect",{fill:e.colorLight,width:"100%",height:"100%"})),n.appendChild(i("rect",{fill:e.colorDark,width:"1",height:"1",id:"template"}));for(var a=0;a<o;a++)for(var s=0;s<o;s++)if(t.isDark(a,s)){var h=i("use",{x:String(s),y:String(a)});h.setAttributeNS("http://www.w3.org/1999/xlink","href","#template"),n.appendChild(h)}},t.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el.removeChild(this._el.lastChild)},t}(),D="svg"===document.documentElement.tagName.toLowerCase()?w:"undefined"==typeof CanvasRenderingContext2D?function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){for(var e=this._htOption,r=this._el,o=t.getModuleCount(),i=Math.floor(e.width/o),n=Math.floor(e.height/o),a=['<table style="border:0;border-collapse:collapse;">'],s=0;s<o;s++){a.push("<tr>");for(var h=0;h<o;h++)a.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:'+i+"px;height:"+n+"px;background-color:"+(t.isDark(s,h)?e.colorDark:e.colorLight)+';"></td>');a.push("</tr>")}a.push("</table>"),r.innerHTML=a.join("");var l=r.childNodes[0],u=(e.width-l.offsetWidth)/2,f=(e.height-l.offsetHeight)/2;u>0&&f>0&&(l.style.margin=f+"px "+u+"px")},t.prototype.clear=function(){this._el.innerHTML=""},t}():function(){function t(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="block",this._elCanvas.style.display="none"}if(this._android&&this._android<=2.1){var e=1/window.devicePixelRatio,r=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(t,o,i,n,a,s,h,l,u){if("nodeName"in t&&/img/i.test(t.nodeName))for(var f=arguments.length-1;f>=1;f--)arguments[f]=arguments[f]*e;else void 0===l&&(arguments[1]*=e,arguments[2]*=e,arguments[3]*=e,arguments[4]*=e);r.apply(this,arguments)}}var o=function(t,e){this._bIsPainted=!1,this._android=C(),this._htOption=e,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=e.width,this._elCanvas.height=e.height,t.appendChild(this._elCanvas),this._el=t,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.alt="Scan me!",this._elImage.style.display="none",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return o.prototype.draw=function(t){var e=this._elImage,r=this._oContext,o=this._htOption,i=t.getModuleCount(),n=o.width/i,a=o.height/i,s=Math.round(n),h=Math.round(a);e.style.display="none",this.clear();for(var l=0;l<i;l++)for(var u=0;u<i;u++){var f=t.isDark(l,u),g=u*n,d=l*a;r.strokeStyle=f?o.colorDark:o.colorLight,r.lineWidth=1,r.fillStyle=f?o.colorDark:o.colorLight,r.fillRect(g,d,n,a),r.strokeRect(Math.floor(g)+.5,Math.floor(d)+.5,s,h),r.strokeRect(Math.ceil(g)-.5,Math.ceil(d)-.5,s,h)}this._bIsPainted=!0},o.prototype.makeImage=function(){this._bIsPainted&&function(t,e){var r=this;if(r._fFail=e,r._fSuccess=t,null===r._bSupportDataURI){var o=document.createElement("img"),i=function(){r._bSupportDataURI=!1,r._fFail&&r._fFail.call(r)};return o.onabort=i,o.onerror=i,o.onload=function(){r._bSupportDataURI=!0,r._fSuccess&&r._fSuccess.call(r)},void(o.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==")}!0===r._bSupportDataURI&&r._fSuccess?r._fSuccess.call(r):!1===r._bSupportDataURI&&r._fFail&&r._fFail.call(r)}.call(this,t)},o.prototype.isPainted=function(){return this._bIsPainted},o.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},o.prototype.round=function(t){return t?Math.floor(1e3*t)/1e3:t},o}();function A(t,e){for(var r=1,i=function(t){var e=encodeURI(t).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return e.length+(e.length!=t?3:0)}(t),n=0,a=v.length;n<=a;n++){var s=0;switch(e){case o.L:s=v[n][0];break;case o.M:s=v[n][1];break;case o.Q:s=v[n][2];break;case o.H:s=v[n][3]}if(i<=s)break;r++}if(r>v.length)throw new Error("Too long data");return r}(QRCode=function(t,e){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:o.H},"string"==typeof e&&(e={text:e}),e)for(var r in e)this._htOption[r]=e[r];"string"==typeof t&&(t=document.getElementById(t)),this._htOption.useSVG&&(D=w),this._android=C(),this._el=t,this._oQRCode=null,this._oDrawing=new D(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)}).prototype.makeCode=function(t){this._oQRCode=new e(A(t,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(t),this._oQRCode.make(),this._el.title=t,this._oDrawing.draw(this._oQRCode),this.makeImage()},QRCode.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=o}(),"undefined"!=typeof module&&(module.exports=QRCode);
diff --git a/src/main/resources/templates/config/zoneCapacity/zoneCapacity.html b/src/main/resources/templates/config/zoneCapacity/zoneCapacity.html
index 1cd3c9c..8740c12 100644
--- a/src/main/resources/templates/config/zoneCapacity/zoneCapacity.html
+++ b/src/main/resources/templates/config/zoneCapacity/zoneCapacity.html
@@ -22,7 +22,7 @@
 							</select>
 							</li>
 							<li>
-								物料编码:<input type="text" name="materialId"/>
+								存货编码:<input type="text" name="materialId"/>
 							</li>
 							</li>
 							<li>
@@ -91,7 +91,7 @@
 				},
 				{
 					field : 'materialCode',
-					title : '物料编码'
+					title : '存货编码'
 				},
 				{
 					field : 'materialType', 
diff --git a/src/main/resources/templates/general/material/add.html b/src/main/resources/templates/general/material/add.html
index 8d131d3..a7214f4 100644
--- a/src/main/resources/templates/general/material/add.html
+++ b/src/main/resources/templates/general/material/add.html
@@ -6,7 +6,7 @@
     <div class="wrapper wrapper-content animated fadeInRight ibox-content">
         <form class="form-horizontal m" id="form-material-add">
 			<div class="form-group">
-				<label class="col-sm-3 control-label">物料编码:</label>
+				<label class="col-sm-3 control-label">存货编码:</label>
 				<div class="col-sm-8">
 					<input id="code" name="code" class="form-control" type="text">
 				</div>
diff --git a/src/main/resources/templates/general/material/edit.html b/src/main/resources/templates/general/material/edit.html
index 7658bc2..43c8063 100644
--- a/src/main/resources/templates/general/material/edit.html
+++ b/src/main/resources/templates/general/material/edit.html
@@ -7,7 +7,7 @@
         <form class="form-horizontal m" id="form-material-edit" th:object="${material}">
             <input id="id" name="id" th:field="*{id}"  type="hidden">
             <div class="form-group">
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="code" name="code" th:field="*{code}" class="form-control" type="text" readonly="readonly">
                 </div>
diff --git a/src/main/resources/templates/general/material/material.html b/src/main/resources/templates/general/material/material.html
index 323e503..15673eb 100644
--- a/src/main/resources/templates/general/material/material.html
+++ b/src/main/resources/templates/general/material/material.html
@@ -10,8 +10,11 @@
 					<div class="select-list">
 						<ul>
 							<li>
-								物料编码:<input type="text" name="code"/>
+								存货编码:<input type="text" name="code"/>
 							</li>
+                            <li>
+                                存货代码:<input type="text" name="userDef1"/>
+                            </li>
 							<li>
 								名称:<input type="text" name="name"/>
 							</li>
@@ -77,16 +80,16 @@
 					title : 'id'
 				},
 				// {
-				// 	field : 'warehouseId',
-				// 	title : '仓库Id'
+				// 	field : 'warehouseCode',
+				// 	title : '仓库编码'
 				// },
 				{
-					field : 'warehouseCode', 
-					title : '仓库编码' 
+					field : 'code', 
+					title : '存货编码'
 				},
 				{
-					field : 'code', 
-					title : '物料编码' 
+					field : 'userDef1',
+					title : '存货代码',
 				},
 				{
 					field : 'type', 
@@ -97,40 +100,6 @@
 					title : '名称' 
 				},
 				{
-					field : 'barcode', 
-					title : '条码' 
-				},
-				{
-					field : 'barcode2', 
-					title : '条码2' ,
-                    visible:false
-				},
-				{
-					field : 'barcode3', 
-					title : '条码3' ,
-                    visible:false
-				},
-				{
-					field : 'barcode4', 
-					title : '条码4',
-                    visible:false
-				},
-				{
-					field : 'classA', 
-					title : '类别A' ,
-                    visible:false
-				},
-				{
-					field : 'classB', 
-					title : '类别B' ,
-                    visible:false
-				},
-				{
-					field : 'classC', 
-					title : '类别C' ,
-                    visible:false
-				},
-				{
 					field : 'specification', 
 					title : '规格' 
 				},
@@ -216,50 +185,6 @@
                         return $.table.selectDictLabel(datas, value);
                     }
 				},
-				// {
-				// 	field : 'deleted',
-				// 	title : '是否删除'
-				// },
-				{
-					field : 'userDef1', 
-					title : '自定义字段1',
-                    visible:false
-				},
-				{
-					field : 'userDef2', 
-					title : '自定义字段2' ,
-                    visible:false
-				},
-				{
-					field : 'userDef3', 
-					title : '自定义字段3' ,
-                    visible:false
-				},
-				{
-					field : 'userDef4',
-                    title : '自定义字段4',
-                    visible:false
-                },
-				{
-					field : 'userDef5', 
-					title : '自定义字段5' ,
-                    visible:false
-				},
-				{
-					field : 'userDef6', 
-					title : '自定义字段6' ,
-                    visible:false
-				},
-				{
-					field : 'userDef7', 
-					title : '自定义字段7' ,
-                    visible:false
-				},
-				{
-					field : 'userDef8', 
-					title : '自定义字段8' ,
-                    visible:false
-				},
 		        {
 		            title: '操作',
 		            align: 'center',
diff --git a/src/main/resources/templates/inventory/cyclecountDetail/add.html b/src/main/resources/templates/inventory/cyclecountDetail/add.html
index 2e5df71..516a07f 100644
--- a/src/main/resources/templates/inventory/cyclecountDetail/add.html
+++ b/src/main/resources/templates/inventory/cyclecountDetail/add.html
@@ -21,7 +21,7 @@
 								容器编号:<input type="text" id="containerCode" name="containerCode"/>
 							</li>
 							<li>
-								物料编码:<input type="text" id="materialCode" name="materialCode"/>
+								存货编码:<input type="text" id="materialCode" name="materialCode"/>
 							</li>
 							<li>
 								物料名称:<input type="text" id="materialName" name="materialName"/>
@@ -166,7 +166,7 @@
                 },
                 {
                     field : 'materialCode',
-                    title : '物料编码'
+                    title : '存货编码'
                 },
                 {
                     field : 'materialName',
@@ -352,7 +352,7 @@
         //         },
         //         {
         //             field : 'materialCode',
-        //             title : '物料编码'
+        //             title : '存货编码'
         //         },
         //         {
         //             field : 'materialName',
diff --git a/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html b/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html
index 7f551e0..a6a4e91 100644
--- a/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html
+++ b/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html
@@ -22,7 +22,7 @@
                 </div>
             </div>
             <div class="form-group">
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="materialCode" name="materialCode"  class="form-control" type="text" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')">
                 </div>
diff --git a/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html b/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html
index b8b8486..00f70b4 100644
--- a/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html
+++ b/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html
@@ -155,7 +155,7 @@
                 // },
                 /*{
                     field: 'materialCode',
-                    title: '物料编码',
+                    title: '存货编码',
                     sortable:true
                 },*/
                 {
diff --git a/src/main/resources/templates/inventory/cyclecountDetail/edit.html b/src/main/resources/templates/inventory/cyclecountDetail/edit.html
index 17b2f51..87f831e 100644
--- a/src/main/resources/templates/inventory/cyclecountDetail/edit.html
+++ b/src/main/resources/templates/inventory/cyclecountDetail/edit.html
@@ -37,7 +37,7 @@
                 </div>
             </div>
             <div class="form-group">	
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
                 </div>
diff --git a/src/main/resources/templates/inventory/cyclecountHeader/report.html b/src/main/resources/templates/inventory/cyclecountHeader/report.html
index 133b2e7..cbd86f9 100644
--- a/src/main/resources/templates/inventory/cyclecountHeader/report.html
+++ b/src/main/resources/templates/inventory/cyclecountHeader/report.html
@@ -24,7 +24,7 @@
             </tr>
             <tr>
                 <th width="12%">容器编号</th>
-                <th width="18%">物料编码</th>
+                <th width="18%">存货编码</th>
                 <th width="20%">物料规格</th>
                 <th width="7%">批次</th>
                 <th width="7%">批号</th>
diff --git a/src/main/resources/templates/inventory/inventory/add.html b/src/main/resources/templates/inventory/inventory/add.html
index 688e27f..7675fe5 100644
--- a/src/main/resources/templates/inventory/inventory/add.html
+++ b/src/main/resources/templates/inventory/inventory/add.html
@@ -60,7 +60,7 @@
 				</div>
 			</div>
 			<div class="form-group">	
-				<label class="col-sm-3 control-label">物料编码:</label>
+				<label class="col-sm-3 control-label">存货编码:</label>
 				<div class="col-sm-8">
 					<input id="materialCode" name="materialCode" class="form-control" type="text">
 				</div>
diff --git a/src/main/resources/templates/inventory/inventory/edit.html b/src/main/resources/templates/inventory/inventory/edit.html
index 4a39bbf..3b093a6 100644
--- a/src/main/resources/templates/inventory/inventory/edit.html
+++ b/src/main/resources/templates/inventory/inventory/edit.html
@@ -61,7 +61,7 @@
                 </div>
             </div>
             <div class="form-group">	
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
                 </div>
diff --git a/src/main/resources/templates/inventory/inventory/inventory.html b/src/main/resources/templates/inventory/inventory/inventory.html
index b697744..850cee3 100644
--- a/src/main/resources/templates/inventory/inventory/inventory.html
+++ b/src/main/resources/templates/inventory/inventory/inventory.html
@@ -16,7 +16,7 @@
 								容器编号:<input type="text" name="containerCode"/>
 							</li>
 							<li>
-								物料编码:<input type="text" name="materialCode"/>
+								存货编码:<input type="text" name="materialCode"/>
 							</li>
 							<li>
 								物料名称:<input type="text" name="materialName"/>
@@ -126,7 +126,7 @@
                     },*/
                     {
                         field : 'materialCode',
-                        title : '物料编码'
+                        title : '存货编码'
                     },
                     {
                         field : 'materialName',
diff --git a/src/main/resources/templates/inventory/inventoryTransaction/add.html b/src/main/resources/templates/inventory/inventoryTransaction/add.html
index df267ce..13589e0 100644
--- a/src/main/resources/templates/inventory/inventoryTransaction/add.html
+++ b/src/main/resources/templates/inventory/inventoryTransaction/add.html
@@ -60,7 +60,7 @@
 				</div>
 			</div>
 			<div class="form-group">	
-				<label class="col-sm-3 control-label">物料编码:</label>
+				<label class="col-sm-3 control-label">存货编码:</label>
 				<div class="col-sm-8">
 					<input id="materialCode" name="materialCode" class="form-control" type="text">
 				</div>
diff --git a/src/main/resources/templates/inventory/inventoryTransaction/edit.html b/src/main/resources/templates/inventory/inventoryTransaction/edit.html
index 68f7fb0..5e41a74 100644
--- a/src/main/resources/templates/inventory/inventoryTransaction/edit.html
+++ b/src/main/resources/templates/inventory/inventoryTransaction/edit.html
@@ -61,7 +61,7 @@
                 </div>
             </div>
             <div class="form-group">	
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
                 </div>
diff --git a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
index 62457d2..502bf5d 100644
--- a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
+++ b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
@@ -32,7 +32,7 @@
                             </select>
                             </li>
                             <li>
-                                物料编码:<input type="text" name="materialCode"/>
+                                存货编码:<input type="text" name="materialCode"/>
                             </li>
                             <li>
                                 物料名称:<input type="text" name="materialName"/>
@@ -134,7 +134,7 @@
                  },
                  {
                      field : 'materialCode',
-                     title : '物料编码'
+                     title : '存货编码'
                  },
                  {
                      field : 'materialName',
diff --git a/src/main/resources/templates/receipt/receiptContainerDetail/edit.html b/src/main/resources/templates/receipt/receiptContainerDetail/edit.html
index 4f38f18..09b6d58 100644
--- a/src/main/resources/templates/receipt/receiptContainerDetail/edit.html
+++ b/src/main/resources/templates/receipt/receiptContainerDetail/edit.html
@@ -19,7 +19,7 @@
                 </div>
             </div>
             <div class="form-group">	
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
                 </div>
diff --git a/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html b/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html
index b47431d..4dbe1f2 100644
--- a/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html
+++ b/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html
@@ -54,7 +54,7 @@
 				},
 				{
 					field : 'materialCode', 
-					title : '物料编码'
+					title : '存货编码'
 				},
 				{
 					field : 'materialName', 
diff --git a/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html b/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
index 3044bbe..14670d0 100644
--- a/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
+++ b/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
@@ -197,7 +197,7 @@
 			},
             {
                 field : 'materialCode',
-                title : '物料编码',
+                title : '存货编码',
                 sortable:true
             },
 			{
diff --git a/src/main/resources/templates/receipt/receiptDetail/add.html b/src/main/resources/templates/receipt/receiptDetail/add.html
index 3df61c1..a2b5113 100644
--- a/src/main/resources/templates/receipt/receiptDetail/add.html
+++ b/src/main/resources/templates/receipt/receiptDetail/add.html
@@ -26,7 +26,7 @@
 				</div>
 			</div>
 			<div class="form-group">
-				<label class="col-sm-3 control-label">物料编码:</label>
+				<label class="col-sm-3 control-label">存货编码:</label>
 				<div class="col-sm-8">
                     <input id="materialCode" name="materialCode" class="form-control" type="text">
 				</div>
diff --git a/src/main/resources/templates/receipt/receiptDetail/edit.html b/src/main/resources/templates/receipt/receiptDetail/edit.html
index 7861180..e3c567a 100644
--- a/src/main/resources/templates/receipt/receiptDetail/edit.html
+++ b/src/main/resources/templates/receipt/receiptDetail/edit.html
@@ -25,7 +25,7 @@
                 </div>
             </div>
             <div class="form-group">
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
                 </div>
diff --git a/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html b/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html
index 25aca85..b75cb59 100644
--- a/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html
+++ b/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html
@@ -13,7 +13,7 @@
 								入库单号:<input type="text" name="code"/>
 							</li>
 							<li>
-								物料编码:<input type="text" name="materialCode"/>
+								存货编码:<input type="text" name="materialCode"/>
 							</li>
 							<li>
 								物料批次:<input type="text" name="batch"/>
@@ -94,7 +94,7 @@
 				// },
 				{
 					field : 'materialCode', 
-					title : '物料编码' 
+					title : '存货编码'
 				},
 				{
 					field : 'materialName',
diff --git a/src/main/resources/templates/receipt/receiptDetail/report.html b/src/main/resources/templates/receipt/receiptDetail/report.html
index bc56188..4d4da1b 100644
--- a/src/main/resources/templates/receipt/receiptDetail/report.html
+++ b/src/main/resources/templates/receipt/receiptDetail/report.html
@@ -16,14 +16,14 @@
             border: 1px solid #000 !important;
         }
         .table tbody tr td{
-            padding: 5px;
+            padding: 3px;
             text-align: center;
         }
     </style>
 </head>
 
 <body id="ddd">
-<div style="text-align:right; padding: 20px;">
+<div style="text-align:right; padding: 20px;float: right">
     <span class="noprint" style="padding-left:20px;"><button type="button" onClick="a()"><i class="fa fa-print"></i> 打印</button></span>
 </div>
 <div class="container" style=" width:320px;/*height:228px;*/color: #333">
@@ -35,13 +35,13 @@
         <tr>
         <td width="20%" scope="col">存货编码</td>
         <td colspan="2" scope="col" style="text-align:center">
-            <span th:text="${row.materialCode}" code></span>
+            <span th:text="${row.materialCode}" ></span>
         </td>
       </tr>
       <tr>
             <td scope="col">存货代码</td>
             <td colspan="2" scope="col" style="text-align:center">
-                <span th:text="${row.userDef1}" code></span>
+                <span th:text="${row.userDef1}" ></span>
             </td>
       </tr>
       <tr style="vertical-align:middle">
@@ -49,9 +49,10 @@
         <td style="text-align:center">
             <span th:text="${row.materialName}"></span>
         </td>
-          <td rowspan="3" width="14%" style="padding: 2px">
-          <img align="center" valign="middle" style="vertical-align:middle; padding:2px;"/>
-              <span class="qrcode"></span>
+          <td  rowspan="3" width="14%" style="padding: 2px">
+          <!--<img class="" align="center" valign="middle" style="vertical-align:middle; padding:2px;"/>-->
+              <!--<span class="qrcode"></span>-->
+              <div class="qrcode"></div>
           </td>
       </tr>
       <tr>
@@ -67,6 +68,12 @@
             <input id="qty" name="qty" th:value="*{row.qty}" class="form-control" type="text" style="text-align:center;height:30px"/>
         </td>
         </tr>
+        <tr>
+            <td scope="col">生产编号</td>
+            <td colspan="2" scope="col" style="text-align:center">
+                <span th:text="${row.project}" ></span>
+            </td>
+        </tr>
      </tbody>
     </table>
      </div>
@@ -81,49 +88,40 @@
 </style>
 <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
 <script type="text/javascript" src="../../../js/jquery.jqprint-0.3.js"></script>
-<script type="text/javascript" src="../../../js/qrcode/jquery-qrcode-0.14.0.min.js"></script>
+<script type="text/javascript" src="../../../js/qrcode/qrcode.min.js"></script>
 <script type="text/javascript">
     function a() {
         // $("#ddd").jqprint();
         $(".qrcode").children().remove();
+        print_qrcode();
+        window.print();
+    }
+    function print_qrcode(){
         $('.dy-report').each(function (i,item) {
             var company=$(this).children()[1].children[0].innerText;
             var code16=$(this).children()[1].children[1].innerText;
             var name=$(this).children()[1].children[2].innerText;
             var spec=$(this).children()[1].children[3].innerText;
+            var project=$(this).children()[1].children[5].innerText;
             company=company.substring(5);
             code16=code16.substring(5);
             name=name.substring(5);
             spec=spec.substring(5);
+            project=project.substring(5);
             var reg=/\t/;
             name=name.replace(reg,"");
             var qty=$(this).find('input').val();
-            var code_text=company+'/'+ code16 +'/' +name+'/'+spec+'/'+qty+'/';
-            $(this).find('.qrcode').qrcode({
-                text: code_text,
-                size: 54
+            // var code_text=company+'/'+ code16 +'/' +name+'/'+spec+'/'+qty+'/'+project;
+            var code_text=company;
+            var QRcode=new QRCode($(this).find('.qrcode')[0],{
+                text:code_text,
+                width:60,
+                height:60
             });
         });
-        window.print();
     }
-    $('.dy-report').each(function (i,item) {
-        var company=$(this).children()[1].children[0].innerText;
-        var code16=$(this).children()[1].children[1].innerText;
-        var name=$(this).children()[1].children[2].innerText;
-        var spec=$(this).children()[1].children[3].innerText;
-        company=company.substring(5);
-        code16=code16.substring(5);
-        name=name.substring(5);
-        spec=spec.substring(5);
-        var reg=/\t/;
-        name=name.replace(reg,"");
-        var qty=$(this).find('input').val();
-        var code_text=company+'/'+ code16 +'/' +name+'/'+spec+'/'+qty+'/';
-        $(this).find('.qrcode').qrcode({
-            text: code_text,
-            size: 54
-        });
-    });
+    print_qrcode();
+    console.log($(this).find('.qrcode')[0]);
 
 </script>
 
diff --git a/src/main/resources/templates/receipt/receiptDetailHistory/edit.html b/src/main/resources/templates/receipt/receiptDetailHistory/edit.html
index bb76286..c92a6a7 100644
--- a/src/main/resources/templates/receipt/receiptDetailHistory/edit.html
+++ b/src/main/resources/templates/receipt/receiptDetailHistory/edit.html
@@ -31,7 +31,7 @@
                 </div>
             </div>
             <div class="form-group">	
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
                 </div>
diff --git a/src/main/resources/templates/receipt/receiptDetailHistory/receiptDetailHistory.html b/src/main/resources/templates/receipt/receiptDetailHistory/receiptDetailHistory.html
index b5a1192..8c7dc9b 100644
--- a/src/main/resources/templates/receipt/receiptDetailHistory/receiptDetailHistory.html
+++ b/src/main/resources/templates/receipt/receiptDetailHistory/receiptDetailHistory.html
@@ -56,7 +56,7 @@
 				},
 				{
 					field : 'materialCode', 
-					title : '物料编码' 
+					title : '存货编码'
 				},
 				{
 					field : 'batch', 
diff --git a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
index 6fa1ba8..f3647d0 100644
--- a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
+++ b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
@@ -418,7 +418,7 @@
             },
             {
                 field : 'materialCode',
-                title : '物料编码'
+                title : '存货编码'
             },
             {
                 field : 'materialName',
diff --git a/src/main/resources/templates/receipt/receiptHeader/report.html b/src/main/resources/templates/receipt/receiptHeader/report.html
index a59dac6..f6c5986 100644
--- a/src/main/resources/templates/receipt/receiptHeader/report.html
+++ b/src/main/resources/templates/receipt/receiptHeader/report.html
@@ -25,7 +25,7 @@
                 </td>
             </tr>
             <tr>
-                <th width="18%">物料编码</th>
+                <th width="18%">存货编码</th>
                 <th width="22%">物料名称</th>
                 <th width="10%">批次</th>
                 <th width="9%">批号</th>
diff --git a/src/main/resources/templates/receipt/receiving/add.html b/src/main/resources/templates/receipt/receiving/add.html
index badd187..123ea3f 100644
--- a/src/main/resources/templates/receipt/receiving/add.html
+++ b/src/main/resources/templates/receipt/receiving/add.html
@@ -14,7 +14,7 @@
 				</div>
 			</div>
 			<div class="form-group">
-				<label class="col-sm-3 control-label">物料编码:</label>
+				<label class="col-sm-3 control-label">存货编码:</label>
 				<div class="col-sm-8">
                     <input id="materialCode" name="materialCode" class="form-control" type="text" readonly="readonly">
 				</div>
diff --git a/src/main/resources/templates/receipt/receiving/receiving.html b/src/main/resources/templates/receipt/receiving/receiving.html
index 11e53d7..e3484f7 100644
--- a/src/main/resources/templates/receipt/receiving/receiving.html
+++ b/src/main/resources/templates/receipt/receiving/receiving.html
@@ -200,7 +200,7 @@
             },
             {
                 field : 'materialCode',
-                title : '物料编码'
+                title : '存货编码'
             },
             {
                 field:"name",
@@ -279,7 +279,7 @@
             },
             {
                 field : 'materialCode',
-                title : '物料编码'
+                title : '存货编码'
             },
             {
                 field:"materialName",
diff --git a/src/main/resources/templates/shipment/shipmentContainerDetail/shipmentContainerDetail.html b/src/main/resources/templates/shipment/shipmentContainerDetail/shipmentContainerDetail.html
index 8240d8f..cd68d8a 100644
--- a/src/main/resources/templates/shipment/shipmentContainerDetail/shipmentContainerDetail.html
+++ b/src/main/resources/templates/shipment/shipmentContainerDetail/shipmentContainerDetail.html
@@ -58,7 +58,7 @@
 				},
 				{
 					field : 'materialCode', 
-					title : '物料编码'
+					title : '存货编码'
 				},
 				{
 					field : 'materialName', 
diff --git a/src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html b/src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html
index 7f16f76..a0f69fa 100644
--- a/src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html
+++ b/src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html
@@ -168,7 +168,7 @@
 		            //	actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                         actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> ');
                         if (row.status == 0) {
-                            actions.push('<a class="btn btn-primary btn-xs ' + createTaskFlag + '" href="#" onclick="createTask(\'' + row.id + '\')"><i class="fa fa-cab"></i>生成任务</a> ');
+                            actions.push('<a class="btn btn-success btn-xs ' + createTaskFlag + '" href="#" onclick="createTask(\'' + row.id + '\')"><i class="fa fa-cab"></i>生成任务</a> ');
                             actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="removeHead(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消配盘</a>');
                         }
  						return actions.join('');
@@ -229,7 +229,7 @@
 
                 {
                     field : 'materialCode',
-                    title : '物料编码',
+                    title : '存货编码',
                     sortable:true
                 },
                 {
diff --git a/src/main/resources/templates/shipment/shipmentDetail/add.html b/src/main/resources/templates/shipment/shipmentDetail/add.html
index 4b8d71f..2d4e6b2 100644
--- a/src/main/resources/templates/shipment/shipmentDetail/add.html
+++ b/src/main/resources/templates/shipment/shipmentDetail/add.html
@@ -26,7 +26,7 @@
                 </div>
             </div>
 			<div class="form-group">
-				<label class="col-sm-3 control-label">物料编码:</label>
+				<label class="col-sm-3 control-label">存货编码:</label>
 				<div class="col-sm-8">
 					<input id="materialCode" name="materialCode" class="form-control" type="text">
 				</div>
diff --git a/src/main/resources/templates/shipment/shipmentDetail/edit.html b/src/main/resources/templates/shipment/shipmentDetail/edit.html
index 539061d..80f5cd2 100644
--- a/src/main/resources/templates/shipment/shipmentDetail/edit.html
+++ b/src/main/resources/templates/shipment/shipmentDetail/edit.html
@@ -25,7 +25,7 @@
                 </div>
             </div>
             <div class="form-group">
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text" readonly="readonly">
                 </div>
diff --git a/src/main/resources/templates/shipment/shipmentDetail/shipmentDetail.html b/src/main/resources/templates/shipment/shipmentDetail/shipmentDetail.html
index 2dab4b7..66e03f7 100644
--- a/src/main/resources/templates/shipment/shipmentDetail/shipmentDetail.html
+++ b/src/main/resources/templates/shipment/shipmentDetail/shipmentDetail.html
@@ -63,7 +63,7 @@
 				},
 				{
 					field : 'materialCode', 
-					title : '物料编码' 
+					title : '存货编码'
 				},
 				{
 					field : 'materialName', 
diff --git a/src/main/resources/templates/shipment/shipmentDetailHistory/add.html b/src/main/resources/templates/shipment/shipmentDetailHistory/add.html
index 650a8a9..2b29534 100644
--- a/src/main/resources/templates/shipment/shipmentDetailHistory/add.html
+++ b/src/main/resources/templates/shipment/shipmentDetailHistory/add.html
@@ -42,7 +42,7 @@
 				</div>
 			</div>
 			<div class="form-group">	
-				<label class="col-sm-3 control-label">物料编码:</label>
+				<label class="col-sm-3 control-label">存货编码:</label>
 				<div class="col-sm-8">
 					<input id="materialCode" name="materialCode" class="form-control" type="text">
 				</div>
diff --git a/src/main/resources/templates/shipment/shipmentDetailHistory/edit.html b/src/main/resources/templates/shipment/shipmentDetailHistory/edit.html
index eb880e6..bee94f9 100644
--- a/src/main/resources/templates/shipment/shipmentDetailHistory/edit.html
+++ b/src/main/resources/templates/shipment/shipmentDetailHistory/edit.html
@@ -43,7 +43,7 @@
                 </div>
             </div>
             <div class="form-group">	
-                <label class="col-sm-3 control-label">物料编码:</label>
+                <label class="col-sm-3 control-label">存货编码:</label>
                 <div class="col-sm-8">
                     <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
                 </div>
diff --git a/src/main/resources/templates/shipment/shipmentDetailHistory/shipmentDetailHistory.html b/src/main/resources/templates/shipment/shipmentDetailHistory/shipmentDetailHistory.html
index 93ada5d..7443fdc 100644
--- a/src/main/resources/templates/shipment/shipmentDetailHistory/shipmentDetailHistory.html
+++ b/src/main/resources/templates/shipment/shipmentDetailHistory/shipmentDetailHistory.html
@@ -70,7 +70,7 @@
 				},
 				{
 					field : 'materialCode', 
-					title : '物料编码' 
+					title : '存货编码'
 				},
 				{
 					field : 'batch', 
diff --git a/src/main/resources/templates/shipment/shipmentHeader/report.html b/src/main/resources/templates/shipment/shipmentHeader/report.html
index e82631f..841d5e8 100644
--- a/src/main/resources/templates/shipment/shipmentHeader/report.html
+++ b/src/main/resources/templates/shipment/shipmentHeader/report.html
@@ -25,7 +25,7 @@
                 </td>
             </tr>
             <tr>
-                <th width="18%">物料编码</th>
+                <th width="18%">存货编码</th>
                 <th width="22%">物料名称</th>
                 <th width="10%">批次</th>
                 <th width="9%">批号</th>
diff --git a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
index 4a75ff6..7387f02 100644
--- a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
+++ b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
@@ -407,7 +407,7 @@
                 },*/
                 {
                     field: 'materialCode',
-                    title: '物料编码'
+                    title: '存货编码'
                 },
                 {
                     field: 'materialName',
diff --git a/src/main/resources/templates/shipment/shippingCombination/combination.html b/src/main/resources/templates/shipment/shippingCombination/combination.html
index d18410a..26bb4dc 100644
--- a/src/main/resources/templates/shipment/shippingCombination/combination.html
+++ b/src/main/resources/templates/shipment/shippingCombination/combination.html
@@ -13,7 +13,7 @@
                         <li><input type="hidden" id="shipmentDetailId" th:value="*{id}"></li>
                         <li><input type="hidden" id="inventoryStatus" th:value="*{inventoryStatus}"></li>
                         <li>出库单号:<input type="text" readonly="readonly" th:value="*{shipmentCode}"></li>
-                        <li>物料编码:<input type="text" readonly="readonly" th:value="*{materialCode}"></li>
+                        <li>存货编码:<input type="text" readonly="readonly" th:value="*{materialCode}"></li>
                         <li>物料名称:<input type="text" readonly="readonly" th:value="*{materialName}"></li>
                         <li>剩余配盘数:<input type="text" readonly="readonly" th:value="*{qty-qtyCompleted}" id="qtyRemain"></li>
                         <li>
@@ -39,7 +39,7 @@
                             货主编码:<input type="text" id="companyCode" name="companyCode" th:value="*{companyCode}"  readonly="readonly"/>
                         </li>
                         <li>
-                            物料编码:<input type="text" id="materialCode" name="materialCode" th:value="*{materialCode}" readonly="readonly"/>
+                            存货编码:<input type="text" id="materialCode" name="materialCode" th:value="*{materialCode}" readonly="readonly"/>
                         </li>
                         <li>
                             库位编码:<input type="text" name="locationCode"/>
@@ -138,11 +138,6 @@
                     title : 'id',
                     align: 'center',
                 },
-                // {
-                //     field : 'locationId',
-                //     title : '库位id' ,
-                //     visible:false
-                // },
                 {
                     field : 'locationCode',
                     title : '库位编码'
@@ -167,7 +162,11 @@
                 },
                 {
                     field : 'materialCode',
-                    title : '物料编码'
+                    title : '存货编码'
+                },
+                {
+                    field : 'materialOldCode',
+                    title : '存货代码'
                 },
                 {
                     field : 'materialName',
@@ -193,11 +192,6 @@
                     field : 'receiptCode',
                     title : '入库单编码'
                 },
-                // {
-                //     field : 'receiptId',
-                //     title : '入库单id' ,
-                //     visible:false
-                // },
                 {
                     field : 'receiptDetailId',
                     title : '入库单明细id'
@@ -255,21 +249,6 @@
                 {
                     field : 'lastUpdatedBy',
                     title : '更新用户'
-                },
-                {
-                    field : 'userDef1',
-                    title : '自定义字段1' ,
-                    visible:false
-                },
-                {
-                    field : 'userDef2',
-                    title : '自定义字段2' ,
-                    visible:false
-                },
-                {
-                    field : 'userDef3',
-                    title : '自定义字段3' ,
-                    visible:false
                 }
             ]
 
@@ -331,7 +310,7 @@
             //         },
             //         {
             //             field : 'materialCode',
-            //             title : '物料编码'
+            //             title : '存货编码'
             //         },
             //         {
             //             field : 'materialName',
diff --git a/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html b/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
index c7f29be..c327e4b 100644
--- a/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
+++ b/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
@@ -170,7 +170,7 @@
             },
             {
                 field : 'materialCode',
-                title : '物料编码'
+                title : '存货编码'
             },
             {
                 field:"materialName",
@@ -262,7 +262,7 @@
             // },
             {
                 field : 'materialCode',
-                title : '物料编码'
+                title : '存货编码'
             },
             {
                 field:"materialName",
diff --git a/src/main/resources/templates/task/task/task.html b/src/main/resources/templates/task/task/task.html
index 039ea02..306c350 100644
--- a/src/main/resources/templates/task/task/task.html
+++ b/src/main/resources/templates/task/task/task.html
@@ -263,9 +263,9 @@
 		            formatter: function(value, row, index) {
 		            	var actions = [];
 		            	 // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
-                        actions.push('<a class="btn btn-success btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-edit"></i>明细</a> ');
+                        actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> ');
                         if (row.lastStatus < 10)  {
-                            actions.push('<a class="btn btn-info btn-xs ' + executeFlag + '" href="#" onclick="execute(\'' + row.id + '\')"><i class="fa fa-send" style="padding-right: 1px;"></i>执行</a> ');
+                            actions.push('<a class="btn btn-success btn-xs ' + executeFlag + '" href="#" onclick="execute(\'' + row.id + '\')"><i class="fa fa-send" style="padding-right: 1px;"></i>执行</a> ');
                             actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消</a> ');
                             actions.push('<a class="btn btn-primary btn-xs ' + completeFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-check"></i>完成</a>');
                         }
@@ -319,7 +319,7 @@
                 },
                 {
                     field : 'materialCode',
-                    title : '物料编码',
+                    title : '存货编码',
                     sortable: true
                 },
                 {
diff --git a/src/main/resources/templates/task/taskDetail/taskDetail.html b/src/main/resources/templates/task/taskDetail/taskDetail.html
index 9887af6..792f768 100644
--- a/src/main/resources/templates/task/taskDetail/taskDetail.html
+++ b/src/main/resources/templates/task/taskDetail/taskDetail.html
@@ -58,7 +58,7 @@
 				},
 				{
 					field : 'materialCode', 
-					title : '物料编码',
+					title : '存货编码',
                     sortable: true
 				},
 				{