diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index d5d99b3..c0560c6 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -3,16 +3,14 @@
   <component name="ChangeListManager">
     <list default="true" id="baeae966-16bb-4f97-a411-22fe5a65cefd" name="Default Changelist" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/FilterConfigDetail/service/FilterConfigDetailService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/FilterConfigDetail/service/FilterConfigDetailService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.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/resources/templates/check/checkDetail/checkDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/check/checkDetail/checkDetail.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/add.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/filterConfigHeader/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/filterConfigHeader/add.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/add.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/add.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/report.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiving/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiving/add.html" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -31,59 +29,7 @@
     <option name="HIDDEN_KINDS">
       <set />
     </option>
-    <expand>
-      <path>
-        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
-        <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" />
-      </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" />
-      </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" />
-      </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_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>
-      <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" />
-      </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="check_detail: table" type="285a2a93:MysqlImplModel$Table" />
-      </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="check_header: table" type="285a2a93:MysqlImplModel$Table" />
-      </path>
-    </expand>
+    <expand />
     <select />
   </component>
   <component name="FileTemplateManagerImpl">
@@ -104,6 +50,7 @@
     <OptionsSetting value="false" id="Update" />
   </component>
   <component name="PropertiesComponent">
+    <property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
     <property name="DefaultHtmlFileTemplate" value="HTML File" />
     <property name="RequestMappingsPanelOrder0" value="0" />
     <property name="RequestMappingsPanelOrder1" value="1" />
@@ -112,17 +59,30 @@
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
     <property name="full.screen.before.presentation.mode" value="false" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../WMSV1" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable" />
     <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="project.structure.last.edited" value="Modules" />
+    <property name="project.structure.proportion" value="0.15429688" />
+    <property name="project.structure.side.proportion" value="0.2" />
     <property name="run.code.analysis.last.selected.profile" value="pProject Default" />
-    <property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.colors.Console Font" />
+    <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
+  </component>
+  <component name="RecentsManager">
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="E:\code\wms2\src\main\resources\static\ajax\libs\bootstrap-table\extensions\editable" />
+    </key>
   </component>
   <component name="RunDashboard">
+    <option name="configurationTypes">
+      <set>
+        <option value="SpringBootApplicationConfigurationType" />
+      </set>
+    </option>
     <option name="ruleStates">
       <list>
         <RuleState>
@@ -135,6 +95,19 @@
     </option>
   </component>
   <component name="RunManager" selected="Spring Boot.HuaHengApplication">
+    <configuration name="ReceiptContainerHeaderServiceImpl" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderServiceImpl" />
+      <module name="huaheng" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.huaheng.pc.receipt.receiptContainerHeader.service.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
     <configuration name="ServiceTest.sendSimpleMail" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
       <module name="huaheng" />
       <extension name="coverage">
@@ -168,12 +141,14 @@
       </method>
     </configuration>
     <list>
+      <item itemvalue="Application.ReceiptContainerHeaderServiceImpl" />
       <item itemvalue="JUnit.ServiceTest.sendSimpleMail" />
       <item itemvalue="Spring Boot.HuaHengApplication" />
     </list>
     <recent_temporary>
       <list>
         <item itemvalue="Spring Boot.HuaHengApplication" />
+        <item itemvalue="Application.ReceiptContainerHeaderServiceImpl" />
         <item itemvalue="JUnit.ServiceTest.sendSimpleMail" />
       </list>
     </recent_temporary>
@@ -181,11 +156,17 @@
   <component name="ServiceViewManager">
     <option name="allServicesViewState">
       <serviceView>
+        <option name="contentProportion" value="0.1612554" />
         <treeState>
           <expand>
             <path>
               <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
-              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@20dd4d1b" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@c531c3e8" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+            </path>
+            <path>
+              <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@c531c3e8" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@ef9dc71e" type="7427dc5b:ServiceModel$ServiceGroupNode" />
             </path>
           </expand>
           <select />
@@ -224,7 +205,73 @@
       <workItem from="1568102802104" duration="132000" />
       <workItem from="1568108585629" duration="2016000" />
       <workItem from="1568162278389" duration="3299000" />
-      <workItem from="1568170378983" duration="10947000" />
+      <workItem from="1568170378983" duration="18141000" />
+      <workItem from="1568249510258" duration="10225000" />
+      <workItem from="1568266250892" duration="1333000" />
+      <workItem from="1568269799447" duration="99000" />
+      <workItem from="1568270609232" duration="2008000" />
+      <workItem from="1568277784815" duration="3397000" />
+      <workItem from="1568595092050" duration="120000" />
+      <workItem from="1568595230891" duration="859000" />
+      <workItem from="1568597823149" duration="18415000" />
+      <workItem from="1568622349963" duration="1657000" />
+      <workItem from="1568625672966" duration="1471000" />
+      <workItem from="1568680155591" duration="361000" />
+      <workItem from="1568680712425" duration="2511000" />
+      <workItem from="1568684486098" duration="957000" />
+      <workItem from="1568685565340" duration="4430000" />
+      <workItem from="1568691952276" duration="8650000" />
+      <workItem from="1568707800753" duration="1137000" />
+      <workItem from="1568710796434" duration="1618000" />
+      <workItem from="1568766055582" duration="6000" />
+      <workItem from="1568768025248" duration="5346000" />
+      <workItem from="1568778175920" duration="2572000" />
+      <workItem from="1568787162277" duration="1740000" />
+      <workItem from="1568788907625" duration="7345000" />
+      <workItem from="1568853208604" duration="1177000" />
+      <workItem from="1568854399388" duration="3001000" />
+      <workItem from="1568861704814" duration="2380000" />
+      <workItem from="1568865359898" duration="108000" />
+      <workItem from="1568865651366" duration="623000" />
+      <workItem from="1568868902957" duration="3468000" />
+      <workItem from="1568875455023" duration="3979000" />
+      <workItem from="1568882661913" duration="1883000" />
+      <workItem from="1568887498559" duration="554000" />
+      <workItem from="1568940290765" duration="1255000" />
+      <workItem from="1568943643646" duration="634000" />
+      <workItem from="1568946720514" duration="599000" />
+      <workItem from="1568951675236" duration="5060000" />
+      <workItem from="1568963416874" duration="848000" />
+      <workItem from="1568964502775" duration="3587000" />
+      <workItem from="1568970279520" duration="8000" />
+      <workItem from="1569032862367" duration="1792000" />
+      <workItem from="1569037677538" duration="64000" />
+      <workItem from="1569134046393" duration="65000" />
+      <workItem from="1569198499251" duration="8680000" />
+      <workItem from="1569207254306" duration="18489000" />
+      <workItem from="1569285398457" duration="5908000" />
+      <workItem from="1569295518709" duration="463000" />
+      <workItem from="1569299856099" duration="4172000" />
+      <workItem from="1569312420091" duration="6208000" />
+      <workItem from="1569318779053" duration="35000" />
+      <workItem from="1569372049669" duration="4595000" />
+      <workItem from="1569390345693" duration="1418000" />
+      <workItem from="1569393808742" duration="10588000" />
+      <workItem from="1569411369199" duration="191000" />
+      <workItem from="1569457959376" duration="2373000" />
+      <workItem from="1569461866204" duration="777000" />
+      <workItem from="1569462694383" duration="6561000" />
+      <workItem from="1569477197991" duration="8695000" />
+      <workItem from="1569545011335" duration="12640000" />
+      <workItem from="1569565238961" duration="5096000" />
+      <workItem from="1569571884664" duration="2032000" />
+      <workItem from="1569577676760" duration="124000" />
+      <workItem from="1569717688488" duration="13568000" />
+      <workItem from="1569743740441" duration="1168000" />
+      <workItem from="1569745589865" duration="2739000" />
+      <workItem from="1569748443357" duration="438000" />
+      <workItem from="1569803438585" duration="13789000" />
+      <workItem from="1570581146682" duration="9295000" />
     </task>
     <task id="LOCAL-00001" summary="修改添加物料时使用物料类别生成物料编码">
       <created>1567664306836</created>
@@ -268,7 +315,203 @@
       <option name="project" value="LOCAL" />
       <updated>1568174134623</updated>
     </task>
