first commit
commit
15c028f30e
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="HISInterface" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
<component name="JavacSettings">
|
||||
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
|
||||
<module name="HISInterface" options="-parameters" />
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="FrameworkDetectionExcludesConfiguration">
|
||||
<file type="web" url="file://$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,632 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="870dfe2f-2506-4b08-b265-5cdb7de29dea" name="Default Changelist" comment="" />
|
||||
<ignored path="$PROJECT_DIR$/out/" />
|
||||
<ignored path="$PROJECT_DIR$/target/" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="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="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/templates/demo.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="858">
|
||||
<caret line="39" column="27" selection-start-line="39" selection-start-column="27" selection-end-line="39" selection-end-column="27" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="462">
|
||||
<caret line="21" column="48" selection-start-line="21" selection-start-column="48" selection-end-line="21" selection-end-column="48" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="946">
|
||||
<caret line="61" column="66" selection-start-line="61" selection-start-column="66" selection-end-line="61" selection-end-column="66" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/AnalysisService.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="155">
|
||||
<caret line="106" column="79" selection-start-line="106" selection-start-column="79" selection-end-line="106" selection-end-column="79" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/ArchiveMasterService.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="572">
|
||||
<caret line="28" selection-start-line="28" selection-end-line="28" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/interfaces/HomepageDictionary.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="264">
|
||||
<caret line="14" selection-start-line="14" selection-end-line="14" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/impl/ArchiveMasterServiceImpl.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2508">
|
||||
<caret line="122" column="45" selection-start-line="122" selection-start-column="45" selection-end-line="122" selection-end-column="45" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/repository/ArchiveMasterRepository.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1034">
|
||||
<caret line="54" column="41" selection-start-line="54" selection-start-column="41" selection-end-line="54" selection-end-column="41" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2464">
|
||||
<caret line="112" column="31" selection-start-line="112" selection-start-column="30" selection-end-line="112" selection-end-column="31" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/entity/constant/InterfaceName.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1672">
|
||||
<caret line="76" column="63" selection-start-line="76" selection-start-column="46" selection-end-line="76" selection-end-column="63" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find>PatientRegistryReviseRequest</find>
|
||||
<find>信息</find>
|
||||
</findStrings>
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/entity/interfaceEntity/EMRData.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/entity/interfaceEntity/EMRData.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/controller/EatThread.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/entity/constant/InterfaceName.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/entity/constant/AliasName.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/entity/interfaceEntity/ArchiveMaster.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/interfaces/HomepageDictionary.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/utils/XMLUtils.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/repository/ArchiveMasterRepository.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/service/ArchiveMasterService.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/service/impl/ArchiveMasterServiceImpl.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/controller/TestController.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/templates/demo.html" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/com/ann/demo/service/AnalysisService.java" />
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/application.yml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||
<component name="JsGulpfileManager">
|
||||
<detection-done>true</detection-done>
|
||||
<sorting>DEFINITION_ORDER</sorting>
|
||||
</component>
|
||||
<component name="MavenImportPreferences">
|
||||
<option name="generalSettings">
|
||||
<MavenGeneralSettings>
|
||||
<option name="localRepository" value="D:\DemoRepository" />
|
||||
<option name="mavenHome" value="D:/Program Files/apache-maven-3.5.2" />
|
||||
<option name="userSettingsFile" value="D:\Program Files\apache-maven-3.5.2\conf\settings.xml" />
|
||||
</MavenGeneralSettings>
|
||||
</option>
|
||||
</component>
|
||||
<component name="MavenProjectNavigator">
|
||||
<treeState>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="" type="16c1761:MavenProjectsStructure$RootNode" />
|
||||
<item name="demo" type="9519ce18:MavenProjectsStructure$ProjectNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="" type="16c1761:MavenProjectsStructure$RootNode" />
|
||||
<item name="demo" type="9519ce18:MavenProjectsStructure$ProjectNode" />
|
||||
<item name="Lifecycle" type="58874e2:MavenProjectsStructure$LifecycleNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="" type="16c1761:MavenProjectsStructure$RootNode" />
|
||||
<item name="demo" type="9519ce18:MavenProjectsStructure$ProjectNode" />
|
||||
<item name="Dependencies" type="f4be9f2a:MavenProjectsStructure$DependenciesNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</treeState>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="x" value="-8" />
|
||||
<option name="y" value="-8" />
|
||||
<option name="width" value="1382" />
|
||||
<option name="height" value="744" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" 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="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" 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="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" 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="ann" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" 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="ann" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="demo" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" 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="ann" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="demo" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="interfaces" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" 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="ann" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="demo" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="interfaces" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="impl" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="resources" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="resources" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="static" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="resources" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="static" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="bootstrap" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="resources" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="templates" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="HISInterface" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HISInterface" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="test" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
</pane>
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="RequestMappingsPanelOrder0" value="0" />
|
||||
<property name="RequestMappingsPanelOrder1" value="1" />
|
||||
<property name="RequestMappingsPanelWidth0" value="75" />
|
||||
<property name="RequestMappingsPanelWidth1" value="75" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="aspect.path.notification.shown" value="true" />
|
||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1591693447402" />
|
||||
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
||||
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
||||
<property name="settings.editor.selected.configurable" value="MavenSettings" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="E:\2019Project\HISInterface\src\main" />
|
||||
<recent name="E:\2019Project\HISInterface\src\main\java\com\ann" />
|
||||
</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 name="RunManager">
|
||||
<configuration name="DemoApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
|
||||
<module name="HISInterface" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="com.ann.demo.DemoApplication" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="870dfe2f-2506-4b08-b265-5cdb7de29dea" name="Default Changelist" comment="" />
|
||||
<created>1591671202969</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1591671202969</updated>
|
||||
<workItem from="1591671205532" duration="523000" />
|
||||
<workItem from="1591671759822" duration="10680000" />
|
||||
<workItem from="1591753162690" duration="3700000" />
|
||||
<workItem from="1591921366396" duration="1182000" />
|
||||
<workItem from="1592181331450" duration="1182000" />
|
||||
<workItem from="1592269791928" duration="587000" />
|
||||
<workItem from="1592467856026" duration="534000" />
|
||||
<workItem from="1592530017719" duration="907000" />
|
||||
<workItem from="1592535045616" duration="3145000" />
|
||||
<workItem from="1592708218306" duration="584000" />
|
||||
<workItem from="1592840312399" duration="579000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="23603000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-8" y="-8" width="1382" height="744" extended-state="0" />
|
||||
<layout>
|
||||
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.19213313" />
|
||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||
<window_info id="Image Layers" order="2" />
|
||||
<window_info id="Designer" order="3" />
|
||||
<window_info id="UI Designer" order="4" />
|
||||
<window_info id="Capture Tool" order="5" />
|
||||
<window_info id="Favorites" order="6" side_tool="true" />
|
||||
<window_info id="Web" order="7" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Message" order="0" />
|
||||
<window_info anchor="bottom" id="Find" order="1" weight="0.18821605" />
|
||||
<window_info anchor="bottom" id="Run" order="2" weight="0.3289689" />
|
||||
<window_info active="true" anchor="bottom" id="Debug" order="3" visible="true" weight="0.3420622" />
|
||||
<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="Version Control" order="7" show_stripe_button="false" />
|
||||
<window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
|
||||
<window_info anchor="bottom" id="Terminal" order="9" />
|
||||
<window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Messages" order="11" weight="0.058919802" />
|
||||
<window_info anchor="bottom" id="Spring" order="12" weight="0.3289689" />
|
||||
<window_info anchor="bottom" id="Java Enterprise" order="13" weight="0.3289689" />
|
||||
<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.24962178" />
|
||||
<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="Capture Analysis" order="4" />
|
||||
<window_info anchor="right" id="Database" order="5" weight="0.32980332" />
|
||||
<window_info anchor="right" id="Theme Preview" order="6" />
|
||||
<window_info anchor="right" id="Palette	" order="7" />
|
||||
<window_info anchor="right" id="Maven Projects" order="8" weight="0.32980332" />
|
||||
<window_info anchor="right" id="Bean Validation" order="9" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="1" />
|
||||
</component>
|
||||
<component name="VcsContentAnnotationSettings">
|
||||
<option name="myLimit" value="2678400000" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<breakpoints>
|
||||
<line-breakpoint enabled="true" type="java-line">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java</url>
|
||||
<line>79</line>
|
||||
<properties />
|
||||
<option name="timeStamp" value="1" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="java-line">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/AnalysisService.java</url>
|
||||
<line>99</line>
|
||||
<properties />
|
||||
<option name="timeStamp" value="5" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="java-line">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java</url>
|
||||
<line>58</line>
|
||||
<properties />
|
||||
<option name="timeStamp" value="7" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="java-line">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/AnalysisService.java</url>
|
||||
<line>98</line>
|
||||
<properties />
|
||||
<option name="timeStamp" value="8" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
<component name="antWorkspaceConfiguration">
|
||||
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/App.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/repository/CommonTableRepository.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/repository/ArchiveDetailRepository.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/MedicalRecordHomepageCacheService.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/impl/MessageServiceImpl.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/DemoApplication.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="110">
|
||||
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/entity/interfaceEntity/EMRData.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="374">
|
||||
<caret line="22" lean-forward="true" selection-start-line="22" selection-end-line="22" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/MessageService.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/utils/QuartzUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/ArchiveDetailService.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/entity/normalEntity/ids/CommonTableIds.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/ServletInitializer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="110">
|
||||
<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/com/ann/demo/controller/EatThread.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/controller/MyCallable.java" />
|
||||
<entry file="jar://D:/DemoRepository/org/springframework/data/spring-data-commons/2.1.9.RELEASE/spring-data-commons-2.1.9.RELEASE-sources.jar!/org/springframework/data/repository/CrudRepository.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="192">
|
||||
<caret line="35" column="20" selection-start-line="35" selection-start-column="20" selection-end-line="35" selection-end-column="20" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/controller/TestController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="572">
|
||||
<caret line="60" selection-start-line="60" selection-end-line="60" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/entity/constant/AliasName.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="96">
|
||||
<caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/entity/interfaceEntity/ArchiveMaster.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="220">
|
||||
<caret line="113" column="7" lean-forward="true" selection-start-line="113" selection-start-column="7" selection-end-line="114" selection-end-column="24" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/static/bootstrap/demo.html" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/utils/XMLUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="5962">
|
||||
<caret line="297" selection-start-line="297" selection-end-line="297" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/templates/demo.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="858">
|
||||
<caret line="39" column="27" selection-start-line="39" selection-start-column="27" selection-end-line="39" selection-end-column="27" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="462">
|
||||
<caret line="21" column="48" selection-start-line="21" selection-start-column="48" selection-end-line="21" selection-end-column="48" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/interfaces/impl/HomepageDictionaryImpl.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="946">
|
||||
<caret line="61" column="66" selection-start-line="61" selection-start-column="66" selection-end-line="61" selection-end-column="66" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/ArchiveMasterService.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="572">
|
||||
<caret line="28" selection-start-line="28" selection-end-line="28" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/interfaces/HomepageDictionary.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="264">
|
||||
<caret line="14" selection-start-line="14" selection-end-line="14" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/impl/ArchiveMasterServiceImpl.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2508">
|
||||
<caret line="122" column="45" selection-start-line="122" selection-start-column="45" selection-end-line="122" selection-end-column="45" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/repository/ArchiveMasterRepository.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1034">
|
||||
<caret line="54" column="41" selection-start-line="54" selection-start-column="41" selection-end-line="54" selection-end-column="41" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2464">
|
||||
<caret line="112" column="31" selection-start-line="112" selection-start-column="30" selection-end-line="112" selection-end-column="31" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/entity/constant/InterfaceName.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1672">
|
||||
<caret line="76" column="63" selection-start-line="76" selection-start-column="46" selection-end-line="76" selection-end-column="63" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/com/ann/demo/service/AnalysisService.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="155">
|
||||
<caret line="106" column="79" selection-start-line="106" selection-start-column="79" selection-end-line="106" selection-end-column="79" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
<state key="ProjectJDKs.UI">
|
||||
<settings>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
</states>
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4" />
|
@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.1.6.RELEASE</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
|
||||
<groupId>com.ann</groupId>
|
||||
<artifactId>demo</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>demo</name>
|
||||
<packaging>war</packaging>
|
||||
<description>Demo project for Spring Boot</description>
|
||||
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
</properties>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- CXF webservice -->
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
|
||||
<version>3.2.5</version>
|
||||
</dependency>
|
||||
<!-- CXF webservice -->
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 导入Mysql数据库链接jar包 -->
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>5.1.30</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>1.2.4</version>
|
||||
</dependency>
|
||||
|
||||
<!--解析xpath-->
|
||||
<dependency>
|
||||
<groupId>jaxen</groupId>
|
||||
<artifactId>jaxen</artifactId>
|
||||
<version>1.1-beta-11</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>xerces</groupId>
|
||||
<artifactId>xercesImpl</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!--sqlserver驱动 -->
|
||||
<dependency>
|
||||
<groupId>com.microsoft.sqlserver</groupId>
|
||||
<artifactId>sqljdbc4</artifactId>
|
||||
<version>4.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 获取拼音首拼 -->
|
||||
<dependency>
|
||||
<groupId>com.belerweb</groupId>
|
||||
<artifactId>pinyin4j</artifactId>
|
||||
<version>2.5.1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!--引入quartz定时框架-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-quartz</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<finalName>HISInterface</finalName>
|
||||
</build>
|
||||
</project>
|
@ -0,0 +1,13 @@
|
||||
package com.ann.demo;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication
|
||||
public class DemoApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(DemoApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.ann.demo;
|
||||
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
|
||||
public class ServletInitializer extends SpringBootServletInitializer {
|
||||
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
||||
return application.sources(DemoApplication.class);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.ann.demo.controller;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/1 9:57
|
||||
*/
|
||||
@Data
|
||||
public class InterfaceForm {
|
||||
private String url;
|
||||
private String content;
|
||||
private String parameter;
|
||||
private String interfaceName;
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
package com.ann.demo.controller;
|
||||
|
||||
import com.ann.demo.entity.constant.InterfaceName;
|
||||
import com.ann.demo.service.AnalysisService;
|
||||
import com.ann.demo.service.UserService;
|
||||
import org.apache.cxf.endpoint.Client;
|
||||
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/7/11 18:47
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/")
|
||||
public class TestController {
|
||||
|
||||
@Autowired
|
||||
AnalysisService analysisService;
|
||||
|
||||
@Autowired
|
||||
UserService userService;
|
||||
|
||||
@RequestMapping("/demo")
|
||||
public String aa() {
|
||||
return "demo";
|
||||
}
|
||||
|
||||
/*@ResponseBody*/
|
||||
@RequestMapping("/haha")
|
||||
public String cc(InterfaceForm interfaceForm) {
|
||||
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
|
||||
Client client = dcf.createClient(interfaceForm.getUrl());
|
||||
Object[] objects = new Object[0];
|
||||
try {
|
||||
// invoke("方法名",参数1,参数2,参数3....);
|
||||
if (Objects.equals(interfaceForm.getInterfaceName(), "ReceiveDict") ||
|
||||
Objects.equals(interfaceForm.getInterfaceName(), "InpSummary") ||
|
||||
Objects.equals(interfaceForm.getInterfaceName(), "handNumbnessReport") ||
|
||||
Objects.equals(interfaceForm.getInterfaceName(), "ICUReport") ||
|
||||
Objects.equals(interfaceForm.getInterfaceName(), "BloodTransfusionUrl") ||
|
||||
Objects.equals(interfaceForm.getInterfaceName(), InterfaceName.DOCTOR_DATA) ||
|
||||
Objects.equals(interfaceForm.getInterfaceName(), InterfaceName.NURSE_DATA) ||
|
||||
Objects.equals(interfaceForm.getInterfaceName(), InterfaceName.PARAMETER_EXAMAPPLYSTATECHANGE)) {
|
||||
objects = client.invoke(interfaceForm.getInterfaceName(), interfaceForm.getContent());
|
||||
} else {
|
||||
objects = client.invoke(interfaceForm.getInterfaceName(), interfaceForm.getParameter(), interfaceForm.getContent());
|
||||
}
|
||||
System.out.println(objects[0]);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return "redirect:/demo";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,18 @@
|
||||
package com.ann.demo.controller;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/1 9:30
|
||||
*/
|
||||
|
||||
@Configuration
|
||||
public class UsingStaticController extends WebMvcConfigurationSupport {
|
||||
|
||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
|
||||
}
|
||||
}
|
@ -0,0 +1,120 @@
|
||||
package com.ann.demo.entity.constant;
|
||||
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description 类型
|
||||
* @Date 2019/6/12
|
||||
* @Created by ljx
|
||||
*/
|
||||
public class AliasName {
|
||||
|
||||
public static final String USER = "用户字典";
|
||||
|
||||
public static final String DEPARTMENT = "科室字典";
|
||||
|
||||
// 超声报告
|
||||
public static final String ULTRASONIC_REPORT = "57";
|
||||
|
||||
// 病理检查报告单
|
||||
public static final String PATHOLOGY_REPORT = "52";
|
||||
|
||||
// 放射诊断报告单 54
|
||||
public static final String RADIATION_REPORT = "54";
|
||||
|
||||
// 心电图报告单 59
|
||||
public static final String EKG_REPORT = "59";
|
||||
|
||||
// 入院记录
|
||||
public static final String ADMISSION_RECORD = "9";
|
||||
|
||||
// 出院记录
|
||||
public static final String DISCHARGE_RECORD = "113";
|
||||
|
||||
// 转科记录
|
||||
public static final String TRANSFER_RECORD = "114";
|
||||
|
||||
// 取消入院
|
||||
public static final String CANCELLATION_DISCHARGE = "115";
|
||||
|
||||
// 患者更新
|
||||
public static final String PATIENT_UPDATE = "124";
|
||||
|
||||
// 同步主管医生
|
||||
public static final String BED_MANAGER = "131";
|
||||
|
||||
// 同步死亡医嘱
|
||||
public static final String DIE_MEDICAL_ADVICE = "132";
|
||||
|
||||
|
||||
// 手麻
|
||||
public static final String HANDNUMBNESS_REPORT = "117";
|
||||
|
||||
// ICU报告
|
||||
public static final String ICU_REPORT = "121";
|
||||
|
||||
// 其他类型 目前来说 是手麻系统的其他三个
|
||||
public static final String OTHER = "18";
|
||||
|
||||
// 检查申请单
|
||||
public static final String PARAMETER_EXAMAPPLY = "119";
|
||||
|
||||
// 输血单
|
||||
public static final String BLOODAPPLY_REPORT = "120";
|
||||
|
||||
// PET/CT报告单
|
||||
public static final String PETCT_REPORT = "60";
|
||||
|
||||
// 检验申请单
|
||||
public static final String PARAMETER_INSPECTIONAPPLY = "118";
|
||||
|
||||
// 检验报告
|
||||
public static final String INSPECTION_REPORT = "10";
|
||||
|
||||
// 扫描文件
|
||||
public static final String SCANNING_FILE = "30";
|
||||
|
||||
// 护理、医生
|
||||
public static final Map<String, String> DOCTOR_MAP;
|
||||
public static final Map<String, String> NURSE_MAP;
|
||||
|
||||
// 病案首页
|
||||
public static final String MEDICAL_RECORD_HOMEPAGE = "3";
|
||||
|
||||
// 20191021 申请单变更状态
|
||||
public static final String EXAM_APPLY_STATE_CHANGE = "31";
|
||||
|
||||
static {
|
||||
DOCTOR_MAP = new HashMap<String, String>();
|
||||
DOCTOR_MAP.put("入院记录", "9");
|
||||
DOCTOR_MAP.put("病程记录", "11");
|
||||
DOCTOR_MAP.put("术前文书", "12");
|
||||
DOCTOR_MAP.put("手术资料", "13");
|
||||
DOCTOR_MAP.put("讨论记录", "14");
|
||||
DOCTOR_MAP.put("会诊记录", "15");
|
||||
DOCTOR_MAP.put("出院记录", "113");
|
||||
DOCTOR_MAP.put("死亡记录", "17");
|
||||
DOCTOR_MAP.put("VTE文书", "23");
|
||||
DOCTOR_MAP.put("其他记录", "18");
|
||||
DOCTOR_MAP.put("医护共用", "19");
|
||||
DOCTOR_MAP.put("知情同意", "20");
|
||||
DOCTOR_MAP.put("疾病危重", "21");
|
||||
DOCTOR_MAP.put("VTE记录", "22");
|
||||
DOCTOR_MAP.put("病案首页", "3");
|
||||
DOCTOR_MAP.put("病历文书", "");
|
||||
|
||||
NURSE_MAP = new HashMap<String, String>();
|
||||
NURSE_MAP.put("首次护理记录", "7");
|
||||
NURSE_MAP.put("护理文书", "6");
|
||||
NURSE_MAP.put("专科单护理", "24");
|
||||
NURSE_MAP.put("知情文件", "8");
|
||||
NURSE_MAP.put("体温单", "5");
|
||||
NURSE_MAP.put("护理记录", "2");
|
||||
NURSE_MAP.put("评估单", "4");
|
||||
NURSE_MAP.put("病历护理文书", "");
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.ann.demo.entity.constant;
|
||||
|
||||
|
||||
/**
|
||||
* @Description 操作
|
||||
* @Date 2019/6/13 16:39
|
||||
* @Created by ljx
|
||||
*/
|
||||
public class Identification {
|
||||
|
||||
public static final String INSERT = "insert";
|
||||
|
||||
public static final String UPDATE = "update";
|
||||
|
||||
public static final String DELETE = "delete";
|
||||
}
|
@ -0,0 +1,143 @@
|
||||
package com.ann.demo.entity.constant;
|
||||
|
||||
/**
|
||||
* @Description 接口名称
|
||||
* @Date 2019/7/10 9:46
|
||||
* @Created by ljx
|
||||
*/
|
||||
public class InterfaceName {
|
||||
/**
|
||||
* 用户、科室接口 ReceiveDict
|
||||
*/
|
||||
public static final String RECEIVE_DICT = "his系统";
|
||||
/**
|
||||
* V3接口
|
||||
*/
|
||||
public static final String HIP_MESSAGE_SERVER = "HIPMessageServer";
|
||||
|
||||
/**
|
||||
* 检查报告参数
|
||||
*/
|
||||
public static final String PARAMETER_REPORT = "ExamReportBackRequest";
|
||||
|
||||
/**
|
||||
* 超声
|
||||
*/
|
||||
public static final String ULTRASOUND_REPORT = "超声系统";
|
||||
/**
|
||||
* 心电图
|
||||
*/
|
||||
public static final String EKG_REPORT = "心电图系统";
|
||||
/**
|
||||
* 病理
|
||||
*/
|
||||
public static final String PATHOLOGY_REPORT = "病理系统";
|
||||
/**
|
||||
* 放射
|
||||
*/
|
||||
public static final String RADIATION_REPORT = "PACS系统";
|
||||
|
||||
/**
|
||||
* petct
|
||||
*/
|
||||
public static final String PET_REPORT = "核医学系统";
|
||||
/**
|
||||
* 入院参数
|
||||
*/
|
||||
public static final String PARAMETER_ADMISSION = "InPatientAddRequest";
|
||||
/**
|
||||
* 出院参数
|
||||
*/
|
||||
public static final String PARAMETER_DISCHARGE = "PatientOutRequest";
|
||||
|
||||
/**
|
||||
* 转科参数
|
||||
*/
|
||||
public static final String PARAMETER_TRANSFER = "InpatientTransferRequest";
|
||||
|
||||
/**
|
||||
* 取消入院
|
||||
*/
|
||||
public static final String PARAMETER_CANCELLATION_DISCHARGE = "CalPatientRequest";
|
||||
|
||||
|
||||
/**
|
||||
* 患者更新
|
||||
*/
|
||||
public static final String PARAMETER_PATIENT_UPDATE = "PatientRegistryReviseRequest";
|
||||
|
||||
/**
|
||||
* 20200609临时医嘱长期医嘱
|
||||
*/
|
||||
//public static final String MEDICAL_ADVICE = "PatientRegistryReviseRequest";
|
||||
|
||||
/**
|
||||
* 20200609主管医生
|
||||
*/
|
||||
public static final String BED_MANAGER = "BedManagerRequest";
|
||||
|
||||
/**
|
||||
* 20200609死亡信息
|
||||
*/
|
||||
public static final String DIE_MEDICAL_ADVICE = "DieMedicalAdviceRequest";
|
||||
|
||||
/**
|
||||
* 检查申请单
|
||||
*/
|
||||
public static final String PARAMETER_EXAMAPPLY = "ExamApplyRequest";
|
||||
|
||||
/**
|
||||
* 2019-10-21
|
||||
* 检查申请单是否开立
|
||||
*/
|
||||
public static final String PARAMETER_EXAMAPPLYSTATECHANGE = "ExamApplyStateChange";
|
||||
|
||||
/**
|
||||
* 病案首页
|
||||
*/
|
||||
public static final String INP_SUMMARY = "InpSummary";
|
||||
|
||||
/**
|
||||
* 手麻报告
|
||||
*/
|
||||
public static final String HANDNUMBNESS_REPORT = "手麻系统";
|
||||
|
||||
/**
|
||||
* 重症ICU报告
|
||||
*/
|
||||
public static final String ICU_REPORT = "重症监护";
|
||||
|
||||
/**
|
||||
* 输血单
|
||||
*/
|
||||
public static final String BLOODAPPLY_REPORT = "输血系统";
|
||||
|
||||
/**
|
||||
* 医生资料 病案首页 病历文书
|
||||
*/
|
||||
public static final String DOCTOR_DATA = "DoctorData";
|
||||
|
||||
/**
|
||||
* 护士资料 评估单 体温单 护理单2
|
||||
*/
|
||||
public static final String NURSE_DATA = "NurseData";
|
||||
|
||||
/**
|
||||
* lis系统
|
||||
*/
|
||||
public static final String INSPECTION_REPORT = "LIS系统";
|
||||
public static final String INSPECTION_REPORT_NAME = "LisSendReportBack";
|
||||
|
||||
/**
|
||||
* 扫描文件
|
||||
* ScanningFile
|
||||
*/
|
||||
public static final String SCANNING_FILE = "扫描系统";
|
||||
|
||||
/**
|
||||
* 2019-12-23
|
||||
* 检验申请单
|
||||
*/
|
||||
public static final String PARAMETER_INSPECTIONAPPLY = "InspectionApplyRequest";
|
||||
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.ann.demo.entity.constant;
|
||||
|
||||
/**
|
||||
* @Description 除了HL7V3的xml 返回参数
|
||||
* @Date 2019/6/13 21:50
|
||||
* @Created by ljx
|
||||
*/
|
||||
public class OutParaConstant {
|
||||
|
||||
public static final boolean RESULT_CODE_SUCCESS = true;
|
||||
public static final boolean RESULT_CODE_FILED = false;
|
||||
|
||||
public static final String RESULT_CONTENT_SUCCESS = "成功";
|
||||
public static final String RESULT_CONTENT_FILED = "失败";
|
||||
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.ann.demo.entity.filing;
|
||||
|
||||
import lombok.Data;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* @Description 消息从属版本
|
||||
* @Date 2019/7/9 16:33
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
@Entity
|
||||
public class MessageSubordinate {
|
||||
|
||||
/**
|
||||
* 消息从属Id
|
||||
*/
|
||||
@Id
|
||||
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
|
||||
@GeneratedValue(generator = "system-uuid")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 消息Id
|
||||
*/
|
||||
private String messageId;
|
||||
|
||||
/**
|
||||
* 患者清单的关键信息
|
||||
*/
|
||||
private String patientMain;
|
||||
|
||||
/**
|
||||
* 消息Json
|
||||
*/
|
||||
@Lob
|
||||
private String contentJson;
|
||||
|
||||
/**
|
||||
* 2019-8-16
|
||||
* 循环次数
|
||||
*/
|
||||
private Integer runs = 0;
|
||||
|
||||
/**
|
||||
* 是否解析 0 未解析 1 解析 2 错误
|
||||
*/
|
||||
private Integer status = 0;
|
||||
|
||||
private String remark;
|
||||
|
||||
public MessageSubordinate(String messageId, String patientMain, String contentJson) {
|
||||
this.messageId = messageId;
|
||||
this.patientMain = patientMain;
|
||||
this.contentJson = contentJson;
|
||||
}
|
||||
|
||||
public MessageSubordinate() {
|
||||
}
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package com.ann.demo.entity.filing.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Description 患者清单的关键信息
|
||||
* @Date 2019/7/9 16:36
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Data
|
||||
public class PatientMainDto {
|
||||
|
||||
/**
|
||||
* 住院号
|
||||
*/
|
||||
private String inpNo;
|
||||
|
||||
/**
|
||||
* 就诊次数
|
||||
*/
|
||||
private String visitId;
|
||||
|
||||
/**
|
||||
* 拓展字段1
|
||||
*/
|
||||
private String extendedField1;
|
||||
|
||||
/**
|
||||
* 拓展字段2
|
||||
*/
|
||||
private String extendedField2;
|
||||
|
||||
/**
|
||||
* 拓展字段3
|
||||
*/
|
||||
private String extendedField3;
|
||||
|
||||
public PatientMainDto(String inpNo, String visitId) {
|
||||
this.inpNo = inpNo;
|
||||
this.visitId = visitId;
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.ann.demo.entity.interfaceEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 输血单
|
||||
*
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/22 15:42
|
||||
*/
|
||||
@Data
|
||||
public class BloodApply {
|
||||
|
||||
private Date xmlCreateTime;
|
||||
|
||||
private String inpNo;
|
||||
|
||||
private String visitId;
|
||||
|
||||
private String patientId;
|
||||
|
||||
private String reportAddress;
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package com.ann.demo.entity.interfaceEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/10 10:04
|
||||
*/
|
||||
@Data
|
||||
public class EMRData {
|
||||
// 2019-9-28 新增id
|
||||
private String applyId;
|
||||
|
||||
private Date xmlCreateTime;
|
||||
|
||||
private String inpNo;
|
||||
|
||||
private String visitId;
|
||||
|
||||
private String patientId;
|
||||
|
||||
// 病历文书
|
||||
private String type;
|
||||
|
||||
private String reportAddress;
|
||||
|
||||
private String lastModifyTime;
|
||||
|
||||
private String commitTime;
|
||||
|
||||
// 知情同意
|
||||
private String subType;
|
||||
|
||||
// 知情同意下面的类型
|
||||
private String detailType;
|
||||
|
||||
//排序的时间
|
||||
private String captionDateTime;
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
package com.ann.demo.entity.interfaceEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 检查申请单
|
||||
*
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/22 15:42
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
@Entity
|
||||
public class ExamApply {
|
||||
|
||||
@Id
|
||||
private String applyId;
|
||||
|
||||
private Date xmlCreateTime;
|
||||
|
||||
private String inpNo;
|
||||
|
||||
private String visitId;
|
||||
|
||||
private String patientId;
|
||||
|
||||
private Date authorReportTime;
|
||||
|
||||
private String result;
|
||||
|
||||
private Integer isValid = 0;
|
||||
|
||||
/**
|
||||
* 病理、放射、心电、超声、内镜
|
||||
*/
|
||||
private String reportType;
|
||||
|
||||
|
||||
/**
|
||||
* 2019-10-21 新增是否开立接口 E 检查 F 取消检查
|
||||
*/
|
||||
private String isOpen = "0";
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package com.ann.demo.entity.interfaceEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 手麻系统报告
|
||||
*
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/12 16:48
|
||||
*/
|
||||
@Data
|
||||
public class HandNumbnessReport {
|
||||
|
||||
/**
|
||||
* 住院号
|
||||
*/
|
||||
private String inpNo;
|
||||
|
||||
/**
|
||||
* 文档生成时间
|
||||
*/
|
||||
private Date xmlCreateTime;
|
||||
|
||||
/**
|
||||
* 患者ID
|
||||
*/
|
||||
private String patientId;
|
||||
|
||||
/**
|
||||
* 就诊次数
|
||||
*/
|
||||
private String visitId;
|
||||
|
||||
/**
|
||||
* 检查报告地址
|
||||
*/
|
||||
private String reportAddress;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.ann.demo.entity.interfaceEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/3 10:07
|
||||
*/
|
||||
@Data
|
||||
public class ICUReport {
|
||||
|
||||
private Date xmlCreateTime;
|
||||
|
||||
private String inpNo;
|
||||
|
||||
private String visitId;
|
||||
|
||||
private String patientId;
|
||||
|
||||
private String deptNo;
|
||||
|
||||
private String deptName;
|
||||
|
||||
private String reportType;
|
||||
|
||||
private String reportAddress;
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package com.ann.demo.entity.interfaceEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 检验申请单
|
||||
*
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/12/23 15:42
|
||||
*/
|
||||
@Data
|
||||
public class InspectionApply {
|
||||
|
||||
private String applyId;
|
||||
|
||||
private Date xmlCreateTime;
|
||||
|
||||
private String inpNo;
|
||||
|
||||
private String visitId;
|
||||
|
||||
private String patientId;
|
||||
|
||||
private Date authorReportTime;
|
||||
|
||||
private String result;
|
||||
|
||||
private Integer isValid = 0;
|
||||
|
||||
/**
|
||||
* 2019-10-21 新增是否开立接口 E 检查 F 取消检查
|
||||
*/
|
||||
private String isOpen;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,131 @@
|
||||
package com.ann.demo.entity.interfaceEntity;
|
||||
|
||||
import lombok.Data;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description 消息表
|
||||
* @Date 2019/6/17 10:27
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
@Data
|
||||
@Table
|
||||
@Entity
|
||||
public class MessageLog {
|
||||
|
||||
@Id
|
||||
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
|
||||
@GeneratedValue(generator = "system-uuid")
|
||||
private String id;
|
||||
|
||||
@Lob
|
||||
/**
|
||||
* 输入内容
|
||||
* */
|
||||
private String inputContent;
|
||||
|
||||
/**
|
||||
* 输出内容
|
||||
*/
|
||||
@Lob
|
||||
private String outContent;
|
||||
|
||||
/**
|
||||
* 类型 与 字典表匹配
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 消息结果 0 未成功 1是成功
|
||||
*/
|
||||
private Integer result;
|
||||
|
||||
/**
|
||||
* 返回json
|
||||
*/
|
||||
@Lob
|
||||
private String outJson;
|
||||
|
||||
/**
|
||||
* 接口名称
|
||||
*/
|
||||
private String interfaceName;
|
||||
|
||||
/**
|
||||
* xml创建时间
|
||||
*/
|
||||
private Date xmlCreateTime;
|
||||
|
||||
/**
|
||||
* 执行时间
|
||||
*/
|
||||
private Long executionTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* xml执行时间
|
||||
*/
|
||||
private Long xmlExecutionTime;
|
||||
//
|
||||
// /*
|
||||
// * 2020-3-20 新增masterId
|
||||
// * */
|
||||
// private String masterId;
|
||||
|
||||
// ---------------------------时间怎么变成了毫秒数
|
||||
public MessageLog(String inputContent, String interfaceName, Date createTime) {
|
||||
this.inputContent = inputContent;
|
||||
this.interfaceName = interfaceName;
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
public MessageLog() {
|
||||
|
||||
}
|
||||
|
||||
public void setValue(String outContent, Integer result, String outJson, Date xmlCreateTime, Long executionTime, Date endTime, String type, String remark) {
|
||||
this.outContent = outContent;
|
||||
this.result = result;
|
||||
this.outJson = outJson;
|
||||
this.xmlCreateTime = xmlCreateTime;
|
||||
this.executionTime = executionTime;
|
||||
this.endTime = endTime;
|
||||
this.type = type;
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
public void setValue(String outContent, Integer result, String outJson, Date xmlCreateTime, Long executionTime, Date endTime, String type) {
|
||||
this.outContent = outContent;
|
||||
this.result = result;
|
||||
this.outJson = outJson;
|
||||
this.xmlCreateTime = xmlCreateTime;
|
||||
this.executionTime = executionTime;
|
||||
this.endTime = endTime;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public void setValue1(String outContent, Integer result, Long executionTime, Date endTime) {
|
||||
this.outContent = outContent;
|
||||
this.result = result;
|
||||
this.executionTime = executionTime;
|
||||
this.endTime = endTime;
|
||||
}
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
package com.ann.demo.entity.interfaceEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Description 超声报告
|
||||
* @Date 2019/6/24 21:58
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class UltrasonicReport {
|
||||
|
||||
/*
|
||||
* 文档流水号
|
||||
* */
|
||||
private String id;
|
||||
|
||||
/*
|
||||
* 住院号标识号
|
||||
* */
|
||||
private String inpNo;
|
||||
|
||||
/*
|
||||
* 检查报告单号
|
||||
* */
|
||||
private String checkReportId;
|
||||
|
||||
/**
|
||||
* 电子申请单号
|
||||
*/
|
||||
private String applyId;
|
||||
|
||||
/**
|
||||
* 就诊次数
|
||||
*/
|
||||
private String visitId;
|
||||
|
||||
/**
|
||||
* 患者姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
|
||||
/*检查报告医师(文档创作者)*/
|
||||
|
||||
/**
|
||||
* 检查报告日期
|
||||
*/
|
||||
private String authorReportTime;
|
||||
|
||||
|
||||
/**
|
||||
* 医师标识
|
||||
*/
|
||||
private String assignedAuthorId;
|
||||
|
||||
/**
|
||||
* 医师姓名
|
||||
*/
|
||||
private String assignedPersonName;
|
||||
|
||||
|
||||
/* 审核医师签名 */
|
||||
|
||||
/**
|
||||
* 审核医师Id
|
||||
*/
|
||||
private String examineId;
|
||||
|
||||
/**
|
||||
* 审核医师姓名
|
||||
*/
|
||||
private String examineAssignedPersonName;
|
||||
|
||||
/**
|
||||
* 检查报告地址
|
||||
*/
|
||||
private String reportAddress;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "UltrasonicReport{" +
|
||||
"id='" + id + '\'' +
|
||||
", inpNo='" + inpNo + '\'' +
|
||||
", checkReportId='" + checkReportId + '\'' +
|
||||
", applyId='" + applyId + '\'' +
|
||||
", visitId='" + visitId + '\'' +
|
||||
", name='" + name + '\'' +
|
||||
", authorReportTime='" + authorReportTime + '\'' +
|
||||
", assignedAuthorId='" + assignedAuthorId + '\'' +
|
||||
", assignedPersonName='" + assignedPersonName + '\'' +
|
||||
", examineId='" + examineId + '\'' +
|
||||
", examineAssignedPersonName='" + examineAssignedPersonName + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -0,0 +1,130 @@
|
||||
package com.ann.demo.entity.interfaceEntity.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description 患者清单
|
||||
* @Date 2019/7/9 9:49
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class ArchiveMasterDto {
|
||||
|
||||
/**
|
||||
* 文档Id
|
||||
*/
|
||||
private String id;
|
||||
|
||||
private String xmlCreateTime;
|
||||
|
||||
/**
|
||||
* 患者id
|
||||
*/
|
||||
private String patientId;
|
||||
|
||||
/**
|
||||
* 住院号
|
||||
*/
|
||||
private String inpNo;
|
||||
|
||||
/**
|
||||
* 住院次数
|
||||
*/
|
||||
private String visitId;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
private String sex;
|
||||
|
||||
/**
|
||||
* 出院科室
|
||||
*/
|
||||
private String deptName;
|
||||
|
||||
/**
|
||||
* 出院日期
|
||||
*/
|
||||
private Date dischargeDateTime;
|
||||
|
||||
/**
|
||||
* 归档状态
|
||||
*/
|
||||
private String archiveState;
|
||||
|
||||
/**
|
||||
* 入院日期
|
||||
*/
|
||||
private Date admissionDateTime;
|
||||
|
||||
/**
|
||||
* 入院科室
|
||||
*/
|
||||
private String deptAdmissionTo;
|
||||
|
||||
/**
|
||||
* 入院科室名称
|
||||
*/
|
||||
private String deptAdmissionToName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String checkDoctor;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Date checkDatetime;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Date checkedDoctor;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Date checkedDatetime;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String LockInfo;
|
||||
|
||||
/**
|
||||
* 主管医生
|
||||
*/
|
||||
private String doctorInCharge;
|
||||
|
||||
/**
|
||||
* 主管医生名称
|
||||
*/
|
||||
private String doctorInChargeName;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
private String idNo;
|
||||
|
||||
/**
|
||||
* 离院方式
|
||||
*/
|
||||
private String dischargeDisposition;
|
||||
|
||||
/**
|
||||
* 归档状态
|
||||
*/
|
||||
private String deptCodeLend;
|
||||
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
package com.ann.demo.entity.normalEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
/**
|
||||
* @Description 科室
|
||||
* @Date 2019/6/16 16:57
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
@Table(name = "dpartments")
|
||||
@Entity
|
||||
@Data
|
||||
public class Department {
|
||||
|
||||
/**
|
||||
* 科室编码
|
||||
*/
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
private String DEPT_CODE;
|
||||
|
||||
/**
|
||||
* 科室名称
|
||||
*/
|
||||
@Column(name = "name")
|
||||
private String DEPT_NAME;
|
||||
|
||||
/**
|
||||
* 拼音码
|
||||
*/
|
||||
@Column(name = "initialism")
|
||||
private String PYM;
|
||||
|
||||
@Column(name = "isvalid")
|
||||
private Integer isValid = 0;
|
||||
|
||||
/**
|
||||
* 是否临床 0 临床 1 辅诊 2 护理单元 3 机关 9 其他
|
||||
*/
|
||||
@Column(name = "clinic_attr")
|
||||
private Integer CLINIC_ATTR = 0;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,120 @@
|
||||
package com.ann.demo.entity.normalEntity;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.ids.DiagDetailIds;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 10:04
|
||||
*/
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name = "t_diag")
|
||||
@IdClass(DiagDetailIds.class)
|
||||
public class DiagDetail {
|
||||
|
||||
/**
|
||||
* 病案号
|
||||
* */
|
||||
@Id
|
||||
@Column(name = "patient_id", length = 50)
|
||||
private String masterId;
|
||||
|
||||
/**
|
||||
* 诊断ID
|
||||
* */
|
||||
@Id
|
||||
@Column(name = "diag_code", length = 50)
|
||||
private String AKC196;
|
||||
|
||||
/**
|
||||
* 诊断类型 1门诊诊断 2入院诊断 3出院诊断 4手术并发症
|
||||
* 5并发症 6院内感染 7损伤和中毒的外部原因 8病理诊断
|
||||
* 9新生儿疾病诊断
|
||||
* */
|
||||
@Id
|
||||
@Column(name = "diag_type", length = 50)
|
||||
private String YZY203;
|
||||
|
||||
/**
|
||||
* 诊断序号
|
||||
* */
|
||||
@Column(name = "diag_no")
|
||||
private Integer YZY201;
|
||||
|
||||
/**
|
||||
* 诊断病名
|
||||
* */
|
||||
@Column(name = "diag_name")
|
||||
private String AKC185;
|
||||
|
||||
/**
|
||||
* 转归情况
|
||||
* */
|
||||
@Column(name = "dis_thing")
|
||||
private String dis_thing;
|
||||
|
||||
/**
|
||||
* 病理切片号
|
||||
* */
|
||||
@Column(name = "pathology_cut")
|
||||
private String pathology_cut;
|
||||
|
||||
/**
|
||||
* X光片号
|
||||
* */
|
||||
@Column(name = "X_ray")
|
||||
private String X_ray;
|
||||
|
||||
/**
|
||||
* 录入员姓名
|
||||
* */
|
||||
@Column(name = "oper_name")
|
||||
private String oper_name;
|
||||
|
||||
/**
|
||||
* 录入日期
|
||||
* */
|
||||
@Column(name = "oper_date")
|
||||
private Date oper_date;
|
||||
|
||||
/**
|
||||
*
|
||||
* */
|
||||
@Column(name = "create_date")
|
||||
private Date create_date;
|
||||
|
||||
/**
|
||||
*
|
||||
* */
|
||||
@Column(name = "singl")
|
||||
private String singl;
|
||||
|
||||
/**
|
||||
*
|
||||
* */
|
||||
@Column(name = "pat_adm_condition")
|
||||
private String pat_adm_condition;
|
||||
|
||||
/**
|
||||
*
|
||||
* */
|
||||
@Column(name = "pid")
|
||||
private String pid;
|
||||
|
||||
/**
|
||||
*
|
||||
* */
|
||||
@Column(name = "vid")
|
||||
private String vid;
|
||||
|
||||
/**
|
||||
*
|
||||
* */
|
||||
@Column(name = "inhospstat")
|
||||
private String INHospStat;
|
||||
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package com.ann.demo.entity.normalEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin EMRDictionary
|
||||
* @Date: 2019/9/20 17:12
|
||||
*/
|
||||
@Table(name = "emr_dictionary")
|
||||
@Entity
|
||||
@Data
|
||||
public class EMRDictionary {
|
||||
|
||||
//insert into emr_dictionary (code,name,create_time,creater,parent_id)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Id
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 科室编码
|
||||
*/
|
||||
@Column(name = "code")
|
||||
private String DEPT_CODE;
|
||||
|
||||
/**
|
||||
* 科室名称
|
||||
*/
|
||||
@Column(name = "name")
|
||||
private String DEPT_NAME;
|
||||
|
||||
/**
|
||||
* 拼音码
|
||||
*/
|
||||
@Column(name = "py_code")
|
||||
private String PYM;
|
||||
|
||||
@Column(name = "effective")
|
||||
private Integer isValid = 0;
|
||||
|
||||
// 科室编码默认4190
|
||||
private Integer parentId = 4190;
|
||||
|
||||
private String creater = "ann";
|
||||
|
||||
private Date createTime = new Date();
|
||||
|
||||
/**
|
||||
* 新增字段
|
||||
* 2019-9-21
|
||||
* 是否临床 0 临床 1 辅诊 2 护理单元 3 机关 9 其他
|
||||
*/
|
||||
@Column(name = "extended_field")
|
||||
private Integer CLINIC_ATTR = 0;
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.ann.demo.entity.normalEntity;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Description 输入参数
|
||||
* @Date 2019/6/12
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class InputPara {
|
||||
|
||||
/*
|
||||
* 字典名称
|
||||
* */
|
||||
private String ALIASNAME;
|
||||
|
||||
/**
|
||||
* 表名
|
||||
*/
|
||||
private String TABLENAME;
|
||||
|
||||
/**
|
||||
* update/insert/delete
|
||||
*/
|
||||
private String IDENTIFICATION;
|
||||
|
||||
/**
|
||||
* 表的内容
|
||||
*/
|
||||
private String VALUE;
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package com.ann.demo.entity.normalEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 病案首页
|
||||
*
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 9:06
|
||||
*/
|
||||
@Data
|
||||
public class MedicalRecordHomepage {
|
||||
|
||||
private CommonTable commonTable;
|
||||
|
||||
private CommonTable1 commonTable1;
|
||||
|
||||
/**
|
||||
* 手术节点
|
||||
*/
|
||||
private List<OperDetail> OperDetails;
|
||||
|
||||
/**
|
||||
* 诊断节点
|
||||
*/
|
||||
private List<DiagDetail> DiagDetails;
|
||||
|
||||
// 20200525 新增其他节点 用于校验数据
|
||||
private OtherData otherData;
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package com.ann.demo.entity.normalEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 病案首页缓存
|
||||
*
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 9:06
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
@Entity
|
||||
public class MedicalRecordHomepageCache {
|
||||
|
||||
@Id
|
||||
private String masterId;
|
||||
|
||||
private String content;
|
||||
|
||||
private Date createTime = new Date();
|
||||
|
||||
private String remark;
|
||||
|
||||
// 是否新增 默认没有新增
|
||||
private Integer isAdd = 0;
|
||||
|
||||
|
||||
public MedicalRecordHomepageCache(String masterId, String content) {
|
||||
this.masterId = masterId;
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
public MedicalRecordHomepageCache() {
|
||||
}
|
||||
}
|
@ -0,0 +1,137 @@
|
||||
package com.ann.demo.entity.normalEntity;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.ids.OperDetailIds;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 手术
|
||||
*
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 9:08
|
||||
*/
|
||||
|
||||
@Table(name = "t_operate")
|
||||
@Entity
|
||||
@IdClass(OperDetailIds.class)
|
||||
@Data
|
||||
public class OperDetail {
|
||||
|
||||
@Id
|
||||
@Column(name = "patient_id", length = 50)
|
||||
private String masterId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Column(name = "operate_no")
|
||||
private Integer YZY201;
|
||||
|
||||
/**
|
||||
* 手术操作编码
|
||||
*/
|
||||
@Id
|
||||
@Column(name = "operateCode")
|
||||
private String YZY207;
|
||||
|
||||
/**
|
||||
* 手术操作名称
|
||||
*/
|
||||
@Column(name = "operateName")
|
||||
private String YZY208;
|
||||
|
||||
/**
|
||||
* 手术操作日期
|
||||
*/
|
||||
@Column(name = "operateDate")
|
||||
private Date YZY209;
|
||||
|
||||
/**
|
||||
* 手术级别
|
||||
*/
|
||||
@Column(name = "operateClass")
|
||||
private String YZY227;
|
||||
|
||||
/**
|
||||
* 手术操作术者
|
||||
*/
|
||||
@Column(name = "operator")
|
||||
private String YZY215;
|
||||
|
||||
/**
|
||||
* 手术I助
|
||||
*/
|
||||
@Column(name = "assistant_1")
|
||||
private String YZY220;
|
||||
|
||||
/**
|
||||
* 手术II助
|
||||
*/
|
||||
@Column(name = "assistant_2")
|
||||
private String YZY222;
|
||||
|
||||
/**
|
||||
* 手术III助
|
||||
*/
|
||||
@Column(name = "assistant_3")
|
||||
private String assistant_3;
|
||||
|
||||
/**
|
||||
* 切口愈合等级
|
||||
*/
|
||||
@Column(name = "cut")
|
||||
private String YZY210;
|
||||
|
||||
/**
|
||||
* 麻醉方式
|
||||
*/
|
||||
@Column(name = "anaesthesia_type")
|
||||
private String YZY216;
|
||||
|
||||
/**
|
||||
* 麻醉医师
|
||||
*/
|
||||
@Column(name = "anaesthesia_name")
|
||||
private String YZY223;
|
||||
|
||||
/**
|
||||
* 录入员编号
|
||||
*/
|
||||
@Column(name = "oper_code")
|
||||
private String oper_code;
|
||||
|
||||
/**
|
||||
* 录入员姓名
|
||||
*/
|
||||
@Column(name = "oper_name")
|
||||
private String oper_name;
|
||||
|
||||
/**
|
||||
* 录入日期
|
||||
*/
|
||||
@Column(name = "oper_date")
|
||||
private String oper_date;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Column(name = "OPERATION_SCALE")
|
||||
private String OPERATION_SCALE;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Column(name = "chossurg")
|
||||
private String ChosSurg;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Column(name = "operdegr")
|
||||
private String OperDegr;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.ann.demo.entity.normalEntity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Description 输出参数
|
||||
* @Date 2019/6/12
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class OutPara {
|
||||
/*
|
||||
* 结果编码 true/false
|
||||
* */
|
||||
private boolean RESULT_CODE;
|
||||
|
||||
/*
|
||||
* 结果描述
|
||||
* */
|
||||
private String RESULT_CONTENT;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.ann.demo.entity.normalEntity.ids;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 16:16
|
||||
*/
|
||||
@Data
|
||||
public class CommonTableIds implements Serializable {
|
||||
|
||||
private String masterId;
|
||||
|
||||
/**
|
||||
* 住院次数
|
||||
*/
|
||||
private String YZY002;
|
||||
|
||||
/**
|
||||
* 病案号
|
||||
*/
|
||||
private String YZY001;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String AAC003;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.ann.demo.entity.normalEntity.ids;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/7 10:03
|
||||
*/
|
||||
@Data
|
||||
public class DiagDetailIds implements Serializable {
|
||||
|
||||
private String masterId;
|
||||
|
||||
private String YZY203;
|
||||
|
||||
private String AKC196;
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.ann.demo.entity.normalEntity.ids;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/26 9:22
|
||||
*/
|
||||
@Data
|
||||
public class MedicalRecordHomepageCacheIds implements Serializable {
|
||||
|
||||
private String patientId;
|
||||
|
||||
private String visitId;
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.ann.demo.entity.normalEntity.ids;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/7 10:04
|
||||
*/
|
||||
@Data
|
||||
public class OperDetailIds implements Serializable {
|
||||
|
||||
private String masterId;
|
||||
|
||||
private String YZY207;
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.ann.demo.entity.other;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/7/13 16:53
|
||||
*/
|
||||
@Data
|
||||
public class QuartzBean {
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String jobName;
|
||||
|
||||
/**
|
||||
* 任务执行类
|
||||
*/
|
||||
private String jobClass;
|
||||
|
||||
/**
|
||||
* 任务状态 启动还是暂停
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 任务运行时间表达式
|
||||
*/
|
||||
private String cronExpression;
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.ann.demo.entity.power;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name = "power_dept")
|
||||
public class Power_Dept {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer deptId;
|
||||
|
||||
private String deptName;
|
||||
|
||||
private String remark;
|
||||
|
||||
private Integer effective;
|
||||
|
||||
private String createDate;
|
||||
|
||||
private String creater;
|
||||
|
||||
private String updateDate;
|
||||
|
||||
private String updater;
|
||||
|
||||
private Integer dictId;
|
||||
|
||||
private String deptCode;
|
||||
|
||||
}
|
@ -0,0 +1,204 @@
|
||||
package com.ann.demo.entity.power;
|
||||
|
||||
|
||||
public class Power_Menu {
|
||||
private Integer menuId;
|
||||
|
||||
private String menuName;
|
||||
|
||||
private String menuIcon;
|
||||
|
||||
private String menuUrl;
|
||||
|
||||
private String menuDesc;
|
||||
|
||||
private String method;
|
||||
|
||||
private String methodType;
|
||||
|
||||
private Integer sysId;
|
||||
|
||||
private Integer parentId;
|
||||
|
||||
private Integer sort;
|
||||
|
||||
private Integer effective;
|
||||
|
||||
private String createDate;
|
||||
|
||||
private String creater;
|
||||
|
||||
private String updateDate;
|
||||
|
||||
private String updater;
|
||||
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* @Date 2019-04-28
|
||||
* @Author zengwh
|
||||
* 树选中属性
|
||||
*/
|
||||
private String checked;
|
||||
|
||||
|
||||
public String getChecked() {
|
||||
return checked;
|
||||
}
|
||||
|
||||
public void setChecked(String checked) {
|
||||
this.checked = checked;
|
||||
}
|
||||
|
||||
public Integer getMenuId() {
|
||||
return menuId;
|
||||
}
|
||||
|
||||
public void setMenuId(Integer menuId) {
|
||||
this.menuId = menuId;
|
||||
}
|
||||
|
||||
public String getMenuName() {
|
||||
return menuName;
|
||||
}
|
||||
|
||||
public void setMenuName(String menuName) {
|
||||
this.menuName = menuName == null ? null : menuName.trim();
|
||||
}
|
||||
|
||||
public String getMenuIcon() {
|
||||
return menuIcon;
|
||||
}
|
||||
|
||||
public void setMenuIcon(String menuIcon) {
|
||||
this.menuIcon = menuIcon == null ? null : menuIcon.trim();
|
||||
}
|
||||
|
||||
public String getMenuUrl() {
|
||||
return menuUrl;
|
||||
}
|
||||
|
||||
public void setMenuUrl(String menuUrl) {
|
||||
this.menuUrl = menuUrl == null ? null : menuUrl.trim();
|
||||
}
|
||||
|
||||
public String getMenuDesc() {
|
||||
return menuDesc;
|
||||
}
|
||||
|
||||
public void setMenuDesc(String menuDesc) {
|
||||
this.menuDesc = menuDesc == null ? null : menuDesc.trim();
|
||||
}
|
||||
|
||||
public String getMethod() {
|
||||
return method;
|
||||
}
|
||||
|
||||
public void setMethod(String method) {
|
||||
this.method = method == null ? null : method.trim();
|
||||
}
|
||||
|
||||
public String getMethodType() {
|
||||
return methodType;
|
||||
}
|
||||
|
||||
public void setMethodType(String methodType) {
|
||||
this.methodType = methodType == null ? null : methodType.trim();
|
||||
}
|
||||
|
||||
public Integer getSysId() {
|
||||
return sysId;
|
||||
}
|
||||
|
||||
public void setSysId(Integer sysId) {
|
||||
this.sysId = sysId;
|
||||
}
|
||||
|
||||
public Integer getParentId() {
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setParentId(Integer parentId) {
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public Integer getSort() {
|
||||
return sort;
|
||||
}
|
||||
|
||||
public void setSort(Integer sort) {
|
||||
this.sort = sort;
|
||||
}
|
||||
|
||||
public Integer getEffective() {
|
||||
return effective;
|
||||
}
|
||||
|
||||
public void setEffective(Integer effective) {
|
||||
this.effective = effective;
|
||||
}
|
||||
|
||||
public String getCreateDate() {
|
||||
return createDate;
|
||||
}
|
||||
|
||||
public void setCreateDate(String createDate) {
|
||||
this.createDate = createDate == null ? null : createDate.trim();
|
||||
}
|
||||
|
||||
public String getCreater() {
|
||||
return creater;
|
||||
}
|
||||
|
||||
public void setCreater(String creater) {
|
||||
this.creater = creater == null ? null : creater.trim();
|
||||
}
|
||||
|
||||
public String getUpdateDate() {
|
||||
return updateDate;
|
||||
}
|
||||
|
||||
public void setUpdateDate(String updateDate) {
|
||||
this.updateDate = updateDate == null ? null : updateDate.trim();
|
||||
}
|
||||
|
||||
public String getUpdater() {
|
||||
return updater;
|
||||
}
|
||||
|
||||
public void setUpdater(String updater) {
|
||||
this.updater = updater == null ? null : updater.trim();
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark == null ? null : remark.trim();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Power_Menu{" +
|
||||
"menuId=" + menuId +
|
||||
", menuName='" + menuName + '\'' +
|
||||
", menuIcon='" + menuIcon + '\'' +
|
||||
", menuUrl='" + menuUrl + '\'' +
|
||||
", menuDesc='" + menuDesc + '\'' +
|
||||
", method='" + method + '\'' +
|
||||
", methodType='" + methodType + '\'' +
|
||||
", sysId=" + sysId +
|
||||
", parentId=" + parentId +
|
||||
", sort=" + sort +
|
||||
", effective=" + effective +
|
||||
", createDate='" + createDate + '\'' +
|
||||
", creater='" + creater + '\'' +
|
||||
", updateDate='" + updateDate + '\'' +
|
||||
", updater='" + updater + '\'' +
|
||||
", remark='" + remark + '\'' +
|
||||
", checked='" + checked + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.ann.demo.entity.power;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@Data
|
||||
public class Power_User {
|
||||
|
||||
private Integer userId;
|
||||
|
||||
private String userName;
|
||||
|
||||
private String userPwd;
|
||||
|
||||
private Integer userSex;
|
||||
|
||||
private Integer userAge;
|
||||
|
||||
private String userTel;
|
||||
|
||||
private String userEmail;
|
||||
|
||||
private String userPosition;
|
||||
|
||||
private String roleName;
|
||||
|
||||
private String powerDepts;
|
||||
|
||||
private Integer effective;
|
||||
|
||||
private String createDate;
|
||||
|
||||
private String creater;
|
||||
|
||||
private String updateDate;
|
||||
|
||||
private String updater;
|
||||
|
||||
private String remark;
|
||||
|
||||
private Integer roleId;
|
||||
|
||||
private String deptId;
|
||||
|
||||
private Integer id;
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.ann.demo.entity.power;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/6/24 21:35
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Data
|
||||
public class Result {
|
||||
|
||||
private Power_User powerUser;
|
||||
|
||||
private List<Power_Menu> powerMenuList;
|
||||
|
||||
/**
|
||||
* 默认为0 是正常 1 是参数为空 2 是缓存过期 或者 参数查询不到数据
|
||||
*/
|
||||
private Integer remark = 0;
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.ann.demo.interfaces;
|
||||
|
||||
import javax.jws.WebMethod;
|
||||
import javax.jws.WebParam;
|
||||
import javax.jws.WebService;
|
||||
|
||||
@WebService
|
||||
public interface HomepageDictionary {
|
||||
|
||||
|
||||
@WebMethod
|
||||
String HIPMessageServer(@WebParam(name = "action") String action, @WebParam(name = "message") String message);
|
||||
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package com.ann.demo.interfaces.config;
|
||||
|
||||
import com.ann.demo.interfaces.HomepageDictionary;
|
||||
import com.ann.demo.interfaces.impl.HomepageDictionaryImpl;
|
||||
import org.apache.cxf.Bus;
|
||||
import org.apache.cxf.bus.spring.SpringBus;
|
||||
import org.apache.cxf.jaxws.EndpointImpl;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.xml.ws.Endpoint;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/6/11 17:13
|
||||
*/
|
||||
|
||||
@Configuration
|
||||
public class WebServiceConfig {
|
||||
|
||||
/*//默认servlet路径/*,如果覆写则按照自己定义的来
|
||||
@Bean
|
||||
public ServletRegistrationBean dispatcherServlet() {
|
||||
return new ServletRegistrationBean(new CXFServlet(), "/services/*");
|
||||
}*/
|
||||
|
||||
@Bean(name = Bus.DEFAULT_BUS_ID)
|
||||
public SpringBus springBus() {
|
||||
return new SpringBus();
|
||||
}
|
||||
|
||||
//把实现类交给spring管理
|
||||
@Bean
|
||||
public HomepageDictionary homepageDictionary() {
|
||||
return new HomepageDictionaryImpl();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Endpoint endpoint() {
|
||||
System.out.println("-----------------------已发布-------------------------");
|
||||
EndpointImpl endpoint = new EndpointImpl(springBus(), homepageDictionary());
|
||||
endpoint.publish("HomepageDictionary");
|
||||
return endpoint;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,99 @@
|
||||
package com.ann.demo.interfaces.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||
import com.ann.demo.entity.constant.AliasName;
|
||||
import com.ann.demo.entity.constant.InterfaceName;
|
||||
import com.ann.demo.entity.filing.MessageSubordinate;
|
||||
import com.ann.demo.entity.filing.dto.MessageDto;
|
||||
import com.ann.demo.entity.filing.dto.PatientMainDto;
|
||||
import com.ann.demo.entity.interfaceEntity.*;
|
||||
import com.ann.demo.entity.normalEntity.*;
|
||||
import com.ann.demo.interfaces.HomepageDictionary;
|
||||
import com.ann.demo.service.*;
|
||||
import com.ann.demo.utils.XMLUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import javax.jws.WebService;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/6/11 17:01
|
||||
*/
|
||||
|
||||
@WebService(serviceName = "HomepageDictionary", // 与接口中指定的name一致
|
||||
targetNamespace = "http://interfaces.demo.ann.com/", // 与接口中的命名空间一致,一般是接口的包名倒
|
||||
endpointInterface = "com.ann.demo.interfaces.HomepageDictionary"// 接口地址
|
||||
)
|
||||
public class HomepageDictionaryImpl implements HomepageDictionary {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(HomepageDictionaryImpl.class);
|
||||
|
||||
@Autowired
|
||||
private MessageService messageService;
|
||||
|
||||
@Autowired
|
||||
private MedicalRecordHomepageCacheService medicalRecordHomepageCacheService;
|
||||
|
||||
@Autowired
|
||||
private MessageSubordinateService messageSubordinateService;
|
||||
|
||||
@Autowired
|
||||
private AnalysisService analysisService;
|
||||
|
||||
@Autowired
|
||||
private ArchiveDetailService archiveDetailService;
|
||||
|
||||
@Autowired
|
||||
ExamApplyService examApplyService;
|
||||
|
||||
@Override
|
||||
public String HIPMessageServer(String action, String message) {
|
||||
String result = "";
|
||||
try {
|
||||
if (action != null && message != null && !(message.equals("") && action.equals(""))) {
|
||||
switch (action) {
|
||||
case InterfaceName.PARAMETER_ADMISSION:
|
||||
// 入院
|
||||
result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_ADMISSION);
|
||||
break;
|
||||
case InterfaceName.PARAMETER_DISCHARGE:
|
||||
// 出院
|
||||
result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_DISCHARGE);
|
||||
break;
|
||||
case InterfaceName.PARAMETER_TRANSFER:
|
||||
// 转科
|
||||
result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_TRANSFER);
|
||||
break;
|
||||
case InterfaceName.PARAMETER_CANCELLATION_DISCHARGE:
|
||||
// 取消入院
|
||||
result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_CANCELLATION_DISCHARGE);
|
||||
break;
|
||||
case InterfaceName.PARAMETER_PATIENT_UPDATE:
|
||||
// 患者信息更新
|
||||
result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.PARAMETER_PATIENT_UPDATE);
|
||||
break;
|
||||
case InterfaceName.BED_MANAGER:
|
||||
// 同步主管医生
|
||||
result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.BED_MANAGER);
|
||||
break;
|
||||
case InterfaceName.DIE_MEDICAL_ADVICE:
|
||||
// 同步死亡医嘱
|
||||
result = analysisService.getHIPMessageServerResult(message, ArchiveMaster.class, InterfaceName.DIE_MEDICAL_ADVICE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
return "";
|
||||
}
|
||||
// ---------------------------------------这里捕捉 参数为空
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.filing.ArchiveDetail;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/7/12 9:10
|
||||
*/
|
||||
@Repository
|
||||
public interface ArchiveDetailRepository extends JpaRepository<ArchiveDetail, String> {
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
@Query(value = "UPDATE ArchiveDetail o set o.flag = 1 where o.id = ?1 and o.flag = 0")
|
||||
public Integer updateFlag(String id);
|
||||
|
||||
@Query("select o.id from ArchiveDetail o where o.applyId = ?1 and o.masterID = ?2 and o.flag = 0")
|
||||
public String findIdByApplyIdAndMasterID(String applyId, String masterId);
|
||||
|
||||
@Query("select o.id from ArchiveDetail o where o.applyId = ?1 and o.flag = 0")
|
||||
public String findIdByApplyId(String applyId);
|
||||
}
|
||||
|
@ -0,0 +1,66 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.ArchiveMaster;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/7/11 20:55
|
||||
*/
|
||||
@Repository
|
||||
public interface ArchiveMasterRepository extends JpaRepository<ArchiveMaster, String> {
|
||||
|
||||
@Query("select o.id from ArchiveMaster o where o.patientId = ?1 and o.visitId = ?2 and o.inpNo =?3 and isValid = 0")
|
||||
public String findArchiveMasterId(String patientId, String visitId, String inpNo);
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
@Query("update ArchiveMaster o set o.archiveState = '作废',o.isValid = 1 where o.id = ?1 and o.isValid = 0 ")
|
||||
public Integer updateArchiveMasterValid(String id);
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
@Query("update ArchiveMaster o set o.transferDept = ?2 where o.id = ?1 and o.isValid = 0 ")
|
||||
public Integer transferDepartment(String id, String transferDept);
|
||||
|
||||
@Query("select o.deptAdmissionTo from ArchiveMaster o where o.patientId = ?1 and o.visitId = ?2 and o.inpNo =?3")
|
||||
public String findArchiveMasterDept(String patientId, String visitId, String inpNo);
|
||||
|
||||
public ArchiveMaster findByIdAndIsValid(String id, Integer isValid);
|
||||
|
||||
public ArchiveMaster findByPatientIdAndVisitIdAndIsValid(String patientId, String visitId, Integer isValid);
|
||||
|
||||
public ArchiveMaster findByInpNoAndVisitIdAndIsValid(String inpNo, String visitId, int isValid);
|
||||
|
||||
@Query("select o from ArchiveMaster o where o.checkedDatetime is not null and o.isValid = 0")
|
||||
public List<ArchiveMaster> findAllArchiveMaster();
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
@Query("update ArchiveMaster o set o.checkedDatetime = null where o.id = ?1 and o.isValid = 0 ")
|
||||
public Integer updateCheckedDatetime(String id);
|
||||
|
||||
@Query("select o.transferDept from ArchiveMaster o where o.id = ?1")
|
||||
String findTransferDept(String id);
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
@Query("update ArchiveMaster o set o.name = ?3,o.sex = ?2 where o.id = ?1 and o.isValid = 0 ")
|
||||
Integer updateArchiveMaster(String id, String sex, String name);
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
@Query("update ArchiveMaster o set o.deathFlag = ?2 where o.id = ?1 and o.isValid = 0 ")
|
||||
Integer updateDeathFlag(String id, String deathFlag);
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
@Query("update ArchiveMaster o set o.doctorInCharge = ?2 where o.id = ?1 and o.isValid = 0 ")
|
||||
Integer updateDoctorInCharge(String id, String doctorInCharge);
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.CommonTable1;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 15:49
|
||||
*/
|
||||
@Repository
|
||||
public interface CommonTable1Repository extends JpaRepository<CommonTable1, String> {
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.CommonTable;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 15:49
|
||||
*/
|
||||
@Repository
|
||||
public interface CommonTableRepository extends JpaRepository<CommonTable, String> {
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.Department;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/7/16 9:53
|
||||
*/
|
||||
@Repository
|
||||
public interface DepartmentRepository extends JpaRepository<Department, String> {
|
||||
|
||||
@Query("select o from Department o where o.DEPT_CODE = ?1 and o.isValid = ?2 ")
|
||||
public Department findDepartmentByDeptCodeAndIsValid(String deptCode, Integer isValid);
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.DiagDetail;
|
||||
import com.ann.demo.entity.normalEntity.ids.DiagDetailIds;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 15:49
|
||||
*/
|
||||
@Repository
|
||||
public interface DiagDetailRepository extends JpaRepository<DiagDetail, DiagDetailIds> {
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.EMRDictionary;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/21 16:04
|
||||
*/
|
||||
@Repository
|
||||
public interface EMRDictionaryRepository extends JpaRepository<EMRDictionary, Integer> {
|
||||
|
||||
@Query("select o from EMRDictionary o where o.DEPT_CODE = ?1 and o.isValid = ?2 ")
|
||||
public EMRDictionary findEMRDictionaryByCodeAndIsValid(String code, Integer isValid);
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.ExamApply;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/22 16:22
|
||||
*/
|
||||
@Repository
|
||||
public interface ExamApplyRepository extends JpaRepository<ExamApply, String> {
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
@Query("update ExamApply o set o.isValid = 1 where o.applyId = ?1 and o.isValid = 0 ")
|
||||
public Integer updateExamApplyIsValidById(String applyId);
|
||||
|
||||
@Query("select count(o) from ExamApply o where o.applyId = ?1 and o.isValid = 0")
|
||||
public Integer countExamApply(String applyId);
|
||||
|
||||
public ExamApply findByApplyId(String applyId);
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.MedicalRecordHomepageCache;
|
||||
import com.ann.demo.entity.normalEntity.ids.MedicalRecordHomepageCacheIds;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/26 9:31
|
||||
*/
|
||||
@Repository
|
||||
public interface MedicalRecordHomepageCacheRepository extends JpaRepository<MedicalRecordHomepageCache, MedicalRecordHomepageCacheIds> {
|
||||
|
||||
public MedicalRecordHomepageCache findByMasterId(String masterId);
|
||||
|
||||
@Modifying
|
||||
@Query("update MedicalRecordHomepageCache m set m.isAdd = 1 where m.masterId = ?1 and m.isAdd = 0")
|
||||
public void updateIsValid(String masterId);
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.MessageLog;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/6/17 11:34
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Repository
|
||||
public interface MessageRepository extends JpaRepository<MessageLog, Integer> {
|
||||
|
||||
public Integer countByInputContentAndInterfaceName(String inputContent, String interfaceName);
|
||||
|
||||
@Query("select o from MessageLog o where o.interfaceName = 'InpSummary' ")
|
||||
public List<MessageLog> findAllHaha();
|
||||
|
||||
@Query(nativeQuery = true,value = " select id from archive_master where (inp_No = ?1 ) and (visit_id = ?2 ) and archiveState <> '作废' ")
|
||||
public String getArchiveMasterId(String inpNo, String visitId);
|
||||
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.filing.MessageSubordinate;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/7/9 16:44
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Repository
|
||||
public interface MessageSubordinateRepository extends JpaRepository<MessageSubordinate, String> {
|
||||
|
||||
public Integer countByPatientMainAndContentJson(String patientMain, String contentJson);
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.OperDetail;
|
||||
import com.ann.demo.entity.normalEntity.ids.OperDetailIds;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 15:49
|
||||
*/
|
||||
@Repository
|
||||
public interface OperDetailRepository extends JpaRepository<OperDetail, OperDetailIds> {
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.ann.demo.repository;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.User;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/7/16 9:53
|
||||
*/
|
||||
@Repository
|
||||
public interface UserRepository extends JpaRepository<User, String> {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,265 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ann.demo.entity.constant.AliasName;
|
||||
import com.ann.demo.entity.constant.InterfaceName;
|
||||
import com.ann.demo.entity.filing.dto.MessageDto;
|
||||
import com.ann.demo.entity.interfaceEntity.ArchiveMaster;
|
||||
import com.ann.demo.entity.interfaceEntity.ExamApply;
|
||||
import com.ann.demo.entity.interfaceEntity.MessageLog;
|
||||
import com.ann.demo.entity.normalEntity.MedicalRecordHomepage;
|
||||
import com.ann.demo.entity.normalEntity.MedicalRecordHomepageCache;
|
||||
import com.ann.demo.entity.normalEntity.OutPara;
|
||||
import com.ann.demo.utils.XMLUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 解析逻辑
|
||||
*
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/20 16:29
|
||||
*/
|
||||
@Component
|
||||
public class AnalysisService {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(AnalysisService.class);
|
||||
|
||||
@Autowired
|
||||
MessageService messageService;
|
||||
|
||||
@Autowired
|
||||
MessageSubordinateService messageSubordinateService;
|
||||
|
||||
@Autowired
|
||||
ArchiveMasterService archiveMasterService;
|
||||
|
||||
@Autowired
|
||||
ExamApplyService examApplyService;
|
||||
|
||||
@Autowired
|
||||
MedicalRecordHomepageCacheService medicalRecordHomepageCacheService;
|
||||
|
||||
/**
|
||||
* 2019-7-8
|
||||
*
|
||||
* @Param xmlStr 需要解析的字符串
|
||||
* @Param tClass 被解析字符串的实体类
|
||||
* @Param parameter 如果是报告 携带参数
|
||||
* 返回返回参数xml
|
||||
*/
|
||||
public String getHIPMessageServerResult(String message, Class tClass, String parameter) throws Exception{
|
||||
long startTime = System.currentTimeMillis();
|
||||
String textContent = "成功啦~", type = "", typeCodeValue = "AE", outContent = "", patientMainStr = "";
|
||||
Date xmlCreateTime = null;
|
||||
Integer result = 0;
|
||||
long endTime = 0;
|
||||
|
||||
MessageLog messageLog = new MessageLog(message, InterfaceName.HIP_MESSAGE_SERVER, new Date());
|
||||
// 只要没有传过 才会插入新的
|
||||
messageService.save(messageLog);
|
||||
MessageDto messageDto = XMLUtils.xpathToBean(message, tClass, parameter);
|
||||
if (messageDto != null) {
|
||||
String textContentTemp = null;
|
||||
if (Objects.equals(messageDto.getEntity(), ArchiveMaster.class.getName())) { // 患者信息
|
||||
ArchiveMaster archiveMaster = JSON.parseObject(messageDto.getObject().toString(), ArchiveMaster.class);
|
||||
textContentTemp = changeArchiveMaster(archiveMaster, messageDto.getAddFlag(), messageDto.getType());
|
||||
}
|
||||
if (textContentTemp != null) {
|
||||
textContent = textContentTemp;
|
||||
} else {
|
||||
xmlCreateTime = messageDto.getXmlCreateTime();
|
||||
type = messageDto.getType();
|
||||
typeCodeValue = "AA";
|
||||
result = 1;
|
||||
}
|
||||
} else {
|
||||
textContent = "传过来的消息无法解析。。";
|
||||
}
|
||||
|
||||
outContent = XMLUtils.generateV3XmlStr(typeCodeValue, textContent);
|
||||
|
||||
endTime = System.currentTimeMillis();
|
||||
messageLog.setValue(outContent, result, messageDto == null ? "" : JSON.toJSONString(messageDto), xmlCreateTime, (endTime - startTime), new Date(), type, textContent);
|
||||
messageService.save(messageLog);
|
||||
|
||||
logger.info("-----------------------" + type + ":" + (endTime - startTime) + "-------------------------");
|
||||
return outContent;
|
||||
}
|
||||
|
||||
private String changeArchiveMaster(ArchiveMaster archiveMaster, String changeStatus, String aliasName) {
|
||||
String textContent = null;
|
||||
if (changeStatus != null || aliasName != null) {
|
||||
String archiveMasterId = archiveMasterService.findArchiveMasterId(archiveMaster.getPatientId(), archiveMaster.getVisitId(), archiveMaster.getInpNo());
|
||||
if (archiveMasterId != null) {
|
||||
// 如果不是新增 都会查询id
|
||||
archiveMaster.setId(archiveMasterId);
|
||||
if (aliasName.equals(AliasName.ADMISSION_RECORD) && Objects.equals(changeStatus, "update") ) { //入院消息 更新患者住院信息
|
||||
archiveMasterService.save(archiveMaster); //
|
||||
}else if (aliasName.equals(AliasName.CANCELLATION_DISCHARGE) && Objects.equals(changeStatus, "delete")) { // 取消入院
|
||||
archiveMasterService.updateArchiveMasterValid(archiveMasterId);
|
||||
}else if (aliasName.equals(AliasName.TRANSFER_RECORD)) { // 转科
|
||||
archiveMasterService.transferDepartment(archiveMaster);
|
||||
} else if (aliasName.equals(AliasName.DISCHARGE_RECORD)) { // 出院
|
||||
archiveMasterService.discharge(archiveMaster);
|
||||
}else if(aliasName.equals(AliasName.PATIENT_UPDATE)){ //患者信息修改
|
||||
if(!archiveMasterService.updateArchiveMaster(archiveMaster)){
|
||||
textContent = "患者更新失败";
|
||||
}
|
||||
}else if(aliasName.equals(AliasName.DIE_MEDICAL_ADVICE)){ //死亡信息同步
|
||||
String deathFlag = "0";
|
||||
if(Objects.equals(changeStatus,"new")){
|
||||
deathFlag = "1";
|
||||
}
|
||||
archiveMaster.setDeathFlag(deathFlag);
|
||||
if(!archiveMasterService.updateArchiveMasterByDeathFlag(archiveMaster)){
|
||||
textContent = "死亡信息同步失败";
|
||||
}
|
||||
}else if(aliasName.equals(AliasName.BED_MANAGER)){ //管床医师同步
|
||||
if(!archiveMasterService.updateArchiveMasterBydoctorInCharge(archiveMaster)){
|
||||
textContent = "管床医师同步失败";
|
||||
}
|
||||
} else {
|
||||
textContent = "信息有错";
|
||||
}
|
||||
}else {
|
||||
if (Objects.equals(changeStatus, "new")) { //入院消息 新增患者住院信息
|
||||
archiveMasterService.save(archiveMaster);
|
||||
}else{
|
||||
textContent = "没有入院信息";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
textContent = "信息解析错误";
|
||||
}
|
||||
return textContent;
|
||||
}
|
||||
|
||||
|
||||
private String changeExamApply(ExamApply examApply) {
|
||||
String textContent = null;
|
||||
|
||||
Integer count = examApplyService.countExamApply(examApply.getApplyId());
|
||||
// 如果 id存在 说明已经存了 就不能再存了
|
||||
if (count > 0) {
|
||||
if (Objects.equals(examApply.getResult(), "delete")) {
|
||||
if (!examApplyService.updateExamApplyIsValid(examApply.getApplyId())) {
|
||||
textContent = "检查申请单删除失败了";
|
||||
}
|
||||
} else {
|
||||
textContent = "已经存在申请单了";
|
||||
}
|
||||
} else {
|
||||
if (Objects.equals(examApply.getResult(), "new")) {
|
||||
// 转换
|
||||
if (examApply.getReportType() != null) {
|
||||
switch (examApply.getReportType()) {
|
||||
case "病理":
|
||||
examApply.setReportType(AliasName.PATHOLOGY_REPORT);
|
||||
break;
|
||||
case "超声":
|
||||
examApply.setReportType(AliasName.ULTRASONIC_REPORT);
|
||||
break;
|
||||
case "心电":
|
||||
examApply.setReportType(AliasName.EKG_REPORT);
|
||||
break;
|
||||
case "放射":
|
||||
examApply.setReportType(AliasName.RADIATION_REPORT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
examApplyService.save(examApply);
|
||||
} else {
|
||||
textContent = "该申请单不存在:" + examApply.getApplyId();
|
||||
}
|
||||
}
|
||||
return textContent;
|
||||
}
|
||||
|
||||
private String changeApply(ExamApply examApply) {
|
||||
String textContent = null;
|
||||
ExamApply examApplyTemp = examApplyService.findExamApply(examApply.getApplyId());
|
||||
if(examApplyTemp != null){
|
||||
if (Objects.equals(examApply.getResult(), "delete")) {
|
||||
if (!examApplyService.updateExamApplyIsValid(examApply.getApplyId())) {
|
||||
textContent = "申请单删除失败了";
|
||||
}
|
||||
}else if (Objects.equals(examApply.getIsOpen(), "F")) {
|
||||
examApplyTemp.setIsValid(1);
|
||||
examApplyTemp.setIsOpen("F");
|
||||
examApplyService.save(examApplyTemp);
|
||||
}else {
|
||||
textContent = "该申请单已存在";
|
||||
}
|
||||
}else{
|
||||
if (Objects.equals(examApply.getResult(), "new")) {
|
||||
if (examApply.getReportType() != null) {
|
||||
switch (examApply.getReportType()) {
|
||||
case "病理":
|
||||
examApply.setReportType(AliasName.PATHOLOGY_REPORT);
|
||||
break;
|
||||
case "超声":
|
||||
examApply.setReportType(AliasName.ULTRASONIC_REPORT);
|
||||
break;
|
||||
case "心电":
|
||||
examApply.setReportType(AliasName.EKG_REPORT);
|
||||
break;
|
||||
case "放射":
|
||||
examApply.setReportType(AliasName.RADIATION_REPORT);
|
||||
break;
|
||||
default:
|
||||
examApply.setReportType(AliasName.INSPECTION_REPORT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
examApplyService.save(examApply);
|
||||
} else {
|
||||
textContent = "该申请单不存在";
|
||||
}
|
||||
}
|
||||
return textContent;
|
||||
}
|
||||
|
||||
public static String getReturnResult(boolean resultCode) throws Exception{
|
||||
OutPara outPara = new OutPara();
|
||||
if (!resultCode) {
|
||||
outPara.setRESULT_CODE(false);
|
||||
outPara.setRESULT_CONTENT("失败");
|
||||
} else {
|
||||
outPara.setRESULT_CODE(true);
|
||||
outPara.setRESULT_CONTENT("成功");
|
||||
}
|
||||
return XMLUtils.generateXmlStr(outPara);
|
||||
}
|
||||
|
||||
|
||||
public void delete() {
|
||||
try {
|
||||
String type = "", patientMainStr = "", json = "";
|
||||
MessageDto messageDto = null;
|
||||
System.out.println("我开始查询数据了。。。。");
|
||||
List<MessageLog> messageLogs = messageService.findAllMessage();
|
||||
for (MessageLog messageLog : messageLogs) {
|
||||
MedicalRecordHomepage medicalRecordHomepage = XMLUtils.xmlStrToObject1(messageLog.getInputContent(), MedicalRecordHomepage.class);
|
||||
if (medicalRecordHomepage != null) {
|
||||
MedicalRecordHomepageCache medicalRecordHomepageCache = medicalRecordHomepageCacheService.handleMedicalRecordHomepageCache(medicalRecordHomepage);
|
||||
if (medicalRecordHomepageCache != null) {
|
||||
if (medicalRecordHomepageCacheService.save(medicalRecordHomepageCache)) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/4 10:05
|
||||
*/
|
||||
public interface ArchiveDetailService {
|
||||
|
||||
public String updateFlag(String applyId);
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.ArchiveMaster;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/7/11 20:53
|
||||
*/
|
||||
public interface ArchiveMasterService {
|
||||
|
||||
public void save(ArchiveMaster archiveMaster);
|
||||
|
||||
public String findArchiveMasterId(String patientId, String visitId, String inpNo);
|
||||
|
||||
// 修改患者入院状态
|
||||
public boolean updateArchiveMasterValid(String archiveMasterId);
|
||||
|
||||
// 转科
|
||||
public boolean transferDepartment(ArchiveMaster archiveMaster);
|
||||
|
||||
// 出院
|
||||
public void discharge(ArchiveMaster archiveMaster);
|
||||
|
||||
public ArchiveMaster findByInpNoAndVisitIdAndIsValid(String inpNo, String visitId) throws Exception;
|
||||
|
||||
public ArchiveMaster findByPatientIdAndVisitIdAndIsValid(String inpNo, String visitId) throws Exception;
|
||||
|
||||
// 病案首页定时器,查询所有归档
|
||||
public List<ArchiveMaster> findAllArchiveMaster();
|
||||
|
||||
boolean updateCheckedDatetime(String id);
|
||||
|
||||
// 2020-5-11 更新患者信息
|
||||
boolean updateArchiveMaster(ArchiveMaster archiveMaster);
|
||||
|
||||
//20200609 同步死亡医嘱
|
||||
boolean updateArchiveMasterByDeathFlag(ArchiveMaster archiveMaster);
|
||||
|
||||
//20200609 同步管床医师
|
||||
boolean updateArchiveMasterBydoctorInCharge(ArchiveMaster archiveMaster);
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.Department;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/7/16 9:56
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
public interface DepartmentService {
|
||||
|
||||
public void save(Department department);
|
||||
|
||||
public void delete(Department department);
|
||||
|
||||
public Department findDepartment(String user_dept);
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.EMRDictionary;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/21 16:08
|
||||
*/
|
||||
public interface EMRDictionaryService {
|
||||
|
||||
public void save(EMRDictionary emrDictionary);
|
||||
|
||||
public void delete(EMRDictionary emrDictionary);
|
||||
|
||||
public EMRDictionary findEMRDictionary(String code);
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.ExamApply;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/22 16:20
|
||||
*/
|
||||
public interface ExamApplyService {
|
||||
|
||||
public void save(ExamApply examApply);
|
||||
|
||||
/* public boolean updateExamApplyIsValidById(String id);*/
|
||||
|
||||
//public String findId(String applyId,String inpNo,String visitId,String patientId);
|
||||
|
||||
public ExamApply findExamApply(String applyId);
|
||||
|
||||
Integer countExamApply(String applyId);
|
||||
|
||||
boolean updateExamApplyIsValid(String applyId);
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.MedicalRecordHomepage;
|
||||
import com.ann.demo.entity.normalEntity.MedicalRecordHomepageCache;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/26 9:26
|
||||
*/
|
||||
public interface MedicalRecordHomepageCacheService {
|
||||
|
||||
public boolean save(String masterId) throws Exception;
|
||||
|
||||
public boolean save(MedicalRecordHomepageCache m) throws Exception;
|
||||
|
||||
void delete(String masterId) throws Exception;
|
||||
|
||||
public MedicalRecordHomepageCache handleMedicalRecordHomepageCache(MedicalRecordHomepage medicalRecordHomepage) throws Exception;
|
||||
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.MedicalRecordHomepage;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 15:46
|
||||
*/
|
||||
public interface MedicalRecordHomepageService {
|
||||
|
||||
|
||||
public boolean save(MedicalRecordHomepage medicalRecordHomepage);
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.MessageLog;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/7/9 10:24
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
public interface MessageService {
|
||||
|
||||
public void save(MessageLog log);
|
||||
|
||||
public Integer countByInputContentAndInterfaceName(String xmlStr, String hipMessageServer);
|
||||
|
||||
// 2019-10-11 查询所有9月15解析成功的数据
|
||||
List<MessageLog> findAllMessage();
|
||||
|
||||
//2020-3-20 获取患者信息id
|
||||
String getArchiveMasterId(String inpNo, String visitId);
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.ann.demo.entity.filing.MessageSubordinate;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/7/9 16:43
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
public interface MessageSubordinateService {
|
||||
|
||||
public void save(MessageSubordinate messageSubordinate) throws Exception;
|
||||
|
||||
public boolean countByPatientMainAndContentJson(String patientMainStr, String contentJson) throws Exception;
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.ArchiveMaster;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/26 9:52
|
||||
*/
|
||||
@Service
|
||||
public class TimerService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(TimerService.class);
|
||||
|
||||
@Autowired
|
||||
private MedicalRecordHomepageCacheService medicalRecordHomepageCacheService;
|
||||
|
||||
@Autowired
|
||||
private ArchiveMasterService archiveMasterService;
|
||||
|
||||
public void doSomethingByMedicalRecordHomepageCache() {
|
||||
try {
|
||||
List<ArchiveMaster> allArchiveMaster = archiveMasterService.findAllArchiveMaster();
|
||||
if (allArchiveMaster.size() > 0) {
|
||||
for (ArchiveMaster archiveMaster : allArchiveMaster) {
|
||||
// 新增病案首页
|
||||
if (medicalRecordHomepageCacheService.save(archiveMaster.getId())) {
|
||||
// 清空master 当前已归档信息
|
||||
if (archiveMasterService.updateCheckedDatetime(archiveMaster.getId())) {
|
||||
//删除病案首页缓存信息
|
||||
medicalRecordHomepageCacheService.delete(archiveMaster.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
logger.error("出错咯!错误信息为{},以及错误行数为:{}" ,e,e.getStackTrace()[0]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.ann.demo.service;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.User;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/7/16 9:56
|
||||
* @Created by ljx
|
||||
*/
|
||||
|
||||
public interface UserService {
|
||||
|
||||
public void save(User user);
|
||||
|
||||
public void delete(User user);
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.ann.demo.repository.ArchiveDetailRepository;
|
||||
import com.ann.demo.repository.ArchiveMasterRepository;
|
||||
import com.ann.demo.service.ArchiveDetailService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/4 10:05
|
||||
*/
|
||||
@Service
|
||||
public class ArchiveDetailServiceImpl implements ArchiveDetailService {
|
||||
|
||||
@Autowired
|
||||
ArchiveDetailRepository archiveDetailRepository;
|
||||
|
||||
@Autowired
|
||||
ArchiveMasterRepository archiveMasterRepository;
|
||||
|
||||
|
||||
@Override
|
||||
public String updateFlag(String applyId) {
|
||||
// 如果为null 说明新增 如果不为空 那么 更改删除都是作废
|
||||
String id = archiveDetailRepository.findIdByApplyId(applyId);
|
||||
if (id != null) {
|
||||
Integer result = archiveDetailRepository.updateFlag(id);
|
||||
if (result > 1) {
|
||||
return null;
|
||||
} else {
|
||||
return "病历清单更新/删除失败。。。";
|
||||
}
|
||||
} else {
|
||||
return "applyId不存在。。。。";
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,143 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.ArchiveMaster;
|
||||
import com.ann.demo.repository.ArchiveMasterRepository;
|
||||
import com.ann.demo.service.ArchiveMasterService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/7/11 20:53
|
||||
*/
|
||||
@Service
|
||||
public class ArchiveMasterServiceImpl implements ArchiveMasterService {
|
||||
|
||||
@Autowired
|
||||
private ArchiveMasterRepository archiveMasterRepository;
|
||||
|
||||
@Override
|
||||
public void save(ArchiveMaster archiveMaster) {
|
||||
if (archiveMaster.getSex() != null) {
|
||||
String sex = archiveMaster.getSex();
|
||||
switch (sex) {
|
||||
case "1":
|
||||
sex = "男";
|
||||
break;
|
||||
case "2":
|
||||
sex = "女";
|
||||
break;
|
||||
case "9":
|
||||
sex = "未说明";
|
||||
break;
|
||||
case "0":
|
||||
sex = "未知";
|
||||
break;
|
||||
}
|
||||
archiveMaster.setSex(sex);
|
||||
}
|
||||
archiveMasterRepository.save(archiveMaster);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String findArchiveMasterId(String patientId, String visitId, String inpNo) {
|
||||
return archiveMasterRepository.findArchiveMasterId(patientId, visitId, inpNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateArchiveMasterValid(String archiveMasterId) {
|
||||
if(archiveMasterRepository.updateArchiveMasterValid(archiveMasterId) > 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean transferDepartment(ArchiveMaster archiveMaster) {
|
||||
// 20200426 因为之前考虑不周,没有考虑到转科会存在多次
|
||||
String transferDept = archiveMasterRepository.findTransferDept(archiveMaster.getId());
|
||||
if(transferDept != null){
|
||||
transferDept = transferDept+","+archiveMaster.getTransferDept();
|
||||
}else{
|
||||
transferDept = archiveMaster.getTransferDept();
|
||||
}
|
||||
if(archiveMasterRepository.transferDepartment(archiveMaster.getId(), transferDept) > 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void discharge(ArchiveMaster archiveMaster) {
|
||||
ArchiveMaster master = archiveMasterRepository.findByIdAndIsValid(archiveMaster.getId(), 0);
|
||||
if (master != null) {
|
||||
master.setDeptName(archiveMaster.getDeptName());
|
||||
master.setDischargeDateTime(archiveMaster.getDischargeDateTime());
|
||||
if(master.getArchiveState().equals("在院")){
|
||||
master.setArchiveState("归档中");
|
||||
}
|
||||
archiveMasterRepository.save(master);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArchiveMaster findByInpNoAndVisitIdAndIsValid(String inpNo, String visitId) throws Exception {
|
||||
return archiveMasterRepository.findByInpNoAndVisitIdAndIsValid(inpNo, visitId, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArchiveMaster findByPatientIdAndVisitIdAndIsValid(String patientId, String visitId) throws Exception {
|
||||
return archiveMasterRepository.findByPatientIdAndVisitIdAndIsValid(patientId, visitId, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ArchiveMaster> findAllArchiveMaster() {
|
||||
return archiveMasterRepository.findAllArchiveMaster();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateCheckedDatetime(String id) {
|
||||
if (archiveMasterRepository.updateCheckedDatetime(id) > 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateArchiveMaster(ArchiveMaster archiveMaster) {
|
||||
String sex = archiveMaster.getSex();
|
||||
if (archiveMaster.getSex() != null && archiveMaster.getName() != null ) {
|
||||
switch (sex) {
|
||||
case "1":
|
||||
sex = "男";
|
||||
break;
|
||||
case "2":
|
||||
sex = "女";
|
||||
break;
|
||||
case "0":
|
||||
sex = "未知";
|
||||
break;
|
||||
case "9":
|
||||
sex = "未说明";
|
||||
break;
|
||||
}
|
||||
if (archiveMasterRepository.updateArchiveMaster(archiveMaster.getId(),sex,archiveMaster.getName()) > 0){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateArchiveMasterByDeathFlag(ArchiveMaster archiveMaster) {
|
||||
if (archiveMasterRepository.updateDeathFlag(archiveMaster.getId(),archiveMaster.getDeathFlag()) > 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateArchiveMasterBydoctorInCharge(ArchiveMaster archiveMaster) {
|
||||
if (archiveMasterRepository.updateDoctorInCharge(archiveMaster.getId(),archiveMaster.getDoctorInCharge()) > 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.Department;
|
||||
import com.ann.demo.repository.DepartmentRepository;
|
||||
import com.ann.demo.service.DepartmentService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/7/9 16:43
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Service
|
||||
public class DepartmentServiceImpl implements DepartmentService {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(DepartmentServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
DepartmentRepository departmentRepository;
|
||||
|
||||
@Override
|
||||
public void save(Department department) {
|
||||
//打日志信息
|
||||
try {
|
||||
departmentRepository.save(department);
|
||||
} catch (Exception e) {
|
||||
logger.error("出错咯!错误信息:" + e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(Department department) {
|
||||
//打日志信息
|
||||
try {
|
||||
departmentRepository.delete(department);
|
||||
} catch (Exception e) {
|
||||
logger.error("出错咯!错误信息:" + e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Department findDepartment(String user_dept) {
|
||||
// ------------------确认 isValid 0是正常 1是停用
|
||||
return departmentRepository.findDepartmentByDeptCodeAndIsValid(user_dept, 0);
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.EMRDictionary;
|
||||
import com.ann.demo.repository.EMRDictionaryRepository;
|
||||
import com.ann.demo.service.EMRDictionaryService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/21 16:08
|
||||
*/
|
||||
@Service
|
||||
public class EMRDictionaryServiceImpl implements EMRDictionaryService {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(EMRDictionaryServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
EMRDictionaryRepository emrDictionaryRepository;
|
||||
|
||||
@Override
|
||||
public void save(EMRDictionary emrDictionary) {
|
||||
//打日志信息
|
||||
try {
|
||||
emrDictionaryRepository.save(emrDictionary);
|
||||
} catch (Exception e) {
|
||||
logger.error("出错咯!错误信息:" + e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(EMRDictionary emrDictionary) {
|
||||
//打日志信息
|
||||
try {
|
||||
emrDictionaryRepository.delete(emrDictionary);
|
||||
} catch (Exception e) {
|
||||
logger.error("出错咯!错误信息:" + e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public EMRDictionary findEMRDictionary(String code) {
|
||||
// ------------------确认 isValid 0是正常 1是停用
|
||||
return emrDictionaryRepository.findEMRDictionaryByCodeAndIsValid(code, 0);
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.ExamApply;
|
||||
import com.ann.demo.repository.ExamApplyRepository;
|
||||
import com.ann.demo.service.ExamApplyService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/22 16:20
|
||||
*/
|
||||
@Service
|
||||
public class ExamApplyServiceImpl implements ExamApplyService {
|
||||
|
||||
@Autowired
|
||||
ExamApplyRepository examApplyRepository;
|
||||
|
||||
@Override
|
||||
public void save(ExamApply examApply) {
|
||||
examApplyRepository.save(examApply);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExamApply findExamApply(String applyId) {
|
||||
return examApplyRepository.findByApplyId(applyId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countExamApply(String applyId) {
|
||||
return examApplyRepository.countExamApply(applyId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateExamApplyIsValid(String applyId) {
|
||||
if (examApplyRepository.updateExamApplyIsValidById(applyId) > 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
@ -0,0 +1,156 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ann.demo.entity.interfaceEntity.ArchiveMaster;
|
||||
import com.ann.demo.entity.normalEntity.*;
|
||||
import com.ann.demo.repository.MedicalRecordHomepageCacheRepository;
|
||||
import com.ann.demo.service.ArchiveMasterService;
|
||||
import com.ann.demo.service.MedicalRecordHomepageCacheService;
|
||||
import com.ann.demo.service.MedicalRecordHomepageService;
|
||||
import com.ann.demo.utils.PinYinUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**l
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/9/26 9:27
|
||||
*/
|
||||
@Service
|
||||
public class MedicalRecordHomepageCacheServiceImpl implements MedicalRecordHomepageCacheService {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(MedicalRecordHomepageCacheServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
MedicalRecordHomepageCacheRepository medicalRecordHomepageCacheRepository;
|
||||
|
||||
@Autowired
|
||||
MedicalRecordHomepageService medicalRecordHomepageService;
|
||||
|
||||
@Autowired
|
||||
ArchiveMasterService archiveMasterService;
|
||||
|
||||
|
||||
@Override
|
||||
public boolean save(String masterId) throws Exception{
|
||||
MedicalRecordHomepageCache medicalRecordHomepageCache = medicalRecordHomepageCacheRepository.findByMasterId(masterId);
|
||||
if (medicalRecordHomepageCache != null) {
|
||||
MedicalRecordHomepage m = JSON.parseObject(medicalRecordHomepageCache.getContent(), MedicalRecordHomepage.class);
|
||||
if (medicalRecordHomepageService.save(m)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean save(MedicalRecordHomepageCache medicalRecordHomepageCache) throws Exception{
|
||||
try {
|
||||
MedicalRecordHomepageCache mrh = medicalRecordHomepageCacheRepository.findByMasterId(medicalRecordHomepageCache.getMasterId());
|
||||
if (mrh != null) {
|
||||
medicalRecordHomepageCache.setRemark("已更新");
|
||||
}
|
||||
medicalRecordHomepageCacheRepository.save(medicalRecordHomepageCache);
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void delete(String masterId) throws Exception{
|
||||
medicalRecordHomepageCacheRepository.updateIsValid(masterId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MedicalRecordHomepageCache handleMedicalRecordHomepageCache(MedicalRecordHomepage medicalRecordHomepage) throws Exception{
|
||||
// 查询主键 姓名简写 是否手术 是否过敏药物
|
||||
String masterId = null;
|
||||
MedicalRecordHomepageCache medicalRecordHomepageCache = null;
|
||||
CommonTable commonTable = medicalRecordHomepage.getCommonTable();
|
||||
if (commonTable != null) {
|
||||
if (commonTable.getYZY002() != null && commonTable.getYZY001() != null) {
|
||||
ArchiveMaster archiveMaster = archiveMasterService.findByPatientIdAndVisitIdAndIsValid(commonTable.getYZY001(), commonTable.getYZY002());
|
||||
if (archiveMaster != null) {
|
||||
masterId = archiveMaster.getId();
|
||||
if (masterId != null) {
|
||||
List<OperDetail> operDetails = medicalRecordHomepage.getOperDetails();
|
||||
List<DiagDetail> diagDetails = medicalRecordHomepage.getDiagDetails();
|
||||
CommonTable1 commonTable1 = medicalRecordHomepage.getCommonTable1();
|
||||
|
||||
if (commonTable1 != null) {
|
||||
// 处理公共表
|
||||
commonTable.setMasterId(masterId);
|
||||
// 将 患者id 赋值给 病案号
|
||||
commonTable.setInpatient_no(commonTable.getYZY001());
|
||||
if (operDetails != null) {
|
||||
if (operDetails.size() > 0) {
|
||||
commonTable.setIsOper("有");
|
||||
} else {
|
||||
commonTable.setIsOper("没有");
|
||||
}
|
||||
} else {
|
||||
commonTable.setIsOper("没有");
|
||||
}
|
||||
if (commonTable.getAAC003() != null) {
|
||||
commonTable.setNameCym(PinYinUtils.getPingYin(commonTable.getAAC003()));
|
||||
}
|
||||
String akc023 = commonTable.getAKC023();
|
||||
if (akc023 != null) {
|
||||
if (akc023.indexOf("岁") != -1) {
|
||||
commonTable.setAge(Integer.parseInt(akc023.substring(0, akc023.indexOf("岁"))));
|
||||
} else if (akc023.indexOf("月") != -1 && akc023.indexOf("岁") == -1) {
|
||||
commonTable.setAge_month(Integer.parseInt(akc023.substring(0, akc023.indexOf("月"))));
|
||||
} else if (akc023.indexOf("天") != -1 && akc023.indexOf("岁") == -1 && akc023.indexOf("月") == -1) {
|
||||
commonTable.setAge_day(Integer.parseInt(akc023.substring(0, akc023.indexOf("天"))));
|
||||
}
|
||||
}
|
||||
|
||||
// 处理公共表1
|
||||
if (commonTable1.getYZY046() != null) {
|
||||
commonTable1.setIs_medicine("是");
|
||||
} else {
|
||||
commonTable1.setIs_medicine("否");
|
||||
}
|
||||
commonTable1.setMasterId(masterId);
|
||||
|
||||
|
||||
// 保存手术表
|
||||
if (operDetails != null) {
|
||||
for (OperDetail operDetail : operDetails) {
|
||||
operDetail.setMasterId(masterId);
|
||||
}
|
||||
}
|
||||
// 诊断表
|
||||
if (diagDetails != null) {
|
||||
for (DiagDetail diagDetail : diagDetails) {
|
||||
diagDetail.setMasterId(masterId);
|
||||
// 20200528 取出院诊断的主要诊断
|
||||
if(Objects.equals(diagDetail.getYZY203(),"3") && Objects.equals(diagDetail.getYZY201(),1) ){
|
||||
medicalRecordHomepage.getOtherData().setMainDiagCode(diagDetail.getAKC196());
|
||||
commonTable.setMainDiagName(diagDetail.getAKC185());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
medicalRecordHomepage.setCommonTable(commonTable);
|
||||
medicalRecordHomepage.setCommonTable1(commonTable1);
|
||||
medicalRecordHomepage.setDiagDetails(diagDetails);
|
||||
medicalRecordHomepage.setOperDetails(operDetails);
|
||||
|
||||
medicalRecordHomepageCache = new MedicalRecordHomepageCache(masterId, JSON.toJSONString(medicalRecordHomepage));
|
||||
return medicalRecordHomepageCache;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.*;
|
||||
import com.ann.demo.repository.*;
|
||||
import com.ann.demo.service.MedicalRecordHomepageService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/6 15:46
|
||||
*/
|
||||
@Service
|
||||
public class MedicalRecordHomepageServiceImpl implements MedicalRecordHomepageService {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(MedicalRecordHomepageServiceImpl.class);
|
||||
|
||||
|
||||
@Autowired
|
||||
DiagDetailRepository diagDetailRepository;
|
||||
|
||||
@Autowired
|
||||
CommonTable1Repository commonTable1Repository;
|
||||
|
||||
@Autowired
|
||||
CommonTableRepository commonTableRepository;
|
||||
|
||||
@Autowired
|
||||
OperDetailRepository operDetailRepository;
|
||||
|
||||
@Autowired
|
||||
ArchiveMasterRepository archiveMasterRepository;
|
||||
|
||||
public boolean save(MedicalRecordHomepage medicalRecordHomepage) {
|
||||
// 查询主键 姓名简写 是否手术 是否过敏药物
|
||||
String masterId = medicalRecordHomepage.getCommonTable().getMasterId();
|
||||
try {
|
||||
List<OperDetail> operDetails = medicalRecordHomepage.getOperDetails();
|
||||
List<DiagDetail> diagDetails = medicalRecordHomepage.getDiagDetails();
|
||||
// 保存手术表
|
||||
if (operDetails != null) {
|
||||
for (OperDetail operDetail : operDetails) {
|
||||
operDetail.setMasterId(masterId);
|
||||
operDetailRepository.save(operDetail);
|
||||
}
|
||||
}
|
||||
// 诊断表
|
||||
if (diagDetails != null) {
|
||||
for (DiagDetail diagDetail : diagDetails) {
|
||||
diagDetail.setMasterId(masterId);
|
||||
diagDetailRepository.save(diagDetail);
|
||||
}
|
||||
}
|
||||
// 保存公共表
|
||||
commonTableRepository.save(medicalRecordHomepage.getCommonTable());
|
||||
// 保存公共表 1
|
||||
commonTable1Repository.save(medicalRecordHomepage.getCommonTable1());
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
logger.error("保存病案首页出错咯!错误信息:" + e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.ann.demo.entity.interfaceEntity.MessageLog;
|
||||
import com.ann.demo.repository.MessageRepository;
|
||||
import com.ann.demo.service.MessageService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/7/9 10:24
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Service
|
||||
public class MessageServiceImpl implements MessageService {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(MessageServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
MessageRepository messageRepository;
|
||||
|
||||
@Override
|
||||
public void save(MessageLog log) {
|
||||
//打日志信息
|
||||
try {
|
||||
messageRepository.save(log);
|
||||
//-------------------------打出来的日志 需改善
|
||||
} catch (Exception e) {
|
||||
logger.error("出错咯!保存消息内容错误信息:" + e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countByInputContentAndInterfaceName(String xmlStr, String hipMessageServer) {
|
||||
return messageRepository.countByInputContentAndInterfaceName(xmlStr, hipMessageServer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MessageLog> findAllMessage() {
|
||||
List<MessageLog> allHaha = messageRepository.findAllHaha();
|
||||
System.out.println(allHaha.size());
|
||||
return allHaha;
|
||||
}
|
||||
|
||||
|
||||
public String getArchiveMasterId(String inpNo,String visitId) {
|
||||
return messageRepository.getArchiveMasterId(inpNo, visitId);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.ann.demo.entity.filing.MessageSubordinate;
|
||||
import com.ann.demo.repository.MessageSubordinateRepository;
|
||||
import com.ann.demo.service.MessageSubordinateService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/7/9 16:43
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Service
|
||||
public class MessageSubordinateServiceImpl implements MessageSubordinateService {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(MessageSubordinateServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
MessageSubordinateRepository subordinateRepository;
|
||||
|
||||
@Override
|
||||
public void save(MessageSubordinate messageSubordinate) throws Exception{
|
||||
subordinateRepository.save(messageSubordinate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean countByPatientMainAndContentJson(String patientMainStr, String contentJson) throws Exception {
|
||||
if (patientMainStr != null && contentJson != null) {
|
||||
if (subordinateRepository.countByPatientMainAndContentJson(patientMainStr, contentJson) > 0)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package com.ann.demo.service.impl;
|
||||
|
||||
import com.ann.demo.entity.normalEntity.EMRDictionary;
|
||||
import com.ann.demo.entity.normalEntity.User;
|
||||
import com.ann.demo.repository.UserRepository;
|
||||
import com.ann.demo.service.UserService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/7/9 16:43
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Service
|
||||
public class UserServiceImpl implements UserService {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(UserServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
UserRepository userRepository;
|
||||
|
||||
@Autowired
|
||||
EMRDictionaryServiceImpl emrDictionaryService;
|
||||
|
||||
@Override
|
||||
public void save(User user) {
|
||||
//打日志信息
|
||||
try {
|
||||
// 获取科室 根据科室类型区分临床和非临床,临床的然后有资质的就是医生,没有资质的就是护士
|
||||
Integer roleId = 0;
|
||||
if (user.getUSER_DEPT() != null) {
|
||||
EMRDictionary emrDictionary = emrDictionaryService.findEMRDictionary(user.getUSER_DEPT());
|
||||
if (emrDictionary != null) {
|
||||
if (emrDictionary.getCLINIC_ATTR() == 0) {
|
||||
if (user.getEDUCATION_FLAG() == 0) { // 无资质 护士
|
||||
roleId = 1;
|
||||
} else { // 有资质 为 1 医生
|
||||
roleId = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
user.setUSER_TYPE(roleId);
|
||||
userRepository.save(user);
|
||||
} catch (Exception e) {
|
||||
logger.error("出错咯!错误信息:" + e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(User user) {
|
||||
//打日志信息
|
||||
try {
|
||||
userRepository.delete(user);
|
||||
} catch (Exception e) {
|
||||
logger.error("出错咯!错误信息:" + e);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
package com.ann.demo.utils;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.ParseException;
|
||||
import java.text.ParsePosition;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/6/24 10:51
|
||||
* @Created by ljx
|
||||
*/
|
||||
public class DateUtils {
|
||||
|
||||
|
||||
// 生成指定格式的时间
|
||||
public static String getDate() {
|
||||
//日期转换为字符串
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyyMMddhhmmss");
|
||||
return now.format(format);
|
||||
}
|
||||
|
||||
public static int getAge(Date birthDay) throws Exception {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
if (cal.before(birthDay)) { //出生日期晚于当前时间,无法计算
|
||||
throw new IllegalArgumentException(
|
||||
"The birthDay is before Now.It's unbelievable!");
|
||||
}
|
||||
int yearNow = cal.get(Calendar.YEAR); //当前年份
|
||||
int monthNow = cal.get(Calendar.MONTH); //当前月份
|
||||
int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); //当前日期
|
||||
cal.setTime(birthDay);
|
||||
int yearBirth = cal.get(Calendar.YEAR);
|
||||
int monthBirth = cal.get(Calendar.MONTH);
|
||||
int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
|
||||
int age = yearNow - yearBirth; //计算整岁数
|
||||
if (monthNow <= monthBirth) {
|
||||
if (monthNow == monthBirth) {
|
||||
if (dayOfMonthNow < dayOfMonthBirth) age--;//当前日期在生日之前,年龄减一
|
||||
} else {
|
||||
age--;//当前月份在生日之前,年龄减一
|
||||
|
||||
}
|
||||
}
|
||||
return age;
|
||||
}
|
||||
|
||||
public static Date parse(String strDate) throws ParseException {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("2019/6/29 0:00:00");
|
||||
return sdf.parse(strDate);
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
/* //LocalDate date1 = LocalDate.now();
|
||||
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd hh:mm:ss");
|
||||
String date = "2019/06/29 00:00:00";
|
||||
LocalDate date1 = LocalDate.parse(date,dateTimeFormatter);
|
||||
|
||||
LocalDate date2 = LocalDate.of(date1.getYear(), date1.getMonth(), date1.getDayOfMonth());
|
||||
int age = date2.until(date1).getDays();
|
||||
System.out.println("You're " + age + " years old.");*/
|
||||
File file = new File("C:/Users/ljx/Desktop/pdf/外3");
|
||||
File[] files = file.listFiles();
|
||||
|
||||
for (File file1 : files) {
|
||||
System.out.println(file1.getName());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将短时间格式字符串转换为时间 yyyy-MM-dd
|
||||
*
|
||||
* @param strDate
|
||||
* @return
|
||||
*/
|
||||
public static Date strToDate(String strDate) {
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
|
||||
ParsePosition pos = new ParsePosition(0);
|
||||
Date strtodate = formatter.parse(strDate, pos);
|
||||
return strtodate;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,135 @@
|
||||
package com.ann.demo.utils;
|
||||
|
||||
|
||||
import com.ann.demo.entity.normalEntity.MedicalRecordHomepage;
|
||||
import com.ann.demo.entity.normalEntity.OperDetail;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Field;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
* @Description 下载工具
|
||||
* @Date 2019/7/2 16:56
|
||||
* @Created by ljx
|
||||
*/
|
||||
public class DownloadUtils {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(DownloadUtils.class);
|
||||
|
||||
|
||||
/**
|
||||
* 从网络Url中下载文件
|
||||
*
|
||||
* @param urlStr
|
||||
* @param fileName
|
||||
* @param savePath
|
||||
* @throws IOException
|
||||
*/
|
||||
public static void downLoadByUrl(String urlStr, String fileName, String savePath) throws IOException {
|
||||
URL url = new URL(urlStr);
|
||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||
//设置超时间为5秒
|
||||
conn.setConnectTimeout(5 * 1000);
|
||||
//防止屏蔽程序抓取而返回403错误
|
||||
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
|
||||
//得到输入流
|
||||
InputStream inputStream = conn.getInputStream();
|
||||
//获取自己数组
|
||||
byte[] getData = readInputStream(inputStream);
|
||||
//文件保存位置
|
||||
File saveDir = new File(savePath);
|
||||
if (!saveDir.exists()) {
|
||||
saveDir.mkdir();
|
||||
}
|
||||
File file = new File(saveDir + File.separator + fileName);
|
||||
FileOutputStream fos = new FileOutputStream(file);
|
||||
fos.write(getData);
|
||||
if (fos != null) {
|
||||
fos.close();
|
||||
}
|
||||
if (inputStream != null) {
|
||||
inputStream.close();
|
||||
}
|
||||
System.out.println("info:" + url + " download success");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 从输入流中获取字节数组
|
||||
*
|
||||
* @param inputStream
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
public static byte[] readInputStream(InputStream inputStream) throws IOException {
|
||||
byte[] buffer = new byte[1024];
|
||||
int len = 0;
|
||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||
while ((len = inputStream.read(buffer)) != -1) {
|
||||
bos.write(buffer, 0, len);
|
||||
}
|
||||
bos.close();
|
||||
return bos.toByteArray();
|
||||
}
|
||||
|
||||
//从共享目录下载文件
|
||||
public static boolean cmdFile(String path, File imageFile) {
|
||||
boolean result = false;
|
||||
BufferedInputStream in = null;
|
||||
BufferedOutputStream out = null;
|
||||
try {
|
||||
Runtime.getRuntime().exec("net use \\10.6.0.74 his /user:his");
|
||||
in = new BufferedInputStream(new FileInputStream(path));
|
||||
out = new BufferedOutputStream(new FileOutputStream(imageFile));
|
||||
|
||||
byte[] buffer = new byte[1024];
|
||||
while (in.read(buffer) != -1) {
|
||||
out.write(buffer);
|
||||
buffer = new byte[1024];
|
||||
}
|
||||
out.flush();
|
||||
result = true;
|
||||
} catch (IOException e) {
|
||||
// FileUtils.deleteImageFile(imageFile);
|
||||
logger.error("出错咯!错误信息:" + e);
|
||||
} finally {
|
||||
try {
|
||||
if (out != null) {
|
||||
out.close();
|
||||
}
|
||||
if (in != null) {
|
||||
in.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// FileUtils.deleteImageFile(imageFile);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
/* // String file_path = "D:/images/2019/7/25/456.txt";
|
||||
// File file = new File(file_path);
|
||||
try {
|
||||
downLoadByUrl("http://localhost:8080/static/bootstrap/15abd8b4-794a-499a-ab03-abdf14cf331f.pdf","hahaha.pdf","D:/images/");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}*/
|
||||
|
||||
Field[] fields = MedicalRecordHomepage.class.getDeclaredFields();
|
||||
for (Field field : fields) {
|
||||
field.setAccessible(true);
|
||||
if (field.getGenericType().toString().equals(OperDetail.class.toString())) {
|
||||
System.out.println(field.getName());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,103 @@
|
||||
package com.ann.demo.utils;
|
||||
|
||||
import net.sourceforge.pinyin4j.PinyinHelper;
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
|
||||
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.io.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Iterator;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 转换拼音
|
||||
*
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/8/7 11:15
|
||||
*/
|
||||
@Component
|
||||
public class PinYinUtils {
|
||||
|
||||
// 拼音路径
|
||||
public static String path;
|
||||
@Value("${file.pinyinPath}")
|
||||
private String pathTemp;
|
||||
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
path = pathTemp;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将字符串中的中文转化为拼音,英文字符不变
|
||||
*
|
||||
* @param inputString 患者姓名
|
||||
* @return
|
||||
*/
|
||||
public static String getPingYin(String inputString) {
|
||||
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
|
||||
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
|
||||
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
|
||||
String output = "";
|
||||
try {
|
||||
if (inputString != null && inputString.length() > 0
|
||||
&& !"null".equals(inputString)) {
|
||||
String substring = diffPro(inputString);
|
||||
char[] input = substring.trim().toCharArray();
|
||||
for (int i = 0; i < input.length; i++) {
|
||||
if (Character.toString(input[i]).matches(
|
||||
"[\\u4E00-\\u9FA5]+")) {
|
||||
char temp = PinyinHelper.toHanyuPinyinStringArray(input[i], defaultFormat)[0].charAt(0);
|
||||
output += temp + "";
|
||||
} else {
|
||||
output += Character.toString(input[i]);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} catch (BadHanyuPinyinOutputFormatCombination e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
/**
|
||||
* 与pinyin.properties中多音字的姓名对比
|
||||
*
|
||||
* @param inputString 中文姓名
|
||||
* @return 百家姓的拼音读法
|
||||
*/
|
||||
private static String diffPro(String inputString) {
|
||||
Properties properties = new Properties();
|
||||
try {
|
||||
InputStream inputStream = new BufferedInputStream(new FileInputStream(new File(path)));
|
||||
properties.load(new InputStreamReader(inputStream, "utf-8"));
|
||||
|
||||
Set keyValue = properties.keySet();
|
||||
for (Iterator it = keyValue.iterator(); it.hasNext(); ) {
|
||||
String key = (String) it.next();
|
||||
|
||||
if (inputString.substring(0, key.length()).equals(key)) {
|
||||
String value = inputString.substring(key.length(), inputString.length());
|
||||
return properties.getProperty(key) + value;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return inputString;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(LocalDateTime.now());
|
||||
}
|
||||
}
|
@ -0,0 +1,124 @@
|
||||
package com.ann.demo.utils;
|
||||
|
||||
import com.ann.demo.entity.other.QuartzBean;
|
||||
import org.quartz.*;
|
||||
|
||||
/**
|
||||
* @Author: LeiJiaXin
|
||||
* @Date: 2019/7/13 16:53
|
||||
*/
|
||||
public class QuartzUtils {
|
||||
|
||||
/**
|
||||
* 创建定时任务 定时任务创建之后默认启动状态
|
||||
*
|
||||
* @param scheduler 调度器
|
||||
* @param quartzBean 定时任务信息类
|
||||
* @throws Exception
|
||||
*/
|
||||
public static void createScheduleJob(Scheduler scheduler, QuartzBean quartzBean) {
|
||||
try {
|
||||
//获取到定时任务的执行类 必须是类的绝对路径名称
|
||||
//定时任务类需要是job类的具体实现 QuartzJobBean是job的抽象类。
|
||||
Class<? extends Job> jobClass = (Class<? extends Job>) Class.forName(quartzBean.getJobClass());
|
||||
// 构建定时任务信息
|
||||
JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(quartzBean.getJobName()).build();
|
||||
// 设置定时任务执行方式
|
||||
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(quartzBean.getCronExpression());
|
||||
// 构建触发器trigger
|
||||
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(quartzBean.getJobName()).withSchedule(scheduleBuilder).build();
|
||||
scheduler.scheduleJob(jobDetail, trigger);
|
||||
} catch (ClassNotFoundException e) {
|
||||
System.out.println("定时任务类路径出错:请输入类的绝对路径");
|
||||
} catch (SchedulerException e) {
|
||||
System.out.println("创建定时任务出错:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据任务名称暂停定时任务
|
||||
*
|
||||
* @param scheduler 调度器
|
||||
* @param jobName 定时任务名称
|
||||
* @throws SchedulerException
|
||||
*/
|
||||
public static void pauseScheduleJob(Scheduler scheduler, String groupName, String jobName) {
|
||||
JobKey jobKey = JobKey.jobKey(jobName, groupName);
|
||||
try {
|
||||
scheduler.pauseJob(jobKey);
|
||||
} catch (SchedulerException e) {
|
||||
System.out.println("暂停定时任务出错:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据任务名称恢复定时任务
|
||||
*
|
||||
* @param scheduler 调度器
|
||||
* @param jobName 定时任务名称
|
||||
* @throws SchedulerException
|
||||
*/
|
||||
public static void resumeScheduleJob(Scheduler scheduler, String groupName, String jobName) {
|
||||
JobKey jobKey = JobKey.jobKey(jobName, groupName);
|
||||
try {
|
||||
scheduler.resumeJob(jobKey);
|
||||
} catch (SchedulerException e) {
|
||||
System.out.println("启动定时任务出错:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据任务名称立即运行一次定时任务
|
||||
*
|
||||
* @param scheduler 调度器
|
||||
* @param jobName 定时任务名称
|
||||
* @throws SchedulerException
|
||||
*/
|
||||
public static void runOnce(Scheduler scheduler, String jobName) {
|
||||
JobKey jobKey = JobKey.jobKey(jobName);
|
||||
try {
|
||||
scheduler.triggerJob(jobKey);
|
||||
} catch (SchedulerException e) {
|
||||
System.out.println("运行定时任务出错:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新定时任务
|
||||
*
|
||||
* @param scheduler 调度器
|
||||
* @param quartzBean 定时任务信息类
|
||||
* @throws SchedulerException
|
||||
*/
|
||||
public static void updateScheduleJob(Scheduler scheduler, QuartzBean quartzBean) {
|
||||
try {
|
||||
//获取到对应任务的触发器
|
||||
TriggerKey triggerKey = TriggerKey.triggerKey(quartzBean.getJobName());
|
||||
//设置定时任务执行方式
|
||||
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(quartzBean.getCronExpression());
|
||||
//重新构建任务的触发器trigger
|
||||
CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey);
|
||||
trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build();
|
||||
//重置对应的job
|
||||
scheduler.rescheduleJob(triggerKey, trigger);
|
||||
} catch (SchedulerException e) {
|
||||
System.out.println("更新定时任务出错:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据定时任务名称从调度器当中删除定时任务
|
||||
*
|
||||
* @param scheduler 调度器
|
||||
* @param jobName 定时任务名称
|
||||
* @throws SchedulerException
|
||||
*/
|
||||
public static void deleteScheduleJob(Scheduler scheduler, String jobName) {
|
||||
JobKey jobKey = JobKey.jobKey(jobName);
|
||||
try {
|
||||
scheduler.deleteJob(jobKey);
|
||||
} catch (SchedulerException e) {
|
||||
System.out.println("删除定时任务出错:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,503 @@
|
||||
package com.ann.demo.utils;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ann.demo.entity.constant.AliasName;
|
||||
import com.ann.demo.entity.constant.InterfaceName;
|
||||
import com.ann.demo.entity.filing.dto.MessageDto;
|
||||
import com.ann.demo.entity.interfaceEntity.*;
|
||||
import com.ann.demo.entity.normalEntity.*;
|
||||
import org.dom4j.*;
|
||||
import org.dom4j.io.SAXReader;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.xml.sax.SAXException;
|
||||
import org.xml.sax.helpers.XMLFilterImpl;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.beans.PropertyDescriptor;
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Type;
|
||||
import java.text.ParsePosition;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Date 2019/6/17 15:14
|
||||
* @Created by ljx
|
||||
*/
|
||||
@Component
|
||||
public class XMLUtils {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(XMLUtils.class);
|
||||
|
||||
private static final String DEFAULT_ENCODING = "UTF-8";
|
||||
|
||||
private static final Map<String, String> map;
|
||||
|
||||
static {
|
||||
map = new HashMap<String, String>();
|
||||
map.put("ns", "urn:hl7-org:v3");
|
||||
}
|
||||
|
||||
public static String path;
|
||||
@Value("${file.path}")
|
||||
private String pathTemp;
|
||||
|
||||
// 转科
|
||||
public static String transferRecordPath;
|
||||
@Value("${file.transferRecordPath}")
|
||||
private String transferRecordPathTemp;
|
||||
|
||||
// 出院
|
||||
public static String dischargeRecordPath;
|
||||
@Value("${file.dischargeRecordPath}")
|
||||
private String dischargeRecordPathTemp;
|
||||
|
||||
// 入院
|
||||
public static String admissionRecordPath;
|
||||
@Value("${file.admissionRecordPath}")
|
||||
private String admissionRecordPathTemp;
|
||||
|
||||
// 患者更新
|
||||
public static String patientUpdatePath;
|
||||
@Value("${file.patientUpdatePath}")
|
||||
private String patientUpdatePathTemp;
|
||||
|
||||
// 患者死亡医嘱同步
|
||||
public static String dieMedicalAdvicePath;
|
||||
@Value("${file.dieMedicalAdvicePath}")
|
||||
private String dieMedicalAdvicePathTemp;
|
||||
|
||||
// 患者主管医生同步
|
||||
public static String bedManagerPath;
|
||||
@Value("${file.bedManagerPath}")
|
||||
private String bedManagerPathTemp;
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
path = pathTemp;
|
||||
patientUpdatePath = patientUpdatePathTemp;
|
||||
dischargeRecordPath = dischargeRecordPathTemp;
|
||||
admissionRecordPath = admissionRecordPathTemp;
|
||||
transferRecordPath = transferRecordPathTemp;
|
||||
dieMedicalAdvicePath = dieMedicalAdvicePathTemp;
|
||||
bedManagerPath = bedManagerPathTemp;
|
||||
}
|
||||
|
||||
private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
|
||||
// 病案首页独享
|
||||
private static SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
|
||||
|
||||
/**
|
||||
* 生成普通xml字符串
|
||||
*/
|
||||
public static String generateXmlStr(OutPara outPara) throws Exception{
|
||||
Field[] fields = outPara.getClass().getDeclaredFields();
|
||||
// 创建XML
|
||||
Document document = DocumentHelper.createDocument();
|
||||
Element response = document.addElement("RESPONSE");
|
||||
for (Field field : fields) {
|
||||
field.setAccessible(true);
|
||||
response
|
||||
.addElement(field.getName())
|
||||
.addText(field.get(outPara).toString());
|
||||
}
|
||||
return document.getRootElement().asXML();
|
||||
}
|
||||
|
||||
/**
|
||||
* xml字符串转成对象
|
||||
*/
|
||||
public static <T> T xmlStrToObject(String xmlStr, Class<T> type) throws Exception{
|
||||
if (StringUtils.isEmpty(xmlStr)) {
|
||||
return null;
|
||||
}
|
||||
Document doc = null; // 将xml格式的字符串转换成Document对象
|
||||
T obj = null; // 创建 JavaBean 对象
|
||||
obj = type.newInstance();
|
||||
doc = DocumentHelper.parseText(xmlStr);
|
||||
// 获取根节点
|
||||
Element root = doc.getRootElement();
|
||||
// 获取根节点下的所有元素
|
||||
List children = root.elements();
|
||||
// 循环所有子元素
|
||||
if (children != null && children.size() > 0) {
|
||||
for (int i = 0; i < children.size(); i++) {
|
||||
Element child = (Element) children.get(i);
|
||||
Field[] fields = obj.getClass().getDeclaredFields();
|
||||
for (Field field : fields) {
|
||||
field.setAccessible(true);
|
||||
String fieldName = field.getName();
|
||||
if (fieldName.equals(child.getName())) {
|
||||
Type genericType = field.getGenericType();
|
||||
Object[] args = new Object[1];
|
||||
String value = child.getTextTrim();
|
||||
|
||||
// 赋值
|
||||
PropertyDescriptor descriptor = new PropertyDescriptor(fieldName, type);
|
||||
if (("java.lang.Integer").equals(genericType.getTypeName()) || genericType.getTypeName().equals("int")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
args[0] = Integer.parseInt(value + "");
|
||||
descriptor.getWriteMethod().invoke(obj, args);
|
||||
}
|
||||
} else if ((Date.class.getName()).equals(genericType.getTypeName())) {
|
||||
descriptor.getWriteMethod().invoke(obj, simpleDateFormat.parse(value, new ParsePosition(0)));
|
||||
} else if (("java.lang.Long").equalsIgnoreCase(genericType.getTypeName()) || genericType.getTypeName().equals("long")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
args[0] = Long.parseLong(value + "");
|
||||
descriptor.getWriteMethod().invoke(obj, args);
|
||||
}
|
||||
} else if (("java.lang.Boolean").equalsIgnoreCase(genericType.getTypeName()) || genericType.getTypeName().equals("boolean")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
args[0] = Boolean.valueOf(value + "");
|
||||
descriptor.getWriteMethod().invoke(obj, args);
|
||||
}
|
||||
} else if (("java.lang.Double").equalsIgnoreCase(genericType.getTypeName()) || genericType.getTypeName().equals("double")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
args[0] = Double.parseDouble(value + "");
|
||||
descriptor.getWriteMethod().invoke(obj, args);
|
||||
}
|
||||
} else if (("java.lang.Float").equalsIgnoreCase(genericType.getTypeName()) || genericType.getTypeName().equals("float")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
args[0] = Float.parseFloat(value + "");
|
||||
descriptor.getWriteMethod().invoke(obj, args);
|
||||
}
|
||||
} else {
|
||||
descriptor.getWriteMethod().invoke(obj, value);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改V3xml内容
|
||||
*/
|
||||
public static String generateV3XmlStr(String typeCodeValue, String textContent) throws Exception {
|
||||
SAXReader reader = new SAXReader();
|
||||
Document document = reader.read(path);
|
||||
Element root = document.getRootElement();
|
||||
|
||||
Element creationTime = root.element("creationTime");
|
||||
Attribute value = creationTime.attribute("value");
|
||||
value.setValue(new Date().toString());
|
||||
|
||||
Element acknowledgement = root.element("acknowledgement");
|
||||
Attribute typeCode = acknowledgement.attribute("typeCode");
|
||||
typeCode.setValue(typeCodeValue);
|
||||
|
||||
Element acknowledgementDetail = acknowledgement.element("acknowledgementDetail");
|
||||
Element text = acknowledgementDetail.element("text");
|
||||
text.setText(textContent);
|
||||
return document.getRootElement().asXML();
|
||||
}
|
||||
|
||||
//--------------------------------------------向外抛出异常
|
||||
public static MessageDto xpathToBean(String xmlStr, Class tClass, String source) throws Exception {
|
||||
MessageDto messageDto = null;
|
||||
Document doc = null;
|
||||
Object obj = null;
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
|
||||
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
|
||||
xmlStr = xmlStr.replaceAll("&", "&");
|
||||
SAXReader saxReader = new SAXReader();
|
||||
saxReader.setXMLFilter(new XMLFilterImpl() {
|
||||
@Override
|
||||
public void characters(char[] ch, int start, int length) throws SAXException {
|
||||
String text = new String(ch, start, length);
|
||||
if (length == 1) {
|
||||
if ((int) ch[0] == 160) {
|
||||
char[] escape = " ".toCharArray();
|
||||
super.characters(escape, 0, escape.length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
super.characters(ch, start, length);
|
||||
}
|
||||
});
|
||||
doc = saxReader.read(new ByteArrayInputStream(xmlStr.getBytes("UTF-8")), "UTF-8");
|
||||
if (tClass != null) {
|
||||
messageDto = getInstance(source);
|
||||
obj = tClass.newInstance();
|
||||
} else {
|
||||
// 是检查报告的接口
|
||||
String str = "/ns:ClinicalDocument/ns:component/ns:structuredBody/ns:component/ns:section/ns:entry/ns:observation/ns:code[@displayName='检查报告科室']/../ns:value/text()";
|
||||
//-----------------------存在一个错误 如果str找不到 就会向外抛出异常org.apache.cxf.interceptor.Fault: org/jaxen/JaxenException
|
||||
XPath x = doc.createXPath(str);
|
||||
x.setNamespaceURIs(map);
|
||||
|
||||
Node node = x.selectSingleNode(doc);
|
||||
if (node != null) {
|
||||
messageDto = getInstance(node.getText());
|
||||
if (messageDto != null) {
|
||||
obj = messageDto.getObject();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (obj != null && messageDto != null) {
|
||||
if (messageDto.getPropertiesPath() != null) {
|
||||
// 加载配置文件
|
||||
InputStream inputStream = new BufferedInputStream(new FileInputStream(new File(messageDto.getPropertiesPath())));
|
||||
Properties properties = new Properties();
|
||||
//加载格式化后的流
|
||||
properties.load(new InputStreamReader(inputStream, DEFAULT_ENCODING));
|
||||
|
||||
Enumeration<?> enumeration = properties.propertyNames();
|
||||
while (enumeration.hasMoreElements()) {
|
||||
String key = (String) enumeration.nextElement();
|
||||
String xpath = properties.getProperty(key);
|
||||
XPath x = doc.createXPath(xpath);
|
||||
x.setNamespaceURIs(map);
|
||||
// 根据properties的value获取xml的value
|
||||
String value = "";
|
||||
Node node = x.selectSingleNode(doc);
|
||||
if (node != null) {
|
||||
value = node.getText();
|
||||
}
|
||||
// 判断属性是否存在
|
||||
String objField = existsField(obj.getClass(), key);
|
||||
if (objField != null) {
|
||||
PropertyDescriptor descriptor = new PropertyDescriptor(key, obj.getClass());
|
||||
if (("class java.util.Date").equals(objField)) {
|
||||
if (value != null && value.length() > 0) {
|
||||
Date parse = simpleDateFormat.parse(value, new ParsePosition(0));
|
||||
descriptor.getWriteMethod().invoke(obj, parse);
|
||||
}
|
||||
} else {
|
||||
descriptor.getWriteMethod().invoke(obj, value);
|
||||
}
|
||||
}
|
||||
String messageField = existsField(messageDto.getClass(), key);
|
||||
if (messageField != null) {
|
||||
PropertyDescriptor propertyDescriptor = new PropertyDescriptor(key, messageDto.getClass());
|
||||
// 给messageDto赋值
|
||||
if (("class java.util.Date").equals(messageField)) {
|
||||
if (value != null && value.length() > 0) {
|
||||
Date parse = null;
|
||||
parse = simpleDateFormat.parse(value, new ParsePosition(0));
|
||||
if (parse == null) {
|
||||
parse = simpleDateFormat1.parse(value, new ParsePosition(0));
|
||||
}
|
||||
propertyDescriptor.getWriteMethod().invoke(messageDto, parse);
|
||||
}
|
||||
} else {
|
||||
propertyDescriptor.getWriteMethod().invoke(messageDto, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 将对象转成json
|
||||
messageDto.setObject(JSON.toJSONString(obj));
|
||||
return messageDto;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static MessageDto getInstance(String source) {
|
||||
MessageDto messageDto = null;
|
||||
// 根据source判断是哪个实体类
|
||||
switch (source) {
|
||||
case InterfaceName.PARAMETER_ADMISSION: //入院
|
||||
messageDto = new MessageDto(ArchiveMaster.class.getName(), new ArchiveMaster(), AliasName.ADMISSION_RECORD, admissionRecordPath, source);
|
||||
break;
|
||||
case InterfaceName.PARAMETER_DISCHARGE: // 出院
|
||||
messageDto = new MessageDto(ArchiveMaster.class.getName(), new ArchiveMaster(), AliasName.DISCHARGE_RECORD, dischargeRecordPath, InterfaceName.PARAMETER_ADMISSION);
|
||||
break;
|
||||
case InterfaceName.PARAMETER_CANCELLATION_DISCHARGE: // 取消入院
|
||||
messageDto = new MessageDto(ArchiveMaster.class.getName(), new ArchiveMaster(), AliasName.CANCELLATION_DISCHARGE, admissionRecordPath, source);
|
||||
break;
|
||||
case InterfaceName.PARAMETER_TRANSFER: // 转科
|
||||
messageDto = new MessageDto(ArchiveMaster.class.getName(), new ArchiveMaster(), AliasName.TRANSFER_RECORD, transferRecordPath, source);
|
||||
break;
|
||||
case InterfaceName.PARAMETER_PATIENT_UPDATE: // 患者更新
|
||||
messageDto = new MessageDto(ArchiveMaster.class.getName(), new ArchiveMaster(), AliasName.PATIENT_UPDATE, patientUpdatePath, source);
|
||||
break;
|
||||
case InterfaceName.BED_MANAGER: // 同步主管医生
|
||||
messageDto = new MessageDto(ArchiveMaster.class.getName(), new ArchiveMaster(), AliasName.BED_MANAGER, bedManagerPath, source);
|
||||
break;
|
||||
case InterfaceName.DIE_MEDICAL_ADVICE: // 同步死亡医嘱
|
||||
messageDto = new MessageDto(ArchiveMaster.class.getName(), new ArchiveMaster(), AliasName.DIE_MEDICAL_ADVICE, dieMedicalAdvicePath, source);
|
||||
break;
|
||||
}
|
||||
return messageDto;
|
||||
}
|
||||
|
||||
public static String existsField(Class clz, String fieldName) {
|
||||
try {
|
||||
Field declaredField = clz.getDeclaredField(fieldName);
|
||||
if (declaredField != null) {
|
||||
return declaredField.getGenericType().toString();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* xml字符串转成对象 有子节点的
|
||||
*/
|
||||
public static <T> T xmlStrToObject1(String xmlStr, Class<T> type) throws Exception{
|
||||
if (StringUtils.isEmpty(xmlStr)) {
|
||||
return null;
|
||||
}
|
||||
Document doc = null; // 将xml格式的字符串转换成Document对象
|
||||
T obj = null; // 创建 JavaBean 对象 最外层对象
|
||||
obj = type.newInstance();
|
||||
doc = DocumentHelper.parseText(xmlStr);
|
||||
// 获取根节点
|
||||
Element root = doc.getRootElement();
|
||||
// 获取根节点下的所有元素
|
||||
List<Element> zeroElements = root.elements(); // 所有的节点 OperDetails
|
||||
// 循环所有子元素
|
||||
if (zeroElements != null && zeroElements.size() > 0) {
|
||||
CommonTable commonTable = null;
|
||||
CommonTable1 commonTable1 = null;
|
||||
List<OperDetail> operDetails = null;
|
||||
List<DiagDetail> diagDetails = null;
|
||||
|
||||
//20200525 新增其他节点,用于校验
|
||||
OtherData otherData = null;
|
||||
if (Objects.equals(type.toString(), MedicalRecordHomepage.class.toString())) {
|
||||
commonTable = new CommonTable();
|
||||
commonTable1 = new CommonTable1();
|
||||
diagDetails = new ArrayList<>();
|
||||
operDetails = new ArrayList<>();
|
||||
otherData = new OtherData();
|
||||
}
|
||||
for (Element zeroElement : zeroElements) {
|
||||
// Element zeroElement = (Element) zeroElements.get(i);
|
||||
Field[] fields = obj.getClass().getDeclaredFields(); // MedicalRecordHomepage下的属性
|
||||
String value = zeroElement.getTextTrim();
|
||||
for (Field field : fields) {
|
||||
field.setAccessible(true);
|
||||
PropertyDescriptor descriptor = new PropertyDescriptor(field.getName(), type);
|
||||
Class aClass = field.getType();
|
||||
if (field.getName().toString().equals(zeroElement.getName()) && field.getName().equals("OperDetails")) {
|
||||
List<Element> elements = zeroElement.elements(); // 如果节点下面有子节点 OperDetail1 OperDetail2
|
||||
for (Element nextChild : elements) {
|
||||
List<Element> finalElements = nextChild.elements(); // 子节点下面还有子节点 YZY201
|
||||
OperDetail operDetail = new OperDetail();
|
||||
Field[] operDetailFields = operDetail.getClass().getDeclaredFields();
|
||||
for (Element finalElement : finalElements) {
|
||||
value = finalElement.getTextTrim();
|
||||
for (Field operDetailField : operDetailFields) {
|
||||
operDetailField.setAccessible(true);
|
||||
if (operDetailField.getName().equals(finalElement.getName())) {
|
||||
operDetail = evaluation(operDetail, operDetailField, OperDetail.class, value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
operDetails.add(operDetail);
|
||||
}
|
||||
// 给 MedicalRecordHomepage 属性 赋值
|
||||
descriptor.getWriteMethod().invoke(obj, operDetails);
|
||||
} else if (field.getName().toString().equals(zeroElement.getName()) && field.getName().equals("DiagDetails")) {
|
||||
List<Element> elements = zeroElement.elements(); // 如果节点下面有子节点 OperDetail1 OperDetail2
|
||||
for (Element nextChild : elements) {
|
||||
List<Element> finalElements = nextChild.elements(); // 子节点下面还有子节点 YZY201
|
||||
DiagDetail diagDetail = new DiagDetail();
|
||||
Field[] diagDetailFields = diagDetail.getClass().getDeclaredFields();
|
||||
for (Element finalElement : finalElements) {
|
||||
value = finalElement.getTextTrim();
|
||||
for (Field operDetailField : diagDetailFields) {
|
||||
operDetailField.setAccessible(true);
|
||||
if (operDetailField.getName().equals(finalElement.getName())) {
|
||||
diagDetail = evaluation(diagDetail, operDetailField, DiagDetail.class, value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
diagDetails.add(diagDetail);
|
||||
}
|
||||
// 给 MedicalRecordHomepage 属性 赋值
|
||||
descriptor.getWriteMethod().invoke(obj, diagDetails);
|
||||
} else {
|
||||
if (field.getGenericType().toString().equals(CommonTable.class.toString())) {
|
||||
Field[] commonTableFields = aClass.getDeclaredFields();
|
||||
for (Field commonTableField : commonTableFields) {
|
||||
commonTableField.setAccessible(true);
|
||||
if (commonTableField.getName().equals(zeroElement.getName())) {
|
||||
commonTable = evaluation(commonTable, commonTableField, aClass, value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
descriptor.getWriteMethod().invoke(obj, commonTable);
|
||||
} else if (field.getGenericType().toString().equals(CommonTable1.class.toString())) {
|
||||
Field[] commonTable1Fields = aClass.getDeclaredFields();
|
||||
for (Field commonTableField : commonTable1Fields) {
|
||||
commonTableField.setAccessible(true);
|
||||
if (commonTableField.getName().equals(zeroElement.getName())) {
|
||||
commonTable1 = evaluation(commonTable1, commonTableField, aClass, value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
descriptor.getWriteMethod().invoke(obj, commonTable1);
|
||||
}else if (field.getGenericType().toString().equals(OtherData.class.toString())) {
|
||||
Field[] commonTable1Fields = aClass.getDeclaredFields();
|
||||
for (Field otherDataField : commonTable1Fields) {
|
||||
otherDataField.setAccessible(true);
|
||||
if (otherDataField.getName().equals(zeroElement.getName())) {
|
||||
otherData = evaluation(otherData, otherDataField, aClass, value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
descriptor.getWriteMethod().invoke(obj, otherData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
||||
private static <T> T evaluation(T obj, Field field, Class<T> type, String value) throws Exception {
|
||||
// 赋值
|
||||
String fieldName = field.getName();
|
||||
Type genericType = field.getGenericType();
|
||||
|
||||
PropertyDescriptor descriptor = new PropertyDescriptor(fieldName, type);
|
||||
if (("java.lang.Integer").equals(genericType.getTypeName()) || genericType.getTypeName().equals("int")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
descriptor.getWriteMethod().invoke(obj, Integer.parseInt(value + ""));
|
||||
}
|
||||
} else if ((Date.class.getName()).equals(genericType.getTypeName())) {
|
||||
if (value != null && value.length() > 0) {
|
||||
Date parse = null;
|
||||
parse = simpleDateFormat.parse(value, new ParsePosition(0));
|
||||
if (parse == null) {
|
||||
parse = simpleDateFormat1.parse(value, new ParsePosition(0));
|
||||
}
|
||||
descriptor.getWriteMethod().invoke(obj, parse);
|
||||
}
|
||||
} else if (("java.lang.Long").equalsIgnoreCase(genericType.getTypeName()) || genericType.getTypeName().equals("long")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
descriptor.getWriteMethod().invoke(obj, Long.parseLong(value + ""));
|
||||
}
|
||||
} else if (("java.lang.Boolean").equalsIgnoreCase(genericType.getTypeName()) || genericType.getTypeName().equals("boolean")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
descriptor.getWriteMethod().invoke(obj, Boolean.valueOf(value + ""));
|
||||
}
|
||||
} else if (("java.lang.Double").equalsIgnoreCase(genericType.getTypeName()) || genericType.getTypeName().equals("double")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
descriptor.getWriteMethod().invoke(obj, Double.parseDouble(value + ""));
|
||||
}
|
||||
} else if (("java.lang.Float").equalsIgnoreCase(genericType.getTypeName()) || genericType.getTypeName().equals("float")) {
|
||||
if (value != null && value.length() > 0) {
|
||||
descriptor.getWriteMethod().invoke(obj, Float.parseFloat(value + ""));
|
||||
}
|
||||
} else {
|
||||
descriptor.getWriteMethod().invoke(obj, value);
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://localhost:3306/test
|
||||
# url: jdbc:mysql://10.6.1.127:3306/test
|
||||
username: root
|
||||
password: 123456
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
jpa:
|
||||
database: mysql
|
||||
show-sql: false
|
||||
hibernate:
|
||||
ddl-auto: update
|
||||
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
|
||||
# url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY
|
||||
# username: sa
|
||||
# password: docus@702
|
||||
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
# jpa:
|
||||
# database: sql_server
|
||||
# show-sql: false
|
||||
# hibernate:
|
||||
# dialect: org.hibernate.dialect.SQLServer2008Dialect
|
||||
hikari:
|
||||
#是否为只读数据库
|
||||
read-only: false
|
||||
# 等待连接池分配链接的最大时长
|
||||
connection-timeout: 60000
|
||||
# 一个链接idle状态最大时长
|
||||
idle-timeout: 60000
|
||||
validation-timeout: 3000
|
||||
# 一个链接最长的生命时长,超时没有被使用则被释放掉 简易比数据库超时时长少 30s
|
||||
max-lifetime: 70000
|
||||
login-timeout: 5
|
||||
# 连接池允许的最大连接数
|
||||
maximum-pool-size: 60
|
||||
# 连接池维护的最小空闲连接数
|
||||
minimum-idle: 10
|
||||
|
||||
thymeleaf:
|
||||
prefix: classpath:/templates/
|
||||
suffix: .html
|
||||
encoding: utf-8
|
||||
mode: HTML5
|
||||
cache: false
|
||||
file:
|
||||
path: D:\\1\MCCI_IN000002UV01.xml
|
||||
dischargeRecordPath: D:\\1\dischargeRecord.properties
|
||||
transferRecordPath: D:\\1\transferRecord.properties
|
||||
admissionRecordPath: D:\\1\admissionRecord.properties
|
||||
handNumbnessReportPath: D:\\1\handNumbnessReport.properties
|
||||
ICUReportPath: D:\\1\ICUReport.properties
|
||||
bloodApplyPath: D:\\1\bloodApply.properties
|
||||
patientUpdatePath: D:\\1\patientUpdate.properties
|
||||
pinyinPath: D:\\1\pinyin.properties
|
||||
dieMedicalAdvicePath: D:\\1\dieMedicalAdvice.properties
|
||||
bedManagerPath: D:\\1\bedManager.properties
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue