Commit a4666868 by kangxiaoshan

合同导入

parent 6f9126b4
...@@ -6,202 +6,24 @@ ...@@ -6,202 +6,24 @@
</artifacts-to-build> </artifacts-to-build>
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="a79129f2-4ff8-4d4f-8e37-d936b330ff31" name="Default Changelist" comment=""> <list default="true" id="fcaffbb7-50d8-4ab8-9bad-0a6fbd39f63b" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/manage.iml" beforeDir="false" afterPath="$PROJECT_DIR$/manage.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/common/controller/ContractController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/common/controller/ContractController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/common/service/ContractService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/common/service/ContractService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/common/service/impl/ContractServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/common/service/impl/ContractServiceImpl.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/common/service/impl/ContractServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/common/service/impl/ContractServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/util/ResultStatus.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/util/ResultStatus.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/spring/applicationContext.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/spring/applicationContext.xml" afterDir="false" />
</list> </list>
<ignored path="$PROJECT_DIR$/target/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" /> <option name="LAST_RESOLUTION" value="IGNORE" />
</component> </component>
<component name="DatabaseView">
<option name="SHOW_INTERMEDIATE" value="true" />
<option name="GROUP_DATA_SOURCES" value="true" />
<option name="GROUP_SCHEMA" value="true" />
<option name="GROUP_CONTENTS" value="false" />
<option name="SORT_POSITIONED" value="false" />
<option name="SHOW_EMPTY_GROUPS" value="false" />
<option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
<option name="HIDDEN_KINDS">
<set />
</option>
<expand />
<select />
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/impl/ContractServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="442">
<caret line="1792" column="54" selection-start-line="1792" selection-start-column="54" selection-end-line="1792" selection-end-column="54" />
<folding>
<element signature="docComment;class#ContractServiceImpl#0" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/common/repository/ContractMoneyRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="282">
<caret line="39" column="355" selection-start-line="39" selection-start-column="20" selection-end-line="39" selection-end-column="355" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="208">
<caret line="13" column="5" lean-forward="true" selection-start-line="13" selection-start-column="5" selection-end-line="13" selection-end-column="5" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/dic/AuthMenuEnmm.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="368">
<caret line="23" column="42" selection-start-line="23" selection-start-column="42" selection-end-line="23" selection-end-column="42" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/common/controller/UserController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2256">
<caret line="164" column="36" selection-start-line="164" selection-start-column="36" selection-end-line="164" selection-end-column="36" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/common/controller/UserLogController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="720">
<caret line="58" column="37" selection-start-line="58" selection-start-column="37" selection-end-line="58" selection-end-column="37" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/dic/RoleEnum.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="128">
<caret line="8" column="4" selection-start-line="8" selection-start-column="4" selection-end-line="8" selection-end-column="4" />
<folding>
<element signature="e#426#427#0" expanded="true" />
<element signature="e#452#453#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/security/interceptor/AuthorizationInterceptor.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1008">
<caret line="96" selection-start-line="96" selection-end-line="96" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/security/annotation/AuthKey.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="128">
<caret line="13" selection-start-line="13" selection-end-line="13" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/User.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1664">
<caret line="176" column="14" selection-start-line="176" selection-start-column="14" selection-end-line="176" selection-end-column="14" />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Class" />
</list>
</option>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>find/role</find>
<find>find/body</find>
<find>/sale&quot;</find>
<find>contract&quot;</find>
<find>findByDsAndRoileRelation</find>
<find>authSave</find>
<find>findPayAll</find>
<find>Authorization</find>
<find>Collectors.toMap</find>
<find>find/payall</find>
<find>find</find>
<find>update</find>
<find>system/user</find>
<find>/del/info</find>
<find>pay/export</find>
<find>setstaus</find>
<find>CONTRACTMNG_EX</find>
<find>payall&quot;</find>
<find>find&quot;</find>
</findStrings>
<dirStrings>
<dir>D:\java_work\git_work\manager\src</dir>
<dir>D:\java_work\git_work\manager\src\main\java\common\controller</dir>
</dirStrings>
</component>
<component name="Git.Settings"> <component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component> </component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/main/resources/hisdata.txt" />
<option value="$PROJECT_DIR$/src/main/java/common/controller/ContractSaveController.java" />
<option value="$PROJECT_DIR$/src/main/java/common/model/AuthDic.java" />
<option value="$PROJECT_DIR$/src/main/java/common/model/Auth.java" />
<option value="$PROJECT_DIR$/src/main/java/dic/RoleEnum.java" />
<option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/src/main/java/common/repository/ContractBodyRepository.java" />
<option value="$PROJECT_DIR$/src/main/java/common/controller/LoginController.java" />
<option value="$PROJECT_DIR$/src/main/java/common/repository/UserRepository.java" />
<option value="$PROJECT_DIR$/src/main/java/common/service/ContractService.java" />
<option value="$PROJECT_DIR$/src/main/java/common/service/AuthService.java" />
<option value="$PROJECT_DIR$/src/main/java/common/repository/ContractRepository.java" />
<option value="$PROJECT_DIR$/src/main/java/common/service/impl/UserServiceImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/tkio/service/impl/AccountServiceImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/common/service/impl/AuthServiceImpl.java" />
<option value="$PROJECT_DIR$/src/main/java/security/annotation/AuthKey.java" />
<option value="$PROJECT_DIR$/src/main/java/common/model/User.java" />
<option value="$PROJECT_DIR$/src/main/java/dic/AuthMenuEnmm.java" />
<option value="$PROJECT_DIR$/src/main/java/common/controller/UserController.java" />
<option value="$PROJECT_DIR$/src/main/java/common/controller/UserLogController.java" />
<option value="$PROJECT_DIR$/src/main/java/security/interceptor/AuthorizationInterceptor.java" />
<option value="$PROJECT_DIR$/src/main/java/common/controller/ContractController.java" />
<option value="$PROJECT_DIR$/src/main/java/common/service/impl/ContractServiceImpl.java" />
</list>
</option>
</component>
<component name="LogFilters"> <component name="LogFilters">
<option name="FILTER_ERRORS" value="false" /> <option name="FILTER_ERRORS" value="false" />
<option name="FILTER_WARNINGS" value="false" /> <option name="FILTER_WARNINGS" value="false" />
...@@ -215,80 +37,28 @@ ...@@ -215,80 +37,28 @@
<option value="test" /> <option value="test" />
</list> </list>
</option> </option>
<option name="disabledProfiles">
<list>
<option value="dev" />
</list>
</option>
</component> </component>
<component name="MavenProjectNavigator"> <component name="ProjectId" id="1Ts3vGHP0uKki270IrlDm1ngYNz" />
<treeState> <component name="ProjectViewState">
<expand> <option name="abbreviatePackageNames" value="true" />
<path> <option name="autoscrollToSource" value="true" />
<item name="" type="16c1761:MavenProjectsStructure$RootNode" /> <option name="showExcludedFiles" value="true" />
<item name="Profiles" type="6783ec58:MavenProjectsStructure$ProfilesNode" /> <option name="showLibraryContents" value="true" />
</path>
<path>
<item name="" type="16c1761:MavenProjectsStructure$RootNode" />
<item name="myweb Maven Webapp" type="9519ce18:MavenProjectsStructure$ProjectNode" />
</path>
<path>
<item name="" type="16c1761:MavenProjectsStructure$RootNode" />
<item name="myweb Maven Webapp" type="9519ce18:MavenProjectsStructure$ProjectNode" />
<item name="Lifecycle" type="58874e2:MavenProjectsStructure$LifecycleNode" />
</path>
</expand>
<select />
</treeState>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="-7" />
<option name="y" value="2" />
<option name="width" value="1378" />
<option name="height" value="733" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="PackagesPane" />
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="manage" type="b2602c69:ProjectViewProjectNode" />
<item name="manager" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
</panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="true" /> <property name="WebServerToolWindowFactoryState" value="true" />
<property name="aspect.path.notification.shown" value="true" /> <property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/pom.xml" /> <property name="last_opened_file_path" value="$USER_HOME$/Desktop/GmailWebEmail-master" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> <property name="settings.editor.selected.configurable" value="sshConsole" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\java_work\git_work\manager\src\main\resources" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component> </component>
<component name="RunManager"> <component name="RunManager">
<configuration name="Tomcat 8.5.32" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 8.5.32" ALTERNATIVE_JRE_ENABLED="false" nameIsGenerated="true"> <configuration name="tomcat" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 8.5.32" ALTERNATIVE_JRE_ENABLED="false">
<option name="OPEN_IN_BROWSER_URL" value="http://localhost:9001/" />
<option name="BROWSER_ID" value="98ca6316-2f89-46d9-a9e5-fa9e2b0625b3" /> <option name="BROWSER_ID" value="98ca6316-2f89-46d9-a9e5-fa9e2b0625b3" />
<option name="UPDATING_POLICY" value="restart-server" /> <option name="UPDATING_POLICY" value="restart-server" />
<deployment> <deployment>
...@@ -299,9 +69,9 @@ ...@@ -299,9 +69,9 @@
</artifact> </artifact>
</deployment> </deployment>
<server-settings> <server-settings>
<option name="BASE_DIRECTORY_NAME" value="Unnamed_manage_2" /> <option name="BASE_DIRECTORY_NAME" value="Unnamed_manage_3" />
<option name="HTTP_PORT" value="9001" /> <option name="HTTP_PORT" value="9001" />
<option name="JNDI_PORT" value="1091" /> <option name="JNDI_PORT" value="1098" />
</server-settings> </server-settings>
<predefined_log_file enabled="true" id="Tomcat" /> <predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" /> <predefined_log_file enabled="true" id="Tomcat Catalina" />
...@@ -309,7 +79,7 @@ ...@@ -309,7 +79,7 @@
<predefined_log_file id="Tomcat Host Manager" /> <predefined_log_file id="Tomcat Host Manager" />
<predefined_log_file id="Tomcat Localhost Access" /> <predefined_log_file id="Tomcat Localhost Access" />
<RunnerSettings RunnerId="Debug"> <RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="52963" /> <option name="DEBUG_PORT" value="57639" />
</RunnerSettings> </RunnerSettings>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover"> <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
<option name="USE_ENV_VARIABLES" value="true" /> <option name="USE_ENV_VARIABLES" value="true" />
...@@ -364,492 +134,200 @@ ...@@ -364,492 +134,200 @@
</method> </method>
</configuration> </configuration>
</component> </component>
<component name="ServiceViewManager">
<option name="viewStates">
<list>
<serviceView>
<option name="contentProportion" value="0.14064915" />
<treeState>
<expand>
<path>
<item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
<item name="Tomcat Server" type="7427dc5b:ServiceModel$ServiceGroupNode" />
</path>
</expand>
<select />
</treeState>
</serviceView>
</list>
</option>
</component>
<component name="SshConsoleOptionsProvider">
<option name="myEncoding" value="UTF-8" />
<option name="myConnectionType" value="NONE" />
</component>
<component name="SvnConfiguration"> <component name="SvnConfiguration">
<configuration /> <configuration>C:\Users\reyun\AppData\Roaming\Subversion</configuration>
</component> </component>
<component name="TaskManager"> <component name="TaskManager">
<task active="true" id="Default" summary="Default task"> <task active="true" id="Default" summary="Default task">
<changelist id="a79129f2-4ff8-4d4f-8e37-d936b330ff31" name="Default Changelist" comment="" /> <changelist id="fcaffbb7-50d8-4ab8-9bad-0a6fbd39f63b" name="Default Changelist" comment="" />
<created>1567681369142</created> <created>1574235204928</created>
<option name="number" value="Default" /> <option name="number" value="Default" />
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1567681369142</updated> <updated>1574235204928</updated>
<workItem from="1567681372397" duration="3186000" /> <workItem from="1574235207646" duration="714000" />
<workItem from="1569236308524" duration="1987000" /> <workItem from="1574250767634" duration="4804000" />
<workItem from="1571106610194" duration="825000" /> <workItem from="1574321687324" duration="2811000" />
<workItem from="1571108916082" duration="310000" /> <workItem from="1575546585476" duration="419000" />
<workItem from="1571122128098" duration="3539000" /> <workItem from="1578381577457" duration="696000" />
<workItem from="1571128673298" duration="13926000" /> <workItem from="1578625066578" duration="4401000" />
<workItem from="1571214457743" duration="34797000" /> <workItem from="1579312948403" duration="15000" />
<workItem from="1571624737960" duration="1532000" /> <workItem from="1579316780422" duration="710000" />
<workItem from="1584328339137" duration="11675000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="60102000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
<editor active="true" />
<layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.21860817" />
<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="Favorites" order="4" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" weight="0.3295082" />
<window_info anchor="bottom" id="Run" order="2" weight="0.3295082" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.57213116" />
<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" weight="0.3295082" />
<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="Spring" order="9" />
<window_info anchor="bottom" id="Database Changes" order="10" />
<window_info anchor="bottom" id="Terminal" order="11" weight="0.8196721" />
<window_info anchor="bottom" id="Event Log" order="12" side_tool="true" />
<window_info anchor="bottom" id="Messages" order="13" weight="0.3295082" />
<window_info anchor="bottom" id="Application Servers" order="14" weight="0.3295082" />
<window_info anchor="bottom" id="Java Enterprise" order="15" />
<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="Database" order="3" weight="0.32980332" />
<window_info anchor="right" id="Maven" order="4" weight="0.1301059" />
<window_info anchor="right" id="Remote Host" order="5" />
<window_info anchor="right" id="Bean Validation" order="6" />
<window_info anchor="right" id="Palette&#9;" order="7" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" /> <option name="version" value="1" />
</component> </component>
<component name="XDebuggerManager"> <component name="Vcs.Log.Tabs.Properties">
<breakpoint-manager> <option name="TAB_STATES">
<breakpoints> <map>
<line-breakpoint enabled="true" type="java-line"> <entry key="MAIN">
<url>file://$PROJECT_DIR$/src/main/java/common/service/impl/ContractServiceImpl.java</url> <value>
<line>1627</line> <State>
<properties /> <option name="COLUMN_ORDER" />
<option name="timeStamp" value="2" /> </State>
</line-breakpoint> </value>
<line-breakpoint enabled="true" type="java-line"> </entry>
<url>file://$PROJECT_DIR$/src/main/java/common/service/impl/UserServiceImpl.java</url> </map>
<line>58</line> </option>
<properties /> <option name="RECENT_FILTERS">
<option name="timeStamp" value="3" /> <map>
</line-breakpoint> <entry key="Branch">
</breakpoints> <value>
</breakpoint-manager> <list />
</component> </value>
<component name="editorHistoryManager"> </entry>
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/JavaEE/lib/javaee-impl.jar!/standardSchemas/web-common_3_1.xsd"> <entry key="User">
<provider selected="true" editor-type-id="text-editor"> <value>
<state relative-caret-position="2272"> <list />
<caret line="142" column="6" selection-start-line="142" selection-start-column="6" selection-end-line="142" selection-end-column="6" /> </value>
</state> </entry>
</provider> </map>
</entry> </option>
<entry file="file://$PROJECT_DIR$/src/main/java/security/resolvers/LoginUserMethodArgumentsResolver.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="22" column="13" selection-start-line="22" selection-start-column="13" selection-end-line="22" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/MenuService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="128">
<caret line="10" column="15" selection-start-line="10" selection-start-column="15" selection-end-line="10" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/impl/MenuServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="23" column="22" selection-start-line="23" selection-start-column="22" selection-end-line="23" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/security/exception/MethodNotSupportException.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="32">
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/security/cors/CorsFilter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="128">
<caret line="14" column="13" selection-start-line="14" selection-start-column="13" selection-end-line="14" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/controller/MenuController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="304">
<caret line="30" column="43" selection-start-line="30" selection-start-column="43" selection-end-line="30" selection-end-column="43" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/controller/SaleAuthController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="21" column="13" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/spring/applicationContext.xml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/pom.xml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/ContractChange.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240">
<caret line="16" column="27" selection-start-line="16" selection-start-column="27" selection-end-line="16" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/ChangeDelDetail.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="96">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/KeyValue.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/Menu.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/ChangeDelInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170">
<caret line="19" selection-start-line="19" selection-end-line="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/BackVisit.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="112">
<caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/AuthDic.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="192">
<caret line="17" column="19" selection-start-line="17" selection-start-column="19" selection-end-line="17" selection-end-column="19" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/repository/SalesRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="224">
<caret line="18" column="16" selection-start-line="18" selection-start-column="16" selection-end-line="18" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/Auth.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="544">
<caret line="49" column="35" selection-start-line="49" selection-start-column="35" selection-end-line="49" selection-end-column="35" />
<folding>
<element signature="e#783#784#0" expanded="true" />
<element signature="e#832#833#0" expanded="true" />
<element signature="e#867#868#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/office/service/BussinussManService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="112">
<caret line="7" column="9" selection-start-line="7" selection-start-column="9" selection-end-line="7" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/office/service/impl/BussinussManServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="192">
<caret line="16" column="16" selection-start-line="16" selection-start-column="16" selection-end-line="16" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar!/javax/servlet/http/HttpServletRequest.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="194">
<caret line="26" column="11" selection-start-line="26" selection-start-column="11" selection-end-line="26" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/security/TokenManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="232">
<caret line="29" column="11" selection-start-line="29" selection-start-column="11" selection-end-line="29" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/security/RedisTokenManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210">
<caret line="119" column="16" selection-start-line="119" selection-start-column="16" selection-end-line="119" selection-end-column="16" />
<folding>
<element signature="e#2977#2978#0" expanded="true" />
<element signature="e#3023#3024#0" expanded="true" />
<element signature="e#3589#3590#0" expanded="true" />
<element signature="e#3648#3649#0" expanded="true" />
<element signature="e#5018#5019#0" expanded="true" />
<element signature="e#5073#5074#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/security/AbstractTokenManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="202">
<caret line="68" column="28" selection-start-line="68" selection-start-column="28" selection-end-line="68" selection-end-column="28" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/repository/UserRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="402">
<caret line="59" column="51" selection-start-line="59" selection-start-column="51" selection-end-line="59" selection-end-column="51" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/controller/LoginController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="312">
<caret line="75" selection-start-line="75" selection-end-line="75" />
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/4.3.4.RELEASE/spring-core-4.3.4.RELEASE.jar!/org/springframework/cglib/proxy/MethodProxy.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1424">
<caret line="104" selection-start-line="104" selection-end-line="104" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/AppService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="112">
<caret line="13" column="17" selection-start-line="13" selection-start-column="17" selection-end-line="13" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/ContractService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="369">
<caret line="71" lean-forward="true" selection-start-line="71" selection-end-line="71" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/impl/AppServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="112">
<caret line="47" selection-start-line="47" selection-end-line="47" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/AuthService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="96">
<caret line="6" column="23" selection-start-line="6" selection-start-column="23" selection-end-line="6" selection-end-column="23" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/repository/ContractRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="432">
<caret line="98" column="19" selection-start-line="98" selection-start-column="19" selection-end-line="98" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/repository/ContractBodyRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="224">
<caret line="20" column="17" selection-start-line="20" selection-start-column="17" selection-end-line="20" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/impl/UserServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="79">
<caret line="107" selection-start-line="107" selection-end-line="107" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/tkio/service/impl/AccountServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="5" selection-start-line="5" selection-end-line="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/dic/ContractStatusEnum.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="96">
<caret line="6" column="12" selection-start-line="6" selection-start-column="12" selection-end-line="6" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/impl/AuthServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="128">
<caret line="32" selection-start-line="32" selection-end-line="32" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/security/annotation/CurrentAccount.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="13" column="18" selection-start-line="13" selection-start-column="18" selection-end-line="13" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/security/annotation/Authorization.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="96">
<caret line="9" column="7" selection-start-line="9" selection-start-column="7" selection-end-line="9" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/controller/ContractController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="4976">
<caret line="344" column="44" selection-start-line="344" selection-start-column="44" selection-end-line="344" selection-end-column="44" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/dic/AuthMenuEnmm.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="368">
<caret line="23" column="42" selection-start-line="23" selection-start-column="42" selection-end-line="23" selection-end-column="42" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/controller/UserController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2256">
<caret line="164" column="36" selection-start-line="164" selection-start-column="36" selection-end-line="164" selection-end-column="36" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/controller/UserLogController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="720">
<caret line="58" column="37" selection-start-line="58" selection-start-column="37" selection-end-line="58" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/dic/RoleEnum.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="128">
<caret line="8" column="4" selection-start-line="8" selection-start-column="4" selection-end-line="8" selection-end-column="4" />
<folding>
<element signature="e#426#427#0" expanded="true" />
<element signature="e#452#453#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/security/interceptor/AuthorizationInterceptor.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1008">
<caret line="96" selection-start-line="96" selection-end-line="96" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/security/annotation/AuthKey.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="128">
<caret line="13" selection-start-line="13" selection-end-line="13" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/model/User.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1664">
<caret line="176" column="14" selection-start-line="176" selection-start-column="14" selection-end-line="176" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/repository/ContractMoneyRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="282">
<caret line="39" column="355" selection-start-line="39" selection-start-column="20" selection-end-line="39" selection-end-column="355" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="208">
<caret line="13" column="5" lean-forward="true" selection-start-line="13" selection-start-column="5" selection-end-line="13" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/common/service/impl/ContractServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="442">
<caret line="1792" column="54" selection-start-line="1792" selection-start-column="54" selection-end-line="1792" selection-end-column="54" />
<folding>
<element signature="docComment;class#ContractServiceImpl#0" />
</folding>
</state>
</provider>
</entry>
</component> </component>
<component name="masterDetails"> <component name="WindowStateProjectService">
<states> <state x="275" y="23" key="#Deployment" timestamp="1578643071273">
<state key="ProjectJDKs.UI"> <screen x="0" y="0" width="1366" height="728" />
<settings> </state>
<last-edited>1.8</last-edited> <state x="275" y="23" key="#Deployment/0.0.1366.728@0.0.1366.728" timestamp="1578643071273" />
<splitter-proportions> <state x="488" y="48" key="#com.intellij.ide.util.MemberChooser" timestamp="1584341994546">
<option name="proportions"> <screen x="0" y="0" width="1366" height="728" />
<list> </state>
<option value="0.2" /> <state x="488" y="48" key="#com.intellij.ide.util.MemberChooser/0.0.1366.728@0.0.1366.728" timestamp="1584341994546" />
</list> <state x="463" y="119" key="FileChooserDialogImpl" timestamp="1579338306513">
</option> <screen x="0" y="0" width="1366" height="728" />
</splitter-proportions> </state>
</settings> <state x="463" y="119" key="FileChooserDialogImpl/0.0.1366.728@0.0.1366.728" timestamp="1579338306513" />
</state> <state width="1111" height="456" key="GridCell.Tab.0.bottom" timestamp="1578643352267">
</states> <screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.0.bottom/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.0.center" timestamp="1578643352266">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.0.center/0.0.1366.728@0.0.1366.728" timestamp="1578643352266" />
<state width="1111" height="456" key="GridCell.Tab.0.left" timestamp="1578643352266">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.0.left/0.0.1366.728@0.0.1366.728" timestamp="1578643352266" />
<state width="1111" height="456" key="GridCell.Tab.0.right" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.0.right/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.1.bottom" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.1.bottom/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.1.center" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.1.center/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.1.left" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.1.left/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.1.right" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.1.right/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.2.bottom" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.2.bottom/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.2.center" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.2.center/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.2.left" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.2.left/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.2.right" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.2.right/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.3.bottom" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.3.bottom/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.3.center" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.3.center/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.3.left" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.3.left/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.3.right" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.3.right/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.4.bottom" timestamp="1578643352268">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.4.bottom/0.0.1366.728@0.0.1366.728" timestamp="1578643352268" />
<state width="1111" height="456" key="GridCell.Tab.4.center" timestamp="1578643352268">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.4.center/0.0.1366.728@0.0.1366.728" timestamp="1578643352268" />
<state width="1111" height="456" key="GridCell.Tab.4.left" timestamp="1578643352267">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.4.left/0.0.1366.728@0.0.1366.728" timestamp="1578643352267" />
<state width="1111" height="456" key="GridCell.Tab.4.right" timestamp="1578643352268">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.4.right/0.0.1366.728@0.0.1366.728" timestamp="1578643352268" />
<state width="1111" height="456" key="GridCell.Tab.5.bottom" timestamp="1578643352268">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.5.bottom/0.0.1366.728@0.0.1366.728" timestamp="1578643352268" />
<state width="1111" height="456" key="GridCell.Tab.5.center" timestamp="1578643352268">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.5.center/0.0.1366.728@0.0.1366.728" timestamp="1578643352268" />
<state width="1111" height="456" key="GridCell.Tab.5.left" timestamp="1578643352268">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.5.left/0.0.1366.728@0.0.1366.728" timestamp="1578643352268" />
<state width="1111" height="456" key="GridCell.Tab.5.right" timestamp="1578643352268">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1111" height="456" key="GridCell.Tab.5.right/0.0.1366.728@0.0.1366.728" timestamp="1578643352268" />
<state x="184" y="6" key="SettingsEditor" timestamp="1578643304495">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="184" y="6" key="SettingsEditor/0.0.1366.728@0.0.1366.728" timestamp="1578643304495" />
<state x="359" y="102" width="647" height="534" key="find.popup" timestamp="1584329859994">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="359" y="102" width="647" height="534" key="find.popup/0.0.1366.728@0.0.1366.728" timestamp="1584329859994" />
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup" timestamp="1578643339513">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup/0.0.1366.728@0.0.1366.728" timestamp="1578643339513" />
</component> </component>
</project> </project>
\ No newline at end of file
...@@ -14,6 +14,21 @@ ...@@ -14,6 +14,21 @@
<facet type="Spring" name="Spring"> <facet type="Spring" name="Spring">
<configuration /> <configuration />
</facet> </facet>
<facet type="jpa" name="JPA">
<configuration>
<setting name="validation-enabled" value="true" />
<setting name="provider-name" value="Hibernate" />
<datasource-mapping>
<factory-entry name="defaultUnit" />
<factory-entry name="dmpUnit" />
<factory-entry name="ioUnit" />
<factory-entry name="officeUnit" />
<factory-entry name="tkioUnit" />
<factory-entry name="tkrackUnit" />
</datasource-mapping>
<naming-strategy-map />
</configuration>
</facet>
</component> </component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" /> <output url="file://$MODULE_DIR$/target/classes" />
......
...@@ -94,19 +94,22 @@ ...@@ -94,19 +94,22 @@
<label>product</label> <label>product</label>
<!--数据源配置--> <!--数据源配置-->
<datasource.driver>com.mysql.jdbc.Driver</datasource.driver> <datasource.driver>com.mysql.jdbc.Driver</datasource.driver>
<default.datasource.url>jdbc:mysql://10.3.20.32:3306/manager?characterEncoding=utf-8 <!--//office-->
<default.datasource.url>
jdbc:mysql://10.3.20.32:3306/manager?characterEncoding=utf-8
</default.datasource.url> </default.datasource.url>
<default.datasource.username>root</default.datasource.username> <default.datasource.username>root</default.datasource.username>
<default.datasource.password>reyun.123</default.datasource.password> <default.datasource.password>reyun.123</default.datasource.password>
<tkio.url>
jdbc:mysql://10.3.20.32:3306/trackingio_test?characterEncoding=utf-8
</tkio.url>
<tkio.username>root</tkio.username>
<tkio.password>reyun.123</tkio.password>
<office.url>jdbc:mysql://10.3.20.32:3306/office?characterEncoding=utf-8</office.url> <office.url>jdbc:mysql://10.3.20.32:3306/office?characterEncoding=utf-8</office.url>
<office.username>root</office.username> <office.username>root</office.username>
<office.password>reyun.123</office.password> <office.password>reyun.123</office.password>
<tkio.url>jdbc:mysql://10.3.20.32:3306/trackingio_trans?characterEncoding=utf-8</tkio.url>
<tkio.username>root</tkio.username>
<tkio.password>reyun.123</tkio.password>
<track.url>jdbc:mysql://10.3.20.32:3306/track_test?characterEncoding=utf-8</track.url> <track.url>jdbc:mysql://10.3.20.32:3306/track_test?characterEncoding=utf-8</track.url>
<track.username>root</track.username> <track.username>root</track.username>
<track.password>reyun.123</track.password> <track.password>reyun.123</track.password>
...@@ -129,8 +132,11 @@ ...@@ -129,8 +132,11 @@
<!-- 单位是分钟--> <!-- 单位是分钟-->
<mail.valid_time>3</mail.valid_time> <mail.valid_time>3</mail.valid_time>
<!--<report.url>http://localhost:9010</report.url>--> <!--<report.url>http://localhost:9010</report.url>-->
<report.url>http://10.3.20.41:11010</report.url> <report.url>http://10.3.20.41:11010</report.url>
<contract.uppath></contract.uppath>
<!--Redis setting--> <!--Redis setting-->
<redis.key.validtime>120</redis.key.validtime> <redis.key.validtime>120</redis.key.validtime>
<redis.ip.requesttimes>5</redis.ip.requesttimes> <redis.ip.requesttimes>5</redis.ip.requesttimes>
...@@ -174,19 +180,17 @@ ...@@ -174,19 +180,17 @@
</default.datasource.url> </default.datasource.url>
<default.datasource.username>trackingio</default.datasource.username> <default.datasource.username>trackingio</default.datasource.username>
<default.datasource.password>trackingio</default.datasource.password> <default.datasource.password>trackingio</default.datasource.password>
<office.url>
jdbc:mysql://track.cma5jkozme68.rds.cn-north-1.amazonaws.com.cn:3306/office?characterEncoding=utf-8
</office.url>
<office.username>office</office.username>
<office.password>office</office.password>
<tkio.url> <tkio.url>
jdbc:mysql://tkio.cma5jkozme68.rds.cn-north-1.amazonaws.com.cn:3306/trackingio?characterEncoding=utf-8 jdbc:mysql://tkio.cma5jkozme68.rds.cn-north-1.amazonaws.com.cn:3306/trackingio?characterEncoding=utf-8
</tkio.url> </tkio.url>
<tkio.username>trackingio</tkio.username> <tkio.username>trackingio</tkio.username>
<tkio.password>trackingio</tkio.password> <tkio.password>trackingio</tkio.password>
<office.url>
jdbc:mysql://track.cma5jkozme68.rds.cn-north-1.amazonaws.com.cn:3306/office?characterEncoding=utf-8
</office.url>
<office.username>office</office.username>
<office.password>office</office.password>
<track.url> <track.url>
jdbc:mysql://track.cma5jkozme68.rds.cn-north-1.amazonaws.com.cn:3306/track?characterEncoding=utf-8 jdbc:mysql://track.cma5jkozme68.rds.cn-north-1.amazonaws.com.cn:3306/track?characterEncoding=utf-8
...@@ -217,7 +221,6 @@ ...@@ -217,7 +221,6 @@
<mail.valid_time>3</mail.valid_time> <mail.valid_time>3</mail.valid_time>
<report.url>http://internal-report-api-976419027.cn-north-1.elb.amazonaws.com.cn</report.url> <report.url>http://internal-report-api-976419027.cn-north-1.elb.amazonaws.com.cn</report.url>
<!--Redis setting--> <!--Redis setting-->
<redis.key.validtime>120</redis.key.validtime> <redis.key.validtime>120</redis.key.validtime>
<redis.ip.requesttimes>5</redis.ip.requesttimes> <redis.ip.requesttimes>5</redis.ip.requesttimes>
......
...@@ -15,6 +15,8 @@ import org.springframework.http.MediaType; ...@@ -15,6 +15,8 @@ import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import security.annotation.AuthKey; import security.annotation.AuthKey;
import security.annotation.CurrentAccount; import security.annotation.CurrentAccount;
import util.IPAddrUtil; import util.IPAddrUtil;
...@@ -25,6 +27,7 @@ import util.ValidateUtil; ...@@ -25,6 +27,7 @@ import util.ValidateUtil;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.HashMap; import java.util.HashMap;
...@@ -51,21 +54,21 @@ public class ContractController { ...@@ -51,21 +54,21 @@ public class ContractController {
// put(ContractStatusEnum.MONEY_BACK_NONE.getKey(), ContractStatusEnum.MONEY_BACK_NONE.getValue()); // put(ContractStatusEnum.MONEY_BACK_NONE.getKey(), ContractStatusEnum.MONEY_BACK_NONE.getValue());
// put(ContractStatusEnum.DELETE.getKey(), ContractStatusEnum.DELETE.getValue()); // put(ContractStatusEnum.DELETE.getKey(), ContractStatusEnum.DELETE.getValue());
putdata(this,ContractStatusEnum.WAIT); putdata(this, ContractStatusEnum.WAIT);
putdata(this,ContractStatusEnum.EXECUTING); putdata(this, ContractStatusEnum.EXECUTING);
putdata(this,ContractStatusEnum.END); putdata(this, ContractStatusEnum.END);
putdata(this,ContractStatusEnum.CANCEL); putdata(this, ContractStatusEnum.CANCEL);
putdata(this,ContractStatusEnum.MONEY_BACK_ALL); putdata(this, ContractStatusEnum.MONEY_BACK_ALL);
putdata(this,ContractStatusEnum.MONEY_BACK_PART); putdata(this, ContractStatusEnum.MONEY_BACK_PART);
putdata(this,ContractStatusEnum.MONEY_BACK_NONE); putdata(this, ContractStatusEnum.MONEY_BACK_NONE);
putdata(this,ContractStatusEnum.MONEY_BACK_FIRST); putdata(this, ContractStatusEnum.MONEY_BACK_FIRST);
putdata(this,ContractStatusEnum.DELETE); putdata(this, ContractStatusEnum.DELETE);
}}; }};
private static void putdata(Map map,ContractStatusEnum a){ private static void putdata(Map map, ContractStatusEnum a) {
map.put(a.getKey(),a.getValue()); map.put(a.getKey(), a.getValue());
} }
@Autowired @Autowired
...@@ -75,63 +78,63 @@ public class ContractController { ...@@ -75,63 +78,63 @@ public class ContractController {
@ResponseBody @ResponseBody
@AuthKey(AuthMenuEnmm.CONTRACTMNG_V) @AuthKey(AuthMenuEnmm.CONTRACTMNG_V)
public ResultModel findAll(@CurrentAccount User loginAccount, @PathVariable String platform, public ResultModel findAll(@CurrentAccount User loginAccount, @PathVariable String platform,
@RequestParam String startDate, @RequestParam String endDate,String contractId) { @RequestParam String startDate, @RequestParam String endDate, String contractId) {
return ResultModel.OK(service.findAll(loginAccount,startDate, endDate, platform,contractId)); return ResultModel.OK(service.findAll(loginAccount, startDate, endDate, platform, contractId));
} }
@RequestMapping(value = "contractid/find", method = RequestMethod.GET) @RequestMapping(value = "contractid/find", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public ResultModel findOne(@CurrentAccount User loginAccount, @PathVariable String platform, public ResultModel findOne(@CurrentAccount User loginAccount, @PathVariable String platform,
String startDate, String endDate,String contractId) { String startDate, String endDate, String contractId) {
return ResultModel.OK(service.findOne(loginAccount,startDate, endDate, platform,contractId)); return ResultModel.OK(service.findOne(loginAccount, startDate, endDate, platform, contractId));
} }
@RequestMapping(value = "export", method = RequestMethod.GET,produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) @RequestMapping(value = "export", method = RequestMethod.GET, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody @ResponseBody
@AuthKey(AuthMenuEnmm.CONTRACTMNG_EX) @AuthKey(AuthMenuEnmm.CONTRACTMNG_EX)
public ResponseEntity<byte[]> export(@CurrentAccount User loginAccount, @PathVariable String platform, @RequestParam String startDate public ResponseEntity<byte[]> export(@CurrentAccount User loginAccount, @PathVariable String platform, @RequestParam String startDate
, @RequestParam String endDate, HttpServletRequest request, HttpServletResponse response) { , @RequestParam String endDate, HttpServletRequest request, HttpServletResponse response) {
List<Contract> contractList = service.findAll(loginAccount, startDate, endDate, platform,null); List<Contract> contractList = service.findAll(loginAccount, startDate, endDate, platform, null);
byte[] content = new byte[0]; byte[] content = new byte[0];
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("时间,合同编号,客户账号,签约方,销售,开始日期,结束日期,套餐类型,合同金额,收款金额,合同状态\r\n"); sb.append("时间,合同编号,客户账号,签约方,销售,开始日期,结束日期,套餐类型,合同金额,收款金额,合同状态\r\n");
if(ValidateUtil.isValid(contractList)){ if (ValidateUtil.isValid(contractList)) {
for (Contract c : contractList){ for (Contract c : contractList) {
sb.append(c.getDs()).append(",").append(c.getContractCode()).append(",").append(c.getEmail()).append(",").append(c.getCustomerBody()).append(",").append(c.getSaleName()).append(",") sb.append(c.getDs()).append(",").append(c.getContractCode()).append(",").append(c.getEmail()).append(",").append(c.getCustomerBody()).append(",").append(c.getSaleName()).append(",")
.append(c.getStartDate()).append(",").append(c.getEndDate()).append(",").append(c.getPriceLevelName()).append(",").append(c.getMoney()).append(",").append(c.getPayMoney()).append(",") .append(c.getStartDate()).append(",").append(c.getEndDate()).append(",").append(c.getPriceLevelName()).append(",").append(c.getMoney()).append(",").append(c.getPayMoney()).append(",")
.append(CONTRACT_STATUS.get(c.getStatus())).append("\r\n"); .append(CONTRACT_STATUS.get(c.getStatus())).append("\r\n");
} }
} }
InputStream in = new ByteArrayInputStream(sb.toString().getBytes()); InputStream in = new ByteArrayInputStream(sb.toString().getBytes());
try { try {
content = IOUtils.toByteArray(in); content = IOUtils.toByteArray(in);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
response.setHeader("filename", "contract.csv"); response.setHeader("filename", "contract.csv");
response.setHeader("content-disposition", "attachment; filename=contract.csv"); response.setHeader("content-disposition", "attachment; filename=contract.csv");
response.setHeader("Content-Type","text/csv"); response.setHeader("Content-Type", "text/csv");
response.setContentType("APPLICATION/OCTET-STREAM"); response.setContentType("APPLICATION/OCTET-STREAM");
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), platform, "导出合同", startDate, endDate, request,platform); NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), platform, "导出合同", startDate, endDate, request, platform);
userlog.start(); userlog.start();
//返回文件字符串 //返回文件字符串
return new ResponseEntity<byte[]>(content, headers, HttpStatus.CREATED); return new ResponseEntity<byte[]>(content, headers, HttpStatus.CREATED);
} }
@RequestMapping(value = "pay/export", method = RequestMethod.GET,produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) @RequestMapping(value = "pay/export", method = RequestMethod.GET, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody @ResponseBody
@AuthKey(AuthMenuEnmm.COLLECTBILLLIST_EX) @AuthKey(AuthMenuEnmm.COLLECTBILLLIST_EX)
public ResponseEntity<byte[]> exportPay(@CurrentAccount User loginAccount, @RequestParam String startDate, @RequestParam String endDate, public ResponseEntity<byte[]> exportPay(@CurrentAccount User loginAccount, @RequestParam String startDate, @RequestParam String endDate,
HttpServletRequest request, HttpServletResponse response, @PathVariable String platform , HttpServletRequest request, HttpServletResponse response, @PathVariable String platform,
String moneyType,String packageTypeSearch,String money_ids) { String moneyType, String packageTypeSearch, String money_ids) {
List<ContractMoney> moneyList = service.findPayAll(loginAccount,startDate, endDate, platform, moneyType, packageTypeSearch,money_ids); List<ContractMoney> moneyList = service.findPayAll(loginAccount, startDate, endDate, platform, moneyType, packageTypeSearch, money_ids);
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("pay", "收款"); map.put("pay", "收款");
map.put("invoice", "开票"); map.put("invoice", "开票");
...@@ -140,23 +143,23 @@ public class ContractController { ...@@ -140,23 +143,23 @@ public class ContractController {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
Long parseSum = 0L; Long parseSum = 0L;
if(ValidateUtil.isValid(moneyList)){ if (ValidateUtil.isValid(moneyList)) {
for (ContractMoney c : moneyList){ for (ContractMoney c : moneyList) {
sb.append(c.getDs()).append(",") sb.append(c.getDs()).append(",")
.append(c.getContractCode()==null?"":c.getContractCode()).append(",") .append(c.getContractCode() == null ? "" : c.getContractCode()).append(",")
.append(c.getEmail()==null?"":c.getEmail()).append(",") .append(c.getEmail() == null ? "" : c.getEmail()).append(",")
.append(c.getCompany()==null?"":c.getCompany()).append(",") .append(c.getCompany() == null ? "" : c.getCompany()).append(",")
.append(c.getPackageName()==null?"":c.getPackageName()).append(",") .append(c.getPackageName() == null ? "" : c.getPackageName()).append(",")
.append(c.getSalseName()==null?"":c.getSalseName()).append(",") .append(c.getSalseName() == null ? "" : c.getSalseName()).append(",")
.append(map.get(c.getType()==null?"":c.getType())).append(",") .append(map.get(c.getType() == null ? "" : c.getType())).append(",")
.append(c.getMoney()==null?"":c.getMoney()).append(",") .append(c.getMoney() == null ? "" : c.getMoney()).append(",")
.append(c.getCreateName()==null?"":c.getCreateName()).append("\r\n"); .append(c.getCreateName() == null ? "" : c.getCreateName()).append("\r\n");
if("pay".equals(c.getType())){ if ("pay".equals(c.getType())) {
// 付款 // 付款
parseSum += c.getMoney(); parseSum += c.getMoney();
}else{ } else {
parseSum -= c.getMoney(); parseSum -= c.getMoney();
} }
} }
...@@ -168,17 +171,17 @@ public class ContractController { ...@@ -168,17 +171,17 @@ public class ContractController {
titlebuffer.append("汇总, - , - , - , - , - , - ,").append(parseSum).append(" , - \r\n"); titlebuffer.append("汇总, - , - , - , - , - , - ,").append(parseSum).append(" , - \r\n");
titlebuffer.append(sb); titlebuffer.append(sb);
InputStream in = new ByteArrayInputStream(titlebuffer.toString().getBytes()); InputStream in = new ByteArrayInputStream(titlebuffer.toString().getBytes());
try { try {
content = IOUtils.toByteArray(in); content = IOUtils.toByteArray(in);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
response.setHeader("filename", "contract_pay.csv"); response.setHeader("filename", "contract_pay.csv");
response.setHeader("content-disposition", "attachment; filename=contract_pay.csv"); response.setHeader("content-disposition", "attachment; filename=contract_pay.csv");
// response.setHeader("Content-Type", "application/octet-stream;charset=UTF-8"); // response.setHeader("Content-Type", "application/octet-stream;charset=UTF-8");
response.setHeader("Content-Type","text/csv"); response.setHeader("Content-Type", "text/csv");
response.setContentType("APPLICATION/OCTET-STREAM"); response.setContentType("APPLICATION/OCTET-STREAM");
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), platform, "导出收款开票", startDate, endDate, request, platform); NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), platform, "导出收款开票", startDate, endDate, request, platform);
...@@ -203,25 +206,25 @@ public class ContractController { ...@@ -203,25 +206,25 @@ public class ContractController {
@ResponseBody @ResponseBody
public ResultModel checkTime(@RequestParam String type, @RequestParam String email, public ResultModel checkTime(@RequestParam String type, @RequestParam String email,
@RequestParam String platform, @RequestParam(required = false) String product) { @RequestParam String platform, @RequestParam(required = false) String product) {
return ResultModel.OK(service.checkTime(email, platform,type,product)); return ResultModel.OK(service.checkTime(email, platform, type, product));
} }
@RequestMapping(value = "find/body", method = RequestMethod.GET) @RequestMapping(value = "find/body", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public ResultModel findBody(@CurrentAccount User loginAccount,@PathVariable String platform,String dropall) { public ResultModel findBody(@CurrentAccount User loginAccount, @PathVariable String platform, String dropall) {
if("all".equals(dropall)){ if ("all".equals(dropall)) {
platform = dropall; platform = dropall;
} }
return ResultModel.OK(service.findBody(platform,loginAccount)); return ResultModel.OK(service.findBody(platform, loginAccount));
} }
@RequestMapping(value = "find/code", method = RequestMethod.GET) @RequestMapping(value = "find/code", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public ResultModel findCode(@CurrentAccount User loginAccount, @RequestParam String code,@PathVariable String platform,String company) { public ResultModel findCode(@CurrentAccount User loginAccount, @RequestParam String code, @PathVariable String platform, String company) {
return ResultModel.OK(service.getContractCode(code,platform,company)); return ResultModel.OK(service.getContractCode(code, platform, company));
} }
@RequestMapping(value = "find/pricelevel", method = RequestMethod.GET) @RequestMapping(value = "find/pricelevel", method = RequestMethod.GET)
...@@ -255,7 +258,7 @@ public class ContractController { ...@@ -255,7 +258,7 @@ public class ContractController {
public ResultModel create(@CurrentAccount User loginAccount, @RequestBody Contract contract, HttpServletRequest request, @PathVariable String platform) { public ResultModel create(@CurrentAccount User loginAccount, @RequestBody Contract contract, HttpServletRequest request, @PathVariable String platform) {
Contract contract1 = service.create(loginAccount, contract); Contract contract1 = service.create(loginAccount, contract);
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "新建合同","",contract1.toString(), request, platform); NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "新建合同", "", contract1.toString(), request, platform);
userlog.start(); userlog.start();
// ContractSendEmailThread email = new ContractSendEmailThread(contract); // ContractSendEmailThread email = new ContractSendEmailThread(contract);
// email.start(); // email.start();
...@@ -268,8 +271,8 @@ public class ContractController { ...@@ -268,8 +271,8 @@ public class ContractController {
public ResultModel update(@CurrentAccount User loginAccount, @RequestBody Contract contract, HttpServletRequest request, @PathVariable String platform) { public ResultModel update(@CurrentAccount User loginAccount, @RequestBody Contract contract, HttpServletRequest request, @PathVariable String platform) {
String ip = IPAddrUtil.getIpAddrNew(request); String ip = IPAddrUtil.getIpAddrNew(request);
Contract contract1 = service.update(loginAccount, contract,ip); Contract contract1 = service.update(loginAccount, contract, ip);
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改合同","",contract1.toString(), request, platform); NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改合同", "", contract1.toString(), request, platform);
userlog.start(); userlog.start();
return ResultModel.OK(contract1); return ResultModel.OK(contract1);
...@@ -279,7 +282,7 @@ public class ContractController { ...@@ -279,7 +282,7 @@ public class ContractController {
@ResponseBody @ResponseBody
public ResultModel pay(@CurrentAccount User loginAccount, @RequestBody ContractMoney contract, HttpServletRequest request, @PathVariable String platform) { public ResultModel pay(@CurrentAccount User loginAccount, @RequestBody ContractMoney contract, HttpServletRequest request, @PathVariable String platform) {
ContractMoney contract1 = service.pay(loginAccount, contract); ContractMoney contract1 = service.pay(loginAccount, contract);
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "收款开票","",contract1.toString(), request, platform); NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "收款开票", "", contract1.toString(), request, platform);
userlog.start(); userlog.start();
return ResultModel.OK(contract1); return ResultModel.OK(contract1);
} }
...@@ -288,14 +291,13 @@ public class ContractController { ...@@ -288,14 +291,13 @@ public class ContractController {
@ResponseBody @ResponseBody
public ResultModel change(@CurrentAccount User loginAccount, public ResultModel change(@CurrentAccount User loginAccount,
@RequestBody ContractChange contract, HttpServletRequest request, @PathVariable String platform) { @RequestBody ContractChange contract, HttpServletRequest request, @PathVariable String platform) {
Contract contract1 = service.change(loginAccount, contract,null); Contract contract1 = service.change(loginAccount, contract, null);
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改套餐","",contract1.toString(), request, platform); NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改套餐", "", contract1.toString(), request, platform);
userlog.start(); userlog.start();
return ResultModel.OK(contract1); return ResultModel.OK(contract1);
} }
/** /**
*
* @param loginAccount * @param loginAccount
* @param startDate * @param startDate
* @param endDate * @param endDate
...@@ -330,8 +332,8 @@ public class ContractController { ...@@ -330,8 +332,8 @@ public class ContractController {
@PathVariable String platform) { @PathVariable String platform) {
String ip = IPAddrUtil.getIpAddrNew(request); String ip = IPAddrUtil.getIpAddrNew(request);
Contract contract1 = service.updatePay(loginAccount, contract,ip); Contract contract1 = service.updatePay(loginAccount, contract, ip);
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改收款开票","", contract1.toString(), request, platform); NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改收款开票", "", contract1.toString(), request, platform);
userlog.start(); userlog.start();
return ResultModel.OK(contract1); return ResultModel.OK(contract1);
} }
...@@ -340,9 +342,9 @@ public class ContractController { ...@@ -340,9 +342,9 @@ public class ContractController {
@ResponseBody @ResponseBody
@AuthKey(AuthMenuEnmm.COLLECTBILLLIST_V) @AuthKey(AuthMenuEnmm.COLLECTBILLLIST_V)
public ResultModel findPayAll(@CurrentAccount User loginAccount, @RequestParam String startDate, public ResultModel findPayAll(@CurrentAccount User loginAccount, @RequestParam String startDate,
@RequestParam String endDate, @PathVariable String platform, @RequestParam String endDate, @PathVariable String platform,
String moneyType,String packageTypeSearch,String money_ids) { String moneyType, String packageTypeSearch, String money_ids) {
return ResultModel.OK(service.findPayAll(loginAccount,startDate, endDate, platform,moneyType,packageTypeSearch, money_ids)); return ResultModel.OK(service.findPayAll(loginAccount, startDate, endDate, platform, moneyType, packageTypeSearch, money_ids));
} }
...@@ -356,59 +358,62 @@ public class ContractController { ...@@ -356,59 +358,62 @@ public class ContractController {
@RequestMapping(value = "trade", method = RequestMethod.GET) @RequestMapping(value = "trade", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public ResultModel baseCreate( @PathVariable String platform) { public ResultModel baseCreate(@PathVariable String platform) {
return ResultModel.OK(service.getTradeData(platform)); return ResultModel.OK(service.getTradeData(platform));
} }
@RequestMapping(value = "code/all", method = RequestMethod.GET) @RequestMapping(value = "code/all", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public ResultModel contractCodeAll( @PathVariable String platform,String contractId) { public ResultModel contractCodeAll(@PathVariable String platform, String contractId) {
return ResultModel.OK(service.contractCodeAll(platform,contractId)); return ResultModel.OK(service.contractCodeAll(platform, contractId));
} }
@RequestMapping(value = "setstaus", method = RequestMethod.GET) @RequestMapping(value = "setstaus", method = RequestMethod.GET)
@ResponseBody @ResponseBody
@AuthKey(AuthMenuEnmm.CONTRACTMNG_D) @AuthKey(AuthMenuEnmm.CONTRACTMNG_D)
public ResultModel contractStatusUpdate( @PathVariable String platform,@CurrentAccount User loginUser, public ResultModel contractStatusUpdate(@PathVariable String platform, @CurrentAccount User loginUser,
String contractId,String status,HttpServletRequest request) { String contractId, String status, HttpServletRequest request) {
String ip = IPAddrUtil.getIpAddrNew(request); String ip = IPAddrUtil.getIpAddrNew(request);
return ResultModel.OK(service.contractStatusUpdate(platform,contractId,status,ip,loginUser)); return ResultModel.OK(service.contractStatusUpdate(platform, contractId, status, ip, loginUser));
} }
@RequestMapping(value = "codecheck", method = RequestMethod.GET) @RequestMapping(value = "codecheck", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public ResultModel codeCheck( @PathVariable String platform,String contractCode) { public ResultModel codeCheck(@PathVariable String platform, String contractCode) {
return ResultModel.OK(service.contractCodeCheck(platform,contractCode)); return ResultModel.OK(service.contractCodeCheck(platform, contractCode));
} }
/** /**
* 删除记录 * 删除记录
*
* @param platform * @param platform
* @param * @param
* @return * @return
*/ */
@RequestMapping(value = "change/del", method = RequestMethod.GET) @RequestMapping(value = "change/del", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public ResultModel changesDel( @PathVariable String platform,@CurrentAccount User loginAccount, public ResultModel changesDel(@PathVariable String platform, @CurrentAccount User loginAccount,
String id,String type,HttpServletRequest request) { String id, String type, HttpServletRequest request) {
return ResultModel.OK(service.changesDel(platform,id,type, IPAddrUtil.getIpAddrNew(request),loginAccount)); return ResultModel.OK(service.changesDel(platform, id, type, IPAddrUtil.getIpAddrNew(request), loginAccount));
} }
@RequestMapping("/upload")
public ResultModel fileUpload2(@RequestParam("file") MultipartFile file, @PathVariable String platform) {
return service.uploadBatchInfo(file,platform);
}
} }
package common.service; package common.service;
import common.model.*; import common.model.*;
import org.springframework.web.multipart.MultipartFile;
import util.ResultModel;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -72,4 +74,6 @@ public interface ContractService { ...@@ -72,4 +74,6 @@ public interface ContractService {
Contract findOne(User loginAccount, String startDate, String endDate, String platform, String contractId); Contract findOne(User loginAccount, String startDate, String endDate, String platform, String contractId);
List<ContractMoney> findPayAll(User loginAccount,String startDate, String endDate, String platform, String moneyType, String packageType, String money_ids); List<ContractMoney> findPayAll(User loginAccount,String startDate, String endDate, String platform, String moneyType, String packageType, String money_ids);
ResultModel uploadBatchInfo(MultipartFile file, String platform);
} }
\ No newline at end of file
...@@ -11,10 +11,13 @@ import dic.ContractStatusEnum; ...@@ -11,10 +11,13 @@ import dic.ContractStatusEnum;
import dic.ContractTypeEnum; import dic.ContractTypeEnum;
import dic.RoleEnum; import dic.RoleEnum;
import net.sf.json.JSONArray; import net.sf.json.JSONArray;
import org.apache.poi.ss.usermodel.*;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import tkio.model.Account; import tkio.model.Account;
import tkio.model.IncrementFlow; import tkio.model.IncrementFlow;
import tkio.model.PackageType; import tkio.model.PackageType;
...@@ -26,11 +29,13 @@ import tkio.service.TkioAccountService; ...@@ -26,11 +29,13 @@ import tkio.service.TkioAccountService;
import userio.service.AccountIOService; import userio.service.AccountIOService;
import userio.service.IOAccountService; import userio.service.IOAccountService;
import util.*; import util.*;
import util.DateUtil;
import java.beans.BeanInfo; import java.beans.BeanInfo;
import java.beans.IntrospectionException; import java.beans.IntrospectionException;
import java.beans.Introspector; import java.beans.Introspector;
import java.beans.PropertyDescriptor; import java.beans.PropertyDescriptor;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -59,6 +64,16 @@ public class ContractServiceImpl implements ContractService { ...@@ -59,6 +64,16 @@ public class ContractServiceImpl implements ContractService {
put("4", "合同管理"); put("4", "合同管理");
}}; }};
public static final String UPLOAD_TITLE = "我方签约主体,客户签约主体,行业分类,合同开始日期,合同结束日期," +
"签约销售,客户主账号,合同编号,签约类型,套餐,合同金额";
public static final Map<String, String> SHEET_NAMES = new HashMap() {{
put("TrackingIO", "tkio");
put("DMP", "dmp");
put("防作弊卫士", "fake");
put("ADI", "adi");
}};
@Autowired @Autowired
ContractRepository contractRepository; ContractRepository contractRepository;
@Autowired @Autowired
...@@ -125,6 +140,9 @@ public class ContractServiceImpl implements ContractService { ...@@ -125,6 +140,9 @@ public class ContractServiceImpl implements ContractService {
@Autowired @Autowired
AuthService authService; AuthService authService;
@Autowired
JdbcTemplate jdbcTemplate;
@Override @Override
public Map<String, Object> checkAccount(String email, String platfrom) { public Map<String, Object> checkAccount(String email, String platfrom) {
...@@ -1811,14 +1829,14 @@ public class ContractServiceImpl implements ContractService { ...@@ -1811,14 +1829,14 @@ public class ContractServiceImpl implements ContractService {
if (RoleEnum.FINANCE.getKey().equals(loginAccount.getRole())) { if (RoleEnum.FINANCE.getKey().equals(loginAccount.getRole())) {
list = filterContractMoney(codesList, authdata, list, 1); list = filterContractMoney(codesList, authdata, list, 1);
} else if (RoleEnum.SALSEMAN.getKey().equals(loginAccount.getRole())) { } else if (RoleEnum.SALSEMAN.getKey().equals(loginAccount.getRole())) {
list = filterContractMoney(codesList, authdata, list, 2); list = filterContractMoney(codesList, authdata, list, 2);
} else if (RoleEnum.PM.getKey().equals(loginAccount.getRole())) { } else if (RoleEnum.PM.getKey().equals(loginAccount.getRole())) {
list = filterContractMoney(codesList, authdata, list, 3); list = filterContractMoney(codesList, authdata, list, 3);
} }
} }
...@@ -1863,17 +1881,16 @@ public class ContractServiceImpl implements ContractService { ...@@ -1863,17 +1881,16 @@ public class ContractServiceImpl implements ContractService {
collect(Collectors.toMap(p -> p[0].toString(), p -> p[nextIndex] == null ? "all" : p[nextIndex].toString(), (key1, key2) -> key1)); collect(Collectors.toMap(p -> p[0].toString(), p -> p[nextIndex] == null ? "all" : p[nextIndex].toString(), (key1, key2) -> key1));
return list.stream().filter(p -> return list.stream().filter(p ->
authdata.get(dicdata.get(p.getContractCode())) == null ? false : true authdata.get(dicdata.get(p.getContractCode())) == null ? false : true
|| "all".equals(authdata.get(dicdata.get(p.getContractCode())))).collect(Collectors.toList()); || "all".equals(authdata.get(dicdata.get(p.getContractCode())))).collect(Collectors.toList());
} else { } else {
return list; return list;
} }
} }
@Override @Override
...@@ -2019,4 +2036,99 @@ public class ContractServiceImpl implements ContractService { ...@@ -2019,4 +2036,99 @@ public class ContractServiceImpl implements ContractService {
} }
@Override
public ResultModel uploadBatchInfo(MultipartFile file, String platform) {
InputStream stream = null;
try {
int row_length = 11;
stream = file.getInputStream();
Workbook workbook = WorkbookFactory.create(stream);
// Iterator<Sheet> sheetIter = workbook.sheetIterator();
// while (sheetIter.hasNext()) {
// Sheet sheet = sheetIter.next();
// }
saveDataBySheet(workbook.getSheetAt(0), row_length);
} catch (Exception ex) {
return ResultModel.ERROR(ResultStatus.NONE_FILE_EXIST);
}
return null;
}
public ResultModel saveDataBySheet(Sheet sheet, int row_length) {
String sheetName = sheet.getSheetName();
if (!SHEET_NAMES.containsKey(sheetName)) {
return ResultModel.ERROR("模板标签页名称错误");
}
String platform = SHEET_NAMES.get(sheetName);
Map<String, Long> tradTypeMap = tradeTypeRepsitory.findAll().stream().collect(Collectors.toMap(TradeType::getName, TradeType::getId));
Map<String, Long> salseMap = salesRepository.findSaleByStatus(0).stream().collect(Collectors.toMap(Sales::getName, Sales::getId));
Row row = sheet.getRow(0);
if (!UPLOAD_TITLE.equals(parseRowData(row, row_length, null))) {
return ResultModel.ERROR(ResultStatus.FORMAT_FILE_ERRO);
}
DataFormatter formatter = new DataFormatter();
int rowNumber = sheet.getLastRowNum();
List<Object[]> args_data = new ArrayList<>();
for (int j = 1; j <= rowNumber; j++) {
Row row_data = sheet.getRow(j);
Object[] s_data = new Object[row_length];
for (int w = 0; w < row_length; w++) {
Cell cell = row_data.getCell(w);
if (null != cell && !cell.getCellTypeEnum().equals(CellType.BLANK)) {
return ResultModel.ERROR(ResultStatus.UPLOAD_CONTENT_ERRO);
} else {
String dataSTR = formatter.formatCellValue(cell);
int line_num = j + 1;
if (w == 2 && !tradTypeMap.containsKey(dataSTR)) {
return ResultModel.ERROR("第" + (j + 1) + "行[行业分类]错误");
} else if (w == 5 && !salseMap.containsKey(dataSTR)) {
return ResultModel.ERROR("第" + (j + 1) + "行[签约销售]错误");
}
s_data[w] = dataSTR;
}
}
args_data.add(s_data);
}
jdbcTemplate.batchUpdate("insert into contract (my_body_name,customer_body,trade_type,start_date,end_date,sale,email,contract_code, type_id,price_level,money) " +
"values (?,?,?,?,?,?,?,?,?,?,?)", args_data);
return null;
}
private Object parseRowData(Row row, int length, StringBuffer content) {
if (row == null) {
return null;
}
if (content == null) {
content = new StringBuffer();
}
DataFormatter formatter = new DataFormatter();
for (int i = 0; i < length; i++) {
Cell cell = row.getCell(i);
if (null != cell && !cell.getCellTypeEnum().equals(CellType.BLANK)) {
if (content.length() == 0) {
content.append(formatter.formatCellValue(cell));
} else {
content.append("," + formatter.formatCellValue(cell));
}
}
}
return content;
}
} }
...@@ -39,7 +39,7 @@ public enum ResultStatus { ...@@ -39,7 +39,7 @@ public enum ResultStatus {
SURL_NULL(-1105, "短链为空"), SURL_NULL(-1105, "短链为空"),
CAMPAIGN_NULL(-1106, "推广活动不存在"), CAMPAIGN_NULL(-1106, "推广活动不存在"),
CAMPAIGN_EXISTS(-1107, "此分包渠道的活动已存在"), CAMPAIGN_EXISTS(-1107, "此分包渠道的活动已存在"),
CAMPAIGN_REPEAT(-1008,"批量创建推广活动时名称重复"), CAMPAIGN_REPEAT(-1008, "批量创建推广活动时名称重复"),
MSG_SMS_OUTOFTIME(-4001, "验证码过时,重新获取"), MSG_SMS_OUTOFTIME(-4001, "验证码过时,重新获取"),
MSG_SMS_REQUESTTIMES(-4002, "今天请求验证码次数过多"), MSG_SMS_REQUESTTIMES(-4002, "今天请求验证码次数过多"),
...@@ -52,7 +52,10 @@ public enum ResultStatus { ...@@ -52,7 +52,10 @@ public enum ResultStatus {
CHANNELACCOUNT_EXIST(-5003, "该账号ID已创建投放账号,不可重复创建"), CHANNELACCOUNT_EXIST(-5003, "该账号ID已创建投放账号,不可重复创建"),
CHANNEL_LINKID_NOEXIST(-5004, "link_id不存在"), CHANNEL_LINKID_NOEXIST(-5004, "link_id不存在"),
COMMON_IP_EXISTS(-7000, "公共ip已存在"), COMMON_IP_EXISTS(-7000, "公共ip已存在"),
EXP_INVALID(11000, "自定义表达式错误"); EXP_INVALID(11000, "自定义表达式错误"),
NONE_FILE_EXIST(-1000, "上传文件为空"),
FORMAT_FILE_ERRO(-10001, "模板文件格式错误"),
UPLOAD_CONTENT_ERRO(-10002, "模板文件内容错误");
/** /**
......
...@@ -339,4 +339,7 @@ ...@@ -339,4 +339,7 @@
</bean> </bean>
<bean id="appUtils" class="common.context.AppUtils" lazy-init="false"/> <bean id="appUtils" class="common.context.AppUtils" lazy-init="false"/>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans> </beans>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment