first commit

master
leijx 5 years ago
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&#9;" 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 HL7V3xml
* @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,62 @@
package com.ann.demo.entity.filing;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.util.Date;
/**
* @Description ArchiveMaster
* @Date 2019/7/9 10:07
* @Created by ljx
*/
@Table
@Entity
@Data
public class ArchiveDetail {
@Id
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
@GeneratedValue(generator = "system-uuid")
private String id;
private String pdfPath;
// -----------------------绑定关系
@Column(name = "masterid")
private String masterID;
@Column(name = "uploaddatetime")
private Date upLoadDateTime;
@Column(name = "assortid")
private String assortID;
private String source;
@Column(name = "subassort")
private String subAssort;
private String title;
private String flag = "0";
private String sys;
/**
*
* 2019-9-4
*/
private String applyId;
public ArchiveDetail() {
}
public ArchiveDetail(String masterID, Date upLoadDateTime, String assortID, String source) {
this.masterID = masterID;
this.upLoadDateTime = upLoadDateTime;
this.assortID = assortID;
this.source = source;
}
}

@ -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,68 @@
package com.ann.demo.entity.filing.dto;
import lombok.Data;
import java.util.Date;
/**
* @Description
* @Date 2019/7/9 16:50
* @Created by ljx
*/
@Data
public class MessageDto<T> {
private String entity;
private T object;
private Date xmlCreateTime;
private String type;
private String inpNo;
private String visitId;
private String propertiesPath;
private String reportAddress;
// 2019-7-26 新增报告单号 考虑会传多次报告 但地址一样
private String checkReportId;
/**
*
*/
private String addFlag;
/**
*
* 2019-9-4
*/
private String applyId;
// 2019-9-16 新增来源
private String source;
// 2019-9-20 电子病历 新增子类 比如病历文书>知情同意
private String subType;
// 2019-10-21 新增排序时间
private String captionDateTime;
// 2019-11-28 新增三级标题
private String detailType;
public MessageDto() {
}
public MessageDto(String entity, T object, String type, String propertiesPath, String source) {
this.entity = entity;
this.object = object;
this.type = type;
this.propertiesPath = propertiesPath;
this.source = source;
}
}

@ -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,139 @@
package com.ann.demo.entity.interfaceEntity;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.util.Date;
/**
* @Description
* @Date 2019/7/9 9:49
* @Created by ljx
*/
@Table
@Entity
@Data
public class ArchiveMaster {
/**
*
*/
@Id
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
@GeneratedValue(generator = "system-uuid")
private String id;
/**
* id
*/
private String patientId;
/**
*
*/
private String inpNo;
/**
*
*/
private String visitId;
/**
*
*/
private String name;
/**
*
*/
private String sex;
/**
*
*/
private String deptName;
/**
*
*/
private Date dischargeDateTime;
/**
*
*/
@Column(name = "archivestate")
private String archiveState = "在院";
/**
*
*/
private Date admissionDateTime;
/**
*
*/
private String deptAdmissionTo;
/**
*
*/
private String checkDoctor;
/**
*
*/
private Date checkDatetime;
/**
*
*/
private Date checkedDoctor;
/**
*
*/
private Date checkedDatetime;
/**
*
*/
@Column(name = "lockinfo")
private String LockInfo;
/**
*
*/
private String doctorInCharge;
/**
*
*/
private String idNo;
/**
*
*/
private String dischargeDisposition;
private String deptCodeLend;
/**
* 0 1
* 2019-7-30
*/
private int isValid;
/**
*
* 2019-7-30
*/
private String transferDept;
// 死亡字段
private String deathFlag;
}

