diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a23fc48..2019887 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,88 +2,70 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="908d8a6f-e3e4-4fdc-b674-e523a3e2b520" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/materialType/controller/MaterialTypeController.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/resources/templates/config/materialType/add.html" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/resources/templates/config/materialType/edit.html" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/resources/templates/config/materialType/materialType.html" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.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" />
     </list>
-    <ignored path="$PROJECT_DIR$/target/" />
-    <ignored path="$PROJECT_DIR$/out/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
     <option name="LAST_RESOLUTION" value="IGNORE" />
   </component>
-  <component name="FileEditorManager">
-    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="192">
-              <caret line="38" column="32" lean-forward="true" selection-start-line="38" selection-start-column="32" selection-end-line="38" selection-end-column="32" />
-              <folding>
-                <element signature="n#style#0;n#a#0;n#!!top" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="740">
-              <caret line="37" column="33" selection-start-line="37" selection-start-column="33" selection-end-line="37" selection-end-column="33" />
-              <folding>
-                <element signature="e#6574#12020#0" />
-                <element signature="e#11542#11950#0" />
-                <element signature="e#11954#12938#0" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-    </leaf>
+  <component name="DatabaseView">
+    <option name="SHOW_INTERMEDIATE" value="false" />
+    <option name="GROUP_DATA_SOURCES" value="true" />
+    <option name="GROUP_SCHEMA" value="true" />
+    <option name="GROUP_CONTENTS" value="false" />
+    <option name="SORT_POSITIONED" value="false" />
+    <option name="SHOW_EMPTY_GROUPS" value="false" />
+    <option name="AUTO_SCROLL_FROM_SOURCE" value="true" />
+    <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="status_flow_detail: table" type="285a2a93:MysqlImplModel$Table" />
+      </path>
+    </expand>
+    <select />
   </component>
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
         <option value="Class" />
+        <option value="CSS File" />
+        <option value="HTML File" />
       </list>
     </option>
   </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
   </component>
-  <component name="IdeDocumentHistory">
-    <option name="CHANGED_PATHS">
-      <list>
-        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html" />
-        <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html" />
-        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml" />
-        <option value="$PROJECT_DIR$/src/main/resources/mybatis/inventory/CycleCountDetailMapper.xml" />
-        <option value="$PROJECT_DIR$/src/main/resources/mybatis/inventory/AdjustHeaderMapper.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustHeader/domain/AdjustHeader.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java" />
-        <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html" />
-        <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html" />
-        <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html" />
-        <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html" />
-      </list>
-    </option>
-  </component>
   <component name="MavenImportPreferences">
     <option name="importingSettings">
       <MavenImportingSettings>
@@ -91,223 +73,36 @@
       </MavenImportingSettings>
     </option>
   </component>
-  <component name="MavenProjectNavigator">
-    <treeState>
-      <expand>
-        <path>
-          <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
-          <item name="huaheng" type="9519ce18:MavenProjectsStructure$ProjectNode" />
-        </path>
-      </expand>
-      <select />
-    </treeState>
-  </component>
-  <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="-9" />
-    <option name="y" value="-9" />
-    <option name="width" value="1938" />
-    <option name="height" value="1048" />
-  </component>
+  <component name="ProjectId" id="1Q2nhRM7LRz3yFWhpclOKgTjxn0" />
   <component name="ProjectLevelVcsManager">
     <ConfirmationsSetting value="2" id="Add" />
   </component>
-  <component name="ProjectView">
-    <navigator proportions="" version="1">
-      <foldersAlwaysOnTop value="true" />
-    </navigator>
-    <panes>
-      <pane id="ProjectPane">
-        <subPane>
-          <expand>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="java" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="java" type="462c0819:PsiDirectoryNode" />
-              <item name="com" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="java" type="462c0819:PsiDirectoryNode" />
-              <item name="com" type="462c0819:PsiDirectoryNode" />
-              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="java" type="462c0819:PsiDirectoryNode" />
-              <item name="com" type="462c0819:PsiDirectoryNode" />
-              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
-              <item name="pc" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="java" type="462c0819:PsiDirectoryNode" />
-              <item name="com" type="462c0819:PsiDirectoryNode" />
-              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
-              <item name="pc" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="java" type="462c0819:PsiDirectoryNode" />
-              <item name="com" type="462c0819:PsiDirectoryNode" />
-              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
-              <item name="pc" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-              <item name="adjustDetail" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="java" type="462c0819:PsiDirectoryNode" />
-              <item name="com" type="462c0819:PsiDirectoryNode" />
-              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
-              <item name="pc" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-              <item name="adjustDetail" type="462c0819:PsiDirectoryNode" />
-              <item name="domain" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="java" type="462c0819:PsiDirectoryNode" />
-              <item name="com" type="462c0819:PsiDirectoryNode" />
-              <item name="huaheng" type="462c0819:PsiDirectoryNode" />
-              <item name="pc" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-              <item name="adjustDetail" type="462c0819:PsiDirectoryNode" />
-              <item name="mapper" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="resources" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="resources" type="462c0819:PsiDirectoryNode" />
-              <item name="templates" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="resources" type="462c0819:PsiDirectoryNode" />
-              <item name="templates" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="resources" type="462c0819:PsiDirectoryNode" />
-              <item name="templates" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-              <item name="adjustDetail" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="resources" type="462c0819:PsiDirectoryNode" />
-              <item name="templates" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-              <item name="adjustHeader" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="resources" type="462c0819:PsiDirectoryNode" />
-              <item name="templates" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-              <item name="cycleCountDetail" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="resources" type="462c0819:PsiDirectoryNode" />
-              <item name="templates" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-              <item name="inventoryDetail" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
-              <item name="wms2" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="resources" type="462c0819:PsiDirectoryNode" />
-              <item name="templates" type="462c0819:PsiDirectoryNode" />
-              <item name="inventory" type="462c0819:PsiDirectoryNode" />
-              <item name="inventoryTransaction" type="462c0819:PsiDirectoryNode" />
-            </path>
-          </expand>
-          <select />
-        </subPane>
-      </pane>
-      <pane id="Scope" />
-      <pane id="PackagesPane" />
-    </panes>
-  </component>
   <component name="PropertiesComponent">
+    <property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
+    <property name="DefaultHtmlFileTemplate" value="HTML File" />
+    <property name="ExpandSpringBootJavaOptionsPanel" value="true" />
     <property name="RequestMappingsPanelOrder0" value="0" />
     <property name="RequestMappingsPanelOrder1" value="1" />
     <property name="RequestMappingsPanelWidth0" value="75" />
     <property name="RequestMappingsPanelWidth1" value="75" />
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="aspect.path.notification.shown" value="true" />
+    <property name="list.type.of.created.stylesheet" value="CSS" />
+    <property name="node.js.detected.package.eslint" value="true" />
+    <property name="node.js.path.for.package.eslint" value="project" />
+    <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="nodejs_package_manager_path" value="npm" />
+    <property name="settings.editor.selected.configurable" value="preferences.fileTypes" />
   </component>
   <component name="RunDashboard">
+    <option name="configurationTypes">
+      <set>
+        <option value="SpringBootApplicationConfigurationType" />
+      </set>
+    </option>
     <option name="ruleStates">
       <list>
         <RuleState>
@@ -321,51 +116,74 @@
   </component>
   <component name="RunManager">
     <configuration name="HuaHengApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
-      <module name="wms2" />
+      <module name="huaheng" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.huaheng.HuaHengApplication" />
       <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="UPDATE_ACTION_UPDATE_POLICY" value="UpdateClassesAndResources" />
+      <option name="FRAME_DEACTIVATION_UPDATE_POLICY" value="UpdateClassesAndResources" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
     </configuration>
   </component>
+  <component name="ServiceViewManager">
+    <option name="allServicesViewState">
+      <serviceView>
+        <option name="contentProportion" value="0.20779221" />
+        <treeState>
+          <expand>
+            <path>
+              <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@c44696ca" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+            </path>
+            <path>
+              <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@c44696ca" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+              <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@fcf19045" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+            </path>
+          </expand>
+          <select />
+        </treeState>
+      </serviceView>
+    </option>
+  </component>
   <component name="SvnConfiguration">
     <configuration />
   </component>
-  <component name="ToolWindowManager">
-    <frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
-    <editor active="true" />
-    <layout>
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.28686327" />
-      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
-      <window_info id="Web" order="2" side_tool="true" />
-      <window_info id="Designer" order="3" />
-      <window_info id="UI Designer" order="4" />
-      <window_info id="Favorites" order="5" side_tool="true" />
-      <window_info anchor="bottom" id="Message" order="0" />
-      <window_info anchor="bottom" id="Find" order="1" weight="0.3286119" />
-      <window_info anchor="bottom" id="Run" order="2" />
-      <window_info anchor="bottom" id="Debug" order="3" visible="true" weight="0.29036826" />
-      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
-      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
-      <window_info anchor="bottom" id="TODO" order="6" />
-      <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
-      <window_info anchor="bottom" id="Version Control" order="8" weight="0.14164306" />
-      <window_info anchor="bottom" id="Database Changes" order="9" />
-      <window_info anchor="bottom" id="Spring" order="10" />
-      <window_info anchor="bottom" id="MyBatis Log" order="11" />
-      <window_info anchor="bottom" id="Event Log" order="12" side_tool="true" />
-      <window_info anchor="bottom" id="Messages" order="13" weight="0.12606232" />
-      <window_info anchor="bottom" id="Java Enterprise" order="14" />
-      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
-      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
-      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
-      <window_info anchor="right" id="Palette" order="3" />
-      <window_info anchor="right" id="Database" order="4" />
-      <window_info anchor="right" id="Maven" order="5" weight="0.097184986" />
-      <window_info anchor="right" id="Bean Validation" order="6" />
-      <window_info anchor="right" id="Palette&#9;" order="7" />
-    </layout>
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="908d8a6f-e3e4-4fdc-b674-e523a3e2b520" name="Default Changelist" comment="" />
+      <created>1566977677142</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1566977677142</updated>
+      <workItem from="1566977678336" duration="306000" />
+      <workItem from="1566978429560" duration="9246000" />
+      <workItem from="1567038752582" duration="8156000" />
+    </task>
+    <task id="LOCAL-00001" summary="入库单添加时添加流程标记,审核入库单">
+      <created>1566983055587</created>
+      <option name="number" value="00001" />
+      <option name="presentableId" value="LOCAL-00001" />
+      <option name="project" value="LOCAL" />
+      <updated>1566983055587</updated>
+    </task>
+    <task id="LOCAL-00002" summary="添加入库单历史">
+      <created>1566987011007</created>
+      <option name="number" value="00002" />
+      <option name="presentableId" value="LOCAL-00002" />
+      <option name="project" value="LOCAL" />
+      <updated>1566987011007</updated>
+    </task>
+    <task id="LOCAL-00003" summary="修复入库历史controller冲突">
+      <created>1567039165473</created>
+      <option name="number" value="00003" />
+      <option name="presentableId" value="LOCAL-00003" />
+      <option name="project" value="LOCAL" />
+      <updated>1567039165473</updated>
+    </task>
+    <option name="localTasksCounter" value="4" />
+    <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
     <option name="version" value="1" />
@@ -376,20 +194,7 @@
         <entry key="MAIN">
           <value>
             <State>
