diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index d9d3722..5f0c02f 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -6,8 +6,8 @@
         <sourceOutputDir name="target/generated-sources/annotations" />
         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
         <outputRelativeToContentRoot value="true" />
-        <module name="WMSV1" />
         <module name="huaheng" />
+        <module name="wms2" />
       </profile>
     </annotationProcessing>
   </component>
@@ -15,6 +15,7 @@
     <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/workspace.xml b/.idea/workspace.xml
index 3a5ee1a..f65c59a 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,13 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ChangeListManager">
-    <list default="true" id="29079676-ace5-434e-89a2-76a325e744a5" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/src/main/resources/templates/check/checkDetail/checkComplete.html" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/resources/templates/check/checkDetail/checkDetail.html" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/resources/templates/check/checkHeader/checkHeader.html" afterDir="false" />
+    <list default="true" id="1fe4ff20-6474-45ee-a361-9572a808e9c9" 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/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/domain/CheckDetail.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/domain/CheckDetail.java" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -33,61 +29,395 @@
       </path>
       <path>
         <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
-        <item name="@localhost" type="feb32156:DbDataSourceImpl" />
+        <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" />
+        <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
       </path>
       <path>
         <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
-        <item name="@localhost" type="feb32156:DbDataSourceImpl" />
+        <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" />
       </path>
       <path>
         <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
-        <item name="@localhost" type="feb32156:DbDataSourceImpl" />
+        <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" />
         <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
-        <item name="wms2.0: schema" type="76f4a085:MysqlImplModel$Schema" />
+        <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" />
+        <item name="task_detail: 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" />
-        <item name="wms2.0: schema" type="76f4a085:MysqlImplModel$Schema" />
-        <item name="checking_register: table" type="285a2a93:MysqlImplModel$Table" />
       </path>
     </expand>
     <select />
   </component>
+  <component name="FileEditorManager">
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file pinned="false" current-in-tab="true">
+        <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="140">
+              <caret line="500" lean-forward="true" selection-start-line="500" selection-end-line="500" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="-157">
+              <caret line="173" column="28" selection-start-line="173" selection-start-column="10" selection-end-line="173" selection-end-column="28" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="226">
+              <caret line="347" column="1" selection-start-line="347" selection-start-column="1" selection-end-line="347" selection-end-column="1" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/domain/ReceiptContainerHeader.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="19">
+              <caret line="193" column="37" lean-forward="true" selection-start-line="193" selection-start-column="37" selection-end-line="193" selection-end-column="37" />
+              <folding>
+                <element signature="e#14321#14322#0" expanded="true" />
+                <element signature="e#14357#14358#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="266">
+              <caret line="18" column="15" selection-start-line="18" selection-start-column="15" selection-end-line="18" selection-end-column="15" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1596">
+              <caret line="112" column="26" selection-start-line="112" selection-start-column="16" selection-end-line="112" selection-end-column="26" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <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="1653">
+              <caret line="95" column="19" selection-start-line="95" selection-start-column="12" selection-end-line="95" selection-end-column="19" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/templates/task/taskHeader/taskHeader.html">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="4484">
+              <caret line="236" column="64" selection-start-line="236" selection-start-column="64" selection-end-line="236" selection-end-column="64" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
+        <option value="CSS 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_BRANCH_BY_REPOSITORY">
-      <map>
-        <entry key="$PROJECT_DIR$" value="master" />
-      </map>
-    </option>
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
   </component>
-  <component name="IgnoredFileRootStore">
-    <option name="generatedRoots">
-      <set>
-        <option value="E:\code\wms2\.idea" />
-      </set>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/resources/templates/task/taskHeader/taskHeader.html" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java" />
+        <option value="G:/网星联创/千金电玩城后台管理/ticketManager/src/com/ticket/server/back/player/entity/PlayerInfo.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/domain/ReceiptContainerHeader.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>
+        <option name="importAutomatically" value="true" />
+      </MavenImportingSettings>
     </option>
   </component>
-  <component name="ProjectId" id="1P5Ngjh73HToCarlEZkqMxrL7pm" />
+  <component name="ProjectFrameBounds" extendedState="6">
+    <option name="x" value="470" />
+    <option name="width" value="980" />
+    <option name="height" value="1030" />
+  </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="Scope" />
+      <pane id="PackagesPane" />
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
+              <item name="wms2" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="com" type="462c0819:PsiDirectoryNode" />
+              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
+              <item name="pc" type="462c0819:PsiDirectoryNode" />
+              <item name="receipt" 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="receipt" type="462c0819:PsiDirectoryNode" />
+              <item name="receiptContainerHeader" 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="receipt" type="462c0819:PsiDirectoryNode" />
+              <item name="receiptContainerHeader" 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="receipt" type="462c0819:PsiDirectoryNode" />
+              <item name="receiptContainerHeader" 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="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="taskDetail" 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="taskDetail" 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="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="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="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="templates" type="462c0819:PsiDirectoryNode" />
+              <item name="task" type="462c0819:PsiDirectoryNode" />
+              <item name="taskHeader" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+    </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" />
@@ -95,22 +425,23 @@
     <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$/src/main/resources/mybatis" />
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1567762826101" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/../wms-glgd" />
+    <property name="list.type.of.created.stylesheet" value="CSS" />
     <property name="node.js.detected.package.eslint" value="true" />
-    <property name="node.js.detected.package.tslint" value="true" />
     <property name="node.js.path.for.package.eslint" value="project" />
     <property name="node.js.path.for.package.tslint" value="project" />
     <property name="node.js.selected.package.eslint" value="(autodetect)" />
     <property name="node.js.selected.package.tslint" value="(autodetect)" />
-    <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
-  </component>
-  <component name="RecentsManager">
-    <key name="MoveFile.RECENT_KEYS">
-      <recent name="E:\code\wms2\src\main\resources\mybatis\general" />
-      <recent name="E:\code\wms2\src\main\resources\mybatis\config" />
-    </key>
+    <property name="nodejs_package_manager_path" value="npm" />
+    <property name="settings.editor.selected.configurable" value="Settings.JavaScript" />
   </component>
   <component name="RunDashboard">
+    <option name="configurationTypes">
+      <set>
+        <option value="SpringBootApplicationConfigurationType" />
+      </set>
+    </option>
     <option name="ruleStates">
       <list>
         <RuleState>
@@ -121,6 +452,7 @@
         </RuleState>
       </list>
     </option>
+    <option name="contentProportion" value="0.056010928" />
   </component>
   <component name="RunManager">
     <configuration name="HuaHengApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
