diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 9ec372a..5f0c02f 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -7,13 +7,15 @@
         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
         <outputRelativeToContentRoot value="true" />
         <module name="huaheng" />
+        <module name="wms2" />
       </profile>
     </annotationProcessing>
   </component>
   <component name="JavacSettings">
-    <option name="ADDITIONAL_OPTIONS_STRING" value="-encoding utf-8" />
     <option name="ADDITIONAL_OPTIONS_OVERRIDE">
+      <module name="WMSV1" options="-parameters" />
       <module name="huaheng" options="-parameters" />
+      <module name="wms2" options="-parameters" />
     </option>
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4b661a5..3ccb27b 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="JavaScriptSettings">
+    <option name="languageLevel" value="ES6" />
+  </component>
   <component name="MavenProjectsManager">
     <option name="originalFiles">
       <list>
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 85480dd..4794374 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,20 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ChangeListManager">
-    <list default="true" id="4d9bac65-d8f6-4ced-8855-0db48f39a5f2" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/controller/ReceiptContainerDetailController.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/dataSources.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources.xml" afterDir="false" />
+    <list default="true" id="908d8a6f-e3e4-4fdc-b674-e523a3e2b520" name="Default Changelist" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" 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/receiptDetail/service/ReceiptDetailServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.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/inventory/inventoryDetail/service/InventoryDetailService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/mybatis/task/TaskHeaderMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mybatis/task/TaskHeaderMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -49,44 +48,103 @@
         <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
         <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" />
       </path>
-      <path>
-        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
-        <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" />
-        <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
-        <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" />
-        <item name="receipt_container_detail: table" type="285a2a93:MysqlImplModel$Table" />
-      </path>
-      <path>
-        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
-        <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" />
-        <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
-        <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" />
-        <item name="receipt_container_header: table" type="285a2a93:MysqlImplModel$Table" />
-      </path>
-      <path>
-        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
-        <item name="@localhost" type="feb32156:DbDataSourceImpl" />
-      </path>
-      <path>
-        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
-        <item name="@localhost" type="feb32156:DbDataSourceImpl" />
-        <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
-      </path>
     </expand>
     <select />
   </component>
+  <component name="FileEditorManager">
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="869">
+              <caret line="58" lean-forward="true" selection-start-line="58" selection-end-line="58" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="80">
+              <caret line="44" column="22" selection-start-line="44" selection-start-column="22" selection-end-line="44" selection-end-column="22" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <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="173">
+              <caret line="104" column="25" selection-start-line="104" selection-start-column="25" selection-end-line="104" selection-end-column="25" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="185">
+              <caret line="335" column="16" lean-forward="true" selection-start-line="335" selection-start-column="16" selection-end-line="335" selection-end-column="16" />
+              <folding>
+                <element signature="e#4822#10729#0" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
         <option value="CSS File" />
-        <option value="HTML File" />
         <option value="Class" />
+        <option value="HTML File" />
       </list>
     </option>
   </component>
+  <component name="FindInProjectRecents">
+    <findStrings>
+      <find>a</find>
+    </findStrings>
+  </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
   </component>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryHeader/transfer.html" />
+        <option value="$PROJECT_DIR$/src/main/resources/application-druid.properties" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/service/LocationService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/mapper/InventoryHeaderMapper.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/mybatis/task/TaskDetailMapper.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/mybatis/task/TaskHeaderMapper.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/containerType/service/ContainerTypeServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java" />
+      </list>
+    </option>
+  </component>
+  <component name="JsFlowSettings">
+    <service-enabled>true</service-enabled>
+    <exe-path />
+    <other-services-enabled>true</other-services-enabled>
+    <auto-save>true</auto-save>
+  </component>
   <component name="MavenImportPreferences">
     <option name="importingSettings">
       <MavenImportingSettings>
@@ -94,15 +152,385 @@
       </MavenImportingSettings>
     </option>
   </component>
+  <component name="ProjectFrameBounds" extendedState="6">
+    <option name="x" value="-9" />
+    <option name="y" value="-9" />
+    <option name="width" value="1938" />
+    <option name="height" value="1048" />
+  </component>
   <component name="ProjectId" id="1Q2nhRM7LRz3yFWhpclOKgTjxn0" />
   <component name="ProjectLevelVcsManager">
     <ConfirmationsSetting value="2" id="Add" />
   </component>
+  <component name="ProjectView">
+    <navigator proportions="" version="1">
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <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=".idea" 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="config" 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="config" type="462c0819:PsiDirectoryNode" />
+              <item name="containerType" 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="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="inventoryDetail" type="462c0819:PsiDirectoryNode" />
+              <item name="service" 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="service" 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="inventoryTransaction" 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="inventoryTransaction" 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="inventoryTransaction" 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="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="inventoryTransaction" type="462c0819:PsiDirectoryNode" />
+              <item name="service" 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="task" 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="task" type="462c0819:PsiDirectoryNode" />
+              <item name="taskHeader" 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="task" type="462c0819:PsiDirectoryNode" />
+              <item name="taskHeader" 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="task" type="462c0819:PsiDirectoryNode" />
+              <item name="taskHeader" type="462c0819:PsiDirectoryNode" />
+              <item name="service" 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="resources" 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="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="templates" 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="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="templates" 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="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="templates" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="adjustHeader" 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="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="templates" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="cycleCountDetail" 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="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="templates" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="cycleCountHeader" 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="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="templates" 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="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="templates" 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="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="templates" type="462c0819:PsiDirectoryNode" />
+              <item name="inventory" type="462c0819:PsiDirectoryNode" />
+              <item name="inventoryTransaction" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="PackagesPane" />
+      <pane id="Scope" />
+    </panes>
+  </component>
   <component name="PropertiesComponent">
     <property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
-    <property name="DatabaseDriversLRU" value="mysql" />
     <property name="DefaultHtmlFileTemplate" value="HTML File" />
     <property name="ExpandSpringBootJavaOptionsPanel" value="true" />
+    <property name="JavaScriptWeakerCompletionTypeGuess" value="true" />
     <property name="RequestMappingsPanelOrder0" value="0" />
     <property name="RequestMappingsPanelOrder1" value="1" />
     <property name="RequestMappingsPanelWidth0" value="75" />
@@ -110,7 +538,6 @@
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../WMS_NingXiang" />
     <property name="list.type.of.created.stylesheet" value="CSS" />
     <property name="node.js.detected.package.eslint" value="true" />
     <property name="node.js.path.for.package.eslint" value="project" />
@@ -118,7 +545,7 @@
     <property name="node.js.selected.package.eslint" value="(autodetect)" />
     <property name="node.js.selected.package.tslint" value="(autodetect)" />
     <property name="nodejs_package_manager_path" value="npm" />
-    <property name="settings.editor.selected.configurable" value="preferences.fileTypes" />
+    <property name="settings.editor.selected.configurable" value="Settings.JavaScript" />
   </component>
   <component name="RunDashboard">
     <option name="configurationTypes">
@@ -140,7 +567,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" />
@@ -158,12 +585,12 @@
           <expand>
             <path>
               <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
-              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@f4197d44" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@b9e1b2d7" type="7427dc5b:ServiceModel$ServiceGroupNode" />
             </path>
             <path>
               <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
-              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@f4197d44" type="7427dc5b:ServiceModel$ServiceGroupNode" />
-              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@6909ea06" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@b9e1b2d7" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@67b24c63" type="7427dc5b:ServiceModel$ServiceGroupNode" />
             </path>
           </expand>
           <select />
@@ -176,7 +603,7 @@
   </component>
   <component name="TaskManager">
     <task active="true" id="Default" summary="Default task">
-      <changelist id="4d9bac65-d8f6-4ced-8855-0db48f39a5f2" name="Default Changelist" comment="" />
+      <changelist id="908d8a6f-e3e4-4fdc-b674-e523a3e2b520" name="Default Changelist" comment="" />
       <created>1566977677142</created>
       <option name="number" value="Default" />
       <option name="presentableId" value="Default" />
@@ -186,9 +613,6 @@
       <workItem from="1567038752582" duration="12361000" />
       <workItem from="1567057373550" duration="15293000" />
       <workItem from="1567125196953" duration="16752000" />
-      <workItem from="1567470830253" duration="15946000" />
-      <workItem from="1567557546256" duration="159000" />
-      <workItem from="1567557719885" duration="770000" />
     </task>
     <task id="LOCAL-00001" summary="入库单添加时添加流程标记,审核入库单">
       <created>1566983055587</created>
@@ -249,6 +673,74 @@
     <option name="localTasksCounter" value="9" />
     <servers />
   </component>
