diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 653c66a..88bcc99 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ChangeListManager">
-    <list default="true" id="9ff7b25e-dc1a-4859-8a0c-00039489e359" name="Default Changelist" comment="添加容器导入和导出导入模板">
+    <list default="true" id="9ff7b25e-dc1a-4859-8a0c-00039489e359" name="Default Changelist" comment="">
       <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/general/container/controller/ContainerController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/container/controller/ContainerController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java" 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" />
@@ -43,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>
@@ -61,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>
@@ -68,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" />
@@ -130,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" />
@@ -153,7 +426,16 @@
       <serviceView>
         <option name="contentProportion" value="0.18875067" />
         <treeState>
-          <expand />
+          <expand>
+            <path>
+              <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@5ef312b7" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+            </path>
+            <path>
+              <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@28150ae" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+            </path>
+          </expand>
           <select />
         </treeState>
       </serviceView>
@@ -191,9 +473,7 @@
       <workItem from="1565829438280" duration="3502000" />
       <workItem from="1565832950552" duration="86000" />
       <workItem from="1565833039573" duration="288000" />
-      <workItem from="1565833342181" duration="20223000" />
-      <workItem from="1565916336398" duration="4223000" />
-      <workItem from="1565923508645" duration="4968000" />
+      <workItem from="1565833342181" duration="13946000" />
     </task>
     <task id="LOCAL-00001" summary="添加库位、库位类型增删改查接口">
       <created>1565226427512</created>
@@ -286,30 +566,45 @@
       <option name="project" value="LOCAL" />
       <updated>1565833218584</updated>
     </task>
-    <task id="LOCAL-00014" summary="添加承运商页面,入库单类型">
-      <created>1565856453372</created>
-      <option name="number" value="00014" />
-      <option name="presentableId" value="LOCAL-00014" />
-      <option name="project" value="LOCAL" />
-      <updated>1565856453372</updated>
-    </task>
-    <task id="LOCAL-00015" summary="添加导入模板列表">
-      <created>1565861068194</created>
-      <option name="number" value="00015" />
-      <option name="presentableId" value="LOCAL-00015" />
-      <option name="project" value="LOCAL" />
-      <updated>1565861068194</updated>
-    </task>
-    <task id="LOCAL-00016" summary="添加容器导入和导出导入模板">
-      <created>1565863093904</created>
-      <option name="number" value="00016" />
-      <option name="presentableId" value="LOCAL-00016" />
-      <option name="project" value="LOCAL" />
-      <updated>1565863093904</updated>
-    </task>
-    <option name="localTasksCounter" value="17" />
+    <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>
@@ -319,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>
@@ -354,10 +655,7 @@
     <MESSAGE value="添加商品、商品详情页面" />
     <MESSAGE value="添加承运商" />
     <MESSAGE value="添加物料导入、导出模板,添加Excel导入导出配置文件" />
-    <MESSAGE value="添加承运商页面,入库单类型" />
-    <MESSAGE value="添加导入模板列表" />
-    <MESSAGE value="添加容器导入和导出导入模板" />
-    <option name="LAST_COMMIT_MESSAGE" value="添加容器导入和导出导入模板" />
+    <option name="LAST_COMMIT_MESSAGE" value="添加物料导入、导出模板,添加Excel导入导出配置文件" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -365,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/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/general/location/mapper/LocationMapper.java b/src/main/java/com/huaheng/pc/general/location/mapper/LocationMapper.java
index ab00edb..2066343 100644
--- a/src/main/java/com/huaheng/pc/general/location/mapper/LocationMapper.java
+++ b/src/main/java/com/huaheng/pc/general/location/mapper/LocationMapper.java
@@ -2,6 +2,10 @@ package com.huaheng.pc.general.location.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.general.location.domain.Location;
+import org.apache.ibatis.annotations.Param;
 
 public interface LocationMapper extends BaseMapper<Location> {
+
+    void updateStatus(@Param("warehouseCode") String warehouseCode, @Param("code") String code, @Param("status") String status);
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/general/location/service/LocationService.java b/src/main/java/com/huaheng/pc/general/location/service/LocationService.java
index cb365f1..9ef63a8 100644
--- a/src/main/java/com/huaheng/pc/general/location/service/LocationService.java
+++ b/src/main/java/com/huaheng/pc/general/location/service/LocationService.java
@@ -6,4 +6,6 @@ public interface LocationService extends IService<Location>{
 
     boolean insertLocation(Location location);
 
+    void updateStatus(String locationCode, String status);
+
 }
diff --git a/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java b/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java
index 321a506..a7b82c0 100644
--- a/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.huaheng.common.exception.service.ServiceException;
+import com.huaheng.common.utils.StringUtils;
 import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.pc.config.locationType.domain.LocationType;
 import com.huaheng.pc.config.locationType.service.LocationTypeService;
@@ -29,6 +30,8 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
     private LocationTypeService locationTypeService;
     @Resource
     private ZoneService zoneService;
+    @Resource
+    private LocationMapper locationMapper;
 
     @Override
     public boolean insertLocation(Location location) {
@@ -94,4 +97,11 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
         Boolean result = locationService.saveBatch(locations);
         return result;
     }
+
+    @Override
+    public void updateStatus(String locationCode, String status) {
+        if (StringUtils.isNotEmpty(locationCode)) {
+            locationMapper.updateStatus(ShiroUtils.getWarehouseCode(), locationCode, status);
+        }
+    }
 }
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
index 0eae342..8430340 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java
@@ -22,10 +22,10 @@ import javax.annotation.Resource;
  *
  */
 @Controller