@@ -133,25 +465,13 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <configuration default="true" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
-      <module name="WMSV1" />
-      <option name="SPRING_BOOT_MAIN_CLASS" value="com.huaheng.HuaHengApplication" />
-      <option name="ALTERNATIVE_JRE_PATH" />
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
   </component>
   <component name="ServiceViewManager">
     <option name="allServicesViewState">
       <serviceView>
+        <option name="contentProportion" value="0.17857143" />
         <treeState>
-          <expand>
-            <path>
-              <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
-              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@fe9f505" type="7427dc5b:ServiceModel$ServiceGroupNode" />
-            </path>
-          </expand>
+          <expand />
           <select />
         </treeState>
       </serviceView>
@@ -162,45 +482,141 @@
   </component>
   <component name="TaskManager">
     <task active="true" id="Default" summary="Default task">
-      <changelist id="29079676-ace5-434e-89a2-76a325e744a5" name="Default Changelist" comment="" />
-      <created>1565160110910</created>
+      <changelist id="1fe4ff20-6474-45ee-a361-9572a808e9c9" name="Default Changelist" comment="" />
+      <created>1566977677142</created>
       <option name="number" value="Default" />
       <option name="presentableId" value="Default" />
-      <updated>1565160110910</updated>
-      <workItem from="1565160112236" duration="11971000" />
-      <workItem from="1565224833241" duration="14642000" />
-      <workItem from="1565242153135" duration="1476000" />
-      <workItem from="1565259513116" duration="148000" />
-      <workItem from="1565311988064" duration="7176000" />
-      <workItem from="1565328536669" duration="797000" />
-      <workItem from="1567937269900" duration="1065000" />
-      <workItem from="1567939943746" duration="865000" />
-      <workItem from="1567950680620" duration="3139000" />
+      <updated>1566977677142</updated>
+      <workItem from="1566977678336" duration="306000" />
+      <workItem from="1566978429560" duration="9246000" />
+      <workItem from="1567038752582" duration="12361000" />
+      <workItem from="1567057373550" duration="15293000" />
+      <workItem from="1567125196953" duration="16752000" />
+      <workItem from="1567643852002" duration="245000" />
+      <workItem from="1567731382438" duration="17009000" />
     </task>
-    <task id="LOCAL-00001" summary="添加库位、库位类型增删改查接口">
-      <created>1565226427512</created>
+    <task id="LOCAL-00001" summary="入库单添加时添加流程标记,审核入库单">
+      <created>1566983055587</created>
       <option name="number" value="00001" />
       <option name="presentableId" value="LOCAL-00001" />
       <option name="project" value="LOCAL" />
-      <updated>1565226427512</updated>
+      <updated>1566983055587</updated>
     </task>
-    <task id="LOCAL-00002" summary="添加入库、出库表实体类&#10;添加客户、供应商增删改查接口&#10;添加库位、容器、供应商页面">
-      <created>1565256884822</created>
+    <task id="LOCAL-00002" summary="添加入库单历史">
+      <created>1566987011007</created>
       <option name="number" value="00002" />
       <option name="presentableId" value="LOCAL-00002" />
       <option name="project" value="LOCAL" />
-      <updated>1565256884822</updated>
+      <updated>1566987011007</updated>
     </task>
-    <task id="LOCAL-00003" summary="修改库区service">
-      <created>1565259481656</created>
+    <task id="LOCAL-00003" summary="修复入库历史controller冲突">
+      <created>1567039165473</created>
       <option name="number" value="00003" />
       <option name="presentableId" value="LOCAL-00003" />
       <option name="project" value="LOCAL" />
-      <updated>1565259481656</updated>
+      <updated>1567039165473</updated>
     </task>
-    <option name="localTasksCounter" value="4" />
+    <task id="LOCAL-00004" summary="添加物料类别">
+      <created>1567047135508</created>
+      <option name="number" value="00004" />
+      <option name="presentableId" value="LOCAL-00004" />
+      <option name="project" value="LOCAL" />
+      <updated>1567047135508</updated>
+    </task>
+    <task id="LOCAL-00005" summary="添加系统参数配置">
+      <created>1567065008303</created>
+      <option name="number" value="00005" />
+      <option name="presentableId" value="LOCAL-00005" />
+      <option name="project" value="LOCAL" />
+      <updated>1567065008303</updated>
+    </task>
+    <task id="LOCAL-00006" summary="删除入库单">
+      <created>1567065196899</created>
+      <option name="number" value="00006" />
+      <option name="presentableId" value="LOCAL-00006" />
+      <option name="project" value="LOCAL" />
+      <updated>1567065196899</updated>
+    </task>
+    <task id="LOCAL-00007" summary="自动生成盘点首选项表">
+      <created>1567068662565</created>
+      <option name="number" value="00007" />
+      <option name="presentableId" value="LOCAL-00007" />
+      <option name="project" value="LOCAL" />
+      <updated>1567068662565</updated>
+    </task>
+    <task id="LOCAL-00008" summary="添加逻辑删除配置">
+      <created>1567069834248</created>
+      <option name="number" value="00008" />
+      <option name="presentableId" value="LOCAL-00008" />
+      <option name="project" value="LOCAL" />
+      <updated>1567069834248</updated>
+    </task>
+    <task id="LOCAL-00009" summary="出库任务完成。新增allocationId字段">
+      <created>1567672551433</created>
+      <option name="number" value="00009" />
+      <option name="presentableId" value="LOCAL-00009" />
+      <option name="project" value="LOCAL" />
+      <updated>1567672551433</updated>
+    </task>
+    <task id="LOCAL-00010" summary="Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop&#10;&#10;# Conflicts:&#10;#&#9;.idea/workspace.xml&#10;#&#9;src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java&#10;#&#9;src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java">
+      <created>1567684393294</created>
+      <option name="number" value="00010" />
+      <option name="presentableId" value="LOCAL-00010" />
+      <option name="project" value="LOCAL" />
+      <updated>1567684393294</updated>
+    </task>
+    <task id="LOCAL-00011" summary="出库完成完善">
+      <created>1567762768238</created>
+      <option name="number" value="00011" />
+      <option name="presentableId" value="LOCAL-00011" />
+      <option name="project" value="LOCAL" />
+      <updated>1567762768238</updated>
+    </task>
+    <option name="localTasksCounter" value="12" />
     <servers />
   </component>