+  <component name="ToolWindowManager">
+    <frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
+    <editor active="true" />
+    <layout>
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.308311" />
+      <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="Message" order="0" />
+      <window_info anchor="bottom" id="Find" order="1" weight="0.3286119" />
+      <window_info anchor="bottom" id="Run" order="2" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.29036826" />
+      <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" weight="0.04249292" />
+      <window_info anchor="bottom" id="Database Changes" order="9" weight="0.3286119" />
+      <window_info anchor="bottom" id="Spring" order="10" />
+      <window_info anchor="bottom" id="MyBatis Log" order="11" weight="0.3286119" />
+      <window_info anchor="bottom" id="Event Log" order="12" sideWeight="0.50067025" side_tool="true" weight="0.23796034" />
+      <window_info anchor="bottom" id="Messages" order="13" weight="0.4362606" />
+      <window_info anchor="bottom" id="Java Enterprise" order="14" />
+      <window_info active="true" anchor="bottom" id="Run Dashboard" order="15" sideWeight="0.49932975" visible="true" weight="0.4348442" />
+      <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="Database" order="4" />
+      <window_info anchor="right" id="Maven" order="5" weight="0.097184986" />
+      <window_info anchor="right" id="Bean Validation" order="6" />
+      <window_info anchor="right" id="Palette&#9;" order="7" />
+    </layout>
+    <layout-to-restore>
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.26340482" />
+      <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="Message" order="0" />
+      <window_info anchor="bottom" id="Find" order="1" weight="0.3286119" />
+      <window_info anchor="bottom" id="Run" order="2" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.29036826" />
+      <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" weight="0.45042494" />
+      <window_info anchor="bottom" id="Database Changes" order="9" />
+      <window_info anchor="bottom" id="Spring" order="10" />
+      <window_info anchor="bottom" id="MyBatis Log" order="11" weight="0.3286119" />
+      <window_info anchor="bottom" id="Event Log" order="12" sideWeight="0.50067025" side_tool="true" weight="0.23796034" />
+      <window_info anchor="bottom" id="Messages" order="13" weight="0.12606232" />
+      <window_info anchor="bottom" id="Java Enterprise" order="14" />
+      <window_info active="true" anchor="bottom" id="Run Dashboard" order="15" sideWeight="0.49932975" visible="true" weight="0.18838526" />
+      <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="Database" order="4" />
+      <window_info anchor="right" id="Maven" order="5" weight="0.097184986" />
+      <window_info anchor="right" id="Bean Validation" order="6" />
+      <window_info anchor="right" id="Palette&#9;" order="7" />
+    </layout-to-restore>
+  </component>
   <component name="TypeScriptGeneratedFilesManager">
     <option name="version" value="1" />
   </component>
@@ -258,7 +750,20 @@
         <entry key="MAIN">
           <value>
             <State>
-              <option name="COLUMN_ORDER" />
+              <option name="RECENTLY_FILTERED_USER_GROUPS">
+                <collection />
+              </option>
+              <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
+                <collection />
+              </option>
+              <option name="COLUMN_ORDER">
+                <list>
+                  <option value="0" />
+                  <option value="1" />
+                  <option value="2" />
+                  <option value="3" />
+                </list>
+              </option>
             </State>
           </value>
         </entry>
@@ -290,7 +795,10 @@
     <MESSAGE value="删除入库单" />
     <MESSAGE value="自动生成盘点首选项表" />
     <MESSAGE value="添加逻辑删除配置" />
-    <option name="LAST_COMMIT_MESSAGE" value="添加逻辑删除配置" />
+    <MESSAGE value="库存和任务移库相关" />
+    <MESSAGE value="库存移库生成和完成逻辑" />
+    <MESSAGE value="xml" />
+    <option name="LAST_COMMIT_MESSAGE" value="xml" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -298,44 +806,358 @@
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/mapper/CycleCountHeaderMapper.java</url>
           <line>5</line>
+          <properties />
           <option name="timeStamp" value="1" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java</url>
           <line>60</line>
+          <properties />
           <option name="timeStamp" value="4" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java</url>
           <line>49</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/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
-          <line>219</line>
+          <line>216</line>
+          <properties />
           <option name="timeStamp" value="19" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
-          <line>244</line>
+          <line>241</line>
+          <properties />
           <option name="timeStamp" value="20" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
           <line>163</line>
+          <properties />
           <option name="timeStamp" value="22" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
           <line>181</line>
+          <properties />
           <option name="timeStamp" value="23" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java</url>
           <line>92</line>
+          <properties />
           <option name="timeStamp" value="24" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/containerType/service/ContainerTypeServiceImpl.java</url>
+          <line>31</line>
+          <properties />
+          <option name="timeStamp" value="26" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java</url>
+          <line>47</line>
+          <properties />
+          <option name="timeStamp" value="37" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
   </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/.idea/WMSV1.iml">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/.idea/uiDesigner.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-828" />
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/.idea/MyBatisCodeHelperDatasource.xml" />
+    <entry file="file://$PROJECT_DIR$/.idea/misc.xml">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/application-druid.properties">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="164">
+          <caret line="10" column="45" lean-forward="true" selection-start-line="10" selection-start-column="45" selection-end-line="10" selection-end-column="45" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="332">
+          <caret line="283" column="13" selection-start-line="283" selection-start-column="13" selection-end-line="283" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/domain/Location.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-456">
+          <caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/service/LocationService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="160">
+          <caret line="9" column="4" selection-start-line="9" selection-start-column="4" selection-end-line="9" selection-end-column="4" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="472">
+          <caret line="48" lean-forward="true" selection-start-line="48" selection-end-line="48" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/mapper/InventoryHeaderMapper.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="260">
+          <caret line="15" lean-forward="true" selection-start-line="15" selection-end-line="15" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://C:/Program Files/Java/jdk1.8.0_202/src.zip!/com/sun/jmx/snmp/tasks/Task.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="330">
+          <caret line="57" column="17" selection-start-line="57" selection-start-column="17" selection-end-line="57" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="80">
+          <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="60">
+          <caret line="4" column="62" selection-start-line="4" selection-start-column="62" selection-end-line="4" selection-end-column="62" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/com/baomidou/mybatis-plus-core/3.1.2/mybatis-plus-core-3.1.2.jar!/com/baomidou/mybatisplus/core/mapper/BaseMapper.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="80">
+          <caret line="13" column="43" lean-forward="true" selection-start-line="13" selection-start-column="43" selection-end-line="13" selection-end-column="43" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/task/TaskDetailMapper.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="464">
+          <caret line="54" column="25" lean-forward="true" selection-start-line="54" selection-start-column="25" selection-end-line="54" selection-end-column="25" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/mapper/TaskDetailMapper.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="100">
+          <caret line="6" column="1" lean-forward="true" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="304">
+          <caret line="43" column="19" selection-start-line="43" selection-start-column="19" selection-end-line="43" selection-end-column="19" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="80">
+          <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="60">
+          <caret line="4" column="17" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="416">
+          <caret line="101" column="16" selection-start-line="101" selection-start-column="16" selection-end-line="101" selection-end-column="16" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/domain/ShipmentTaskCreateModel.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-12">
+          <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/task/TaskHeaderMapper.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="322">
+          <caret line="18" column="4" selection-start-line="18" selection-start-column="4" selection-end-line="18" selection-end-column="4" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="308">
+          <caret line="28" column="50" selection-start-line="28" selection-start-column="50" selection-end-line="28" selection-end-column="50" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/mapper/InventoryTransactionMapper.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="80">
+          <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1048">
+          <caret line="316" column="69" selection-start-line="316" selection-start-column="69" selection-end-line="316" selection-end-column="69" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="324">
+          <caret line="179" column="18" selection-start-line="179" selection-start-column="18" selection-end-line="179" selection-end-column="18" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/containerType/service/ContainerTypeServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="400">
+          <caret line="31" selection-start-line="31" selection-end-line="31" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/config/container/add.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="164">
+          <caret line="10" column="95" selection-start-line="10" selection-start-column="95" selection-end-line="10" selection-end-column="95" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="120">
+          <caret line="11" column="78" selection-start-line="11" selection-start-column="78" selection-end-line="11" selection-end-column="78" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryHeader/transfer.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-264">
+          <caret line="13" column="54" selection-start-line="13" selection-start-column="54" selection-end-line="13" selection-end-column="54" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://C:/Program Files/Java/jdk1.8.0_202/src.zip!/java/util/function/Function.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="460">
+          <caret line="46" column="32" selection-start-line="46" selection-start-column="32" selection-end-line="46" selection-end-column="32" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/service/InventoryTransactionService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="60">
+          <caret line="4" column="17" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://$MAVEN_REPOSITORY$/com/baomidou/mybatis-plus-extension/3.1.2/mybatis-plus-extension-3.1.2.jar!/com/baomidou/mybatisplus/extension/service/IService.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="216">
+          <caret line="37" column="20" selection-start-line="37" selection-start-column="20" selection-end-line="37" selection-end-column="20" />
+          <folding>
+            <element signature="e#1400#1401#0" expanded="true" />
+            <element signature="e#1463#1464#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="100">
+          <caret line="8" column="61" selection-start-line="8" selection-start-column="61" selection-end-line="8" selection-end-column="61" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="448">
+          <caret line="117" column="41" lean-forward="true" selection-start-line="117" selection-start-column="41" selection-end-line="117" selection-end-column="41" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="220">
+          <caret line="18" column="15" selection-start-line="18" selection-start-column="15" selection-end-line="18" selection-end-column="15" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="869">
+          <caret line="58" lean-forward="true" selection-start-line="58" selection-end-line="58" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="583">
+          <caret line="773" lean-forward="true" selection-start-line="773" selection-end-line="773" />
+        </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="408">
+          <caret line="105" column="37" lean-forward="true" selection-start-line="105" selection-start-column="37" selection-end-line="105" selection-end-column="37" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="185">
+          <caret line="335" column="16" lean-forward="true" selection-start-line="335" selection-start-column="16" selection-end-line="335" selection-end-column="16" />
+          <folding>
+            <element signature="e#4822#10729#0" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="140">
+          <caret line="9" selection-start-line="9" selection-end-line="9" />
+        </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="173">
+          <caret line="104" column="25" selection-start-line="104" selection-start-column="25" selection-end-line="104" selection-end-column="25" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="80">
+          <caret line="44" column="22" selection-start-line="44" selection-start-column="22" selection-end-line="44" selection-end-column="22" />
+        </state>
+      </provider>
+    </entry>
+  </component>
 </project>
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/config/containerType/service/ContainerTypeServiceImpl.java b/src/main/java/com/huaheng/pc/config/containerType/service/ContainerTypeServiceImpl.java
index 08d386b..e679029 100644
--- a/src/main/java/com/huaheng/pc/config/containerType/service/ContainerTypeServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/containerType/service/ContainerTypeServiceImpl.java
@@ -28,7 +28,7 @@ public class ContainerTypeServiceImpl extends ServiceImpl<ContainerTypeMapper, C
         LambdaQueryWrapper<ContainerType> lambda = Wrappers.lambdaQuery();
         lambda.select(ContainerType::getCode,ContainerType::getId,ContainerType::getName)
             .eq(ContainerType::getWarehouseCode, ShiroUtils.getWarehouseCode())