-              <option name="RECENTLY_FILTERED_USER_GROUPS">
-                <collection />
-              </option>
-              <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
-                <collection />
-              </option>
-              <option name="COLUMN_ORDER">
-                <list>
-                  <option value="0" />
-                  <option value="1" />
-                  <option value="2" />
-                  <option value="3" />
-                </list>
-              </option>
+              <option name="COLUMN_ORDER" />
             </State>
           </value>
         </entry>
@@ -411,305 +216,38 @@
     </option>
   </component>
   <component name="VcsManagerConfiguration">
+    <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
     <MESSAGE value="盘点明细页面" />
-    <MESSAGE value="调整主页和明细页" />
-    <option name="LAST_COMMIT_MESSAGE" value="调整主页和明细页" />
+    <MESSAGE value="入库单添加时添加流程标记,审核入库单" />
+    <MESSAGE value="添加入库单历史" />
+    <MESSAGE value="修复入库历史controller冲突" />
+    <option name="LAST_COMMIT_MESSAGE" value="修复入库历史controller冲突" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
       <breakpoints>
-        <line-breakpoint enabled="true" type="java-line">
+        <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/mapper/CycleCountHeaderMapper.java</url>
           <line>5</line>
-          <properties />
           <option name="timeStamp" value="1" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
+          <line>84</line>
+          <option name="timeStamp" value="3" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java</url>
+          <line>60</line>
+          <option name="timeStamp" value="4" />
+        </line-breakpoint>
+        <line-breakpoint type="java-field">
+          <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
+          <line>35</line>
+          <properties field="receiptHeaderService" class="com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailServiceImpl" />
+          <option name="timeStamp" value="2" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
-    <watches-manager>
-      <configuration name="SpringBootApplicationConfigurationType">
-        <watch expression="pageDomain" />
-        <watch expression="pageDomain" language="JAVA" />
-        <watch expression="pageDomain" language="JAVA" />
-      </configuration>
-    </watches-manager>
-  </component>
-  <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/.idea/WMSV1.iml" />
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="287">
-          <caret line="607" column="5" lean-forward="true" selection-start-line="607" selection-start-column="5" selection-end-line="607" selection-end-column="5" />
-          <folding>
-            <element signature="e#11035#11036#0" expanded="true" />
-            <element signature="e#11064#11065#0" expanded="true" />
-            <element signature="e#17291#17292#0" expanded="true" />
-            <element signature="e#17330#17331#0" expanded="true" />
-            <element signature="e#17395#17396#0" expanded="true" />
-            <element signature="e#17451#17452#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="880">
-          <caret line="44" column="53" selection-start-line="44" selection-start-column="53" selection-end-line="44" selection-end-column="53" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/mapper/InventoryTransactionMapper.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="80">
-          <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="4068">
-          <caret line="278" column="32" lean-forward="true" selection-start-line="278" selection-start-column="32" selection-end-line="278" selection-end-column="32" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/mapper/InventoryHeaderMapper.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="80">
-          <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-68">
-          <caret line="2" selection-start-line="2" selection-end-line="2" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="140">
-          <caret line="15" column="13" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/mapper/InventoryDetailMapper.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="80">
-          <caret line="5" selection-start-line="5" selection-end-line="5" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="40">
-          <caret line="2" selection-start-line="2" selection-end-line="2" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/mapper/CycleCountHeaderMapper.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="80">
-          <caret line="5" selection-start-line="5" selection-end-line="5" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/CycleCountHeaderMapper.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="40">
-          <caret line="2" selection-start-line="2" selection-end-line="2" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/mapper/CycleCountDetailMapper.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="80">
-          <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/CycleCountDetailMapper.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="960">
-          <caret line="48" column="60" selection-start-line="48" selection-start-column="60" selection-end-line="48" selection-end-column="60" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="564">
-          <caret line="46" column="36" selection-start-line="46" selection-start-column="36" selection-end-line="53" selection-end-column="41" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailService.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="80">
-          <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="20">
-          <caret line="1" column="102" lean-forward="true" selection-start-line="1" selection-start-column="52" selection-end-line="1" selection-end-column="102" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/HuaHengApplication.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="181">
-          <caret line="14" selection-start-line="14" selection-end-line="14" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/AdjustHeaderMapper.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="360">
-          <caret line="18" column="54" lean-forward="true" selection-start-line="18" selection-start-column="54" selection-end-line="18" selection-end-column="54" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustHeader/domain/AdjustHeader.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="36">
-          <caret line="89" selection-start-line="89" selection-end-line="89" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="140">
-          <caret line="7" selection-start-line="7" selection-end-line="7" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustHeader/mapper/AdjustHeaderMapper.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="100">
-          <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.1.5.RELEASE/spring-core-5.1.5.RELEASE.jar!/org/springframework/cglib/proxy/MethodProxy.class">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="129">
-          <caret line="102" selection-start-line="102" selection-end-line="102" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="664">
-          <caret line="72" selection-start-line="72" selection-end-line="72" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="240">
-          <caret line="68" column="16" lean-forward="true" selection-start-line="68" selection-start-column="16" selection-end-line="68" selection-end-column="16" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="116">
-          <caret line="68" column="45" lean-forward="true" selection-start-line="68" selection-start-column="45" selection-end-line="68" selection-end-column="45" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="320">
-          <caret line="16" column="4" selection-start-line="16" selection-start-column="4" selection-end-line="16" selection-end-column="4" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/mapper/AdjustDetailMapper.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="80">
-          <caret line="5" selection-start-line="5" selection-end-line="5" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1176">
-          <caret line="245" column="8" selection-start-line="245" selection-start-column="8" selection-end-line="245" selection-end-column="8" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/static/huaheng/js/huahengUI.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="260">
-          <caret line="49" column="12" lean-forward="true" selection-start-line="49" selection-start-column="12" selection-end-line="58" selection-end-column="14" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="292">
-          <caret line="137" column="26" selection-start-line="137" selection-start-column="26" selection-end-line="137" selection-end-column="26" />
-          <folding>
-            <element signature="e#12798#13206#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="278">
-          <caret line="114" column="26" lean-forward="true" selection-start-line="114" selection-start-column="26" selection-end-line="114" selection-end-column="26" />
-          <folding>
-            <element signature="e#11043#11630#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="740">
-          <caret line="37" column="33" selection-start-line="37" selection-start-column="33" selection-end-line="37" selection-end-column="33" />
-          <folding>
-            <element signature="e#6574#12020#0" />
-            <element signature="e#11542#11950#0" />
-            <element signature="e#11954#12938#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="265">
-          <caret line="69" lean-forward="true" selection-start-line="69" selection-end-line="69" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="192">
-          <caret line="38" column="32" lean-forward="true" selection-start-line="38" selection-start-column="32" selection-end-line="38" selection-end-column="32" />
-          <folding>
-            <element signature="n#style#0;n#a#0;n#!!top" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
   </component>
 </project>