@ -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,149 @@
package com.ann.demo.entity.normalEntity;
import com.ann.demo.entity.normalEntity.ids.CommonTableIds;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
/**
* @Author: LeiJiaXin
* @Date: 2019/8/6 9:44
*/
@Data
@Entity
@Table(name = "commomtable")
@IdClass(CommonTableIds.class)
public class CommonTable {
/**
* masterId
*/
@Id
@Column(name = "patient_id")
private String masterId;
/**
* 3 ID
*/
@Column(name = "admiss_id", length = 30)
private String YZY001;
/**
* ()
*/
@Column(name = "age")
private Integer age;
/**
* ()
*/
@Column(name = "age_month")
private Integer age_month;
/**
* ()
*/
@Column(name = "age_day")
private Integer age_day;
/**
* 4
*/
@Column(name = "bothDate")
private String AKC023;
/**
* 6
*/
@Column(name = "sex")
private String YZY008;
/**
* 8
*/
@Column(name = "home_addr")
private String YZY075;
/**
* 14
*/
@Id
@Column(name = "admiss_times", length = 10)
private String YZY002;
/**
* 16
*/
@Id
@Column(name = "name", length = 20)
private String AAC003;
/**
* 60
*/
@Column(name = "main_diag_name")
private String mainDiagName;
/**
* 88
*/
@Column(name = "admiss_date")
private Date YKC701;
/**
* 89
*/
@Column(name = "dis_date")
private Date YKC702;
/**
* 90
*/
@Column(name = "dis_dept")
private String YZY038;
/**
* 93
*/
@Column(name = "admiss_days")
private String AKB063;
/**
* 103
*/
@Column(name = "attending")
private String YZY055;
/**
*
*/
@Column(name = "is_oper")
private String isOper;
/////////////////////////////////
/**
*
*/
@Id
@Column(name = "inpatient_no", length = 30)
private String inpatient_no;
/**
*
*/
@Column(name = "name_cym")
private String nameCym;
/**
*
*/
@Column(name = "main_dis_thing")
private String main_dis_thing;
}

@ -0,0 +1,298 @@
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;
import java.util.Date;
/**
* @Author: LeiJiaXin
* @Date: 2019/8/6 9:53
*/
@Data
@Entity
@Table(name = "commomtable1")
public class CommonTable1 {
@Id
@Column(name = "patient_id")
private String masterId;
/**
* 1
*/
@Column(name = "avoirdupois")
private float YZY072;
/**
* 2
*/
@Column(name = "avoirdupois_admiss")
private float YZY073;
/**
* 5
*/
@Column(name = "birthday")
private Date AAC006;
/**
* 7
*/
@Column(name = "pay_type")
private String YZY074;
/**
* 9
*/
@Column(name = "birth_addr")
private String YZY010;
/**
* 10
*/
@Column(name = "job")
private String YZY016;
/**
* 11
*/
@Column(name = "rel_addr")
private String YZY027;
/**
* 12
*/
@Column(name = "rel_tel")
private String YZY028;
/**
* 13
*/
@Column(name = "id_card")
private String YZY011;
/**
* 15 1.2.3.4.5.
*/
@Column(name = "marriage")
private String YZY018;
/**
* 16
*/
@Column(name = "nation")
private String YZY015;
/**
* 17
*/
@Column(name = "country")
private String AAC161;
/**
* 18
*/
@Column(name = "native_place")
private String YZY076;
/**
* 23
*/
@Column(name = "relation")
private String YZY026;
/**
* 24
*/
@Column(name = "home_tel")
private String YZY079;
/**
* 25
*/
@Column(name = "work_tel")
private String YZY021;
/**
* 26
*/
@Column(name = "work_zip")
private String YZY022;
/**
* 27
*/
@Column(name = "home_zip")
private String YZY080;
/**
* 64 ------------- 1.2.3.
*/
@Column(name = "admiss_thing")
private String YZY111;
/**
* 72 (()
*/
@Column(name = "clinic_diag")
private String YZY113;
/**
* 73(()
*/
@Column(name = "clinic_name")
private String YZY114;
/**
* 74
*/
@Column(name = "medicine")
private String YZY046;
/**
* 75 0.1.2.3.4.
*/
@Column(name = "emit_pathology")
private String YZY089;
/**
* 76
*/
@Column(name = "blood_type")
private String YZY090;
/**
* 77
*/
@Column(name = "is_medicine")
private String is_medicine;
/**
* 84 Rh 1.2.3
*/
@Column(name = "RH")
private String YZY096;
/**
* 94
*/
@Column(name = "admiss_dept")
private String YZY033;
/**
* 95 1.2.3.
*/
@Column(name = "admiss_type")
private String YZY100;
/**
* 96
*/
@Column(name = "change_dept")
private String YZY101;
/**
* 97
*/
@Column(name = "admiss_ward")
private String YZY102;
/**
* 99
*/
@Column(name = "director")
private String YZY052;
/**
* 101
*/
@Column(name = "coding")
private String YZY061;
/**
* 102
*/
@Column(name = "dis_ward")
private String YZY039;
/**
* 104
*/
@Column(name = "admiss_doctor")
private String YZY056;
/**
* 105
*/
@Column(name = "dept_director")
private String YZY050;
/**
*
*/
@Column(name = "work_addr")
private String YZY020;
/**
*
*/
@Column(name = "linkman")
private String AAE004;
/////////////////////////////////
/**
*
*/
@Column(name = "quality_date")
private Date YZY069;
/**
*
*/
@Column(name = "control")
private String YZY066;
/**
*
*/
@Column(name = "nurses")
private String YZY068;
/**
* 1.2.3.
*/
@Column(name = "quality")
private String YZY064;
/**
*
*/
@Column(name = "refresher")
private String YZY058;
/**
*
*/
@Column(name = "praxis")
private String YZY060;
}