-    <option name="localTasksCounter" value="7" />
+    <task id="LOCAL-00007" summary="修改入库单审核移动到入库单头表">
+      <created>1568186231357</created>
+      <option name="number" value="00007" />
+      <option name="presentableId" value="LOCAL-00007" />
+      <option name="project" value="LOCAL" />
+      <updated>1568186231357</updated>
+    </task>
+    <task id="LOCAL-00008" summary="修改任务完成更新库位的错误">
+      <created>1568191139437</created>
+      <option name="number" value="00008" />
+      <option name="presentableId" value="LOCAL-00008" />
+      <option name="project" value="LOCAL" />
+      <updated>1568191139437</updated>
+    </task>
+    <task id="LOCAL-00009" summary="修改入库类型自动判断">
+      <created>1568259182874</created>
+      <option name="number" value="00009" />
+      <option name="presentableId" value="LOCAL-00009" />
+      <option name="project" value="LOCAL" />
+      <updated>1568259182874</updated>
+    </task>
+    <task id="LOCAL-00010" summary="修改入库单页面">
+      <created>1568281128408</created>
+      <option name="number" value="00010" />
+      <option name="presentableId" value="LOCAL-00010" />
+      <option name="project" value="LOCAL" />
+      <updated>1568281128408</updated>
+    </task>
+    <task id="LOCAL-00011" summary="修改入库单页面,入库单审核,质检页面后台跳转接口">
+      <created>1568616697584</created>
+      <option name="number" value="00011" />
+      <option name="presentableId" value="LOCAL-00011" />
+      <option name="project" value="LOCAL" />
+      <updated>1568616697584</updated>
+    </task>
+    <task id="LOCAL-00012" summary="修改 入库收货,生成上架任务自动执行定位">
+      <created>1568692224269</created>
+      <option name="number" value="00012" />
+      <option name="presentableId" value="LOCAL-00012" />
+      <option name="project" value="LOCAL" />
+      <updated>1568692224269</updated>
+    </task>
+    <task id="LOCAL-00013" summary="修复商品管理、物料类别种bug">
+      <created>1568784920330</created>
+      <option name="number" value="00013" />
+      <option name="presentableId" value="LOCAL-00013" />
+      <option name="project" value="LOCAL" />
+      <updated>1568784920330</updated>
+    </task>
+    <task id="LOCAL-00014" summary="修改入库明细添加加载定位规则的错误">
+      <created>1568788287608</created>
+      <option name="number" value="00014" />
+      <option name="presentableId" value="LOCAL-00014" />
+      <option name="project" value="LOCAL" />
+      <updated>1568788287608</updated>
+    </task>
+    <task id="LOCAL-00015" summary="添加入库质检行内编辑">
+      <created>1568857387442</created>
+      <option name="number" value="00015" />
+      <option name="presentableId" value="LOCAL-00015" />
+      <option name="project" value="LOCAL" />
+      <updated>1568857387442</updated>
+    </task>
+    <task id="LOCAL-00016" summary="行内编辑完成后更新数据库">
+      <created>1568875291383</created>
+      <option name="number" value="00016" />
+      <option name="presentableId" value="LOCAL-00016" />
+      <option name="project" value="LOCAL" />
+      <updated>1568875291383</updated>
+    </task>
+    <task id="LOCAL-00017" summary="修改质检登记使用bootstarp boot原生方法初始化">
+      <created>1568885639106</created>
+      <option name="number" value="00017" />
+      <option name="presentableId" value="LOCAL-00017" />
+      <option name="project" value="LOCAL" />
+      <updated>1568885639106</updated>
+    </task>
+    <task id="LOCAL-00018" summary="表单头创建时间添加默认创建时间&#10;开始时间默认提前一周,结束时间默认当天">
+      <created>1569207792528</created>
+      <option name="number" value="00018" />
+      <option name="presentableId" value="LOCAL-00018" />
+      <option name="project" value="LOCAL" />
+      <updated>1569207792528</updated>
+    </task>
+    <task id="LOCAL-00019" summary="配置中所有页面添加重置按钮">
+      <created>1569218224945</created>
+      <option name="number" value="00019" />
+      <option name="presentableId" value="LOCAL-00019" />
+      <option name="project" value="LOCAL" />
+      <updated>1569218224945</updated>
+    </task>
+    <task id="LOCAL-00020" summary="收货添加定位、取消定位、取消组盘按钮">
+      <created>1569232154274</created>
+      <option name="number" value="00020" />
+      <option name="presentableId" value="LOCAL-00020" />
+      <option name="project" value="LOCAL" />
+      <updated>1569232154274</updated>
+    </task>
+    <task id="LOCAL-00021" summary="修改入库单数量使用BigDecimal类型,修改入库单添加、修改、物理类型添加和修改页面">
+      <created>1569318560852</created>
+      <option name="number" value="00021" />
+      <option name="presentableId" value="LOCAL-00021" />
+      <option name="project" value="LOCAL" />
+      <updated>1569318560852</updated>
+    </task>
+    <task id="LOCAL-00022" summary="修改物料管理中物料类型使用物料类别表,不在使用数据字典">
+      <created>1569395439782</created>
+      <option name="number" value="00022" />
+      <option name="presentableId" value="LOCAL-00022" />
+      <option name="project" value="LOCAL" />
+      <updated>1569395439782</updated>
+    </task>
+    <task id="LOCAL-00023" summary="修改波次主表、波次流程头表、波次流程明细页面">
+      <created>1569402291802</created>
+      <option name="number" value="00023" />
+      <option name="presentableId" value="LOCAL-00023" />
+      <option name="project" value="LOCAL" />
+      <updated>1569402291802</updated>
+    </task>
+    <task id="LOCAL-00024" summary="修改入库首选项修改添加模块为select">
+      <created>1569411473661</created>
+      <option name="number" value="00024" />
+      <option name="presentableId" value="LOCAL-00024" />
+      <option name="project" value="LOCAL" />
+      <updated>1569411473661</updated>
+    </task>
+    <task id="LOCAL-00025" summary="修改任务取消入库组盘状态不回滚,修改任务完成入库单状态不完成">
+      <created>1569477488017</created>
+      <option name="number" value="00025" />
+      <option name="presentableId" value="LOCAL-00025" />
+      <option name="project" value="LOCAL" />
+      <updated>1569477488017</updated>
+    </task>
+    <task id="LOCAL-00026" summary="添加自动生成容器编码">
+      <created>1569484931952</created>
+      <option name="number" value="00026" />
+      <option name="presentableId" value="LOCAL-00026" />
+      <option name="project" value="LOCAL" />
+      <updated>1569484931952</updated>
+    </task>
+    <task id="LOCAL-00027" summary="修改入库首选项页面,规则查询使用数据字典值,表格值显示修改">
+      <created>1569553028716</created>
+      <option name="number" value="00027" />
+      <option name="presentableId" value="LOCAL-00027" />
+      <option name="project" value="LOCAL" />
+      <updated>1569553028716</updated>
+    </task>
+    <task id="LOCAL-00028" summary="入库单添加重置按钮,入库单历史添加上游单号搜索">
+      <created>1569554438854</created>
+      <option name="number" value="00028" />
+      <option name="presentableId" value="LOCAL-00028" />
+      <option name="project" value="LOCAL" />
+      <updated>1569554438854</updated>
+    </task>
+    <task id="LOCAL-00029" summary="添加取消入库组盘时容器为临时容器,删除容器">
+      <created>1569567112288</created>
+      <option name="number" value="00029" />
+      <option name="presentableId" value="LOCAL-00029" />
+      <option name="project" value="LOCAL" />
+      <updated>1569567112288</updated>
+    </task>
+    <task id="LOCAL-00030" summary="出库完成时删除临时容器">
+      <created>1569568426923</created>
+      <option name="number" value="00030" />
+      <option name="presentableId" value="LOCAL-00030" />
+      <option name="project" value="LOCAL" />
+      <updated>1569568426923</updated>
+    </task>
+    <task id="LOCAL-00031" summary="修改容器新增时容器enable状态">
+      <created>1569577849038</created>
+      <option name="number" value="00031" />
+      <option name="presentableId" value="LOCAL-00031" />
+      <option name="project" value="LOCAL" />
+      <updated>1569577849039</updated>
+    </task>
+    <task id="LOCAL-00032" summary="修改入库组盘页面中任务类型的显示问题&#10;修改任务完成不修改入库组盘状态的问题">
+      <created>1569740895495</created>
+      <option name="number" value="00032" />
+      <option name="presentableId" value="LOCAL-00032" />
+      <option name="project" value="LOCAL" />
+      <updated>1569740895496</updated>
+    </task>
+    <task id="LOCAL-00033" summary="添加根据code查询物料">
+      <created>1569743042718</created>
+      <option name="number" value="00033" />
+      <option name="presentableId" value="LOCAL-00033" />
+      <option name="project" value="LOCAL" />
+      <updated>1569743042718</updated>
+    </task>
+    <task id="LOCAL-00034" summary="添加根据容器编码查找容器的方法&#10;配置规则添加自动添加模块类型&#10;添加是否自动生成临时容器">
+      <created>1570582333467</created>
+      <option name="number" value="00034" />
+      <option name="presentableId" value="LOCAL-00034" />
+      <option name="project" value="LOCAL" />
+      <updated>1570582333467</updated>
+    </task>
+    <option name="localTasksCounter" value="35" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -288,41 +531,98 @@
     </option>
   </component>
   <component name="VcsManagerConfiguration">
-    <MESSAGE value="修改添加物料时使用物料类别生成物料编码" />
-    <MESSAGE value="修改质检页面、添加完成质检" />
-    <MESSAGE value="修复入库质检请求地址冲突" />
-    <MESSAGE value="添加入库单打印" />
-    <option name="LAST_COMMIT_MESSAGE" value="添加入库单打印" />
+    <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
+    <MESSAGE value="修改入库单页面" />
+    <MESSAGE value="修改入库单页面,入库单审核,质检页面后台跳转接口" />
+    <MESSAGE value="修改 入库收货,生成上架任务自动执行定位" />
+    <MESSAGE value="修复商品管理、物料类别种bug" />
+    <MESSAGE value="修改入库明细添加加载定位规则的错误" />
+    <MESSAGE value="添加入库质检行内编辑" />
+    <MESSAGE value="行内编辑完成后更新数据库" />
+    <MESSAGE value="修改质检登记使用bootstarp boot原生方法初始化" />
+    <MESSAGE value="表单头创建时间添加默认创建时间&#10;开始时间默认提前一周,结束时间默认当天" />
+    <MESSAGE value="配置中所有页面添加重置按钮" />
+    <MESSAGE value="收货添加定位、取消定位、取消组盘按钮" />
+    <MESSAGE value="修改入库单数量使用BigDecimal类型,修改入库单添加、修改、物理类型添加和修改页面" />
+    <MESSAGE value="修改物料管理中物料类型使用物料类别表,不在使用数据字典" />
+    <MESSAGE value="修改波次主表、波次流程头表、波次流程明细页面" />
+    <MESSAGE value="修改入库首选项修改添加模块为select" />
+    <MESSAGE value="修改任务取消入库组盘状态不回滚,修改任务完成入库单状态不完成" />
+    <MESSAGE value="添加自动生成容器编码" />
+    <MESSAGE value="修改入库首选项页面,规则查询使用数据字典值,表格值显示修改" />
+    <MESSAGE value="入库单添加重置按钮,入库单历史添加上游单号搜索" />
+    <MESSAGE value="添加取消入库组盘时容器为临时容器,删除容器" />
+    <MESSAGE value="出库完成时删除临时容器" />
+    <MESSAGE value="修改容器新增时容器enable状态" />
+    <MESSAGE value="修改入库组盘页面中任务类型的显示问题&#10;修改任务完成不修改入库组盘状态的问题" />
+    <MESSAGE value="添加根据code查询物料" />
+    <MESSAGE value="添加根据容器编码查找容器的方法&#10;配置规则添加自动添加模块类型&#10;添加是否自动生成临时容器" />
+    <option name="LAST_COMMIT_MESSAGE" value="添加根据容器编码查找容器的方法&#10;配置规则添加自动添加模块类型&#10;添加是否自动生成临时容器" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java</url>
-          <line>152</line>
-          <option name="timeStamp" value="6" />
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/bom/controller/BomHeaderController.java</url>
+          <line>164</line>
+          <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/material/controller/MaterialController.java</url>
+          <line>150</line>
+          <option name="timeStamp" value="26" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java</url>
+          <line>174</line>
+          <option name="timeStamp" value="28" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java</url>
-          <line>154</line>
-          <option name="timeStamp" value="8" />
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java</url>
+          <line>631</line>
+          <option name="timeStamp" value="48" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java</url>
-          <line>45</line>
-          <option name="timeStamp" value="9" />
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java</url>
+          <line>56</line>
+          <option name="timeStamp" value="49" />
         </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>144</line>
-          <option name="timeStamp" value="10" />
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java</url>
+          <line>84</line>
+          <option name="timeStamp" value="51" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java</url>
-          <line>240</line>
-          <option name="timeStamp" value="11" />
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java</url>
+          <line>86</line>
+          <option name="timeStamp" value="57" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java</url>
+          <line>145</line>
+          <option name="timeStamp" value="62" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="javascript">
+          <url>file://$PROJECT_DIR$/src/main/resources/templates/check/checkingRegister/checkingRegister.html</url>
+          <line>308</line>
+          <option name="timeStamp" value="29" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="javascript">
+          <url>file://$PROJECT_DIR$/src/main/resources/templates/config/waveFlowHeader/waveFlowHeader.html</url>
+          <line>71</line>
+          <option name="timeStamp" value="43" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
+    <watches-manager>
+      <configuration name="SpringBootApplicationConfigurationType">
+        <watch expression="receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()).getLocatingRule()" language="JAVA" />
+      </configuration>
+    </watches-manager>
+  </component>
+  <component name="com.intellij.coverage.CoverageDataManagerImpl">
+    <SUITE FILE_PATH="coverage/huaheng$HuaHengApplication.ic" NAME="HuaHengApplication Coverage Results" MODIFIED="1568251952497" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
+      <FILTER>com.huaheng.*</FILTER>
+    </SUITE>
   </component>
 </project>
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java b/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java
index 7752a5d..c197e8a 100644
--- a/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java
+++ b/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java
@@ -84,7 +84,9 @@ public class CheckingRegisterController extends BaseController {
         PageDomain pageDomain = TableSupport.buildPageRequest();
         Integer pageNum = pageNumber;
         Integer pageSize = pageDomain.getPageSize();
-        boolean isDetailNull;
+        boolean isDetailNull;   //质检明细是否存在标识
+
+        //判断质检单明细标号是否存在,不存在显示所有质检报告
         if (StringUtils.isNotNull(checkingRegister.getCheckDetailId())){
             isDetailNull = true;
             if (checkingRegister.getCheckDetailId() == 0){
diff --git a/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java b/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java
index 7519ba3..6d13404 100644
--- a/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java
+++ b/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java
@@ -64,7 +64,7 @@ public class CheckingRegisterService extends ServiceImpl<CheckingRegisterMapper,
      */
     public List<CheckingRegister> emptyList(Integer checkDetailId){
         List<CheckingRegister> list = new ArrayList<>();
-        List<DictData> dictDataList = dictDataService.selectDictDataByType("inventoryStatus");
+        List<DictData> dictDataList = dictDataService.selectDictDataByType("inventorySts");
         CheckDetail checkDetail = checkDetailService.getById(checkDetailId);
         for (DictData dictData: dictDataList){
             CheckingRegister checkingRegister1 = new CheckingRegister();
diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java
index c762c9f..05ae20a 100644
--- a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java
+++ b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java
@@ -98,8 +98,9 @@ public class FilterConfigHeaderController extends BaseController {
     /**
      * 新增规则配置主表
      */
-    @GetMapping("/add")
-    public String add() {
+    @GetMapping("/add/{type}")
+    public String add(@PathVariable("type")String type, ModelMap modelMap) {
+        modelMap.put("moduleType", type);
         return prefix + "/add";
     }
 
diff --git a/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java b/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java
index c63669a..a479caa 100644
--- a/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java
+++ b/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java
@@ -14,6 +14,7 @@ public interface ContainerMapper extends BaseMapper<Container> {
 
     void updateLocationCodeAndStatus(@Param("warehouseCode") String warehouseCode, @Param("containerCode") String containerCode, @Param("locationCode") String locationCode, @Param("status") String status);
 
+    Container findAllByCode(@Param("code") String code);
 
 
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java b/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java
index 67acf2e..3bbed8d 100644
--- a/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java
+++ b/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java
@@ -20,4 +20,6 @@ public interface ContainerService extends IService<Container>{
     void removeContainer(String containType, String containCode);
 
     void removeByCode(String containCode);
+
+    Container findAllByCode(String containCode);
 }
diff --git a/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java b/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java
index 4db7b0e..4c795fe 100644
--- a/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java
@@ -162,4 +162,9 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container
         }
 
     }
+
+    @Override
+    public Container findAllByCode(String code) {
+        return containerMapper.findAllByCode(code);
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java b/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java
index 04e1b87..3333c42 100644
--- a/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java
+++ b/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java
@@ -156,7 +156,6 @@ public class MaterialController extends BaseController {
 
     /**
      * 导出模板
-     * @param file
      * @return
      * @throws Exception
      */
diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java
index 15d6296..e12233c 100644
--- a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java
+++ b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java
@@ -96,6 +96,7 @@ public class StatusFlowDetailController extends BaseController {
         StatusFlowHeader statusFlowHeader = statusFlowHeaderService.getById(headerId);
         mmap.put("headerId",headerId);
         mmap.put("headerCode", statusFlowHeader.getCode());
+        mmap.put("moduleType", statusFlowHeader.getModuleType());
         return prefix + "/add";
     }
 
diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java
index 5ea4dab..e76b4c5 100644
--- a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java
+++ b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java
@@ -82,8 +82,9 @@ public class StatusFlowHeaderController extends BaseController {
     /**
      * 新增流程
      */
-    @GetMapping("/add")
-    public String add() {
+    @GetMapping("/add/{type}")
+    public String add(@PathVariable("type") String type, ModelMap modelMap) {
+        modelMap.put("moduleType", type);
         return prefix + "/add";
     }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
index b5c33b9..fab073e 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
@@ -38,8 +38,6 @@ public class adjustDetailController extends BaseController {
 
 
     @Resource
-    private AdjustHeaderService adjustHeaderService;
-    @Resource
     private AdjustHeaderMapper adjustHeaderMapper;
     @Resource
     private AdjustDetailService adjustDetailService;
@@ -49,7 +47,7 @@ public class adjustDetailController extends BaseController {
     private String prefix = "inventory/adjustDetail";
 
 
-    //@RequiresPermissions("inventory:cycleCount:view")
+    @RequiresPermissions("inventory:adjustDetail:view")
     @GetMapping()
     public String adjustHeader()
     {
@@ -60,7 +58,7 @@ public class adjustDetailController extends BaseController {
     /**
      * 查询调整单主列表
      */
-    //@RequiresPermissions("inventory:cycleCount:list")
+    @RequiresPermissions("inventory:adjustDetail:list")
     @PostMapping("/list")
     @Log(title = "库存-调整",operating = "查看调整明细单", action = BusinessType.GRANT)
     @ResponseBody
@@ -121,7 +119,7 @@ public class adjustDetailController extends BaseController {
     /**
      * 保存新增调整明细
      */
-    //@RequiresPermissions("inventory:cyclecountDetail:add")
+    @RequiresPermissions("inventory:adjustDetail:add")
     @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT)
     @PostMapping("/addAdjust")
     @ResponseBody
@@ -150,7 +148,7 @@ public class adjustDetailController extends BaseController {
      * 调整数量,调整库存状态
      * 调整插入库存
      */
-    //@RequiresPermissions("inventory:cyclecountAdjustDetail:addAdjust")
+    @RequiresPermissions("inventory:adjustDetail:addAdjust")
     @Log(title = "库存-调整单", operating = "调整单调整库存差异,调整数量", action = BusinessType.UPDATE)
     @PostMapping("/adjustEdit")
     @ResponseBody
@@ -177,6 +175,7 @@ public class adjustDetailController extends BaseController {
      * @param ids
      * @return
      */
+    @RequiresPermissions("inventory:adjustDetail:adjustAgree")
     @Log(title = "库存-调整单", operating = "调整审批", action = BusinessType.OTHER)
     @PostMapping("/adjustAgree")
     @ResponseBody
@@ -199,7 +198,7 @@ public class adjustDetailController extends BaseController {
     /**
      * 删除调整单明细
      */
-    //@RequiresPermissions("inventory:cyclecountDetail:remove")
+    @RequiresPermissions("inventory:adjustDetail:remove")
     @Log(title = "库存-调整", operating = "删除调整单明细", action = BusinessType.DELETE)
     @PostMapping( "/remove")
     @ResponseBody
@@ -212,7 +211,6 @@ public class adjustDetailController extends BaseController {
             return AjaxResult.error("单据状态不允许删除");
         }
         adjustDetailService.removeById(id);
-
         return AjaxResult.success("删除成功!");
     }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
index efefe05..de35612 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
@@ -157,7 +157,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj
             AjaxResult.error("该单据已调整,不允许再次调整!" );
         }
         //查询调整的库存明细
-        InventoryDetail inventoryDetail = new InventoryDetail();
+        InventoryDetail inventoryDetail ;
         //调整单中不带库存明细时不查询
         if(adjustDetail.getInventoryDetailId() != null) {
             inventoryDetail = inventoryDetailService.getById(adjustDetail.getInventoryDetailId());
diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java
index e22e29b..b8fe927 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java
@@ -44,7 +44,7 @@ public class adjustHeaderController extends BaseController {
     private String prefix = "inventory/adjustHeader";
 
 
-    //@RequiresPermissions("inventory:cycleCount:view")
+    @RequiresPermissions("inventory:adjustHeader:view")
     @GetMapping()
     public String adjustHeader()
     {
@@ -55,7 +55,7 @@ public class adjustHeaderController extends BaseController {
     /**
      * 查询调整单主列表
      */
-    //@RequiresPermissions("inventory:cycleCount:list")
+    @RequiresPermissions("inventory:adjustHeader:list")
     @PostMapping("/list")
     @Log(title = "库存-调整",operating = "查看调整主单", action = BusinessType.GRANT)
     @ResponseBody
@@ -101,7 +101,7 @@ public class adjustHeaderController extends BaseController {
     /**
      * 新增保存调整单主
      */
-    //@RequiresPermissions("inventory:cycleCount:add")
+    @RequiresPermissions("inventory:adjustHeader:add")
     @Log(title = "库存-调整",operating = "新增调整主单", action = BusinessType.INSERT)
     @PostMapping("/addsave")
     @ResponseBody
@@ -114,7 +114,7 @@ public class adjustHeaderController extends BaseController {
     /**
      * 删除调整单主
      */
-    //@RequiresPermissions("inventory:cycleCount:remove")
+    @RequiresPermissions("inventory:adjustHeader:remove")
     @Log(title = "库存-调整",operating = "删除调整主单", action = BusinessType.DELETE)
     @PostMapping( "/remove")
     @ResponseBody
@@ -124,7 +124,7 @@ public class adjustHeaderController extends BaseController {
             return AjaxResult.error("id不能为空");
         for (Integer id : Convert.toIntArray(ids))
         {
-            AjaxResult result = adjustHeaderService.delete(id);
+            AjaxResult result = adjustHeaderService.deleteHeader(id);
             if(result.code!=200){
                 return result;
             }
@@ -136,7 +136,7 @@ public class adjustHeaderController extends BaseController {
      *  调整单打印
      * @return
      */
-    //@RequiresPermissions("inventory:cyclecountAdjust:report")
+    @RequiresPermissions("inventory:adjustHeader:report")
     @GetMapping("/report/{id}")
     public String report(@PathVariable("id") Integer id, ModelMap mmap)
     {
diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java
index 4c4635c..3b2e13e 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java
@@ -11,7 +11,7 @@ public interface AdjustHeaderService extends IService<AdjustHeader> {
 
     String createCode();
 
-    AjaxResult delete(Integer id);
+    AjaxResult deleteHeader(Integer id);
 
     AjaxResult addSave(AdjustHeader adjustHeader);
 
diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java
index 9e1a1b6..2ecae01 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java
@@ -1,9 +1,13 @@
 package com.huaheng.pc.inventory.adjustHeader.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 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.warehouse.domain.Warehouse;
 import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail;
+import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader;
@@ -13,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 
 @Service
 public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, AdjustHeader> implements AdjustHeaderService {
@@ -20,7 +25,8 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj
 
     @Resource
     private AdjustHeaderMapper adjustHeaderMapper;
-
+    @Resource
+    private AdjustDetailService adjustDetailService;
 
 
 
@@ -48,22 +54,29 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj
     }
 
     /**
-     * 删除
-     * 空缺
+     * 调整主单删除
      * @param id
      * @return
      */
+    @Transactional
     @Override
-    public AjaxResult delete(Integer id) {
+    public AjaxResult deleteHeader(Integer id) {
         AdjustHeader adjustHeader = this.getById(id);
         if(adjustHeader == null){
             return AjaxResult.error("id为"+id.toString()+"的调整单不存在出,操作中止");
         }
-
-        //批量删除子单据
+        //判断该主单下有没又存在子单,没有直接删除主单,有则不能删除
         AdjustDetail temp = new AdjustDetail();
         temp.setAdjustCode(adjustHeader.getCode());
+        temp.setCompanyCode(adjustHeader.getCompanyCode());
+        temp.setWarehouseCode(adjustHeader.getWarehouseCode());
+        LambdaQueryWrapper<AdjustDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(temp);
+        List<AdjustDetail> adjustDetails = adjustDetailService.list(lambdaQueryWrapper);
+        if(adjustDetails.size() > 0){
+            throw new SecurityException("该主单存在明细,无法删除,操作失败!");
+        }
 
+        adjustHeaderMapper.deleteById(id); //直接删主单
         return AjaxResult.success("删除成功");
     }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
index 7f66033..034ac2d 100644
--- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
+++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
@@ -58,9 +58,10 @@ public class CycleCountDetailController extends BaseController {
 
 
 
-
     private String prefix = "inventory/cycleCountDetail";
 
+
+    @RequiresPermissions("inventory:cyclecountDetail:view")
     @GetMapping()
     public String cyclecountHeader()
     {
@@ -70,7 +71,7 @@ public class CycleCountDetailController extends BaseController {
     /**
      * 查询盘点单主列表
      */
-    //@RequiresPermissions("inventory:cycleCount:list")
+    @RequiresPermissions("inventory:cycleCountDetail:list")
     @PostMapping("/list")
     @Log(title = "库存-盘点",operating = "查看盘点明细", action = BusinessType.GRANT)
     @ResponseBody
@@ -143,19 +144,22 @@ public class CycleCountDetailController extends BaseController {
     /**
      * 新增保存盘点明细
      */
-    //@RequiresPermissions("inventory:cyclecountDetail:add")
+    @RequiresPermissions("inventory:cyclecountDetail:add")
     @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT)
     @PostMapping("/add")
     @ResponseBody
-    public AjaxResult addSave(String cycleCountHeadCode, Integer[] inventoryDetailIdIds)
+    public AjaxResult addSave(String cycleCountHeadCode, Integer[] inventoryDetailIds)
     {
-        return cycleCountDetailService.addDetails(cycleCountHeadCode,inventoryDetailIdIds);
+        if(inventoryDetailIds == null){
+            return AjaxResult.error("盘点的库存ID不能为空!");
+        }
+        return cycleCountDetailService.addDetails(cycleCountHeadCode,inventoryDetailIds);
     }
 
     /**
      * 删除盘点明细
      */
-    //@RequiresPermissions("inventory:cyclecountDetail:remove")
+    @RequiresPermissions("inventory:cyclecountDetail:remove")
     @Log(title = "库存-盘点", operating = "删除盘点明细", action = BusinessType.DELETE)
     @PostMapping( "/remove")
     @ResponseBody
@@ -194,7 +198,7 @@ public class CycleCountDetailController extends BaseController {
     }
 
     /**生成全部盘点任务*/
-    //@RequiresPermissions("inventory:cyclecountDetail:createTask")
+    @RequiresPermissions("inventory:cyclecountDetail:createTask")
     @PostMapping("/createCycleCountTaskByHeadId")
     @ResponseBody
     public AjaxResult createCycleCountTaskByHeadId(String cycleCountHeadCode){
@@ -205,7 +209,7 @@ public class CycleCountDetailController extends BaseController {
     }
 
     /**生成单条盘点任务*/
-    //@RequiresPermissions("inventory:cyclecountDetail:createTask")
+    @RequiresPermissions("inventory:cyclecountDetail:createTask")
     @PostMapping("/createCycleCoutTaskByDetailId")
     @ResponseBody
     public AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutdetailId){
@@ -221,10 +225,11 @@ public class CycleCountDetailController extends BaseController {
      * @param qty
      * @return
      */
-    //@RequiresPermissions("inventory:cyclecountDetail:confirm")
+    @RequiresPermissions("inventory:cyclecountDetail:confirm")
     @PostMapping("/confirmGapQty")
     @ResponseBody
     public AjaxResult confirmGapQty(Integer detailId, BigDecimal qty){
+
         return cycleCountDetailService.confirmGapQty(detailId,qty);
     }
 
@@ -233,11 +238,13 @@ public class CycleCountDetailController extends BaseController {
      * @param cycleCountHeadCode
      * @return
      */
-    //@RequiresPermissions("inventory:cyclecountDetail:cyclecountRepeat")
+    @RequiresPermissions("inventory:cyclecountDetail:cyclecountRepeat")
     @PostMapping("/createCyclecountWithGapQty")
     @ResponseBody
     public AjaxResult createCyclecountWithGapQty(String cycleCountHeadCode){
-
+        if(StringUtils.isEmpty(cycleCountHeadCode)){
+            return AjaxResult.error("需要复盘的盘点单编码不能为空!");
+        }
         return cycleCountDetailService.createCyclecountWithGapQty(cycleCountHeadCode);
     }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java
index d3b5d7c..c7a6538 100644
--- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java
@@ -48,10 +48,6 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
 
 
 
-
-
-
-
     /**
      * 执行任务修改状态为10
      * @param detailid
@@ -131,7 +127,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
             ccd.setCompanyCode(inventoryDetail.getCompanyCode());
             ccd.setInventorySts(inventoryDetail.getInventorySts());
             ccd.setCountId(inventoryDetail.getId());
-            ccd.setEnableStatus(5);
+            //ccd.setEnableStatus(1);
             ccd.setLocationCode(inventoryDetail.getLocationCode());
             ccd.setContainerCode(inventoryDetail.getContainerCode());
             ccd.setMaterialCode(inventoryDetail.getMaterialCode());
@@ -226,10 +222,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
         LambdaQueryWrapper<Location> lambdaQueryWrapper = Wrappers.lambdaQuery(temp);
         Location loc = locationService.getOne(lambdaQueryWrapper);
         if(!loc.getStatus().equals("empty")){
-            return AjaxResult.error(cycleCountDetail.getLocationCode()+"状态非空闲,操作失败");
+            return AjaxResult.error(cycleCountDetail.getLocationCode()+"库位不在空闲状态,请先完成其他任务,操作失败!");
         }
         if(StringUtils.isEmpty(loc.getContainerCode())){
-            return AjaxResult.error(cycleCountDetail.getLocationCode()+"没有托盘,操作失败");
+            return AjaxResult.error(cycleCountDetail.getLocationCode()+"库位中没有容器,操作失败!");
         }
 
         //查询任务头和明细有相同容器,没有就新增任务头和明细
@@ -363,9 +359,9 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
             if (inventoryDetail == null) {
                 return AjaxResult.error("没有对应库存信息,请重建盘点单");
             }
-            if(qty.compareTo(inventoryDetail.getTaskQty()) < 0){
+            /*if(qty.compareTo(inventoryDetail.getTaskQty()) < 0){
                 return AjaxResult.error("登记数量不能小于任务分配数量");
-            }
+            }*/
         }
         cyclecountDetail.setCountedQty(qty);
         cyclecountDetail.setGapQty(qty.subtract(cyclecountDetail.getSystemQty()));
@@ -390,7 +386,6 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
     public AjaxResult createCyclecountWithGapQty(String cycleCountHeaderCode) {
         /*找出实盘登记中数量有差异的,重新生成盘点单*/
 
-
         CycleCountHeader cycleCountHeader = new CycleCountHeader();
         cycleCountHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());
         cycleCountHeader.setCode(cycleCountHeaderCode);
@@ -409,22 +404,30 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
         if(countHeader != null){
             return AjaxResult.error("该单据已生成复盘单,请勿重复生成!");
         }
+        //没有盘点明细或明细都没有差异时不生成复盘单
+
         CycleCountDetail cycleCountDetail = new CycleCountDetail();
-        cycleCountDetail.setTaskHeaderId(cycleCountHeader.getId());
+        cycleCountDetail.setCycleCountHeadCode(cycleCountHeaderCode);
         cycleCountDetail.setWarehouseCode(cycleCountHeader.getWarehouseCode());
         cycleCountDetail.setCompanyCode(cycleCountHeader.getCompanyCode());
-        LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
+        LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery(cycleCountDetail);
         List<CycleCountDetail> cycleCountDetails = this.list(cycleCountDetailLambdaQueryWrapper);//明细
         if(cycleCountDetails.size() == 0){
-            throw new SecurityException("没有明细!");
+            throw new SecurityException("没有盘点明细条目,操作失败!");
         }
         //生成复盘盘点主单
-        cycleCountHeader.setCode(cycleCountHeaderService.createCode());
-        cycleCountHeader.setRound(cycleCountHeader.getRound() + 1);//盘点轮次+1
-        cycleCountHeader.setCreated(new Date());
-        cycleCountHeader.setCreatedBy(ShiroUtils.getLoginName());
-        cycleCountHeader.setSourceCode(cycleCountHeaderCode);//源盘点单号
-        if(!cycleCountHeaderService.saveOrUpdate(cycleCountHeader)){
+        CycleCountHeader cycleCountHeader1 = new CycleCountHeader();
+        String cycleCountHeaderCode1 = cycleCountHeaderService.createCode();
+        cycleCountHeader1.setCode(cycleCountHeaderCode1);
+        cycleCountHeader1.setCompanyCode(cycleCountHeader.getCompanyCode());
+        cycleCountHeader1.setWarehouseCode(cycleCountHeader.getWarehouseCode());
+        cycleCountHeader1.setRound(cycleCountHeader.getRound() + 1);//盘点轮次+1
+        cycleCountHeader1.setCountType(cycleCountHeader.getCountType());
+        cycleCountHeader1.setCreated(new Date());
+        cycleCountHeader1.setCreatedBy(ShiroUtils.getLoginName());
+        cycleCountHeader1.setLastUpdatedBy(ShiroUtils.getLoginName());
+        cycleCountHeader1.setSourceCode(cycleCountHeaderCode);//源盘点单号
+        if(!cycleCountHeaderService.saveOrUpdate(cycleCountHeader1)){
             throw new ServiceException("复盘主单生成失败!");
         }
         //获取差异数量不为零的子单重新再生成盘点单
@@ -433,20 +436,23 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
             //getGapQty不能为null默认值为0
            int f = item.getGapQty().compareTo(BigDecimal.ZERO);
             if(f > 0){
+                item.setCycleCountHeadCode(cycleCountHeaderCode1);
                 item.setCountedQty(null);
                 item.setGapQty(BigDecimal.ZERO);
+                item.setEnableStatus(1);
                 item.setCreatedBy(ShiroUtils.getLoginName());
                 item.setCreated(new Date());
                 cycleCountDetailList.add(item);
                 }
-
         }
         if(cycleCountDetailList.size() == 0){
-            throw new SecurityException("该单据没有符合复盘条件的明细!");
+            throw new SecurityException("该主单据没有符合复盘条件的明细!");
         }
-        if(!this.saveBatch(cycleCountDetailList)){
+        Boolean j =  this.saveBatch(cycleCountDetailList);
+        if(j == false ){
             throw new ServiceException("复盘明细子单生成失败");
         }
+
         return AjaxResult.success("生成复盘单成功!");
     }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java
index 31e041d..31e746f 100644
--- a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java
+++ b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java
@@ -44,15 +44,12 @@ public class CycleCountHeaderController extends BaseController {
     private CycleCountHeaderService cycleCountHeaderService;
     @Resource
     private CycleCountDetailService cycleCountDetailService;
-    @Resource
-    private AdjustHeaderService adjustHeaderService;
-
 
 
     private String prefix = "inventory/cycleCountHeader";
 
 
-    //@RequiresPermissions("inventory:cycleCount:view")
+    @RequiresPermissions("inventory:cycleCountHeader:view")
     @GetMapping()
     public String cyclecountHeader()
     {
@@ -62,7 +59,7 @@ public class CycleCountHeaderController extends BaseController {
     /**
      * 查询盘点单主列表
      */
-    //@RequiresPermissions("inventory:cycleCount:list")
+    @RequiresPermissions("inventory:cycleCountHeader:list")
     @PostMapping("/list")
     @Log(title = "库存-盘点",operating = "查看盘点主单", action = BusinessType.GRANT)
     @ResponseBody
@@ -95,6 +92,9 @@ public class CycleCountHeaderController extends BaseController {
         }
 
     }
+
+
+
     /**
      * 新增盘点单主
      */
@@ -107,7 +107,7 @@ public class CycleCountHeaderController extends BaseController {
     /**
      * 新增保存盘点单主
      */
-    //@RequiresPermissions("inventory:cycleCount:add")
+    @RequiresPermissions("inventory:cycleCountHeader:add")
     @Log(title = "库存-盘点",operating = "新增盘点主单", action = BusinessType.INSERT)
     @PostMapping("/add")
     @ResponseBody
@@ -137,7 +137,7 @@ public class CycleCountHeaderController extends BaseController {
     /**
      * 修改保存盘点单主
      */
-    //@RequiresPermissions("inventory:cycleCount:edit")
+    @RequiresPermissions("inventory:cycleCountHeader:edit")
     @Log(title = "库存-盘点",operating = "修改盘点主单", action = BusinessType.UPDATE)
     @PostMapping("/edit")
     @ResponseBody
@@ -151,7 +151,7 @@ public class CycleCountHeaderController extends BaseController {
     /**
      * 删除盘点单主
      */
-    //@RequiresPermissions("inventory:cycleCount:remove")
+    @RequiresPermissions("inventory:cycleCountHeader:remove")
     @Log(title = "库存-盘点",operating = "删除盘点主单", action = BusinessType.DELETE)
     @PostMapping( "/remove")
     @ResponseBody
@@ -173,7 +173,7 @@ public class CycleCountHeaderController extends BaseController {
      *
      * 生成调整单
      * */
-    //@RequiresPermissions("inventory:cyclecountHead:addAdjust")
+    @RequiresPermissions("inventory:cyclecountHead:addAdjust")
     @Log(title = "库存-盘点", operating = "新增盘点差异调整单", action = BusinessType.INSERT)
     @PostMapping("/goAdjust")
     @ResponseBody
@@ -187,7 +187,7 @@ public class CycleCountHeaderController extends BaseController {
      *  盘点单报表打印
      * @return
      */
-    //@RequiresPermissions("inventory:cycleCount:report")
+    @RequiresPermissions("inventory:cycleCountHeader:report")
     @GetMapping("/report/{id}")
     public String report(@PathVariable("id") Integer id, ModelMap mmap)
     {
diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java
index b8fb449..2de1460 100644
--- a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java
@@ -169,12 +169,10 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap
 
         //查询该条盘点单头 id
         CycleCountHeader cyclecountHeader = cycleCountHeaderMapper.selectById(id);
-
-        if(cyclecountHeader.getStatusCyc() >= 35){
+        if(cyclecountHeader.getStatusCyc() < 100){
             //查询是否已生成差异单
-            throw new ServiceException("该条盘点单无法生成调整单,请检查状态!");
+            throw new ServiceException("该条盘点单无法生成调整单,必须为盘点任务完成,请检查状态!");
         }
-
         AdjustHeader adjustHeader = new AdjustHeader();
         adjustHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());//仓库
         adjustHeader.setCode(adjustHeaderService.createCode());//生成差异单号
@@ -197,6 +195,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap
         //AdjustHeader adjust = adjustHeaderService.getById(adjustHeader.getId());
         //循环明细条目,查找符合条件的数据写入调整单明细
         AdjustDetail adjustDetail = new AdjustDetail();
+        List<AdjustDetail> adjustDetails = new ArrayList<>();
         for(CycleCountDetail item:cycleCountDetailList){
             //BigDecimal的比较  .compareTo(BigDecimal.ZERO) != 0
 
@@ -224,14 +223,16 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap
                 adjustDetail.setCreated(new Date());
                 adjustDetail.setCreatedBy(ShiroUtils.getLoginName());
                 //adjustDetail.setStatus(0);//状态
-
-                adjustDetailService.save(adjustDetail);
+                adjustDetails.add(adjustDetail);
+                //adjustDetailService.save(adjustDetail);
             }
-
         }
-
+        if(adjustDetails.size() == 0 ){
+            throw new SecurityException("该盘点单没有差异数据条目,无法生成调整单!");
+        }
+        adjustDetailService.saveBatch(adjustDetails);
         //修改盘点主单状态为已生成差异单
-        cyclecountHeader.setStatusCyc(35);
+        cyclecountHeader.setStatusCyc(101);
         this.saveOrUpdate(cyclecountHeader);
 
         return AjaxResult.success("差异调整及明细单生成完毕!");
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java
index f40c6d9..322490d 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java
@@ -59,6 +59,9 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai
                 ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId());
                 receiptDetail.setOpenQty(receiptDetail.getOpenQty().subtract(receiptContainerDetail.getQty()));
 
+                //如果为临时容器,则删除
+                receiptContainerDetail.getContainerCode();
+
                 if (!receiptDetailService.updateById(receiptDetail)){throw new SecurityException("回滚入库单明细失败");}
                 //删除组盘明细
                 if (!this.removeById(id)){ throw new ServiceException("回滚入库组盘失败");}
@@ -70,12 +73,15 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai
                         throw new ServiceException("删除入库组盘头失败");
                     }
                 }
+
                 //查询入库头表
                 LambdaQueryWrapper<ReceiptContainerDetail> containerDetailLambda = Wrappers.lambdaQuery();
                 containerDetailLambda.eq(ReceiptContainerDetail::getReceiptId, receiptContainerDetail.getReceiptId());
                 List<ReceiptContainerDetail> containerDetailList = this.list(containerDetailLambda);
+
+
                 //如果入库组盘没有该入库单的组盘信息,回滚入库单状态
-                if (containerDetailList == null){
+                if (containerDetailList.size() == 0){
                     ReceiptHeader receiptHeader = new ReceiptHeader();
                     receiptHeader.setId(receiptContainerDetail.getReceiptId());
                     receiptHeader.setFirstStatus(200);
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
index 1802005..438186c 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
@@ -72,6 +72,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
         //检查容器编码合法性
         Integer taskType = checkContainer(containerCode, detail.getMaterialCode());
         if (taskType == 1){
+            //创建临时容器
             containerCode = createContainer();
             taskType = 100;
         }else {
@@ -97,6 +98,8 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
             receiptContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());
             receiptContainerHeader.setCompanyCode(receiptDetail.getCompanyCode());
             receiptContainerHeader.setContainerCode(containerCode);
+            Container container = containerService.findAllByCode(containerCode);
+            receiptContainerHeader.setContainerType(container.getContainerType());
             receiptContainerHeader.setTaskType(String.valueOf(taskType));
             receiptContainerHeader.setProjectNo(receiptDetail.getProjectNo());
             receiptContainerHeader.setToLocation(locationCode);
@@ -128,6 +131,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
         receiptContainerDetailAdd(receiptContainerHeaders.get(0).getId(), receiptDetail, qty, containerCode, locationCode);
         //如果单据数量等于已收数量,更新入库详情状态和入库单状态
         if (receiptDetail.getTotalQty() == receiptDetail.getOpenQty()){
+            receiptDetail.setProcessStamp("200");
+            if (!receiptDetailService.updateById(receiptDetail)){
+                throw new ServiceException("更新入库详情处理标记失败");
+            }
+
             ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail);
             if (!receiptDetailService.updateById(receiptDetail1)){
                 throw new ServiceException("更新入库详情下一流程失败");
@@ -182,7 +190,9 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
                     }
                 }
                 //删除入库组盘头表
-                this.removeById(id);
+                if (!this.removeById(id)){
+                    throw new ServiceException("删除入库组盘头表失败");
+                }
             } else {
                 throw new ServiceException("已生成任务不允许取消");
             }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
index ddce569..a384875 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
+
+import io.swagger.annotations.ApiParam;
 import lombok.Data;
 
 @ApiModel(value = "com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail")
@@ -341,4 +343,11 @@ public class ReceiptDetail implements Serializable {
     @ApiModelProperty(value = "是否删除")
     private Boolean deleted;
 
+    /**
+     * 流程编码
+     */
+    @TableField(value = "statusFlowCode")
+    @ApiModelProperty(value = "流程编码")
+    private String statusFlowCode;
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
index 6b1643d..817579f 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
@@ -7,6 +7,10 @@ import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.StringUtils;
 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.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.MaterialService;
 import com.huaheng.pc.config.materialType.domain.MaterialType;
@@ -19,6 +23,7 @@ import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
 import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
+import com.huaheng.pc.system.config.domain.Config;
 import com.huaheng.pc.system.dict.domain.DictData;
 import com.huaheng.pc.system.dict.service.IDictDataService;
 import org.aspectj.weaver.loadtime.Aj;
@@ -48,6 +53,10 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
     private ReceiptPreferenceService receiptPreferenceService;
     @Resource
     private IDictDataService dictDataService;
+    @Resource
+    private CheckHeaderService checkHeaderService;
+    @Resource
+    private ConfigValueService configValueService;
 
     /**
      * 新增入库明细
@@ -163,6 +172,18 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
             return receiptDetail;
         }
 
+        //如果入库明细绑定了入库流程则从入库明细中选择流程
+        if ( StringUtils.isNotEmpty(receiptDetail.getStatusFlowCode())){
+            List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptDetail.getStatusFlowCode());
+            String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp());
+            //在状态到达时候是判断是否要质检
+            if ("200".equals(status) && inspection(receiptDetail)){
+                receiptDetail.setProcessStamp("180");
+            } else {
+                receiptDetail.setProcessStamp(status);
+            }
+            return receiptDetail;
+        }
         //查询头表信息
         LambdaQueryWrapper<ReceiptHeader> lambdaReceiptHeader = Wrappers.lambdaQuery();
         lambdaReceiptHeader.eq(ReceiptHeader::getCode, receiptDetail.getReceiptCode());
@@ -183,13 +204,23 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
             //物料是否有入库流程
             List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptType.getReceiptFlow());
             String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp());
-            receiptDetail.setProcessStamp(status);
+            //在状态到达时候是判断是否要质检
+            if ("200".equals(status) && inspection(receiptDetail)){
+                receiptDetail.setProcessStamp("180");
+            } else {
+                receiptDetail.setProcessStamp(status);
+            }
             return receiptDetail;
         } else if (material.getReceivingFlow() != null){
             //物料是否有入库流程
             List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(material.getReceivingFlow());
             String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp());
-            receiptDetail.setProcessStamp(status);
+            //在状态到达时候是判断是否要质检
+            if ("200".equals(status) && inspection(receiptDetail)){
+                receiptDetail.setProcessStamp("180");
+            } else {
+                receiptDetail.setProcessStamp(status);
+            }
             return receiptDetail;
         } else {
             //该物料类别是否有入库流程
@@ -199,16 +230,31 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
             if (materialType.getReceivingFlow() != null) {
                 List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(materialType.getReceivingFlow());
                 String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp());
-                receiptDetail.setProcessStamp(status);
+                //在状态到达时候是判断是否要质检
+                if ("200".equals(status) && inspection(receiptDetail)){
+                    receiptDetail.setProcessStamp("180");
+                } else {
+                    receiptDetail.setProcessStamp(status);
+                }
                 return receiptDetail;
             } else {
+                //查询系统参数配置中绑定的入库首选项A
+                LambdaQueryWrapper<ConfigValue> lambdaQueryWrapper = Wrappers.lambdaQuery();
+                lambdaQueryWrapper.eq(ConfigValue::getModuleType, "receipt");
+                ConfigValue configValue = configValueService.getOne(lambdaQueryWrapper);
+
                 //以上都没有的情况下查询入库首选项中的入库流程
                 LambdaQueryWrapper<ReceiptPreference> lambda = Wrappers.lambdaQuery();
-                lambda.last("Limit 1");
+                lambda.eq(ReceiptPreference::getCode, configValue.getValue());
                 ReceiptPreference receiptPreference = receiptPreferenceService.getOne(lambda);
                 List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptPreference.getReceivingFlow());
                 String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp());
-                receiptDetail.setProcessStamp(status);
+                //在状态到达时候是判断是否要质检
+                if ("200".equals(status) && inspection(receiptDetail)){
+                    receiptDetail.setProcessStamp("180");
+                } else {
+                    receiptDetail.setProcessStamp(status);
+                }
                 return receiptDetail;
             }
         }
@@ -308,4 +354,20 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
         }
         return AjaxResult.success("审核完成");
     }
+
+    /**
+     * 判断明细中是否质检
+     */
+    public boolean inspection(ReceiptDetail receiptDetail){
+        //如果明细中需要质检,则判断是否已经生成质检单
+        if ("0".equals(receiptDetail.getQcCheck())){
+            LambdaQueryWrapper<CheckHeader> lambda = Wrappers.lambdaQuery();
+            lambda.eq(CheckHeader::getReferCode, receiptDetail.getReceiptCode());
+            CheckHeader checkHeader = checkHeaderService.getOne(lambda);
+            if (checkHeader == null){
+                return true;
+            }
+        }
+        return false;
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
index ded8ef7..f24608c 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
@@ -137,7 +137,8 @@ public class ReceiptHeaderController extends BaseController {
     @PostMapping("/edit")
     @ResponseBody
     public AjaxResult editSave(ReceiptHeader receiptHeader) {
-        if (receiptHeader.getFirstStatus() >100 | receiptHeader.getLastStatus()>100){
+        ReceiptHeader receiptHeader1 = receiptHeaderService.getById(receiptHeader.getId());
+        if (receiptHeader1.getFirstStatus() >100 | receiptHeader1.getLastStatus()>100){
             return AjaxResult.error("已进入订单池,不允许修改");
         }
         receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
@@ -160,7 +161,7 @@ public class ReceiptHeaderController extends BaseController {
      * 审核入库单
      */
     @ApiOperation(value="审核入库单", notes="审核入库单", httpMethod = "POST")
-    @RequiresPermissions("receipt:receiptHeader:approval")
+    @RequiresPermissions("receipt:receiptHeader:review")
     @Log(title = "入库-入库单 ",operating = "审核入库单 ", action = BusinessType.UPDATE)
     @PostMapping("/approval")
     @ResponseBody
@@ -223,7 +224,7 @@ public class ReceiptHeaderController extends BaseController {
      */
     @ApiOperation(value="保存入库预约", notes="保存入库预约", httpMethod = "POST")
     @RequiresPermissions("receipt:receiptHeader:reservation")
-    @Log(title = "入库-入库单 ",operating = "入库单到货", action = BusinessType.UPDATE)
+    @Log(title = "入库-入库单 ",operating = "入库单预约", action = BusinessType.UPDATE)
     @PostMapping("/arrival")
     @ResponseBody
     public AjaxResult reservation(ReceiptHeader receiptHeader) {
@@ -287,4 +288,34 @@ public class ReceiptHeaderController extends BaseController {
         }
         return AjaxResult.success(receiptHeaderService.getById(id));
     }
+
+    /**
+     * 到货通知
+     */
+    @ApiOperation(value="到货通知 ", notes="到货通知 ", httpMethod = "POST")
+    @RequiresPermissions("receipt:receiptDetail:add")
+    @Log(title = "入库-入库单 ",operating = "到货通知 ", action = BusinessType.OTHER)
+    @PostMapping("/arrivalNotice")
+    @ResponseBody
+    public AjaxResult arrivalNotice(String id) {
+        if (StringUtils.isEmpty(id)){
+            return AjaxResult.success("");
+        }
+        return AjaxResult.success(receiptHeaderService.arrivalNotice(id));
+    }
+
+    /**
+     * 加入订单池
+     */
+    @ApiOperation(value="加入订单池 ", notes="加入订单池 ", httpMethod = "POST")
+    @RequiresPermissions("receipt:receiptHeader:addPool")
+    @Log(title = "入库-入库单 ",operating = "加入订单池 ", action = BusinessType.OTHER)
+    @PostMapping("/addPool")
+    @ResponseBody
+    public AjaxResult addPool(String ids) {
+        if (StringUtils.isEmpty(ids)){
+            return AjaxResult.error("id不能为空");
+        }
+        return AjaxResult.success(receiptHeaderService.addPool(ids));
+    }
 }
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 6d0f442..c932d14 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
@@ -15,6 +15,7 @@ import com.huaheng.pc.check.checkHeader.domain.CheckHeader;
 import com.huaheng.pc.check.checkHeader.service.CheckHeaderService;
 import com.huaheng.pc.config.receiptType.domain.ReceiptType;
 import com.huaheng.pc.config.receiptType.service.ReceiptTypeService;
+import com.huaheng.pc.config.sendMail.service.SendMailService;
 import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
 import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
@@ -27,6 +28,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.lang.ref.WeakReference;
 import java.text.SimpleDateFormat;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -41,6 +43,8 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
     private CheckHeaderService checkHeaderService;
     @Resource
     private CheckDetailService checkDetailService;
+    @Resource
+    private SendMailService sendMailService;
 
     /**
      * 保存入库单
@@ -155,6 +159,13 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
         receiptDetailLambda.eq(ReceiptDetail::getReceiptId, id);
         List<ReceiptDetail> receiptDetails = receiptDetailService.list(receiptDetailLambda);
 
+        //判断是否已经生成了质检单
+        LambdaQueryWrapper<CheckHeader> checkHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
+        checkHeaderLambdaQueryWrapper.eq(CheckHeader::getReferCode, receiptHeader.getCode());
+        CheckHeader checkHeaderQuery = checkHeaderService.getOne(checkHeaderLambdaQueryWrapper);
+        if (checkHeaderQuery != null){
+            throw new ServiceException("质检表已生成");
+        }
         //创建质检头表
         CheckHeader checkHeader = new CheckHeader();
         checkHeader.setCode(receiptHeader.getCode());
@@ -167,7 +178,7 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
         checkHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
 
         if (!checkHeaderService.save(checkHeader)){
-            throw new ServiceException("添加质检头表发送错误");
+            throw new ServiceException("添加质检头表错误");
         }
 
         //查询保存后的质检头表
@@ -223,4 +234,54 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
         }
         return AjaxResult.success("提交审核成功");
     }
+
+    /**
+     * 到货通知
+     * @param id
+     * @return
+     */
+    public AjaxResult arrivalNotice(String id){
+        LambdaQueryWrapper<ReceiptDetail> lambda = Wrappers.lambdaQuery();
+        lambda.eq(ReceiptDetail::getReceiptId, id);
+        List<ReceiptDetail> receiptDetails = receiptDetailService.list(lambda);
+        for (ReceiptDetail receiptDetail : receiptDetails) {
+            receiptDetail.setProcessStamp(String.valueOf(150));
+            receiptDetailService.updateById(receiptDetail);
+            if (!receiptDetailService.updateById(receiptDetailService.queryflow(receiptDetail))){
+                throw new ServiceException("更新入库明细处理标记出错");
+            }
+            receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
+        }
+        return AjaxResult.success("");
+    }
+
+    /**
+     * 加入订单池
+     * @param ids 头表id字符串
+     * @return
+     */
+    public AjaxResult addPool(String ids){
+        List<Integer> idList = Arrays.asList(Convert.toIntArray(ids));
+        for (Integer id : idList){
+            LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
+            lambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, id);
+            List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper);
+            if (list.size() != 0){
+                for (ReceiptDetail receiptDetail : list){
+                    if (Integer.parseInt(receiptDetail.getProcessStamp()) < 100){
+                        receiptDetail.setProcessStamp("100");
+                        ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail);
+                        if (!receiptDetailService.updateById(receiptDetail1)){
+                            throw new ServiceException("更新入库明细状态失败");
+                        }
+                    } else {
+                        throw new ServiceException("已有入库明细进入订单池");
+                    }
+                }
+            }
+            //更新头表状态
+            receiptDetailService.updateReceiptHeaderLastStatus(id);
+        }
+        return AjaxResult.success("");
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java
index 1d7eb5e..b701ea1 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java
@@ -63,16 +63,19 @@ public class ReceiptHeaderHistoryService extends ServiceImpl<ReceiptHeaderHistor
             if (!receiptHeaderService.removeById(receiptHeader.getId())){
                 throw new ServiceException("删除头表失败");
             }
-            //删除入库明细
-            List<Integer> ids = new ArrayList<>();
-            for (int i=0; i<receiptDetailHistoryList.size();i++){
-                receiptDetailHistoryList.get(i).setLastUpdatedBy(ShiroUtils.getLoginName());
-                ids.add(receiptDetailHistoryList.get(i).getId());
-            }
-            if (!receiptDetailService.removeByIds(ids)) {
-                throw new ServiceException("删除明细表失败");
+            // 当存在明细时删除
+            if (list.size()!= 0){
+                //删除入库明细
+                List<Integer> ids = new ArrayList<>();
+                for (int i=0; i<receiptDetailHistoryList.size();i++){
+                    receiptDetailHistoryList.get(i).setLastUpdatedBy(ShiroUtils.getLoginName());
+                    ids.add(receiptDetailHistoryList.get(i).getId());
+                }
+                if (!receiptDetailService.removeByIds(ids)) {
+                    throw new ServiceException("删除明细表失败");
+                }
+                receiptDetailHistoryService.saveBatch(receiptDetailHistoryList);
             }
-            receiptDetailHistoryService.saveBatch(receiptDetailHistoryList);
             this.save(receiptHeaderHistory);
         }else {
             return AjaxResult.success("入库单没有完成,无法删除");
diff --git a/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java b/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java
index e3242cb..6b60296 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java
@@ -1,8 +1,5 @@
 package com.huaheng.pc.receipt.receiving.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.aspectj.lang.annotation.Log;
 import com.huaheng.framework.aspectj.lang.constant.BusinessType;
 import com.huaheng.framework.web.controller.BaseController;
@@ -10,8 +7,6 @@ import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService;
 import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService;
 import com.huaheng.pc.receipt.receiving.service.ReceivingService;
-import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
-import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
diff --git a/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java b/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
index b0f45fb..ac39e43 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
@@ -182,16 +182,17 @@ public class ReceivingService {
             throw new ServiceException("组盘已生成任务不能取消定位");
         }
         //将入库组盘头表中的而库位编码赋值null
-        receiptContainerHeader.setToLocation(null);
+        receiptContainerHeader.setToLocation("");
         if (!receiptContainerHeaderService.updateById(receiptContainerHeader)){
             throw new ServiceException("回滚入库组盘头失败");
         }
 
+        //将入库组盘明细的库位修改为空
         LambdaQueryWrapper<ReceiptContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
         lambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerDetail.getReceiptContainerId());
         List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.list(lambdaQueryWrapper);
         for (ReceiptContainerDetail receiptContainerDetail2 : receiptContainerDetailList) {
-            receiptContainerDetail2.setLocationCode(null);
+            receiptContainerDetail2.setLocationCode("");
             if (!receiptContainerDetailService.updateById(receiptContainerDetail2)){
                  throw new ServiceException("回滚入库组盘明细失败");
             }
diff --git a/src/main/resources/mybatis/config/ContainerMapper.xml b/src/main/resources/mybatis/config/ContainerMapper.xml
index 32dad05..e6a0a48 100644
--- a/src/main/resources/mybatis/config/ContainerMapper.xml
+++ b/src/main/resources/mybatis/config/ContainerMapper.xml
@@ -52,4 +52,7 @@
          UPDATE container set `status`=#{status}, locationCode=#{locationCode} WHERE warehouseCode=#{warehouseCode} AND `code`=#{containerCode}
     </update>
 
+    <select id="findAllByCode" resultMap="BaseResultMap" parameterType="java.lang.String">
+        SELECT * FROM container WHERE code = #{code,jdbcType=VARCHAR}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/config/configValue/edit.html b/src/main/resources/templates/config/configValue/edit.html
index 8a70d85..cb8d6de 100644
--- a/src/main/resources/templates/config/configValue/edit.html
+++ b/src/main/resources/templates/config/configValue/edit.html
@@ -64,7 +64,7 @@
 </div>
 <div th:include="include::footer"></div>
 <script type="text/javascript">
-    var prefix = ctx + "config/configvalue";
+    var prefix = ctx + "config/configValue";
     $("#form-configValue-edit").validate({
         rules:{
             moduleType:{
diff --git a/src/main/resources/templates/config/filterConfigHeader/add.html b/src/main/resources/templates/config/filterConfigHeader/add.html
index 923b700..e07a189 100644
--- a/src/main/resources/templates/config/filterConfigHeader/add.html
+++ b/src/main/resources/templates/config/filterConfigHeader/add.html
@@ -5,18 +5,14 @@
 <body class="white-bg">
 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
     <form class="form-horizontal m" id="form-filterConfigHeader-add">
-        <div class="form-group">
-            <label class="col-sm-3 control-label">模块:</label>
-            <div class="col-sm-8">
-                <select class="form-control" name="moduleType" th:with="moduleType=${@dict.getType('moduleType')}">
-                    <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
-                </select>
-            </div>
-        </div>
+        <input name="moduleType" th:value="${moduleType}" hidden>
         <div class="form-group">
             <label class="col-sm-3 control-label">类型:</label>
             <div class="col-sm-8">
-                <select id="recordType" name="recordType" class="form-control" th:with="recordType=${@dict.getType('recordType')}">
+                <select id="recordType" name="recordType" class="form-control" th:if="${moduleType == 'receipt'}" th:with="recordType=${@dict.getType('receiptRuleType')}">
+                    <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
+                </select>
+                <select id="recordType" name="recordType" class="form-control" th:if="${moduleType != 'receipt'}" th:with="recordType=${@dict.getType('shipmentRuleType')}">
                     <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
                 </select>
             </div>
diff --git a/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html b/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html
index a286e5a..2e3d72b 100644
--- a/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html
+++ b/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html
@@ -79,7 +79,7 @@
     $(function() {
         var options = {
             url: prefix + "/list",
-            createUrl: prefix + "/add",
+            createUrl: prefix + "/add/"+[[${moduleType}]],
             updateUrl: prefix + "/edit/{id}",
             removeUrl: prefix + "/remove",
             modalName: "规则配置主表",
diff --git a/src/main/resources/templates/config/receiptPreference/add.html b/src/main/resources/templates/config/receiptPreference/add.html
index a021415..307dc6d 100644
--- a/src/main/resources/templates/config/receiptPreference/add.html
+++ b/src/main/resources/templates/config/receiptPreference/add.html
@@ -20,7 +20,7 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">入库流程:</label>
             <div class="col-sm-8">
-                <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}">
+                <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}">
                     <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option>
                 </select>
             </div>
diff --git a/src/main/resources/templates/config/receiptPreference/receiptPreference.html b/src/main/resources/templates/config/receiptPreference/receiptPreference.html
index 8bac2f9..6b72a1b 100644
--- a/src/main/resources/templates/config/receiptPreference/receiptPreference.html
+++ b/src/main/resources/templates/config/receiptPreference/receiptPreference.html
@@ -139,6 +139,7 @@
                         {
                             field : 'manuallyBuildLPN',
                             title : '人工组盘',
+                            align : "center",
                             formatter :  function(value, row, index) {
                                 return $.table.selectWhetherLabel(value);
                             },
diff --git a/src/main/resources/templates/config/receiptType/add.html b/src/main/resources/templates/config/receiptType/add.html
index d1c12e2..d97147b 100644
--- a/src/main/resources/templates/config/receiptType/add.html
+++ b/src/main/resources/templates/config/receiptType/add.html
@@ -46,7 +46,8 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">入库流程:</label>
             <div class="col-sm-8">
-                <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}">
+                <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}">
+                    <option value="">请选择</option>
                     <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option>
                 </select>
             </div>
diff --git a/src/main/resources/templates/config/receiptType/edit.html b/src/main/resources/templates/config/receiptType/edit.html
index 8f3ca3c..a092d68 100644
--- a/src/main/resources/templates/config/receiptType/edit.html
+++ b/src/main/resources/templates/config/receiptType/edit.html
@@ -48,7 +48,8 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">入库流程:</label>
             <div class="col-sm-8">
-                <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}" th:field="*{receiptFlow}">
+                <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}" th:field="*{receiptFlow}">
+                    <option value="">请选择</option>
                     <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option>
                 </select>
             </div>
diff --git a/src/main/resources/templates/config/statusFlowDetail/add.html b/src/main/resources/templates/config/statusFlowDetail/add.html
index 0b63952..7854e00 100644
--- a/src/main/resources/templates/config/statusFlowDetail/add.html
+++ b/src/main/resources/templates/config/statusFlowDetail/add.html
@@ -16,9 +16,7 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">模块:</label>
             <div class="col-sm-8">
-                <select id="moduleType" name="moduleType" class="form-control" th:with="moduleType=${@dict.getType('moduleType')}">
-                    <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
-                </select>
+                <input id="moduleType" name="moduleType" class="form-control" type="text" th:value="${moduleType}" readonly="readonly">
             </div>
         </div>
         <div class="form-group">
diff --git a/src/main/resources/templates/config/statusFlowHeader/add.html b/src/main/resources/templates/config/statusFlowHeader/add.html
index adf741e..6b45eb6 100644
--- a/src/main/resources/templates/config/statusFlowHeader/add.html
+++ b/src/main/resources/templates/config/statusFlowHeader/add.html
@@ -5,6 +5,7 @@
 <body class="white-bg">
 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
     <form class="form-horizontal m" id="form-statusFlowHeader-add">
+        <input id="moduleType" name="moduleType" hidden th:value="${moduleType}">
         <div class="form-group">
             <label class="col-sm-3 control-label">编码:</label>
             <div class="col-sm-8">
@@ -17,22 +18,7 @@
                 <input id="name" name="name" class="form-control" type="text">
             </div>
         </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">模块:</label>
-            <div class="col-sm-8">
-                <select id="moduleType" name="moduleType" class="form-control" th:with="moduleType=${@dict.getType('moduleType')}">
-                    <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
-                </select>
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">类型:</label>
-            <div class="col-sm-8">
-                <select id="recordType" name="recordType" class="form-control" th:with="recordType=${@dict.getType('recordType')}">
-                    <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
-                </select>
-            </div>
-        </div>
+        <input id="recordType" name="recordType" class="form-control" type="hidden" th:value="${moduleType} == 'receipt'? 'receivingFlow':'shippingFlow'">
         <!--<div class="form-group">-->
         <!--    <label class="col-sm-3 control-label">数据版本:</label>-->
         <!--    <div class="col-sm-8">-->
diff --git a/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html b/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html
index 675c1e1..dca7c9b 100644
--- a/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html
+++ b/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html
@@ -82,7 +82,7 @@
     $(function() {
         var options = {
             url: prefix + "/list",
-            createUrl: prefix + "/add",
+            createUrl: prefix + "/add/"+[[${moduleType}]],
             updateUrl: prefix + "/edit/{id}",
             removeUrl: prefix + "/remove",
             modalName: "流程",
diff --git a/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html b/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html
index 232ca9c..d7fb880 100644
--- a/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html
+++ b/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html
@@ -91,14 +91,16 @@
             </div>
         </div>
         <div class="btn-group hidden-xs" id="toolbar" role="group">
-            <a class="btn btn-outline btn-success btn-rounded" onclick="add()">
+            <a class="btn btn-outline btn-success btn-rounded" onclick="add()"
+               shiro:hasPermission="inventory:adjustDetail:add" >
                 <i class="fa fa-plus"></i> 新增
             </a>
-            <a class="btn btn-outline btn-primary btn-rounded" onclick="agree()">
+            <a class="btn btn-outline btn-primary btn-rounded" onclick="agree()"
+               shiro:hasPermission="inventory:adjustDetail:adjustAgree" >
                 <i class="fa fa-edit"></i> 审批
             </a>
-            <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()"/>
-            <!--shiro:hasPermission="inventory:cyclecountAdjustDetail:addAdjust"-->
+            <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()"
+                shiro:hasPermission="inventory:adjustDetail:addAdjust">
             <i class="fa fa-vcard"></i>调整
             </a>
             <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()">
@@ -112,6 +114,7 @@
 <script th:inline="javascript">
     var prefix = ctx + "inventory/adjustDetail";
     var prefix_head = ctx + "inventory/adjustHeader";
+    var removes= [[${@permission.hasPermi('inventory:adjustDetail:remove')}]];
     var type2 = [[${@dict.getType('adjustType')}]];
     var adjustStatus = [[${@dict.getType('adjustStatus')}]];
     var inventoryStatus = [[${@dict.getType('inventoryStatus')}]];
@@ -353,7 +356,7 @@
                     align: 'center',
                     formatter: function (value, row, index) {
                         var actions = [];
-                        actions.push('<a class="btn btn-danger btn-xs" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removes + ' " href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');
                         return actions.join('');
                     }
                 }
diff --git a/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html b/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html
index 1ab0768..014cbb6 100644
--- a/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html
+++ b/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html
@@ -69,13 +69,13 @@
                     </div>
                     <div class="btn-group hidden-xs" id="toolbar" role="group">
                         <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()"
-                           shiro:hasPermission="inventory:cycleCount:add">
+                           shiro:hasPermission="inventory:adjustHeader:add">
                             <i class="fa fa-plus"></i> 新增
                         </a>
-                        <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()"
-                           shiro:hasPermission="inventory:cycleCount:remove">
-                            <i class="fa fa-trash-o"></i> 删除
-                        </a>-->
+                        <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()"
+                               shiro:hasPermission="inventory:adjustHeader:remove">
+                        <i class="fa fa-trash-o"></i> 删除
+                    </a>
                     </div>
                     <table id="bootstrap-table" data-mobile-responsive="true"
                            class="table table-bordered table-hover"></table>
@@ -90,7 +90,7 @@
 <script th:inline="javascript">
     var prefix = ctx + "inventory/adjustHeader";
     var upload = [[${@permission.hasPermi('inventoryHeader:adjustHeader:upload')}]];
-    var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]];
+    var report = [[${@permission.hasPermi('inventory:adjustHeader:report')}]];
     var datas = [[${@dict.getType('sys_normal_disable')}]];
     var type2 = [[${@dict.getType('adjustType')}]];
 
@@ -180,8 +180,8 @@
                     align: 'center',
                     formatter: function (value, row, index) {
                         var actions = [];
-                        /* actions.push('<a class="btn btn-success btn-xs " href="#" onclick="adjustPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> ');
-                           actions.push('<a class="btn btn-info btn-xs ' + upload + ' " href="#" onclick="upLoad(\'' + row.code + '\',\'' + row.sourceCode + '\')"><i class="fa fa-edit"></i>上传</a> ');
+                         actions.push('<a class="btn btn-success btn-xs " href="#" onclick="adjustPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> ');
+                         /*  actions.push('<a class="btn btn-info btn-xs ' + upload + ' " href="#" onclick="upLoad(\'' + row.code + '\',\'' + row.sourceCode + '\')"><i class="fa fa-edit"></i>上传</a> ');
                          actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');*/
                         actions.push('<a style="background: #b5bdc0" class="btn btn-default btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>明细</a>');
                         return actions.join('');
diff --git a/src/main/resources/templates/inventory/cycleCountDetail/add.html b/src/main/resources/templates/inventory/cycleCountDetail/add.html
index f1de843..3883657 100644
--- a/src/main/resources/templates/inventory/cycleCountDetail/add.html
+++ b/src/main/resources/templates/inventory/cycleCountDetail/add.html
@@ -11,7 +11,6 @@
                 <input type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode" th:value="${cycleCountHeadCode}">
 					<div class="select-list">
 						<ul>
-                            <ul>
                                 <li>
                                     库存头ID:<input id="inventoryHeaderId" type="text" name="inventoryHeaderId"/>
                                 </li>
@@ -79,12 +78,14 @@
 								<a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
 								<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
 							</li>
-						</ul>
+                        </ul>
 					</div>
 				</form>
 		</div>
 		<div class="col-sm-12 select-info">
-			<a class="btn btn-success btn-sm" onclick="addDetails()" style="float: left; margin-top: 12px" shiro:hasPermission="inventory:cyclecountDetail:add"><i class="fa fa-edit" ></i>&nbsp;批量添加盘点明细</a>
+			<a class="btn btn-success btn-sm" onclick="addDetails()" style="float: left; margin-top: 12px"
+               shiro:hasPermission="inventory:cyclecountDetail:add">
+                <i class="fa fa-edit" ></i>&nbsp;添加盘点明细</a>
 			<table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
 		</div>
 	</div>
@@ -94,7 +95,7 @@
 <div th:include="include::footer"></div>
 
 <script th:inline="javascript">
-    var addFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:add')}]];
+    var addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]];
     // var removeFlag = [[${@permission.hasPermi('inventoryHeader:inventoryHeader:remove')}]];
     var prefix = ctx + "inventory/inventoryDetail";
     var prefix_cycleDetails = ctx + "inventory/cycleCountDetail";
@@ -132,7 +133,7 @@
                 {
                     checkbox: true
                 },
-                {
+                /*{
                     title: '操作',
                     align: 'center',
                     formatter: function(value, row, index) {
@@ -141,10 +142,10 @@
                         // 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('');
                     }
-                },
+                },*/
                 {
                     field: 'id',
-                    title: '明细ID',
+                    title: '库存明细ID',
                     sortable: true
                 },
                 {
@@ -315,14 +316,18 @@
 
     });
 
-    /*function addDetail(cycleCountHeadId) {
-        addInner($('cycleCountHeadId').val(),cycleCountHeadId);
-    }*/
+    function addDetail(id) {
+        /*var ids =[];
+            rows.forEach(function (item) {
+            ids.push(item.id);
+        });*/
+        addInner($('#cycleCountHeadCode').val(),id);
+    }
 
     function addDetails() {
         var rows=$("#bootstrap-table").bootstrapTable('getSelections');
         if (rows.length < 1) {
-            $.modal.alertWarning("请先选择记录");
+            $.modal.alertWarning("请选择库存明细!");
             return;
         }
         var ids =[];
@@ -339,7 +344,7 @@
             url : prefix_cycleDetails + "/add",
             data:{
                 cycleCountHeadCode:cycleCountHeadCode,
-                inventoryDetailIdIds:ids
+                inventoryDetailIds:ids
             },
             async : false,
             error : function(request) {
diff --git a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
index 8c9e175..430338b 100644
--- a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
+++ b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
@@ -85,7 +85,7 @@
         </div>
         <div class="btn-group hidden-xs" id="toolbar" role="group">
             <a class="btn btn-outline btn-success btn-rounded" onclick="add()"
-               shiro:hasPermission="inventory:cycleCountDetail:add">
+               shiro:hasPermission="inventory:cyclecountDetail:add">
                 <i class="fa fa-plus"></i> 新增
             </a>
             <a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()"
@@ -98,7 +98,7 @@
             </a>
             <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()"
                shiro:hasPermission="inventory:cyclecountDetail:remove">
-                <i class="fa fa-trash-o"></i> 批量删除
+                <i class="fa fa-trash-o"></i> 删除
             </a>
             <a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()">
                 <i class="fa fa-refresh"></i> 刷新
@@ -109,10 +109,10 @@
 </div>
 <div th:include="include :: footer"></div>
 <script th:inline="javascript">
-    var editFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:edit')}]];
-    var removeFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:remove')}]];
-    var confirmFlag=[[${@permission.hasPermi('inventoryHeader:cycleCountDetail:confirm')}]];
-    var createTaskFalg=[[${@permission.hasPermi('inventoryHeader:cycleCountDetail:createTask')}]];
+    //var editFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:remove')}]];
+    var confirmFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:confirm')}]];
+    var createTaskFalg = [[${@permission.hasPermi('inventory:cyclecountDetail:createTask')}]];
     var prefix = ctx + "inventory/cycleCountDetail";
     var prefix_head = ctx + "inventory/cycleCountHeader";
     var remove_url= prefix + "/remove";
@@ -318,12 +318,13 @@
                     align: 'center',
                     formatter: function (value, row, index) {
                         var actions = [];
-
-                            actions.push('<a class="btn btn-success btn-xs " href="#" onclick="confirmGapQty(\'' + row.id + '\')"><i class="fa fa-comment"></i>实盘登记</a> ');
-
-                            actions.push('<a class="btn btn-primary btn-xs " href="#" onclick="outcheck(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成盘点任务</a> ');
-
-                        actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>');
+                            if(row.enableStatus >= 10 && row.enableStatus < 100){
+                                actions.push('<a class="btn btn-success btn-xs ' + confirmFlag + '" href="#" onclick="confirmGapQty(\'' + row.id + '\')"><i class="fa fa-comment"></i>实盘登记</a> ');
+                            }
+                            if(row.enableStatus  === 1 ){
+                                actions.push('<a class="btn btn-primary btn-xs ' + createTaskFalg + '" href="#" onclick="outcheck(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成盘点任务</a> ');
+                            }
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>');
                         return actions.join('');
                     }
                 }]
diff --git a/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html b/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html
index 11bb5bd..54310a5 100644
--- a/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html
+++ b/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html
@@ -70,13 +70,13 @@
                     </div>
                     <div class="btn-group hidden-xs" id="toolbar" role="group">
                         <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()"
-                           shiro:hasPermission="inventory:cycleCount:add">
+                           shiro:hasPermission="inventory:cycleCountHeader:add">
                             <i class="fa fa-plus"></i> 新增
                         </a>
-                        <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()"
-                           shiro:hasPermission="inventory:cycleCount:remove">
+                        <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()"
+                           shiro:hasPermission="inventory:cycleCountHeader:remove">
                             <i class="fa fa-trash-o"></i> 删除
-                        </a>
+                        </a>-->
                     </div>
                     <table id="bootstrap-table" data-mobile-responsive="true"
                            class="table table-bordered table-hover"></table>
@@ -89,10 +89,10 @@
 </div>
 <div th:include="include :: footer"></div>
 <script th:inline="javascript">
-    var reportFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:report')}]];
-    var editFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:edit')}]];
-    var addAdjust = [[${@permission.hasPermi('inventoryHeader:cyclecountHead:addAdjust')}]];
-    var removeFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:remove')}]];
+    var reportFlag = [[${@permission.hasPermi('inventory:cycleCountHeader:report')}]];
+    //var editFlag = [[${@permission.hasPermi('inventory:cycleCountHeader:edit')}]];
+    var addAdjust = [[${@permission.hasPermi('inventory:cyclecountHead:addAdjust')}]];
+    var removeFlag = [[${@permission.hasPermi('inventory:cycleCount:remove')}]];
     var prefix = ctx + "inventory/cycleCountHeader";
     var datas = [[${@dict.getType('sys_normal_disable')}]];
     var types = [[${@dict.getType('cyclecountType')}]];
@@ -137,6 +137,11 @@
                     title: '货主编码'
                 },
                 {
+                    field: 'round',
+                    title: ' 盘点轮次',
+                    visible: false
+                },
+                {
                     field: 'sourceCode',
                     title: '源盘点单'
                 },
@@ -274,12 +279,12 @@
                     align: 'center',
                     formatter: function (value, row, index) {
                         var actions = [];
-                        actions.push('<a class="btn btn-success btn-xs " href="#" onclick="cyclecountPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> ');
-
-                        actions.push('<a class="btn btn-warning btn-xs " href="#" onclick="goAdjust(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成调整单</a> ');
-
-                        //actions.push('<a class="btn btn-info btn-xs " href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
-                        actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');
+                        actions.push('<a class="btn btn-success btn-xs ' + reportFlag + '" href="#" onclick="cyclecountPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> ');
+                        if(row.statusCyc === 100){
+                            actions.push('<a class="btn btn-warning btn-xs ' + addAdjust + '" href="#" onclick="goAdjust(\'' + row.id + '\')"><i class="fa fa-gbp"></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> ');
                          return actions.join('');
                     }
                 }]
diff --git a/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html b/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
index f7c4248..d57afe3 100644
--- a/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
+++ b/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
@@ -86,7 +86,7 @@
                shiro:hasPermission="inventory:inventoryHeader:seeOut">
                 <i class="fa fa-eye"></i> 出库查看
             </a>
-            <a class="btn btn-outline btn-primary btn-rounded" onclick="check()"
+            <a class="btn btn-outline btn-danger btn-rounded" onclick="check()"
                shiro:hasPermission="inventory:inventoryDetail:detailCheckTask">
                 <i class="fa fa-eye"></i> 在库质检
             </a>
@@ -305,7 +305,9 @@
                     visible: false
                 }
             ]
-        },url = location.search.substr(1);
+        },
+
+        url = location.search.substr(1);
         let strs = url.split("&");
         $("#inventoryHeaderId").val(strs[0]);
         $("#locationCode").val(strs[1]);
diff --git a/src/main/resources/templates/receipt/receiptDetail/add.html b/src/main/resources/templates/receipt/receiptDetail/add.html
index f9f9e32..a25975c 100644
--- a/src/main/resources/templates/receipt/receiptDetail/add.html
+++ b/src/main/resources/templates/receipt/receiptDetail/add.html
@@ -52,7 +52,10 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">是否质检:</label>
             <div class="col-sm-8">
-                <input id="qcCheck" name="qcCheck" class="form-control" type="text">
+                <select id="qcCheck" name="qcCheck" class="form-control">
+                    <option value="1">否</option>
+                    <option value="0">是</option>
+                </select>
             </div>
         </div>
         <div class="form-group">
@@ -70,7 +73,7 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">库存状态:</label>
             <div class="col-sm-8">
-                <select id="inventorySts" name="inventorySts" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">
+                <select id="inventorySts" name="inventorySts" class="form-control" th:with="inventoryStatus=${@dict.getType('inventorySts')}">
                     <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option>
                 </select>
             </div>
@@ -84,12 +87,21 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">定位规则:</label>
             <div class="col-sm-8">
-                <select id="locatingRule" name="locatingRule" class="form-control" th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('入库')}">
+                <select id="locatingRule" name="locatingRule" class="form-control" th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('locationRule')}">
                     <option value="">请选择</option>
                     <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option>
                 </select>
             </div>
         </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">入库流程:</label>
+            <div class="col-sm-8">
+                <select id="statusFlowCode" name="statusFlowCode" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}">
+                    <option value="">请选择</option>
+                    <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option>
+                </select>
+            </div>
+        </div>
 <!--        <div class="form-group">-->
 <!--            <label class="col-sm-3 control-label">标价:</label>-->
 <!--            <div class="col-sm-8">-->
@@ -150,6 +162,7 @@
         submitHandler: function(form) {
             var tableValue = $("#form-receiptDetail-add").serialize();
             tableValue = formValueReplace(tableValue, "inventorySts", $("#inventorySts option:selected").val());
+            tableValue = formValueReplace(tableValue, "qcCheck", $("#qcCheck option:selected").val());
             $.operate.save(prefix + "/add", tableValue);
         }
     });
diff --git a/src/main/resources/templates/receipt/receiptDetail/edit.html b/src/main/resources/templates/receipt/receiptDetail/edit.html
index eb16d9a..a7d31fc 100644
--- a/src/main/resources/templates/receipt/receiptDetail/edit.html
+++ b/src/main/resources/templates/receipt/receiptDetail/edit.html
@@ -53,7 +53,10 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">是否质检:</label>
             <div class="col-sm-8">
-                <input id="qcCheck" name="qcCheck" class="form-control" type="text" th:field="*{qcCheck}">
+                <select id="qcCheck" name="qcCheck" class="form-control" th:field="*{qcCheck}">
+                    <option value="1">否</option>
+                    <option value="0">是</option>
+                </select>
             </div>
         </div>
         <div class="form-group">
@@ -72,7 +75,7 @@
             <label class="col-sm-3 control-label">库存状态:</label>
             <div class="col-sm-8">
                 <select id="inventorySts" name="inventorySts" class="form-control"
-                        th:with="inventoryStatus=${@dict.getType('inventoryStatus')}" th:field="*{inventorySts}">
+                        th:with="inventoryStatus=${@dict.getType('inventorySts')}" th:field="*{inventorySts}">
                     <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option>
                 </select>
             </div>
@@ -86,7 +89,11 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">定位规则:</label>
             <div class="col-sm-8">
-                <input id="locatingRule" name="locatingRule" class="form-control" type="text" th:field="*{locatingRule}">
+                <select id="locatingRule" name="locatingRule" class="form-control"
+                        th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('locationRule')}" th:field="*{locatingRule}">
+                    <option value="">请选择</option>
+                    <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
@@ -101,6 +108,16 @@
                 <input id="itemNetPrice" name="itemNetPrice" class="form-control" type="text" th:field="*{itemNetPrice}">
             </div>
         </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">入库流程:</label>
+            <div class="col-sm-8">
+                <select id="statusFlowCode" name="statusFlowCode" class="form-control"
+                        th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}" th:field="*{statusFlowCode}">
+                    <option value="">请选择</option>
+                    <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option>
+                </select>
+            </div>
+        </div>
         <!--<div class="form-group">-->
         <!--<label class="col-sm-3 control-label">自定义字段1:</label>-->
         <!--<div class="col-sm-8">-->
diff --git a/src/main/resources/templates/receipt/receiptHeader/edit.html b/src/main/resources/templates/receipt/receiptHeader/edit.html
index 369ce9c..31c1b3c 100644
--- a/src/main/resources/templates/receipt/receiptHeader/edit.html
+++ b/src/main/resources/templates/receipt/receiptHeader/edit.html
@@ -54,9 +54,6 @@
             },
             companyCode:{
                 required:true,
-            },
-            scheduledArriveDate:{
-                required:true,
             }
         },
         submitHandler: function(form) {
diff --git a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
index 96aee72..e583e89 100644
--- a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
+++ b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
@@ -82,12 +82,15 @@
                         <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="receipt:receiptHeader:add">
                             <i class="fa fa-plus"></i> 新增
                         </a>
-                        <a class="btn btn-outline btn-default btn-rounded" onclick="submitReview()" shiro:hasPermission="receipt:receiptHeader:add">
+                        <a class="btn btn-outline btn-default btn-rounded" onclick="submitReview()" shiro:hasPermission="receipt:receiptHeader:approval">
                             <i class="fa fa-fighter-jet"></i> 提交审核
                         </a>
-                        <a class="btn btn-outline btn-primary btn-rounded" onclick="approval()" shiro:hasPermission="receipt:receiptHeader:add">
+                        <a class="btn btn-outline btn-primary btn-rounded" onclick="approval()" shiro:hasPermission="receipt:receiptHeader:review">
                             <i class="fa fa-level-up"></i> 审核通过
                         </a>
+                        <a class="btn btn-outline btn-primary btn-rounded" onclick="addPool()" shiro:hasPermission="receipt:receiptHeader:addPool">
+                            <i class="fa fa-check-circle"></i> 加入订单池
+                        </a>
                         <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="receipt:receiptHeader:remove">
                             <i class="fa fa-trash-o"></i> 删除
                         </a>
@@ -389,7 +392,7 @@
                             actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="arrival(\'' + row.id + '\')" ><i class="fa fa-edit"></i>入库预约</a> ');
                         }
                         if (row.firstStatus ==150 || row.lastStatus == 150 ){
-                            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-info btn-xs ' + editFlag + '" href="#" onclick="arrivalNotice(\'' + row.id + '\')" ><i class="fa fa-edit"></i>到货通知</a> ');
                         }
                         if (row.firstStatus ==180 || row.lastStatus == 180 ){
                             actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="check(\'' + row.id + '\')" ><i class="fa fa-edit"></i>质检</a> ');
@@ -474,7 +477,17 @@
             },
             {
                 field : 'qcCheck',
-                title : '是否质检'
+                title : '是否质检',
+                align : "center",
+                formatter: function(value, row, index) {
+                    var actions = [];
+                    if (value == 0) {
+                        actions.push("<span class='badge badge-info'>是</span>");
+                    } else {
+                        actions.push("<span class='badge badge-info'>否</span>");
+                    }
+                    return actions.join('');
+                }
             },
             {
                 field : 'projectNo',
@@ -541,8 +554,13 @@
                 visible:false
             },
             {
+                field : 'statusFlowCode',
+                title : '流程编码'
+            },
+            {
                 field : 'isVirtualBom',
                 title : '是否虚拟套件',
+                align : "center",
                 formatter: function(value, row, index) {
                     return $.table.selectDictLabel(isVirtualBoms, value);
                 }
@@ -807,6 +825,27 @@
         var data = { "id": id };
         $.operate.submit(url, "post", "json", data);
     }
+    
+    function arrivalNotice(id) {
+        var url = prefix+"/arrivalNotice";
+        var data = { "id": id };
+        $.operate.submit(url, "post", "json", data);
+    }
+    
+    function addPool() {
+        var rows=$("#bootstrap-table").bootstrapTable('getSelections');
+        if (rows.length == 0) {
+            $.modal.alertWarning("请至少选择一条记录");
+            return;
+        }
+        var url = prefix+"/addPool";
+        var ids = "";
+        for(var i=0; i<rows.length; i++) {
+            ids = ids + rows[i].id + ","
+        }
+        var data = { "ids": ids.substring(0, ids.length-1),"approval": 100 };
+        $.operate.submit(url, "post", "json", data);
+    }
 </script>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/resources/templates/receipt/receiving/receiving.html b/src/main/resources/templates/receipt/receiving/receiving.html
index 61e7b3e..b49ed03 100644
--- a/src/main/resources/templates/receipt/receiving/receiving.html
+++ b/src/main/resources/templates/receipt/receiving/receiving.html
@@ -189,15 +189,11 @@
         updateUrl: prefix + "/edit/{id}",
         removeUrl: prefix + "/remove",
         contentType: "application/x-www-form-urlencoded",
-        // search: true, //搜索
-        // showRefresh: true,//刷新
-        // showToggle:true, //视图切换
         clickToSelect: true,
-        // showColumns:true, //列选择
-        // detailView:true,
-        // showExport: true, //导出
-        // exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据
         modalName: "收货",
+		onRefresh: function(){
+
+		},
         columns: [
             {
                 field:'work',
@@ -367,6 +363,7 @@
 		}
         localStorage.removeItem("receiving_code");
     }
+
     receiving_refresh();
 
     function remove(id) {
@@ -390,7 +387,18 @@
 			ids += ",";
 		}
 		var data = { "ids": ids };
-		$.operate.submit(url, "post", "json", data);
+		$.modal.loading("正在处理中,请稍后...");
+		var config = {
+			url: url,
+			type: "post",
+			dataType: "json",
+			data: data,
+			success: function(result) {
+				$.operate.ajaxSuccess(result);
+				list_receiptInfo($("#code").val());
+			}
+		};
+		$.ajax(config)
 	}
 
 	function cancelPositioning() {
@@ -406,7 +414,20 @@
 			ids += ",";
 		}
 		var data = { "ids": ids };
-		$.operate.submit(url, "post", "json", data);
+
+		$.modal.loading("正在处理中,请稍后...");
+		var config = {
+			url: url,
+			type: "post",
+			dataType: "json",
+			data: data,
+			success: function(result) {
+				$.operate.ajaxSuccess(result);
+				list_receiptInfo($("#code").val());
+			}
+		};
+		$.ajax(config)
+
 	}
 
 	function batRemove() {
@@ -418,11 +439,22 @@
 		var url = ctx+"receipt/receiptContainerDetail/remove";
 		var ids = "";
 		for (var i = 0; i<rows.length; i++){
-			ids += rows[i].receiptContainerId;
+			ids += rows[i].id;
 			ids += ",";
 		}
 		var data = { "ids": ids };
-		$.operate.submit(url, "post", "json", data);
+		var config = {
+			url: url,
+			type: "post",
+			dataType: "json",
+			data: data,
+			success: function(result) {
+				$.operate.ajaxSuccess(result);
+				list_receiptInfo($("#code").val());
+				list_select($("#code").val());
+			}
+		};
+		$.ajax(config)
 	}
 </script>
 </body>