-            .eq(ContainerType::getEnable, 0);
+            .eq(ContainerType::getEnable, 1);
         List<Map<String, Object>> result= this.listMaps(lambda);
         return result;
     }
diff --git a/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java b/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
index 9c80a9f..2f61315 100644
--- a/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
@@ -5,7 +5,7 @@ import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
 import com.huaheng.pc.config.shipmentPreference.mapper.ShipmentPreferenceMapper;
 import org.springframework.stereotype.Service;
 
-@Service
+@Service("shipmentPreference")
 public class ShipmentPreferenceServiceImpl extends ServiceImpl<ShipmentPreferenceMapper, ShipmentPreference> implements ShipmentPreferenceService {
 
 }
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 90e024d..51bf1de 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
@@ -97,15 +97,16 @@ public class InventoryDetailController extends BaseController
         }
 	}
 
-    /**出库查看*/
+    /**库存明细出库查看*/
     //@RequiresPermissions("inventory:inventoryHeader:seeOut")
-    @PostMapping("/createCheckOutTask")
+    @PostMapping("/detailcreateCheckOutTask")
     @ResponseBody
-    public AjaxResult createCheckOutTask(String ids){
+    public AjaxResult detailcreateCheckOutTask(String ids){
         if(StringUtils.isEmpty(ids)){
-            return AjaxResult.error("ids不能为空");
+            return AjaxResult.error("库存明细ID不能为空");
         }
-        return inventoryHeaderService.createCheckOutTask(ids);
+        Integer id = Integer.valueOf(ids);
+        return inventoryDetailService.detailcreateCheckOutTask(id);
     }
 
 
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
index d8a6f88..e241784 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
@@ -7,7 +7,7 @@ import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
 public interface InventoryDetailService extends IService<InventoryDetail> {
 
 
-    public AjaxResult createCheckOutTask (String ids);
+    AjaxResult detailcreateCheckOutTask (Integer id);
 
 }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
index c6d2980..99d286e 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
@@ -1,14 +1,26 @@
 package com.huaheng.pc.inventory.inventoryDetail.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.framework.web.domain.AjaxResult;
+import com.huaheng.pc.config.location.domain.Location;
+import com.huaheng.pc.config.location.service.LocationService;
 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
+import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
 import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.pc.inventory.inventoryDetail.mapper.InventoryDetailMapper;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 @Service
 public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMapper, InventoryDetail> implements InventoryDetailService {
@@ -19,16 +31,79 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
     private TaskHeaderService taskHeaderService;
     @Resource
     private TaskDetailService taskDetailService;
+    @Resource
+    private InventoryDetailMapper inventoryDetailMapper;
+    @Resource
+    private LocationService locationService;
+
+
 
     /**
-     * 出库查看
+     * 库存明细出库查看
      * */
     @Override
-    public AjaxResult createCheckOutTask(String ids) {
-        //生成出库查看任务
+    public AjaxResult detailcreateCheckOutTask(Integer id) {
+        /*传入库存明细ID,通过该ID找到明细条码确定库位容器,再生成任务*/
 
-        return AjaxResult.success("出库查看任务生成成功!");
+        InventoryDetail inventoryDetail = inventoryDetailMapper.selectById(id);
+        //检查库位容器
+        Location temp = new Location();
+        temp.setCode(inventoryDetail.getLocationCode());
+        temp.setWarehouseCode(inventoryDetail.getWarehouseCode());
+        LambdaQueryWrapper<Location> lambdaQueryWrapper = Wrappers.lambdaQuery(temp);
+        Location loc = locationService.getOne(lambdaQueryWrapper);
+        if(loc == null){
+            throw new ServiceException("库存没有库位!");
+        }
+        if(!loc.getStatus().equals("empty")){
+            throw new ServiceException(inventoryDetail.getLocationCode()+"状态非空闲,操作失败");
+        }
+        if(StringUtils.isEmpty(loc.getContainerCode())){
+            throw new ServiceException(inventoryDetail.getLocationCode()+"没有容器,操作失败");
+        }
+        //写入任务主表
+        TaskHeader taskHeader = new TaskHeader();
+        taskHeader.setWarehouseCode(inventoryDetail.getWarehouseCode());
+        taskHeader.setCompanyCode(inventoryDetail.getCompanyCode());
+        taskHeader.setInternalTaskType(900);
+        taskHeader.setTaskType(900);
+        taskHeader.setContainerCode(inventoryDetail.getContainerCode());
+        taskHeader.setStatus(1);
+        taskHeader.setFromLocation(inventoryDetail.getLocationCode());
+        taskHeader.setToLocation(inventoryDetail.getLocationCode());
+        taskHeader.setCreated(new Date());
+        taskHeader.setCreatedBy(ShiroUtils.getLoginName());
+        taskHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
+        taskHeader.setLastUpdated(new Date());
+        if(taskHeaderService.save(taskHeader)){
+            //锁定库位状态
+            locationService.updateStatus(loc.getContainerCode(),"lock");
+        }else{
+            throw new ServiceException("出库查看任务主表生成失败!");
+        }
+        //写入任务细表
+            TaskDetail taskDetail = new TaskDetail();
+            taskDetail.setTaskId(taskHeader.getId());//主单ID
+            taskDetail.setTaskType(taskHeader.getTaskType());
+            taskDetail.setInternalTaskType(taskHeader.getTaskType());
+            taskDetail.setWarehouseCode(taskHeader.getWarehouseCode());
+            taskDetail.setCompanyCode(inventoryDetail.getCompanyCode());
+            taskDetail.setFromLocation(taskHeader.getFromLocation());
+            taskDetail.setToLocation(taskHeader.getToLocation());
+            taskDetail.setContainerCode(taskHeader.getContainerCode());
+            taskDetail.setCreated(new Date());
+            taskDetail.setCreatedBy(ShiroUtils.getLoginName());
+            taskDetail.setLastUpdated(new Date());
+            taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
+        if(taskDetailService.save(taskDetail) == false){
+            throw new ServiceException("出库查看任务明细生成失败!");
+        }
+
+        return AjaxResult.success("库存明细出库查看任务下发成功!");
     }
+
+
+
 }
 
 
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
index 8ea3232..27691b9 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java
@@ -95,17 +95,16 @@ public class InventoryHeaderController extends BaseController
 	@PostMapping("/transfer")
 	@ResponseBody
 	public AjaxResult transfer(String sourceLocation, String destinationLocation){
-		String companyCode="";
-        return  inventoryHeaderService.transfer(sourceLocation,destinationLocation,companyCode);
+        return  inventoryHeaderService.transfer(sourceLocation,destinationLocation);
 	}
 
     /**出库查看*/
 	//@RequiresPermissions("inventory:inventoryHeader:seeOut")
 	@PostMapping("/createCheckOutTask")
 	@ResponseBody
-	public AjaxResult createCheckOutTask(String ids){
+	public AjaxResult createCheckOutTask(String[] ids){
 		if(StringUtils.isEmpty(ids)){
-			return AjaxResult.error("ids不能为空");
+			return AjaxResult.error("库存ID不能为空!");
 		}
 		return inventoryHeaderService.createCheckOutTask(ids);
 	}
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/mapper/InventoryHeaderMapper.java b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/mapper/InventoryHeaderMapper.java
index 88f7eb5..40236ec 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/mapper/InventoryHeaderMapper.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/mapper/InventoryHeaderMapper.java
@@ -2,6 +2,17 @@ package com.huaheng.pc.inventory.inventoryHeader.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
+import org.apache.ibatis.annotations.Param;
 
 public interface InventoryHeaderMapper extends BaseMapper<InventoryHeader> {
+
+
+
+    int getUncompleteReceiptContainer(@Param("locationCode") String locationCode, @Param("warehouseCode") String warehouseCode);
+
+    int getUncompleteShipmentContainer(@Param("locationCode") String locationCode,@Param("warehouseCode") String warehouseCode);
+
+
+
+
 }
\ No newline at end of file
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 538cf72..0228be9 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
@@ -10,10 +10,16 @@ public interface InventoryHeaderService extends IService<InventoryHeader> {
 
 
 
-    public AjaxResult createCheckOutTask (String ids);
+    AjaxResult createCheckOutTask (String[] ids);
 
 
-    public AjaxResult transfer(String sourceLocation, String destinationLocation, String companyCode);
+    AjaxResult transfer(String sourceLocation, String destinationLocation);
+
+    //移库查询入库组盘
+    int getUncompleteReceiptContainer(String locationCode,String warehouseCode);
+    //移库查询出库组盘
+    int getUncompleteShipmentContainer(String sourceLocation, String warehouseCode);
+
 
 }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java
index 4fab445..d08e0be 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java
@@ -9,6 +9,7 @@ import com.huaheng.pc.task.taskHeader.service.TaskHeaderServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.pc.inventory.inventoryHeader.mapper.InventoryHeaderMapper;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 
@@ -17,31 +18,44 @@ public class InventoryHeaderServiceImpl extends ServiceImpl<InventoryHeaderMappe
 
 
     @Resource
-    private TaskHeaderServiceImpl taskHeaderServiceImpl;
+    private TaskHeaderService taskHeaderService;
     @Resource
-    private TaskDetailServiceImpl taskDetailServiceImpl;
+    private InventoryHeaderMapper inventoryHeaderMapper;
+
 
 
     /**
      * 移库
      * */
-
-    public AjaxResult transfer(String sourceLocation, String destinationLocation, String companyCode) {
+    @Override
+    public AjaxResult transfer(String sourceLocation, String destinationLocation) {
         //生成移库任务
-            taskHeaderServiceImpl.createTransferTask(sourceLocation,destinationLocation,companyCode);
+            taskHeaderService.createTransferTask(sourceLocation,destinationLocation);
         return AjaxResult.success("移库任务生成成功!");
     }
 
     /**
      * 出库查看
      * */
-
-    public AjaxResult createCheckOutTask(String ids) {
+    @Override
+    public AjaxResult createCheckOutTask(String[] ids) {
         //生成出库查看任务
+        taskHeaderService.createCheckOutTask(ids);
+        return AjaxResult.success("出库查看任务正在生成!");
+    }
 
-        return AjaxResult.success("出库查看任务生成成功!");
+    @Override
+    public int getUncompleteReceiptContainer(String locationCode, String warehouseCode) {
+        return inventoryHeaderMapper.getUncompleteReceiptContainer(locationCode,warehouseCode);
     }
 
+    @Override
+    public int getUncompleteShipmentContainer(String locationCode, String warehouseCode) {
+        return inventoryHeaderMapper.getUncompleteShipmentContainer(locationCode,warehouseCode);
+    }
+
+
+
 
 
 
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 4a7b368..f0267c1 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
@@ -177,7 +177,7 @@ public class InventoryTransaction implements Serializable {
      */
     @TableField(value = "attributeId")
     @ApiModelProperty(value="属性号")
-    private Integer attributeId;
+    private String attributeId;
 
     /**
      * 属性1
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 ab99c95..02c35df 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
@@ -114,9 +114,9 @@ public class ShipmentContainerDetail implements Serializable {
     /**
      * 状态
      */
-    @TableField(value = "enable")
+    @TableField(value = "status")
     @ApiModelProperty(value="状态")
-    private Integer enable;
+    private Integer status;
 
     /**
      * 重量
@@ -153,12 +153,6 @@ public class ShipmentContainerDetail implements Serializable {
     @ApiModelProperty(value="高")
     private BigDecimal itemHeight;
 
-    /**
-     * 价值
-     */
-    @TableField(value = "itemValue")
-    @ApiModelProperty(value="价值")
-    private BigDecimal itemValue;
 
     /**
      * 数量
@@ -189,13 +183,6 @@ public class ShipmentContainerDetail implements Serializable {
     private Integer attributeId;
 
     /**
-     * 原始拣货位
-     */
-    @TableField(value = "originalPickLoc")
-    @ApiModelProperty(value="原始拣货位")
-    private String originalPickLoc;
-
-    /**
      * 属性1
      */
     @TableField(value = "attribute1")
@@ -282,16 +269,10 @@ public class ShipmentContainerDetail implements Serializable {
     /**
      * 周转箱号
      */
-    @TableField(value = "transContCode")
+    @TableField(value = "transContainerCode")
     @ApiModelProperty(value="周转箱号")
-    private String transContCode;
+    private String transContainerCode;
 
-    /**
-     * 扫描数量
-     */
-    @TableField(value = "scannedQty")
-    @ApiModelProperty(value="扫描数量")
-    private Integer scannedQty;
 
     /**
      * 创建时间
@@ -384,7 +365,7 @@ public class ShipmentContainerDetail implements Serializable {
 
     public static final String COL_MATERIALUNIT = "materialUnit";
 
-    public static final String COL_ENABLE = "enable";
+    public static final String COL_STATUS= "status";
 
     public static final String COL_ITEMWEIGHT = "itemWeight";
 
@@ -396,8 +377,6 @@ public class ShipmentContainerDetail implements Serializable {
 
     public static final String COL_ITEMHEIGHT = "itemHeight";
 
-    public static final String COL_ITEMVALUE = "itemValue";
-
     public static final String COL_QTY = "qty";
 
     public static final String COL_WAVEID = "waveId";
@@ -406,8 +385,6 @@ public class ShipmentContainerDetail implements Serializable {
 
     public static final String COL_ATTRIBUTEID = "attributeId";
 
-    public static final String COL_ORIGINALPICKLOC = "originalPickLoc";
-
     public static final String COL_ATTRIBUTE1 = "attribute1";
 
     public static final String COL_ATTRIBUTE2 = "attribute2";
@@ -432,9 +409,7 @@ public class ShipmentContainerDetail implements Serializable {
 
     public static final String COL_PACKINGCLASS = "packingClass";
 
-    public static final String COL_TRANSCONTCODE = "transContCode";
-
-    public static final String COL_SCANNEDQTY = "scannedQty";
+    public static final String COL_TRANSCONTAINERCODE = "transContainerCode";
 
     public static final String COL_CREATED = "created";
 
@@ -687,22 +662,13 @@ public class ShipmentContainerDetail implements Serializable {
         this.materialUnit = materialUnit;
     }
 
-    /**
-     * 获取状态
-     *
-     * @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;
     }
 
     /**
@@ -795,23 +761,6 @@ public class ShipmentContainerDetail implements Serializable {
         this.itemHeight = itemHeight;
     }
 
-    /**
-     * 获取价值
-     *
-     * @return itemValue - 价值
-     */
-    public BigDecimal getItemValue() {
-        return itemValue;
-    }
-
-    /**
-     * 设置价值
-     *
-     * @param itemValue 价值
-     */
-    public void setItemValue(BigDecimal itemValue) {
-        this.itemValue = itemValue;
-    }
 
     public BigDecimal getQty() {
         return qty;
@@ -875,23 +824,6 @@ public class ShipmentContainerDetail implements Serializable {
         this.attributeId = attributeId;
     }
 
-    /**
-     * 获取原始拣货位
-     *
-     * @return originalPickLoc - 原始拣货位
-     */
-    public String getOriginalPickLoc() {
-        return originalPickLoc;
-    }
-
-    /**
-     * 设置原始拣货位
-     *
-     * @param originalPickLoc 原始拣货位
-     */
-    public void setOriginalPickLoc(String originalPickLoc) {
-        this.originalPickLoc = originalPickLoc;
-    }
 
     /**
      * 获取属性1
@@ -1109,41 +1041,14 @@ public class ShipmentContainerDetail implements Serializable {
         this.packingClass = packingClass;
     }
 
-    /**
-     * 获取周转箱号
-     *
-     * @return transContCode - 周转箱号
-     */
-    public String getTransContCode() {
-        return transContCode;
+    public String getTransContainerCode() {
+        return transContainerCode;
     }
 
-    /**
-     * 设置周转箱号
-     *
-     * @param transContCode 周转箱号
-     */
-    public void setTransContCode(String transContCode) {
-        this.transContCode = transContCode;
-    }
-
-    /**
-     * 获取扫描数量
-     *
-     * @return scannedQty - 扫描数量
-     */
-    public Integer getScannedQty() {
-        return scannedQty;
+    public void setTransContainerCode(String transContainerCode) {
+        this.transContainerCode = transContainerCode;
     }
 
-    /**
-     * 设置扫描数量
-     *
-     * @param scannedQty 扫描数量
-     */
-    public void setScannedQty(Integer scannedQty) {
-        this.scannedQty = scannedQty;
-    }
 
     /**
      * 获取创建时间
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 caf0207..311c6f4 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
@@ -182,6 +182,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
             if (shipmentContainerHeader == null) {
                 shipmentContainerHeader = new ShipmentContainerHeader();
                 shipmentContainerHeader.setContainerCode(location.getContainerCode());
+                shipmentContainerHeader.setLocationCode(location.getCode());
                 shipmentContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());
                 //赋值u8仓库
                 shipmentContainerHeader.setCompanyCode(shipmentDetail.getCompanyCode());
@@ -226,12 +227,19 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
             if (material == null)
                 throw new ServiceException("出库单(" + shipmentDetail.getShipmentCode() + ")的物料("+ shipmentDetail.getMaterialCode() +")不存在!");
             shipmentContainerDetail = new ShipmentContainerDetail();
+            shipmentContainerDetail.setWarehouseCode(shipmentContainerHeader.getWarehouseCode());
+            shipmentContainerDetail.setCompanyCode(shipmentContainerHeader.getCompanyCode());
+            shipmentContainerDetail.setContainerCode(shipmentContainerHeader.getContainerCode());
+            shipmentContainerDetail.setLocationCode(shipmentContainerHeader.getLocationCode());
+            shipmentContainerDetail.setInventoryId(shipmentCombinationModel.getInventoryDetailId());
+            shipmentContainerDetail.setInventorySts(shipmentDetail.getInventorySts());
             shipmentContainerDetail.setShippingContainerId(shipmentContainerHeader.getId());
             shipmentContainerDetail.setShipmentCode(shipmentDetail.getShipmentCode());
             shipmentContainerDetail.setShipmentId(shipmentDetail.getShipmentId());
             shipmentContainerDetail.setShipmentDetailId(shipmentCombinationModel.getShipmentDetailId());
             shipmentContainerDetail.setMaterialCode(material.getCode());
             shipmentContainerDetail.setMaterialName(material.getName());
+            shipmentContainerDetail.setMaterialSpec(material.getSpec());
             shipmentContainerDetail.setQty(shipmentCombinationModel.getShipQty());
             shipmentContainerDetail.setCreated(null);
             shipmentContainerDetail.setCreatedBy(ShiroUtils.getLoginName());
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 7cd5448..26a00d2 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
@@ -8,7 +8,11 @@ import com.huaheng.common.utils.security.ShiroUtils;
 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.config.configValue.domain.ConfigValue;
+import com.huaheng.pc.config.configValue.service.ConfigValueService;
+import com.huaheng.pc.config.material.domain.Material;
 import com.huaheng.pc.config.material.service.MaterialServiceImpl;
+import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
 import com.huaheng.pc.shipment.shipmentContainerDetail.service.ShipmentContainerDetailService;
@@ -48,6 +52,8 @@ public class ShippingCombinationController extends BaseController {
     ShipmentHeaderService shipmentHeaderService;
     @Autowired
     InventoryDetailService inventoryDetailService;
+    @Autowired
+    ConfigValueService configValueService;
 
 
     /**
@@ -91,7 +97,7 @@ public class ShippingCombinationController extends BaseController {
     @PostMapping("/getInventory")
     @ResponseBody
     public TableDataInfo getInventory(String code, Integer id){
-        //找到主单的账套和u8仓库
+        //找到主单的账套
         LambdaQueryWrapper<ShipmentHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
         lambdaQueryWrapper.eq(ShipmentHeader::getCode,code)
                 .eq(ShipmentHeader::getWarehouseCode,ShiroUtils.getWarehouseCode());
@@ -108,13 +114,77 @@ public class ShippingCombinationController extends BaseController {
         LambdaQueryWrapper<InventoryDetail> lam = Wrappers.lambdaQuery();
         lam.eq(InventoryDetail::getWarehouseCode,shipmentHeader.getWarehouseCode())
                 .eq(InventoryDetail::getCompanyCode,shipmentHeader.getCompanyCode())
-                .eq(InventoryDetail::getMaterialName,shipmentDetail.getMaterialCode());
+                .eq(InventoryDetail::getMaterialCode,shipmentDetail.getMaterialCode());
 
         List<InventoryDetail> list= inventoryDetailService.list(lam);
         return getDataTable(list);
     }
 
 
+//    /**
+//     * 获取能出库的库存列表
+//     * @param code,id
+//     * @return
+//     */
+//    @PostMapping("/getInventory")
+//    @ResponseBody
+//    public TableDataInfo getInventory(String code, Integer id){
+//        //找到主单的账套
+//        LambdaQueryWrapper<ShipmentHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
+//        lambdaQueryWrapper.eq(ShipmentHeader::getCode,code)
+//                .eq(ShipmentHeader::getWarehouseCode,ShiroUtils.getWarehouseCode());
+//        ShipmentHeader shipmentHeader=shipmentHeaderService.getOne(lambdaQueryWrapper);
+//        if(shipmentHeader==null){
+//            throw new ServiceException("找不到主单");
+//        }
+//        //找到子单物料
+//        ShipmentDetail shipmentDetail=new ShipmentDetail();
+//        shipmentDetail=shipmentDetailService.getById(id);
+//        if(shipmentDetail==null){
+//            throw new ServiceException("找不到子单");
+//        }
+//
+//        //出库首选项
+//        LambdaQueryWrapper<ShipmentPreference> shipmentPreferenceLambdaQueryWrapper=Wrappers.lambdaQuery();
+//
+//        //出库规则
+//        //出库子单的分配规则
+//        if(StringUtils.isNotEmpty(shipmentDetail.getAllocationRule())){
+//
+//
+//        }
+//
+//        //物料的分+配规则
+//        LambdaQueryWrapper<Material> materialLambdaQueryWrapper=Wrappers.lambdaQuery();
+//        materialLambdaQueryWrapper.eq(Material::getCode,shipmentDetail.getMaterialCode())
+//                .eq(Material::getWarehouseCode,shipmentDetail.getWarehouseCode());
+//        Material material=materialService.getOne(materialLambdaQueryWrapper);
+//        if(StringUtils.isNotEmpty(material.getAllocationRule())){
+//
+//
+//        }
+//
+//        //仓库的分配规则
+//        LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper=Wrappers.lambdaQuery();
+//        configValueLambdaQueryWrapper.eq(ConfigValue::getModuleType,"shipment")
+//                .eq(ConfigValue::getWarehouseCode,shipmentDetail.getWarehouseCode());
+//        ConfigValue configValue=configValueService.getOne(configValueLambdaQueryWrapper);
+//        //查找出库首选项
+//
+//        configValue.getIdentifier();
+//
+//
+//
+//        LambdaQueryWrapper<InventoryDetail> lam = Wrappers.lambdaQuery();
+//        lam.eq(InventoryDetail::getWarehouseCode,shipmentHeader.getWarehouseCode())
+//                .eq(InventoryDetail::getCompanyCode,shipmentHeader.getCompanyCode())
+//                .eq(InventoryDetail::getMaterialName,shipmentDetail.getMaterialCode());
+//
+//        List<InventoryDetail> list= inventoryDetailService.list(lam);
+//        return getDataTable(list);
+//    }
+
+
     /**
      * 保存组盘
      * @param shipmentCombinationModel
diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java b/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java
index 0dcc87c..de5dffd 100644
--- a/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java
+++ b/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java
@@ -30,25 +30,18 @@ public class TaskDetail implements Serializable {
     private Integer taskId;
 
     /**
-     * 任务号
-     */
-    @TableField(value = "taskCode")
-    @ApiModelProperty(value="任务号")
-    private String taskCode;
-
-    /**
      * 任务类型
      */
     @TableField(value = "taskType")
     @ApiModelProperty(value="任务类型")
-    private String taskType;
+    private Integer taskType;
 
     /**
      * 任务类型
      */
     @TableField(value = "internalTaskType")
     @ApiModelProperty(value="任务类型")
-    private String internalTaskType;
+    private Integer internalTaskType;
 
     /**
      * 仓库
@@ -65,24 +58,17 @@ public class TaskDetail implements Serializable {
     private String companyCode;
 
     /**
-     * 单据号
+     * 单据编码
      */
     @TableField(value = "billCode")
-    @ApiModelProperty(value="货主")
+    @ApiModelProperty(value="单据编码")
     private String billCode;
 
     /**
-     * 主单Id
-     */
-    @TableField(value = "billId")
-    @ApiModelProperty(value="货主")
-    private Integer billId;
-
-    /**
      * 子单ID
      */
     @TableField(value = "billDetailId")
-    @ApiModelProperty(value="货主")
+    @ApiModelProperty(value="子单ID")
     private Integer billDetailId;
 
     /**
@@ -395,8 +381,6 @@ public class TaskDetail implements Serializable {
 
     public static final String COL_BILLCODE= "billCode";
 
-    public static final String COL_BILLID= "billId";
-
     public static final String COL_BILLDETAILID= "billDetailId";
 
 
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java b/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
index f18d849..eaf6233 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
@@ -69,6 +69,7 @@ public class TaskHeaderController extends BaseController {
                           .eq(StringUtils.isNotNull(taskHeader.getInternalTaskType()),TaskHeader::getInternalTaskType,taskHeader.getInternalTaskType())
                           .eq(StringUtils.isNotNull(taskHeader.getId()),TaskHeader::getId,taskHeader.getId())
                           .eq(StringUtils.isNotEmpty(taskHeader.getContainerCode()),TaskHeader::getContainerCode,taskHeader.getContainerCode())
+                          .eq(StringUtils.isNotEmpty(taskHeader.getLocationCode()),TaskHeader::getLocationCode,taskHeader.getLocationCode())
                           .gt(StringUtils.isNotEmpty(createdBegin),TaskHeader::getCreated,createdBegin)
                           .lt(StringUtils.isNotEmpty(createdEnd),TaskHeader::getCreated,createdEnd);
 
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java b/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java
index 1c676ff..798f2d5 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java
@@ -10,7 +10,7 @@ import java.io.Serializable;
 import java.util.Date;
 import lombok.Data;
 
-@ApiModel(value="com.huaheng.pc.task.taskHeader.TaskHeader")
+@ApiModel(value="com.huaheng.pc.task.taskHeader.domain.TaskHeader")
 @Data
 @TableName(value = "task_header")
 public class TaskHeader implements Serializable {
@@ -22,6 +22,13 @@ public class TaskHeader implements Serializable {
     private Integer id;
 
     /**
+     * 任务
+     */
+    @TableField(value = "code")
+    @ApiModelProperty(value="任务")
+    private String code;
+
+    /**
      * 仓库
      */
     @TableField(value = "warehouseCode")
@@ -50,27 +57,6 @@ public class TaskHeader implements Serializable {
     private Integer internalTaskType;
 
     /**
-     * 容器号
-     */
-    @TableField(value = "containerCode")
-    @ApiModelProperty(value="容器号")
-    private String containerCode;
-
-    /**
-     * 从货位,源库位
-     */
-    @TableField(value = "fromLocation")
-    @ApiModelProperty(value="从货位,源库位")
-    private String fromLocation;
-
-    /**
-     * 到货位,目的库位
-     */
-    @TableField(value = "toLocation")
-    @ApiModelProperty(value="到货位,目的库位")
-    private String toLocation;
-
-    /**
      * 参考单内部号
      */
     @TableField(value = "referenceId")
@@ -127,6 +113,20 @@ public class TaskHeader implements Serializable {
     private String pickingCartPos;
 
     /**
+     * 容器号
+     */
+    @TableField(value = "locationCode")
+    @ApiModelProperty(value="容器号")
+    private String locationCode;
+
+    /**
+     * 容器号
+     */
+    @TableField(value = "containerCode")
+    @ApiModelProperty(value="容器号")
+    private String containerCode;
+
+    /**
      * 开始拣货时间
      */
     @TableField(value = "startPickDateTime")
@@ -280,6 +280,7 @@ public class TaskHeader implements Serializable {
     @ApiModelProperty(value="同步标志  0:需要同步 10:同步成功   20:同步失败")
     private String userDef3;
 
+
     /**
      * 处理标记
      */
@@ -288,4 +289,82 @@ public class TaskHeader implements Serializable {
     private String processStamp;
 
     private static final long serialVersionUID = 1L;
+
+    public static final String COL_ID = "id";
+
+    public static final String COL_CODE = "code";
+
+    public static final String COL_WAREHOUSECODE = "warehouseCode";
+
+    public static final String COL_COMPANYCODE = "companyCode";
+
+    public static final String COL_TASKTYPE = "taskType";
+
+    public static final String COL_INTERNALTASKTYPE = "internalTaskType";
+
+    public static final String COL_REFERENCEID = "referenceId";
+
+    public static final String COL_REFERENCECODE = "referenceCode";
+
+    public static final String COL_ASSIGNEDUSER = "assignedUser";
+
+    public static final String COL_CONFIRMEDBY = "confirmedBy";
+
+    public static final String COL_STATUS = "status";
+
+    public static final String COL_WAVEID = "waveId";
+
+    public static final String COL_PICKINGCARTCODE = "pickingCartCode";
+
+    public static final String COL_PICKINGCARTPOS = "pickingCartPos";
+
+    public static final String COL_LOCATIONCODE = "locationCode";
+
+    public static final String COL_CONTAINERCODE = "containerCode";
+
+    public static final String COL_STARTPICKDATETIME = "startPickDateTime";
+
+    public static final String COL_ENDPICKDATETIME = "endPickDateTime";
+
+    public static final String COL_REBATCHLOC = "rebatchLoc";
+
+    public static final String COL_FINISHREBATCH = "finishRebatch";
+
+    public static final String COL_REBATCHGROUPCODE = "rebatchGroupCode";
+
+    public static final String COL_ALLOWREBATCH = "allowRebatch";
+
+    public static final String COL_TASKPROCESSTYPE = "taskProcessType";
+
+    public static final String COL_REBINBENCH = "rebinBench";
+
+    public static final String COL_REBINED = "rebined";
+
+    public static final String COL_STARTREBINDATETIME = "startRebinDateTime";
+
+    public static final String COL_ENDREBINDATETIME = "endRebinDateTime";
+
+    public static final String COL_REBINEDBY = "rebinedBy";
+
+    public static final String COL_EXCEPTIONCODE = "exceptionCode";
+
+    public static final String COL_EXCEPTIONHANDLEDBY = "exceptionHandledBy";
+
+    public static final String COL_CREATED = "created";
+
+    public static final String COL_CREATEDBY = "createdBy";
+
+    public static final String COL_LASTUPDATED = "lastUpdated";
+
+    public static final String COL_LASTUPDATEDBY = "lastUpdatedBy";
+
+    public static final String COL_VERSION = "version";
+
+    public static final String COL_USERDEF1 = "userDef1";
+
+    public static final String COL_USERDEF2 = "userDef2";
+
+    public static final String COL_USERDEF3 = "userDef3";
+
+    public static final String COL_PROCESSSTAMP = "processStamp";
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
index 90277ad..e335c22 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
@@ -22,7 +22,12 @@ public interface TaskHeaderService extends IService<TaskHeader>{
 
 //    List<Map<String, Object>> getReceiptTask(@Param("taskId") Integer taskId);
 
-    public AjaxResult createTransferTask(String sourceLocation, String destinationLocation, String companyCode);
+    AjaxResult createTransferTask(String sourceLocation, String destinationLocation);
+
+
+    AjaxResult createCheckOutTask(String[] ids);
+
+    AjaxResult completeCycleCountOrSeeOutTask(TaskHeader taskHeader);
 
     AjaxResult createReceiptTask(List<Integer> ids);
 }
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
index 64c2084..3e76e74 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
@@ -19,10 +19,6 @@ import com.huaheng.pc.inventory.inventoryTransaction.domain.InventoryTransaction
 import com.huaheng.pc.inventory.inventoryTransaction.service.InventoryTransactionService;
 import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail;
 import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService;
-import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader;
-import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService;
-import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
-import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
 import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail;
@@ -71,15 +67,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     @Autowired
     private ReceiptHeaderService receiptHeaderService;
 
-    @Resource
-    private ReceiptDetailService receiptDetailService;
-
     @Autowired
     private ReceiptContainerDetailService receiptContainerDetailService;
 
-    @Resource
-    private ReceiptContainerHeaderService receiptContainerHeaderService;
-
 
 
 
@@ -124,7 +114,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         TaskHeader task = new TaskHeader();
         //分拣出库
         task.setTaskType(400);
-        task.setToLocation(shipmentContainerHeader.getLocationCode());
+        task.setLocationCode(shipmentContainerHeader.getLocationCode());
         //判断是否整出任务,钱柜和AGV不能整出
         if (shipmentContainerHeader.getStatus().intValue() == 300) {
             //表示整出优先
@@ -147,7 +137,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             }
             if (inventoryTotal.compareTo(containerTotal) == 0) {
                 task.setTaskType(300);//整盘出库
-                task.setToLocation("");
+                task.setLocationCode("");
             }
         }
         task.setWarehouseCode(shipmentContainerHeader.getWarehouseCode());
@@ -179,8 +169,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             taskDetail.setFromInventoryId(shipmentContainerDetail.getInventoryId());
             taskDetail.setQty(shipmentContainerDetail.getQty());
             taskDetail.setContainerCode(task.getContainerCode());
-            taskDetail.setFromLocation(task.getFromLocation());
-            taskDetail.setToLocation(task.getToLocation());
+            taskDetail.setFromLocation(task.getLocationCode());
+            taskDetail.setToLocation(task.getLocationCode());
             taskDetail.setStatus(1);
             taskDetail.setTaskType("s");
             taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
@@ -268,7 +258,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 throw new ServiceException("任务(" + taskId + ")任务已经是完成的!");
             }
             //如果没有库位不能完成
-            if (StringUtils.isEmpty(task.getToLocation())) {
+            if (StringUtils.isEmpty(task.getLocationCode())) {
                 throw new ServiceException("任务" + taskId + "没有库位,执行中止");
             }
             this.completeTask(task);
@@ -322,7 +312,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             if (DataUtils.getInteger(map.get("status")) < 100) {
                 LambdaQueryWrapper<InventoryDetail> inventory =Wrappers.lambdaQuery();
                 inventory.eq(InventoryDetail::getWarehouseCode,ShiroUtils.getWarehouseCode())
-                         .eq(InventoryDetail::getLocationCode,task.getToLocation())
+                         .eq(InventoryDetail::getLocationCode,task.getLocationCode())
                          .eq(InventoryDetail::getReceiptDetailId,DataUtils.getString(map.get("receiptDetailId")))
                          .eq(InventoryDetail::getContainerCode,DataUtils.getString(map.get("containerCode")));
                          InventoryDetail detail=inventoryDetailService.getOne(inventory);
@@ -345,7 +335,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                     detail.setInventoryHeaderId(header.getId());//库存头ID
                     detail.setWarehouseCode(DataUtils.getString(map.get("warehouseCode")));//仓库
                     detail.setCompanyCode(task.getCompanyCode());//货主
-                    detail.setLocationCode(task.getToLocation());//库位号
+                    detail.setLocationCode(task.getLocationCode());//库位号
                     detail.setContainerCode(DataUtils.getString(map.get("containerCode")));//容器号
                     detail.setMaterialCode(DataUtils.getString(map.get("materialCode")));//物料号
                     detail.setMaterialName(DataUtils.getString(map.get("materialName")));//物料名称
@@ -376,7 +366,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 inventoryTransaction.setTransactionType(10);
                 inventoryTransaction.setWarehouseCode(DataUtils.getString(map.get("warehouseCode")));
                 inventoryTransaction.setCompanyCode(task.getCompanyCode());
-                inventoryTransaction.setLocationCode(task.getToLocation());
+                inventoryTransaction.setLocationCode(task.getLocationCode());
                 inventoryTransaction.setContainerCode(DataUtils.getString(map.get("containerCode")));
                 inventoryTransaction.setMaterialCode(DataUtils.getString(map.get("materialCode")));
                 inventoryTransaction.setMaterialName(DataUtils.getString(map.get("materialName")));
@@ -419,11 +409,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 location.setContainerCode(task.getContainerCode());
                 location.setStatus("empty");
                 LambdaUpdateWrapper<Location> locationLambdaUpdateWrapper = Wrappers.lambdaUpdate();
-                locationLambdaUpdateWrapper.eq(Location::getCode, task.getToLocation());
+                locationLambdaUpdateWrapper.eq(Location::getCode, task.getLocationCode());
                 locationService.update(location, locationLambdaUpdateWrapper);
         //修改容器状态和对应的库位
                 Container container =new Container();
-                container.setLocationCode(task.getToLocation());
+                container.setLocationCode(task.getLocationCode());
                 container.setStatus("some");
         //修改组盘表状态为20
          ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail();
@@ -521,75 +511,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
        return null;
     }
 
-    /**
-     * 创建上架任务
-     * @param ids
-     * @return
-     */
-    @Override
-    public AjaxResult createReceiptTask(List<Integer> ids) {
-        for (Integer id : ids)  {
-            ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(id);
-            if (receiptContainerHeader == null)
-                throw new ServiceException("任务不存在!");
-            if (receiptContainerHeader.getWarehouseCode() != ShiroUtils.getWarehouseCode())
-                throw new ServiceException("任务不在当前仓库!");
-            LambdaQueryWrapper<ReceiptContainerDetail> containerDetailLambda = Wrappers.lambdaQuery();
-            containerDetailLambda.eq(ReceiptContainerDetail::getReceiptId, id);
-            List<ReceiptContainerDetail> list = receiptContainerDetailService.list(containerDetailLambda);
-            if (list.size() < 1)
-                throw new ServiceException("没有组盘明细,请先组盘!");
-            if (receiptContainerHeader.getStatus() == 0) {
-                if (receiptContainerHeader.getStatus().intValue() < 10) {
-                    receiptContainerHeader.setStatus((short)10);
-                    receiptContainerHeaderService.updateById(receiptContainerHeader);
-                }
-                //添加任务主表
-                TaskHeader task = new TaskHeader();
-                task.setWarehouseCode(receiptContainerHeader.getWarehouseCode());
-                task.setCompanyCode(receiptContainerHeader.getCompanyCode());
-                task.setFromLocation(receiptContainerHeader.getFromLocation());
-                task.setTaskType(Integer.valueOf(receiptContainerHeader.getTaskType()));
-                task.setFromLocation(receiptContainerHeader.getFromLocation());
-                task.setToLocation(receiptContainerHeader.getToLocation());
-                task.setContainerCode(receiptContainerHeader.getContainerCode());
-                task.setCreated(new Date());
-                task.setCreatedBy(ShiroUtils.getLoginName());
-                this.save(task);
-                //添加任务明细表
-                for(ReceiptContainerDetail item : list) {
-                    TaskDetail taskDetail = new TaskDetail();
-                    taskDetail.setTaskId(task.getId());
-                    taskDetail.setWarehouseCode(task.getWarehouseCode());
-                    taskDetail.setCompanyCode(task.getCompanyCode());
-                    taskDetail.setCompanyCode(task.getCompanyCode());
-                    taskDetail.setMaterialCode(item.getMaterialCode());
-                    taskDetail.setMaterialName(item.getMaterialName());
-                    taskDetail.setBillId(item.getReceiptId());
-                    taskDetail.setBillDetailId(item.getReceiptDetailId());
-                    taskDetail.setBillCode(item.getReceiptCode());
-                    taskDetail.setQty(BigDecimal.valueOf(item.getQty()));
-                    taskDetail.setContainerCode(task.getContainerCode());
-                    taskDetail.setFromLocation(task.getFromLocation());
-                    taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
-                    taskDetail.setBatch(item.getBatch());
-                    taskDetailService.save(taskDetail);
-
-                    ReceiptDetail receiptDetail = receiptDetailService.getById(item.getReceiptDetailId());
-                    if ("300".equals(receiptDetail.getProcessStamp())){
-                        ReceiptDetail detail = receiptDetailService.queryflow(receiptDetail);
-                        if (!receiptDetailService.updateById(detail)){
-                            throw new ServiceException("更新入库单详情失败");
-                        }
-                        receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
-                    }
-                }
 
 
-            }
-        }
-        return  AjaxResult.success("生成任务成功!");
-    }
+
+
 
 
 }
diff --git a/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml b/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml
index 335ae69..fed9c7b 100644
--- a/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml
+++ b/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml
@@ -35,4 +35,19 @@
     enable, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2,
     userDef3
   </sql>
+
+    <select id="getUncompleteReceiptContainer" resultType="java.lang.Integer">
+        SELECT count(*) from receipt_container_header WHERE toLocation = #{locationCode} and `status`&lt;20 and warehouseCode = #{warehouseCode}
+    </select>
+
+    <select id="getUncompleteShipmentContainer" resultType="java.lang.Integer">
+        SELECT count(*) from shipment_container_header t join location b ON t.warehouseCode = b.warehouseCode and t.containerCode = b.containerCode
+        WHERE b.`code` = #{locationCode}  AND t.`status`&lt;20 and t.warehouseCode = #{warehouseCode}
+    </select>
+
+
+
+
+
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml b/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml
index fa36cde..a20ecc1 100644
--- a/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml
+++ b/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml
@@ -26,7 +26,7 @@
     <result column="manufactureDate" jdbcType="DATE" property="manufactureDate" />
     <result column="expirationDate" jdbcType="DATE" property="expirationDate" />
     <result column="agingDate" jdbcType="DATE" property="agingDate" />
-    <result column="attributeId" jdbcType="INTEGER" property="attributeId" />
+    <result column="attributeId" jdbcType="VARCHAR" property="attributeId" />
     <result column="attribute1" jdbcType="VARCHAR" property="attribute1" />
     <result column="attribute2" jdbcType="VARCHAR" property="attribute2" />
     <result column="attribute3" jdbcType="VARCHAR" property="attribute3" />
diff --git a/src/main/resources/mybatis/shipment/ShipmentContainerHeaderMapper.xml b/src/main/resources/mybatis/shipment/ShipmentContainerHeaderMapper.xml
index 0be3ac4..8fdb262 100644
--- a/src/main/resources/mybatis/shipment/ShipmentContainerHeaderMapper.xml
+++ b/src/main/resources/mybatis/shipment/ShipmentContainerHeaderMapper.xml
@@ -70,8 +70,8 @@
   </sql>
 
   <select id="getShipmentContainerMaxAndMinStatusByShipmentID" resultType="java.util.Map">
-        SELECT MAX(`status`) maxStatus , MIN(`status`) minStatus from shipment_container_header t join shipment_container_detail b on t.id = b.headerId
-          WHERE  b.shipmentHeaderId = #{shipmentId}
+        SELECT MAX(t.status) maxStatus , MIN(t.status) minStatus from shipment_container_header t inner join shipment_container_detail b on t.id = b.shippingContainerId
+          WHERE  b.shipmentId = #{shipmentId}
     </select>
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/task/TaskDetailMapper.xml b/src/main/resources/mybatis/task/TaskDetailMapper.xml
index 1596503..34e888b 100644
--- a/src/main/resources/mybatis/task/TaskDetailMapper.xml
+++ b/src/main/resources/mybatis/task/TaskDetailMapper.xml
@@ -5,9 +5,8 @@
     <!--@mbg.generated-->
     <id column="id" jdbcType="INTEGER" property="id" />
     <result column="taskId" jdbcType="INTEGER" property="taskId" />
-    <result column="taskCode" jdbcType="VARCHAR" property="taskCode" />
-    <result column="taskType" jdbcType="VARCHAR" property="taskType" />
-    <result column="internalTaskType" jdbcType="VARCHAR" property="internalTaskType" />
+    <result column="taskType" jdbcType="INTEGER" property="taskType" />
+    <result column="internalTaskType" jdbcType="INTEGER" property="internalTaskType" />
     <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
     <result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
     <result column="materialCode" jdbcType="VARCHAR" property="materialCode" />
@@ -54,7 +53,7 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, taskId, taskCode, taskType, internalTaskType, warehouseCode, companyCode, materialCode, 
+    id, taskId, taskType, internalTaskType, warehouseCode, companyCode, materialCode,
     materialName, materialSpec, materialUnit, qty, fromLocation, toLocation, containerCode, 
     fromZone, toZone, attributeId, referenceCode, referenceId, referenceLineId,
     assignedUser, attribute1, attribute2, attribute3, attribute4, batch, lot, projectNo, 
diff --git a/src/main/resources/mybatis/task/TaskHeaderMapper.xml b/src/main/resources/mybatis/task/TaskHeaderMapper.xml
index a6b36fe..a88dfbc 100644
--- a/src/main/resources/mybatis/task/TaskHeaderMapper.xml
+++ b/src/main/resources/mybatis/task/TaskHeaderMapper.xml
@@ -4,21 +4,19 @@
   <resultMap id="BaseResultMap" type="com.huaheng.pc.task.taskHeader.domain.TaskHeader">
     <!--@mbg.generated-->
     <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="code" jdbcType="VARCHAR" property="code" />
     <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
     <result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
-    <result column="taskType" jdbcType="INTEGER" property="taskType" />
-    <result column="internalTaskType" jdbcType="INTEGER" property="internalTaskType" />
-    <result column="containerCode" jdbcType="VARCHAR" property="containerCode" />
-    <result column="fromLocation" jdbcType="VARCHAR" property="fromLocation" />
-    <result column="toLocation" jdbcType="VARCHAR" property="toLocation" />
+    <result column="taskType" jdbcType="VARCHAR" property="taskType" />
+    <result column="internalTaskType" jdbcType="VARCHAR" property="internalTaskType" />
     <result column="referenceId" jdbcType="INTEGER" property="referenceId" />
     <result column="referenceCode" jdbcType="VARCHAR" property="referenceCode" />
     <result column="assignedUser" jdbcType="VARCHAR" property="assignedUser" />
     <result column="confirmedBy" jdbcType="VARCHAR" property="confirmedBy" />
-    <result column="status" jdbcType="INTEGER" property="status" />
     <result column="waveId" jdbcType="INTEGER" property="waveId" />
     <result column="pickingCartCode" jdbcType="VARCHAR" property="pickingCartCode" />
     <result column="pickingCartPos" jdbcType="VARCHAR" property="pickingCartPos" />
+    <result column="containerCode" jdbcType="VARCHAR" property="containerCode" />
     <result column="startPickDateTime" jdbcType="TIMESTAMP" property="startPickDateTime" />
     <result column="endPickDateTime" jdbcType="TIMESTAMP" property="endPickDateTime" />
     <result column="rebatchLoc" jdbcType="VARCHAR" property="rebatchLoc" />
@@ -55,12 +53,12 @@
 
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, warehouseCode, companyCode, taskType, internalTaskType, containerCode, fromLocation,
-    toLocation, referenceId, referenceCode, assignedUser, confirmedBy, `status`, waveId,
-    pickingCartCode, pickingCartPos, startPickDateTime, endPickDateTime, rebatchLoc,
-    finishRebatch, rebatchGroupCode, allowRebatch, taskProcessType, rebinBench, rebined,
-    startRebinDateTime, endRebinDateTime, rebinedBy, exceptionCode, exceptionHandledBy,
-    created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3,
+    id, code, warehouseCode, companyCode, taskType, internalTaskType, referenceId, referenceCode, 
+    assignedUser, confirmedBy, waveId, pickingCartCode, pickingCartPos, containerCode,
+    startPickDateTime, endPickDateTime, rebatchLoc, finishRebatch, rebatchGroupCode, 
+    allowRebatch, taskProcessType, rebinBench, rebined, startRebinDateTime, endRebinDateTime, 
+    rebinedBy, exceptionCode, exceptionHandledBy, created, createdBy, lastUpdated, lastUpdatedBy, 
+    version, userDef1, userDef2, userDef3,
     processStamp
   </sql>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html b/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
index e33a9ab..6bcf112 100644
--- a/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
+++ b/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
@@ -115,7 +115,7 @@
             search: false,
             columns: [
                 {
-                    checkbox: true
+                    radio: true
                 },
                 {
                     field: 'id',
@@ -331,11 +331,9 @@
             $.modal.alertWarning("请至少选择一条记录");
             return;
         }
-        var url = prefix + "/createCheckOutTask";
+        var url = prefix + "/detailcreateCheckOutTask";
         var data = {
-            "ids": rows.map(function (v) {
-                return v.id;
-            }).join(',')
+            "ids": rows[0].id
         };
         localSubmit(url, "post", "json", data);
     }
diff --git a/src/main/resources/templates/shipment/shipmentDetail/add.html b/src/main/resources/templates/shipment/shipmentDetail/add.html
index 2df9fc5..8f146dd 100644
--- a/src/main/resources/templates/shipment/shipmentDetail/add.html
+++ b/src/main/resources/templates/shipment/shipmentDetail/add.html
@@ -32,6 +32,32 @@
 				</div>
 			</div>
 			<div class="form-group">
+				<label class="col-sm-3 control-label">分配规则:</label>
+				<div class="col-sm-8">
+					<select id="allocationRule" class="form-control" th:with="allocationRule=${@shipmentPreference.list()}">
+						<option th:each="allocationRules:${allocationRule}" th:text="${allocationRules['code']}" th:value="${allocationRules['name']}"></option>
+					</select>
+				</div>
+			</div>
+			<!--<div class="form-group">-->
+				<!--<label class="col-sm-3 control-label">分配规则:</label>-->
+				<!--<div class="col-sm-8">-->
+					<!--<input id="allocationRule" name="allocationRule" 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="replenishmentRule" name="replenishmentRule" 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="pickingRule" name="pickingRule" 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">
@@ -62,12 +88,6 @@
 				</div>
 			</div>
 			<div class="form-group">	
-				<label class="col-sm-3 control-label">入库日期:</label>
-				<div class="col-sm-8">
-					<input id="agingDate" name="agingDate" 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="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">
diff --git a/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html b/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
index 0e7c2f3..396c5aa 100644
--- a/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
+++ b/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
@@ -256,7 +256,7 @@
             type:'post',
             data:{
                 shipmentDetailId:shipmentDetailId,
-                inventoryId:id,
+                inventoryDetailId:id,
                 shipQty:num,
             },
             success:function (response) {