@ -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,367 @@
package com.ann.demo.entity.normalEntity;
import lombok.Data;
import javax.persistence.Column;
/**
*
* @Author: LeiJiaXin
* @Date: 2020/5/22 10:27
*/
@Data
public class OtherData {
/**
* 19 Organization code
*/
private String YZY077;
/**
* 20
*/
private String YZY078;
/**
* 21
*/
private String AAC010;
/**
* 22
*/
private String YZY024;
/**
* 28
*/
private String AKC264;
/**
* 29 -9-
*/
@Column(name = "lcwlzlf")
private String YZY132;
/**
* 30 -10-
*/
@Column(name = "mzf")
private String YZY134;
/**
* 31 -10-
*/
@Column(name = "ssf")
private String YZY135;
/**
* 32 西-13-
*/
@Column(name = "kjywfy")
private String YZY152;
/**
* 33 -(1)
*/
@Column(name = "ybylfwf1")
private String YZY123;
/**
* 34 -(2)
*/
@Column(name = "ybylfwf2")
private String YZY124;
/**
* 35 -(3)
*/
@Column(name = "hlf")
private String YZY125;
/**
* 36 -(4)
*/
@Column(name = "qtfy")
private String YZY126;
/**
* 37 -(5)
*/
@Column(name = "blzdf")
private String YZY127;
/**
* 38 -(6)
*/
@Column(name = "syszdf")
private String YZY128;
/**
* 39 -(7)
*/
@Column(name = "yxxzdf")
private String YZY129;
/**
* 40 -(8)
*/
@Column(name = "lczdxmf")
private String YZY130;
// /**
// * 41 治疗类-非手术治疗项目费(9)-2
// */
// @Column(name = "fsszlxmf2")
// private String YZY132;
/**
* 42 -(9)
*/
@Column(name = "fsszlxmf")
private String YZY131;
/**
* 43 -(10)
*/
@Column(name = "sszlf")
private String YZY133;
/**
* 44 -(11)
*/
@Column(name = "kff")
private String YZY136;
/**
* 45 -(12)
*/
@Column(name = "zyzlf")
private String YZY137;
/**
* 46 西-西(13)
*/
@Column(name = "xyf")
private String YZY138;
/**
* 47 -(14)
*/
@Column(name = "zcyf")
private String YZY153;
/**
* 48 -(15)
*/
@Column(name = "zcyf")
private String YZY154;
/**
* 49 -(16)
*/
@Column(name = "xf")
private String YZY139;
/**
* 50 -(17)
*/
@Column(name = "bdblzpf")
private String YZY140;
/**
* 51 -(18)
*/
@Column(name = "qdblzpf")
private String YZY141;
/**
* 52 -(19)
*/
@Column(name = "nxyzlzpf")
private String YZY142;
/**
* 53 -(20)
*/
@Column(name = "xbyzlzpf")
private String YZY143;
/**
* 54 -(21)
*/
@Column(name = "jcyycxyyclf")
private String YZY144;
/**
* 55 -(22)
*/
@Column(name = "zlyycxyyclf")
private String YZY145;
/**
* 56 -(23)
*/
@Column(name = "ssyycxyyclf")
private String YZY146;
/**
* 57 -(24)
*/
@Column(name = "qtf")
private String YZY155;
/**
* 58
*/
@Column(name = "zffy")
private String YZY122;
/**
* 59
*/
private String mainDiagCode;
/**
* 61
*/
private String YZY105;
/**
* 62
*/
private String YZY110;
/**
* 63 -1-2
*
*/
/**
* 65
*/
private String YZY081;
/**
* 66
*/
private String YZY082;
/**
* 67
*/
private String YZY083;
/**
* 68
*/
private String YZY084;
/**
* 69
*/
private String YZY106;
/**
* 70
*/
private String YZY085;
/**
* 70-1
*/
private String pathologyDingCode;
/**
* 70-2
*/
private String pathologyDingName;
/**
* 71
*/
private String YZY107;
/**
* 78
*/
private String mainDiagCodeOutSideReason;
/**
* 79
*/
private String YZY092;
/**
* 80
*/
private String YZY093;
/**
* 81
*/
private String YZY094;
/**
* 82
*/
private String YZY108;
/**
* 83 ( )
*/
private String YZY095;
/**
* 85
*/
private String YZY109;
/**
* 86
*/
private String YZY097;
/**
* 87
*/
private String YZY070;
/**
* 91 31
*/
private String YZY098;
/**
* 92 31
*/
private String YZY099;
/**
* 98
*/
private String YZY112;
/**
* 100
*/
private String YZY103;
}