+  <component name="TimeTrackingManager">
+    <option name="totallyTimeSpent" value="39317000" />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
+    <layout>
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.2191689" />
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
+      <window_info id="Designer" order="2" />
+      <window_info id="Image Layers" order="3" />
+      <window_info id="Capture Tool" order="4" />
+      <window_info id="UI Designer" order="5" />
+      <window_info id="Favorites" order="6" side_tool="true" />
+      <window_info id="Web" order="7" side_tool="true" />
+      <window_info anchor="bottom" id="Message" order="0" />
+      <window_info anchor="bottom" id="Find" order="1" />
+      <window_info anchor="bottom" id="Run" order="2" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
+      <window_info anchor="bottom" id="TODO" order="6" />
+      <window_info anchor="bottom" id="Spring" order="7" />
+      <window_info anchor="bottom" id="Terminal" order="8" />
+      <window_info anchor="bottom" id="Docker" order="9" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Event Log" order="10" sideWeight="0.5013405" side_tool="true" weight="0.2719547" />
+      <window_info anchor="bottom" id="Messages" order="11" weight="0.18696883" />
+      <window_info anchor="bottom" id="Java Enterprise" order="12" />
+      <window_info anchor="bottom" id="Database Changes" order="13" weight="0.3286119" />
+      <window_info anchor="bottom" id="Version Control" order="14" weight="0.3286119" />
+      <window_info anchor="bottom" id="Run Dashboard" order="15" sideWeight="0.49865952" weight="0.30169973" />
+      <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="Maven" order="3" />
+      <window_info anchor="right" id="Palette" order="4" />
+      <window_info anchor="right" id="Capture Analysis" order="5" />
+      <window_info anchor="right" id="Database" order="6" />
+      <window_info anchor="right" id="Palette&#9;" order="7" />
+      <window_info anchor="right" id="Theme Preview" order="8" />
+      <window_info anchor="right" id="Bean Validation" order="9" />
+    </layout>
+  </component>
   <component name="TypeScriptGeneratedFilesManager">
     <option name="version" value="1" />
   </component>
@@ -210,18 +626,289 @@
         <entry key="MAIN">
           <value>
             <State>
+              <option name="RECENTLY_FILTERED_USER_GROUPS">
+                <collection />
+              </option>
+              <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
+                <collection />
+              </option>
               <option name="COLUMN_ORDER" />
             </State>
           </value>
         </entry>
       </map>
     </option>
+    <option name="RECENT_FILTERS">
+      <map>
+        <entry key="Branch">
+          <value>
+            <list />
+          </value>
+        </entry>
+        <entry key="User">
+          <value>
+            <list />
+          </value>
+        </entry>
+      </map>
+    </option>
   </component>
   <component name="VcsManagerConfiguration">