-@RequestMapping("/inventory/inventoryHeader")
+@RequestMapping("/inventory/inventoryDetail")
 public class InventoryDetailController extends BaseController
 {
-    private String prefix = "inventoryHeader/inventoryHeader";
+    private String prefix = "inventoryHeader/inventoryDetail";
 
 	@Resource
     private MaterialServiceImpl materialService;
@@ -34,17 +34,17 @@ public class InventoryDetailController extends BaseController
 
 
 	
-	@RequiresPermissions("inventoryHeader:inventoryHeader:view")
+	@RequiresPermissions("inventoryDetail:inventoryDetail:view")
 	@GetMapping()
 	public String inventory()
 	{
-	    return prefix + "/inventoryHeader";
+	    return prefix + "/inventoryDetail";
 	}
 	
 	/**
 	 * 查询库存列表
 	 */
-	@RequiresPermissions("inventoryHeader:inventoryHeader:list")
+	@RequiresPermissions("inventoryDetail:inventoryDetail:list")
 	@Log(title = "库存-库存查看",operating = "查看库存列表", action = BusinessType.GRANT)
 	@PostMapping("/inventoryLook")
 	@ResponseBody
@@ -60,7 +60,7 @@ public class InventoryDetailController extends BaseController
 	}
 
 	/**移库*/
-	@RequiresPermissions("inventoryHeader:inventoryHeader:transfer")
+	@RequiresPermissions("inventoryDetail:inventoryDetail:transfer")
 	@PostMapping("/transfer")
 	@ResponseBody
 	public AjaxResult transfer(String sourceLocation, String destinationLocation, Integer companyId, String companyCode){
@@ -69,7 +69,7 @@ public class InventoryDetailController extends BaseController
 	}
 
     /**出库查看*/