@ -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,69 @@
package com.ann.demo.entity.normalEntity;
import lombok.Data;
import javax.persistence.*;
/**
* @Description
* @Date 2019/6/15 16:57
* @Created by ljx
*/
@Table(name = "powerUser")
@Entity
@Data
public class User {
/**
*
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "userId")
private Integer id;
@Column(name = "remark")
private String USER_ID;
/**
*
*/
@Column(name = "userName")
private String USER_NAME;
/**
*
*/
@Column(name = "deptId")
private String USER_DEPT;
/**
*
*/
@Column(name = "userPwd")
private String USER_PWD;
/**
*
*/
@Column(name = "createDate")
private String CREATE_DATE;
/**
* 0 ,1
*/
@Column(name = "roleId")
private Integer USER_TYPE;
@Column(name = "effective")
private Integer isValid = 0;
/**
* 1 0
*/
private Integer EDUCATION_FLAG;
}

@ -0,0 +1,82 @@
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;
import java.util.Date;
/**
* @Description
* @Date 2019/6/15 16:57
* @Created by ljx
*/
@Table(name = "users")
@Entity
@Data
public class User3 {
/**
*
*/
@Id
@Column(name = "id")
private String USER_ID;
/**
*
*/
@Column(name = "name")
private String USER_NAME;
/**
*
*/
@Column(name = "departmentid")
private String USER_DEPT;
/**
*
*/
@Column(name = "password")
private String USER_PWD;
/**
*
*/
@Column(name = "createdate")
private Date CREATE_DATE;
/**
*
*/
@Column(name = "initialism")
private String PYM;
/**
*
*/
@Column(name = "code")
private String USER_LOGIN_NAME;
/**
* 0 ,1
*/
@Column(name = "roleid")
private String USER_TYPE;
@Column(name = "isvalid")
private Integer isValid = 0;
/**
* 1 0
*/
@Column(name = "EDUCATION_FLAG")
private Integer EDUCATION_FLAG;
}

@ -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("&", "&amp;");
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

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
<contextName>logback</contextName>
<!-- 格式化输出:%date表示日期%thread表示线程名%-5level级别从左显示5个字符宽度 %msg日志消息%n是换行符-->
<property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
<!-- 定义日志存储的路径,不要配置相对路径 -->
<property name="FILE_PATH" value="D:/logs/%d{yyyy-MM-dd}/demo.%i.log"/>
<!-- 控制台输出日志 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 日志级别过滤INFO以下 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder>
<!-- 按照上面配置的LOG_PATTERN来打印日志 -->
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--每天生成一个日志文件保存30天的日志文件。rollingFile用来切分文件的 -->
<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${FILE_PATH}</fileNamePattern>
<!-- keep 15 days' worth of history -->
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 日志文件的最大大小 -->
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- 超出删除老文件 -->
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- project default level -->
<logger name="com.ann" level="ERROR"/>
<!-- 日志输出级别 -->
<root level="error">
<appender-ref ref="console"/>
<appender-ref ref="rollingFile"/>
</root>
</configuration>

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…
Cancel
Save