diff --git a/.idea/MyBatisCodeHelperDatasource.xml b/.idea/MyBatisCodeHelperDatasource.xml
index a7a7381..3c96507 100644
--- a/.idea/MyBatisCodeHelperDatasource.xml
+++ b/.idea/MyBatisCodeHelperDatasource.xml
@@ -6,9 +6,9 @@
         <option name="addSerializeUid" value="true" />
         <option name="generateService" value="true" />
         <option name="generateServiceInterface" value="true" />
-        <option name="javaMapperPackage" value="com.huaheng.pc.task.taskPreference.mapper" />
+        <option name="javaMapperPackage" value="com.huaheng.pc.config.excelTempate.mapper" />
         <option name="javaMapperPath" value="$PROJECT_DIR$/src/main/java" />
-        <option name="javaModelPackage" value="com.huaheng.pc.task.taskPreference.domain" />
+        <option name="javaModelPackage" value="com.huaheng.pc.config.excelTempate.domain" />
         <option name="javaModelPath" value="$PROJECT_DIR$/src/main/java" />
         <option name="lastDatabaseCrudChooseModuleName" value="huaheng" />
         <option name="moduleNameToPackageAndPathMap">
@@ -30,21 +30,22 @@
             <entry key="huaheng">
               <value>
                 <UserPackageAndPathInfoByModule>
-                  <option name="javaMapperPackage" value="com.huaheng.pc.task.taskPreference.mapper" />
+                  <option name="javaMapperPackage" value="com.huaheng.pc.config.excelTempate.mapper" />
                   <option name="javaMapperPath" value="$PROJECT_DIR$/src/main/java" />
-                  <option name="javaModelPacakge" value="com.huaheng.pc.task.taskPreference.domain" />
+                  <option name="javaModelPacakge" value="com.huaheng.pc.config.excelTempate.domain" />
                   <option name="javaModelPath" value="$PROJECT_DIR$/src/main/java" />
-                  <option name="javaServiceInterfacePackage" value="com.huaheng.pc.task.taskPreference.service" />
+                  <option name="javaServiceInterfacePackage" value="com.huaheng.pc.config.excelTempate.service" />
                   <option name="javaServiceInterfacePath" value="$PROJECT_DIR$/src/main/java" />
-                  <option name="javaServicePackage" value="com.huaheng.pc.task.taskPreference.service" />
+                  <option name="javaServicePackage" value="com.huaheng.pc.config.excelTempate.service" />
                   <option name="javaServicePath" value="$PROJECT_DIR$/src/main/java" />
-                  <option name="xmlPackage" value="task" />
+                  <option name="xmlPackage" value="config" />
                   <option name="xmlPath" value="E:\code\wms2\src\main\resources\mybatis" />
                 </UserPackageAndPathInfoByModule>
               </value>
             </entry>
           </map>
         </option>
+        <option name="mybatisPlusStaticField" value="false" />
         <option name="tableGenerateConfigs">
           <map>
             <entry key="wms_v2:bom_detail">
@@ -117,6 +118,26 @@
                 </TableGenerateConfig>
               </value>
             </entry>
+            <entry key="wms_v2:eccel_template">
+              <value>
+                <TableGenerateConfig>
+                  <option name="generatedKey" value="" />
+                  <option name="javaModelName" value="EccelTemplate" />
+                  <option name="moduleName" value="huaheng" />
+                  <option name="useActualColumnName" value="true" />
+                </TableGenerateConfig>
+              </value>
+            </entry>
+            <entry key="wms_v2:excel_template">
+              <value>
+                <TableGenerateConfig>
+                  <option name="generatedKey" value="" />
+                  <option name="javaModelName" value="ExcelTemplate" />
+                  <option name="moduleName" value="huaheng" />
+                  <option name="useActualColumnName" value="true" />
+                </TableGenerateConfig>
+              </value>
+            </entry>
             <entry key="wms_v2:inventory_transaction">
               <value>
                 <TableGenerateConfig>
@@ -333,7 +354,7 @@
         <option name="useLomBokOnModel" value="true" />
         <option name="useSwagger" value="true" />
         <option name="userMybatisPlus" value="true" />
-        <option name="xmlMapperPackage" value="task" />
+        <option name="xmlMapperPackage" value="config" />
         <option name="xmlMapperPath" value="E:\code\wms2\src\main\resources\mybatis" />
       </ProjectProfile>
     </option>
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 5f0c02f..0bcc71b 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -6,8 +6,8 @@
         <sourceOutputDir name="target/generated-sources/annotations" />
         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
         <outputRelativeToContentRoot value="true" />
-        <module name="huaheng" />
         <module name="wms2" />
+        <module name="huaheng" />
       </profile>
     </annotationProcessing>
   </component>
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
index 4073132..9e49997 100644
--- a/.idea/dataSources.xml
+++ b/.idea/dataSources.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
-    <data-source source="LOCAL" name="@172.16.29.45" uuid="f0ef190b-e501-4096-a600-42861f79c6c6">
+    <data-source source="LOCAL" name="@172.16.29.45" uuid="2845c0bf-201c-4178-b161-2bab8cfbfe5d">
       <driver-ref>mysql.8</driver-ref>
       <synchronize>true</synchronize>
       <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 7221cbf..88bcc99 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,20 +2,10 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="9ff7b25e-dc1a-4859-8a0c-00039489e359" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/controller/receiptTypeController.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/resources/mybatis/general/BomDetailMapper.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/add.html" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/edit.html" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/receiptType.html" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptType/domain/ReceiptType.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/domain/ReceiptType.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptType/mapper/ReceiptTypeMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/mapper/ReceiptTypeMapper.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptType/service/ReceiptTypeService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/service/ReceiptTypeService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptType/service/ReceiptTypeServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/service/ReceiptTypeServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/mybatis/receipt/ReceiptTypeMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mybatis/config/ReceiptTypeMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/tool/import/import.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/tool/import/import.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/sql/bug" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -53,6 +43,64 @@
     </expand>
     <select />
   </component>
+  <component name="FileEditorManager">
+    <leaf>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="-304">
+              <caret line="25" column="13" selection-start-line="25" selection-start-column="13" selection-end-line="25" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentCombinationModel.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="68">
+              <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="202">
+              <caret line="76" column="16" lean-forward="true" selection-start-line="76" selection-start-column="16" selection-end-line="76" selection-end-column="16" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1156">
+              <caret line="81" column="11" lean-forward="true" selection-start-line="81" selection-start-column="11" selection-end-line="81" selection-end-column="11" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="60">
+              <caret line="155" selection-start-line="155" selection-end-line="155" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="200">
+              <caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
@@ -71,6 +119,14 @@
       </map>
     </option>
   </component>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java" />
+      </list>
+    </option>
+  </component>
   <component name="IgnoredFileRootStore">
     <option name="generatedRoots">
       <set>
@@ -78,10 +134,217 @@
       </set>
     </option>
   </component>
+  <component name="ProjectFrameBounds" extendedState="6">
+    <option name="x" value="-10" />
+    <option name="y" value="-10" />
+    <option name="width" value="1940" />
+    <option name="height" value="1050" />
+  </component>
   <component name="ProjectId" id="1P5Ngjh73HToCarlEZkqMxrL7pm" />
   <component name="ProjectLevelVcsManager">
     <ConfirmationsSetting value="2" id="Add" />
   </component>
+  <component name="ProjectView">
+    <navigator proportions="" version="1">
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="PackagesPane" />
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="inventoryDetail" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="inventoryDetail" type="462c0819:PsiDirectoryNode" />
+              <item name="domain" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="inventoryHeader" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="inventoryHeader" type="462c0819:PsiDirectoryNode" />
+              <item name="controller" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="inventoryHeader" type="462c0819:PsiDirectoryNode" />
+              <item name="domain" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="shipment" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="shipment" type="462c0819:PsiDirectoryNode" />
+              <item name="shipmentContainerHeader" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="shipment" type="462c0819:PsiDirectoryNode" />
+              <item name="shipmentContainerHeader" type="462c0819:PsiDirectoryNode" />
+              <item name="domain" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="shipment" type="462c0819:PsiDirectoryNode" />
+              <item name="shipmentContainerHeader" type="462c0819:PsiDirectoryNode" />
+              <item name="mapper" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="shipment" type="462c0819:PsiDirectoryNode" />
+              <item name="shipmentContainerHeader" type="462c0819:PsiDirectoryNode" />
+              <item name="service" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="Scope" />
+    </panes>
+  </component>
   <component name="PropertiesComponent">
     <property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
     <property name="DatabaseDriversLRU" value="mysql" />
@@ -140,7 +403,7 @@
   </component>
   <component name="RunManager">
     <configuration name="HuaHengApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
-      <module name="huaheng" />
+      <module name="wms2" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.huaheng.HuaHengApplication" />
       <option name="ALTERNATIVE_JRE_PATH" />
       <option name="UPDATE_ACTION_UPDATE_POLICY" value="UpdateClassesAndResources" />
@@ -306,6 +569,42 @@
     <option name="localTasksCounter" value="14" />
     <servers />
   </component>
+  <component name="ToolWindowManager">
+    <frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
+    <editor active="true" />
+    <layout>
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2627346" />
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
+      <window_info id="Web" order="2" side_tool="true" />
+      <window_info id="Designer" order="3" />
+      <window_info id="UI Designer" order="4" />
+      <window_info id="Favorites" order="5" side_tool="true" />
+      <window_info anchor="bottom" id="Messages" visible="true" weight="0.06798867" />
+      <window_info anchor="bottom" id="MyBatis Log" />
+      <window_info anchor="bottom" id="Message" order="0" />
+      <window_info anchor="bottom" id="Find" order="1" />
+      <window_info anchor="bottom" id="Run" order="2" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
+      <window_info anchor="bottom" id="TODO" order="6" />
+      <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Version Control" order="8" />
+      <window_info anchor="bottom" id="Run Dashboard" order="9" />
+      <window_info anchor="bottom" id="Spring" order="10" />
+      <window_info anchor="bottom" id="Database Changes" order="11" />
+      <window_info anchor="bottom" id="Event Log" order="12" side_tool="true" />
+      <window_info anchor="bottom" id="Java Enterprise" order="13" />
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
+      <window_info anchor="right" id="Palette" order="3" />
+      <window_info anchor="right" id="Maven" order="4" />
+      <window_info anchor="right" id="Bean Validation" order="5" />
+      <window_info anchor="right" id="Database" order="6" />
+      <window_info anchor="right" id="Palette&#9;" order="7" />
+    </layout>
+  </component>
   <component name="TypeScriptGeneratedFilesManager">
     <option name="version" value="1" />
   </component>
@@ -315,6 +614,12 @@
         <entry key="MAIN">
           <value>
             <State>
+              <option name="RECENTLY_FILTERED_USER_GROUPS">
+                <collection />
+              </option>
+              <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
+                <collection />
+              </option>
               <option name="COLUMN_ORDER" />
             </State>
           </value>
@@ -358,27 +663,79 @@
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java</url>
           <line>198</line>
+          <properties />
           <option name="timeStamp" value="11" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/common/utils/poi/ExcelUtil.java</url>
           <line>302</line>
+          <properties />
           <option name="timeStamp" value="12" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java</url>
           <line>187</line>
+          <properties />
           <option name="timeStamp" value="16" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java</url>
           <line>66</line>
+          <properties />
           <option name="timeStamp" value="24" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
   </component>
-  <component name="com.intellij.coverage.CoverageDataManagerImpl">
-    <SUITE FILE_PATH="coverage/wmsv2$HuaHengApplication.ic" NAME="HuaHengApplication Coverage Results" MODIFIED="1565752188059" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="60">
+          <caret line="155" selection-start-line="155" selection-end-line="155" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="200">
+          <caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-304">
+          <caret line="25" column="13" selection-start-line="25" selection-start-column="13" selection-end-line="25" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentContainerHeader.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-356">
+          <caret line="118" column="16" selection-start-line="118" selection-start-column="16" selection-end-line="118" selection-end-column="16" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentCombinationModel.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="68">
+          <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="202">
+          <caret line="76" column="16" lean-forward="true" selection-start-line="76" selection-start-column="16" selection-end-line="76" selection-end-column="16" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1156">
+          <caret line="81" column="11" lean-forward="true" selection-start-line="81" selection-start-column="11" selection-end-line="81" selection-end-column="11" />
+        </state>
+      </provider>
+    </entry>
   </component>
 </project>