-	@RequiresPermissions("inventoryHeader:inventoryHeader:seeOut")
+	@RequiresPermissions("inventoryDetail:inventoryDetail:seeOut")
 	@PostMapping("/createCheckOutTask")
 	@ResponseBody
 	public AjaxResult createCheckOutTask(String ids){
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 34a09e5..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
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 import lombok.Data;
 
@@ -75,19 +76,19 @@ public class InventoryDetail implements Serializable {
      * 在库数量
      */
     @TableField(value = "qty")
-    private Integer qty;
+    private BigDecimal qty;
 
     /**
      * 任务数量
      */
     @TableField(value = "taskQty")
-    private Integer taskQty;
+    private BigDecimal taskQty;
 
     /**
      * 冻结数量
      */
     @TableField(value = "lockedQty")
-    private Integer lockedQty;
+    private BigDecimal lockedQty;
 
     /**
      * 库存状态
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/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java
index 614f6cb..9660f1c 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java
@@ -28,6 +28,20 @@ public class ShipmentContainerDetail implements Serializable {
     private String containerCode;
 
     /**
+     * 库位
+     */
+    @TableField(value = "locationCode")
+    @ApiModelProperty(value="库位")
+    private String locationCode;
+
+    /**
+     * 库存Id
+     */
+    @TableField(value = "inventoryId")
+    @ApiModelProperty(value="库存Id")
+    private String inventoryId;
+
+    /**
      * 出库箱头内部号
      */
     @TableField(value = "shippingContainerId")
@@ -381,6 +395,10 @@ public class ShipmentContainerDetail implements Serializable {
 
     public static final String COL_CONTAINERCODE = "containerCode";
 
+    public static final String COL_LOCATIONCODE = "locationCode";
+
+    public static final String COL_INVENTORYID= "inventoryId";
+
     public static final String COL_SHIPPINGCONTAINERID = "shippingContainerId";
 
     public static final String COL_SHIPMENTCODE = "shipmentCode";
@@ -517,6 +535,23 @@ public class ShipmentContainerDetail implements Serializable {
         this.containerCode = containerCode;
     }
 
+
+    public String getLocationCode() {
+        return locationCode;
+    }
+
+    public void setLocationCode(String locationCode) {
+        this.locationCode = locationCode;
+    }
+
+    public String getInventoryId() {
+        return inventoryId;
+    }
+
+    public void setInventoryId(String inventoryId) {
+        this.inventoryId = inventoryId;
+    }
+
     /**
      * 获取出库箱头内部号
      *
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/mapper/ShipmentContainerDetailMapper.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/mapper/ShipmentContainerDetailMapper.java
index 655d0e7..2bb41ef 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/mapper/ShipmentContainerDetailMapper.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/mapper/ShipmentContainerDetailMapper.java
@@ -2,6 +2,13 @@ package com.huaheng.pc.shipment.shipmentContainerDetail.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 public interface ShipmentContainerDetailMapper extends BaseMapper<ShipmentContainerDetail> {
+
+    List<Map<String, Object>> selectListMapByEqual(@Param("columns") String columns, @Param("condition") ShipmentContainerDetail condition);
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailService.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailService.java
index 0b66ec5..22cc44c 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailService.java
@@ -2,7 +2,12 @@ package com.huaheng.pc.shipment.shipmentContainerDetail.service;
 
 import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
 public interface ShipmentContainerDetailService extends IService<ShipmentContainerDetail>{
 
+    List<Map<String, Object>> selectListMapByEqual(String columnList, ShipmentContainerDetail condition);
 
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailServiceImpl.java
index 1bc9974..99f953f 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailServiceImpl.java
@@ -3,11 +3,19 @@ package com.huaheng.pc.shipment.shipmentContainerDetail.service;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.pc.shipment.shipmentContainerDetail.mapper.ShipmentContainerDetailMapper;
 import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail;
-import com.huaheng.pc.shipment.shipmentContainerDetail.service.ShipmentContainerDetailService;
 @Service
 public class ShipmentContainerDetailServiceImpl extends ServiceImpl<ShipmentContainerDetailMapper, ShipmentContainerDetail> implements ShipmentContainerDetailService{
 
+    @Resource
+   private ShipmentContainerDetailMapper shipmentContainerDetailMapper;
+
+    @Override
+    public List<Map<String, Object>> selectListMapByEqual(String columns, ShipmentContainerDetail condition) {
+        return shipmentContainerDetailMapper.selectListMapByEqual(columns, condition);
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentContainerHeader.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentContainerHeader.java
index 1f4b887..0d974cd 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentContainerHeader.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentContainerHeader.java
@@ -27,6 +27,14 @@ public class ShipmentContainerHeader implements Serializable {
     @ApiModelProperty(value="出库箱号")
     private String containerCode;
 
+
+    /**
+     * 库位
+     */
+    @TableField(value = "locationCode")
+    @ApiModelProperty(value="库位")
+    private String locationCode;
+
     /**
      * 仓库
      */
@@ -44,9 +52,9 @@ public class ShipmentContainerHeader implements Serializable {
     /**
      * 状态
      */
-    @TableField(value = "enable")
+    @TableField(value = "status")
     @ApiModelProperty(value="状态")
-    private Integer enable;
+    private Integer status;
 
     /**
      * 父
@@ -386,6 +394,9 @@ public class ShipmentContainerHeader implements Serializable {
 
     public static final String COL_CONTAINERCODE = "containerCode";
 
+    public static final String COL_LOCATIONCODE = "locationCode";
+
+
     public static final String COL_WAREHOUSECODE = "warehouseCode";
 
     public static final String COL_CONTAINERTYPE = "containerType";
@@ -526,6 +537,14 @@ public class ShipmentContainerHeader implements Serializable {
         this.containerCode = containerCode;
     }
 
+    public String getLocationCode() {
+        return locationCode;
+    }
+
+    public void setLocationCode(String locationCode) {
+        this.locationCode = locationCode;
+    }
+
     /**
      * 获取仓库
      *
@@ -562,22 +581,12 @@ public class ShipmentContainerHeader implements Serializable {
         this.containerType = containerType;
     }
 
-    /**
-     * 获取状态
-     *
-     * @return enable - 状态
-     */
-    public Integer getEnable() {
-        return enable;
+    public Integer getStatus() {
+        return status;
     }
 
-    /**
-     * 设置状态
-     *
-     * @param enable 状态
-     */
-    public void setEnable(Integer enable) {
-        this.enable = enable;
+    public void setStatus(Integer status) {
+        this.status = status;
     }
 
     /**
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderService.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderService.java
index 7b29fa2..4f329c2 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderService.java
@@ -1,11 +1,13 @@
 package com.huaheng.pc.shipment.shipmentContainerHeader.service;
 
 import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail;
 import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentCombinationModel;
 import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentContainerHeader;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
 import java.util.Map;
 
 public interface ShipmentContainerHeaderService extends IService<ShipmentContainerHeader>{
@@ -14,7 +16,14 @@ public interface ShipmentContainerHeaderService extends IService<ShipmentContain
 
 
     //出库保存组盘
-    AjaxResult combination(ShipmentCombinationModel shipmentCombination);
+    ShipmentContainerHeader combination(ShipmentCombinationModel shipmentCombination);
+
+    //取消组盘
+    AjaxResult cancelCombinationDetail(List<Integer> detailIds) ;
+
+    AjaxResult cancelCombinationDetailInner(List<ShipmentContainerDetail> shipmentContainerDetails) ;
+
+    AjaxResult autoCombination(String shipmentCode);
 
 
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
index 124501d..55e1666 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
@@ -18,10 +18,13 @@ import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService;
 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
 import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
+import com.huaheng.pc.shipment.shippingCombination.domain.ShippingSearch;
+import com.huaheng.pc.shipment.shippingCombination.service.ShippingCombinationService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -48,6 +51,8 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
     private ShipmentContainerDetailService shipmentContainerDetailService;
     @Autowired
     private MaterialService materialService;
+    @Autowired
+    private ShippingCombinationService shippingCombinationService;
 
 
     @Override
@@ -64,30 +69,30 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
      */
     @Transactional
     @Override
-    public AjaxResult combination(ShipmentCombinationModel shipmentCombinationModel) {
+    public ShipmentContainerHeader combination(ShipmentCombinationModel shipmentCombinationModel) {
 
         //校验
         if(shipmentCombinationModel.getShipQty().compareTo(new BigDecimal("0")) <= 0){
-            return AjaxResult.error("出库数量必须大于0");
+            throw new ServiceException("出库数量必须大于0");
         }
         ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentCombinationModel.getShipmentDetailId());
         if(shipmentDetail==null){
-            return AjaxResult.error("出库明细未找到");
+            throw new ServiceException("出库明细未找到");
         }
         InventoryDetail inventoryDetail = inventoryDetailService.getById((shipmentCombinationModel.getInventoryDetailId()));
         if(inventoryDetail==null){
-            return AjaxResult.error("库存未找到");
+            throw new ServiceException("库存未找到");
         }
         //校验数量是否超出
         if((shipmentDetail.getShipQty().subtract(shipmentDetail.getRequestQty())).compareTo(shipmentCombinationModel.getShipQty())<0){
-            return AjaxResult.error("录入数量超出明细待出数量");
+            throw new ServiceException("录入数量超出明细待出数量");
         }
         //校验库存可用数量
         if(inventoryDetail.getQty().subtract(inventoryDetail.getTaskQty()).subtract(inventoryDetail.getLockedQty()).compareTo(shipmentCombinationModel.getShipQty())<0){
-            return AjaxResult.error("录入数量超出可出数量");
+            throw new ServiceException("录入数量超出可出数量");
         }
         if(!shipmentDetail.getMaterialCode().equals(inventoryDetail.getMaterialCode())){
-            return AjaxResult.error("配盘物料不一致");
+            throw new ServiceException("配盘物料不一致");
         }
         //库位
         LambdaQueryWrapper<Location> lambdaQueryWrapper= Wrappers.lambdaQuery();
@@ -95,7 +100,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
                 .eq(Location::getCode,inventoryDetail.getLocationCode());
         Location location = locationService.getOne(lambdaQueryWrapper);
         if (location == null)
-            return AjaxResult.error("库位 "+ inventoryDetail.getLocationCode() +" 不存在");
+            throw new ServiceException("库位 "+ inventoryDetail.getLocationCode() +" 不存在");
         if (location.getStatus().equals("lock"))    {
             //如果库位状态是锁定的话,就查找出库组盘表,如果存在未下发
             LambdaQueryWrapper<ShipmentContainerHeader> lam=Wrappers.lambdaQuery();
@@ -104,7 +109,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
                     .eq(ShipmentContainerHeader::getTaskCreated,0);
             ShipmentContainerHeader shipmentContainerHeader = this.getOne(lam);
             if (shipmentContainerHeader == null)    {
-                return AjaxResult.error("库位已经锁定不能使用");
+                throw new ServiceException("库位已经锁定不能使用");
             }
         }
 
@@ -141,7 +146,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
         //更新单据状态
         shipmentHeaderService.updateShipmentStatus(shipmentDetail.getShipmentId());
 
-        return  AjaxResult.success("成功");
+        return  shipmentContainerHeader;
     }
 
     /**
@@ -157,7 +162,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
         lambdaQueryWrapper.eq(ShipmentContainerHeader::getContainerCode,location.getContainerCode())
                 .eq(ShipmentContainerHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())
                 .eq(ShipmentContainerHeader::getTaskCreated,1)
-                .eq(ShipmentContainerHeader::getEnable,10);
+                .eq(ShipmentContainerHeader::getStatus,10);
         ShipmentContainerHeader shipmentContainerHeader = this.getOne(lambdaQueryWrapper);
         if(shipmentContainerHeader != null)  {
             throw new ServiceException("容器"+location.getContainerCode()+"已经生成任务,不能再添加明细;操作中止;");
@@ -167,7 +172,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
             lam.eq(ShipmentContainerHeader::getContainerCode,location.getContainerCode())
                     .eq(ShipmentContainerHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())
                     .eq(ShipmentContainerHeader::getTaskCreated,0)
-                    .eq(ShipmentContainerHeader::getEnable,0);
+                    .eq(ShipmentContainerHeader::getStatus,0);
             shipmentContainerHeader = this.getOne(lam);
             if (shipmentContainerHeader == null) {
                 shipmentContainerHeader = new ShipmentContainerHeader();
@@ -175,7 +180,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
                 shipmentContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());
                 //赋值u8仓库
                 shipmentContainerHeader.setCompanyCode(shipmentDetail.getCompanyCode());
-                shipmentContainerHeader.setEnable(0);
+                shipmentContainerHeader.setStatus(0);
                 shipmentContainerHeader.setCreatedBy(ShiroUtils.getLoginName());
                 shipmentContainerHeader.setCreated(null);
 //            Material material=new Material();
@@ -230,4 +235,132 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
         return shipmentContainerDetail;
     }
 
+
+    /**
+     * 取消组盘的一组明细
+     * @param detailIds
+     * @return
+     */
+    @Override
+    public AjaxResult cancelCombinationDetail(List<Integer> detailIds)  {
+        List<ShipmentContainerDetail> shipmentContainerDetails = new ArrayList<>();
+        for(int detailId:detailIds){
+            ShipmentContainerDetail shipmentContainerDetail = shipmentContainerDetailService.getById(detailId);
+            shipmentContainerDetails.add(shipmentContainerDetail);
+        }
+        return cancelCombinationDetailInner(shipmentContainerDetails);
+    }
+
+    /**
+     * 取消组盘的一组明细
+     * @param shipmentContainerDetails
+     * @return
+     */
+    @Override
+    @Transactional
+    public AjaxResult cancelCombinationDetailInner(List<ShipmentContainerDetail> shipmentContainerDetails)  {
+        for(ShipmentContainerDetail shipmentContainerDetail:shipmentContainerDetails){
+            //获取头
+            ShipmentContainerHeader shipmentContainerHeader = this.getById(shipmentContainerDetail.getShippingContainerId());
+            if(shipmentContainerHeader.getStatus()>9){
+                return AjaxResult.error("容器"+shipmentContainerHeader.getContainerCode()+"非新建状态,不允许取消明细");
+            }
+            //恢复占用库存
+            InventoryDetail inventoryDetail = inventoryDetailService.getById(shipmentContainerDetail.getInventoryId());
+            inventoryDetail.setTaskQty(inventoryDetail.getTaskQty().subtract(shipmentContainerDetail.getQty()));
+            inventoryDetailService.saveOrUpdate(inventoryDetail);
+            //恢复单据发货数量
+            ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentContainerDetail.getShipmentDetailId());
+            shipmentDetail.setRequestQty(shipmentDetail.getRequestQty().subtract(shipmentContainerDetail.getQty()));
+            if(shipmentDetail.getRequestQty().compareTo(BigDecimal.ZERO) != 0 ){
+                shipmentDetail.setStatus(200);//明细状态恢复,如果删除后还有以出数量就是波次
+            }else{
+                shipmentDetail.setStatus(0 );//明细状态
+            }
+            shipmentDetailService.saveOrUpdate(shipmentDetail);
+            //删除这个配盘明细
+            shipmentContainerDetailService.removeById(shipmentContainerDetail.getId());
+
+            //查询头表下还有没有明细,如果没有,则删了这个头表
+            ShipmentContainerDetail condition = new ShipmentContainerDetail();
+            condition.setShippingContainerId(shipmentContainerDetail.getShippingContainerId());
+            List<Map<String, Object>> list= shipmentContainerDetailService.selectListMapByEqual("id", condition);
+            if(list==null||list.size() == 0){
+                this.removeById(shipmentContainerHeader.getId());
+                locationService.updateStatus(shipmentContainerHeader.getLocationCode(),"empty");
+            }
+            //更新单据状态
+            shipmentHeaderService.updateShipmentStatus(shipmentDetail.getShipmentId());
+        }
+        return AjaxResult.success("");
+    }
+
+
+    /**
+     *  出库自动组盘
+     * @param shipmentCode
+     * @return
+     */
+    @Override
+    @Transactional
+    public AjaxResult autoCombination(String shipmentCode) {
+        int num=0;
+        AjaxResult ajaxResult=new AjaxResult();
+
+        LambdaQueryWrapper<ShipmentDetail> lambdaQueryWrapper=Wrappers.lambdaQuery();
+        lambdaQueryWrapper.eq(ShipmentDetail::getShipmentCode,shipmentCode)
+                .eq(ShipmentDetail::getWarehouseCode,ShiroUtils.getWarehouseCode());
+        List<ShipmentDetail> shipmentDetailList = shipmentDetailService.list(lambdaQueryWrapper);
+        if(shipmentDetailList.size()<1 || shipmentDetailList==null){
+            return AjaxResult.error("找不到子单链");
+        }
+        for (ShipmentDetail item : shipmentDetailList) {
+            //获取需要出库数量
+            BigDecimal shipmentQty = item.getShipQty().subtract(item.getRequestQty());
+            //判断是否还有需要出库的物料,如果没有就跳过该物料
+            if (shipmentQty.compareTo(BigDecimal.ZERO) <= 0) {
+                continue;
+            }
+            // 根据 仓库编码、货主编码、存货编码,物料状态,项目号来查找可以出库的物料
+            ShippingSearch search = new ShippingSearch();
+            search.setWarehouseCode(ShiroUtils.getWarehouseCode());
+            search.setCompanyCode(item.getCompanyCode());
+            search.setMaterialCode(item.getMaterialCode());
+            search.setInventorySts(item.getInventorySts()); //物料状态
+
+            List<InventoryDetail> inventoryList = shippingCombinationService.getInventorys(search);
+            if (inventoryList.size() < 1) {
+                num = num + 1;
+            } else {
+                for (InventoryDetail inventory : inventoryList) {
+                    //判断是否组盘完毕,完毕就退出内循环
+                    if (shipmentQty.compareTo(BigDecimal.ZERO) <= 0) {
+                        break;
+                    }
+
+                    BigDecimal inventoryQty = inventory.getQty().subtract(inventory.getTaskQty());
+                    ShipmentCombinationModel shipmentCombination = new ShipmentCombinationModel();
+                    shipmentCombination.setInventoryDetailId(inventory.getId());
+                    shipmentCombination.setShipmentDetailId(item.getId());
+                    shipmentCombination.setType((short) 300);
+                    List<Integer> list=new ArrayList<>();
+                    //如果库存数 >= 待出库数,组盘数就是待出库数并且结束组盘,否则组盘数就是库存数
+                    if (inventoryQty.compareTo(shipmentQty) > -1) {
+                        shipmentCombination.setShipQty(shipmentQty);
+                        ShipmentContainerHeader shipmentContainerHeader=this.combination(shipmentCombination);
+                    } else {
+                        shipmentCombination.setShipQty(inventoryQty);
+                        ShipmentContainerHeader shipmentContainerHeader=this.combination(shipmentCombination);
+                        list.add(shipmentContainerHeader.getId());
+                    }
+                    shipmentQty = shipmentQty.subtract(shipmentCombination.getShipQty());
+                }
+            }
+        }
+        if(num==shipmentDetailList.size()){
+            throw new ServiceException("单据物料在此库区没有库存,无法出库");
+        }
+        return AjaxResult.success("");
+    }
+
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
index 9aa51b6..3acc584 100644
--- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
+++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
@@ -13,6 +13,7 @@ import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
 import com.huaheng.pc.shipment.shipmentContainerDetail.service.ShipmentContainerDetailService;
 import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentCombinationModel;
+import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentContainerHeader;
 import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailServiceImpl;
@@ -122,36 +123,36 @@ public class ShippingCombinationController extends BaseController {
     @PostMapping("/Addcombination")
     @ResponseBody
     public AjaxResult Addcombination(ShipmentCombinationModel shipmentCombinationModel){
-        AjaxResult ajaxResult = shipmentContainerHeaderService.combination(shipmentCombinationModel);
-        return  ajaxResult;
+        ShipmentContainerHeader shipmentContainerHeader= shipmentContainerHeaderService.combination(shipmentCombinationModel);
+        return  AjaxResult.success(shipmentContainerHeader.getId());
     }
 
-//    /**
-//     * 自动组盘
-//     * @param shipmentCode
-//     * @return
-//     */
-//    @RequiresPermissions("shipment:shippingCombination:combination")
-//    @PostMapping("/autoCombination")
-//    @ResponseBody
-//    public AjaxResult autoCombination(String shipmentCode){
-//        AjaxResult ajaxResult = shipmentContainerHeaderService.autoCombination(shipmentCode);
-//        return ajaxResult;
-//    }
-
-
-
-//    /** 取消组盘
-//     *
-//     * @param shipmentContainerDetailIds
-//     * @return
-//     */
-//    @RequiresPermissions("shipment:shippingCombination:remove")
-//    @PostMapping("/cancelCombination")
-//    @ResponseBody
-//    public AjaxResult cancelCombination(@RequestBody List<Integer> shipmentContainerDetailIds){
-//        return shipmentContainerHeaderService.cancelCombinationDetail(shipmentContainerDetailIds);
-//    }
+    /**
+     * 自动组盘
+     * @param shipmentCode
+     * @return
+     */
+    @RequiresPermissions("shipment:shippingCombination:combination")
+    @PostMapping("/autoCombination")
+    @ResponseBody
+    public AjaxResult autoCombination(String shipmentCode){
+        AjaxResult ajaxResult = shipmentContainerHeaderService.autoCombination(shipmentCode);
+        return ajaxResult;
+    }
+
+
+
+    /** 取消组盘
+     *
+     * @param shipmentContainerDetailIds
+     * @return
+     */
+    @RequiresPermissions("shipment:shippingCombination:remove")
+    @PostMapping("/cancelCombination")
+    @ResponseBody
+    public AjaxResult cancelCombination(@RequestBody List<Integer> shipmentContainerDetailIds){
+        return shipmentContainerHeaderService.cancelCombinationDetail(shipmentContainerDetailIds);
+    }
 
 
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/mapper/ShippingCombinationMapper.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/mapper/ShippingCombinationMapper.java
index 0674d68..5823af4 100644
--- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/mapper/ShippingCombinationMapper.java
+++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/mapper/ShippingCombinationMapper.java
@@ -1,6 +1,13 @@
 package com.huaheng.pc.shipment.shippingCombination.mapper;
 
 
+import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
+import com.huaheng.pc.shipment.shippingCombination.domain.ShippingSearch;
+
+import java.util.List;
+
 public interface ShippingCombinationMapper {
 
+    List<InventoryDetail> getInventorys(ShippingSearch search);
+
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
index 7811b60..fba8f25 100644
--- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
@@ -1,10 +1,25 @@
 package com.huaheng.pc.shipment.shippingCombination.service;
 
 
+import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
+import com.huaheng.pc.shipment.shippingCombination.domain.ShippingSearch;
+import com.huaheng.pc.shipment.shippingCombination.mapper.ShippingCombinationMapper;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 
 @Service
 public class ShippingCombinationService {
 
+    @Resource
+    private ShippingCombinationMapper shippingCombinationMapper;
+
+
+    public List<InventoryDetail> getInventorys(ShippingSearch search) {
+        List<InventoryDetail> list = shippingCombinationMapper.getInventorys(search);
+        return list;
+    }
+
 }
diff --git a/src/main/resources/mybatis/general/LocationMapper.xml b/src/main/resources/mybatis/general/LocationMapper.xml
index 78625c5..8722311 100644
--- a/src/main/resources/mybatis/general/LocationMapper.xml
+++ b/src/main/resources/mybatis/general/LocationMapper.xml
@@ -38,4 +38,8 @@
     version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, 
     systemCreated
   </sql>
+
+  <update id="updateStatus">
+        UPDATE location set `status`=#{status} WHERE warehouseCode=#{warehouseCode} AND `code`=#{code}
+    </update>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/shipment/ShipmentCombinationMapper.xml b/src/main/resources/mybatis/shipment/ShipmentCombinationMapper.xml
new file mode 100644
index 0000000..adee1a9
--- /dev/null
+++ b/src/main/resources/mybatis/shipment/ShipmentCombinationMapper.xml
@@ -0,0 +1,64 @@
+<?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.shipment.shippingCombination.mapper.ShippingCombinationMapper">
+  <resultMap id="BaseResultMap" type="com.huaheng.pc.shipment.shippingCombination.domain.ShippingSearch">
+    <!--@mbg.generated-->
+    <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
+    <result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
+    <result column="code" jdbcType="VARCHAR" property="code" />
+    <result column="materialCode" jdbcType="VARCHAR" property="materialCode" />
+    <result column="locationCode" jdbcType="VARCHAR" property="locationCode" />
+    <result column="containerCode" jdbcType="VARCHAR" property="containerCode" />
+    <result column="inventorySts" jdbcType="VARCHAR" property="inventorySts" />
+    <result column="project" jdbcType="VARCHAR" property="project" />
+    <result column="code" jdbcType="VARCHAR" property="code" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+     warehouseCode, companyCode, code, materialCode, locationCode, `containerCode`, inventorySts,
+    project
+  </sql>
+
+  <select id="getInventorys" resultType="com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail">
+    SELECT i.id, i.warehouseId, i.warehouseCode, i.locationId, i.locationCode, i.containerCode,
+    i.sourceCode, i.sourceLine, i.companyId, i.companyCode, i.materialId, i.materialCode,
+    i.receiptId, i.receiptCode,	i.receiptDetailId, i.batch, i.lot, i.project, i.manufactureDate,
+    i.expirationDate, i.status, i.qty, i.taskQty, i.costPrice, i.listPrice, i.netPrice, i.created,
+    i.createdBy, i.lastUpdated, i.lastUpdatedBy, i.userDef1, i.userDef2, i.userDef3, i.deleted,
+    m.name materialName, m.userDef1 materialOldCode ,i.zoneCode
+    FROM inventory i
+    INNER JOIN material m ON i.materialCode = m.code
+    AND i.companyCode=#{companyCode}
+    AND i.warehouseCode=#{warehouseCode}
+    AND m.warehouseCode=#{warehouseCode}
+    AND i.qty > i.taskQty
+    AND i.materialCode=#{materialCode}
+
+    INNER JOIN location l ON i.locationCode = l.code
+    AND l.warehouseCode=#{warehouseCode}
+    LEFT JOIN shipment_container_header s ON i.locationCode = s.locationCode
+    AND s.status=0
+    AND s.warehouseCode=#{warehouseCode}
+    <where>
+      <if test="project != null and project != ''">
+        AND i.project = #{project}
+      </if>
+      <if test="inventoryStatus != null and inventoryStatus != '' ">
+        AND i.status = #{inventoryStatus}
+      </if>
+      <if test="locationCode != null and locationCode != '' ">
+        AND i.locationCode = #{locationCode}
+      </if>
+      <if test="containerCode != null and containerCode != '' ">
+        AND i.containerCode = #{containerCode}
+      </if>
+      <if test="params != null and params.createdBegin != null and params.createdBegin != ''">
+        AND i.created &gt;= #{params.createdBegin}
+      </if>
+      <if test="params != null and params.createdEnd != null and params.createdEnd != ''">
+        AND i.created &lt;= #{params.createdEnd}
+      </if>
+      AND  l.status='empty' OR (l.status='lock' AND s.id  IS NOT NULL)
+    </where>
+  </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/shipment/ShipmentContainerDetailMapper.xml b/src/main/resources/mybatis/shipment/ShipmentContainerDetailMapper.xml
index 6bc1256..2535853 100644
--- a/src/main/resources/mybatis/shipment/ShipmentContainerDetailMapper.xml
+++ b/src/main/resources/mybatis/shipment/ShipmentContainerDetailMapper.xml
@@ -67,4 +67,47 @@
     version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, 
     processStamp
   </sql>
+
+  <select id="selectListMapByEqual" resultType="java.util.HashMap">
+    SELECT ${columns} FROM shipment_container_detail
+    <where>
+      <if test="condition.id != null">
+        AND id = #{condition.id}
+      </if>
+      <if test="condition.headerId != null">
+        AND headerId = #{condition.headerId}
+      </if>
+      <if test="condition.shipmentCode != null">
+        AND shipmentCode = #{condition.shipmentCode}
+      </if>
+      <if test="condition.shipmentHeaderId != null">
+        AND shipmentHeaderId = #{condition.shipmentHeaderId}
+      </if>
+      <if test="condition.shipmentDetailId != null">
+        AND shipmentDetailId = #{condition.shipmentDetailId}
+      </if>
+      <if test="condition.materialCode != null">
+        AND materialCode = #{condition.materialCode}
+      </if>
+      <if test="condition.materialName != null">
+        AND materialName = #{condition.materialName}
+      </if>
+      <if test="condition.qty != null">
+        AND qty = #{condition.qty}
+      </if>
+      <if test="condition.inventoryId != null">
+        AND inventoryId = #{condition.inventoryId}
+      </if>
+      <if test="condition.created != null">
+        AND created = #{condition.created}
+      </if>
+      <if test="condition.createdBy != null">
+        AND createdBy = #{condition.createdBy}
+      </if>
+      <if test="condition.project != null">
+        AND project = #{condition.project}
+      </if>
+    </where>
+  </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/shipment/ShipmentContainerHeaderMapper.xml b/src/main/resources/mybatis/shipment/ShipmentContainerHeaderMapper.xml
index e04c45d..0be3ac4 100644
--- a/src/main/resources/mybatis/shipment/ShipmentContainerHeaderMapper.xml
+++ b/src/main/resources/mybatis/shipment/ShipmentContainerHeaderMapper.xml
@@ -7,7 +7,7 @@
     <result column="containerCode" jdbcType="VARCHAR" property="containerCode" />
     <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
     <result column="containerType" jdbcType="VARCHAR" property="containerType" />
-    <result column="enable" jdbcType="INTEGER" property="enable" />
+    <result column="enable" jdbcType="INTEGER" property="status" />
     <result column="parent" jdbcType="INTEGER" property="parent" />
     <result column="totalWeight" jdbcType="DECIMAL" property="totalWeight" />
     <result column="totalVolume" jdbcType="DECIMAL" property="totalVolume" />