diff --git a/.idea/MyBatisCodeHelperDatasource.xml b/.idea/MyBatisCodeHelperDatasource.xml index a7a7381..3c96507 100644 --- a/.idea/MyBatisCodeHelperDatasource.xml +++ b/.idea/MyBatisCodeHelperDatasource.xml @@ -6,9 +6,9 @@ <option name="addSerializeUid" value="true" /> <option name="generateService" value="true" /> <option name="generateServiceInterface" value="true" /> - <option name="javaMapperPackage" value="com.huaheng.pc.task.taskPreference.mapper" /> + <option name="javaMapperPackage" value="com.huaheng.pc.config.excelTempate.mapper" /> <option name="javaMapperPath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaModelPackage" value="com.huaheng.pc.task.taskPreference.domain" /> + <option name="javaModelPackage" value="com.huaheng.pc.config.excelTempate.domain" /> <option name="javaModelPath" value="$PROJECT_DIR$/src/main/java" /> <option name="lastDatabaseCrudChooseModuleName" value="huaheng" /> <option name="moduleNameToPackageAndPathMap"> @@ -30,21 +30,22 @@ <entry key="huaheng"> <value> <UserPackageAndPathInfoByModule> - <option name="javaMapperPackage" value="com.huaheng.pc.task.taskPreference.mapper" /> + <option name="javaMapperPackage" value="com.huaheng.pc.config.excelTempate.mapper" /> <option name="javaMapperPath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaModelPacakge" value="com.huaheng.pc.task.taskPreference.domain" /> + <option name="javaModelPacakge" value="com.huaheng.pc.config.excelTempate.domain" /> <option name="javaModelPath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaServiceInterfacePackage" value="com.huaheng.pc.task.taskPreference.service" /> + <option name="javaServiceInterfacePackage" value="com.huaheng.pc.config.excelTempate.service" /> <option name="javaServiceInterfacePath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaServicePackage" value="com.huaheng.pc.task.taskPreference.service" /> + <option name="javaServicePackage" value="com.huaheng.pc.config.excelTempate.service" /> <option name="javaServicePath" value="$PROJECT_DIR$/src/main/java" /> - <option name="xmlPackage" value="task" /> + <option name="xmlPackage" value="config" /> <option name="xmlPath" value="E:\code\wms2\src\main\resources\mybatis" /> </UserPackageAndPathInfoByModule> </value> </entry> </map> </option> + <option name="mybatisPlusStaticField" value="false" /> <option name="tableGenerateConfigs"> <map> <entry key="wms_v2:bom_detail"> @@ -117,6 +118,26 @@ </TableGenerateConfig> </value> </entry> + <entry key="wms_v2:eccel_template"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="" /> + <option name="javaModelName" value="EccelTemplate" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> + <entry key="wms_v2:excel_template"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="" /> + <option name="javaModelName" value="ExcelTemplate" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> <entry key="wms_v2:inventory_transaction"> <value> <TableGenerateConfig> @@ -333,7 +354,7 @@ <option name="useLomBokOnModel" value="true" /> <option name="useSwagger" value="true" /> <option name="userMybatisPlus" value="true" /> - <option name="xmlMapperPackage" value="task" /> + <option name="xmlMapperPackage" value="config" /> <option name="xmlMapperPath" value="E:\code\wms2\src\main\resources\mybatis" /> </ProjectProfile> </option> diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 5f0c02f..0bcc71b 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -6,8 +6,8 @@ <sourceOutputDir name="target/generated-sources/annotations" /> <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> <outputRelativeToContentRoot value="true" /> - <module name="huaheng" /> <module name="wms2" /> + <module name="huaheng" /> </profile> </annotationProcessing> </component> diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 4073132..9e49997 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="DataSourceManagerImpl" format="xml" multifile-model="true"> - <data-source source="LOCAL" name="@172.16.29.45" uuid="f0ef190b-e501-4096-a600-42861f79c6c6"> + <data-source source="LOCAL" name="@172.16.29.45" uuid="2845c0bf-201c-4178-b161-2bab8cfbfe5d"> <driver-ref>mysql.8</driver-ref> <synchronize>true</synchronize> <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver> diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 7221cbf..88bcc99 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,20 +2,10 @@ <project version="4"> <component name="ChangeListManager"> <list default="true" id="9ff7b25e-dc1a-4859-8a0c-00039489e359" name="Default Changelist" comment=""> - <change afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/controller/receiptTypeController.java" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/src/main/resources/mybatis/general/BomDetailMapper.xml" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/add.html" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/edit.html" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/receiptType.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/receipt/receiptType/domain/ReceiptType.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/domain/ReceiptType.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptType/mapper/ReceiptTypeMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/mapper/ReceiptTypeMapper.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptType/service/ReceiptTypeService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/service/ReceiptTypeService.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptType/service/ReceiptTypeServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptType/service/ReceiptTypeServiceImpl.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/mybatis/receipt/ReceiptTypeMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mybatis/config/ReceiptTypeMapper.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/tool/import/import.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/tool/import/import.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/sql/bug" beforeDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java" afterDir="false" /> </list> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="SHOW_DIALOG" value="false" /> @@ -53,6 +43,64 @@ </expand> <select /> </component> + <component name="FileEditorManager"> + <leaf> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-304"> + <caret line="25" column="13" selection-start-line="25" selection-start-column="13" selection-end-line="25" selection-end-column="13" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentCombinationModel.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="68"> + <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="202"> + <caret line="76" column="16" lean-forward="true" selection-start-line="76" selection-start-column="16" selection-end-line="76" selection-end-column="16" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1156"> + <caret line="81" column="11" lean-forward="true" selection-start-line="81" selection-start-column="11" selection-end-line="81" selection-end-column="11" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="60"> + <caret line="155" selection-start-line="155" selection-end-line="155" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="200"> + <caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" /> + </state> + </provider> + </entry> + </file> + </leaf> + </component> <component name="FileTemplateManagerImpl"> <option name="RECENT_TEMPLATES"> <list> @@ -71,6 +119,14 @@ </map> </option> </component> + <component name="IdeDocumentHistory"> + <option name="CHANGED_PATHS"> + <list> + <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java" /> + <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java" /> + </list> + </option> + </component> <component name="IgnoredFileRootStore"> <option name="generatedRoots"> <set> @@ -78,10 +134,217 @@ </set> </option> </component> + <component name="ProjectFrameBounds" extendedState="6"> + <option name="x" value="-10" /> + <option name="y" value="-10" /> + <option name="width" value="1940" /> + <option name="height" value="1050" /> + </component> <component name="ProjectId" id="1P5Ngjh73HToCarlEZkqMxrL7pm" /> <component name="ProjectLevelVcsManager"> <ConfirmationsSetting value="2" id="Add" /> </component> + <component name="ProjectView"> + <navigator proportions="" version="1"> + <foldersAlwaysOnTop value="true" /> + </navigator> + <panes> + <pane id="PackagesPane" /> + <pane id="ProjectPane"> + <subPane> + <expand> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="inventory" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="inventory" type="462c0819:PsiDirectoryNode" /> + <item name="inventoryDetail" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="inventory" type="462c0819:PsiDirectoryNode" /> + <item name="inventoryDetail" type="462c0819:PsiDirectoryNode" /> + <item name="domain" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="inventory" type="462c0819:PsiDirectoryNode" /> + <item name="inventoryHeader" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="inventory" type="462c0819:PsiDirectoryNode" /> + <item name="inventoryHeader" type="462c0819:PsiDirectoryNode" /> + <item name="controller" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="inventory" type="462c0819:PsiDirectoryNode" /> + <item name="inventoryHeader" type="462c0819:PsiDirectoryNode" /> + <item name="domain" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="shipment" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="shipment" type="462c0819:PsiDirectoryNode" /> + <item name="shipmentContainerHeader" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="shipment" type="462c0819:PsiDirectoryNode" /> + <item name="shipmentContainerHeader" type="462c0819:PsiDirectoryNode" /> + <item name="domain" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="shipment" type="462c0819:PsiDirectoryNode" /> + <item name="shipmentContainerHeader" type="462c0819:PsiDirectoryNode" /> + <item name="mapper" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="wms2" type="b2602c69:ProjectViewProjectNode" /> + <item name="wms2" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="com" type="462c0819:PsiDirectoryNode" /> + <item name="huaheng" type="462c0819:PsiDirectoryNode" /> + <item name="pc" type="462c0819:PsiDirectoryNode" /> + <item name="shipment" type="462c0819:PsiDirectoryNode" /> + <item name="shipmentContainerHeader" type="462c0819:PsiDirectoryNode" /> + <item name="service" type="462c0819:PsiDirectoryNode" /> + </path> + </expand> + <select /> + </subPane> + </pane> + <pane id="Scope" /> + </panes> + </component> <component name="PropertiesComponent"> <property name="ASKED_ADD_EXTERNAL_FILES" value="true" /> <property name="DatabaseDriversLRU" value="mysql" /> @@ -140,7 +403,7 @@ </component> <component name="RunManager"> <configuration name="HuaHengApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> - <module name="huaheng" /> + <module name="wms2" /> <option name="SPRING_BOOT_MAIN_CLASS" value="com.huaheng.HuaHengApplication" /> <option name="ALTERNATIVE_JRE_PATH" /> <option name="UPDATE_ACTION_UPDATE_POLICY" value="UpdateClassesAndResources" /> @@ -306,6 +569,42 @@ <option name="localTasksCounter" value="14" /> <servers /> </component> + <component name="ToolWindowManager"> + <frame x="-7" y="-7" width="1550" height="838" extended-state="6" /> + <editor active="true" /> + <layout> + <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2627346" /> + <window_info id="Structure" order="1" side_tool="true" weight="0.25" /> + <window_info id="Web" order="2" side_tool="true" /> + <window_info id="Designer" order="3" /> + <window_info id="UI Designer" order="4" /> + <window_info id="Favorites" order="5" side_tool="true" /> + <window_info anchor="bottom" id="Messages" visible="true" weight="0.06798867" /> + <window_info anchor="bottom" id="MyBatis Log" /> + <window_info anchor="bottom" id="Message" order="0" /> + <window_info anchor="bottom" id="Find" order="1" /> + <window_info anchor="bottom" id="Run" order="2" /> + <window_info anchor="bottom" id="Debug" order="3" weight="0.4" /> + <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> + <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" /> + <window_info anchor="bottom" id="TODO" order="6" /> + <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" /> + <window_info anchor="bottom" id="Version Control" order="8" /> + <window_info anchor="bottom" id="Run Dashboard" order="9" /> + <window_info anchor="bottom" id="Spring" order="10" /> + <window_info anchor="bottom" id="Database Changes" order="11" /> + <window_info anchor="bottom" id="Event Log" order="12" side_tool="true" /> + <window_info anchor="bottom" id="Java Enterprise" order="13" /> + <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" /> + <window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> + <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" /> + <window_info anchor="right" id="Palette" order="3" /> + <window_info anchor="right" id="Maven" order="4" /> + <window_info anchor="right" id="Bean Validation" order="5" /> + <window_info anchor="right" id="Database" order="6" /> + <window_info anchor="right" id="Palette	" order="7" /> + </layout> + </component> <component name="TypeScriptGeneratedFilesManager"> <option name="version" value="1" /> </component> @@ -315,6 +614,12 @@ <entry key="MAIN"> <value> <State> + <option name="RECENTLY_FILTERED_USER_GROUPS"> + <collection /> + </option> + <option name="RECENTLY_FILTERED_BRANCH_GROUPS"> + <collection /> + </option> <option name="COLUMN_ORDER" /> </State> </value> @@ -358,27 +663,79 @@ <line-breakpoint enabled="true" type="java-line"> <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java</url> <line>198</line> + <properties /> <option name="timeStamp" value="11" /> </line-breakpoint> <line-breakpoint enabled="true" type="java-line"> <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/common/utils/poi/ExcelUtil.java</url> <line>302</line> + <properties /> <option name="timeStamp" value="12" /> </line-breakpoint> <line-breakpoint enabled="true" type="java-line"> <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java</url> <line>187</line> + <properties /> <option name="timeStamp" value="16" /> </line-breakpoint> <line-breakpoint enabled="true" type="java-line"> <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java</url> <line>66</line> + <properties /> <option name="timeStamp" value="24" /> </line-breakpoint> </breakpoints> </breakpoint-manager> </component> - <component name="com.intellij.coverage.CoverageDataManagerImpl"> - <SUITE FILE_PATH="coverage/wmsv2$HuaHengApplication.ic" NAME="HuaHengApplication Coverage Results" MODIFIED="1565752188059" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" /> + <component name="editorHistoryManager"> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="60"> + <caret line="155" selection-start-line="155" selection-end-line="155" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="200"> + <caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-304"> + <caret line="25" column="13" selection-start-line="25" selection-start-column="13" selection-end-line="25" selection-end-column="13" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentContainerHeader.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-356"> + <caret line="118" column="16" selection-start-line="118" selection-start-column="16" selection-end-line="118" selection-end-column="16" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentCombinationModel.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="68"> + <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="202"> + <caret line="76" column="16" lean-forward="true" selection-start-line="76" selection-start-column="16" selection-end-line="76" selection-end-column="16" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1156"> + <caret line="81" column="11" lean-forward="true" selection-start-line="81" selection-start-column="11" selection-end-line="81" selection-end-column="11" /> + </state> + </provider> + </entry> </component> </project> \ No newline at end of file diff --git a/doc/说明 b/doc/说明 new file mode 100644 index 0000000..531e6ec --- /dev/null +++ b/doc/说明 @@ -0,0 +1,6 @@ + + +mybatis plus框架封装方法 + +le小于等于 +eq等于 diff --git a/sql/bug b/sql/bug deleted file mode 100644 index 384ee9a..0000000 --- a/sql/bug +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/controller/excelTemplateController.java b/src/main/java/com/huaheng/pc/config/excelTemplate/controller/excelTemplateController.java new file mode 100644 index 0000000..a608404 --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/excelTemplate/controller/excelTemplateController.java @@ -0,0 +1,141 @@ +package com.huaheng.pc.config.excelTemplate.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.excelTemplate.domain.ExcelTemplate; +import com.huaheng.pc.config.excelTemplate.service.ExcelTemplateService; +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; + +@Controller +@RequestMapping("/config/excelTemplate") +public class excelTemplateController extends BaseController { + + @Resource + private ExcelTemplateService excelTemplateService; + + private String prefix ="/config/excelTemplate"; + + @RequiresPermissions("config:excelTemplate:view") + @GetMapping() + public String receiptDetailHistory() { + return prefix + "/excelTemplate"; + } + + /** + * 查询导入 + */ + @ApiOperation(value="查看导入列表", notes="根据名称、创建时间获取导入", httpMethod = "POST") + @RequiresPermissions("config:excelTemplate:list") + @Log(title = "配置-导入模板",operating = "导入模板列表", action = BusinessType.GRANT) + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(@ApiParam(name="ExcelTemplate",value="名称") ExcelTemplate excelTemplate, + @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin, + @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) { + LambdaQueryWrapper<ExcelTemplate> lambdaQueryWrapper = Wrappers.lambdaQuery(); + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + lambdaQueryWrapper.gt(StringUtils.isNotEmpty(createdBegin), ExcelTemplate::getCreated, createdBegin) + .lt(StringUtils.isNotEmpty(createdEnd), ExcelTemplate::getCreated, createdEnd) + .eq(StringUtils.isNotEmpty(excelTemplate.getName()), ExcelTemplate::getName, excelTemplate.getName()) + .eq(ExcelTemplate::getWarehouseCode, ShiroUtils.getWarehouseCode()) + .in(ExcelTemplate::getCompanyCode, ShiroUtils.getCompanyCodeList()); + + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ + /*使用分页查询*/ + Page<ExcelTemplate> page = new Page<>(pageNum, pageSize); + IPage<ExcelTemplate> iPage = excelTemplateService.page(page, lambdaQueryWrapper); + return getMpDataTable(iPage.getRecords(), iPage.getTotal()); + } else { + List<ExcelTemplate> list = excelTemplateService.list(lambdaQueryWrapper); + return getDataTable(list); + } + } + + /** + * 新增导入模板列表 + */ + @GetMapping("/add") + public String add() { + return prefix + "/add"; + } + + /** + * 新增保存导入模板列表 + */ + @ApiOperation(value="新增保存导入模板列表", notes="新增保存导入模板列表", httpMethod = "POST") + @RequiresPermissions("config:excelTemplate:add") + @Log(title = "配置-导入模板列表",operating = "新增保存导入模板列表", action = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(ExcelTemplate excelTemplate) { + excelTemplate.setWarehouseCode(ShiroUtils.getWarehouseCode()); + excelTemplate.setCreatedBy(ShiroUtils.getLoginName()); + excelTemplate.setLastUpdatedBy(ShiroUtils.getLoginName()); + return toAjax(excelTemplateService.save(excelTemplate )); + } + + /** + * 修改导入模板 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Integer id, ModelMap mmap) { + ExcelTemplate excelTemplate = excelTemplateService.getById(id); + mmap.put("excelTemplate", excelTemplate); + return prefix + "/edit"; + } + + /** + * 修改报存导入模板 + */ + @ApiOperation(value="修改导入模板列表信息", notes="修改导入模板列表信息", httpMethod = "POST") + @RequiresPermissions("config:excelTemplate:edit") + @Log(title = "配置-导入模板列表",operating = "修改导入模板列表", action = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(ExcelTemplate excelTemplate) { + excelTemplate.setLastUpdatedBy(ShiroUtils.getLoginName()); + return toAjax(excelTemplateService.updateById(excelTemplate)); + } + + /** + * 删除报存导入模板 + */ + @ApiOperation(value="删除报存导入模板信息", notes="单条删除或批量删除报存导入模板信息,示例1或1,2,3", httpMethod = "POST") + @RequiresPermissions("config:excelTemplate: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> list = new ArrayList<>(); + for (Integer id : Convert.toIntArray(ids)) { + list.add(id); + } + return toAjax(excelTemplateService.removeByIds(list)); + } +} diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/domain/ExcelTemplate.java b/src/main/java/com/huaheng/pc/config/excelTemplate/domain/ExcelTemplate.java new file mode 100644 index 0000000..03c2f6d --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/excelTemplate/domain/ExcelTemplate.java @@ -0,0 +1,95 @@ +package com.huaheng.pc.config.excelTemplate.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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate") +@Data +@TableName(value = "excel_template") +public class ExcelTemplate implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键") + private Integer id; + + /** + * 仓库编码 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库编码") + private String warehouseCode; + + /** + * 货主编码 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主编码") + private String companyCode; + + /** + * 导入表名称 + */ + @TableField(value = "name") + @ApiModelProperty(value="导入表名称") + private String name; + + /** + * 请求地址 + */ + @TableField(value = "url") + @ApiModelProperty(value="请求地址") + private String url; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建者 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建者") + private String createdBy; + + /** + * 最后更新时间 + */ + @TableField(value = "lastUpdateBy") + @ApiModelProperty(value="最后更新时间") + private Date lastUpdateBy; + + /** + * 最后更新者 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value="最后更新者") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private String version; + + /** + * 是否有效 + */ + @TableField(value = "enable") + @ApiModelProperty(value="是否有效") + private Boolean enable; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/mapper/ExcelTemplateMapper.java b/src/main/java/com/huaheng/pc/config/excelTemplate/mapper/ExcelTemplateMapper.java new file mode 100644 index 0000000..aa2a44e --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/excelTemplate/mapper/ExcelTemplateMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.config.excelTemplate.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate; + +public interface ExcelTemplateMapper extends BaseMapper<ExcelTemplate> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateService.java b/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateService.java new file mode 100644 index 0000000..d586bee --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateService.java @@ -0,0 +1,12 @@ +package com.huaheng.pc.config.excelTemplate.service; + +import com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +public interface ExcelTemplateService extends IService<ExcelTemplate>{ + + List<Map<String, Object>> getList(); +} diff --git a/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateServiceImpl.java b/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateServiceImpl.java new file mode 100644 index 0000000..2cc98d6 --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/excelTemplate/service/ExcelTemplateServiceImpl.java @@ -0,0 +1,25 @@ +package com.huaheng.pc.config.excelTemplate.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.utils.security.ShiroUtils; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate; +import com.huaheng.pc.config.excelTemplate.mapper.ExcelTemplateMapper; + +import java.util.List; +import java.util.Map; + +@Service("excelService") +public class ExcelTemplateServiceImpl extends ServiceImpl<ExcelTemplateMapper, ExcelTemplate> implements ExcelTemplateService{ + + public List<Map<String, Object>> getList(){ + LambdaQueryWrapper<ExcelTemplate> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(ExcelTemplate::getWarehouseCode, ShiroUtils.getWarehouseCode()) + .in(ExcelTemplate::getCompanyCode, ShiroUtils.getCompanyCodeList()) + .eq(ExcelTemplate::getEnable,true); + + return this.listMaps(lambdaQueryWrapper); + } +} diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java new file mode 100644 index 0000000..0eae342 --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java @@ -0,0 +1,83 @@ +package com.huaheng.pc.inventory.inventoryDetail.controller; + +import com.huaheng.common.utils.StringUtils; +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.TableDataInfo; +import com.huaheng.pc.general.material.service.MaterialServiceImpl; +import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; + +/** + * 库存明细控制层 + * + */ +@Controller +@RequestMapping("/inventory/inventoryHeader") +public class InventoryDetailController extends BaseController +{ + private String prefix = "inventoryHeader/inventoryHeader"; + + @Resource + private MaterialServiceImpl materialService; + @Resource + private InventoryHeaderService inventoryHeaderService; + + + + @RequiresPermissions("inventoryHeader:inventoryHeader:view") + @GetMapping() + public String inventory() + { + return prefix + "/inventoryHeader"; + } + + /** + * 查询库存列表 + */ + @RequiresPermissions("inventoryHeader:inventoryHeader:list") + @Log(title = "库存-库存查看",operating = "查看库存列表", action = BusinessType.GRANT) + @PostMapping("/inventoryLook") + @ResponseBody + public TableDataInfo list() + { + + return null; + } + + @GetMapping("/transfer") + public String transfer(){ + return prefix + "/transfer"; + } + + /**移库*/ + @RequiresPermissions("inventoryHeader:inventoryHeader:transfer") + @PostMapping("/transfer") + @ResponseBody + public AjaxResult transfer(String sourceLocation, String destinationLocation, Integer companyId, String companyCode){ + return null; + //inventoryHeaderService.transfer(sourceLocation,destinationLocation,companyId,companyCode); + } + + /**出库查看*/ + @RequiresPermissions("inventoryHeader:inventoryHeader:seeOut") + @PostMapping("/createCheckOutTask") + @ResponseBody + public AjaxResult createCheckOutTask(String ids){ + if(StringUtils.isEmpty(ids)){ + return AjaxResult.error("ids不能为空"); + } + return null; + //taskService.createCheckOutTask(ids.split(",")); + } + +} diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java index 06c3b38..725997e 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java +++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java @@ -18,6 +18,12 @@ public class InventoryDetail implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; + /** + * 库存头ID + * */ + @TableField(value = "inventoryHeaderId") + private Integer inventoryHeaderId; + /** * 仓库 */ @@ -246,7 +252,6 @@ public class InventoryDetail implements Serializable { @TableField(value = "userDef3") private String userDef3; - /** * 处理标记 */ @@ -255,6 +260,8 @@ public class InventoryDetail implements Serializable { private static final long serialVersionUID = 1L; + public static final String COL_INVENTORYHEADERID = "inventoryHeaderId"; + public static final String COL_WAREHOUSECODE = "warehouseCode"; public static final String COL_COMPANYCODE = "companyCode"; diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java new file mode 100644 index 0000000..f39cedc --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java @@ -0,0 +1,112 @@ +package com.huaheng.pc.inventory.inventoryHeader.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.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.general.material.service.MaterialServiceImpl; +import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader; +import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import java.util.List; + +/** + * 库存控制层 + * + */ +@Controller +@RequestMapping("/inventory/inventoryHeader") +public class InventoryHeaderController extends BaseController +{ + private String prefix = "inventoryHeader/inventoryHeader"; + + @Resource + private MaterialServiceImpl materialService; + @Resource + private InventoryHeaderService inventoryHeaderService; + + + @RequiresPermissions("inventoryHeader:inventoryHeader:view") + @GetMapping() + public String inventoryHeader() + { + return prefix + "/inventoryHeader"; + } + + /** + * 查询库存列表 + */ + @RequiresPermissions("inventoryHeader:inventoryHeader:list") + @Log(title = "库存-库存查看",operating = "查看库存列表", action = BusinessType.GRANT) + @PostMapping("/inventoryLook") + @ResponseBody + public TableDataInfo list(InventoryHeader inventoryHeader,String createdBegin, String createdEnd) + { + LambdaQueryWrapper<InventoryHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + + lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin),InventoryHeader::getCreated, createdBegin) + .le(StringUtils.isNotEmpty(createdEnd), InventoryHeader::getCreated, createdEnd)//创建时间范围 + .eq(InventoryHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())//仓库 + .eq(StringUtils.isNotEmpty(inventoryHeader.getLocationCode()),InventoryHeader::getLocationCode,inventoryHeader.getLocationCode()) //库位 + .eq(StringUtils.isNotEmpty(inventoryHeader.getContainerCode()),InventoryHeader::getContainerCode,inventoryHeader.getContainerCode())//容器 + .eq(StringUtils.isNotEmpty(inventoryHeader.getCompanyCode()), InventoryHeader::getCompanyCode,inventoryHeader.getCompanyCode())//货主 + .eq(StringUtils.isNotEmpty(inventoryHeader.getBatchs()), InventoryHeader::getBatchs, inventoryHeader.getBatchs())//批次 + .eq(StringUtils.isNotEmpty(inventoryHeader.getLots()),InventoryHeader::getLots,inventoryHeader.getLots())//批号 + .orderByDesc(InventoryHeader::getId); + + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ + //分页查询 + Page<InventoryHeader> page = new Page<>(pageNum, pageSize); + IPage<InventoryHeader> iPage = inventoryHeaderService.page(page, lambdaQueryWrapper); + return getMpDataTable(iPage.getRecords(),iPage.getTotal()); + } else { + List<InventoryHeader> list = inventoryHeaderService.list(lambdaQueryWrapper); + return getDataTable(list); + } + + } + /** + * 移库页面 + * */ + @GetMapping("/transfer") + public String transfer(){ + return prefix + "/transfer"; + } + + /**移库*/ + @RequiresPermissions("inventoryHeader:inventoryHeader:transfer") + @PostMapping("/transfer") + @ResponseBody + public AjaxResult transfer(String sourceLocation, String destinationLocation, Integer companyId, String companyCode){ + return null; + //inventoryHeaderService.transfer(sourceLocation,destinationLocation,companyId,companyCode); + } + + /**出库查看*/ + @RequiresPermissions("inventoryHeader:inventoryHeader:seeOut") + @PostMapping("/createCheckOutTask") + @ResponseBody + public AjaxResult createCheckOutTask(String ids){ + if(StringUtils.isEmpty(ids)){ + return AjaxResult.error("ids不能为空"); + } + return null; + //taskService.createCheckOutTask(ids.split(",")); + } + +} diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java index 4b4d826..f8a0559 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java +++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/domain/InventoryHeader.java @@ -71,7 +71,7 @@ public class InventoryHeader implements Serializable { private Integer totalQty; /** - * 总数量 + * 总行数 */ @TableField(value = "totalLines") private Integer totalLines; @@ -155,36 +155,6 @@ public class InventoryHeader implements Serializable { private String userDef3; /** - * 自定义字段4 - */ - @TableField(value = "userDef4") - private String userDef4; - - /** - * 自定义字段5 - */ - @TableField(value = "userDef5") - private String userDef5; - - /** - * 自定义字段6 - */ - @TableField(value = "userDef6") - private String userDef6; - - /** - * 自定义字段7 - */ - @TableField(value = "userDef7") - private String userDef7; - - /** - * 自定义字段8 - */ - @TableField(value = "userDef8") - private String userDef8; - - /** * 库存详情 */ private InventoryDetail inventoryDetail; diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java index c6f5596..614046c 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java +++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java @@ -2,7 +2,12 @@ package com.huaheng.pc.inventory.inventoryHeader.service; import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.stereotype.Service; + +@Service public interface InventoryHeaderService extends IService<InventoryHeader>{ + + } diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java b/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java index 836754f..5d44366 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java +++ b/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java @@ -10,7 +10,7 @@ import java.io.Serializable; import java.util.Date; import lombok.Data; -@ApiModel(value="com.huaheng.pc.inventory.inventoryTransaction.domain.InventoryTransaction") +@ApiModel(value="com.huaheng.pc.inventoryHeader.inventoryTransaction.domain.InventoryTransaction") @Data @TableName(value = "inventory_transaction") public class InventoryTransaction implements Serializable { diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java index 1853c91..9b9dc65 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java @@ -356,42 +356,6 @@ public class ShipmentHeader implements Serializable { @TableField(value = "userDef3") @ApiModelProperty(value = "自定义字段3") private String userDef3; - - /** - * 自定义字段4 - */ - @TableField(value = "userDef4") - @ApiModelProperty(value = "自定义字段4") - private String userDef4; - - /** - * 自定义字段5 - */ - @TableField(value = "userDef5") - @ApiModelProperty(value = "自定义字段5") - private String userDef5; - - /** - * 自定义字段6 - */ - @TableField(value = "userDef6") - @ApiModelProperty(value = "自定义字段6") - private String userDef6; - - /** - * 自定义字段7 - */ - @TableField(value = "userDef7") - @ApiModelProperty(value = "自定义字段7") - private String userDef7; - - /** - * 自定义字段8 - */ - @TableField(value = "userDef8") - @ApiModelProperty(value = "自定义字段8") - private String userDef8; - /** * 处理标记 */ @@ -502,16 +466,6 @@ public class ShipmentHeader implements Serializable { 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"; diff --git a/src/main/java/com/huaheng/pc/system/user/controller/IndexController.java b/src/main/java/com/huaheng/pc/system/user/controller/IndexController.java index 44d8b4d..a16d5bb 100644 --- a/src/main/java/com/huaheng/pc/system/user/controller/IndexController.java +++ b/src/main/java/com/huaheng/pc/system/user/controller/IndexController.java @@ -73,7 +73,7 @@ public class IndexController extends BaseController pie.itemStyle().emphasis().setShadowBlur(10); pie.itemStyle().emphasis().setShadowOffsetX(0); pie.itemStyle().emphasis().setShadowColor("rgba(0, 0, 0, 0.4)"); - String sql = "SELECT d.dictLabel '状态', i.qty '库存' FROM (SELECT status ,SUM(qty) qty FROM inventory WHERE warehouseCode = " + ShiroUtils.getWarehouseCode() + " GROUP BY status) i INNER JOIN sys_dict_data d ON i.status= d.dictValue AND d.warehouseCode = ' " + ShiroUtils.getWarehouseCode()+"' ;"; + String sql = "SELECT d.dictLabel '状态', i.qty '库存' FROM (SELECT status ,SUM(qty) qty FROM inventoryHeader WHERE warehouseCode = " + ShiroUtils.getWarehouseCode() + " GROUP BY status) i INNER JOIN sys_dict_data d ON i.status= d.dictValue AND d.warehouseCode = ' " + ShiroUtils.getWarehouseCode()+"' ;"; List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql); for(LinkedHashMap<String, Object> item : results){ ChartData chartData = new ChartData(); @@ -211,7 +211,7 @@ public class IndexController extends BaseController @GetMapping("index/getInventoryProp") @ResponseBody public String getInventoryProp(){ - String sql = "SELECT m.`name`,sum(i.qty) as total from inventory i join material m on i.materialCode = m.`code` and i.warehouseId = m.warehouseId AND i.warehouseCode = "+ShiroUtils.getWarehouseCode()+" \n" + + String sql = "SELECT m.`name`,sum(i.qty) as total from inventoryHeader i join material m on i.materialCode = m.`code` and i.warehouseId = m.warehouseId AND i.warehouseCode = "+ShiroUtils.getWarehouseCode()+" \n" + "GROUP BY m.`name` ORDER BY total desc;"; List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql); diff --git a/src/main/resources/mybatis/config/ExcelTemplateMapper.xml b/src/main/resources/mybatis/config/ExcelTemplateMapper.xml new file mode 100644 index 0000000..a2850d0 --- /dev/null +++ b/src/main/resources/mybatis/config/ExcelTemplateMapper.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.huaheng.pc.config.excelTemplate.mapper.ExcelTemplateMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.config.excelTemplate.domain.ExcelTemplate"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="name" jdbcType="VARCHAR" property="name" /> + <result column="url" jdbcType="VARCHAR" property="url" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="lastUpdateBy" jdbcType="TIMESTAMP" property="lastUpdateBy" /> + <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> + <result column="version" jdbcType="VARCHAR" property="version" /> + <result column="enable" jdbcType="BIT" property="enable" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, warehouseCode, companyCode, `name`, url, created, createdBy, lastUpdateBy, lastUpdatedBy, + version, `enable` + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml b/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml index 1f8835a..ae31b84 100644 --- a/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml +++ b/src/main/resources/mybatis/inventory/InventoryDetailMapper.xml @@ -4,6 +4,7 @@ <resultMap id="BaseResultMap" type="com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail"> <!--@mbg.generated--> <id column="id" jdbcType="INTEGER" property="id" /> + <result column="inventoryHeaderId" jdbcType="INTEGER" property="inventoryHeaderId" /> <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> <result column="locationCode" jdbcType="VARCHAR" property="locationCode" /> @@ -42,16 +43,11 @@ <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> - <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> - <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> - <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> - <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> - <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, warehouseCode, companyCode, locationCode, containerCode, materialCode, materialName, + id,inventoryHeaderId , warehouseCode, companyCode, locationCode, containerCode, materialCode, materialName, materialSpec, materialUnit, qty, taskQty, lockedQty, inventorySts, referCode, referId, referDetailId, batch, lot, projectNo, qcCheck, weight, manufactureDate, expirationDate, agingDate, attributeId, attribute1, attribute2, attribute3, attribute4, lockCode, diff --git a/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml b/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml index 80d7a4a..4e8fe2e 100644 --- a/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml +++ b/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml @@ -26,17 +26,12 @@ <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> - <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> - <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> - <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> - <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> - <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> id, warehouseCode, locationCode, containerCode, containerStatus, companyCode, weight, materialSkuQty, totalQty, totalLines, projectNos, batchs, lots, lastCycleCountDate, `enable`, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, - userDef3, userDef4, userDef5, userDef6, userDef7, userDef8 + userDef3, </sql> </mapper> \ No newline at end of file diff --git a/src/main/resources/templates/admin/inventory/inventory.html b/src/main/resources/templates/admin/inventory/inventory.html index d195080..0f02fc7 100644 --- a/src/main/resources/templates/admin/inventory/inventory.html +++ b/src/main/resources/templates/admin/inventory/inventory.html @@ -67,7 +67,7 @@ </li> <li> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> - <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i> 导出</a>--> + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i> 导出</a>--> </li> </ul> </div> diff --git a/src/main/resources/templates/admin/inventoryTransaction/inventoryTransaction.html b/src/main/resources/templates/admin/inventoryTransaction/inventoryTransaction.html index 86d98f8..6157feb 100644 --- a/src/main/resources/templates/admin/inventoryTransaction/inventoryTransaction.html +++ b/src/main/resources/templates/admin/inventoryTransaction/inventoryTransaction.html @@ -56,7 +56,7 @@ </li> <li> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> - <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i> 导出</a>--> + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i> 导出</a>--> </li> </ul> </div> @@ -64,10 +64,10 @@ </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:inventoryTransaction:add"> + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventoryHeader:inventoryTransaction:add"> <i class="fa fa-plus"></i> 新增 </a> - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventoryTransaction:remove"> + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventoryHeader:inventoryTransaction:remove"> <i class="fa fa-trash-o"></i> 删除 </a> </div> @@ -84,7 +84,7 @@ </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> - var editFlag = [[${@permission.hasPermi('inventory:inventoryTransaction:edit')}]]; + var editFlag = [[${@permission.hasPermi('inventoryHeader:inventoryTransaction:edit')}]]; var prefix = ctx + "admin/inventoryTransaction"; var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; var inventoryTransactionType = [[${@dict.getType('inventoryTransactionType')}]]; diff --git a/src/main/resources/templates/config/excelTemplate/add.html b/src/main/resources/templates/config/excelTemplate/add.html new file mode 100644 index 0000000..73a3230 --- /dev/null +++ b/src/main/resources/templates/config/excelTemplate/add.html @@ -0,0 +1,74 @@ +<!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-excelTemplate-add"> + <input name="id" type="hidden"> + <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"> + <input id="url" name="url" 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">是否有效:</label> + <div class="col-sm-8"> + <div class="onoffswitch"> + <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="enable" name="enable"> + <label class="onoffswitch-label" for="enable"> + <span class="onoffswitch-inner"></span> + <span class="onoffswitch-switch"></span> + </label> + </div> + </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/excelTemplate"; + $("#form-excelTemplate-add").validate({ + rules:{ + code:{ + required:true, + }, + referType:{ + required:true, + }, + receiptFlow:{ + required:true, + }, + }, + submitHandler: function(form) { + // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize()); + var tableValue = $.common.getTableValue("#form-excelTemplate-add"); + tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val()); + tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); + $.operate.save(prefix + "/add", tableValue); + } + }); +</script> +</body> +</html> diff --git a/src/main/resources/templates/config/excelTemplate/edit.html b/src/main/resources/templates/config/excelTemplate/edit.html new file mode 100644 index 0000000..d6f5cae --- /dev/null +++ b/src/main/resources/templates/config/excelTemplate/edit.html @@ -0,0 +1,75 @@ +<!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-excelTemplate-edit"> + <input name="id" type="hidden" th:field="*{id}"> + <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"> + <input id="url" name="url" class="form-control" type="text" th:field="*{url}"> + </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()}" + th:field="*{companyCode}"> + <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">是否有效:</label> + <div class="col-sm-8"> + <div class="onoffswitch"> + <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="enable" name="enable" th:field="*{enable}"> + <label class="onoffswitch-label" for="enable"> + <span class="onoffswitch-inner"></span> + <span class="onoffswitch-switch"></span> + </label> + </div> + </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/excelTemplate"; + $("#form-excelTemplate-edit").validate({ + rules:{ + code:{ + required:true, + }, + referType:{ + required:true, + }, + receiptFlow:{ + required:true, + }, + }, + submitHandler: function(form) { + // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize()); + var tableValue = $.common.getTableValue("#form-excelTemplate-edit"); + tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val()); + tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); + $.operate.save(prefix + "/edit", tableValue); + } + }); +</script> +</body> +</html> diff --git a/src/main/resources/templates/config/excelTemplate/excelTemplate.html b/src/main/resources/templates/config/excelTemplate/excelTemplate.html new file mode 100644 index 0000000..1fa56e6 --- /dev/null +++ b/src/main/resources/templates/config/excelTemplate/excelTemplate.html @@ -0,0 +1,124 @@ +<!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="name"/> + </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> 搜索</a> + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</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:excelTemplate:add"> + <i class="fa fa-plus"></i> 新增 + </a> + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:excelTemplate: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:excelTemplate:edit')}]]; + var removeFlag = [[${@permission.hasPermi('config:excelTemplate:remove')}]]; + var prefix = ctx + "config/excelTemplate"; + var datas = [[${@dict.getType('sys_normal_disable')}]]; + $(function() { + var options = { + url: prefix + "/list", + createUrl: prefix + "/add", + updateUrl: prefix + "/edit/{id}", + removeUrl: prefix + "/remove", + modalName: "入库单类型", + search: false, + columns: [{ + checkbox: true + }, + { + field : 'id', + title : 'Id' + }, + { + field : 'companyCode', + title : '货主编码' + }, + { + field : 'warehouseCode', + title : '仓库编码' + }, + { + field : 'name', + title : '导入表名称' + }, + { + field : 'url', + title : '请求地址' + }, + { + 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 : 'version', + title : '数据版本', + 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 diff --git a/src/main/resources/templates/config/receiptType/edit.html b/src/main/resources/templates/config/receiptType/edit.html index 40576b1..0cdba8a 100644 --- a/src/main/resources/templates/config/receiptType/edit.html +++ b/src/main/resources/templates/config/receiptType/edit.html @@ -128,7 +128,7 @@ <label class="col-sm-3 control-label">是否启用:</label> <div class="col-sm-8"> <div class="onoffswitch"> - <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="enable" name="enable" th:field="${enable}"> + <input type="checkbox" th:checked="*{enable}" class="onoffswitch-checkbox" id="enable" name="enable"> <label class="onoffswitch-label" for="enable"> <span class="onoffswitch-inner"></span> <span class="onoffswitch-switch"></span> @@ -147,7 +147,7 @@ <div th:include="include::footer"></div> <script type="text/javascript"> var prefix = ctx + "config/receiptType"; - $("#form-locationType-add").validate({ + $("#form-receiptType-edit").validate({ rules:{ code:{ required:true, @@ -161,9 +161,9 @@ }, submitHandler: function(form) { // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize()); - var tableValue = $.common.getTableValue("#form-locationType-add"); + var tableValue = $.common.getTableValue("#form-receiptType-edit"); tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val()); - $.operate.save(prefix + "/add", tableValue); + $.operate.save(prefix + "/edit", tableValue); } }); </script> diff --git a/src/main/resources/templates/config/receiptType/receiptType.html b/src/main/resources/templates/config/receiptType/receiptType.html index 26b611c..08d96ab 100644 --- a/src/main/resources/templates/config/receiptType/receiptType.html +++ b/src/main/resources/templates/config/receiptType/receiptType.html @@ -107,7 +107,8 @@ }, { field : 'version', - title : '数据版本' + title : '数据版本', + visible : false }, { field : 'processStamp', diff --git a/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html b/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html index 0cbc538..8bd5401 100644 --- a/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html +++ b/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html @@ -64,7 +64,7 @@ </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="inventory:cycleCount:insert"> + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventoryHeader:cycleCount:insert"> <i class="fa fa-plus"></i> 新增 </a> </div>--> @@ -79,8 +79,8 @@ <div th:include="include :: footer"></div> <script th:inline="javascript"> var prefix = ctx + "inventory/cyclecountAdjust"; - var upload = [[${@permission.hasPermi('inventory:cyclecountAdjust:upload')}]]; - var report =[[${@permission.hasPermi('inventory:cyclecountAdjust:report')}]]; + var upload = [[${@permission.hasPermi('inventoryHeader:cyclecountAdjust:upload')}]]; + var report =[[${@permission.hasPermi('inventoryHeader:cyclecountAdjust:report')}]]; var datas = [[${@dict.getType('sys_normal_disable')}]]; var status2 = [[${@dict.getType('adjustType')}]]; diff --git a/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html b/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html index bb369ed..425443f 100644 --- a/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html +++ b/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html @@ -57,11 +57,11 @@ <i class="fa fa-vcard"></i>差异调整 </a> <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()" - shiro:hasPermission="inventory:cyclecountDetail:cyclecountRepeat"> + shiro:hasPermission="inventoryHeader:cyclecountDetail:cyclecountRepeat"> <i class="fa fa-vcard"></i> 差异复盘 </a>--> <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="adjust()" - shiro:hasPermission="inventory:cyclecountDetail:adjust"> + shiro:hasPermission="inventoryHeader:cyclecountDetail:adjust"> <i class="fa fa-vcard"></i> 差异库存调整 </a>--> <a class="btn btn-outline btn-success btn-rounded" onclick="update()"> diff --git a/src/main/resources/templates/inventory/cyclecountDetail/add.html b/src/main/resources/templates/inventory/cyclecountDetail/add.html index 516a07f..275bded 100644 --- a/src/main/resources/templates/inventory/cyclecountDetail/add.html +++ b/src/main/resources/templates/inventory/cyclecountDetail/add.html @@ -58,7 +58,7 @@ </li> <li> <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> - <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i> 导出</a>--> + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i> 导出</a>--> </li> </ul> </div> @@ -75,8 +75,8 @@ <div th:include="include::footer"></div> <script th:inline="javascript"> - var addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]]; - // var removeFlag = [[${@permission.hasPermi('inventory:inventory:remove')}]]; + var addFlag = [[${@permission.hasPermi('inventoryHeader:cyclecountDetail:add')}]]; + // var removeFlag = [[${@permission.hasPermi('inventoryHeader:inventoryHeader:remove')}]]; var prefix = ctx + "inventory/inventory"; var prefix_cycleDetails = ctx + "inventory/cyclecountDetail"; var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; diff --git a/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html b/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html index c3788a8..8821d14 100644 --- a/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html +++ b/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html @@ -57,11 +57,11 @@ <i class="fa fa-plus"></i> 新增 </a> <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="comfirmAllWithNoGapQty()" - shiro:hasPermission="inventory:cyclecountDetail:confirmAll"> + shiro:hasPermission="inventoryHeader:cyclecountDetail:confirmAll"> <i class="fa fa-vcard"></i> 全部无差异确认 </a> <a class="btn btn-outline btn-danger btn-rounded" onclick="comfirmRemainWithNoGapQty()" - shiro:hasPermission="inventory:cyclecountDetail:confirmRemain"> + shiro:hasPermission="inventoryHeader:cyclecountDetail:confirmRemain"> <i class="fa fa-vcard"></i> 剩余无差异确认 </a>--> <a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()" @@ -85,10 +85,10 @@ </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> - 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 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 prefix = ctx + "inventory/cyclecountDetail"; var prefix_head = ctx + "inventory/cyclecountHeader"; var remove_url= prefix + "/remove"; diff --git a/src/main/resources/templates/inventory/cyclecountHeader/cyclecountHeader.html b/src/main/resources/templates/inventory/cyclecountHeader/cyclecountHeader.html index 8f1e736..18b87df 100644 --- a/src/main/resources/templates/inventory/cyclecountHeader/cyclecountHeader.html +++ b/src/main/resources/templates/inventory/cyclecountHeader/cyclecountHeader.html @@ -82,10 +82,10 @@ </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> - var reportFlag = [[${@permission.hasPermi('inventory:cycleCount:report')}]]; - var editFlag = [[${@permission.hasPermi('inventory:cycleCount:edit')}]]; - var addAdjust = [[${@permission.hasPermi('inventory:cyclecountHead:addAdjust')}]]; - var removeFlag = [[${@permission.hasPermi('inventory:cycleCount:remove')}]]; + 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 prefix = ctx + "inventory/cyclecountHeader"; var datas = [[${@dict.getType('sys_normal_disable')}]]; var types = [[${@dict.getType('cyclecountType')}]]; diff --git a/src/main/resources/templates/inventory/inventory/add.html b/src/main/resources/templates/inventory/inventory/add.html deleted file mode 100644 index 7675fe5..0000000 --- a/src/main/resources/templates/inventory/inventory/add.html +++ /dev/null @@ -1,223 +0,0 @@ -<!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-inventory-add"> - <div class="form-group"> - <label class="col-sm-3 control-label">仓库Id:</label> - <div class="col-sm-8"> - <input id="warehouseId" name="warehouseId" 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="warehouseCode" name="warehouseCode" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">库位id:</label> - <div class="col-sm-8"> - <input id="locationId" name="locationId" 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="locationCode" name="locationCode" 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="sourceCode" name="sourceCode" 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="sourceLine" name="sourceLine" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">公司id:</label> - <div class="col-sm-8"> - <input id="companyId" name="companyId" 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="companyCode" name="companyCode" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">物料Id:</label> - <div class="col-sm-8"> - <input id="materialId" name="materialId" 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="materialCode" name="materialCode" 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="materialName" name="materialName" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">入库单id:</label> - <div class="col-sm-8"> - <input id="receiptId" name="receiptId" 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="receiptCode" name="receiptCode" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">入库单明细id:</label> - <div class="col-sm-8"> - <input id="receiptDetailId" name="receiptDetailId" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">批次:</label> - <div class="col-sm-8"> - <input id="batch" name="batch" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">批号:</label> - <div class="col-sm-8"> - <input id="lot" name="lot" 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="project" name="project" 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="manufactureDate" name="manufactureDate" 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="expirationDate" name="expirationDate" 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="status" name="status" 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="qty" name="qty" 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="taskQty" name="taskQty" 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="costPrice" name="costPrice" 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="listPrice" name="listPrice" 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="netPrice" name="netPrice" 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="created" name="created" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">创建用户:</label> - <div class="col-sm-8"> - <input id="createdBy" name="createdBy" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">最后修改时间:</label> - <div class="col-sm-8"> - <input id="lastUpdated" name="lastUpdated" 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="lastUpdatedBy" name="lastUpdatedBy" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段1:</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">自定义字段2:</label> - <div class="col-sm-8"> - <input id="userDef2" name="userDef2" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段3:</label> - <div class="col-sm-8"> - <input id="userDef3" name="userDef3" class="form-control" type="text"> - </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 + "inventory/inventory" - $("#form-inventory-add").validate({ - rules:{ - xxxx:{ - required:true, - }, - }, - submitHandler: function(form) { - $.operate.save(prefix + "/add", $('#form-inventory-add').serialize()); - } - }); - </script> -</body> -</html> diff --git a/src/main/resources/templates/inventory/inventory/edit.html b/src/main/resources/templates/inventory/inventory/edit.html deleted file mode 100644 index 3b093a6..0000000 --- a/src/main/resources/templates/inventory/inventory/edit.html +++ /dev/null @@ -1,224 +0,0 @@ -<!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-inventory-edit" th:object="${inventory}"> - <input id="id" name="id" th:field="*{id}" type="hidden"> - <div class="form-group"> - <label class="col-sm-3 control-label">仓库Id:</label> - <div class="col-sm-8"> - <input id="warehouseId" name="warehouseId" th:field="*{warehouseId}" 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="warehouseCode" name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">库位id:</label> - <div class="col-sm-8"> - <input id="locationId" name="locationId" th:field="*{locationId}" 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="locationCode" name="locationCode" th:field="*{locationCode}" 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="sourceCode" name="sourceCode" th:field="*{sourceCode}" 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="sourceLine" name="sourceLine" th:field="*{sourceLine}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">公司id:</label> - <div class="col-sm-8"> - <input id="companyId" name="companyId" th:field="*{companyId}" 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="companyCode" name="companyCode" th:field="*{companyCode}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">物料Id:</label> - <div class="col-sm-8"> - <input id="materialId" name="materialId" th:field="*{materialId}" 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="materialCode" name="materialCode" th:field="*{materialCode}" 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="materialName" name="materialName" th:field="*{materialName}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">入库单id:</label> - <div class="col-sm-8"> - <input id="receiptId" name="receiptId" th:field="*{receiptId}" 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="receiptCode" name="receiptCode" th:field="*{receiptCode}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">入库单明细id:</label> - <div class="col-sm-8"> - <input id="receiptDetailId" name="receiptDetailId" th:field="*{receiptDetailId}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">批次:</label> - <div class="col-sm-8"> - <input id="batch" name="batch" th:field="*{batch}" 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="lot" name="lot" th:field="*{lot}" 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="project" name="project" th:field="*{project}" 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="manufactureDate" name="manufactureDate" th:field="*{manufactureDate}" 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="expirationDate" name="expirationDate" th:field="*{expirationDate}" 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="status" name="status" th:field="*{status}" 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="qty" name="qty" th:field="*{qty}" 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="taskQty" name="taskQty" th:field="*{taskQty}" 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="costPrice" name="costPrice" th:field="*{costPrice}" 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="listPrice" name="listPrice" th:field="*{listPrice}" 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="netPrice" name="netPrice" th:field="*{netPrice}" 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="created" name="created" th:field="*{created}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">创建用户:</label> - <div class="col-sm-8"> - <input id="createdBy" name="createdBy" th:field="*{createdBy}" 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="lastUpdated" name="lastUpdated" th:field="*{lastUpdated}" 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="lastUpdatedBy" name="lastUpdatedBy" th:field="*{lastUpdatedBy}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段1:</label> - <div class="col-sm-8"> - <input id="userDef1" name="userDef1" th:field="*{userDef1}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段2:</label> - <div class="col-sm-8"> - <input id="userDef2" name="userDef2" th:field="*{userDef2}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段3:</label> - <div class="col-sm-8"> - <input id="userDef3" name="userDef3" th:field="*{userDef3}" class="form-control" type="text"> - </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 + "inventory/inventory" - $("#form-inventory-edit").validate({ - rules:{ - xxxx:{ - required:true, - }, - }, - submitHandler: function(form) { - $.operate.save(prefix + "/edit", $('#form-inventory-edit').serialize()); - } - }); - </script> -</body> -</html> diff --git a/src/main/resources/templates/inventory/inventory/inventory.html b/src/main/resources/templates/inventory/inventory/inventory.html deleted file mode 100644 index cdf5895..0000000 --- a/src/main/resources/templates/inventory/inventory/inventory.html +++ /dev/null @@ -1,347 +0,0 @@ -<!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="inventory-form"> - <div class="select-list"> - <ul> - <li> - 库位编号:<input type="text" name="locationCode"/> - </li> - <li> - 容器编号:<input type="text" name="containerCode"/> - </li> - <li> - U8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouse.selectList()}"> - <option value="">所有</option> - <option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select> - </li> - <li> - 储货库区:<input type="text" name="zoneCode"/> - </li> - <li> - 存货编码:<input type="text" name="materialCode"/> - </li> - <li> - 存货代码:<input type="text" name="materialOldCode"/> - </li> - <li> - 物料名称:<input type="text" name="materialName"/> - </li> - <li> - 库存状态: - <select name="status" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}"> - <option value="">所有</option> - <option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option> - </select> - </li> - <li> - 供应商编码:<input type="text" name="supplierCode"/> - </li> - - <li> - 项 目 号:<input type="text" name="project"/> - </li> - <li> - 物料规格:<input type="text" name="materialSpec"/> - </li> - <li class="time" style="height:30px"> - <label>创建时间: </label> - <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/> - <span>-</span> - <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/> - </li> - <!--<li> - 物料规格:<input type="text" name="materialSpec"/> - </li>--> - <!--<li> - 物料类型: - <select name="materialType" th:with="type=${@dict.getType('materialType')}"> - <option value="">所有</option> - <option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option> - </select> - </li>--> - <li> - <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> - <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i> 导出</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="inventory:inventory:add">--> - <!--<i class="fa fa-plus"></i> 新增--> - <!--</a>--> - <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventory:remove">--> - <!--<i class="fa fa-trash-o"></i> 删除--> - <!--</a>--> - <a class="btn btn-outline btn-danger btn-rounded" onclick="transfer()" shiro:hasPermission="inventory:inventory:transfer"> - <i class="fa fa-exchange"></i> 立库移库 - </a> - <a class="btn btn-outline btn-primary btn-rounded" onclick="checkOut()" shiro:hasPermission="inventory:inventory:seeOut"> - <i class="fa fa-eye"></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('inventory:inventory:edit')}]]; - var removeFlag = [[${@permission.hasPermi('inventory:inventory:remove')}]]; - var prefix = ctx + "inventory/inventory" - var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; - $(function() { - var options = { - url: prefix + "/list", - createUrl: prefix + "/add", - updateUrl: prefix + "/edit/{id}", - removeUrl: prefix + "/remove", - modalName: "库存", - sortable: true, // 是否启用排序 - sortStable: true, // 设置为 true 将获得稳定的排序 - sortName: "id", - sortOrder: "desc", - search: false, - columns: [{ - checkbox: true - }, - { - field : 'id', - title : '库存ID', - sortable:true - }, - /*{ - field : 'locationId', - title : '库位Id' , - visible:false - },*/ - { - field : 'locationCode', - title : '库位编号' - }, - { - field : 'containerCode', - title : '容器编号' - }, - { - field : 'zoneCode', - title : '储货库区' , - }, - { - field : 'materialCode', - title : '存货编码' - }, - { - field : 'materialOldCode', - title : '存货代码' - }, - { - field : 'materialName', - title : '物料名称' - }, - { - field : 'materialSpec', - title : '物料规格' - }, - { - field : 'qty', - title : '数量' - }, - { - field : 'taskQty', - title : '预定执行数量' - }, - // { - // field : 'zoneCode', - // title : '物料库区', - // visible:true - // }, - { - field : 'sourceCode', - title : '上游系统单号', - visible:true - }, - { - field : 'uWarehouseCode', - title : 'u8仓库', - visible:true - }, - { - field : 'sourceLine', - title : '上游系统行号', - visible:true - }, - /*{ - field : 'companyId', - title : '货主Id', - visible:false - },*/ - { - field : 'companyCode', - title : '货主编码' - }, - - { - field : 'receiptId', - title : '入库单标识' , - visible:false - }, - { - field : 'receiptCode', - title : '入库单编码' - }, - { - field : 'receiptDetailId', - title : '入库单明细标识' , - visible:false - }, - { - field : 'batch', - title : '批次' , - sortable:false, - visible:false - }, - { - field : 'lot', - title : '批号' , - sortable:false, - visible:false - }, - { - field : 'project', - title : '项目号' , - sortable:true - }, - { - field : 'supplierCode', - title : '供应商编码', - visible:true - }, - { - field : 'manufactureDate', - title : '生产日期' , - sortable:true , - visible:false - }, - { - field : 'expirationDate', - title : '失效日期' , - sortable:true , - visible:false - }, - { - field : 'status', - title : '库存状态' , - align: 'center', - formatter: function(value, row, index) { - return $.table.selectDictLabel(inventoryStatus, value); - } - }, - - { - field : 'costPrice', - title : '成本' , - visible:false - }, - { - field : 'listPrice', - title : '标价' , - visible:false - }, - { - field : 'netPrice', - title : '净价' , - visible:false - }, - { - field : 'created', - title : '入库时间', - sortable:true - }, - { - field : 'createdBy', - title : '创建用户' , - visible:false - }, - { - field : 'lastUpdated', - title : '最后修改时间', - sortable:true - }, - { - field : 'lastUpdatedBy', - title : '更新用户' - }, - { - field : 'userDef1', - title : '自定义字段1' , - visible:false - }, - { - field : 'userDef2', - title : '自定义字段2' , - visible:false - }, - { - field : 'userDef3', - title : '自定义字段3' , - 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-remove"></i>删除</a>'); - // return actions.join(''); - // } - // } - ] - }; - $.table.init(options); - }); - - function transfer() { - var url = prefix+"/transfer"; - $.modal.open("立库移库",url); - } - - function checkOut() { - var rows=$("#bootstrap-table").bootstrapTable('getSelections'); - if (rows.length == 0) { - $.modal.alertWarning("请至少选择一条记录"); - return; - } - var url = prefix + "/createCheckOutTask"; - var data = { "ids": rows.map(function(v){return v.id;}).join(',') }; - localSubmit(url, "post", "json", data); - } - function localSubmit (url, type, dataType, data) { - $.modal.loading("正在处理中,请稍后..."); - var config = { - url: url, type: type, dataType: dataType, data: data, success: function (result) { - if (result.code == web_status.SUCCESS) { - $.modal.msgSuccess(result.msg); - } else { - $.modal.alertError(result.msg) - } - $.modal.closeLoading() - } - }; - $.ajax(config) - } - - </script> -</body> -</html> \ No newline at end of file diff --git a/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html new file mode 100644 index 0000000..446287f --- /dev/null +++ b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html @@ -0,0 +1,777 @@ +<!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> +<style> + .btn-default { + color: #333; + background-color: #fff; + border-color: #ccc + } +</style> +<body class="gray-bg"> +<div class="container-div"> + <div class="row"> + <div class="col-sm-12 select-info"> + <ul id="myTab" class="nav nav-tabs"> + <li class="active"><a href="#tabHeader" data-toggle="tab">主表</a></li> + <li><a href="#tabDetail" data-toggle="tab">明细</a></li> + </ul> + <div id="myTabContent" class="tab-content"> + <div class="tab-pane fade in active" id="tabHeader"> + <div class="col-sm-12 select-info"> + <form id="receiptHeader-form"> + <div class="select-list"> + <ul> + <li> + 出库单号:<input type="text" name="code"/> + </li> + <li> + <!--入库类型:<input type="text" name="sourceCode"/>--> + 出库类型:<select name="shipmentType" th:with="shipmentType=${@dict.getType('shipmentType')}"> + <option value="">所有</option> + <option th:each="e : ${shipmentType}" th:text="${e['dictLabel']}" + th:value="${e['dictValue']}"></option> + </select> + </li> + <li> + erp单号:<input type="text" name="referCode"/> + </li> + <li> + erp订单类型:<input type="text" name="referCodeType"/> + </li> + <li> + 客户编码:<input type="text" name="sourceCode"/> + </li> + <li> + <!--头 状 态:<input type="text" name="firstStatus"/>--> + 头 状 态:<select name="firstStatus" + th:with="firstStatus=${@dict.getType('shipmentHeaderStatus')}"> + <option value="">所有</option> + <option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}" + th:value="${e['dictValue']}"></option> + </select> + </li> + <li> + <!--尾 状 态:<input type="text" name="lastStatus"/>--> + 尾 状 态:<select name="lastStatus" + th:with="lastStatus=${@dict.getType('shipmentHeaderStatus')}"> + <option value="">所有</option> + <option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}" + th:value="${e['dictValue']}"></option> + </select> + </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> 搜索</a> + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="receipt:receiptHeader:export"><i class="fa fa-download"></i> 导出</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="shipment:bill:add"> + <i class="fa fa-plus"></i> 新增 + </a> + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" + shiro:hasPermission="shipment:bill: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> + </div> + <div class="tab-pane fade" id="tabDetail"> + <div class="col-sm-12 select-info"> + <form id = "shipmentHeadForm" > + <ul id="tabHead" class="nav nav-tabs"> + <li class="active"><a href="#tabBase" data-toggle="tab">基础数据</a></li> + <li role="presentation" ><a href="#tabCustomer" data-toggle="tab">客户信息</a></li> + <li><a href="#tabExcute" data-toggle="tab">执行信息</a></li> + <li><a href="#tabOther" data-toggle="tab">其他信息</a></li> + <li><a href="#tabSystem" data-toggle="tab">系统信息</a></li> + </ul> + <div class="tab-content"> + <div class="tab-pane fade in active" id="tabBase"> + <div class="select-list"> + <ul> + <li>出库单id:<input type="text" name="shipmentId" id="shipmentId"><li> + <li>出库单号:<input type="text" name="shipmentCode" id="shipmentCode"></li> + <input type="hidden" name="shipmentWarehouseId" id = "shipmentWarehouseId"> + <li>仓库编码:<input type="text" name="shipmentWarehouseCode" id="shipmentWarehouseCode"></li> + <input type="hidden" name="shipmentCompanyId" id="shipmentCompanyId"> + <li>货主:<input type="text" name="shipmentCompanyCode" id="shipmentCompanyCode"></li> + <li>上游系统单号:<input type="text" name="shipmentSourceCode" id="shipmentSourceCode"></li> + <li>上游平台:<input type="text" name="shipmentSourcePlatform" id="shipmentSourcePlatform"></li> + <li>出库单类型:<input type="text" name="shipmentType" id = "shipmentType"></li> + <li>总数量:<input type="text" name="shipmentTotalQty" id="shipmentTotalQty"></li> + <li>总行数:<input type="text" name="shipmentTotalLines" id="shipmentTotalLines"></li> + <li>单据头状态:<input type="text" name="shipmentFirstStatus" id="shipmentFirstStatus"></li> + <li>单据尾状态:<input type="text" name="shipmentLastStatus" id="shipmentLastStatus"></li> + </ul> + </div> + </div> + <div class="tab-pane fade" id="tabCustomer"> + <div class="select-list"> + <ul> + <li>客户编码:<input type="text" name="shipmentShipTo" id="shipmentShipTo"></li> + <li>发货预约时间:<input type="text" name="shipmentAppointmentTime" id="shipmentAppointmentTime"></li> + </ul> + </div> + </div> + <div class="tab-pane fade" id="tabExcute"> + <div class="select-list"> + <ul> + <li>优先级:<input type="text" name="shipmentPriority" id="shipmentPriority"></li> + <li>发货站台:<input type="text" name="shipmentStation" id="shipmentStation"></li> + <li></li> + </ul> + </div> + </div> + <div class="tab-pane fade" id="tabOther"> + <div class="select-list"> + <ul> + <li>备注:<input type="text" name="shipmentRemark" id="shipmentRemark"></li> + <li>扩展属性1:<input type="text" name="shipmentUserDef1" id="shipmentUserDef1"></li> + <li>扩展属性2:<input type="text" name="shipmentUserDef2" id="shipmentUserDef2"></li> + <li>扩展属性3:<input type="text" name="shipmentUserDef3" id="shipmentUserDef3"></li> + + </ul> + </div> + </div> + <div class="tab-pane fade" id="tabSystem"> + <div class="select-list"> + <ul> + <li>上传备注:<input type="text" name="shipmentUploadremark" id="shipmentUploadremark"></li> + <li>上传时间:<input type="text" name="shipmentUploadTime" id="shipmentUploadTime"></li> + <li>上传状态:<input type="text" name="shipmentUploadStatus" id="shipmentUploadStatus"></li> + <li>创建时间:<input type="text" name="shipmentCreated" id="shipmentCreated"></li> + <li>创建用户:<input type="text" name="shipmentCreatedBy" id="shipmentCreatedBy"></li> + <li>最后修改时间:<input type="text" name="shipmentLastUpdated" id="shipmentLastUpdated"></li> + <li>更新用户:<input type="text" name=" shipmentLastUpdatedBy" id="shipmentLastUpdatedBy"></li> + <li>是否有效:<input type="text" name="shipmentEnable" id="shipmentEnable"></li> + <li>是否删除:<input type="text" name="shipmentDeleted" id="shipmentDeleted"></li> + </ul> + </div> + </div> + </div> + </form> + </div> + <div class="btn-group hidden-xs" id="toolbar-detail" role="group" style="padding:20px 0;"> + + <a class="btn btn-outline btn-success btn-rounded" onclick="add()" shiro:hasPermission="shipment:bill:add"> + <i class="fa fa-plus"></i> 新增 + </a> + <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" shiro:hasPermission="shipment:bill:remove"> + <i class="fa fa-trash-o"></i> 删除 + </a> + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.edit(shipmentId)" shiro:hasPermission="shipment:bill:edit"> + <i class="fa fa-edit"></i> 编辑主单据 + </a> + <a class="btn btn-outline btn-default btn-rounded" onclick="loadDetail()"> + <i class="fa fa-refresh"></i> 刷新 + </a> + <!--<a class="btn btn-outline btn-success btn-rounded" onclick="autoZone()" shiro:hasPermission="shipment:bill:add">--> + <!--<i class="fa fa-plus"></i> 自动分配库区--> + <!--</a>--> + <!--<a class="btn btn-outline btn-success btn-rounded" onclick="addzone()" shiro:hasPermission="shipment:bill:add">--> + <!--<i class="fa fa-plus"></i> 分配库区--> + <!--</a>--> + <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="Toshipping(false)" shiro:hasPermission="shipment:shippingCombination:combination"> + <i class="fa fa-hand-lizard-o"></i> 手动组盘 + </a> + <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="Toshipping(true)" shiro:hasPermission="shipment:shippingCombination:combination"> + <i class="fa fa-code-fork"></i> 自动组盘 + </a> + </div> + <table id="bootstrap-table-detail" data-mobile-responsive="true" class="table table-bordered table-hover"></table> + </div> + </div> + </div> + </div> +</div> +<div th:include="include :: footer"></div> +<script th:inline="javascript"> + var printFlag = [[${@permission.hasPermi('shipment:bill:report')}]]; //打印 + var editFlag = [[${@permission.hasPermi('shipment:bill:edit')}]]; + var removeFlag = [[${@permission.hasPermi('shipment:bill:remove')}]]; + var prefix = ctx + "shipment/shipmentHeader"; + var prefix_detail = ctx + "shipment/shipmentDetail"; + var datas = [[${@dict.getType('sys_normal_disable')}]]; + var shipmentTypes=[[${@dict.getType('shipmentType')}]]; + var shipmentHeaderStatus=[[${@dict.getType('shipmentHeaderStatus')}]]; + var stations = [[${@dict.getType('station')}]]; + var uploadStatus=[[${@dict.getType('uploadStatus')}]]; + var detailCreateUrl=prefix_detail+"/add"; + var detailRemoveUrl=prefix_detail+"/remove"; + var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; + var rossDoccking = [[${@permission.hasPermi('shipment:bill:rossDoccking')}]]; + var rossDocckingUrl =prefix_detail+"/rossDoccking"; + var shipmentId = ""; + var shipmentCode=""; + + $(function () { + var options = { + url: prefix + "/list", + createUrl: prefix + "/add", + updateUrl: prefix + "/edit/{id}", + removeUrl: prefix + "/remove", + modalName: "出库单", + sortName: "created", + sortOrder: "desc", + search: false, + columns: [ + { + checkbox: true + }, + { + field: 'id', + title: '出库单id' + }, + { + field: 'code', + title: '出库单号', + sortable:true + }, + { + field: 'companyCode', + title: '货主', + sortable:true + }, + { + field: 'referCode', + title: 'erp订单号', + sortable:true + }, + { + field: 'referCodeType', + title: 'erp订单内部号', + sortable:true, + visible:false + }, + { + field: 'shipmentType', + title: '类型', + align: 'center', + formatter: function(value, row, index) { + return $.table.selectDictLabel(shipmentTypes, value); + }, + sortable:true + + }, + { + field: 'customerCode', + title: '客户编码', + sortable:true + }, + { + field: 'priority', + title: '优先级' + }, + { + field: 'route', + title: '路线', + sortable:true + }, + { + field: 'totalQty', + title: '总数量' + }, + { + field: 'totalLines', + title: '总行数' + }, + { + field: 'firstStatus', + title: '头状态', + formatter: function(value, row, index) { + return $.table.selectDictLabel(shipmentHeaderStatus, value); + }, + sortable:true + }, + { + field: 'lastStatus', + title: '尾状态', + formatter: function(value, row, index) { + return $.table.selectDictLabel(shipmentHeaderStatus, value); + }, + sortable:true + }, + { + field: 'created', + title: '创建时间', + sortable: true + }, + { + field: 'createdBy', + title: '创建用户' + }, + { + field: 'lastUpdated', + title: '最后修改时间', + visible:false + }, + { + field: 'lastUpdatedBy', + title: '更新用户', + visible:false + }, + { + title: '操作', + align: 'center', + formatter: function (value, row, index) { + var actions = []; + actions.push('<a id="table_edit" class="btn btn-success btn-xs ' + printFlag + '" href="#" onclick="receiptPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); + // actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>列表</a> '); + if (row.firstStatus < 100){ + actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); + } + if (row.firstStatus < 120){ + 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); + }); + + $("#bootstrap-table-detail").bootstrapTable( + { + /*url: prefix_detail + "/list",*/ + createUrl: prefix_detail + "/add", + updateUrl: prefix_detail + "/edit/{id}", + removeUrl: prefix_detail + "/remove", + // queryParams: queryParams, + sortable: true, //排序 + // showRefresh: true, //刷新 + modalName: "出库明细", + search: false, + clickToSelect: true, + sortName: "lastUpdated", + sortOrder: "desc", + pagination: true, // 是否显示分页(*) + pageNumber: 1, // 初始化加载第一页,默认第一页 + pageSize: 10, // 每页的记录行数(*) + pageList: [10, 25, 50], // 可供选择的每页的行数(*) + columns: [{ + checkbox: true + }, + { + field: 'id', + title: '明细id' + }, + { + field: 'zoneCode', + title: '库区' + }, + + /* { + field: 'shipmentId', + title: '出库单Id' + },*/ + { + field: 'materialCode', + title: '存货编码' + }, + { + field: 'materialName', + title: '物料名称' + }, + { + field: 'specification', + title: '物料规格' + }, + { + field: 'batch', + title: '批次', + visible:false + }, + { + field: 'lot', + title: '批号', + visible:false + }, + { + field: 'project', + title: '项目号' + }, + /*{ + field: 'status', + title: '明细状态', + formatter: function(value, row, index) { + return $.table.selectDictLabel(shipmentHeaderStatus, value); + }, + visible:true + },*/ + { + field: 'manufactureDate', + title: '生产日期', + visible:false + }, + { + field: 'expirationDate', + title: '失效日期', + visible:false + }, + { + field: 'agingDate', + title: '入库日期', + visible:false + }, + { + field: 'inventoryStatus', + title: '库存状态', + formatter: function(value, row, index) { + return $.table.selectDictLabel(inventoryStatus, value); + }, + }, + { + field: 'qty', + title: '发货数量' + }, + { + field: 'qtyCompleted', + title: '已出数量' + }, + { + field : 'inventoryQty', + title : '库存数量' + }, + { + field : 'status', + title : '明细状态', + align: 'center', + formatter: function(value, row, index) { + return $.table.selectDictLabel(shipmentHeaderStatus, value); + } + }, + { + field: 'price', + title: '物料单价', + visible:false + }, + { + field: 'created', + title: '创建时间', + }, + { + field: 'createdBy', + title: '创建用户' + }, + { + field: 'lastUpdated', + title: '最后修改时间' + }, + { + field: 'lastUpdatedBy', + title: '更新用户' + }, + { + title: '操作', + align: 'center', + formatter: function (value, row, index) { + var actions = []; + actions.push('<a style="background-color: #f59e00;border: #f59e00" class="btn btn-default btn-xs ' + rossDoccking + '" href="#" onclick="Doccking(\''+ row.id + '\')"><i class="fa fa-send"></i>越库</a> '); + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-edit"></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(''); + } + }] + } + ); + + + /* 越库 */ + function Doccking(id) { + // var url = rossDocckingUrl.replace("{id}", id); + let url=rossDocckingUrl; + var data = { "id": id }; + submit(url, "post", "json", data); + } + + function submit(url, type, dataType, data,content) { + $.modal.loading("正在处理中,请稍后..."); + var config = { + url: url, + type: type, + dataType: dataType, + data: data, + contentType: content, + success: function(result) { + if (result.code == web_status.SUCCESS) { + if (result.data !== null) { + layer.open({ + title: '' + ,content: result.data, + closeBtn:false + }); + $("body").focus(); + } + else { + $.modal.msg(result.msg); + } + + } + else { + $.modal.alertError(result.msg); + } + $("#list-btn").click(); + $.modal.closeLoading(); + } + }; + $.ajax(config) + } + + + + + /*入库单列表-详细*/ + function detail(id, code) { + shipmentId = id; + shipmentCode=code; + $("#myTab li").removeClass("active"); + $("#tabHeader").removeClass("in active"); + $("#myTab li:eq(1)").addClass("active"); + $("#tabDetail").addClass("in active"); + + loadDetail(); + } + + /** 载入明细 */ + function loadDetail() { + $.ajax({ + url:ctx + 'shipment/shipmentDetail/list', + type: 'post', + data:{ + shipmentId:shipmentId + }, + success : function (value) { + $("#bootstrap-table-detail").bootstrapTable('load',value.data); + } + }) + $.ajax({ + url:"shipmentHeader/getShipmentHeader", + type:"post", + data:{ + id:shipmentId + }, + success:function (value) { + $('#shipmentId').val(value.data.id); + $('#shipmentCode').val(value.data.code); + $('#shipmentWarehouseId').val(value.data.warehouseId); + $('#shipmentWarehouseCode').val(value.data.warehouseCode); + $('#shipmentCompanyId').val(value.data.companyId); + $('#shipmentCompanyCode').val(value.data.companyCode); + $('#shipmentSourceCode').val(value.data.sourceCode); + $('#shipmentSourcePlatform').val(value.data.sourcePlatform); + $('#shipmentType').val(shipmentTypes.filter(function(a){return a.dictValue==value.data.type})[0].dictLabel); + $('#shipmentShipTo').val(value.data.shipTo); + $('#shipmentPriority').val(value.data.priority); + $('#shipmentStation').val(value.data.station); + $('#shipmentTotalQty').val(value.data.totalQty); + $('#shipmentTotalLines').val(value.data.totalLines); + $('#shipmentRemark').val(value.data.remark); + $('#shipmentUploadremark').val(value.data.uploadremark); + $('#shipmentUploadTime').val(value.data.uploadTime); + $('#shipmentAppointmentTime').val(value.data.appointmentTime); + $('#shipmentFirstStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.firstStatus})[0].dictLabel); + $('#shipmentLastStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.lastStatus})[0].dictLabel); + $('#shipmentUploadStatus').val(uploadStatus.filter(function (a) {return a.dictValue==value.data.uploadStatus})[0].dictLabel); + $('#shipmentCreated').val(value.data.created); + $('#shipmentCreatedBy').val(value.data.createdBy); + $('#shipmentLastUpdated').val(value.data.lastUpdated); + $('#shipmentLastUpdatedBy').val(value.data.lastUpdatedBy); + //$('#shipmentEnable').val(value.data.enable); + if(value.data.enable==true){ + $('#shipmentEnable').val('是') + }else{ + $('#shipmentEnable').val('否') + }; + //$('#shipmentDeleted').val(value.data.deleted); + if(value.data.deleted==false){ + $('#shipmentDeleted').val('否') + }else{ + $('#shipmentDeleted').val('是') + }; + $('#shipmentUserDef1').val(value.data.userDef1); + $('#shipmentUserDef2').val(value.data.userDef2); + $('#shipmentUserDef3').val(value.data.userDef3); + + + } + }) + } + + /* 添加主单据 */ + function add() { + if (shipmentId == '') { + $.modal.open("未选择出库单" , "404.html"); + } + else { + var url = detailCreateUrl + "?shipmentId=" + $('#shipmentId').val() + + "&shipmentCode=" + $('#shipmentCode').val() + + "&companyId=" + $('#shipmentCompanyId').val() + + "&companyCode=" + $('#shipmentCompanyCode').val(); + + "&sourceCode=" + $('#shipmentSourceCode').val(); + $.modal.open("添加" , url); + } + } + + /* 打印 */ + function receiptPrint(id) { + var url = prefix + "/report/" + id; + $.modal.open("出库单打印" , url); + } + + /* 编辑明细单据 */ + function edit(id) { + if (shipmentId == '') { + $.modal.open("未选择出库单" , "404.html"); + } + else { + var url = prefix_detail + "/edit/" + id ; + $.modal.open("编辑明细" , url); + } + } + + /* 单个删除 */ + function remove(id) { + $.modal.confirm("确定删除该条出库单明细信息吗?", function() { + var url = $.common.isEmpty(id) ? detailRemoveUrl : detailRemoveUrl.replace("{id}", id); + var data = { "ids": id }; + localSubmit(url, "post", "json", data); + }); + } + + /* 批量删除 */ + function batRemove() { + var rows=$("#bootstrap-table-detail").bootstrapTable('getSelections'); + // console.log(rows); + // var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id); + if (rows.length == 0) { + $.modal.alertWarning("请至少选择一条记录"); + return; + } + $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() { + var url = detailRemoveUrl; + var data = { "ids": rows.map(function(v){return v.id;}).join(',') }; + localSubmit(url, "post", "json", data); + }); + } + + function localSubmit (url, type, dataType, data) { + $.modal.loading("正在处理中,请稍后..."); + var config = { + url: url, type: type, dataType: dataType, data: data, success: function (result) { + if (result.code == web_status.SUCCESS) { + $.modal.msgSuccess(result.msg); + loadDetail(shipmentId, shipmentCode) + } else { + $.modal.alertError(result.msg) + } + $.modal.closeLoading() + } + }; + $.ajax(config) + } + + /* 出库组盘 */ + function Toshipping(auto) { + let storage=window.localStorage; + if (auto) { + $(".auto-shipment").attr("disabled",true).css("pointer-events","none"); + storage.auto = auto; + let url = ctx + "shipment/shippingCombination"; + createMenuItem(url, "出库自动组盘"); + storage.shipmentCode=shipmentCode; + parent.$('.tabReload').click(); + $(".auto-shipment").attr("disabled",false).css("pointer-events","auto"); + } + else { + var rows=$("#bootstrap-table-detail").bootstrapTable('getSelections'); + if (rows.length == 0) { + $.modal.alertWarning("请至少选择一条记录"); + return; + } + let data = { "ids": rows.map(function(v){return v.id;}).join(',') }; + $(".to-receive").attr("disabled",true).css("pointer-events","none"); + let url = ctx + "shipment/shippingCombination"; + createMenuItem(url, "出库组盘"); + storage.shipids=data.ids; + storage.shipmentCode=shipmentCode; + parent.$('.tabReload').click(); + $(".to-receive").attr("disabled",false).css("pointer-events","auto"); + } + + } + + /* 点击明细面板 */ + $("#myTab li:eq(1)").click(function () { + if (shipmentId == '') { + shipmentId = $("#bootstrap-table tr:eq(1) td:eq(1)").text(); + } + detail(shipmentId, ""); + }); + + /* 点击主表面板 */ + $("#myTab li:eq(0)").click(function () { + $.ajax({ + url: prefix + "/list", + type:"post", + success:function (value) { + $("#bootstrap-table").bootstrapTable('refresh', value.data); + } + }) + }); + + // function addzone() { + // let url=prefix_detail+'/addZoneCode?ids='; + // let rows=$("#bootstrap-table-detail").bootstrapTable('getSelections'); + // if (rows.length === 0) { + // $.modal.msgWarning("请至少选择一条记录"); + // } + // else { + // let ids = ""; + // for(let i=0; i<rows.length; i++) { + // ids = ids + rows[i].id + "," + // } + // ids = ids.substring(0, ids.length-1); + // url=url+ids; + // $.modal.open("分配库区",url,800,250) + // } + // } + // + // //自动分配库区 + // function autoZone() { + // let code=$("#shipmentCode").val(); + // $.ajax({ + // url:prefix_detail+'/addZones', + // type:'post', + // data:{ + // code:code + // }, + // success:function (res) { + // if (res.code === 200) { + // $.modal.msgSuccess(res.msg); + // loadDetail(); + // } + // else{ + // $.modal.msgError(res.msg); + // } + // } + // }) + // } + +</script> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/inventory/inventory/transfer.html b/src/main/resources/templates/inventory/inventoryHeader/transfer.html index b1e9daf..77b65fe 100644 --- a/src/main/resources/templates/inventory/inventory/transfer.html +++ b/src/main/resources/templates/inventory/inventoryHeader/transfer.html @@ -10,13 +10,6 @@ <!--</ul>--> <!--<div id="myTabContent" class="tab-content">--> <!--<div class="tab-pane fade in active" id="tab1">--> - - <!--</div>--> - <!--<div class="tab-pane fade" id="tabDetail">--> - <!--此版本--> - <!--</div>--> - <!--</div>--> - <!--</div>--> <div class="wrapper wrapper-content animated fadeInRight ibox-content"> <form class="form-horizontal m" id="form-inventory-transfer"> diff --git a/src/main/resources/templates/inventory/inventoryTransaction/add.html b/src/main/resources/templates/inventory/inventoryTransaction/add.html deleted file mode 100644 index 13589e0..0000000 --- a/src/main/resources/templates/inventory/inventoryTransaction/add.html +++ /dev/null @@ -1,217 +0,0 @@ -<!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-inventoryTransaction-add"> - <div class="form-group"> - <label class="col-sm-3 control-label">仓库Id:</label> - <div class="col-sm-8"> - <input id="warehouseId" name="warehouseId" 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="warehouseCode" name="warehouseCode" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">库位id:</label> - <div class="col-sm-8"> - <input id="locationId" name="locationId" 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="locationCode" name="locationCode" 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="sourceCode" name="sourceCode" 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="sourceLine" name="sourceLine" 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="type" name="type" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">公司id:</label> - <div class="col-sm-8"> - <input id="companyId" name="companyId" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">物料Id:</label> - <div class="col-sm-8"> - <input id="materialId" name="materialId" 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="materialCode" name="materialCode" 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="billId" name="billId" 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="billCode" name="billCode" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">单明细id:</label> - <div class="col-sm-8"> - <input id="billDetailId" name="billDetailId" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">批次:</label> - <div class="col-sm-8"> - <input id="batch" name="batch" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">批号:</label> - <div class="col-sm-8"> - <input id="lot" name="lot" 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="project" name="project" 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="manufactureDate" name="manufactureDate" 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="expirationDate" name="expirationDate" 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="status" name="status" 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="qty" name="qty" 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="taskQty" name="taskQty" 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="costPrice" name="costPrice" 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="listPrice" name="listPrice" 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="netPrice" name="netPrice" 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="created" name="created" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">创建用户:</label> - <div class="col-sm-8"> - <input id="createdBy" name="createdBy" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">最后修改时间:</label> - <div class="col-sm-8"> - <input id="lastUpdated" name="lastUpdated" 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="lastUpdatedBy" name="lastUpdatedBy" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段1:</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">自定义字段2:</label> - <div class="col-sm-8"> - <input id="userDef2" name="userDef2" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段3:</label> - <div class="col-sm-8"> - <input id="userDef3" name="userDef3" class="form-control" type="text"> - </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 + "inventory/inventoryTransaction" - $("#form-inventoryTransaction-add").validate({ - rules:{ - xxxx:{ - required:true, - }, - }, - submitHandler: function(form) { - $.operate.save(prefix + "/add", $('#form-inventoryTransaction-add').serialize()); - } - }); - </script> -</body> -</html> diff --git a/src/main/resources/templates/inventory/inventoryTransaction/edit.html b/src/main/resources/templates/inventory/inventoryTransaction/edit.html deleted file mode 100644 index 5e41a74..0000000 --- a/src/main/resources/templates/inventory/inventoryTransaction/edit.html +++ /dev/null @@ -1,218 +0,0 @@ -<!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-inventoryTransaction-edit" th:object="${inventoryTransaction}"> - <input id="id" name="id" th:field="*{id}" type="hidden"> - <div class="form-group"> - <label class="col-sm-3 control-label">仓库Id:</label> - <div class="col-sm-8"> - <input id="warehouseId" name="warehouseId" th:field="*{warehouseId}" 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="warehouseCode" name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">库位id:</label> - <div class="col-sm-8"> - <input id="locationId" name="locationId" th:field="*{locationId}" 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="locationCode" name="locationCode" th:field="*{locationCode}" 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="sourceCode" name="sourceCode" th:field="*{sourceCode}" 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="sourceLine" name="sourceLine" th:field="*{sourceLine}" 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="type" name="type" th:field="*{type}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">公司id:</label> - <div class="col-sm-8"> - <input id="companyId" name="companyId" th:field="*{companyId}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">物料Id:</label> - <div class="col-sm-8"> - <input id="materialId" name="materialId" th:field="*{materialId}" 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="materialCode" name="materialCode" th:field="*{materialCode}" 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="billId" name="billId" th:field="*{billId}" 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="billCode" name="billCode" th:field="*{billCode}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">单明细id:</label> - <div class="col-sm-8"> - <input id="billDetailId" name="billDetailId" th:field="*{billDetailId}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">批次:</label> - <div class="col-sm-8"> - <input id="batch" name="batch" th:field="*{batch}" 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="lot" name="lot" th:field="*{lot}" 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="project" name="project" th:field="*{project}" 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="manufactureDate" name="manufactureDate" th:field="*{manufactureDate}" 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="expirationDate" name="expirationDate" th:field="*{expirationDate}" 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="status" name="status" th:field="*{status}" 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="qty" name="qty" th:field="*{qty}" 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="taskQty" name="taskQty" th:field="*{taskQty}" 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="costPrice" name="costPrice" th:field="*{costPrice}" 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="listPrice" name="listPrice" th:field="*{listPrice}" 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="netPrice" name="netPrice" th:field="*{netPrice}" 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="created" name="created" th:field="*{created}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">创建用户:</label> - <div class="col-sm-8"> - <input id="createdBy" name="createdBy" th:field="*{createdBy}" 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="lastUpdated" name="lastUpdated" th:field="*{lastUpdated}" 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="lastUpdatedBy" name="lastUpdatedBy" th:field="*{lastUpdatedBy}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段1:</label> - <div class="col-sm-8"> - <input id="userDef1" name="userDef1" th:field="*{userDef1}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段2:</label> - <div class="col-sm-8"> - <input id="userDef2" name="userDef2" th:field="*{userDef2}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">自定义字段3:</label> - <div class="col-sm-8"> - <input id="userDef3" name="userDef3" th:field="*{userDef3}" class="form-control" type="text"> - </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 + "inventory/inventoryTransaction" - $("#form-inventoryTransaction-edit").validate({ - rules:{ - xxxx:{ - required:true, - }, - }, - submitHandler: function(form) { - $.operate.save(prefix + "/edit", $('#form-inventoryTransaction-edit').serialize()); - } - }); - </script> -</body> -</html> diff --git a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html index 873139c..d646446 100644 --- a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html +++ b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html @@ -53,22 +53,12 @@ </li> <li> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> - <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i> 导出</a>--> + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i> 导出</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="inventory:inventoryTransaction:add"> - <i class="fa fa-plus"></i> 新增 - </a> - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventoryTransaction:remove"> - <i class="fa fa-trash-o"></i> 删除 - </a> - </div> - --> <div class="col-sm-12 select-info"> <div class="btn-group hidden-xs" id="toolbar" role="group"> <a class="btn btn-outline btn-success btn-rounded" onclick="report()"> @@ -81,7 +71,7 @@ </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> - var editFlag = [[${@permission.hasPermi('inventory:inventoryTransaction:edit')}]]; + var editFlag = [[${@permission.hasPermi('inventoryHeader:inventoryTransaction:edit')}]]; var prefix = ctx + "inventory/inventoryTransaction"; var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; var inventoryTransactionType = [[${@dict.getType('inventoryTransactionType')}]]; diff --git a/src/main/resources/templates/shipment/shippingCombination/combination.html b/src/main/resources/templates/shipment/shippingCombination/combination.html index 8041126..1906000 100644 --- a/src/main/resources/templates/shipment/shippingCombination/combination.html +++ b/src/main/resources/templates/shipment/shippingCombination/combination.html @@ -47,7 +47,7 @@ </li> <li> <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> - <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i> 导出</a>--> + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i> 导出</a>--> </li> <!--<li>--> diff --git a/src/main/resources/templates/tool/import/import.html b/src/main/resources/templates/tool/import/import.html index 3983010..5630cb7 100644 --- a/src/main/resources/templates/tool/import/import.html +++ b/src/main/resources/templates/tool/import/import.html @@ -11,8 +11,8 @@ <ul> <li> 导入表: - <select name="table" id="table"> - <option value="general/material">物料</option> + <select name="table" id="table" th:with="list=${@excelService.getList()}"> + <option th:each="ex : ${list}" th:text="${ex['name']}" th:value="${ex['url']}"></option> </select> </li> </ul> diff --git a/src/test/java/com.huaheng.test/CreateCode.java b/src/test/java/com.huaheng.test/CreateCode.java index c1cad0e..b65f919 100644 --- a/src/test/java/com.huaheng.test/CreateCode.java +++ b/src/test/java/com.huaheng.test/CreateCode.java @@ -1155,12 +1155,12 @@ public class CreateCode { packages.put("container","com.huaheng.pc.general.container.Container"); packages.put("container_type","com.huaheng.pc.config.containerType.ContainerType"); packages.put("customer","com.huaheng.pc.general.customer.Customer"); - packages.put("cyclecount_adjust","com.huaheng.pc.inventory.cyclecountAdjust.CyclecountAdjust"); - packages.put("cyclecount_adjustdetail","com.huaheng.pc.inventory.cyclecountAdjustDetail.CyclecountAdjustDetail"); - packages.put("cyclecount_detail","com.huaheng.pc.inventory.cyclecountDetail.CyclecountDetail"); - packages.put("cyclecount_header","com.huaheng.pc.inventory.cyclecountHeader.CyclecountHeader"); - packages.put("inventory","com.huaheng.pc.inventory.inventory.Inventory"); - packages.put("inventory_transaction","com.huaheng.pc.inventory.inventoryTransaction.InventoryTransaction"); + packages.put("cyclecount_adjust","com.huaheng.pc.inventoryHeader.cyclecountAdjust.CyclecountAdjust"); + packages.put("cyclecount_adjustdetail","com.huaheng.pc.inventoryHeader.cyclecountAdjustDetail.CyclecountAdjustDetail"); + packages.put("cyclecount_detail","com.huaheng.pc.inventoryHeader.cyclecountDetail.CyclecountDetail"); + packages.put("cyclecount_header","com.huaheng.pc.inventoryHeader.cyclecountHeader.CyclecountHeader"); + packages.put("inventory","com.huaheng.pc.inventoryHeader.inventoryHeader.Inventory"); + packages.put("inventory_transaction","com.huaheng.pc.inventoryHeader.inventoryTransaction.InventoryTransaction"); packages.put("location","com.huaheng.pc.general.location.Location"); packages.put("location_type","com.huaheng.pc.config.locationType.LocationType"); packages.put("material","com.huaheng.pc.general.material.Material");