-    <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
-    <MESSAGE value="添加库位、库位类型增删改查接口" />
-    <MESSAGE value="添加入库、出库表实体类&#10;添加客户、供应商增删改查接口&#10;添加库位、容器、供应商页面" />
-    <MESSAGE value="修改库区service" />
-    <option name="LAST_COMMIT_MESSAGE" value="修改库区service" />
+    <MESSAGE value="盘点明细页面" />
+    <MESSAGE value="入库单添加时添加流程标记,审核入库单" />
+    <MESSAGE value="添加入库单历史" />
+    <MESSAGE value="修复入库历史controller冲突" />
+    <MESSAGE value="添加物料类别" />
+    <MESSAGE value="添加系统参数配置" />
+    <MESSAGE value="删除入库单" />
+    <MESSAGE value="自动生成盘点首选项表" />
+    <MESSAGE value="添加逻辑删除配置" />
+    <MESSAGE value="库存和任务移库相关" />
+    <MESSAGE value="库存移库生成和完成逻辑" />
+    <MESSAGE value="xml" />
+    <MESSAGE value="出库任务完成。新增allocationId字段" />
+    <MESSAGE value="Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop&#10;&#10;# Conflicts:&#10;#&#9;.idea/workspace.xml&#10;#&#9;src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java&#10;#&#9;src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java" />
+    <MESSAGE value="出库完成完善" />
+    <option name="LAST_COMMIT_MESSAGE" value="出库完成完善" />
+  </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager>
+      <breakpoints>
+        <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/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>48</line>
+          <properties />
+          <option name="timeStamp" value="37" />
+        </line-breakpoint>
+      </breakpoints>
+    </breakpoint-manager>
+    <watches-manager>
+      <configuration name="SpringBootApplicationConfigurationType">
+        <watch expression="DataUtils.getInteger(map.get(&quot;receiptId&quot;))" language="JAVA" />
+      </configuration>
+    </watches-manager>
+  </component>
+  <component name="debuggerHistoryManager">
+    <expressions id="watch">
+      <expression>
+        <expression-string>DataUtils.getInteger(map.get(&quot;receiptId&quot;))</expression-string>
+        <language-id>JAVA</language-id>
+        <evaluation-mode>EXPRESSION</evaluation-mode>
+      </expression>
+    </expressions>
+  </component>
+  <component name="editorHistoryManager">
+    <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="149">
+          <caret line="53" column="12" selection-start-line="53" selection-start-column="12" selection-end-line="53" selection-end-column="12" />
+        </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="146">
+          <caret line="45" column="31" selection-start-line="45" selection-start-column="16" selection-end-line="45" selection-end-column="31" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/task/task/task.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1444">
+          <caret line="76" column="89" selection-start-line="76" selection-start-column="70" selection-end-line="76" selection-end-column="89" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pom.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="532">
+          <caret line="28" column="8" selection-start-line="28" selection-start-column="8" selection-end-line="28" selection-end-column="51" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="209">
+          <caret line="13" column="9" selection-start-line="13" selection-start-column="9" selection-end-line="13" selection-end-column="9" />
+        </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="114">
+          <caret line="11" column="30" selection-start-line="11" selection-start-column="30" selection-end-line="11" selection-end-column="30" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="323">
+          <caret line="136" column="42" selection-start-line="136" selection-start-column="42" selection-end-line="136" selection-end-column="42" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/config/ContainerMapper.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="490">
+          <caret line="50" column="4" selection-start-line="50" selection-start-column="4" selection-end-line="50" selection-end-column="4" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="171">
+          <caret line="14" column="9" selection-start-line="14" selection-start-column="9" selection-end-line="14" selection-end-column="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="471">
+          <caret line="127" column="47" lean-forward="true" selection-start-line="127" selection-start-column="47" selection-end-line="127" selection-end-column="47" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="228">
+          <caret line="17" column="9" selection-start-line="17" selection-start-column="9" selection-end-line="17" selection-end-column="9" />
+        </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="226">
+          <caret line="65" column="19" selection-start-line="65" selection-start-column="19" selection-end-line="65" selection-end-column="19" />
+        </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="1710">
+          <caret line="117" column="45" selection-start-line="117" selection-start-column="45" selection-end-line="117" selection-end-column="45" />
+        </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="209">
+          <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/shipment/shipmentHeader/service/ShipmentHeaderService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="266">
+          <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/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1596">
+          <caret line="112" column="26" selection-start-line="112" selection-start-column="16" selection-end-line="112" selection-end-column="26" />
+        </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="1653">
+          <caret line="95" column="19" selection-start-line="95" selection-start-column="12" selection-end-line="95" selection-end-column="19" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/task/taskHeader/taskHeader.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="4484">
+          <caret line="236" column="64" selection-start-line="236" selection-start-column="64" selection-end-line="236" selection-end-column="64" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="226">
+          <caret line="347" column="1" selection-start-line="347" selection-start-column="1" selection-end-line="347" selection-end-column="1" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="226">
+          <caret line="92" column="23" selection-start-line="92" selection-start-column="23" selection-end-line="92" selection-end-column="23" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://G:/网星联创/千金电玩城后台管理/ticketManager/src/com/ticket/server/back/player/entity/PlayerInfo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="171">
+          <caret line="18" column="34" selection-start-line="18" selection-start-column="25" selection-end-line="18" selection-end-column="34" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/domain/ReceiptContainerHeader.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="19">
+          <caret line="193" column="37" lean-forward="true" selection-start-line="193" selection-start-column="37" selection-end-line="193" selection-end-column="37" />
+          <folding>
+            <element signature="e#14321#14322#0" expanded="true" />
+            <element signature="e#14357#14358#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="226">
+          <caret line="77" column="19" selection-start-line="77" selection-start-column="12" selection-end-line="77" selection-end-column="19" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-157">
+          <caret line="173" column="28" selection-start-line="173" selection-start-column="10" selection-end-line="173" selection-end-column="28" />
+        </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="140">
+          <caret line="500" lean-forward="true" selection-start-line="500" selection-end-line="500" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
   </component>
 </project>
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java b/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java
index 03b6f80..e705de3 100644
--- a/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java
+++ b/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java
@@ -18,6 +18,7 @@ import com.huaheng.pc.check.checkDetail.domain.CheckDetail;
 import com.huaheng.pc.check.checkDetail.service.CheckDetailService;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import io.swagger.models.auth.In;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -40,7 +41,7 @@ public class CheckDetailController extends BaseController {
     private String prefix = "check/checkDetail";
 
     @RequiresPermissions("check:checkDetail:view")
-    @GetMapping("{id}")
+    @GetMapping("/{id}")
     public String checkingRegister(@PathVariable("id")Integer id, ModelMap modelMap) {
         modelMap.put("id",id);
         return prefix + "/checkDetail";
@@ -50,16 +51,16 @@ public class CheckDetailController extends BaseController {
      * 查询质检详情
      */
     @ApiOperation(value="查看质检详情", notes="根据详情表id获取质检详情", httpMethod = "POST")
-    @RequiresPermissions("che:receiptDetail:list")
+    @RequiresPermissions("check:checkDetail:list")
     @Log(title = "质检-质检详情", operating = "查看质检详情", action = BusinessType.GRANT)
-    @PostMapping("/list/{id}")
+    @PostMapping("/list")
     @ResponseBody
-    public TableDataInfo list(@ApiParam(name="receiptDetail",value="入库详情") @PathVariable("id")Integer checkDetailId) {
+    public TableDataInfo list(@ApiParam(name="receiptDetail",value="入库详情")Integer checkHeaderId) {
         LambdaQueryWrapper<CheckDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
         PageDomain pageDomain = TableSupport.buildPageRequest();
         Integer pageNum = pageDomain.getPageNum();
         Integer pageSize = pageDomain.getPageSize();
-        lambdaQueryWrapper.eq(CheckDetail::getCheckHeaderId, checkDetailId);
+        lambdaQueryWrapper.eq(CheckDetail::getCheckHeaderId, checkHeaderId);
 
         if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
             /*使用分页查询*/
@@ -127,4 +128,29 @@ public class CheckDetailController extends BaseController {
         List<Integer> idList = Arrays.asList(Convert.toIntArray(ids));
         return toAjax(checkDetailService.removeByIds(idList));
     }
+
+    /**
+     * 完成质检
+     */
+    @GetMapping("complete/{id}")
+    public String complete(@PathVariable("id") Integer id, ModelMap mmap) {
+        mmap.put("checkDetailId", id);
+        return prefix + "/checkComplete";
+    }
+
+    /**
+     * 保存质检完成
+     * @param inventorySts 库存状态
+     * @param qty 数量
+     * @return AjaxResult
+     */
+    @ApiOperation(value="完成质检详情", notes="完成质检详情", httpMethod = "POST")
+    @RequiresPermissions("check:checkDetail:complete")
+    @Log(title = "质检-质检详情 ",operating = "质检详情删除", action = BusinessType.DELETE)
+    @PostMapping("/complete")
+    public AjaxResult complete(@ApiParam(name="质检明细id",value="id")Integer id,
+                               @ApiParam(name="库存状态",value="inventorySts",example="good,bad")String inventorySts,
+                               @ApiParam(name = "数量",value = "qty",example = "10,20") String qty) {
+        return checkDetailService.complete(id, inventorySts, qty);
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java b/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java
index 3a08afa..b525227 100644
--- a/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java
+++ b/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java
@@ -1,12 +1,102 @@
 package com.huaheng.pc.check.checkDetail.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.support.Convert;
+import com.huaheng.common.utils.security.ShiroUtils;
+import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.pc.check.checkHeader.domain.CheckHeader;
+import com.huaheng.pc.check.checkHeader.service.CheckHeaderService;
+import com.huaheng.pc.check.checkingRegister.domain.CheckingRegister;
+import com.huaheng.pc.check.checkingRegister.service.CheckingRegisterService;
+import org.aspectj.weaver.loadtime.Aj;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.pc.check.checkDetail.mapper.CheckDetailMapper;
 import com.huaheng.pc.check.checkDetail.domain.CheckDetail;
+import org.springframework.transaction.annotation.Transactional;
+
 @Service
 public class CheckDetailService extends ServiceImpl<CheckDetailMapper, CheckDetail> {
 
+    @Resource
+    private CheckingRegisterService checkingRegisterService;
+    @Resource
+    private CheckHeaderService checkHeaderService;
+
+    /**
+     * 质检完成
+     * @param id 质检明细id
+     * @param inventorySts 库存状态 good,
+     * @param qty 数量 10,20
+     * @return AjaxResult
+     */
+    @Transactional
+    public AjaxResult complete(Integer id, String inventorySts, String qty){
+
+        //将库存状态、数量字符串转为List
+        List<String> inventoryStsList = Arrays.asList(Convert.toStrArray(inventorySts));
+        List<Integer> qtyList = Arrays.asList(Convert.toIntArray(qty));
+        CheckDetail checkDetail = this.getById(id);
+
+        //
+        int sum = 0;
+        for (Integer quantity : qtyList) {
+            sum += quantity;
+        }
+        if (checkDetail.getQty() == sum) {
+            AjaxResult.error("质检登记数量和质检明细系统数量核对错误");
+        }
+        checkDetail.setStatus("20");
+        if ( !this.updateById(checkDetail)){
+            throw new ServiceException("更新质检明细表错误");
+        }
+        CheckingRegister checkingRegister = new CheckingRegister();
+        checkingRegister.setCheckDetailId(checkDetail.getId());
+        checkingRegister.setCheckHeaderId(checkDetail.getCheckHeaderId());
+        checkingRegister.setWarehouseCode(ShiroUtils.getWarehouseCode());
+        checkingRegister.setCheckCode(checkDetail.getCheckCode());
+        checkingRegister.setReceiptDetailId(checkDetail.getReceiptDetailId());
+        checkingRegister.setReceiptCode(checkDetail.getReceiptCode());
+        checkingRegister.setReferCode(checkDetail.getReferCode());
+        checkingRegister.setReferLineId(checkDetail.getReferLineId());
+        checkingRegister.setReferPlatform(checkDetail.getReferPlatform());
+        checkingRegister.setMaterialCode(checkDetail.getMaterialCode());
+        checkingRegister.setMaterialName(checkDetail.getMaterialName());
+        checkingRegister.setMaterialSpec(checkDetail.getMaterialSpec());
+        checkingRegister.setMaterialUnit(checkDetail.getMaterialUnit());
+        checkingRegister.setCompanyCode(checkDetail.getCompanyCode());
+        checkingRegister.setCheckBy(ShiroUtils.getLoginName());
+        checkingRegister.setCheckAt(new Date());
+        checkingRegister.setCreatedBy(ShiroUtils.getLoginName());
+        checkingRegister.setLastUpdatedBy(ShiroUtils.getLoginName());
+
+        for (int i = 0; i<inventoryStsList.size(); i++){
+            checkingRegister.setInventorySts(inventoryStsList.get(i));
+            checkingRegister.setQty(qtyList.get(0));
+            if ( !checkingRegisterService.save(checkingRegister)){
+                throw new ServiceException("生成质检报告失败");
+            }
+        }
+
+        LambdaQueryWrapper<CheckDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        lambdaQueryWrapper.eq(CheckDetail::getCheckHeaderId, checkDetail.getCheckHeaderId())
+                        .ne(CheckDetail::getStatus, 20);
+        List<CheckDetail> checkDetails = this.list(lambdaQueryWrapper);
+
+        //如果改质检单的全部明细都完成质检则更新质检头表状态
+        if (checkDetails == null){
+            CheckHeader checkHeader = new CheckHeader();
+            checkHeader.setId(checkDetail.getCheckHeaderId());
+            checkHeader.setStatus("20");
+            checkHeaderService.updateById(checkHeader);
+        }
+        return AjaxResult.success("质检完成");
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/check/checkHeader/controller/CheckHeaderController.java b/src/main/java/com/huaheng/pc/check/checkHeader/controller/CheckHeaderController.java
index 46cc79e..322e389 100644
--- a/src/main/java/com/huaheng/pc/check/checkHeader/controller/CheckHeaderController.java
+++ b/src/main/java/com/huaheng/pc/check/checkHeader/controller/CheckHeaderController.java
@@ -43,9 +43,9 @@ public class CheckHeaderController extends BaseController {
     private String prefix = "check/checkHeader";
 
     @RequiresPermissions("check:checkHeader:view")
-    @GetMapping()
-    public String checkingRegister()
-    {
+    @GetMapping("{type}")
+    public String checkingRegister(@PathVariable("type")String type, ModelMap modelMap) {
+        modelMap.put("type", type);
         return prefix + "/checkHeader";
     }
 
@@ -70,7 +70,7 @@ public class CheckHeaderController extends BaseController {
                 .eq(StringUtils.isNotNull(checkHeader.getCode()), CheckHeader::getCode, checkHeader.getCode())
                 .eq(StringUtils.isNotEmpty(checkHeader.getReferCode()), CheckHeader::getReferCode, checkHeader.getReferCode())
                 .eq(StringUtils.isNotEmpty(checkHeader.getStatus()), CheckHeader::getStatus, checkHeader.getStatus())
-                .eq(StringUtils.isNotEmpty(checkHeader.getType()), CheckHeader::getType, checkHeader.getType());
+                .in(StringUtils.isNotEmpty(checkHeader.getType()), CheckHeader::getType, checkHeader.getType());
 
         if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
             // 使用分页查询
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/domain/ReceiptContainerHeader.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/domain/ReceiptContainerHeader.java
index f6bdc1d..eaa2e5b 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/domain/ReceiptContainerHeader.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/domain/ReceiptContainerHeader.java
@@ -269,8 +269,8 @@ public class ReceiptContainerHeader implements Serializable {
      *
      * @return id - ID
      */
-    public Integer getId() {
-        return id;
+    public  Integer getId() {
+        return this.id;
     }
 
     /**
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
index 8abf70e..0994951 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
@@ -29,8 +29,6 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
     @Resource
     private ReceiptTypeService receiptTypeService;
     @Resource
-    private StatusFlowDetailService statusFlowDetailService;
-    @Resource
     private ReceiptDetailService receiptDetailService;
 
     public AjaxResult saveReceiptHeader(ReceiptHeader receiptHeader){
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 ea9ae4e..fa04ccf 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
@@ -119,5 +119,21 @@ public class TaskHeaderController extends BaseController {
     }
 
 
+    /**
+     * 删除立库任务
+     */
+    @RequiresPermissions("task:taskHeader:remove")
+    @Log(title = "任务-任务管理", operating = "删除立库任务", action = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids)
+    {
+        if (StringUtils.isEmpty(ids))
+            return AjaxResult.error("taskId不能为空");
+        AjaxResult ajaxResult = taskHeaderService.cancelTask(Convert.toIntArray(ids));
+        return ajaxResult;
+    }
+
+
 
 }
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 efd5185..298fc69 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
@@ -35,5 +35,7 @@ public interface TaskHeaderService extends IService<TaskHeader>{
 
     Integer UncompleteCount(String containerCode);
 
+    AjaxResult cancelTask(Integer[] taskIds) ;
+
 
 }
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 9d34fcd..d6d6b4c 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
@@ -12,6 +12,7 @@ import com.huaheng.pc.config.container.domain.Container;
 import com.huaheng.pc.config.container.service.ContainerService;
 import com.huaheng.pc.config.location.domain.Location;
 import com.huaheng.pc.config.location.service.LocationService;
+import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
 import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
@@ -88,7 +89,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     private ShipmentDetailService shipmentDetailService;
 
 
-
     @Resource
     private ReceiptContainerHeaderService receiptContainerHeaderService;
     @Resource
@@ -96,9 +96,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
 
 
-
-
-
     /**
      * 查询容器有无任务
      */
@@ -107,6 +104,64 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         return taskHeaderMapper.UncompleteCount(ContainerCode, ShiroUtils.getWarehouseCode());
     }
 
+
+    /**
+     * 取消任务
+     * */
+
+    @Override
+    public AjaxResult cancelTask(Integer[] taskIds) {
+        for(int taskId : taskIds){
+            TaskHeader taskHeader = taskHeaderService.getById(taskId);
+            if(taskHeader==null){
+                return AjaxResult.error("任务"+taskId+"未找到,操作中止");
+            }
+            if(taskHeader.getStatus() > 9){
+                return AjaxResult.error("存在任务"+taskHeader.getId()+"已下发或执行,操作中止");
+            }
+            //删除子任务
+            LambdaQueryWrapper<TaskDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
+            lambdaQueryWrapper.eq(TaskDetail::getTaskId,taskHeader.getId());
+            taskDetailService.remove(lambdaQueryWrapper);
+            //删除主任务
+            taskHeaderService.removeById(taskHeader.getId());
+            // 更改库位状态(整盘入库任务除外)
+            if(taskHeader.getInternalTaskType() == 100 )
+            {
+                ReceiptContainerHeader record =new ReceiptContainerHeader();
+                record.setStatus((short)0);
+                record.setId(taskHeader.getAllocationHeadId());
+                receiptContainerHeaderService.updateById(record);
+            }
+            //根据任务类型来更新货箱状态
+            //修改关联的货箱状态
+            if(taskHeader.getInternalTaskType() == 200)  {
+                ShipmentContainerHeader shipmentContainerHeader = new ShipmentContainerHeader();
+                shipmentContainerHeader.setId(taskHeader.getAllocationHeadId());
+                shipmentContainerHeader.setStatus(0);
+                shipmentContainerHeaderService.updateById(shipmentContainerHeader);
+            }
+//            if(taskHeader.getInternalTaskType() == 700)   {
+//                CycleCountHeader cycleCountHeader = new CycleCountHeader();
+//                cycleCountHeader.setId(task.getAllocationHeadId());
+//                cycleCountHeader.setLastUpdated(new Date());
+//                cycleCountHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
+//                cyclecountDetailService.updateByModel(cyclecountDetail);
+//            }
+            if(taskHeader.getInternalTaskType()==100||taskHeader.getInternalTaskType()==200){
+                if(taskHeader.getToLocation()!=null){
+                    //更新托盘、库位状态
+                    locationService.updateStatus(taskHeader.getToLocation(), "empty");
+                }
+            }
+//            if(task.getType()==900){
+//                //出库查看任务没有关联的货箱,不做处理
+//            }
+        }
+
+        return AjaxResult.success("取消任务成功!");
+    }
+
     /**
      * 生成出库任务
      *
@@ -215,7 +270,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         ShipmentContainerHeader record = new ShipmentContainerHeader();
         record.setId(shipmentContainerHeaderId);
         record.setStatus(10);
-        record.setStatus(task.getTaskType());//实际出库类型
         shipmentContainerHeaderService.saveOrUpdate(record);
         return AjaxResult.success(task.getId());
 
@@ -238,39 +292,64 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 return AjaxResult.error("任务" + taskId + "已经下发,请不要重复下发,操作中止");
             }
             //修改任务头表
+            task.setId(taskId);
             task.setStatus(10);
             task.setStartPickDateTime(new Date());   //生成时间
             task.setLastUpdated(new Date());
             task.setLastUpdatedBy(ShiroUtils.getLoginName());
-            LambdaUpdateWrapper<TaskHeader> HeaderUpdateWrapper = Wrappers.lambdaUpdate();
-            HeaderUpdateWrapper.eq(TaskHeader::getId, taskId);
-            if (!taskHeaderService.update(task, HeaderUpdateWrapper))
-                throw new ServiceException("更新任务头失败");
+            taskHeaderService.saveOrUpdate(task);
             //修改任务明细状态
             TaskDetail record = new TaskDetail();
             record.setStatus(10);
             record.setLastUpdated(new Date());
             record.setLastUpdatedBy(ShiroUtils.getLoginName());
+            record.setProcessStamp("100");
+            taskDetailService.updateById(record);
             LambdaUpdateWrapper<TaskDetail> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
             lambdaUpdateWrapper.eq(TaskDetail::getTaskId, task.getId());
             if (!taskDetailService.update(record, lambdaUpdateWrapper)){
                 throw new ServiceException("更新任务明细失败");
             }
-            //修改入库明细
-            ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(record.getId()));
-            if (!receiptDetailService.updateById(receiptDetail)){
-                throw new ServiceException("更新状态失败");
-            }
-            receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
-            //修改组盘表状态为20
-            ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail();
-            receiptContainerDetail.setStatus(20);
-            receiptContainerDetail.setLastUpdated(new Date());
-            receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
-            LambdaUpdateWrapper<ReceiptContainerDetail> receiptContainerDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate();
-            receiptContainerDetailLambdaUpdateWrapper.eq(ReceiptContainerDetail::getReceiptId,receiptDetail.getReceiptId());
-            if (! receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper))
-                throw new ServiceException("更新组盘状态失败");
+//            //修改入库明细
+//            if (task.getInternalTaskType()==100){
+//                ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(record.getId()));
+//                if (!receiptDetailService.updateById(receiptDetail)){
+//                    throw new ServiceException("更新状态失败");
+//                }
+//                receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
+//
+//                //修改组盘表状态为20
+//                ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail();
+//                receiptContainerDetail.setStatus(20);
+//                receiptContainerDetail.setLastUpdated(new Date());
+//                receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
+//                LambdaUpdateWrapper<ReceiptContainerDetail> receiptContainerDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+//                receiptContainerDetailLambdaUpdateWrapper.eq(ReceiptContainerDetail::getReceiptId,receiptDetail.getReceiptId());
+//                if (! receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper))
+//                    throw new ServiceException("更新组盘状态失败");
+//            }
+//
+//            //修改出库单状态
+//            if (task.getInternalTaskType()==200){
+//                LambdaQueryWrapper<TaskDetail> taskDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
+//                taskDetailLambdaQueryWrapper.eq(TaskDetail::getTaskId,task.getId());
+//               List<TaskDetail> taskDetailList = taskDetailService.list(taskDetailLambdaQueryWrapper);
+//
+//                for (TaskDetail taskDeatails: taskDetailList) {
+//                    LambdaQueryWrapper<ShipmentDetail> shipmentDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
+//                    shipmentDetailLambdaQueryWrapper.eq(ShipmentDetail::getId,taskDeatails.getBillDetailId());
+//
+//                    ShipmentHeader shipmentHeader =new ShipmentHeader();
+//                    shipmentHeader.setId(shipmentDetailService.getOne(shipmentDetailLambdaQueryWrapper).getShipmentId());
+//                    shipmentHeader.setFirstStatus(100);
+//                    shipmentHeader.setLastStatus(100);
+//                    shipmentHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
+//                    shipmentHeader.setLastUpdated(new Date());
+//                    shipmentHeaderService.updateById(shipmentHeader);
+//                }
+//            }
+
+
         }
         return AjaxResult.success("下发任务成功", task);
     }
@@ -491,12 +570,37 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 receiptContainerDetailLambdaUpdateWrapper.eq(ReceiptContainerDetail::getReceiptId, DataUtils.getInteger(map.get("receiptId")));
                 if (! receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper))
                     throw new ServiceException("更新组盘状态失败");
-                //修改入库明细
-                ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(DataUtils.getInteger(map.get("receiptDetailId"))));
-                if (!receiptDetailService.updateById(receiptDetail)){
-                    throw new ServiceException("更新状态失败");
+
+                if (task.getInternalTaskType()==100){
+                    //修改入库明细
+                    ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(DataUtils.getInteger(map.get("receiptDetailId"))));
+                    if (!receiptDetailService.updateById(receiptDetail)){
+                        throw new ServiceException("更新状态失败");
+                    }
+                    receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
+                }
+
+                //修改出库单明细
+                if (task.getInternalTaskType()==200){
+                    LambdaQueryWrapper<TaskDetail> taskDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
+                    taskDetailLambdaQueryWrapper.eq(TaskDetail::getTaskId,task.getId());
+                    List<TaskDetail> taskDetailList = taskDetailService.list(taskDetailLambdaQueryWrapper);
+
+                for (TaskDetail taskDeatails: taskDetailList) {
+                    LambdaQueryWrapper<ShipmentDetail> shipmentDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
+                    shipmentDetailLambdaQueryWrapper.eq(ShipmentDetail::getId,taskDeatails.getBillDetailId());
+
+                    ShipmentHeader shipmentHeader =new ShipmentHeader();
+                    shipmentHeader.setId(shipmentDetailService.getOne(shipmentDetailLambdaQueryWrapper).getShipmentId());
+                    shipmentHeader.setFirstStatus(100);
+                    shipmentHeader.setLastStatus(100);
+                    shipmentHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
+                    shipmentHeader.setLastUpdated(new Date());
+                    shipmentHeaderService.updateById(shipmentHeader);
+                }
                 }
-                receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
+
+
             }
 
         }
diff --git a/src/main/resources/templates/check/checkDetail/checkComplete.html b/src/main/resources/templates/check/checkDetail/checkComplete.html
index ae98d4c..32e50f2 100644
--- a/src/main/resources/templates/check/checkDetail/checkComplete.html
+++ b/src/main/resources/templates/check/checkDetail/checkComplete.html
@@ -4,47 +4,50 @@
 <head th:include="include :: header"></head>
 <body class="white-bg">
 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
-    <form class="form-horizontal m" id="form-receiptContainerDetail-add">
+    <form class="form-horizontal m" id="form-checkComplete-add">
         <div class="form-group">
-            <label class="col-sm-3 control-label">组盘头id号:</label>
+            <label class="col-sm-3 control-label">库存状态:</label>
             <div class="col-sm-8">
-                <input id="headerId" name="headerId" class="form-control" type="text">
+                <select class="form-control" id="inventorySts0" name="inventorySts0" th:with="statusList=${@dict.getType('inventoryStatus')}">
+                    <option value="">请选择</option>
+                    <option th:each="status : ${statusList}" th:text="${status['dictLabel']}" th:value="${status['dictValue']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
-            <label class="col-sm-3 control-label">入库单明细id号:</label>
+            <label class="col-sm-3 control-label">数量:</label>
             <div class="col-sm-8">
-                <input id="receiptDetailId" name="receiptDetailId" class="form-control" type="text">
+                <input name="qty0" class="form-control" type="text">
             </div>
         </div>
         <div class="form-group">
-            <label class="col-sm-3 control-label">:</label>
+            <label class="col-sm-3 control-label">库存状态:</label>
             <div class="col-sm-8">
-                <input id="materialCode" name="materialCode" class="form-control" type="text">
+                <select class="form-control" id="inventorySts1" name="inventorySts1" th:with="statusList=${@dict.getType('inventoryStatus')}">
+                    <option value="">请选择</option>
+                    <option th:each="status : ${statusList}" th:text="${status['dictLabel']}" th:value="${status['dictValue']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
-            <label class="col-sm-3 control-label">:</label>
+            <label class="col-sm-3 control-label">数量:</label>
             <div class="col-sm-8">
-                <input id="materialName" name="materialName" class="form-control" type="text">
+                <input name="qty1" class="form-control" type="text">
             </div>
         </div>
         <div class="form-group">
-            <label class="col-sm-3 control-label">组盘数量:</label>
+            <label class="col-sm-3 control-label">库存状态:</label>
             <div class="col-sm-8">
-                <input id="qty" name="qty" class="form-control" type="text">
+                <select class="form-control" id="inventorySts2" name="inventorySts2" th:with="statusList=${@dict.getType('inventoryStatus')}">
+                    <option value="">请选择</option>
+                    <option th:each="status : ${statusList}" th:text="${status['dictLabel']}" th:value="${status['dictValue']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
-            <label class="col-sm-3 control-label">创建时间:</label>
+            <label class="col-sm-3 control-label">数量:</label>
             <div class="col-sm-8">
-                <input id="created" name="created" class="form-control" type="text">
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">创建用户:</label>
-            <div class="col-sm-8">
-                <input id="createdBy" name="createdBy" class="form-control" type="text">
+                <input name="qty2" class="form-control" type="text">
             </div>
         </div>
         <div class="form-group">
@@ -57,15 +60,29 @@
 </div>
 <div th:include="include::footer"></div>
 <script type="text/javascript">
-    var prefix = ctx + "receipt/receiptContainerDetail"
-    $("#form-receiptContainerDetail-add").validate({
-        rules:{
-            xxxx:{
-                required:true,
-            },
-        },
-        submitHandler: function(form) {
-            $.operate.save(prefix + "/add", $('#form-receiptContainerDetail-add').serialize());
+    var prefix = ctx + "check/checkDetail";
+    $("#form-checkComplete-add").validate({
+        submitHandler: function() {
+            var tableValue;
+            var inventorySts;
+            var qty;
+            if ( $("#inventorySts0 option:selected").val() == ""){
+                inventorySts = $("#inventorySts0 option:selected").val()
+            }
+            if ( $("#inventorySts1 option:selected").val() == ""){
+                inventorySts = ","+$("#inventorySts1 option:selected").val()
+            }
+            if ( $("#inventorySts2 option:selected").val() == ""){
+                inventorySts = ","+$("#inventorySts2 option:selected").val()
+            }
+                if ( $("input[name='qty"+i+"']").val() == ""){
+                    qty = $("input[name='qty"+i+"']").val()+","
+                }
+
+            tableValue = formValueReplace(tableValue, "id", [[${checkDetailId}]]);
+            tableValue = formValueReplace(tableValue, "inventorySts", inventorySts);
+            tableValue = formValueReplace(tableValue, "qty", qty);
+            $.operate.save(prefix + "/complete", $('#form-checkComplete-add').serialize());
         }
     });
 </script>
diff --git a/src/main/resources/templates/check/checkDetail/checkDetail.html b/src/main/resources/templates/check/checkDetail/checkDetail.html
index 8706efa..e996624 100644
--- a/src/main/resources/templates/check/checkDetail/checkDetail.html
+++ b/src/main/resources/templates/check/checkDetail/checkDetail.html
@@ -6,7 +6,6 @@
 <div class="container-div">
     <div class="row">
         <div class="btn-group hidden-xs" id="toolbar" role="group">
-            <input type="hidden" id="headerId" name="receiptId" th:value="${headerId}"/>
             <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="receipt:receiptContainer:add">-->
             <!--<i class="fa fa-plus"></i> 新增-->
             <!--</a>-->
@@ -22,9 +21,11 @@
 </div>
 <div th:include="include :: footer"></div>
 <script th:inline="javascript">
-    // var editFlag = [[${@permission.hasPermi('receipt:receiptContainer:edit')}]];
+    var editFlag = [[${@permission.hasPermi('check:checkDetail:edit')}]];
     var removeFlag = [[${@permission.hasPermi('check:checkDetail:remove')}]];
+    var checkDetailStatus = [[${@dict.getType('checkDetailStatus')}]];
     var prefix = ctx + "check/checkDetail";
+    var inventorySts = [[${@dict.getType('inventoryStatus')}]];
 
     $(function() {
         var options = {
@@ -79,7 +80,7 @@
                 },
                 {
                     field : 'referCode',
-                    title : '关联单号"'
+                    title : '关联单号'
                 },
                 {
                     field : 'referLineId',
@@ -111,11 +112,19 @@
                 },
                 {
                     field : 'inventorySts',
-                    title : '库存状态'
+                    title : '库存状态',
+                    align: 'center',
+                    formatter: function (value, row, index) {
+                        return $.table.selectDictLabel(inventorySts, value);
+                    }
                 },
                 {
                     field : 'status',
-                    title : '状态'
+                    title : '状态',
+                    align: 'center',
+                    formatter: function (value, row, index) {
+                        return $.table.selectDictLabel(checkDetailStatus, value);
+                    }
                 },
                 {
                     field : 'qty',
@@ -143,10 +152,8 @@
                     formatter: function(value, row, index) {
                         var actions = [];
                         actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
-                        if (row.status == 0){
-                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>开始质检</a> ');
-                        } else if (row.status == 10) {
-                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>质检完成</a> ');
+                        if (row.status == 10) {
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-edit"></i>质检完成</a> ');
                         }
                         actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
                         return actions.join('');
@@ -156,9 +163,15 @@
         $.table.init(options);
     });
 
+
+    function complete(id) {
+        var url = prefix+"/complete/"+id;
+        $.modal.open("完成质检", url);
+    }
+
     function queryParams(params) {
         return {
-            headerId:$("#receiptContainerId").val()
+            checkHeaderId : [[${id}]]
         };
     }
 </script>
diff --git a/src/main/resources/templates/check/checkHeader/checkHeader.html b/src/main/resources/templates/check/checkHeader/checkHeader.html
index 50e3422..10e3de2 100644
--- a/src/main/resources/templates/check/checkHeader/checkHeader.html
+++ b/src/main/resources/templates/check/checkHeader/checkHeader.html
@@ -70,10 +70,11 @@
     var editFlag = [[${@permission.hasPermi('check:checkHeader:edit')}]];
     var removeFlag = [[${@permission.hasPermi('check:checkHeader:remove')}]];
     var receiptTypes = [[${@receiptTypeService.getType()}]];
-    var receiptHeaderStatus = [[${@dict.getType('receiptHeaderStatus')}]];
+    var checkHeaderStatus = [[${@dict.getType('checkHeaderStatus')}]];
     var printFlag = [[${@permission.hasPermi('check:checkHeader:report')}]];
     var addFlag= [[${@permission.hasPermi('check:checkHeader:add')}]];
     var datas = [[${@dict.getType('sys_normal_disable')}]];
+    var type = [[${@dict.getType('checkType')}]];
 
     $(function() {
         var options = {
@@ -85,6 +86,7 @@
             search: false,
             sortName: "id",
             sortOrder: "desc",
+            queryParams: queryParams,
             columns: [{
                 checkbox: true
             },
@@ -97,6 +99,14 @@
                     title : '编码'
                 },
                 {
+                    field : 'type',
+                    title : '质检类型',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(type, value);
+                    }
+                },
+                {
                     field : 'referCode',
                     title : '关联单号'
                 },
@@ -115,7 +125,10 @@
                 {
                     field : 'status',
                     title : '状态',
-                    visible:false
+                    align: 'center',
+                    formatter: function (value, row, index) {
+                        return $.table.selectDictLabel(checkHeaderStatus, value);
+                    }
                 },
                 {
                     field : 'closedBy',
@@ -167,6 +180,9 @@
                     align: 'center',
                     formatter: function(value, row, index) {
                         var actions = [];
+                        if (row.status == 0){
+                            actions.push('<a id="table_edit" class="btn btn-success btn-xs ' + printFlag + '" href="#" onclick="verify(\'' + row.id + '\')"><i class="fa fa-print"></i>审核</a> ');
+                        }
                         actions.push('<a id="table_edit" class="btn btn-success btn-xs ' + printFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-print"></i>完成</a> ');
                         actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>编辑</a> ');
                         // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
@@ -178,7 +194,7 @@
     });
 
     function detail(id, code) {
-        var url = prefix1+"/list/" + id;
+        var url = prefix1+"/" + id;
         createtable(url);
     }
 
@@ -193,9 +209,15 @@
         $("#tabDetail").addClass("in active");
     }
 
-    function complete(id) {
+    function verify(id) {
 
     }
+
+    function queryParams(params) {
+        return {
+            type:[[${type}]]
+        };
+    }
 </script>
 </body>
 </html>
\ No newline at end of file