\ No newline at end of file
diff --git a/src/main/java/com/huaheng/pc/config/materialType/controller/MaterialTypeController.java b/src/main/java/com/huaheng/pc/config/materialType/controller/MaterialTypeController.java
new file mode 100644
index 0000000..400c623
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/config/materialType/controller/MaterialTypeController.java
@@ -0,0 +1,157 @@
+package com.huaheng.pc.config.materialType.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaheng.common.support.Convert;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.security.ShiroUtils;
+import com.huaheng.framework.aspectj.lang.annotation.Log;
+import com.huaheng.framework.aspectj.lang.constant.BusinessType;
+import com.huaheng.framework.web.controller.BaseController;
+import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.framework.web.page.PageDomain;
+import com.huaheng.framework.web.page.TableDataInfo;
+import com.huaheng.framework.web.page.TableSupport;
+import com.huaheng.pc.config.material.domain.Material;
+import com.huaheng.pc.config.material.service.MaterialService;
+import com.huaheng.pc.config.materialType.domain.MaterialType;
+import com.huaheng.pc.config.materialType.service.MaterialTypeService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+@Api(tags = "物料类别")
+@Controller
+@RequestMapping("/config/materialType")
+public class MaterialTypeController extends BaseController {
+
+    @Resource
+    private MaterialTypeService materialTypeService;
+    @Resource
+    private MaterialService materialService;
+
+    private String prefix = "config/materialType";
+
+    @RequiresPermissions("config:materialType:view")
+    @GetMapping()
+    public String materialType()
+    {
+        return prefix + "/materialType";
+    }
+
+    /**
+     * 查询物料类别
+     */
+    @ApiOperation(value="查询物料类别列表", notes="根据编码、名字、创建时间查询物料类别列表", httpMethod = "POST")
+    @RequiresPermissions("config:materialType:list")
+    @Log(title = "配置-物料类别", operating = "查看物料类别列表", action = BusinessType.GRANT)
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(@ApiParam(name="materialType",value="物料类别") MaterialType materialType,
+                              @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin,
+                              @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) {
+        LambdaQueryWrapper<MaterialType> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+
+        lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), MaterialType::getCreated, createdBegin)
+                .le(StringUtils.isNotEmpty(createdEnd), MaterialType::getCreated, createdEnd)
+                .in(MaterialType::getCompanyCode, ShiroUtils.getCompanyCodeList())
+                .eq(MaterialType::getWarehouseCode, ShiroUtils.getWarehouseCode())
+                .eq(StringUtils.isNotEmpty(materialType.getCode()),
+                        MaterialType::getCode, materialType.getCode())
+                .eq(StringUtils.isNotEmpty(materialType.getName()), MaterialType::getName, materialType.getName());
+
+        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
+            /**
+             * 使用分页查询
+             */
+            Page<MaterialType> page = new Page<>(pageNum, pageSize);
+            IPage<MaterialType> iPage = materialTypeService.page(page, lambdaQueryWrapper);
+            return getMpDataTable(iPage.getRecords(),iPage.getTotal());
+        } else {
+            List<MaterialType> list = materialTypeService.list(lambdaQueryWrapper);
+            return getDataTable(list);
+        }
+    }
+
+    /**
+     * 新增物料类别
+     */
+    @GetMapping("/add")
+    public String add() {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存物料类别
+     */
+    @ApiOperation(value="新增物料类别 ", notes="新增物料类别 ", httpMethod = "POST")
+    @RequiresPermissions("config:materialType:add")
+    @Log(title = "配置-物料类别 ",operating = "新增物料类别 ", action = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(MaterialType materialType) {
+        return toAjax(materialTypeService.save(materialType));
+    }
+
+    /**
+     * 修改物料类别
+     */
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
+        MaterialType materialType = materialTypeService.getById(id);
+        mmap.put("materialType", materialType);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 修改保存物料类别
+     */
+    @ApiOperation(value="修改物料类别", notes="修改物料类别", httpMethod = "POST")
+    @RequiresPermissions("config:materialType:edit")
+    @Log(title = "配置-物料类别 ",operating = "修改物料类别 ", action = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(MaterialType materialType) {
+        materialType.setLastUpdatedBy(ShiroUtils.getLoginName());
+        return toAjax(materialTypeService.updateById(materialType));
+    }
+
+    /**
+     * 删除物料类别
+     */
+    @RequiresPermissions("config:materialType:remove")
+    @Log(title = "配置-物料类别", operating = "删除物料类别", action = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids) {
+        if (StringUtils.isEmpty(ids)) {
+            return AjaxResult.error("id不能为空");
+        }
+        List<Integer> listMaterialType = new ArrayList<>();
+        for (Integer id : Convert.toIntArray(ids)) {
+            MaterialType materialType = materialTypeService.getById(id);
+            LambdaQueryWrapper<Material> lambdaQueryWrapper = Wrappers.lambdaQuery();
+            lambdaQueryWrapper.eq(Material::getType, materialType.getCode());
+            List<Material> list = materialService.list(lambdaQueryWrapper);
+            if (list != null){
+                return AjaxResult.error("该物料类别正在被使用,无法删除");
+            } else {
+                listMaterialType.add(id);
+            }
+        }
+        return toAjax(materialTypeService.removeByIds(listMaterialType));
+    }
+}
diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java b/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java
index c6a424f..317e29b 100644
--- a/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java
+++ b/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java
@@ -27,7 +27,7 @@ public class StatusFlowDetail implements Serializable {
 
     @TableField(value = "headerCode")
     @ApiModelProperty(value="头表编码")
-    private Integer headerCode;
+    private String headerCode;
 
     /**
      * 状态流
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 85eb2f8..b9f8f12 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
@@ -1,9 +1,6 @@
 package com.huaheng.pc.receipt.receiptDetail.domain;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import java.io.Serializable;
@@ -335,6 +332,7 @@ public class ReceiptDetail implements Serializable {
      */
     @TableField(value = "processStamp")
     @ApiModelProperty(value = "处理标记")
+    @TableLogic
     private String processStamp;
 
     /**
@@ -344,97 +342,4 @@ public class ReceiptDetail implements Serializable {
     @ApiModelProperty(value = "是否删除")
     private Boolean deleted;
 
-    private static final long serialVersionUID = 1L;
-
-    public static final String COL_RECEIPTID = "receiptId";
-
-    public static final String COL_RECEIPTCODE = "receiptCode";
-
-    public static final String COL_WAREHOUSECODE = "warehouseCode";
-
-    public static final String COL_COMPANYCODE = "companyCode";
-
-    public static final String COL_MATERIALCODE = "materialCode";
-
-    public static final String COL_MATERIALNAME = "materialName";
-
-    public static final String COL_MATERIALSPEC = "materialSpec";
-
-    public static final String COL_MATERIALUNIT = "materialUnit";
-
-    public static final String COL_SUPPLIERCODE = "supplierCode";
-
-    public static final String COL_BATCH = "batch";
-
-    public static final String COL_LOT = "lot";
-
-    public static final String COL_QCCHECK = "qcCheck";
-
-    public static final String COL_PROJECTNO = "projectNo";
-
-    public static final String COL_MANUFACTUREDATE = "manufactureDate";
-
-    public static final String COL_EXPIRATIONDATE = "expirationDate";
-
-    public static final String COL_AGINGDATE = "agingDate";
-
-    public static final String COL_ATTRIBUTETEMPLATECODE = "attributeTemplateCode";
-
-    public static final String COL_ATTRIBUTE1 = "attribute1";
-
-    public static final String COL_ATTRIBUTE2 = "attribute2";
-
-    public static final String COL_ATTRIBUTE3 = "attribute3";
-
-    public static final String COL_ATTRIBUTE4 = "attribute4";
-
-    public static final String COL_TOTALQTY = "totalQty";
-
-    public static final String COL_OPENQTY = "openQty";
-
-    public static final String COL_REFERCODE = "referCode";
-
-    public static final String COL_REFERID = "referId";
-
-    public static final String COL_REFERLINENUM = "referLineNum";
-
-    public static final String COL_LOCATINGRULE = "locatingRule";
-
-    public static final String COL_INVENTORYSTS = "inventorySts";
-
-    public static final String COL_ITEMLISTPRICE = "itemListPrice";
-
-    public static final String COL_ITEMNETPRICE = "itemNetPrice";
-
-    public static final String COL_ISVIRTUALBOM = "isVirtualBom";
-
-    public static final String COL_CREATED = "created";
-
-    public static final String COL_CREATEDBY = "createdBy";
-
-    public static final String COL_LASTUPDATED = "lastUpdated";
-
-    public static final String COL_LASTUPDATEDBY = "lastUpdatedBy";
-
-    public static final String COL_VERSION = "version";
-
-    public static final String COL_USERDEF1 = "userDef1";
-
-    public static final String COL_USERDEF2 = "userDef2";
-
-    public static final String COL_USERDEF3 = "userDef3";
-
-    public static final String COL_USERDEF4 = "userDef4";
-
-    public static final String COL_USERDEF5 = "userDef5";
-
-    public static final String COL_USERDEF6 = "userDef6";
-
-    public static final String COL_USERDEF7 = "userDef7";
-
-    public static final String COL_USERDEF8 = "userDef8";
-
-    public static final String COL_PROCESSSTAMP = "processStamp";
-
-    public static final String COL_DELETED = "deleted";
 }
\ No newline at end of file
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 a5e154c..defc8ff 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
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.StringUtils;
 import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.aspectj.lang.annotation.Log;
@@ -15,6 +16,8 @@ import com.huaheng.framework.web.page.TableDataInfo;
 import com.huaheng.framework.web.page.TableSupport;
 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
+import com.huaheng.pc.receipt.receiptHeaderHistory.domain.ReceiptHeaderHistory;
+import com.huaheng.pc.receipt.receiptHeaderHistory.service.ReceiptHeaderHistoryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiOperation;
@@ -25,6 +28,7 @@ import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 
 @Api(tags = "入库单")
@@ -36,6 +40,8 @@ public class ReceiptHeaderController extends BaseController {
 
     @Resource
     private ReceiptHeaderService receiptHeaderService;
+    @Resource
+    private ReceiptHeaderHistoryService receiptHeaderHistoryService;
 
     @RequiresPermissions("receipt:receiptHeader:view")
     @GetMapping()
@@ -163,4 +169,19 @@ public class ReceiptHeaderController extends BaseController {
         receiptHeader.setLastStatus(5);
         return toAjax(receiptHeaderService.updateById(receiptHeader));
     }
+
+    /**
+     * 删除入库单
+     */
+    @ApiOperation(value="提交审核入库单", notes="提交审核入库单", httpMethod = "POST")
+    @RequiresPermissions("receipt:receiptHeader:remove")
+    @Log(title = "入库-入库单 ",operating = "提交审核入库单 ", action = BusinessType.UPDATE)
+    @PostMapping("/remove")
+    @ResponseBody
+    public AjaxResult remove(@ApiParam(name = "id", value = "入库头表id字符串")Integer id){
+        if (StringUtils.isNotNull(id)){
+            return AjaxResult.error("id为空");
+        }
+        return receiptHeaderHistoryService.add(id);
+    }
 }
diff --git a/src/main/resources/templates/config/materialType/add.html b/src/main/resources/templates/config/materialType/add.html
new file mode 100644
index 0000000..77ba2df
--- /dev/null
+++ b/src/main/resources/templates/config/materialType/add.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML>
+<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
+<meta charset="utf-8">
+<head th:include="include :: header"></head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-materialType-add">
+        <div class="form-group">
+            <label class="col-sm-3 control-label">编码:</label>
+            <div class="col-sm-8">
+                <input id="code" name="code" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">名字:</label>
+            <div class="col-sm-8">
+                <input id="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="companyCode" name="companyCode" class="form-control" th:with="companyList=${@companyService.selectCompanyByCurrentUserId()}">
+                    <option th:each="company : ${companyList}" th:text="${company['name']}" th:value="${company['code']}"></option>
+                </select>
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">ABC分类:</label>
+            <div class="col-sm-8">
+                <input id="abcClass" name="abcClass" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">保质期(天):</label>
+            <div class="col-sm-8">
+                <input id="daysToExpire" name="daysToExpire" class="form-control" type="number">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">入库流程:</label>
+            <div class="col-sm-8">
+                <select id="receivingFlow" name="receivingFlow" class="form-control" th:with="list=${@StatusFlow.flowList()}">
+                    <option value="">请选择</option>
+                    <option th:each="flow : ${list}" 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">
+                <select id="shippingFlow" name="shippingFlow" class="form-control" th:with="list=${@StatusFlow.flowList()}">
+                    <option value="">请选择</option>
+                    <option th:each="flow : ${list}" 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">
+                <input id="locatingRule" name="locatingRule" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">分配规则:</label>
+            <div class="col-sm-8">
+                <input id="allocationRule" name="allocationRule" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">补货规则:</label>
+            <div class="col-sm-8">
+                <input id="replenishmentRule" name="replenishmentRule" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">空货位规则:</label>
+            <div class="col-sm-8">
+                <input id="emptyLocRule" name="emptyLocRule" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">拣货规则:</label>
+            <div class="col-sm-8">
+                <input id="pickingRule" name="pickingRule" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">属性模版:</label>
+            <div class="col-sm-8">
+                <input id="attributeTemplateCode" name="attributeTemplateCode" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">记录序列号:</label>
+            <div class="col-sm-8">
+                <input id="trackSerialNum" name="trackSerialNum" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">自动生成序列号:</label>
+            <div class="col-sm-8">
+                <input id="autoGenSerialNum" name="autoGenSerialNum" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">自动生成序列号表达式:</label>
+            <div class="col-sm-8">
+                <input id="autoGenSerialNumFormat" name="autoGenSerialNumFormat" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">序列号模版:</label>
+            <div class="col-sm-8">
+                <input id="snTemplateCode" name="snTemplateCode" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">临期预警天数:</label>
+            <div class="col-sm-8">
+                <input id="expiringDays" name="expiringDays" class="form-control" type="number">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">收货预警天数:</label>
+            <div class="col-sm-8">
+                <input id="minShelfLifeDays" name="minShelfLifeDays" class="form-control" type="number">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">是否AGV区域发货:</label>
+            <div class="col-sm-8">
+                <input id="userDef1" name="userDef1" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">是否有效:</label>
+            <div class="col-sm-8">
+                <!--<input id="enable" name="enable" class="form-control" type="text">-->
+                <select id="enable" name="enable" class="form-control">
+                    <option value="1">正常</option>
+                    <option value="0">禁用</option>
+                </select>
+            </div>
+        </div>
+        <div class="form-group">
+            <div class="form-control-static col-sm-offset-9">
+                <button type="submit" class="btn btn-primary">提交</button>
+                <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
+            </div>
+        </div>
+    </form>
+</div>
+<div th:include="include::footer"></div>
+<script type="text/javascript">
+    var prefix = ctx + "config/materialUnit";
+    $("#form-materialType-add").validate({
+        rules:{
+            materialCode:{
+                required:true,
+            },
+        },
+        submitHandler: function(form) {
+            // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
+            var tableValue = $.common.getTableValue("#form-materialType-add");
+            tableValue = formValueReplace(tableValue, "enable", $("#enable option:selected").val());
+            tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val());
+            tableValue = formValueReplace(tableValue, "receivingFlow", $("#receivingFlow option:selected").val());
+            tableValue = formValueReplace(tableValue, "shippingFlow", $("#shippingFlow option:selected").val());
+            $.operate.save(prefix + "/add", tableValue);
+        }
+    });
+</script>
+</body>
+</html>
diff --git a/src/main/resources/templates/config/materialType/edit.html b/src/main/resources/templates/config/materialType/edit.html
new file mode 100644
index 0000000..9dc4efc
--- /dev/null
+++ b/src/main/resources/templates/config/materialType/edit.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML>
+<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
+<meta charset="utf-8">
+<head th:include="include :: header"></head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-materialType-edit" th:object="${materialType}">
+        <input name="id" th:field="*{id}" type="hidden">
+        <div class="form-group">
+            <label class="col-sm-3 control-label">编码:</label>
+            <div class="col-sm-8">
+                <input id="code" name="code" class="form-control" type="text" th:field="*{code}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">名字:</label>
+            <div class="col-sm-8">
+                <input id="name" name="name" class="form-control" type="text" th:field="*{name}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">货主编码:</label>
+            <div class="col-sm-8">
+                <select id="companyCode" name="companyCode" class="form-control" th:field="*{companyCode}"
+                        th:with="companyList=${@companyService.selectCompanyByCurrentUserId()}">
+
+                    <option th:each="company : ${companyList}" th:text="${company['name']}" th:value="${company['code']}"></option>
+                </select>
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">ABC分类:</label>
+            <div class="col-sm-8">
+                <input id="abcClass" name="abcClass" class="form-control" type="text" th:field="*{abcClass}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">保质期(天):</label>
+            <div class="col-sm-8">
+                <input id="daysToExpire" name="daysToExpire" class="form-control" type="number" th:field="*{daysToExpire}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">入库流程:</label>
+            <div class="col-sm-8">
+                <select id="receivingFlow" name="receivingFlow" class="form-control" th:with="list=${@StatusFlow.flowList()}" th:field="*{receivingFlow}">
+                    <option value="">请选择</option>
+                    <option th:each="flow : ${list}" 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">
+                <select id="shippingFlow" name="shippingFlow" class="form-control" th:with="list=${@StatusFlow.flowList()}" th:field="*{shippingFlow}">
+                    <option value="">请选择</option>
+                    <option th:each="flow : ${list}" 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">
+                <input id="locatingRule" name="locatingRule" class="form-control" type="text" th:field="*{locatingRule}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">分配规则:</label>
+            <div class="col-sm-8">
+                <input id="allocationRule" name="allocationRule" class="form-control" type="text" th:field="*{allocationRule}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">补货规则:</label>
+            <div class="col-sm-8">
+                <input id="replenishmentRule" name="replenishmentRule" class="form-control" type="text" th:field="*{replenishmentRule}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">空货位规则:</label>
+            <div class="col-sm-8">
+                <input id="emptyLocRule" name="emptyLocRule" class="form-control" type="text" th:field="*{emptyLocRule}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">拣货规则:</label>
+            <div class="col-sm-8">
+                <input id="pickingRule" name="pickingRule" class="form-control" type="text" th:field="*{pickingRule}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">属性模版:</label>
+            <div class="col-sm-8">
+                <input id="attributeTemplateCode" name="attributeTemplateCode" class="form-control" type="text" th:field="*{attributeTemplateCode}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">记录序列号:</label>
+            <div class="col-sm-8">
+                <input id="trackSerialNum" name="trackSerialNum" class="form-control" type="text" th:field="*{trackSerialNum}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">自动生成序列号:</label>
+            <div class="col-sm-8">
+                <input id="autoGenSerialNum" name="autoGenSerialNum" class="form-control" type="text" th:field="*{autoGenSerialNum}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">自动生成序列号表达式:</label>
+            <div class="col-sm-8">
+                <input id="autoGenSerialNumFormat" name="autoGenSerialNumFormat" class="form-control" type="text" th:field="*{autoGenSerialNumFormat}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">序列号模版:</label>
+            <div class="col-sm-8">
+                <input id="snTemplateCode" name="snTemplateCode" class="form-control" type="text" th:field="*{snTemplateCode}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">临期预警天数:</label>
+            <div class="col-sm-8">
+                <input id="expiringDays" name="expiringDays" class="form-control" type="number" th:field="*{expiringDays}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">收货预警天数:</label>
+            <div class="col-sm-8">
+                <input id="minShelfLifeDays" name="minShelfLifeDays" class="form-control" type="number" th:field="*{minShelfLifeDays}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">是否AGV区域发货:</label>
+            <div class="col-sm-8">
+                <input id="userDef1" name="userDef1" class="form-control" type="text" th:field="*{userDef1}">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">是否有效:</label>
+            <div class="col-sm-8">
+                <!--<input id="enable" name="enable" class="form-control" type="text">-->
+                <select id="enable" name="enable" class="form-control" th:field="*{enable}">
+                    <option value="1">正常</option>
+                    <option value="0">禁用</option>
+                </select>
+            </div>
+        </div>
+        <div class="form-group">
+            <div class="form-control-static col-sm-offset-9">
+                <button type="submit" class="btn btn-primary">提交</button>
+                <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
+            </div>
+        </div>
+    </form>
+</div>
+<div th:include="include::footer"></div>
+<script type="text/javascript">
+    var prefix = ctx + "config/materialType";
+    $("#form-materialType-edit").validate({
+        rules:{
+            code:{
+                required:true,
+            },
+        },
+        submitHandler: function(form) {
+            // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
+            var tableValue = $.common.getTableValue("#form-materialType-edit");
+            tableValue = formValueReplace(tableValue, "enable", $("#enable option:selected").val());
+            tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val());
+            tableValue = formValueReplace(tableValue, "receivingFlow", $("#receivingFlow option:selected").val());
+            tableValue = formValueReplace(tableValue, "shippingFlow", $("#shippingFlow option:selected").val());
+            $.operate.save(prefix + "/edit", tableValue);
+        }
+    });
+</script>
+</body>
+</html>
diff --git a/src/main/resources/templates/config/materialType/materialType.html b/src/main/resources/templates/config/materialType/materialType.html
new file mode 100644
index 0000000..32eec25
--- /dev/null
+++ b/src/main/resources/templates/config/materialType/materialType.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<meta charset="utf-8">
+<head th:include="include :: header"></head>
+<body class="gray-bg">
+        <div class="container-div">
+            <div class="row">
+                <div class="col-sm-12 select-info">
+                    <form id="locationType-form">
+                        <div class="select-list">
+                            <ul>
+                                <li>
+                                    编码:<input type="text" name="materialCode"/>
+                                </li>
+                                <li>
+                                    名称:<input type="text" name="materialName"/>
+                                </li>
+                                <li class="time">
+                                    <label>创建时间: </label>
+                                    <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="createdBegin"/>
+                                    <span>-</span>
+                                    <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="createdEnd"/>
+                                </li>
+                                <li>
+                                    <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                    <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
+                                </li>
+                            </ul>
+                        </div>
+                    </form>
+                </div>
+
+        <div class="btn-group hidden-xs" id="toolbar" role="group">
+            <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:materialType:add">
+                <i class="fa fa-plus"></i> 新增
+            </a>
+            <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:materialType:remove">
+                <i class="fa fa-trash-o"></i> 删除
+            </a>
+        </div>
+
+        <div class="col-sm-12 select-info">
+            <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
+        </div>
+            </div>
+        </div>
+        <div th:include="include :: footer"></div>
+        <script th:inline="javascript">
+            var editFlag = [[${@permission.hasPermi('config:materialType:edit')}]];
+            var removeFlag = [[${@permission.hasPermi('config:materialType:remove')}]];
+            var prefix = ctx + "config/materialType";
+            var datas = [[${@dict.getType('sys_normal_disable')}]];
+            $(function() {
+                var options = {
+                    url: prefix + "/list",
+                    createUrl: prefix + "/add",
+                    updateUrl: prefix + "/edit/{id}",
+                    removeUrl: prefix + "/remove",
+                    modalName: "wu",
+                    search: false,
+                    columns: [{
+                        checkbox: true
+                    },
+                        {
+                            field : 'id',
+                            title : '编码'
+                        },
+                        {
+                            field : 'code',
+                            title : '物料编码'
+                        },
+                        {
+                            field : 'name',
+                            title : '物料名称'
+                        },
+                        {
+                            field : 'companyCode',
+                            title : '货主编码'
+                        },
+                        {
+                            field : 'warehouseCode',
+                            title : '仓库编码'
+                        },
+                        {
+                            field : 'abcClass',
+                            title : 'ABC分类'
+                        },
+                        {
+                            field : 'daysToExpire',
+                            title : '保质期(天)'
+                        },
+                        {
+                            field : 'receivingFlow',
+                            title : '入库流程'
+                        },
+                        {
+                            field : 'shippingFlow',
+                            title : '出库流程'
+                        },
+                        {
+                            field : 'locatingRule',
+                            title : '定位规则'
+                        },
+                        {
+                            field : 'allocationRule',
+                            title : '分配规则'
+                        },
+                        {
+                            field : 'replenishmentRule',
+                            title : '补货规则'
+                        },
+                        {
+                            field : 'emptyLocRule',
+                            title : '空货位规则'
+                        },
+                        {
+                            field : 'pickingRule',
+                            title : '拣货规则'
+                        },
+                        {
+                            field : 'attributeTemplateCode',
+                            title : '属性模版'
+                        },
+                        {
+                            field : 'trackSerialNum',
+                            title : '记录序列号'
+                        },
+                        {
+                            field : 'autoGenSerialNum',
+                            title : '自动生成序列号'
+                        },
+                        {
+                            field : 'autoGenSerialNumFormat',
+                            title : '自动生成序列号表达式',
+                            visible : false
+                        },
+                        {
+                            field : 'snTemplateCode',
+                            title : '序列号模版'
+                        },
+                        {
+                            field : 'expiringDays',
+                            title : '临期预警天数'
+                        },
+                        {
+                            field : 'minShelfLifeDays',
+                            title : '收货预警天数'
+                        },
+                        {
+                            field : 'enable',
+                            title : '是否启用',
+                            formatter: function(value, row, index) {
+                                return $.table.selectDictLabel(datas, value);
+                            },
+                            align: 'center',
+                        },
+                        {
+                            field : 'created',
+                            title : '创建时间'
+                        },
+                        {
+                            field : 'createdBy',
+                            title : '创建用户'
+                        },
+                        {
+                            field : 'lastUpdated',
+                            title : '更新时间'
+                        },
+                        {
+                            field : 'lastUpdatedBy',
+                            title : '更新用户'
+                        },
+                        {
+                            field : 'enable',
+                            title : '是否有效',
+                            formatter: function(value, row, index) {
+                                return $.table.selectDictLabel(datas, value);
+                            },
+                            align: 'center',
+                        },
+                        {
+                            field : 'userDef1',
+                            title : '是否AGV区域发货'
+                        },
+                        {
+                            field : 'userDef2',
+                            title : '自定义字段2' ,
+                            visible:false
+                        },
+                        {
+                            field : 'userDef3',
+                            title : '自定义字段3' ,
+                            visible:false
+                        },
+                        {
+                            field : 'userDef4',
+                            title : '自定义字段4' ,
+                            visible:false
+                        },
+                        {
+                            field : 'userDef5',
+                            title : '自定义字段5' ,
+                            visible:false
+                        },
+                        {
+                            title: '操作',
+                            align: 'center',
+                            formatter: function(value, row, index) {
+                                var actions = [];
+                                actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>编辑</a> ');
+                                actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>');
+                                return actions.join('');
+                            }
+                        }]
+                };
+                $.table.init(options);
+            });
+        </script>
+</body>
+
+</html>
\ No newline at end of file