\ No newline at end of file
diff --git a/doc/说明 b/doc/说明
new file mode 100644
index 0000000..531e6ec
--- /dev/null
+++ b/doc/说明
@@ -0,0 +1,6 @@
+
+
+mybatis plus框架封装方法
+
+le小于等于
+eq等于
diff --git a/sql/bug b/sql/bug
deleted file mode 100644
index 384ee9a..0000000
--- a/sql/bug
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/controller/excelTemplateController.java b/src/main/java/com/huaheng/pc/config/excelTemplate/controller/excelTemplateController.java
new file mode 100644
index 0000000..a608404
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/config/excelTemplate/controller/excelTemplateController.java
@@ -0,0 +1,141 @@
+package com.huaheng.pc.config.excelTemplate.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaheng.common.support.Convert;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.security.ShiroUtils;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.framework.web.page.PageDomain;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.framework.web.page.TableSupport;
+import com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate;
+import com.huaheng.pc.config.excelTemplate.service.ExcelTemplateService;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+@Controller
+@RequestMapping("/config/excelTemplate")
+public class excelTemplateController extends BaseController {
+    
+    @Resource
+    private ExcelTemplateService excelTemplateService;
+    
+    private String prefix ="/config/excelTemplate";
+
+    @RequiresPermissions("config:excelTemplate:view")
+    @GetMapping()
+    public String receiptDetailHistory() {
+        return prefix + "/excelTemplate";
+    }
+
+    /**
+     * 查询导入
+     */
+    @ApiOperation(value="查看导入列表", notes="根据名称、创建时间获取导入", httpMethod = "POST")
+    @RequiresPermissions("config:excelTemplate:list")
+    @Log(title = "配置-导入模板",operating = "导入模板列表", action = BusinessType.GRANT)
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(@ApiParam(name="ExcelTemplate",value="名称") ExcelTemplate excelTemplate,
+                              @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin,
+                              @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) {
+        LambdaQueryWrapper<ExcelTemplate> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        lambdaQueryWrapper.gt(StringUtils.isNotEmpty(createdBegin), ExcelTemplate::getCreated, createdBegin)
+                .lt(StringUtils.isNotEmpty(createdEnd), ExcelTemplate::getCreated, createdEnd)
+                .eq(StringUtils.isNotEmpty(excelTemplate.getName()), ExcelTemplate::getName, excelTemplate.getName())
+                .eq(ExcelTemplate::getWarehouseCode, ShiroUtils.getWarehouseCode())
+                .in(ExcelTemplate::getCompanyCode, ShiroUtils.getCompanyCodeList());
+
+        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
+            /*使用分页查询*/
+            Page<ExcelTemplate> page = new Page<>(pageNum, pageSize);
+            IPage<ExcelTemplate> iPage = excelTemplateService.page(page, lambdaQueryWrapper);
+            return getMpDataTable(iPage.getRecords(), iPage.getTotal());
+        } else {
+            List<ExcelTemplate> list = excelTemplateService.list(lambdaQueryWrapper);
+            return getDataTable(list);
+        }
+    }
+
+    /**
+     * 新增导入模板列表
+     */
+    @GetMapping("/add")
+    public String add() {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存导入模板列表
+     */
+    @ApiOperation(value="新增保存导入模板列表", notes="新增保存导入模板列表", httpMethod = "POST")
+    @RequiresPermissions("config:excelTemplate:add")
+    @Log(title = "配置-导入模板列表",operating = "新增保存导入模板列表", action = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(ExcelTemplate excelTemplate) {
+        excelTemplate.setWarehouseCode(ShiroUtils.getWarehouseCode());
+        excelTemplate.setCreatedBy(ShiroUtils.getLoginName());
+        excelTemplate.setLastUpdatedBy(ShiroUtils.getLoginName());
+        return toAjax(excelTemplateService.save(excelTemplate ));
+    }
+
+    /**
+     * 修改导入模板
+     */
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
+        ExcelTemplate excelTemplate = excelTemplateService.getById(id);
+        mmap.put("excelTemplate", excelTemplate);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 修改报存导入模板
+     */
+    @ApiOperation(value="修改导入模板列表信息", notes="修改导入模板列表信息", httpMethod = "POST")
+    @RequiresPermissions("config:excelTemplate:edit")
+    @Log(title = "配置-导入模板列表",operating = "修改导入模板列表", action = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(ExcelTemplate excelTemplate) {
+        excelTemplate.setLastUpdatedBy(ShiroUtils.getLoginName());
+        return toAjax(excelTemplateService.updateById(excelTemplate));
+    }
+
+    /**
+     * 删除报存导入模板
+     */
+    @ApiOperation(value="删除报存导入模板信息", notes="单条删除或批量删除报存导入模板信息,示例1或1,2,3", httpMethod = "POST")
+    @RequiresPermissions("config:excelTemplate:remove")
+    @Log(title = "配置-报存导入模板",operating = "删除报存导入模板", action = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids) {
+        if (StringUtils.isEmpty(ids)) {
+            return AjaxResult.error("id不能为空");
+        }
+        List<Integer> list = new ArrayList<>();
+        for (Integer id : Convert.toIntArray(ids)) {
+            list.add(id);
+        }
+        return toAjax(excelTemplateService.removeByIds(list));
+    }
+}
diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/domain/ExcelTemplate.java b/src/main/java/com/huaheng/pc/config/excelTemplate/domain/ExcelTemplate.java
new file mode 100644
index 0000000..03c2f6d
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/config/excelTemplate/domain/ExcelTemplate.java
@@ -0,0 +1,95 @@
+package com.huaheng.pc.config.excelTemplate.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+@ApiModel(value="com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate")
+@Data
+@TableName(value = "excel_template")
+public class ExcelTemplate implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.INPUT)
+    @ApiModelProperty(value="主键")
+    private Integer id;
+
+    /**
+     * 仓库编码
+     */
+    @TableField(value = "warehouseCode")
+    @ApiModelProperty(value="仓库编码")
+    private String warehouseCode;
+
+    /**
+     * 货主编码
+     */
+    @TableField(value = "companyCode")
+    @ApiModelProperty(value="货主编码")
+    private String companyCode;
+
+    /**
+     * 导入表名称
+     */
+    @TableField(value = "name")
+    @ApiModelProperty(value="导入表名称")
+    private String name;
+
+    /**
+     * 请求地址
+     */
+    @TableField(value = "url")
+    @ApiModelProperty(value="请求地址")
+    private String url;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "created")
+    @ApiModelProperty(value="创建时间")
+    private Date created;
+
+    /**
+     * 创建者
+     */
+    @TableField(value = "createdBy")
+    @ApiModelProperty(value="创建者")
+    private String createdBy;
+
+    /**
+     * 最后更新时间
+     */
+    @TableField(value = "lastUpdateBy")
+    @ApiModelProperty(value="最后更新时间")
+    private Date lastUpdateBy;
+
+    /**
+     * 最后更新者
+     */
+    @TableField(value = "lastUpdatedBy")
+    @ApiModelProperty(value="最后更新者")
+    private String lastUpdatedBy;
+
+    /**
+     * 数据版本
+     */
+    @TableField(value = "version")
+    @ApiModelProperty(value="数据版本")
+    private String version;
+
+    /**
+     * 是否有效
+     */
+    @TableField(value = "enable")
+    @ApiModelProperty(value="是否有效")
+    private Boolean enable;
+
+    private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/mapper/ExcelTemplateMapper.java b/src/main/java/com/huaheng/pc/config/excelTemplate/mapper/ExcelTemplateMapper.java
new file mode 100644
index 0000000..aa2a44e
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/config/excelTemplate/mapper/ExcelTemplateMapper.java
@@ -0,0 +1,7 @@
+package com.huaheng.pc.config.excelTemplate.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate;
+
+public interface ExcelTemplateMapper extends BaseMapper<ExcelTemplate> {
+}
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateService.java b/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateService.java
new file mode 100644
index 0000000..d586bee
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateService.java
@@ -0,0 +1,12 @@
+package com.huaheng.pc.config.excelTemplate.service;
+
+import com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+public interface ExcelTemplateService extends IService<ExcelTemplate>{
+
+    List<Map<String, Object>> getList();
+}
diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateServiceImpl.java b/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateServiceImpl.java
new file mode 100644
index 0000000..2cc98d6
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateServiceImpl.java
@@ -0,0 +1,25 @@
+package com.huaheng.pc.config.excelTemplate.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.common.utils.security.ShiroUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate;
+import com.huaheng.pc.config.excelTemplate.mapper.ExcelTemplateMapper;
+
+import java.util.List;
+import java.util.Map;
+
+@Service("excelService")
+public class ExcelTemplateServiceImpl extends ServiceImpl<ExcelTemplateMapper, ExcelTemplate> implements ExcelTemplateService{
+
+    public List<Map<String, Object>> getList(){
+        LambdaQueryWrapper<ExcelTemplate> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        lambdaQueryWrapper.eq(ExcelTemplate::getWarehouseCode, ShiroUtils.getWarehouseCode())
+                .in(ExcelTemplate::getCompanyCode, ShiroUtils.getCompanyCodeList())
+                .eq(ExcelTemplate::getEnable,true);
+
+        return this.listMaps(lambdaQueryWrapper);
+    }
+}
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java
new file mode 100644
index 0000000..0eae342
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java
@@ -0,0 +1,83 @@
+package com.huaheng.pc.inventory.inventoryDetail.controller;
+
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.pc.general.material.service.MaterialServiceImpl;
+import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+
+/**
+ * 库存明细控制层
+ *
+ */
+@Controller
+@RequestMapping("/inventory/inventoryHeader")
+public class InventoryDetailController extends BaseController
+{
+    private String prefix = "inventoryHeader/inventoryHeader";
+
+	@Resource
+    private MaterialServiceImpl materialService;
+	@Resource
+	private InventoryHeaderService inventoryHeaderService;
+
+
+	
+	@RequiresPermissions("inventoryHeader:inventoryHeader:view")
+	@GetMapping()
+	public String inventory()
+	{
+	    return prefix + "/inventoryHeader";
+	}
+	
+	/**
+	 * 查询库存列表
+	 */
+	@RequiresPermissions("inventoryHeader:inventoryHeader:list")
+	@Log(title = "库存-库存查看",operating = "查看库存列表", action = BusinessType.GRANT)
+	@PostMapping("/inventoryLook")
+	@ResponseBody
+	public TableDataInfo list()
+	{
+
+	    return null;
+	}
+
+	@GetMapping("/transfer")
+	public String transfer(){
+		return prefix + "/transfer";
+	}
+
+	/**移库*/
+	@RequiresPermissions("inventoryHeader:inventoryHeader:transfer")
+	@PostMapping("/transfer")
+	@ResponseBody
+	public AjaxResult transfer(String sourceLocation, String destinationLocation, Integer companyId, String companyCode){
+		return null;
+                //inventoryHeaderService.transfer(sourceLocation,destinationLocation,companyId,companyCode);
+	}
+
+    /**出库查看*/
+	@RequiresPermissions("inventoryHeader:inventoryHeader:seeOut")
+	@PostMapping("/createCheckOutTask")
+	@ResponseBody
+	public AjaxResult createCheckOutTask(String ids){
+		if(StringUtils.isEmpty(ids)){
+			return AjaxResult.error("ids不能为空");
+		}
+		return null;
+                //taskService.createCheckOutTask(ids.split(","));
+	}
+	
+}
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java
index 06c3b38..725997e 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java
@@ -18,6 +18,12 @@ public class InventoryDetail implements Serializable {
      @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
+     /**
+      * 库存头ID
+      * */
+    @TableField(value = "inventoryHeaderId")
+    private Integer inventoryHeaderId;
+
     /**
      * 仓库
      */
@@ -246,7 +252,6 @@ public class InventoryDetail implements Serializable {
     @TableField(value = "userDef3")
     private String userDef3;
 
-
     /**
      * 处理标记
      */
@@ -255,6 +260,8 @@ public class InventoryDetail implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    public static final String COL_INVENTORYHEADERID = "inventoryHeaderId";
+
     public static final String COL_WAREHOUSECODE = "warehouseCode";
 
     public static final String COL_COMPANYCODE = "companyCode";
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java
new file mode 100644
index 0000000..f39cedc
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java
@@ -0,0 +1,112 @@
+package com.huaheng.pc.inventory.inventoryHeader.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.security.ShiroUtils;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.framework.web.page.PageDomain;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.framework.web.page.TableSupport;
+import com.huaheng.pc.general.material.service.MaterialServiceImpl;
+import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
+import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 库存控制层
+ *
+ */
+@Controller
+@RequestMapping("/inventory/inventoryHeader")
+public class InventoryHeaderController extends BaseController
+{
+    private String prefix = "inventoryHeader/inventoryHeader";
+
+	@Resource
+    private MaterialServiceImpl materialService;
+	@Resource
+	private InventoryHeaderService inventoryHeaderService;
+
+
+	@RequiresPermissions("inventoryHeader:inventoryHeader:view")
+	@GetMapping()
+	public String inventoryHeader()
+	{
+	    return prefix + "/inventoryHeader";
+	}
+	
+	/**
+	 * 查询库存列表
+	 */
+	@RequiresPermissions("inventoryHeader:inventoryHeader:list")
+	@Log(title = "库存-库存查看",operating = "查看库存列表", action = BusinessType.GRANT)
+	@PostMapping("/inventoryLook")
+	@ResponseBody
+	public TableDataInfo list(InventoryHeader inventoryHeader,String createdBegin, String createdEnd)
+	{
+        LambdaQueryWrapper<InventoryHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+
+        lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin),InventoryHeader::getCreated, createdBegin)
+                .le(StringUtils.isNotEmpty(createdEnd), InventoryHeader::getCreated, createdEnd)//创建时间范围
+                .eq(InventoryHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())//仓库
+                .eq(StringUtils.isNotEmpty(inventoryHeader.getLocationCode()),InventoryHeader::getLocationCode,inventoryHeader.getLocationCode()) //库位
+                .eq(StringUtils.isNotEmpty(inventoryHeader.getContainerCode()),InventoryHeader::getContainerCode,inventoryHeader.getContainerCode())//容器
+                .eq(StringUtils.isNotEmpty(inventoryHeader.getCompanyCode()), InventoryHeader::getCompanyCode,inventoryHeader.getCompanyCode())//货主
+                .eq(StringUtils.isNotEmpty(inventoryHeader.getBatchs()), InventoryHeader::getBatchs, inventoryHeader.getBatchs())//批次
+                .eq(StringUtils.isNotEmpty(inventoryHeader.getLots()),InventoryHeader::getLots,inventoryHeader.getLots())//批号
+                .orderByDesc(InventoryHeader::getId);
+
+        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
+            //分页查询
+            Page<InventoryHeader> page = new Page<>(pageNum, pageSize);
+            IPage<InventoryHeader> iPage = inventoryHeaderService.page(page, lambdaQueryWrapper);
+            return getMpDataTable(iPage.getRecords(),iPage.getTotal());
+        } else {
+            List<InventoryHeader> list = inventoryHeaderService.list(lambdaQueryWrapper);
+            return getDataTable(list);
+        }
+
+	}
+    /**
+     * 移库页面
+     * */
+	@GetMapping("/transfer")
+	public String transfer(){
+		return prefix + "/transfer";
+	}
+
+	/**移库*/
+	@RequiresPermissions("inventoryHeader:inventoryHeader:transfer")
+	@PostMapping("/transfer")
+	@ResponseBody
+	public AjaxResult transfer(String sourceLocation, String destinationLocation, Integer companyId, String companyCode){
+		return null;
+                //inventoryHeaderService.transfer(sourceLocation,destinationLocation,companyId,companyCode);
+	}
+
+    /**出库查看*/
+	@RequiresPermissions("inventoryHeader:inventoryHeader:seeOut")
+	@PostMapping("/createCheckOutTask")
+	@ResponseBody
+	public AjaxResult createCheckOutTask(String ids){
+		if(StringUtils.isEmpty(ids)){
+			return AjaxResult.error("ids不能为空");
+		}
+		return null;
+                //taskService.createCheckOutTask(ids.split(","));
+	}
+	
+}
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java
index 4b4d826..f8a0559 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java
@@ -71,7 +71,7 @@ public class InventoryHeader implements Serializable {
     private Integer totalQty;
 
     /**
-     * 总数量
+     * 总行数
      */
     @TableField(value = "totalLines")
     private Integer totalLines;
@@ -155,36 +155,6 @@ public class InventoryHeader implements Serializable {
     private String userDef3;
 
     /**
-     * 自定义字段4
-     */
-    @TableField(value = "userDef4")
-    private String userDef4;
-
-    /**
-     * 自定义字段5
-     */
-    @TableField(value = "userDef5")
-    private String userDef5;
-
-    /**
-     * 自定义字段6
-     */
-    @TableField(value = "userDef6")
-    private String userDef6;
-
-    /**
-     * 自定义字段7
-     */
-    @TableField(value = "userDef7")
-    private String userDef7;
-
-    /**
-     * 自定义字段8
-     */
-    @TableField(value = "userDef8")
-    private String userDef8;
-
-    /**
      * 库存详情
      */
     private InventoryDetail inventoryDetail;
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java
index c6f5596..614046c 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java
@@ -2,7 +2,12 @@ package com.huaheng.pc.inventory.inventoryHeader.service;
 
 import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.stereotype.Service;
+
+@Service
 public interface InventoryHeaderService extends IService<InventoryHeader>{
 
 
+
+
 }
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 836754f..5d44366 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
@@ -10,7 +10,7 @@ import java.io.Serializable;
 import java.util.Date;
 import lombok.Data;
 
-@ApiModel(value="com.huaheng.pc.inventory.inventoryTransaction.domain.InventoryTransaction")
+@ApiModel(value="com.huaheng.pc.inventoryHeader.inventoryTransaction.domain.InventoryTransaction")
 @Data
 @TableName(value = "inventory_transaction")
 public class InventoryTransaction implements Serializable {
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
index 1853c91..9b9dc65 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
@@ -356,42 +356,6 @@ public class ShipmentHeader implements Serializable {
     @TableField(value = "userDef3")
     @ApiModelProperty(value = "自定义字段3")
     private String userDef3;
-
-    /**
-     * 自定义字段4
-     */
-    @TableField(value = "userDef4")
-    @ApiModelProperty(value = "自定义字段4")
-    private String userDef4;
-
-    /**
-     * 自定义字段5
-     */
-    @TableField(value = "userDef5")
-    @ApiModelProperty(value = "自定义字段5")
-    private String userDef5;
-
-    /**
-     * 自定义字段6
-     */
-    @TableField(value = "userDef6")
-    @ApiModelProperty(value = "自定义字段6")
-    private String userDef6;
-
-    /**
-     * 自定义字段7
-     */
-    @TableField(value = "userDef7")
-    @ApiModelProperty(value = "自定义字段7")
-    private String userDef7;
-
-    /**
-     * 自定义字段8
-     */
-    @TableField(value = "userDef8")
-    @ApiModelProperty(value = "自定义字段8")
-    private String userDef8;
-
     /**
      * 处理标记
      */
@@ -502,16 +466,6 @@ public class ShipmentHeader implements Serializable {
 
     public static final String COL_USERDEF3 = "userDef3";
 
-    public static final String COL_USERDEF4 = "userDef4";
-
-    public static final String COL_USERDEF5 = "userDef5";
-
-    public static final String COL_USERDEF6 = "userDef6";
-
-    public static final String COL_USERDEF7 = "userDef7";
-
-    public static final String COL_USERDEF8 = "userDef8";
-
     public static final String COL_PROCESSSTAMP = "processStamp";
 
     public static final String COL_DELETED = "deleted";
diff --git a/src/main/java/com/huaheng/pc/system/user/controller/IndexController.java b/src/main/java/com/huaheng/pc/system/user/controller/IndexController.java
index 44d8b4d..a16d5bb 100644
--- a/src/main/java/com/huaheng/pc/system/user/controller/IndexController.java
+++ b/src/main/java/com/huaheng/pc/system/user/controller/IndexController.java
@@ -73,7 +73,7 @@ public class IndexController extends BaseController
         pie.itemStyle().emphasis().setShadowBlur(10);
         pie.itemStyle().emphasis().setShadowOffsetX(0);
         pie.itemStyle().emphasis().setShadowColor("rgba(0, 0, 0, 0.4)");
-        String sql = "SELECT d.dictLabel '状态', i.qty '库存' FROM (SELECT status ,SUM(qty) qty FROM inventory WHERE warehouseCode = " + ShiroUtils.getWarehouseCode() + " GROUP BY status) i INNER JOIN sys_dict_data d ON i.status= d.dictValue AND d.warehouseCode = ' " + ShiroUtils.getWarehouseCode()+"' ;";
+        String sql = "SELECT d.dictLabel '状态', i.qty '库存' FROM (SELECT status ,SUM(qty) qty FROM inventoryHeader WHERE warehouseCode = " + ShiroUtils.getWarehouseCode() + " GROUP BY status) i INNER JOIN sys_dict_data d ON i.status= d.dictValue AND d.warehouseCode = ' " + ShiroUtils.getWarehouseCode()+"' ;";
         List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql);
         for(LinkedHashMap<String, Object> item : results){
             ChartData chartData = new ChartData();
@@ -211,7 +211,7 @@ public class IndexController extends BaseController
     @GetMapping("index/getInventoryProp")
     @ResponseBody
     public String getInventoryProp(){
-        String sql = "SELECT m.`name`,sum(i.qty) as total from inventory i join material m on i.materialCode = m.`code` and i.warehouseId = m.warehouseId AND i.warehouseCode = "+ShiroUtils.getWarehouseCode()+" \n" +
+        String sql = "SELECT m.`name`,sum(i.qty) as total from inventoryHeader i join material m on i.materialCode = m.`code` and i.warehouseId = m.warehouseId AND i.warehouseCode = "+ShiroUtils.getWarehouseCode()+" \n" +
                 "GROUP BY m.`name` ORDER BY total desc;";
         List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql);
 
diff --git a/src/main/resources/mybatis/config/ExcelTemplateMapper.xml b/src/main/resources/mybatis/config/ExcelTemplateMapper.xml
new file mode 100644
index 0000000..a2850d0
--- /dev/null
+++ b/src/main/resources/mybatis/config/ExcelTemplateMapper.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huaheng.pc.config.excelTemplate.mapper.ExcelTemplateMapper">
+  <resultMap id="BaseResultMap" type="com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate">
+    <!--@mbg.generated-->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
+    <result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="url" jdbcType="VARCHAR" property="url" />
+    <result column="created" jdbcType="TIMESTAMP" property="created" />
+    <result column="createdBy" jdbcType="VARCHAR" property="createdBy" />
+    <result column="lastUpdateBy" jdbcType="TIMESTAMP" property="lastUpdateBy" />
+    <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" />
+    <result column="version" jdbcType="VARCHAR" property="version" />
+    <result column="enable" jdbcType="BIT" property="enable" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, warehouseCode, companyCode, `name`, url, created, createdBy, lastUpdateBy, lastUpdatedBy, 
+    version, `enable`
+  </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml b/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml
index 1f8835a..ae31b84 100644
--- a/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml
+++ b/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml
@@ -4,6 +4,7 @@
   <resultMap id="BaseResultMap" type="com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail">
     <!--@mbg.generated-->
     <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="inventoryHeaderId" jdbcType="INTEGER" property="inventoryHeaderId" />
     <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
     <result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
     <result column="locationCode" jdbcType="VARCHAR" property="locationCode" />
@@ -42,16 +43,11 @@
     <result column="userDef1" jdbcType="VARCHAR" property="userDef1" />
     <result column="userDef2" jdbcType="VARCHAR" property="userDef2" />
     <result column="userDef3" jdbcType="VARCHAR" property="userDef3" />
-    <result column="userDef4" jdbcType="VARCHAR" property="userDef4" />
-    <result column="userDef5" jdbcType="VARCHAR" property="userDef5" />
-    <result column="userDef6" jdbcType="VARCHAR" property="userDef6" />
-    <result column="userDef7" jdbcType="VARCHAR" property="userDef7" />
-    <result column="userDef8" jdbcType="VARCHAR" property="userDef8" />
     <result column="processStamp" jdbcType="VARCHAR" property="processStamp" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, warehouseCode, companyCode, locationCode, containerCode, materialCode, materialName, 
+    id,inventoryHeaderId , warehouseCode, companyCode, locationCode, containerCode, materialCode, materialName,
     materialSpec, materialUnit, qty, taskQty, lockedQty, inventorySts, referCode, referId, 
     referDetailId, batch, lot, projectNo, qcCheck, weight, manufactureDate, expirationDate, 
     agingDate, attributeId, attribute1, attribute2, attribute3, attribute4, lockCode, 
diff --git a/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml b/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml
index 80d7a4a..4e8fe2e 100644
--- a/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml
+++ b/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml
@@ -26,17 +26,12 @@
     <result column="userDef1" jdbcType="VARCHAR" property="userDef1" />
     <result column="userDef2" jdbcType="VARCHAR" property="userDef2" />
     <result column="userDef3" jdbcType="VARCHAR" property="userDef3" />
-    <result column="userDef4" jdbcType="VARCHAR" property="userDef4" />
-    <result column="userDef5" jdbcType="VARCHAR" property="userDef5" />
-    <result column="userDef6" jdbcType="VARCHAR" property="userDef6" />
-    <result column="userDef7" jdbcType="VARCHAR" property="userDef7" />
-    <result column="userDef8" jdbcType="VARCHAR" property="userDef8" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
     id, warehouseCode, locationCode, containerCode, containerStatus, companyCode, weight, 
     materialSkuQty, totalQty, totalLines, projectNos, batchs, lots, lastCycleCountDate, 
     `enable`, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, 
-    userDef3, userDef4, userDef5, userDef6, userDef7, userDef8
+    userDef3,
   </sql>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/admin/inventory/inventory.html b/src/main/resources/templates/admin/inventory/inventory.html
index d195080..0f02fc7 100644
--- a/src/main/resources/templates/admin/inventory/inventory.html
+++ b/src/main/resources/templates/admin/inventory/inventory.html
@@ -67,7 +67,7 @@
 							</li>
 							<li>
 								<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
-								<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
+								<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
 							</li>
                         </ul>
 					</div>
diff --git a/src/main/resources/templates/admin/inventoryTransaction/inventoryTransaction.html b/src/main/resources/templates/admin/inventoryTransaction/inventoryTransaction.html
index 86d98f8..6157feb 100644
--- a/src/main/resources/templates/admin/inventoryTransaction/inventoryTransaction.html
+++ b/src/main/resources/templates/admin/inventoryTransaction/inventoryTransaction.html
@@ -56,7 +56,7 @@
                             </li>
                             <li>
                                 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
-                                <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
+                                <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
                             </li>
                         </ul>
                     </div>
@@ -64,10 +64,10 @@
             </div>
             <!--
             <div class="btn-group hidden-xs" id="toolbar" role="group">
-                <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventory:inventoryTransaction:add">
+                <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventoryHeader:inventoryTransaction:add">
                     <i class="fa fa-plus"></i> 新增
                 </a>
-                <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventoryTransaction:remove">
+                <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventoryHeader:inventoryTransaction:remove">
                     <i class="fa fa-trash-o"></i> 删除
                 </a>
             </div>
@@ -84,7 +84,7 @@
      </div>
      <div th:include="include :: footer"></div>
      <script th:inline="javascript">
-         var editFlag = [[${@permission.hasPermi('inventory:inventoryTransaction:edit')}]];
+         var editFlag = [[${@permission.hasPermi('inventoryHeader:inventoryTransaction:edit')}]];
          var prefix = ctx + "admin/inventoryTransaction";
          var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
          var inventoryTransactionType = [[${@dict.getType('inventoryTransactionType')}]];
diff --git a/src/main/resources/templates/config/excelTemplate/add.html b/src/main/resources/templates/config/excelTemplate/add.html
new file mode 100644
index 0000000..73a3230
--- /dev/null
+++ b/src/main/resources/templates/config/excelTemplate/add.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML>
+<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
+<meta charset="utf-8">
+<head th:include="include :: header"></head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-excelTemplate-add">
+        <input name="id" type="hidden">
+        <div class="form-group">
+            <label class="col-sm-3 control-label">导入表名称:</label>
+            <div class="col-sm-8">
+                <input id="name" name="name" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">请求地址:</label>
+            <div class="col-sm-8">
+                <input id="url" name="url" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">货主编码:</label>
+            <div class="col-sm-8">
+                <select id="companyCode" name="companyCode" class="form-control" th:with="companyList=${@companyService.selectCompanyByCurrentUserId()}">
+                    <option th:each="company : ${companyList}" th:text="${company['name']}" th:value="${company['code']}"></option>
+                </select>
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">是否有效:</label>
+            <div class="col-sm-8">
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="enable" name="enable">
+                    <label class="onoffswitch-label" for="enable">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
+                </div>
+            </div>
+        </div>
+        <div class="form-group">
+            <div class="form-control-static col-sm-offset-9">
+                <button type="submit" class="btn btn-primary">提交</button>
+                <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
+            </div>
+        </div>
+    </form>
+</div>
+<div th:include="include::footer"></div>
+<script type="text/javascript">
+    var prefix = ctx + "config/excelTemplate";
+    $("#form-excelTemplate-add").validate({
+        rules:{
+            code:{
+                required:true,
+            },
+            referType:{
+                required:true,
+            },
+            receiptFlow:{
+                required:true,
+            },
+        },
+        submitHandler: function(form) {
+            // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
+            var tableValue = $.common.getTableValue("#form-excelTemplate-add");
+            tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val());
+            tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked'));
+            $.operate.save(prefix + "/add", tableValue);
+        }
+    });
+</script>
+</body>
+</html>
diff --git a/src/main/resources/templates/config/excelTemplate/edit.html b/src/main/resources/templates/config/excelTemplate/edit.html
new file mode 100644
index 0000000..d6f5cae
--- /dev/null
+++ b/src/main/resources/templates/config/excelTemplate/edit.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML>
+<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
+<meta charset="utf-8">
+<head th:include="include :: header"></head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-excelTemplate-edit">
+        <input name="id" type="hidden" th:field="*{id}">
+        <div class="form-group">
+            <label class="col-sm-3 control-label">导入表名称:</label>
+            <div class="col-sm-8">
+                <input id="name" name="name" class="form-control" type="text" th:field="*{name}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">请求地址:</label>
+            <div class="col-sm-8">
+                <input id="url" name="url" class="form-control" type="text" th:field="*{url}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">货主编码:</label>
+            <div class="col-sm-8">
+                <select id="companyCode" name="companyCode" class="form-control" th:with="companyList=${@companyService.selectCompanyByCurrentUserId()}"
+                        th:field="*{companyCode}">
+                    <option th:each="company : ${companyList}" th:text="${company['name']}" th:value="${company['code']}"></option>
+                </select>
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">是否有效:</label>
+            <div class="col-sm-8">
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="enable" name="enable"  th:field="*{enable}">
+                    <label class="onoffswitch-label" for="enable">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
+                </div>
+            </div>
+        </div>
+        <div class="form-group">
+            <div class="form-control-static col-sm-offset-9">
+                <button type="submit" class="btn btn-primary">提交</button>
+                <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
+            </div>
+        </div>
+    </form>
+</div>
+<div th:include="include::footer"></div>
+<script type="text/javascript">
+    var prefix = ctx + "config/excelTemplate";
+    $("#form-excelTemplate-edit").validate({
+        rules:{
+            code:{
+                required:true,
+            },
+            referType:{
+                required:true,
+            },
+            receiptFlow:{
+                required:true,
+            },
+        },
+        submitHandler: function(form) {
+            // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
+            var tableValue = $.common.getTableValue("#form-excelTemplate-edit");
+            tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val());
+            tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked'));
+            $.operate.save(prefix + "/edit", tableValue);
+        }
+    });
+</script>
+</body>
+</html>
diff --git a/src/main/resources/templates/config/excelTemplate/excelTemplate.html b/src/main/resources/templates/config/excelTemplate/excelTemplate.html
new file mode 100644
index 0000000..1fa56e6
--- /dev/null
+++ b/src/main/resources/templates/config/excelTemplate/excelTemplate.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<meta charset="utf-8">
+<head th:include="include :: header"></head>
+<body class="gray-bg">
+<div class="container-div">
+    <div class="row">
+        <div class="col-sm-12 select-info">
+            <form id="locationType-form">
+                <div class="select-list">
+                    <ul>
+                        <li>
+                            名称:<input type="text" name="name"/>
+                        </li>
+                        <li class="time">
+                            <label>创建时间: </label>
+                            <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
+                            <span>-</span>
+                            <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
+                        </li>
+                        <li>
+                            <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                            <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
+                        </li>
+                    </ul>
+                </div>
+            </form>
+        </div>
+        <div class="btn-group hidden-xs" id="toolbar" role="group">
+            <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:excelTemplate:add">
+                <i class="fa fa-plus"></i> 新增
+            </a>
+            <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:excelTemplate:remove">
+                <i class="fa fa-trash-o"></i> 删除
+            </a>
+        </div>
+
+        <div class="col-sm-12 select-info">
+            <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
+        </div>
+        <div>
+        </div>
+        <div th:include="include :: footer"></div>
+        <script th:inline="javascript">
+            var editFlag = [[${@permission.hasPermi('config:excelTemplate:edit')}]];
+            var removeFlag = [[${@permission.hasPermi('config:excelTemplate:remove')}]];
+            var prefix = ctx + "config/excelTemplate";
+            var datas = [[${@dict.getType('sys_normal_disable')}]];
+            $(function() {
+                var options = {
+                    url: prefix + "/list",
+                    createUrl: prefix + "/add",
+                    updateUrl: prefix + "/edit/{id}",
+                    removeUrl: prefix + "/remove",
+                    modalName: "入库单类型",
+                    search: false,
+                    columns: [{
+                        checkbox: true
+                    },
+                        {
+                            field : 'id',
+                            title : 'Id'
+                        },
+                        {
+                            field : 'companyCode',
+                            title : '货主编码'
+                        },
+                        {
+                            field : 'warehouseCode',
+                            title : '仓库编码'
+                        },
+                        {
+                            field : 'name',
+                            title : '导入表名称'
+                        },
+                        {
+                            field : 'url',
+                            title : '请求地址'
+                        },
+                        {
+                            field : 'created',
+                            title : '创建时间'
+                        },
+                        {
+                            field : 'createdBy',
+                            title : '创建用户'
+                        },
+                        {
+                            field : 'lastUpdated',
+                            title : '更新时间'
+                        },
+                        {
+                            field : 'lastUpdatedBy',
+                            title : '更新用户'
+                        },
+                        {
+                            field : 'enable',
+                            title : '是否有效',
+                            formatter: function(value, row, index) {
+                                return $.table.selectDictLabel(datas, value);
+                            },
+                            align: 'center',
+                        },
+                        {
+                            field : 'version',
+                            title : '数据版本',
+                            visible : false
+                        },
+                        {
+                            title: '操作',
+                            align: 'center',
+                            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-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>');
+                                return actions.join('');
+                            }
+                        }]
+                };
+                $.table.init(options);
+            });
+        </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/config/receiptType/edit.html b/src/main/resources/templates/config/receiptType/edit.html
index 40576b1..0cdba8a 100644
--- a/src/main/resources/templates/config/receiptType/edit.html
+++ b/src/main/resources/templates/config/receiptType/edit.html
@@ -128,7 +128,7 @@
             <label class="col-sm-3 control-label">是否启用:</label>
             <div class="col-sm-8">
                 <div class="onoffswitch">
-                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="enable" name="enable" th:field="${enable}">
+                    <input type="checkbox" th:checked="*{enable}" class="onoffswitch-checkbox" id="enable" name="enable">
                     <label class="onoffswitch-label" for="enable">
                         <span class="onoffswitch-inner"></span>
                         <span class="onoffswitch-switch"></span>
@@ -147,7 +147,7 @@
 <div th:include="include::footer"></div>
 <script type="text/javascript">
     var prefix = ctx + "config/receiptType";
-    $("#form-locationType-add").validate({
+    $("#form-receiptType-edit").validate({
         rules:{
             code:{
                 required:true,
@@ -161,9 +161,9 @@
         },
         submitHandler: function(form) {
             // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
-            var tableValue = $.common.getTableValue("#form-locationType-add");
+            var tableValue = $.common.getTableValue("#form-receiptType-edit");
             tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val());
-            $.operate.save(prefix + "/add", tableValue);
+            $.operate.save(prefix + "/edit", tableValue);
         }
     });
 </script>
diff --git a/src/main/resources/templates/config/receiptType/receiptType.html b/src/main/resources/templates/config/receiptType/receiptType.html
index 26b611c..08d96ab 100644
--- a/src/main/resources/templates/config/receiptType/receiptType.html
+++ b/src/main/resources/templates/config/receiptType/receiptType.html
@@ -107,7 +107,8 @@
                         },
                         {
                             field : 'version',
-                            title : '数据版本'
+                            title : '数据版本',
+                            visible : false
                         },
                         {
                             field : 'processStamp',
diff --git a/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html b/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html
index 0cbc538..8bd5401 100644
--- a/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html
+++ b/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html
@@ -64,7 +64,7 @@
 							</form>
 						</div>
 						<!--<div class="btn-group hidden-xs" id="toolbar" role="group">
-							<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventory:cycleCount:insert">
+							<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventoryHeader:cycleCount:insert">
 								<i class="fa fa-plus"></i> 新增
 							</a>
 						</div>-->
@@ -79,8 +79,8 @@
     <div th:include="include :: footer"></div>
     <script th:inline="javascript">
         var prefix = ctx + "inventory/cyclecountAdjust";
-		var upload = [[${@permission.hasPermi('inventory:cyclecountAdjust:upload')}]];
-        var report =[[${@permission.hasPermi('inventory:cyclecountAdjust:report')}]];
+		var upload = [[${@permission.hasPermi('inventoryHeader:cyclecountAdjust:upload')}]];
+        var report =[[${@permission.hasPermi('inventoryHeader:cyclecountAdjust:report')}]];
         var datas = [[${@dict.getType('sys_normal_disable')}]];
 		var status2 = [[${@dict.getType('adjustType')}]];
 
diff --git a/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html b/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html
index bb369ed..425443f 100644
--- a/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html
+++ b/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html
@@ -57,11 +57,11 @@
                 <i class="fa fa-vcard"></i>差异调整
             </a>
            <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()"
-               shiro:hasPermission="inventory:cyclecountDetail:cyclecountRepeat">
+               shiro:hasPermission="inventoryHeader:cyclecountDetail:cyclecountRepeat">
                 <i class="fa fa-vcard"></i> 差异复盘
             </a>-->
             <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="adjust()"
-               shiro:hasPermission="inventory:cyclecountDetail:adjust">
+               shiro:hasPermission="inventoryHeader:cyclecountDetail:adjust">
                 <i class="fa fa-vcard"></i> 差异库存调整
             </a>-->
             <a class="btn btn-outline btn-success btn-rounded" onclick="update()">
diff --git a/src/main/resources/templates/inventory/cyclecountDetail/add.html b/src/main/resources/templates/inventory/cyclecountDetail/add.html
index 516a07f..275bded 100644
--- a/src/main/resources/templates/inventory/cyclecountDetail/add.html
+++ b/src/main/resources/templates/inventory/cyclecountDetail/add.html
@@ -58,7 +58,7 @@
 							</li>
 							<li>
 								<a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
-								<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
+								<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
 							</li>
 						</ul>
 					</div>
@@ -75,8 +75,8 @@
 <div th:include="include::footer"></div>
 
 <script th:inline="javascript">
-    var addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]];
-    // var removeFlag = [[${@permission.hasPermi('inventory:inventory:remove')}]];
+    var addFlag = [[${@permission.hasPermi('inventoryHeader:cyclecountDetail:add')}]];
+    // var removeFlag = [[${@permission.hasPermi('inventoryHeader:inventoryHeader:remove')}]];
     var prefix = ctx + "inventory/inventory";
     var prefix_cycleDetails = ctx + "inventory/cyclecountDetail";
     var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
diff --git a/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html b/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html
index c3788a8..8821d14 100644
--- a/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html
+++ b/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html
@@ -57,11 +57,11 @@
                 <i class="fa fa-plus"></i> 新增
             </a>
             <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="comfirmAllWithNoGapQty()"
-               shiro:hasPermission="inventory:cyclecountDetail:confirmAll">
+               shiro:hasPermission="inventoryHeader:cyclecountDetail:confirmAll">
                 <i class="fa fa-vcard"></i> 全部无差异确认
             </a>
             <a class="btn btn-outline btn-danger btn-rounded" onclick="comfirmRemainWithNoGapQty()"
-               shiro:hasPermission="inventory:cyclecountDetail:confirmRemain">
+               shiro:hasPermission="inventoryHeader:cyclecountDetail:confirmRemain">
                 <i class="fa fa-vcard"></i> 剩余无差异确认
             </a>-->
             <a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()"
@@ -85,10 +85,10 @@
 </div>
 <div th:include="include :: footer"></div>
 <script th:inline="javascript">
-    var editFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:edit')}]];
-    var removeFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:remove')}]];
-    var confirmFlag=[[${@permission.hasPermi('inventory:cyclecountDetail:confirm')}]];
-    var createTaskFalg=[[${@permission.hasPermi('inventory:cyclecountDetail:createTask')}]];
+    var editFlag = [[${@permission.hasPermi('inventoryHeader:cyclecountDetail:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('inventoryHeader:cyclecountDetail:remove')}]];
+    var confirmFlag=[[${@permission.hasPermi('inventoryHeader:cyclecountDetail:confirm')}]];
+    var createTaskFalg=[[${@permission.hasPermi('inventoryHeader:cyclecountDetail:createTask')}]];
     var prefix = ctx + "inventory/cyclecountDetail";
     var prefix_head = ctx + "inventory/cyclecountHeader";
     var remove_url= prefix + "/remove";
diff --git a/src/main/resources/templates/inventory/cyclecountHeader/cyclecountHeader.html b/src/main/resources/templates/inventory/cyclecountHeader/cyclecountHeader.html
index 8f1e736..18b87df 100644
--- a/src/main/resources/templates/inventory/cyclecountHeader/cyclecountHeader.html
+++ b/src/main/resources/templates/inventory/cyclecountHeader/cyclecountHeader.html
@@ -82,10 +82,10 @@
     </div>
     <div th:include="include :: footer"></div>
     <script th:inline="javascript">
-        var reportFlag = [[${@permission.hasPermi('inventory:cycleCount:report')}]];
-        var editFlag = [[${@permission.hasPermi('inventory:cycleCount:edit')}]];
-        var addAdjust = [[${@permission.hasPermi('inventory:cyclecountHead:addAdjust')}]];
-        var removeFlag = [[${@permission.hasPermi('inventory:cycleCount:remove')}]];
+        var reportFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:report')}]];
+        var editFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:edit')}]];
+        var addAdjust = [[${@permission.hasPermi('inventoryHeader:cyclecountHead:addAdjust')}]];
+        var removeFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:remove')}]];
         var prefix = ctx + "inventory/cyclecountHeader";
         var datas = [[${@dict.getType('sys_normal_disable')}]];
         var types = [[${@dict.getType('cyclecountType')}]];
diff --git a/src/main/resources/templates/inventory/inventory/add.html b/src/main/resources/templates/inventory/inventory/add.html
deleted file mode 100644
index 7675fe5..0000000
--- a/src/main/resources/templates/inventory/inventory/add.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<!DOCTYPE HTML>
-<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="white-bg">
-    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
-        <form class="form-horizontal m" id="form-inventory-add">
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">仓库Id:</label>
-				<div class="col-sm-8">
-					<input id="warehouseId" name="warehouseId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">仓库:</label>
-				<div class="col-sm-8">
-					<input id="warehouseCode" name="warehouseCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">库位id:</label>
-				<div class="col-sm-8">
-					<input id="locationId" name="locationId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">库位编号:</label>
-				<div class="col-sm-8">
-					<input id="locationCode" name="locationCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">上游系统单号:</label>
-				<div class="col-sm-8">
-					<input id="sourceCode" name="sourceCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">上游系统行号:</label>
-				<div class="col-sm-8">
-					<input id="sourceLine" name="sourceLine" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">公司id:</label>
-				<div class="col-sm-8">
-					<input id="companyId" name="companyId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">公司编码:</label>
-				<div class="col-sm-8">
-					<input id="companyCode" name="companyCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">物料Id:</label>
-				<div class="col-sm-8">
-					<input id="materialId" name="materialId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">存货编码:</label>
-				<div class="col-sm-8">
-					<input id="materialCode" name="materialCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">:</label>
-				<div class="col-sm-8">
-					<input id="materialName" name="materialName" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">入库单id:</label>
-				<div class="col-sm-8">
-					<input id="receiptId" name="receiptId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">入库单编码:</label>
-				<div class="col-sm-8">
-					<input id="receiptCode" name="receiptCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">入库单明细id:</label>
-				<div class="col-sm-8">
-					<input id="receiptDetailId" name="receiptDetailId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">批次:</label>
-				<div class="col-sm-8">
-					<input id="batch" name="batch" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">批号:</label>
-				<div class="col-sm-8">
-					<input id="lot" name="lot" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">项目号:</label>
-				<div class="col-sm-8">
-					<input id="project" name="project" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">生产日期:</label>
-				<div class="col-sm-8">
-					<input id="manufactureDate" name="manufactureDate" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">失效日期:</label>
-				<div class="col-sm-8">
-					<input id="expirationDate" name="expirationDate" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">库存状态:</label>
-				<div class="col-sm-8">
-					<input id="status" name="status" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">数量:</label>
-				<div class="col-sm-8">
-					<input id="qty" name="qty" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">执行预定数量:</label>
-				<div class="col-sm-8">
-					<input id="taskQty" name="taskQty" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">成本:</label>
-				<div class="col-sm-8">
-					<input id="costPrice" name="costPrice" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">标价:</label>
-				<div class="col-sm-8">
-					<input id="listPrice" name="listPrice" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">净价:</label>
-				<div class="col-sm-8">
-					<input id="netPrice" name="netPrice" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">创建时间(入库时间):</label>
-				<div class="col-sm-8">
-					<input id="created" name="created" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">创建用户:</label>
-				<div class="col-sm-8">
-					<input id="createdBy" name="createdBy" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">最后修改时间:</label>
-				<div class="col-sm-8">
-					<input id="lastUpdated" name="lastUpdated" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">更新用户:</label>
-				<div class="col-sm-8">
-					<input id="lastUpdatedBy" name="lastUpdatedBy" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">自定义字段1:</label>
-				<div class="col-sm-8">
-					<input id="userDef1" name="userDef1" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">自定义字段2:</label>
-				<div class="col-sm-8">
-					<input id="userDef2" name="userDef2" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">自定义字段3:</label>
-				<div class="col-sm-8">
-					<input id="userDef3" name="userDef3" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">
-				<div class="form-control-static col-sm-offset-9">
-					<button type="submit" class="btn btn-primary">提交</button>
-					<button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
-				</div>
-			</div>
-		</form>
-	</div>
-    <div th:include="include::footer"></div>
-    <script type="text/javascript">
-		var prefix = ctx + "inventory/inventory"
-		$("#form-inventory-add").validate({
-			rules:{
-				xxxx:{
-					required:true,
-				},
-			},
-			submitHandler: function(form) {
-				$.operate.save(prefix + "/add", $('#form-inventory-add').serialize());
-			}
-		});
-	</script>
-</body>
-</html>
diff --git a/src/main/resources/templates/inventory/inventory/edit.html b/src/main/resources/templates/inventory/inventory/edit.html
deleted file mode 100644
index 3b093a6..0000000
--- a/src/main/resources/templates/inventory/inventory/edit.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<!DOCTYPE HTML>
-<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="white-bg">
-    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
-        <form class="form-horizontal m" id="form-inventory-edit" th:object="${inventory}">
-            <input id="id" name="id" th:field="*{id}"  type="hidden">
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">仓库Id:</label>
-                <div class="col-sm-8">
-                    <input id="warehouseId" name="warehouseId" th:field="*{warehouseId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">仓库:</label>
-                <div class="col-sm-8">
-                    <input id="warehouseCode" name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">库位id:</label>
-                <div class="col-sm-8">
-                    <input id="locationId" name="locationId" th:field="*{locationId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">库位编号:</label>
-                <div class="col-sm-8">
-                    <input id="locationCode" name="locationCode" th:field="*{locationCode}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">上游系统单号:</label>
-                <div class="col-sm-8">
-                    <input id="sourceCode" name="sourceCode" th:field="*{sourceCode}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">上游系统行号:</label>
-                <div class="col-sm-8">
-                    <input id="sourceLine" name="sourceLine" th:field="*{sourceLine}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">公司id:</label>
-                <div class="col-sm-8">
-                    <input id="companyId" name="companyId" th:field="*{companyId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">公司编码:</label>
-                <div class="col-sm-8">
-                    <input id="companyCode" name="companyCode" th:field="*{companyCode}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">物料Id:</label>
-                <div class="col-sm-8">
-                    <input id="materialId" name="materialId" th:field="*{materialId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <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>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">:</label>
-                <div class="col-sm-8">
-                    <input id="materialName" name="materialName" th:field="*{materialName}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">入库单id:</label>
-                <div class="col-sm-8">
-                    <input id="receiptId" name="receiptId" th:field="*{receiptId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">入库单编码:</label>
-                <div class="col-sm-8">
-                    <input id="receiptCode" name="receiptCode" th:field="*{receiptCode}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">入库单明细id:</label>
-                <div class="col-sm-8">
-                    <input id="receiptDetailId" name="receiptDetailId" th:field="*{receiptDetailId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">批次:</label>
-                <div class="col-sm-8">
-                    <input id="batch" name="batch" th:field="*{batch}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">批号:</label>
-                <div class="col-sm-8">
-                    <input id="lot" name="lot" th:field="*{lot}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">项目号:</label>
-                <div class="col-sm-8">
-                    <input id="project" name="project" th:field="*{project}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">生产日期:</label>
-                <div class="col-sm-8">
-                    <input id="manufactureDate" name="manufactureDate" th:field="*{manufactureDate}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">失效日期:</label>
-                <div class="col-sm-8">
-                    <input id="expirationDate" name="expirationDate" th:field="*{expirationDate}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">库存状态:</label>
-                <div class="col-sm-8">
-                    <input id="status" name="status" th:field="*{status}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">数量:</label>
-                <div class="col-sm-8">
-                    <input id="qty" name="qty" th:field="*{qty}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">执行预定数量:</label>
-                <div class="col-sm-8">
-                    <input id="taskQty" name="taskQty" th:field="*{taskQty}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">成本:</label>
-                <div class="col-sm-8">
-                    <input id="costPrice" name="costPrice" th:field="*{costPrice}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">标价:</label>
-                <div class="col-sm-8">
-                    <input id="listPrice" name="listPrice" th:field="*{listPrice}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">净价:</label>
-                <div class="col-sm-8">
-                    <input id="netPrice" name="netPrice" th:field="*{netPrice}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">创建时间(入库时间):</label>
-                <div class="col-sm-8">
-                    <input id="created" name="created" th:field="*{created}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">创建用户:</label>
-                <div class="col-sm-8">
-                    <input id="createdBy" name="createdBy" th:field="*{createdBy}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">最后修改时间:</label>
-                <div class="col-sm-8">
-                    <input id="lastUpdated" name="lastUpdated" th:field="*{lastUpdated}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">更新用户:</label>
-                <div class="col-sm-8">
-                    <input id="lastUpdatedBy" name="lastUpdatedBy" th:field="*{lastUpdatedBy}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">自定义字段1:</label>
-                <div class="col-sm-8">
-                    <input id="userDef1" name="userDef1" th:field="*{userDef1}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">自定义字段2:</label>
-                <div class="col-sm-8">
-                    <input id="userDef2" name="userDef2" th:field="*{userDef2}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">自定义字段3:</label>
-                <div class="col-sm-8">
-                    <input id="userDef3" name="userDef3" th:field="*{userDef3}" class="form-control" type="text">
-                </div>
-            </div>
-			<div class="form-group">
-				<div class="form-control-static col-sm-offset-9">
-					<button type="submit" class="btn btn-primary">提交</button>
-					<button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
-				</div>
-			</div>
-		</form>
-    </div>
-    <div th:include="include::footer"></div>
-    <script type="text/javascript">
-		var prefix = ctx + "inventory/inventory"
-		$("#form-inventory-edit").validate({
-			rules:{
-				xxxx:{
-					required:true,
-				},
-			},
-			submitHandler: function(form) {
-				$.operate.save(prefix + "/edit", $('#form-inventory-edit').serialize());
-			}
-		});
-	</script>
-</body>
-</html>
diff --git a/src/main/resources/templates/inventory/inventory/inventory.html b/src/main/resources/templates/inventory/inventory/inventory.html
deleted file mode 100644
index cdf5895..0000000
--- a/src/main/resources/templates/inventory/inventory/inventory.html
+++ /dev/null
@@ -1,347 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="gray-bg">
-    <div class="container-div">
-		<div class="row">
-			<div class="col-sm-12 select-info">
-				<form id="inventory-form">
-					<div class="select-list">
-						<ul>
-                            <li>
-                                库位编号:<input type="text" name="locationCode"/>
-                            </li>
-							<li>
-								容器编号:<input type="text" name="containerCode"/>
-							</li>
-							<li>
-								U8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouse.selectList()}">
-								<option value="">所有</option>
-								<option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select>
-							</li>
-                            <li>
-                                储货库区:<input type="text" name="zoneCode"/>
-                            </li>
-							<li>
-								存货编码:<input type="text" name="materialCode"/>
-							</li>
-                            <li>
-                                存货代码:<input type="text" name="materialOldCode"/>
-                            </li>
-							<li>
-								物料名称:<input type="text" name="materialName"/>
-							</li>
-                            <li>
-                                库存状态:
-                                <select name="status" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">
-                                    <option value="">所有</option>
-                                    <option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                供应商编码:<input type="text" name="supplierCode"/>
-                            </li>
-
-                            <li>
-                                项 目 号:<input type="text" name="project"/>
-                            </li>
-                            <li>
-                                物料规格:<input type="text" name="materialSpec"/>
-                            </li>
-							<li class="time" style="height:30px">
-								<label>创建时间: </label>
-								<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
-								<span>-</span>
-								<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
-							</li>
-							<!--<li>
-								物料规格:<input type="text" name="materialSpec"/>
-							</li>-->
-							<!--<li>
-								物料类型:
-								<select name="materialType" th:with="type=${@dict.getType('materialType')}">
-									<option value="">所有</option>
-									<option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
-								</select>
-							</li>-->
-							<li>
-								<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
-								<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
-							</li>
-                        </ul>
-					</div>
-				</form>
-			</div>
-		   <div class="btn-group hidden-xs" id="toolbar" role="group">
-			   <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventory:inventory:add">-->
-				   <!--<i class="fa fa-plus"></i> 新增-->
-			   <!--</a>-->
-			   <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventory:remove">-->
-				   <!--<i class="fa fa-trash-o"></i> 删除-->
-			   <!--</a>-->
-			   <a class="btn btn-outline btn-danger btn-rounded" onclick="transfer()" shiro:hasPermission="inventory:inventory:transfer">
-				   <i class="fa fa-exchange"></i> 立库移库
-			   </a>
-			   <a class="btn btn-outline btn-primary btn-rounded" onclick="checkOut()" shiro:hasPermission="inventory:inventory:seeOut">
-				   <i class="fa fa-eye"></i> 出库查看
-			   </a>
-		   </div>
-			
-		   <div class="col-sm-12 select-info">
-			   <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
-		   </div>
-		</div>
-    </div>
-    <div th:include="include :: footer"></div>
-    <script th:inline="javascript">
-        var editFlag = [[${@permission.hasPermi('inventory:inventory:edit')}]];
-        var removeFlag = [[${@permission.hasPermi('inventory:inventory:remove')}]];
-        var prefix = ctx + "inventory/inventory"
-        var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
-        $(function() {
-            var options = {
-                url: prefix + "/list",
-                createUrl: prefix + "/add",
-                updateUrl: prefix + "/edit/{id}",
-                removeUrl: prefix + "/remove",
-                modalName: "库存",
-                sortable: true,                                     // 是否启用排序
-                sortStable: true,                                   // 设置为 true 将获得稳定的排序
-                sortName: "id",
-                sortOrder: "desc",
-                search: false,
-                columns: [{
-		            checkbox: true
-		        },
-				{
-					field : 'id', 
-					title : '库存ID',
-                    sortable:true
-				},
-				/*{
-					field : 'locationId',
-					title : '库位Id' ,
-					visible:false
-				},*/
-				{
-					field : 'locationCode',
-					title : '库位编号'
-				},
-                {
-                    field : 'containerCode',
-                    title : '容器编号'
-                },
-                {
-                    field : 'zoneCode',
-                    title : '储货库区' ,
-                },
-                {
-                    field : 'materialCode',
-                    title : '存货编码'
-                },
-                {
-                    field : 'materialOldCode',
-                    title : '存货代码'
-                },
-                {
-                    field : 'materialName',
-                    title : '物料名称'
-                },
-                {
-                    field : 'materialSpec',
-                    title : '物料规格'
-                },
-                {
-                    field : 'qty',
-                    title : '数量'
-                },
-                {
-                    field : 'taskQty',
-                    title : '预定执行数量'
-                },
-					// {
-					// 	field : 'zoneCode',
-					// 	title : '物料库区',
-					// 	visible:true
-					// },
-				{
-					field : 'sourceCode', 
-					title : '上游系统单号',
-                    visible:true
-				},
-				{
-					field : 'uWarehouseCode',
-					title : 'u8仓库',
-					visible:true
-				},
-				{
-					field : 'sourceLine', 
-					title : '上游系统行号',
-					visible:true
-				},
-				/*{
-					field : 'companyId',
-					title : '货主Id',
-                    visible:false
-				},*/
-				{
-					field : 'companyCode', 
-					title : '货主编码'
-				},
-
-				{
-					field : 'receiptId',
-					title : '入库单标识' ,
-                    visible:false
-				},
-				{
-					field : 'receiptCode', 
-					title : '入库单编码' 
-				},
-				{
-					field : 'receiptDetailId',
-					title : '入库单明细标识'  ,
-                    visible:false
-				},
-				{
-					field : 'batch', 
-					title : '批次' ,
-                    sortable:false,
-                    visible:false
-				},
-				{
-					field : 'lot', 
-					title : '批号' ,
-                    sortable:false,
-                    visible:false
-				},
-				{
-					field : 'project', 
-					title : '项目号' ,
-                    sortable:true
-				},
-                    {
-                        field : 'supplierCode',
-                        title : '供应商编码',
-                        visible:true
-                    },
-				{
-					field : 'manufactureDate', 
-					title : '生产日期' ,
-                    sortable:true ,
-                    visible:false
-				},
-				{
-					field : 'expirationDate', 
-					title : '失效日期' ,
-                    sortable:true ,
-                    visible:false
-				},
-				{
-					field : 'status', 
-					title : '库存状态' ,
-                    align: 'center',
-                    formatter: function(value, row, index) {
-                        return $.table.selectDictLabel(inventoryStatus, value);
-                    }
-				},
-
-				{
-					field : 'costPrice', 
-					title : '成本' ,
-                    visible:false
-				},
-				{
-					field : 'listPrice', 
-					title : '标价' ,
-                    visible:false
-				},
-				{
-					field : 'netPrice', 
-					title : '净价' ,
-                    visible:false
-				},
-				{
-					field : 'created', 
-					title : '入库时间',
-                    sortable:true
-				},
-				{
-					field : 'createdBy', 
-					title : '创建用户' ,
-                    visible:false
-				},
-				{
-					field : 'lastUpdated', 
-					title : '最后修改时间',
-                    sortable:true
-				},
-				{
-					field : 'lastUpdatedBy', 
-					title : '更新用户' 
-				},
-				{
-					field : 'userDef1', 
-					title : '自定义字段1' ,
-                    visible:false
-				},
-				{
-					field : 'userDef2', 
-					title : '自定义字段2' ,
-                    visible:false
-				},
-				{
-					field : 'userDef3', 
-					title : '自定义字段3' ,
-                    visible:false
-				}
-                // ,
-		        // {
-		        //     title: '操作',
-		        //     align: 'center',
-		        //     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-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
-					// 	return actions.join('');
-		        //     }
-		        // }
-		        ]
-            };
-            $.table.init(options);
-        });
-
-        function transfer() {
-            var url = prefix+"/transfer";
-			$.modal.open("立库移库",url);
-        }
-
-        function checkOut() {
-            var rows=$("#bootstrap-table").bootstrapTable('getSelections');
-            if (rows.length == 0) {
-                $.modal.alertWarning("请至少选择一条记录");
-                return;
-            }
-			var url = prefix + "/createCheckOutTask";
-			var data = { "ids": rows.map(function(v){return v.id;}).join(',') };
-			localSubmit(url, "post", "json", data);
-        }
-        function localSubmit (url, type, dataType, data) {
-            $.modal.loading("正在处理中,请稍后...");
-            var config = {
-                url: url, type: type, dataType: dataType, data: data, success: function (result) {
-                    if (result.code == web_status.SUCCESS) {
-                        $.modal.msgSuccess(result.msg);
-                    } else {
-                        $.modal.alertError(result.msg)
-                    }
-                    $.modal.closeLoading()
-                }
-            };
-            $.ajax(config)
-        }
-
-    </script>
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html
new file mode 100644
index 0000000..446287f
--- /dev/null
+++ b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html
@@ -0,0 +1,777 @@
+<!DOCTYPE HTML>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<meta charset="utf-8">
+<head th:include="include :: header"></head>
+<style>
+    .btn-default {
+        color: #333;
+        background-color: #fff;
+        border-color: #ccc
+    }
+</style>
+<body class="gray-bg">
+<div class="container-div">
+    <div class="row">
+        <div class="col-sm-12 select-info">
+            <ul id="myTab" class="nav nav-tabs">
+                <li class="active"><a href="#tabHeader" data-toggle="tab">主表</a></li>
+                <li><a href="#tabDetail" data-toggle="tab">明细</a></li>
+            </ul>
+            <div id="myTabContent" class="tab-content">
+                <div class="tab-pane fade in active" id="tabHeader">
+                    <div class="col-sm-12 select-info">
+                        <form id="receiptHeader-form">
+                            <div class="select-list">
+                                <ul>
+                                    <li>
+                                        出库单号:<input type="text" name="code"/>
+                                    </li>
+                                    <li>
+                                        <!--入库类型:<input type="text" name="sourceCode"/>-->
+                                        出库类型:<select name="shipmentType" th:with="shipmentType=${@dict.getType('shipmentType')}">
+                                        <option value="">所有</option>
+                                        <option th:each="e : ${shipmentType}" th:text="${e['dictLabel']}"
+                                                th:value="${e['dictValue']}"></option>
+                                    </select>
+                                    </li>
+                                    <li>
+                                        erp单号:<input type="text" name="referCode"/>
+                                    </li>
+                                    <li>
+                                        erp订单类型:<input type="text" name="referCodeType"/>
+                                    </li>
+                                    <li>
+                                        客户编码:<input type="text" name="sourceCode"/>
+                                    </li>
+                                    <li>
+                                        <!--头 状 态:<input type="text" name="firstStatus"/>-->
+                                        头 状 态:<select name="firstStatus"
+                                                      th:with="firstStatus=${@dict.getType('shipmentHeaderStatus')}">
+                                        <option value="">所有</option>
+                                        <option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}"
+                                                th:value="${e['dictValue']}"></option>
+                                    </select>
+                                    </li>
+                                    <li>
+                                        <!--尾 状 态:<input type="text" name="lastStatus"/>-->
+                                        尾 状 态:<select name="lastStatus"
+                                                      th:with="lastStatus=${@dict.getType('shipmentHeaderStatus')}">
+                                        <option value="">所有</option>
+                                        <option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}"
+                                                th:value="${e['dictValue']}"></option>
+                                    </select>
+                                    </li>
+                                    <li class="time">
+                                        <label>创建时间: </label>
+                                        <input type="text" class="time-input" id="startTime" placeholder="开始时间"
+                                               name="createdBegin"/>
+                                        <span>-</span>
+                                        <input type="text" class="time-input" id="endTime" placeholder="结束时间"
+                                               name="createdEnd"/>
+                                    </li>
+                                    <li>
+                                        <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
+                                                class="fa fa-search"></i>&nbsp;搜索</a>
+                                        <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="receipt:receiptHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
+                                    </li>
+                                </ul>
+                            </div>
+                        </form>
+                    </div>
+                    <div class="btn-group hidden-xs" id="toolbar" role="group">
+                        <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()"
+                           shiro:hasPermission="shipment:bill:add">
+                            <i class="fa fa-plus"></i> 新增
+                        </a>
+                        <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()"
+                           shiro:hasPermission="shipment:bill:remove">
+                            <i class="fa fa-trash-o"></i> 删除
+                        </a>
+                    </div>
+                    <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
+                </div>
+                <div class="tab-pane fade" id="tabDetail">
+                    <div class="col-sm-12 select-info">
+                        <form id = "shipmentHeadForm" >
+                            <ul id="tabHead" class="nav nav-tabs">
+                                <li class="active"><a href="#tabBase" data-toggle="tab">基础数据</a></li>
+                                <li role="presentation" ><a href="#tabCustomer" data-toggle="tab">客户信息</a></li>
+                                <li><a href="#tabExcute" data-toggle="tab">执行信息</a></li>
+                                <li><a href="#tabOther" data-toggle="tab">其他信息</a></li>
+                                <li><a href="#tabSystem" data-toggle="tab">系统信息</a></li>
+                            </ul>
+                            <div class="tab-content">
+                                <div class="tab-pane fade in active" id="tabBase">
+                                    <div class="select-list">
+                                        <ul>
+                                            <li>出库单id:<input type="text" name="shipmentId" id="shipmentId"><li>
+                                            <li>出库单号:<input type="text"  name="shipmentCode" id="shipmentCode"></li>
+                                            <input type="hidden" name="shipmentWarehouseId" id = "shipmentWarehouseId">
+                                            <li>仓库编码:<input type="text" name="shipmentWarehouseCode" id="shipmentWarehouseCode"></li>
+                                            <input type="hidden" name="shipmentCompanyId" id="shipmentCompanyId">
+                                            <li>货主:<input type="text" name="shipmentCompanyCode" id="shipmentCompanyCode"></li>
+                                            <li>上游系统单号:<input type="text" name="shipmentSourceCode" id="shipmentSourceCode"></li>
+                                            <li>上游平台:<input type="text" name="shipmentSourcePlatform" id="shipmentSourcePlatform"></li>
+                                            <li>出库单类型:<input type="text" name="shipmentType" id = "shipmentType"></li>
+                                            <li>总数量:<input type="text" name="shipmentTotalQty" id="shipmentTotalQty"></li>
+                                            <li>总行数:<input type="text" name="shipmentTotalLines" id="shipmentTotalLines"></li>
+                                            <li>单据头状态:<input type="text" name="shipmentFirstStatus" id="shipmentFirstStatus"></li>
+                                            <li>单据尾状态:<input type="text" name="shipmentLastStatus" id="shipmentLastStatus"></li>
+                                        </ul>
+                                    </div>
+                                </div>
+                                <div class="tab-pane fade" id="tabCustomer">
+                                    <div class="select-list">
+                                        <ul>
+                                            <li>客户编码:<input type="text" name="shipmentShipTo" id="shipmentShipTo"></li>
+                                            <li>发货预约时间:<input type="text" name="shipmentAppointmentTime" id="shipmentAppointmentTime"></li>
+                                        </ul>
+                                    </div>
+                                </div>
+                                <div class="tab-pane fade" id="tabExcute">
+                                    <div class="select-list">
+                                        <ul>
+                                            <li>优先级:<input type="text" name="shipmentPriority" id="shipmentPriority"></li>
+                                            <li>发货站台:<input type="text" name="shipmentStation" id="shipmentStation"></li>
+                                            <li></li>
+                                        </ul>
+                                    </div>
+                                </div>
+                                <div class="tab-pane fade" id="tabOther">
+                                    <div class="select-list">
+                                        <ul>
+                                            <li>备注:<input type="text" name="shipmentRemark" id="shipmentRemark"></li>
+                                            <li>扩展属性1:<input type="text" name="shipmentUserDef1" id="shipmentUserDef1"></li>
+                                            <li>扩展属性2:<input type="text" name="shipmentUserDef2" id="shipmentUserDef2"></li>
+                                            <li>扩展属性3:<input type="text" name="shipmentUserDef3" id="shipmentUserDef3"></li>
+
+                                        </ul>
+                                    </div>
+                                </div>
+                                <div class="tab-pane fade" id="tabSystem">
+                                    <div class="select-list">
+                                        <ul>
+                                            <li>上传备注:<input type="text" name="shipmentUploadremark" id="shipmentUploadremark"></li>
+                                            <li>上传时间:<input type="text" name="shipmentUploadTime" id="shipmentUploadTime"></li>
+                                            <li>上传状态:<input type="text" name="shipmentUploadStatus" id="shipmentUploadStatus"></li>
+                                            <li>创建时间:<input type="text" name="shipmentCreated" id="shipmentCreated"></li>
+                                            <li>创建用户:<input type="text" name="shipmentCreatedBy" id="shipmentCreatedBy"></li>
+                                            <li>最后修改时间:<input type="text" name="shipmentLastUpdated" id="shipmentLastUpdated"></li>
+                                            <li>更新用户:<input type="text" name=" shipmentLastUpdatedBy" id="shipmentLastUpdatedBy"></li>
+                                            <li>是否有效:<input type="text" name="shipmentEnable" id="shipmentEnable"></li>
+                                            <li>是否删除:<input type="text" name="shipmentDeleted" id="shipmentDeleted"></li>
+                                        </ul>
+                                    </div>
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                    <div class="btn-group hidden-xs" id="toolbar-detail" role="group" style="padding:20px 0;">
+
+                                <a class="btn btn-outline btn-success btn-rounded" onclick="add()" shiro:hasPermission="shipment:bill:add">
+                                    <i class="fa fa-plus"></i> 新增
+                                </a>
+                                <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()"  shiro:hasPermission="shipment:bill:remove">
+                                    <i class="fa fa-trash-o"></i> 删除
+                                </a>
+                                <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.edit(shipmentId)" shiro:hasPermission="shipment:bill:edit">
+                                    <i class="fa fa-edit"></i> 编辑主单据
+                                </a>
+                                <a class="btn btn-outline btn-default btn-rounded" onclick="loadDetail()">
+                                    <i class="fa fa-refresh"></i> 刷新
+                                </a>
+                                <!--<a class="btn btn-outline btn-success btn-rounded" onclick="autoZone()" shiro:hasPermission="shipment:bill:add">-->
+                                    <!--<i class="fa fa-plus"></i> 自动分配库区-->
+                                <!--</a>-->
+                                 <!--<a class="btn btn-outline btn-success btn-rounded" onclick="addzone()" shiro:hasPermission="shipment:bill:add">-->
+                                    <!--<i class="fa fa-plus"></i> 分配库区-->
+                                 <!--</a>-->
+                                <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="Toshipping(false)"  shiro:hasPermission="shipment:shippingCombination:combination">
+                                    <i class="fa fa-hand-lizard-o"></i> 手动组盘
+                                </a>
+                                <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="Toshipping(true)" shiro:hasPermission="shipment:shippingCombination:combination">
+                                    <i class="fa fa-code-fork"></i> 自动组盘
+                                </a>
+                            </div>
+                    <table id="bootstrap-table-detail" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<div th:include="include :: footer"></div>
+<script th:inline="javascript">
+    var printFlag = [[${@permission.hasPermi('shipment:bill:report')}]]; //打印
+    var editFlag = [[${@permission.hasPermi('shipment:bill:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('shipment:bill:remove')}]];
+    var prefix = ctx + "shipment/shipmentHeader";
+    var prefix_detail = ctx + "shipment/shipmentDetail";
+    var datas = [[${@dict.getType('sys_normal_disable')}]];
+    var shipmentTypes=[[${@dict.getType('shipmentType')}]];
+    var shipmentHeaderStatus=[[${@dict.getType('shipmentHeaderStatus')}]];
+    var stations = [[${@dict.getType('station')}]];
+    var uploadStatus=[[${@dict.getType('uploadStatus')}]];
+    var detailCreateUrl=prefix_detail+"/add";
+    var detailRemoveUrl=prefix_detail+"/remove";
+    var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
+    var rossDoccking = [[${@permission.hasPermi('shipment:bill:rossDoccking')}]];
+    var rossDocckingUrl =prefix_detail+"/rossDoccking";
+    var shipmentId = "";
+    var shipmentCode="";
+
+    $(function () {
+        var options = {
+            url: prefix + "/list",
+            createUrl: prefix + "/add",
+            updateUrl: prefix + "/edit/{id}",
+            removeUrl: prefix + "/remove",
+            modalName: "出库单",
+            sortName: "created",
+            sortOrder: "desc",
+            search: false,
+            columns: [
+                {
+                checkbox: true
+            },
+                {
+                    field: 'id',
+                    title: '出库单id'
+                },
+                {
+                    field: 'code',
+                    title: '出库单号',
+                    sortable:true
+                },
+                {
+                    field: 'companyCode',
+                    title: '货主',
+                    sortable:true
+                },
+                {
+                    field: 'referCode',
+                    title: 'erp订单号',
+                    sortable:true
+                },
+                {
+                    field: 'referCodeType',
+                    title: 'erp订单内部号',
+                    sortable:true,
+                    visible:false
+                },
+                {
+                    field: 'shipmentType',
+                    title: '类型',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(shipmentTypes, value);
+                    },
+                    sortable:true
+
+                },
+                {
+                    field: 'customerCode',
+                    title: '客户编码',
+                    sortable:true
+                },
+                {
+                    field: 'priority',
+                    title: '优先级'
+                },
+                {
+                    field: 'route',
+                    title: '路线',
+                    sortable:true
+                },
+                {
+                    field: 'totalQty',
+                    title: '总数量'
+                },
+                {
+                    field: 'totalLines',
+                    title: '总行数'
+                },
+                {
+                    field: 'firstStatus',
+                    title: '头状态',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(shipmentHeaderStatus, value);
+                    },
+                    sortable:true
+                },
+                {
+                    field: 'lastStatus',
+                    title: '尾状态',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(shipmentHeaderStatus, value);
+                    },
+                    sortable:true
+                },
+                {
+                    field: 'created',
+                    title: '创建时间',
+                    sortable: true
+                },
+                {
+                    field: 'createdBy',
+                    title: '创建用户'
+                },
+                {
+                    field: 'lastUpdated',
+                    title: '最后修改时间',
+                    visible:false
+                },
+                {
+                    field: 'lastUpdatedBy',
+                    title: '更新用户',
+                    visible:false
+                },
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function (value, row, index) {
+                        var actions = [];
+                        actions.push('<a id="table_edit" class="btn btn-success btn-xs ' + printFlag + '" href="#" onclick="receiptPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> ');
+                       // actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>列表</a> ');
+                        if (row.firstStatus < 100){
+                            actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                        }
+                        if (row.firstStatus < 120){
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
+                        }
+                        return actions.join('');
+                    }
+                }]
+        };
+        $.table.init(options);
+    });
+
+    $("#bootstrap-table-detail").bootstrapTable(
+        {
+            /*url: prefix_detail + "/list",*/
+            createUrl: prefix_detail + "/add",
+            updateUrl: prefix_detail + "/edit/{id}",
+            removeUrl: prefix_detail + "/remove",
+            // queryParams: queryParams,
+            sortable: true, //排序
+            // showRefresh: true, //刷新
+            modalName: "出库明细",
+            search: false,
+            clickToSelect: true,
+            sortName: "lastUpdated",
+            sortOrder: "desc",
+            pagination: true,   // 是否显示分页(*)
+            pageNumber: 1,                                      // 初始化加载第一页,默认第一页
+            pageSize: 10,                                       // 每页的记录行数(*)
+            pageList: [10, 25, 50],                             // 可供选择的每页的行数(*)
+            columns: [{
+                checkbox: true
+            },
+                {
+                    field: 'id',
+                    title: '明细id'
+                },
+                {
+                    field: 'zoneCode',
+                    title: '库区'
+                },
+
+               /* {
+                    field: 'shipmentId',
+                    title: '出库单Id'
+                },*/
+                {
+                    field: 'materialCode',
+                    title: '存货编码'
+                },
+                {
+                    field: 'materialName',
+                    title: '物料名称'
+                },
+                {
+                    field: 'specification',
+                    title: '物料规格'
+                },
+                {
+                    field: 'batch',
+                    title: '批次',
+                    visible:false
+                },
+                {
+                    field: 'lot',
+                    title: '批号',
+                    visible:false
+                },
+                {
+                    field: 'project',
+                    title: '项目号'
+                },
+                /*{
+                    field: 'status',
+                    title: '明细状态',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(shipmentHeaderStatus, value);
+                    },
+                    visible:true
+                },*/
+                {
+                    field: 'manufactureDate',
+                    title: '生产日期',
+                    visible:false
+                },
+                {
+                    field: 'expirationDate',
+                    title: '失效日期',
+                    visible:false
+                },
+                {
+                    field: 'agingDate',
+                    title: '入库日期',
+                    visible:false
+                },
+                {
+                    field: 'inventoryStatus',
+                    title: '库存状态',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(inventoryStatus, value);
+                    },
+                },
+                {
+                    field: 'qty',
+                    title: '发货数量'
+                },
+                {
+                    field: 'qtyCompleted',
+                    title: '已出数量'
+                },
+                {
+                    field : 'inventoryQty',
+                    title : '库存数量'
+                },
+                {
+                    field : 'status',
+                    title : '明细状态',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(shipmentHeaderStatus, value);
+                    }
+                },
+                {
+                    field: 'price',
+                    title: '物料单价',
+                    visible:false
+                },
+                {
+                    field: 'created',
+                    title: '创建时间',
+                },
+                {
+                    field: 'createdBy',
+                    title: '创建用户'
+                },
+                {
+                    field: 'lastUpdated',
+                    title: '最后修改时间'
+                },
+                {
+                    field: 'lastUpdatedBy',
+                    title: '更新用户'
+                },
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function (value, row, index) {
+                        var actions = [];
+                        actions.push('<a style="background-color: #f59e00;border: #f59e00" class="btn btn-default btn-xs '  + rossDoccking + '" href="#"  onclick="Doccking(\''+ row.id + '\')"><i class="fa fa-send"></i>越库</a> ');
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
+                        return actions.join('');
+                    }
+                }]
+        }
+    );
+
+
+    /* 越库 */
+    function Doccking(id) {
+        // var url = rossDocckingUrl.replace("{id}", id);
+        let url=rossDocckingUrl;
+        var data = { "id": id };
+        submit(url, "post", "json", data);
+    }
+
+    function submit(url, type, dataType, data,content) {
+        $.modal.loading("正在处理中,请稍后...");
+        var config = {
+            url: url,
+            type: type,
+            dataType: dataType,
+            data: data,
+            contentType: content,
+            success: function(result) {
+                if (result.code == web_status.SUCCESS) {
+                    if (result.data !== null) {
+                        layer.open({
+                            title: ''
+                            ,content: result.data,
+                            closeBtn:false
+                        });
+                        $("body").focus();
+                    }
+                    else {
+                        $.modal.msg(result.msg);
+                    }
+
+                }
+                else {
+                    $.modal.alertError(result.msg);
+                }
+                $("#list-btn").click();
+                $.modal.closeLoading();
+            }
+        };
+        $.ajax(config)
+    }
+
+
+
+
+    /*入库单列表-详细*/
+    function detail(id, code) {
+        shipmentId = id;
+        shipmentCode=code;
+        $("#myTab li").removeClass("active");
+        $("#tabHeader").removeClass("in active");
+        $("#myTab li:eq(1)").addClass("active");
+        $("#tabDetail").addClass("in active");
+
+        loadDetail();
+    }
+
+    /** 载入明细 */
+    function loadDetail() {
+        $.ajax({
+            url:ctx + 'shipment/shipmentDetail/list',
+            type: 'post',
+            data:{
+                shipmentId:shipmentId
+            },
+            success : function (value) {
+                    $("#bootstrap-table-detail").bootstrapTable('load',value.data);
+            }
+        })
+        $.ajax({
+            url:"shipmentHeader/getShipmentHeader",
+            type:"post",
+            data:{
+                id:shipmentId
+            },
+            success:function (value) {
+                $('#shipmentId').val(value.data.id);
+                $('#shipmentCode').val(value.data.code);
+                $('#shipmentWarehouseId').val(value.data.warehouseId);
+                $('#shipmentWarehouseCode').val(value.data.warehouseCode);
+                $('#shipmentCompanyId').val(value.data.companyId);
+                $('#shipmentCompanyCode').val(value.data.companyCode);
+                $('#shipmentSourceCode').val(value.data.sourceCode);
+                $('#shipmentSourcePlatform').val(value.data.sourcePlatform);
+                $('#shipmentType').val(shipmentTypes.filter(function(a){return a.dictValue==value.data.type})[0].dictLabel);
+                $('#shipmentShipTo').val(value.data.shipTo);
+                $('#shipmentPriority').val(value.data.priority);
+                $('#shipmentStation').val(value.data.station);
+                $('#shipmentTotalQty').val(value.data.totalQty);
+                $('#shipmentTotalLines').val(value.data.totalLines);
+                $('#shipmentRemark').val(value.data.remark);
+                $('#shipmentUploadremark').val(value.data.uploadremark);
+                $('#shipmentUploadTime').val(value.data.uploadTime);
+                $('#shipmentAppointmentTime').val(value.data.appointmentTime);
+                $('#shipmentFirstStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.firstStatus})[0].dictLabel);
+                $('#shipmentLastStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.lastStatus})[0].dictLabel);
+                $('#shipmentUploadStatus').val(uploadStatus.filter(function (a) {return a.dictValue==value.data.uploadStatus})[0].dictLabel);
+                $('#shipmentCreated').val(value.data.created);
+                $('#shipmentCreatedBy').val(value.data.createdBy);
+                $('#shipmentLastUpdated').val(value.data.lastUpdated);
+                $('#shipmentLastUpdatedBy').val(value.data.lastUpdatedBy);
+                //$('#shipmentEnable').val(value.data.enable);
+                if(value.data.enable==true){
+                    $('#shipmentEnable').val('是')
+                }else{
+                    $('#shipmentEnable').val('否')
+                };
+                //$('#shipmentDeleted').val(value.data.deleted);
+                if(value.data.deleted==false){
+                    $('#shipmentDeleted').val('否')
+                }else{
+                    $('#shipmentDeleted').val('是')
+                };
+                $('#shipmentUserDef1').val(value.data.userDef1);
+                $('#shipmentUserDef2').val(value.data.userDef2);
+                $('#shipmentUserDef3').val(value.data.userDef3);
+
+
+            }
+        })
+    }
+
+    /* 添加主单据 */
+    function add() {
+        if (shipmentId == '') {
+            $.modal.open("未选择出库单" , "404.html");
+        }
+        else {
+            var  url = detailCreateUrl + "?shipmentId=" + $('#shipmentId').val()
+                                        + "&shipmentCode=" + $('#shipmentCode').val()
+                                        + "&companyId=" + $('#shipmentCompanyId').val()
+                                        + "&companyCode=" + $('#shipmentCompanyCode').val();
+                                        + "&sourceCode=" + $('#shipmentSourceCode').val();
+            $.modal.open("添加" , url);
+        }
+    }
+
+    /* 打印 */
+    function receiptPrint(id) {
+        var url = prefix + "/report/" + id;
+        $.modal.open("出库单打印" , url);
+    }
+
+    /* 编辑明细单据 */
+    function edit(id) {
+        if (shipmentId == '') {
+            $.modal.open("未选择出库单" , "404.html");
+        }
+        else {
+            var  url = prefix_detail + "/edit/" + id ;
+            $.modal.open("编辑明细" , url);
+        }
+    }
+
+    /* 单个删除 */
+    function remove(id) {
+        $.modal.confirm("确定删除该条出库单明细信息吗?", function() {
+            var url = $.common.isEmpty(id) ? detailRemoveUrl : detailRemoveUrl.replace("{id}", id);
+            var data = { "ids": id };
+            localSubmit(url, "post", "json", data);
+        });
+    }
+
+    /* 批量删除 */
+    function batRemove() {
+        var rows=$("#bootstrap-table-detail").bootstrapTable('getSelections');
+        // console.log(rows);
+        // var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id);
+        if (rows.length == 0) {
+            $.modal.alertWarning("请至少选择一条记录");
+            return;
+        }
+        $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() {
+            var url = detailRemoveUrl;
+            var data = { "ids": rows.map(function(v){return v.id;}).join(',') };
+            localSubmit(url, "post", "json", data);
+        });
+    }
+
+    function localSubmit (url, type, dataType, data) {
+        $.modal.loading("正在处理中,请稍后...");
+        var config = {
+            url: url, type: type, dataType: dataType, data: data, success: function (result) {
+                if (result.code == web_status.SUCCESS) {
+                    $.modal.msgSuccess(result.msg);
+                    loadDetail(shipmentId, shipmentCode)
+                } else {
+                    $.modal.alertError(result.msg)
+                }
+                $.modal.closeLoading()
+            }
+        };
+        $.ajax(config)
+    }
+
+    /* 出库组盘 */
+    function Toshipping(auto) {
+        let storage=window.localStorage;
+        if (auto) {
+            $(".auto-shipment").attr("disabled",true).css("pointer-events","none");
+            storage.auto = auto;
+            let url = ctx + "shipment/shippingCombination";
+            createMenuItem(url, "出库自动组盘");
+            storage.shipmentCode=shipmentCode;
+            parent.$('.tabReload').click();
+            $(".auto-shipment").attr("disabled",false).css("pointer-events","auto");
+        }
+        else {
+            var rows=$("#bootstrap-table-detail").bootstrapTable('getSelections');
+            if (rows.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            let data = { "ids": rows.map(function(v){return v.id;}).join(',') };
+            $(".to-receive").attr("disabled",true).css("pointer-events","none");
+            let url = ctx + "shipment/shippingCombination";
+            createMenuItem(url, "出库组盘");
+            storage.shipids=data.ids;
+            storage.shipmentCode=shipmentCode;
+            parent.$('.tabReload').click();
+            $(".to-receive").attr("disabled",false).css("pointer-events","auto");
+        }
+
+    }
+
+    /* 点击明细面板 */
+    $("#myTab li:eq(1)").click(function () {
+        if (shipmentId == '')   {
+            shipmentId = $("#bootstrap-table tr:eq(1) td:eq(1)").text();
+        }
+        detail(shipmentId, "");
+    });
+
+    /* 点击主表面板 */
+    $("#myTab li:eq(0)").click(function () {
+        $.ajax({
+            url: prefix + "/list",
+            type:"post",
+            success:function (value) {
+                $("#bootstrap-table").bootstrapTable('refresh', value.data);
+            }
+        })
+    });
+
+    // function addzone() {
+    //     let url=prefix_detail+'/addZoneCode?ids=';
+    //     let rows=$("#bootstrap-table-detail").bootstrapTable('getSelections');
+    //     if (rows.length === 0) {
+    //         $.modal.msgWarning("请至少选择一条记录");
+    //     }
+    //     else {
+    //         let ids = "";
+    //         for(let i=0; i<rows.length; i++) {
+    //             ids = ids + rows[i].id + ","
+    //         }
+    //         ids = ids.substring(0, ids.length-1);
+    //         url=url+ids;
+    //         $.modal.open("分配库区",url,800,250)
+    //     }
+    // }
+    //
+    // //自动分配库区
+    // function autoZone() {
+    //     let code=$("#shipmentCode").val();
+    //     $.ajax({
+    //         url:prefix_detail+'/addZones',
+    //         type:'post',
+    //         data:{
+    //             code:code
+    //         },
+    //         success:function (res) {
+    //             if (res.code === 200) {
+    //                 $.modal.msgSuccess(res.msg);
+    //                 loadDetail();
+    //             }
+    //             else{
+    //                 $.modal.msgError(res.msg);
+    //             }
+    //         }
+    //     })
+    // }
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/inventory/inventory/transfer.html b/src/main/resources/templates/inventory/inventoryHeader/transfer.html
index b1e9daf..77b65fe 100644
--- a/src/main/resources/templates/inventory/inventory/transfer.html
+++ b/src/main/resources/templates/inventory/inventoryHeader/transfer.html
@@ -10,13 +10,6 @@
     <!--</ul>-->
     <!--<div id="myTabContent" class="tab-content">-->
         <!--<div class="tab-pane fade in active" id="tab1">-->
-
-        <!--</div>-->
-        <!--<div class="tab-pane fade" id="tabDetail">-->
-            <!--此版本-->
-        <!--</div>-->
-    <!--</div>-->
-
 <!--</div>-->
 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
     <form class="form-horizontal m" id="form-inventory-transfer">
diff --git a/src/main/resources/templates/inventory/inventoryTransaction/add.html b/src/main/resources/templates/inventory/inventoryTransaction/add.html
deleted file mode 100644
index 13589e0..0000000
--- a/src/main/resources/templates/inventory/inventoryTransaction/add.html
+++ /dev/null
@@ -1,217 +0,0 @@
-<!DOCTYPE HTML>
-<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="white-bg">
-    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
-        <form class="form-horizontal m" id="form-inventoryTransaction-add">
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">仓库Id:</label>
-				<div class="col-sm-8">
-					<input id="warehouseId" name="warehouseId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">仓库:</label>
-				<div class="col-sm-8">
-					<input id="warehouseCode" name="warehouseCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">库位id:</label>
-				<div class="col-sm-8">
-					<input id="locationId" name="locationId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">库位编号:</label>
-				<div class="col-sm-8">
-					<input id="locationCode" name="locationCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">上游系统单号:</label>
-				<div class="col-sm-8">
-					<input id="sourceCode" name="sourceCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">上游系统行号:</label>
-				<div class="col-sm-8">
-					<input id="sourceLine" name="sourceLine" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">交易类型:</label>
-				<div class="col-sm-8">
-					<input id="type" name="type" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">公司id:</label>
-				<div class="col-sm-8">
-					<input id="companyId" name="companyId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">物料Id:</label>
-				<div class="col-sm-8">
-					<input id="materialId" name="materialId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">存货编码:</label>
-				<div class="col-sm-8">
-					<input id="materialCode" name="materialCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">单头:</label>
-				<div class="col-sm-8">
-					<input id="billId" name="billId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">单编码:</label>
-				<div class="col-sm-8">
-					<input id="billCode" name="billCode" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">单明细id:</label>
-				<div class="col-sm-8">
-					<input id="billDetailId" name="billDetailId" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">批次:</label>
-				<div class="col-sm-8">
-					<input id="batch" name="batch" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">批号:</label>
-				<div class="col-sm-8">
-					<input id="lot" name="lot" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">项目号:</label>
-				<div class="col-sm-8">
-					<input id="project" name="project" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">生产日期:</label>
-				<div class="col-sm-8">
-					<input id="manufactureDate" name="manufactureDate" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">失效日期:</label>
-				<div class="col-sm-8">
-					<input id="expirationDate" name="expirationDate" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">库存状态:</label>
-				<div class="col-sm-8">
-					<input id="status" name="status" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">数量:</label>
-				<div class="col-sm-8">
-					<input id="qty" name="qty" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">执行预定数量:</label>
-				<div class="col-sm-8">
-					<input id="taskQty" name="taskQty" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">成本:</label>
-				<div class="col-sm-8">
-					<input id="costPrice" name="costPrice" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">标价:</label>
-				<div class="col-sm-8">
-					<input id="listPrice" name="listPrice" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">净价:</label>
-				<div class="col-sm-8">
-					<input id="netPrice" name="netPrice" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">创建时间(入库时间):</label>
-				<div class="col-sm-8">
-					<input id="created" name="created" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">创建用户:</label>
-				<div class="col-sm-8">
-					<input id="createdBy" name="createdBy" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">最后修改时间:</label>
-				<div class="col-sm-8">
-					<input id="lastUpdated" name="lastUpdated" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">更新用户:</label>
-				<div class="col-sm-8">
-					<input id="lastUpdatedBy" name="lastUpdatedBy" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">自定义字段1:</label>
-				<div class="col-sm-8">
-					<input id="userDef1" name="userDef1" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">自定义字段2:</label>
-				<div class="col-sm-8">
-					<input id="userDef2" name="userDef2" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">	
-				<label class="col-sm-3 control-label">自定义字段3:</label>
-				<div class="col-sm-8">
-					<input id="userDef3" name="userDef3" class="form-control" type="text">
-				</div>
-			</div>
-			<div class="form-group">
-				<div class="form-control-static col-sm-offset-9">
-					<button type="submit" class="btn btn-primary">提交</button>
-					<button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
-				</div>
-			</div>
-		</form>
-	</div>
-    <div th:include="include::footer"></div>
-    <script type="text/javascript">
-		var prefix = ctx + "inventory/inventoryTransaction"
-		$("#form-inventoryTransaction-add").validate({
-			rules:{
-				xxxx:{
-					required:true,
-				},
-			},
-			submitHandler: function(form) {
-				$.operate.save(prefix + "/add", $('#form-inventoryTransaction-add').serialize());
-			}
-		});
-	</script>
-</body>
-</html>
diff --git a/src/main/resources/templates/inventory/inventoryTransaction/edit.html b/src/main/resources/templates/inventory/inventoryTransaction/edit.html
deleted file mode 100644
index 5e41a74..0000000
--- a/src/main/resources/templates/inventory/inventoryTransaction/edit.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE HTML>
-<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="white-bg">
-    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
-        <form class="form-horizontal m" id="form-inventoryTransaction-edit" th:object="${inventoryTransaction}">
-            <input id="id" name="id" th:field="*{id}"  type="hidden">
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">仓库Id:</label>
-                <div class="col-sm-8">
-                    <input id="warehouseId" name="warehouseId" th:field="*{warehouseId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">仓库:</label>
-                <div class="col-sm-8">
-                    <input id="warehouseCode" name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">库位id:</label>
-                <div class="col-sm-8">
-                    <input id="locationId" name="locationId" th:field="*{locationId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">库位编号:</label>
-                <div class="col-sm-8">
-                    <input id="locationCode" name="locationCode" th:field="*{locationCode}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">上游系统单号:</label>
-                <div class="col-sm-8">
-                    <input id="sourceCode" name="sourceCode" th:field="*{sourceCode}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">上游系统行号:</label>
-                <div class="col-sm-8">
-                    <input id="sourceLine" name="sourceLine" th:field="*{sourceLine}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">交易类型:</label>
-                <div class="col-sm-8">
-                    <input id="type" name="type" th:field="*{type}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">公司id:</label>
-                <div class="col-sm-8">
-                    <input id="companyId" name="companyId" th:field="*{companyId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">物料Id:</label>
-                <div class="col-sm-8">
-                    <input id="materialId" name="materialId" th:field="*{materialId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <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>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">单头:</label>
-                <div class="col-sm-8">
-                    <input id="billId" name="billId" th:field="*{billId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">单编码:</label>
-                <div class="col-sm-8">
-                    <input id="billCode" name="billCode" th:field="*{billCode}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">单明细id:</label>
-                <div class="col-sm-8">
-                    <input id="billDetailId" name="billDetailId" th:field="*{billDetailId}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">批次:</label>
-                <div class="col-sm-8">
-                    <input id="batch" name="batch" th:field="*{batch}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">批号:</label>
-                <div class="col-sm-8">
-                    <input id="lot" name="lot" th:field="*{lot}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">项目号:</label>
-                <div class="col-sm-8">
-                    <input id="project" name="project" th:field="*{project}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">生产日期:</label>
-                <div class="col-sm-8">
-                    <input id="manufactureDate" name="manufactureDate" th:field="*{manufactureDate}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">失效日期:</label>
-                <div class="col-sm-8">
-                    <input id="expirationDate" name="expirationDate" th:field="*{expirationDate}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">库存状态:</label>
-                <div class="col-sm-8">
-                    <input id="status" name="status" th:field="*{status}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">数量:</label>
-                <div class="col-sm-8">
-                    <input id="qty" name="qty" th:field="*{qty}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">执行预定数量:</label>
-                <div class="col-sm-8">
-                    <input id="taskQty" name="taskQty" th:field="*{taskQty}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">成本:</label>
-                <div class="col-sm-8">
-                    <input id="costPrice" name="costPrice" th:field="*{costPrice}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">标价:</label>
-                <div class="col-sm-8">
-                    <input id="listPrice" name="listPrice" th:field="*{listPrice}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">净价:</label>
-                <div class="col-sm-8">
-                    <input id="netPrice" name="netPrice" th:field="*{netPrice}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">创建时间(入库时间):</label>
-                <div class="col-sm-8">
-                    <input id="created" name="created" th:field="*{created}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">创建用户:</label>
-                <div class="col-sm-8">
-                    <input id="createdBy" name="createdBy" th:field="*{createdBy}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">最后修改时间:</label>
-                <div class="col-sm-8">
-                    <input id="lastUpdated" name="lastUpdated" th:field="*{lastUpdated}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">更新用户:</label>
-                <div class="col-sm-8">
-                    <input id="lastUpdatedBy" name="lastUpdatedBy" th:field="*{lastUpdatedBy}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">自定义字段1:</label>
-                <div class="col-sm-8">
-                    <input id="userDef1" name="userDef1" th:field="*{userDef1}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">自定义字段2:</label>
-                <div class="col-sm-8">
-                    <input id="userDef2" name="userDef2" th:field="*{userDef2}" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">	
-                <label class="col-sm-3 control-label">自定义字段3:</label>
-                <div class="col-sm-8">
-                    <input id="userDef3" name="userDef3" th:field="*{userDef3}" class="form-control" type="text">
-                </div>
-            </div>
-			<div class="form-group">
-				<div class="form-control-static col-sm-offset-9">
-					<button type="submit" class="btn btn-primary">提交</button>
-					<button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
-				</div>
-			</div>
-		</form>
-    </div>
-    <div th:include="include::footer"></div>
-    <script type="text/javascript">
-		var prefix = ctx + "inventory/inventoryTransaction"
-		$("#form-inventoryTransaction-edit").validate({
-			rules:{
-				xxxx:{
-					required:true,
-				},
-			},
-			submitHandler: function(form) {
-				$.operate.save(prefix + "/edit", $('#form-inventoryTransaction-edit').serialize());
-			}
-		});
-	</script>
-</body>
-</html>
diff --git a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
index 873139c..d646446 100644
--- a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
+++ b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
@@ -53,22 +53,12 @@
                             </li>
                             <li>
                                 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
-                                <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
+                                <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
                             </li>
                         </ul>
                     </div>
                 </form>
             </div>
-            <!--
-            <div class="btn-group hidden-xs" id="toolbar" role="group">
-                <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventory:inventoryTransaction:add">
-                    <i class="fa fa-plus"></i> 新增
-                </a>
-                <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventoryTransaction:remove">
-                    <i class="fa fa-trash-o"></i> 删除
-                </a>
-            </div>
-             -->
             <div class="col-sm-12 select-info">
                 <div class="btn-group hidden-xs" id="toolbar" role="group">
                     <a class="btn btn-outline btn-success btn-rounded" onclick="report()">
@@ -81,7 +71,7 @@
      </div>
      <div th:include="include :: footer"></div>
      <script th:inline="javascript">
-         var editFlag = [[${@permission.hasPermi('inventory:inventoryTransaction:edit')}]];
+         var editFlag = [[${@permission.hasPermi('inventoryHeader:inventoryTransaction:edit')}]];
          var prefix = ctx + "inventory/inventoryTransaction";
          var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
          var inventoryTransactionType = [[${@dict.getType('inventoryTransactionType')}]];
diff --git a/src/main/resources/templates/shipment/shippingCombination/combination.html b/src/main/resources/templates/shipment/shippingCombination/combination.html
index 8041126..1906000 100644
--- a/src/main/resources/templates/shipment/shippingCombination/combination.html
+++ b/src/main/resources/templates/shipment/shippingCombination/combination.html
@@ -47,7 +47,7 @@
                         </li>
                         <li>
                             <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
-                            <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
+                            <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
                         </li>
 
                         <!--<li>-->
diff --git a/src/main/resources/templates/tool/import/import.html b/src/main/resources/templates/tool/import/import.html
index 3983010..5630cb7 100644
--- a/src/main/resources/templates/tool/import/import.html
+++ b/src/main/resources/templates/tool/import/import.html
@@ -11,8 +11,8 @@
                     <ul>
                         <li>
                             导入表:
-                            <select name="table" id="table">
-                            <option value="general/material">物料</option>
+                            <select name="table" id="table" th:with="list=${@excelService.getList()}">
+                                <option th:each="ex : ${list}" th:text="${ex['name']}" th:value="${ex['url']}"></option>
                         </select>
                         </li>
                     </ul>
diff --git a/src/test/java/com.huaheng.test/CreateCode.java b/src/test/java/com.huaheng.test/CreateCode.java
index c1cad0e..b65f919 100644
--- a/src/test/java/com.huaheng.test/CreateCode.java
+++ b/src/test/java/com.huaheng.test/CreateCode.java
@@ -1155,12 +1155,12 @@ public class CreateCode {
         packages.put("container","com.huaheng.pc.general.container.Container");
         packages.put("container_type","com.huaheng.pc.config.containerType.ContainerType");
         packages.put("customer","com.huaheng.pc.general.customer.Customer");
-        packages.put("cyclecount_adjust","com.huaheng.pc.inventory.cyclecountAdjust.CyclecountAdjust");
-        packages.put("cyclecount_adjustdetail","com.huaheng.pc.inventory.cyclecountAdjustDetail.CyclecountAdjustDetail");
-        packages.put("cyclecount_detail","com.huaheng.pc.inventory.cyclecountDetail.CyclecountDetail");
-        packages.put("cyclecount_header","com.huaheng.pc.inventory.cyclecountHeader.CyclecountHeader");
-        packages.put("inventory","com.huaheng.pc.inventory.inventory.Inventory");
-        packages.put("inventory_transaction","com.huaheng.pc.inventory.inventoryTransaction.InventoryTransaction");
+        packages.put("cyclecount_adjust","com.huaheng.pc.inventoryHeader.cyclecountAdjust.CyclecountAdjust");
+        packages.put("cyclecount_adjustdetail","com.huaheng.pc.inventoryHeader.cyclecountAdjustDetail.CyclecountAdjustDetail");
+        packages.put("cyclecount_detail","com.huaheng.pc.inventoryHeader.cyclecountDetail.CyclecountDetail");
+        packages.put("cyclecount_header","com.huaheng.pc.inventoryHeader.cyclecountHeader.CyclecountHeader");
+        packages.put("inventory","com.huaheng.pc.inventoryHeader.inventoryHeader.Inventory");
+        packages.put("inventory_transaction","com.huaheng.pc.inventoryHeader.inventoryTransaction.InventoryTransaction");
         packages.put("location","com.huaheng.pc.general.location.Location");
         packages.put("location_type","com.huaheng.pc.config.locationType.LocationType");
         packages.put("material","com.huaheng.pc.general.material.Material");