sms-1.0.1 복사후

101 - NHS_STOR_PRD_LINK_OPTN
추가함
This commit is contained in:
snoop 2019-07-07 20:19:14 +09:00
commit 6453e0bb1e
141 changed files with 17997 additions and 0 deletions

34
.classpath Normal file
View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="lib/commons-codec-1.9.jar"/>
<classpathentry kind="lib" path="lib/commons-compress-1.12.jar"/>
<classpathentry kind="lib" path="lib/commons-compress-1.3.jar"/>
<classpathentry kind="lib" path="lib/commons-io-2.5.jar"/>
<classpathentry kind="lib" path="lib/commons-net-1.4.1.jar"/>
<classpathentry kind="lib" path="lib/commons-net-3.3.jar"/>
<classpathentry kind="lib" path="lib/commons-net-3.5.jar"/>
<classpathentry kind="lib" path="lib/cyberpass.jar"/>
<classpathentry kind="lib" path="lib/gson-2.2.2.jar"/>
<classpathentry kind="lib" path="lib/gson-2.6.2-javadoc.jar"/>
<classpathentry kind="lib" path="lib/gson-2.6.2-sources.jar"/>
<classpathentry kind="lib" path="lib/gson-2.6.2.jar"/>
<classpathentry kind="lib" path="lib/j2ssh-core-0.2.9.jar"/>
<classpathentry kind="lib" path="lib/j2ssh-maverick-1.5.5.jar"/>
<classpathentry kind="lib" path="lib/jsch-0.1.54.jar"/>
<classpathentry kind="lib" path="lib/mysql-connector-java-5.1.15-bin.jar"/>
<classpathentry kind="lib" path="lib/ojdbc14.jar"/>
<classpathentry kind="lib" path="lib/ojdbc5.jar"/>
<classpathentry kind="lib" path="lib/ojdbc6.jar"/>
<classpathentry kind="lib" path="lib/ojdbc7.jar"/>
<classpathentry kind="lib" path="lib/Seed.jar"/>
<classpathentry kind="lib" path="lib/sms-framework-1.0.1.jar"/>
<classpathentry kind="lib" path="lib/sqljdbc.jar"/>
<classpathentry kind="lib" path="lib/sqljdbc4.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/7">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>

57
.gitignore vendored Normal file
View File

@ -0,0 +1,57 @@
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
build/
WebContent/spcnhs/ui/deploy/
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet

6
.idea/misc.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.7" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

10
.idea/modules.xml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.metadata/.plugins/org.eclipse.jdt.core/.org.eclipse.jdt.core.external.folders/.org.eclipse.jdt.core.external.folders.iml" filepath="$PROJECT_DIR$/.metadata/.plugins/org.eclipse.jdt.core/.org.eclipse.jdt.core.external.folders/.org.eclipse.jdt.core.external.folders.iml" />
<module fileurl="file://$PROJECT_DIR$/RemoteSystemsTempFiles/RemoteSystemsTempFiles.iml" filepath="$PROJECT_DIR$/RemoteSystemsTempFiles/RemoteSystemsTempFiles.iml" />
<module fileurl="file://$PROJECT_DIR$/sms-1.0.1.iml" filepath="$PROJECT_DIR$/sms-1.0.1.iml" />
</modules>
</component>
</project>

575
.idea/workspace.xml Normal file
View File

@ -0,0 +1,575 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="424526b0-09b6-4926-86ee-5d9116f6b701" name="Default Changelist" comment="" />
<ignored path="$PROJECT_DIR$/out/" />
<ignored path="$PROJECT_DIR$/.metadata/.plugins/org.eclipse.jdt.core/.org.eclipse.jdt.core.external.folders/bin/" />
<ignored path="$PROJECT_DIR$/RemoteSystemsTempFiles/bin/" />
<ignored path="$PROJECT_DIR$/bin/" />
<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="DefaultGradleProjectSettings">
<option name="isMigrated" value="true" />
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsMasterDataRcv/NhsMasterDataRcvAction.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="949">
<caret line="153" column="24" lean-forward="true" selection-start-line="153" selection-start-column="24" selection-end-line="153" selection-end-column="24" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsMasterDataRcv/NhsMasterDataCrtExecutor.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="8915">
<caret line="1775" column="24" lean-forward="true" selection-start-line="1775" selection-start-column="24" selection-end-line="1775" selection-end-column="24" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsSysInfoRcv/NhsSysInfoRcvAction.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="389">
<caret line="101" column="43" selection-start-line="101" selection-start-column="34" selection-end-line="101" selection-end-column="43" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/xml/daemon-config.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1900">
<caret line="100" column="30" selection-start-line="100" selection-start-column="30" selection-end-line="100" selection-end-column="30" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/tutorial/TestContainerServer.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1311">
<caret line="86" column="28" selection-start-line="86" selection-start-column="28" selection-end-line="86" selection-end-column="28" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsMasterDataRcv/NhsMasterDataRcvDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="5510">
<caret line="303" column="13" selection-start-line="303" selection-start-column="13" selection-end-line="303" selection-end-column="13" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/xml/nhsmaster-sql.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="21584">
<caret line="1136" column="38" selection-start-line="1136" selection-start-column="38" selection-end-line="1136" selection-end-column="38" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/biz/cms_FileAgent/FileAgentDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342">
<caret line="56" column="13" selection-start-line="56" selection-start-column="13" selection-end-line="56" selection-end-column="13" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsSysInfoRcv/NhsSysInfoDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="356">
<caret line="941" column="67" lean-forward="true" selection-start-line="941" selection-start-column="67" selection-end-line="941" selection-end-column="68" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/biz/cms_FileAgent/FileAgentPollingAction.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="323">
<caret line="169" column="18" lean-forward="true" selection-start-line="169" selection-start-column="18" selection-end-line="170" selection-end-column="13" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>log4j</find>
<find>알림</find>
<find>SEL_MST_POS_OPTN</find>
<find>server</find>
<find>hs_dev</find>
<find>Nftp_nhs</find>
<find>SEL_MST_PAY_DC</find>
<find>mST_PAY</find>
<find>MST_P</find>
<find>getBaesinReqProc</find>
<find>port</find>
<find>agent</find>
<find>yello</find>
<find>setSendMsgNewCustomer</find>
<find>makeSendDataNhsSendMsg</find>
</findStrings>
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/tutorial/TestContainerServer.java" />
<option value="$PROJECT_DIR$/xml/daemon-config.xml" />
<option value="$PROJECT_DIR$/xml/stsys-property.xml" />
<option value="$PROJECT_DIR$/src/biz/cms_NhsSysInfoRcv/NhsSysInfoDAO.java" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="1668" />
<option name="y" value="160" />
<option name="width" value="1936" />
<option name="height" value="1056" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="batch" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="biz" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="biz" type="462c0819:PsiDirectoryNode" />
<item name="cms_FileAgent" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="biz" type="462c0819:PsiDirectoryNode" />
<item name="cms_NhsMasterDataRcv" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="biz" type="462c0819:PsiDirectoryNode" />
<item name="cms_NhsSysInfoRcv" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="tutorial" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="tutorial" type="462c0819:PsiDirectoryNode" />
<item name="client5" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="tutorial" type="462c0819:PsiDirectoryNode" />
<item name="server" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="sms-1.0.1" type="b2602c69:ProjectViewProjectNode" />
<item name="sms-1.0.1" type="462c0819:PsiDirectoryNode" />
<item name="xml" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="D:/temp/sms/04" />
<property name="project.structure.last.edited" value="Project" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.0" />
<property name="settings.editor.selected.configurable" value="reference.projectsettings.compiler.annotationProcessors" />
</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" selected="Application.TestContainerServer">
<configuration name="TestContainerServer" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="tutorial.TestContainerServer" />
<module name="sms-1.0.1" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="tutorial.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="ttt" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="kr.fujitsu.com.ffw.daemon.DaemonLauncher" />
<module name="sms-1.0.1" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<list>
<item itemvalue="Application.TestContainerServer" />
<item itemvalue="Application.ttt" />
</list>
<recent_temporary>
<list>
<item itemvalue="Application.TestContainerServer" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="424526b0-09b6-4926-86ee-5d9116f6b701" name="Default Changelist" comment="" />
<created>1561610758649</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1561610758649</updated>
</task>
<servers />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="1912" y="-8" width="1936" height="1056" extended-state="6" />
<editor active="true" />
<layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.27665246" />
<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 anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info anchor="bottom" id="Run" order="2" weight="0.32936078" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.3997833" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" weight="0.32936078" />
<window_info anchor="bottom" id="Terminal" order="7" weight="0.32936078" />
<window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
<window_info anchor="bottom" id="Version Control" order="9" />
<window_info anchor="bottom" id="Messages" order="10" visible="true" weight="0.32936078" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="right" id="Maven" order="4" />
<window_info anchor="right" id="Theme Preview" order="5" />
<window_info anchor="right" id="Capture Analysis" order="6" />
<window_info anchor="right" id="Palette&#9;" order="7" />
</layout>
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/tutorial/TestContainerServer.java</url>
<line>85</line>
<properties />
<option name="timeStamp" value="1" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="jar://$PROJECT_DIR$/lib/sms-framework-1.0.1.jar!/kr/fujitsu/com/ffw/model/GenericDAO.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114">
<caret line="23" column="22" selection-start-line="23" selection-start-column="22" selection-end-line="23" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/xml/pos-sql.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-152">
<caret line="16" column="38" lean-forward="true" selection-start-line="16" selection-start-column="38" selection-end-line="16" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/xml/nhssysinq-sql.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="84" column="37" lean-forward="true" selection-start-line="84" selection-start-column="37" selection-end-line="84" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/xml/nhsmaster-form.xml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/xml/communication-property.xml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="jar://$PROJECT_DIR$/lib/sms-framework-1.0.1.jar!/kr/fujitsu/com/ffw/daemon/core/DaemonConfigLocator.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="304">
<caret line="20" selection-start-line="20" selection-end-line="20" />
</state>
</provider>
</entry>
<entry file="jar://$PROJECT_DIR$/lib/sms-framework-1.0.1.jar!/kr/fujitsu/com/ffw/daemon/core/config/DaemonConfigParser.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="43" selection-start-line="43" selection-end-line="43" />
</state>
</provider>
</entry>
<entry file="jar://$PROJECT_DIR$/lib/sms-framework-1.0.1.jar!/org/apache/commons/digester/Digester.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="760">
<caret line="72" column="11" selection-start-line="72" selection-start-column="11" selection-end-line="72" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="jar://$PROJECT_DIR$/lib/sms-framework-1.0.1.jar!/org/apache/commons/collections/ArrayStack.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="171">
<caret line="13" column="11" selection-start-line="13" selection-start-column="11" selection-end-line="13" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="jar://C:/develop/java/jdk/1.7.0_80/src.zip!/org/xml/sax/helpers/DefaultHandler.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="817">
<caret line="82" selection-start-line="82" selection-end-line="82" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/xml/stsys-property.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2888">
<caret line="152" column="30" selection-start-line="152" selection-start-column="17" selection-end-line="152" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/xml/daemon-config.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1900">
<caret line="100" column="30" selection-start-line="100" selection-start-column="30" selection-end-line="100" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/tutorial/TestContainerServer.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1311">
<caret line="86" column="28" selection-start-line="86" selection-start-column="28" selection-end-line="86" selection-end-column="28" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsMasterDataRcv/NhsMasterDataRcvDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="5510">
<caret line="303" column="13" selection-start-line="303" selection-start-column="13" selection-end-line="303" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/xml/nhsmaster-sql.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="21584">
<caret line="1136" column="38" selection-start-line="1136" selection-start-column="38" selection-end-line="1136" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/biz/cms_FileAgent/FileAgentDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342">
<caret line="56" column="13" selection-start-line="56" selection-start-column="13" selection-end-line="56" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/biz/cms_FileAgent/FileAgentPollingAction.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="323">
<caret line="169" column="18" lean-forward="true" selection-start-line="169" selection-start-column="18" selection-end-line="170" selection-end-column="13" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsMasterDataRcv/NhsMasterDataRcvAction.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="949">
<caret line="153" column="24" lean-forward="true" selection-start-line="153" selection-start-column="24" selection-end-line="153" selection-end-column="24" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsMasterDataRcv/NhsMasterDataCrtExecutor.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="8915">
<caret line="1775" column="24" lean-forward="true" selection-start-line="1775" selection-start-column="24" selection-end-line="1775" selection-end-column="24" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsSysInfoRcv/NhsSysInfoRcvAction.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="389">
<caret line="101" column="43" selection-start-line="101" selection-start-column="34" selection-end-line="101" selection-end-column="43" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/biz/cms_NhsSysInfoRcv/NhsSysInfoDAO.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="356">
<caret line="941" column="67" lean-forward="true" selection-start-line="941" selection-start-column="67" selection-end-line="941" selection-end-column="68" />
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>
<state key="ArtifactsStructureConfigurable.UI">
<settings>
<artifact-editor />
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="FacetStructureConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="GlobalLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="JdkListConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ModuleStructureConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectJDKs.UI">
<settings>
<last-edited>1.7</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>

23
.project Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>sms-1.0.1</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>RemoteSystemsTempFiles</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
<nature>org.eclipse.rse.ui.remoteSystemsTempNature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/bin" />
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

5
batch/BTDown.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
cd $SMS_HOME/bin
java biz.cms_BTDTLDownloader.BTDTLDownloaderPollingAction -path:$CONFIG_FILE -cmd:10
cd $APP_HOME

10
batch/CBDown.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashBeeSenderPollingAction"
cd $SMS_HOME/bin
java biz.cms_CashBeeSender.CashBeeSenderPollingAction -path:$CONFIG_FILE -cmd:001
cd $APP_HOME/batch

5
batch/CBInst.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
cd $SMS_HOME/bin
java biz.cms_CashBeeReceiver.CashBeeReceiverAction -path:$CONFIG_FILE
cd $APP_HOME

10
batch/CJParcel.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashGatePollingAction"
cd $SMS_HOME/bin
java biz.cms_ParcelService.ParcelServicePollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

10
batch/CJParcelDown.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashGatePollingAction"
cd $SMS_HOME/bin
java biz.cms_CJPclDTLDownloader.CJPclDTLDownloaderPollingAction -path:$CONFIG_FILE -cmd:01 -today:20150107
cd $APP_HOME/batch

10
batch/CashGate.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashGatePollingAction"
cd $SMS_HOME/bin
java biz.cms_CGDTLDownloader.CGDTLDownloaderPollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

9
batch/Readme.txt Normal file
View File

@ -0,0 +1,9 @@
* env : 환경설정파일
* wrun : 톰캣기동
* wdown : 톰캣 shutdown
* srun : 프로세스 all start
* sdown: 프로세스 all stop
* master : master 프로세스 실행
* deploy : deploy 프로세스 실행
* sRunBatch : master/ deploy 배치성 프로세스 실행
* sRunRegular : 정기배신 마스터생성 후 배신호출

24
batch/SRunBatch.sh Normal file
View File

@ -0,0 +1,24 @@
echo --batch run--
set +v
echo "$1"
echo "$2"
echo "$3"
echo "$4"
echo "$5"
echo "$6"
echo "$7"
if [ "$1" = "master" ]
then
echo -- go master --
master.sh "$2" "$3" "$4" "$5"
fi
if [ "$1" = "deploy" ]
then
echo -- go deploy --
deploy.sh "$2" "$3" "$4" "$5" "$6" "$7"
fi
cd $APP_HOME
echo --SRunBatch end--

10
batch/SRunRegular.sh Normal file
View File

@ -0,0 +1,10 @@
echo "master insert"
if [ "$1" = "master" ] then
sqlplus fmcvs/fmcvs@fsmdb @stdb040.mst.sql
fi
echo "master compression and deploy"
master.sh 15 " " "%" "true"

10
batch/SSGChk.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start SSGMbsTranPollingAction"
cd $SMS_HOME/bin
java biz.cms_SSGMbsIrt.SSGMbsIrtPollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

10
batch/TMDown.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start send TMoney file"
cd $SMS_HOME/bin
java biz.cms_TMoneySender.TMoneySenderPollingAction -path:$CONFIG_FILE -cmd:001
cd $APP_HOME/batch

5
batch/TMInst.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
cd $SMS_HOME/bin
java biz.cms_TMoneyReceiver.TMoneyReceiverAction -path:$CONFIG_FILE
cd $APP_HOME

15
batch/brkr/.bashrc Normal file
View File

@ -0,0 +1,15 @@
# .bashrc
# User specific aliases and functions
PATH=$PATH:$HOME/bin
export PATH
export APP_HOME=/home/brkrpos/CMBO
export JAVA_HOME=/home/brkrpos/CMBO/jdk1.5.0_22
export SMS_HOME=$APP_HOME/workspace/sms-1.0.1
export SMS_XML=$SMS_HOME/xml
export CONFIG_FILE=$SMS_XML/daemon-config.xml
export CLASSPATH=.:$SMS_HOME/lib/sms-framework-1.0.1.jar:$SMS_HOME/lib/ojdbc5.jar:$SMS_HOME/lib/commons-net-3.3.jar:$SMS_HOME/lib/j2ssh-core-0.2.9.jar:$SMS_HOME/bin:$SMS_HOME/lib/gson-2.2.2.jar:%SMS_HOME%\lib\jsch-0.1.54.jar
export PATH=/usr/local/bin:$PATH:$JAVA_HOME/bin:$SMS_HOME/bin:$SMS_HOME/lib

5
batch/brkr/BTDown.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
cd $SMS_HOME/bin
java biz.cms_BTDTLDownloader.BTDTLDownloaderPollingAction -path:$CONFIG_FILE -cmd:10
cd $APP_HOME

10
batch/brkr/CBDown.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashBeeSenderPollingAction"
cd $SMS_HOME/bin
java biz.cms_CashBeeSender.CashBeeSenderPollingAction -path:$CONFIG_FILE -cmd:001
cd $APP_HOME/batch

5
batch/brkr/CBInst.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
cd $SMS_HOME/bin
java biz.cms_CashBeeReceiver.CashBeeReceiverAction -path:$CONFIG_FILE
cd $APP_HOME

10
batch/brkr/CJParcel.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashGatePollingAction"
cd $SMS_HOME/bin
java biz.cms_ParcelService.ParcelServicePollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashGatePollingAction"
cd $SMS_HOME/bin
java biz.cms_CJPclDTLDownloader.CJPclDTLDownloaderPollingAction -path:$CONFIG_FILE -cmd:01 -today:20150107
cd $APP_HOME/batch

10
batch/brkr/CashGate.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashGatePollingAction"
cd $SMS_HOME/bin
java biz.cms_CGDTLDownloader.CGDTLDownloaderPollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

9
batch/brkr/Readme.txt Normal file
View File

@ -0,0 +1,9 @@
* env : 환경설정파일
* wrun : 톰캣기동
* wdown : 톰캣 shutdown
* srun : 프로세스 all start
* sdown: 프로세스 all stop
* master : master 프로세스 실행
* deploy : deploy 프로세스 실행
* sRunBatch : master/ deploy 배치성 프로세스 실행
* sRunRegular : 정기배신 마스터생성 후 배신호출

24
batch/brkr/SRunBatch.sh Normal file
View File

@ -0,0 +1,24 @@
echo --batch run--
set +v
echo "$1"
echo "$2"
echo "$3"
echo "$4"
echo "$5"
echo "$6"
echo "$7"
if [ "$1" = "master" ]
then
echo -- go master --
master.sh "$2" "$3" "$4" "$5"
fi
if [ "$1" = "deploy" ]
then
echo -- go deploy --
deploy.sh "$2" "$3" "$4" "$5" "$6" "$7"
fi
cd $APP_HOME
echo --SRunBatch end--

10
batch/brkr/SRunRegular.sh Normal file
View File

@ -0,0 +1,10 @@
echo "master insert"
if [ "$1" = "master" ] then
sqlplus fmcvs/fmcvs@fsmdb @stdb040.mst.sql
fi
echo "master compression and deploy"
master.sh 15 " " "%" "true"

10
batch/brkr/SSGChk.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start SSGMbsTranPollingAction"
cd $SMS_HOME/bin
java biz.cms_SSGMbsIrt.SSGMbsIrtPollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

10
batch/brkr/TMDown.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start send TMoney file"
cd $SMS_HOME/bin
java biz.cms_TMoneySender.TMoneySenderPollingAction -path:$CONFIG_FILE -cmd:001
cd $APP_HOME/batch

5
batch/brkr/TMInst.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
cd $SMS_HOME/bin
java biz.cms_TMoneyReceiver.TMoneyReceiverAction -path:$CONFIG_FILE
cd $APP_HOME

5
batch/brkr/deploy.sh Normal file
View File

@ -0,0 +1,5 @@
set +v
cd $SMS_HOME/bin
java biz.cms_DeployReq.DeployReqClientAction cms_DeployReq -tm:"$1" -ty:"$2" -store:"$3" -id:"$4" -delay:"$5" -path:$CONFIG_FILE

9
batch/brkr/env.sh Normal file
View File

@ -0,0 +1,9 @@
export APP_HOME=/home/brkrpos/CMBO
export JAVA_HOME=/usr/local/jdk1.5.0_22
export SMS_HOME=$APP_HOME/workspace/sms-1.0.1
export SMS_XML=$SMS_HOME/xml
export CONFIG_FILE=$SMS_XML/daemon-config.xml
export WEB_HOME=$APP_HOME/admin
export CATALINA_HOME=$APP_HOME/sms-tomcat-5.5.28
export CLASSPATH=.:$SMS_HOME/lib/sms-framework-1.0.1.jar:$SMS_HOME/lib/ojdbc14.jar:$SMS_HOME/lib/ojdbc5.jar:$SMS_HOME/lib/commons-net-3.3.jar:$SMS_HOME/lib/j2ssh-core-0.2.9.jar:$SMS_HOME/bin:$SMS_HOME/lib/gson-2.2.2.jar
export PATH=/usr/local/bin:$PATH:$JAVA_HOME/bin:$SMS_HOME/bin:$SMS_HOME/lib

9
batch/brkr/master.sh Normal file
View File

@ -0,0 +1,9 @@
#!/bin/bash
echo "--start master creation"
cd $SMS_HOME/bin
java biz.cms_MasterCrt.MasterCrtClientAction -tm:10 -ty:20150312 -com:1002 -store:00999 -path:$CONFIG_FILE -deploy:false
echo "--end master creation"

View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start MasterAgentEx"
cd $SMS_HOME/bin
java biz.cms_MasterAgentEx.MasterAgentExPollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

6
batch/brkr/sdown.sh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
cd $SMS_HOME/bin
java -server kr.fujitsu.com.ffw.daemon.DaemonLauncher -mode:xml -path:$CONFIG_FILE -shutdown
cd $APP_HOME

6
batch/brkr/srun.sh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
cd $SMS_HOME/bin
$JAVA_HOME/bin/java -server kr.fujitsu.com.ffw.daemon.DaemonLauncher -mode:xml -path:$CONFIG_FILE &
cd $APP_HOME

10
batch/brkr/ssgtr.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start SSGMbsTranPollingAction"
cd $SMS_HOME/bin
java biz.cms_SSGMbsTran.SSGMbsTranPollingAction -path:$CONFIG_FILE -cmd:001
cd $APP_HOME/batch

5
batch/deploy.sh Normal file
View File

@ -0,0 +1,5 @@
set +v
cd $SMS_HOME/bin
java biz.cms_DeployReq.DeployReqClientAction cms_DeployReq -tm:"$1" -ty:"$2" -store:"$3" -id:"$4" -delay:"$5" -path:$CONFIG_FILE

9
batch/env.sh Normal file
View File

@ -0,0 +1,9 @@
export APP_HOME=/home/spcpos/CMBO
export JAVA_HOME=/usr/local/jdk1.5.0_22
export SMS_HOME=$APP_HOME/workspace/sms-1.0.1
export SMS_XML=$SMS_HOME/xml
export CONFIG_FILE=$SMS_XML/daemon-config.xml
export WEB_HOME=$APP_HOME/admin
export CATALINA_HOME=$APP_HOME/sms-tomcat-5.5.28
export CLASSPATH=.:$SMS_HOME/lib/sms-framework-1.0.1.jar:$SMS_HOME/lib/ojdbc14.jar:$SMS_HOME/lib/ojdbc5.jar:$SMS_HOME/lib/commons-net-3.3.jar:$SMS_HOME/lib/j2ssh-core-0.2.9.jar:$SMS_HOME/bin:$SMS_HOME/lib/gson-2.2.2.jar
export PATH=/usr/local/bin:$PATH:$JAVA_HOME/bin:$SMS_HOME/bin:$SMS_HOME/lib

9
batch/master.sh Normal file
View File

@ -0,0 +1,9 @@
#!/bin/bash
echo "--start master creation"
cd $SMS_HOME/bin
java biz.cms_MasterCrt.MasterCrtClientAction -tm:10 -ty:20150312 -com:1002 -store:00999 -path:$CONFIG_FILE -deploy:false
echo "--end master creation"

10
batch/master_crt_new.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start MasterAgentEx"
cd $SMS_HOME/bin
java biz.cms_MasterAgentEx.MasterAgentExPollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

6
batch/sdown.sh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
cd $SMS_HOME/bin
java -server kr.fujitsu.com.ffw.daemon.DaemonLauncher -mode:xml -path:$CONFIG_FILE -shutdown
cd $APP_HOME

15
batch/slkr/.bashrc Normal file
View File

@ -0,0 +1,15 @@
# .bashrc
# User specific aliases and functions
PATH=$PATH:$HOME/bin
export PATH
export APP_HOME=/home/slkrrpos/CMBO
export JAVA_HOME=/home/slkrpos/CMBO/jdk1.5.0_22
export SMS_HOME=$APP_HOME/workspace/sms-1.0.1
export SMS_XML=$SMS_HOME/xml
export CONFIG_FILE=$SMS_XML/daemon-config.xml
export CLASSPATH=.:$SMS_HOME/lib/sms-framework-1.0.1.jar:$SMS_HOME/lib/ojdbc5.jar:$SMS_HOME/lib/commons-net-3.3.jar:$SMS_HOME/lib/j2ssh-core-0.2.9.jar:$SMS_HOME/bin:$SMS_HOME/lib/gson-2.2.2.jar:%SMS_HOME%\lib\jsch-0.1.54.jar
export PATH=/usr/local/bin:$PATH:$JAVA_HOME/bin:$SMS_HOME/bin:$SMS_HOME/lib

10
batch/slkr/CBDown.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashBeeSenderPollingAction"
cd $SMS_HOME/bin
java biz.cms_CashBeeSender.CashBeeSenderPollingAction -path:$CONFIG_FILE -cmd:001
cd $APP_HOME/batch

5
batch/slkr/CBInst.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
cd $SMS_HOME/bin
java biz.cms_CashBeeReceiver.CashBeeReceiverAction -path:$CONFIG_FILE
cd $APP_HOME

10
batch/slkr/CJParcel.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashGatePollingAction"
cd $SMS_HOME/bin
java biz.cms_ParcelService.ParcelServicePollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start CashGatePollingAction"
cd $SMS_HOME/bin
java biz.cms_CJPclDTLDownloader.CJPclDTLDownloaderPollingAction -path:$CONFIG_FILE -cmd:01 -today:20150107
cd $APP_HOME/batch

9
batch/slkr/Readme.txt Normal file
View File

@ -0,0 +1,9 @@
* env : 환경설정파일
* wrun : 톰캣기동
* wdown : 톰캣 shutdown
* srun : 프로세스 all start
* sdown: 프로세스 all stop
* master : master 프로세스 실행
* deploy : deploy 프로세스 실행
* sRunBatch : master/ deploy 배치성 프로세스 실행
* sRunRegular : 정기배신 마스터생성 후 배신호출

24
batch/slkr/SRunBatch.sh Normal file
View File

@ -0,0 +1,24 @@
echo --batch run--
set +v
echo "$1"
echo "$2"
echo "$3"
echo "$4"
echo "$5"
echo "$6"
echo "$7"
if [ "$1" = "master" ]
then
echo -- go master --
master.sh "$2" "$3" "$4" "$5"
fi
if [ "$1" = "deploy" ]
then
echo -- go deploy --
deploy.sh "$2" "$3" "$4" "$5" "$6" "$7"
fi
cd $APP_HOME
echo --SRunBatch end--

10
batch/slkr/SRunRegular.sh Normal file
View File

@ -0,0 +1,10 @@
echo "master insert"
if [ "$1" = "master" ] then
sqlplus fmcvs/fmcvs@fsmdb @stdb040.mst.sql
fi
echo "master compression and deploy"
master.sh 15 " " "%" "true"

10
batch/slkr/SSGChk.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start SSGMbsTranPollingAction"
cd $SMS_HOME/bin
java biz.cms_SSGMbsIrt.SSGMbsIrtPollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

10
batch/slkr/TMDown.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start send TMoney file"
cd $SMS_HOME/bin
java biz.cms_TMoneySender.TMoneySenderPollingAction -path:$CONFIG_FILE -cmd:001
cd $APP_HOME/batch

5
batch/slkr/TMInst.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/bash
cd $SMS_HOME/bin
java biz.cms_TMoneyReceiver.TMoneyReceiverAction -path:$CONFIG_FILE
cd $APP_HOME

5
batch/slkr/deploy.sh Normal file
View File

@ -0,0 +1,5 @@
set +v
cd $SMS_HOME/bin
java biz.cms_DeployReq.DeployReqClientAction cms_DeployReq -tm:"$1" -ty:"$2" -store:"$3" -id:"$4" -delay:"$5" -path:$CONFIG_FILE

9
batch/slkr/env.sh Normal file
View File

@ -0,0 +1,9 @@
export APP_HOME=/home/slkrpos/CMBO
export JAVA_HOME=/usr/local/jdk1.5.0_22
export SMS_HOME=$APP_HOME/workspace/sms-1.0.1
export SMS_XML=$SMS_HOME/xml
export CONFIG_FILE=$SMS_XML/daemon-config.xml
export WEB_HOME=$APP_HOME/admin
export CATALINA_HOME=$APP_HOME/sms-tomcat-5.5.28
export CLASSPATH=.:$SMS_HOME/lib/sms-framework-1.0.1.jar:$SMS_HOME/lib/ojdbc14.jar:$SMS_HOME/lib/ojdbc5.jar:$SMS_HOME/lib/commons-net-3.3.jar:$SMS_HOME/lib/j2ssh-core-0.2.9.jar:$SMS_HOME/bin:$SMS_HOME/lib/gson-2.2.2.jar
export PATH=/usr/local/bin:$PATH:$JAVA_HOME/bin:$SMS_HOME/bin:$SMS_HOME/lib

9
batch/slkr/master.sh Normal file
View File

@ -0,0 +1,9 @@
#!/bin/bash
echo "--start master creation"
cd $SMS_HOME/bin
java biz.cms_MasterCrt.MasterCrtClientAction -tm:10 -ty:20150312 -com:1002 -store:00999 -path:$CONFIG_FILE -deploy:false
echo "--end master creation"

View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start MasterAgentEx"
cd $SMS_HOME/bin
java biz.cms_MasterAgentEx.MasterAgentExPollingAction -path:$CONFIG_FILE
cd $APP_HOME/batch

6
batch/slkr/sdown.sh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
cd $SMS_HOME/bin
java -server kr.fujitsu.com.ffw.daemon.DaemonLauncher -mode:xml -path:$CONFIG_FILE -shutdown
cd $APP_HOME

6
batch/slkr/srun.sh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
cd $SMS_HOME/bin
java -server kr.fujitsu.com.ffw.daemon.DaemonLauncher -mode:xml -path:$CONFIG_FILE &
cd $APP_HOME

10
batch/slkr/ssgtr.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start SSGMbsTranPollingAction"
cd $SMS_HOME/bin
java biz.cms_SSGMbsTran.SSGMbsTranPollingAction -path:$CONFIG_FILE -cmd:001
cd $APP_HOME/batch

6
batch/srun.sh Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
cd $SMS_HOME/bin
java -server kr.fujitsu.com.ffw.daemon.DaemonLauncher -mode:xml -path:$CONFIG_FILE &
cd $APP_HOME

10
batch/ssgtr.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "--start SSGMbsTranPollingAction"
cd $SMS_HOME/bin
java biz.cms_SSGMbsTran.SSGMbsTranPollingAction -path:$CONFIG_FILE -cmd:001
cd $APP_HOME/batch

22
java_run/CallHpord.sh Normal file
View File

@ -0,0 +1,22 @@
#!/bin/ksh
#운영/개발
#/usr/bin/javac -classpath $CLASSPATH:. -source 1.7 -encoding UTF-8 CallHpordRunOutOfStock.java
#chmod 777 CallHpordRunOutOfStock.class
#chmod 777 CallHpord.sh
#CRONTAB
#*/1 * * * * sh /apps/appsvc/CMBO/java_run/CallHpord.sh >>/apps/appsvc/CMBO/java_run/cron.out
#* 0-5,6-23 * * * sh /apps/appsvc/CMBO/java_run/CallHpord.sh & sleep 10; sh /apps/appsvc/CMBO/java_run/CallHpord.sh & sleep 10; sh /apps/appsvc/CMBO/java_run/CallHpord.sh & sleep 10; sh /apps/appsvc/CMBO/java_run/CallHpord.sh & sleep 10; sh /apps/appsvc/CMBO/java_run/CallHpord.sh & sleep 10; sh /apps/appsvc/CMBO/java_run/CallHpord.sh
#실행
#/usr/bin/java -classpath $CLASSPATH:. CallHpordRunOutOfStock
date=`date +%Y-%m-%d`;
#echo $date;
/usr/bin/java -classpath /apps/appsvc/CMBO/java_run/.:/apps/appsvc/CMBO/workspace/sms-1.0.1/lib/ojdbc7.jar:/apps/appsvc/CMBO/workspace/sms-1.0.1/lib/commons-net-3.3.jar:/apps/appsvc/CMBO/workspace/sms-1.0.1/lib/j2ssh-core-0.2.9.jar:/apps/appsvc/CMBO/workspace/sms-1.0.1/bin:/apps/appsvc/CMBO/workspace/sms-1.0.1/lib/gson-2.2.2.jar:/apps/appsvc/CMBO/workspace/sms-1.0.1/lib/jsch-0.1.54.jar:/apps/appsvc/CMBO/workspace/sms-1.0.1/lib/commons-compress-1.3.jar:/apps/appsvc/CMBO/workspace/sms-1.0.1/lib/commons-codec-1.9.jar CallHpordRunOutOfStock >> /apps/appsvc/CMBO/java_run/cron_$date.out

View File

@ -0,0 +1,585 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.lang.management.ManagementFactory;
import java.net.HttpURLConnection;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
public class CallHpordRunOutOfStock {
/* 개발
private static String jdbcUrl = "jdbc:oracle:thin:@10.0.50.147:1521:spcdev01";
private static String jdbcId = "spp";//jdbc id
private static String jdbcPw = "spp";//jdbc pw
*/
/* 운영 */
private static String jdbcUrl = "jdbc:oracle:thin:@10.0.50.152:1521/PCPOS";
private static String jdbcId = "SPP";//jdbc id
private static String jdbcPw = "Spc_$pp!23";//jdbc pw
private static Connection dbConn = null;
private static String chk = "";
private static SimpleDateFormat formatter;
public static void main(String[] args) {
try {
SimpleDateFormat formatTime = new SimpleDateFormat("HHmmss");
chk = formatTime.format(new Date());
formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println( "[" + formatter.format(new Date()) + "] [" + chk + "] [INFO] ==== START ====" );
startCallApi();
} catch (SQLException se) {
se.printStackTrace();
} finally{
if(dbConn != null){
try{
dbConn.close();
}catch(SQLException e){
}
}
System.out.println( "[" + formatter.format(new Date()) + "] [" + chk + "] [INFO] ==== END ====" );
}
}
public static void startCallApi() throws SQLException{
String strOSName = System.getProperty("os.name");
String strPID = ManagementFactory.getRuntimeMXBean().getName().split("@")[0];
String strClassName = "CallHpordRunOutOfStock";
Boolean isRunnable = false;
try {
Process p = Runtime.getRuntime().exec( new String[]{
"/bin/sh"
, "-c"
, "ps -ef | grep [" + strClassName.substring(0, 1) + "]" + strClassName.substring(1, strClassName.length()) + " | awk '{ print $2 }'"
} );
BufferedReader in = new BufferedReader(new InputStreamReader( p.getInputStream() ) );
String s = null;
while( ( s = in.readLine() ) != null ){
if( strPID.equals(s) ){
continue;
}
isRunnable = true;
break;
}
if( in != null ) in.close();
} catch( IOException e ){
e.printStackTrace();
isRunnable = true;
}
if( !isRunnable ){
selectData();
} else {
/*isRunnable = searchAction();
if(isRunnable){*/
System.out.println( "[" + formatter.format(new Date()) + "] [" + chk + "] [INFO] " + strClassName + " Daemon이 이미 실행중 입니다" );
/*} else {
selectData();
}*/
}
}
public static void selectData() throws SQLException{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(jdbcUrl, jdbcId, jdbcPw);
dbConn.setAutoCommit(false);
} catch (ClassNotFoundException ce) {
ce.printStackTrace();
}
updateAction("1");
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
HashMap mp = null;
String storCd = "";
String itemCd = "";
String updStatus = "";
sql = " SELECT * FROM ( \n"; //점포코드
sql = sql + " SELECT A.STOR_CD \n"; //점포코드
sql = sql + " , A.ITEM_CD \n"; //상품코드
sql = sql + " , CASE WHEN A.STATUS_DIV = '0' THEN '01' \n";
sql = sql + " WHEN A.STATUS_DIV = '2' THEN '00' \n";
sql = sql + " ELSE '' END SHORTAGE_CD \n"; //품점여부 00:판매(비결품) , 01:결품
sql = sql + " , NVL( A.BASE_QTY , 0) \n";
sql = sql + " - NVL(A.SALE_QTY , 0) \n";
sql = sql + " + NVL(A.ORD_QTY , 0) \n";
sql = sql + " + NVL(A.MV_QTY , 0) \n";
sql = sql + " + NVL(A.ADD_STOCK_QTY , 0) \n";
sql = sql + " AS STOCK_QTY \n"; //재고수량
sql = sql + " , CASE WHEN A.STATUS_DIV = '0' THEN '1' \n";
sql = sql + " WHEN A.STATUS_DIV = '2' THEN '3' \n";
sql = sql + " ELSE '' END AS UPD_STATUS \n";
sql = sql + " FROM SPL_DAY_STOCK_HP A \n";
sql = sql + " , MST_STOR B \n";
sql = sql + " , MST_SALESORG_ITEM C \n";
sql = sql + " WHERE A.STOR_CD = B.STOR_CD \n";
sql = sql + " AND B.CMP_CD = C.CMP_CD \n";
sql = sql + " AND B.SALES_ORG_CD = C.SALES_ORG_CD \n";
sql = sql + " AND B.DRT_FRCS_TYPE = C.DRT_FRCS_TYPE \n";
sql = sql + " AND A.ITEM_CD = C.ITEM_CD \n";
sql = sql + " AND A.STATUS_DIV IN ('0', '2') \n";
sql = sql + " AND B.CMP_CD = 'PCKR' \n";
sql = sql + " AND C.CMP_CD = 'PCKR' \n";
sql = sql + " AND NVL(C.ITEM_PROD_TYPE, '1') <> '3' \n";
sql = sql + " UNION ALL \n";
sql = sql + " SELECT A.STOR_CD \n"; //점포코드
sql = sql + " , A.ITEM_CD \n"; //상품코드
sql = sql + " , CASE WHEN A.STATUS_DIV = '0' THEN '01' \n";
sql = sql + " WHEN A.STATUS_DIV = '2' THEN '00' \n";
sql = sql + " ELSE '' END SHORTAGE_CD \n"; //품점여부 00:판매(비결품) , 01:결품
sql = sql + " , NVL( A.BASE_QTY , 0) \n";
sql = sql + " - NVL(A.SALE_QTY , 0) \n";
sql = sql + " + NVL(A.ORD_QTY , 0) \n";
sql = sql + " + NVL(A.MV_QTY , 0) \n";
sql = sql + " + NVL(A.ADD_STOCK_QTY , 0) \n";
sql = sql + " AS STOCK_QTY \n"; //재고수량
sql = sql + " , CASE WHEN A.STATUS_DIV = '0' THEN '1' \n";
sql = sql + " WHEN A.STATUS_DIV = '2' THEN '3' \n";
sql = sql + " ELSE '' END AS UPD_STATUS \n";
sql = sql + " FROM SPL_DAY_STOCK_HP A \n";
sql = sql + " , SPL_HPYORD_ITEMVIEW_YN D \n";
sql = sql + " WHERE A.STOR_CD = D.STOR_CD \n";
sql = sql + " AND A.ITEM_CD = D.ITEM_CD \n";
sql = sql + " AND A.STATUS_DIV IN ('0', '2') \n";
sql = sql + " AND D.CMP_CD = 'PCKR' \n";
sql = sql + " ) \n";
sql = sql + " WHERE 1=1 \n";
sql = sql + " AND ROWNUM <= ( SELECT TO_NUMBER(CHAR_VAL_TITLE_VAL_01) AS NUM "
+ " FROM MST_CMM_CD_DTL "
+ " WHERE CMP_CD = 'PCKR' "
+ " AND CMM_GRP_CD = 'S0102' "
+ " AND CMM_CD = '1' "
+ " AND ROWNUM = 1 ) \n";
sql = sql + " \r\n";
try{
pstmt = dbConn.prepareStatement(sql) ;
rs = pstmt.executeQuery();
String sendJson = "";
int i = 0;
while(rs.next()){
storCd = rs.getString("STOR_CD");
itemCd = rs.getString("ITEM_CD");
updStatus = rs.getString("UPD_STATUS");
sendJson = "{\"deviceType\"" + ":\"POS\","
+ "\"brandCode\"" + ":\"PBparis\","
+ "\"storeCode\"" + ":\"" + storCd + "\","
+ "\"itemCode\"" + ":\"" + itemCd + "\","
+ "\"shortageCode\"" + ":\"" + rs.getString("SHORTAGE_CD") + "\","
+ "\"shortageMemo\"" + ":\"\","
+ "\"stockQty\"" + ":\"" + rs.getString("STOCK_QTY") + "\"}";
mp = new HashMap();
mp.put("STOR_CD" , storCd);
mp.put("ITEM_CD" , itemCd);
mp.put("UPD_STATUS" , updStatus);
// API 통신
callHappyOrdApi(sendJson, mp);
i++;
}
System.out.println( "[" + formatter.format(new Date()) + "] [" + chk + "] [INFO] Send Count ==> " + i );
}catch(Exception e){
e.printStackTrace();
}finally{
if(rs != null){
try{
rs.close();
}catch(SQLException e){
}
}
if(pstmt != null){
try{
pstmt.close();
}catch(SQLException e){
}
}
updateAction("0");
}
}
/**
* 해피오더 제고 테이블 상태 업데이트
*
* @param dsm 조회조건 데이터
* @return DataSet 조회 결과 데이터셋
*
* @throws Exception
*/
public static int updateStatus(HashMap param) {
PreparedStatement pstmt = null;
int rs = -1;
String sql = "";
sql = " UPDATE SPL_DAY_STOCK_HP \n";
sql = sql + " SET STATUS_DIV = ? \n"; //상태 업데이트
sql = sql + " , UPD_DATE = SYSDATE \n"; //업데이트 일자
sql = sql + " WHERE STOR_CD = ? \n";
sql = sql + " AND ITEM_CD = ? \n";
sql = sql + " \r\n";
try {
//System.out.println("Start updateStatus");
pstmt = dbConn.prepareStatement(sql) ;
pstmt.setString(1, (String) param.get("UPD_STATUS") );
pstmt.setString(2, (String) param.get("STOR_CD") );
pstmt.setString(3, (String) param.get("ITEM_CD") );
rs = pstmt.executeUpdate();
}catch(Exception e){
try {
dbConn.rollback();
} catch (SQLException e1) {
}
e.printStackTrace();
}finally{
try{
dbConn.commit();
if(pstmt != null){
pstmt.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
return rs;
}
public static boolean searchAction() {
ResultSet rs = null;
int intRs = 0;
PreparedStatement pstmt = null;
String sql = "";
sql = " SELECT NVL(CHAR_VAL_TITLE_VAL_01, 0) AS PRESS_YN \n";
sql = sql + " FROM MST_CMM_CD_DTL \n"; //상태 업데이트
sql = sql + " WHERE CMP_CD = 'PCKR' \n";
sql = sql + " AND CMM_GRP_CD = 'S0101' \n";
sql = sql + " AND CMM_CD = 'P' \n";
sql = sql + " \r\n";
try {
pstmt = dbConn.prepareStatement(sql) ;
rs = pstmt.executeQuery();
while(rs.next()){
intRs = rs.getInt("PRESS_YN");
}
}catch(Exception e){
e.printStackTrace();
}
return intRs==1?true:false;
}
public static int updateAction(String param) {
PreparedStatement pstmt = null;
int rs = -1;
String sql = "";
sql = " UPDATE MST_CMM_CD_DTL \n";
sql = sql + " SET CHAR_VAL_TITLE_VAL_01 = ? \n"; //상태 업데이트
sql = sql + " WHERE CMP_CD = 'PCKR' \n";
sql = sql + " AND CMM_GRP_CD = 'S0101' \n";
sql = sql + " AND CMM_CD = 'P' \n";
sql = sql + " \r\n";
try {
pstmt = dbConn.prepareStatement(sql) ;
pstmt.setString(1, param );
rs = pstmt.executeUpdate();
}catch(Exception e){
try{
dbConn.rollback();
}catch(SQLException se){
}
e.printStackTrace();
}finally{
try{
dbConn.commit();
if(pstmt != null){
pstmt.close();
}
}catch(SQLException e){
}
}
return rs;
}
/**
* 해피오더 점포 재고 JSON POST 통신
*
* @param dsm 조회조건 데이터
* @return DataSet 조회 결과 데이터셋
*
* @throws Exception
*/
public static void callHappyOrdApi(String sendJson, HashMap param) {
HttpURLConnection con = null;
BufferedReader in = null;
OutputStream os = null;
//JSON API URL(IP) 정보 -개발
String HP_IP = "http://apex.happypointcard.co.kr";
String URL = "/ho/soldout"; //매장 상품 결품 처리
//String sendJson = "";
//System.out.println("[ JSon Data ] =============================> " + sendJson);
try {
URL url = new URL( HP_IP + URL ); // 화면 MST409 승인 업체 관리에서 55 해피오더로 관리
con = (HttpURLConnection) url.openConnection();
con.setConnectTimeout(10000); //1000 millisecond 1초
con.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
con.setDoOutput(true); //POST 방식은 스트림 기반의 데이터 전송 방식이기 때문에 setDoOutput(true) 실행
con.setDoInput(true); //Server 통신에서 입력 가능한 상태로 만듬
con.setRequestMethod("POST");
con.connect();
//System.out.println( "[ JSON SEND ] " + sendJson );
System.out.println( "[" + formatter.format(new Date()) + "] [" + chk + "] [INFO] " + sendJson);
os = con.getOutputStream();
os.write(sendJson.getBytes("UTF-8"));
os.close();
// 응답값 처리
in = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
String receiveJson = "";
String strMap = "";
while((receiveJson = in.readLine()) != null) { // response를 차례대로 출력
//System.out.println( "[ JSON RECEIVE ] " + receiveJson );
//System.out.println( "[" + formatter.format(new Date()) + "] [" + chk + "] [INFO] " + receiveJson);
HashMap hm = new HashMap();
strMap = jSonToMapParsing(receiveJson).get("status").toString();
//System.out.println(strMap);
hm = jSonToMapParsing(strMap);
String strStatus = hm.get("status").toString().replace("\"", "");
String strCode = hm.get("code").toString().replace("\"", "");
String strMsg = hm.get("message").toString().replace("\"", "");
// 정상처리시 상태값 변경
if("200".equals(strStatus) && "20000".equals(strCode)){
updateStatus(param);
}else if("507".equals(strStatus) && "91005".equals(strCode)){
updateStatus(param);
}else{
String errMsg = "[ERROR] 점포코드/상품 [" + param.get("STOR_CD") + "/" + param.get("ITEM_CD") + "] status:" + strStatus + ",code:" + strCode + ",msg:" + strMsg ;
//System.out.println( "[" + formatter.format(new Date()) + "] [" + chk + "] [ERROR] "+ "status : " + strStatus.replace("\"", "") + ", code : " + strCode.replace("\"", "") );
errLog(param, errMsg);
}
}
in.close();
con.disconnect();
}catch (Exception e){
System.out.println( "[" + formatter.format(new Date()) + "] [" + chk + "] [ERROR] " + e.toString() );
}
}
public static int errLog(HashMap param, String errMsg) {
PreparedStatement pstmt = null;
PreparedStatement pstmt2 = null;
int rs = -1;
try {
String errSql = "";
errSql = " INSERT INTO SYS_BATCH_LOG (BATCH_ID ,BATCH_NM ,BATCH_TYPE ,START_DATE ,END_DATE ,SUCC_YN ,ERR_DESC ,REG_DATE ,REG_USER_ID ,UPD_DATE ,UPD_USER_ID) "
+ " VALUES ('YGY' ,'요기요 결품/재판매 API' ,'005' ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') ,TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') ,1 ,'"+errMsg+"' ,SYSDATE ,'java_run' ,SYSDATE ,'java_run' ) " ;
String updSql = "";
updSql = " UPDATE SPL_DAY_STOCK_HP \n";
updSql = updSql + " SET STATUS_DIV = ? \n"; //상태 업데이트
updSql = updSql + " , UPD_DATE = SYSDATE \n"; //업데이트 일자
updSql = updSql + " WHERE STOR_CD = ? \n";
updSql = updSql + " AND ITEM_CD = ? \n";
updSql = updSql + " \r\n";
pstmt = dbConn.prepareStatement(errSql) ;
rs = pstmt.executeUpdate();
//System.out.println("Start updateStatus");
pstmt2 = dbConn.prepareStatement(updSql) ;
pstmt2.setString(1, (String) param.get("UPD_STATUS") );
pstmt2.setString(2, (String) param.get("STOR_CD") );
pstmt2.setString(3, (String) param.get("ITEM_CD") );
rs = pstmt2.executeUpdate();
}catch(Exception e){
e.printStackTrace();
try {
dbConn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}finally{
try{
dbConn.commit();
if(pstmt != null){
pstmt.close();
}
if(pstmt2 != null){
pstmt2.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
return rs;
}
public static String isNull(String source, String value) {
String retVal;
if(source == null || source.trim().equals("") || source.trim().equals("null")) {
retVal = value;
} else {
retVal = source.trim();
}
return retVal;
}
public static String MapTojSonParsing(Map hmData) {
Gson gson = new GsonBuilder().disableHtmlEscaping().serializeNulls().create();
String sb = gson.toJson(hmData);
return sb.toString();
}
public static HashMap jSonToMapParsing(String sjson) {
JsonObject obj =(JsonObject) new com.google.gson.JsonParser().parse(sjson);
//new JsonParser().parse(sjson).getAsJsonObject(); //
Iterator i = obj.entrySet().iterator();
HashMap map = new HashMap();
while (i.hasNext()) {
Map.Entry e = (Map.Entry)i.next();
map.put((String)e.getKey(), e.getValue());
}
return map;
}
}

BIN
java_run/cron.zip Normal file

Binary file not shown.

BIN
lib/Seed.jar Normal file

Binary file not shown.

BIN
lib/commons-codec-1.9.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/commons-io-2.5.jar Normal file

Binary file not shown.

BIN
lib/commons-net-1.4.1.jar Normal file

Binary file not shown.

BIN
lib/commons-net-3.3.jar Normal file

Binary file not shown.

BIN
lib/commons-net-3.5.jar Normal file

Binary file not shown.

BIN
lib/cyberpass.jar Normal file

Binary file not shown.

BIN
lib/gson-2.2.2.jar Normal file

Binary file not shown.

BIN
lib/gson-2.6.2-javadoc.jar Normal file

Binary file not shown.

BIN
lib/gson-2.6.2-sources.jar Normal file

Binary file not shown.

BIN
lib/gson-2.6.2.jar Normal file

Binary file not shown.

BIN
lib/j2ssh-core-0.2.9.jar Normal file

Binary file not shown.

Binary file not shown.

BIN
lib/jsch-0.1.54.jar Normal file

Binary file not shown.

Binary file not shown.

BIN
lib/ojdbc14.jar Normal file

Binary file not shown.

BIN
lib/ojdbc5.jar Normal file

Binary file not shown.

BIN
lib/ojdbc6.jar Normal file

Binary file not shown.

BIN
lib/ojdbc7.jar Normal file

Binary file not shown.

BIN
lib/sms-framework-1.0.1.jar Normal file

Binary file not shown.

BIN
lib/sqljdbc.jar Normal file

Binary file not shown.

BIN
lib/sqljdbc4.jar Normal file

Binary file not shown.

BIN
lib/sqljdbc_auth.dll Normal file

Binary file not shown.

52
log4j.xml Normal file
View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="NHSSYSINFORCV" class="kr.fujitsu.com.ffw.util.DatedFileAppender" >
<param name="Suffix" value=".log" />
<param name="Prefix" value="nhssysinforcv" />
<param name="Directory" value="./../../../logs/sms" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyyMMdd HH:mm:ss}] [%-5p] %l - %m%n" />
</layout>
</appender>
<appender name="JSCHFTP" class="kr.fujitsu.com.ffw.util.DatedFileAppender" >
<param name="Suffix" value=".log" />
<param name="Prefix" value="jschftpmanager" />
<param name="Directory" value="./../../../logs/sms" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyyMMdd HH:mm:ss}] [%-5p] %l - %m%n" />
</layout>
</appender>
<appender name="NHSMASTERDATARCV" class="kr.fujitsu.com.ffw.util.DatedFileAppender" >
<param name="Suffix" value=".log" />
<param name="Prefix" value="nhsmasterdatarcv" />
<param name="Directory" value="./../../../logs/sms" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyyMMdd HH:mm:ss}] [%-5p] %l - %m%n" />
</layout>
</appender>
<appender name="FILEAGENT" class="kr.fujitsu.com.ffw.util.DatedFileAppender" >
<param name="Suffix" value=".log" />
<param name="Prefix" value="fileagent" />
<param name="Directory" value="./../../../logs/sms" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyyMMdd HH:mm:ss}] [%-5p] %l - %m%n" />
</layout>
</appender>
<logger name="biz.cms_FileAgent.FileAgentPollingAction">
<level value="DEBUG"/>
<appender-ref ref="FILEAGENT"/>
</logger>
<logger name="biz.cms_NhsMasterDataRcv.NhsMasterDataRcvAction">
<level value="DEBUG"/>
<appender-ref ref="NHSMASTERDATARCV"/>
</logger>
<logger name="biz.comm.JSCHFTPManager">
<level value="DEBUG"/>
<appender-ref ref="JSCHFTP"/>
</logger>
<logger name="biz.cms_NhsSysInfoRcv.NhsSysInfoRcvAction">
<level value="DEBUG"/>
<appender-ref ref="NHSSYSINFORCV"/>
</logger>
</log4j:configuration>

14
log_gzip.sh Normal file
View File

@ -0,0 +1,14 @@
#!/bin/sh
date=`date -d 'yesterday' +%Y-%m-%d`;
#echo $date;
rm -rf /apps/appsvc/CMBO/logs/sms/BACKUP*;
mkdir /apps/appsvc/CMBO/logs/sms/BACKUP.$date;
#gzip $(find /apps/appsvc/CMBO/logs/sms -name "*`date -d 'yesterday' +%Y-%m-%d`.log" -type f );
gzip /apps/appsvc/CMBO/logs/sms/*`date -d 'yesterday' +%Y-%m-%d`.log;
mv /apps/appsvc/CMBO/logs/sms/*.gz /apps/appsvc/CMBO/logs/sms/BACKUP.$date;

257
sms-1.0.1.iml Normal file
View File

@ -0,0 +1,257 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="EclipseModuleManager">
<libelement value="jar://$MODULE_DIR$/lib/commons-codec-1.9.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-compress-1.12.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-compress-1.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-io-2.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-net-1.4.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-net-3.3.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-net-3.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/cyberpass.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/gson-2.2.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/gson-2.6.2-javadoc.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/gson-2.6.2-sources.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/gson-2.6.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/j2ssh-core-0.2.9.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/j2ssh-maverick-1.5.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jsch-0.1.54.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/mysql-connector-java-5.1.15-bin.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/ojdbc14.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/ojdbc5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/ojdbc6.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/ojdbc7.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/Seed.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/sms-framework-1.0.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/sqljdbc.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/sqljdbc4.jar!/" />
<src_description expected_position="0">
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
</src_description>
</component>
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/bin" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library name="commons-codec-1.9.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-codec-1.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-compress-1.12.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-compress-1.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-compress-1.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-compress-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-io-2.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-io-2.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-net-1.4.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-net-1.4.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-net-3.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-net-3.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-net-3.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-net-3.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="cyberpass.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/cyberpass.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="gson-2.2.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/gson-2.2.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="gson-2.6.2-javadoc.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/gson-2.6.2-javadoc.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="gson-2.6.2-sources.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/gson-2.6.2-sources.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="gson-2.6.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/gson-2.6.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="j2ssh-core-0.2.9.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/j2ssh-core-0.2.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="j2ssh-maverick-1.5.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/j2ssh-maverick-1.5.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jsch-0.1.54.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jsch-0.1.54.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="mysql-connector-java-5.1.15-bin.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/mysql-connector-java-5.1.15-bin.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="ojdbc14.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/ojdbc14.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="ojdbc5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/ojdbc5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="ojdbc6.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/ojdbc6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="ojdbc7.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/ojdbc7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Seed.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/Seed.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="sms-framework-1.0.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/sms-framework-1.0.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="sqljdbc.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/sqljdbc.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="sqljdbc4.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/sqljdbc4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="inheritedJdk" />
</component>
</module>

View File

@ -0,0 +1,943 @@
/*
* MasterDAO.java 2011. 03. 17
*
* Copyright 2011 FUJITSU KOREA LTD. All rights reserved.
* FUJITSU KOREA LTD PROPRIETARY/CONFIDENTIAL.
* Use is subject to license terms.
*/
package biz.cms_FileAgent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;
import kr.fujitsu.com.ffw.daemon.core.config.repository.property.PropertyUtil;
import kr.fujitsu.com.ffw.daemon.core.config.repository.sql.SqlUtil;
import kr.fujitsu.com.ffw.model.GenericDAO;
import kr.fujitsu.com.ffw.model.SqlWrapper;
import kr.fujitsu.com.ffw.model.ProcedureWrapper;
import kr.fujitsu.com.ffw.model.ProcedureResultSet;
import kr.fujitsu.com.ffw.model.DataTypes;
import kr.fujitsu.com.ffw.util.ZipUtil;
import kr.fujitsu.com.ffw.daemon.core.config.repository.*;
/**
* MasterAgentDAO
* A class that has inherited GenericDAO(GenericDAO를 상속받은 클래스)
* It is responsible for functions to access DB to retrieve respective information(DB에 접속하여 해당 정보를 조회해 오거나)
* or update DB information(DB정보를 업데이트 하는 기능을 담당한다).
* @created on 1.0, 11/03/17
* @created khk(FUJITSU KOREA LTD.)
*
* @modified on
* @modified by ok
* @caused by
*/
public class FileAgentDAO extends GenericDAO{
private static Logger logger = Logger.getLogger(FileAgentPollingAction.class);
/*
//파일을 이동하는 메소드
public static void fileMove(String inFileName, String outFileName) {
try {
FileInputStream fis = new FileInputStream(inFileName);
FileOutputStream fos = new FileOutputStream(outFileName);
int data = 0;
while((data=fis.read())!=-1) {
fos.write(data);
}
fis.close();
fos.close();
//복사한뒤 원본파일을 삭제함
fileDelete(inFileName);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
*/
public void fileCopy(String sorg , String starget ) throws Throwable{
FileInputStream inputStream = new FileInputStream(sorg);
FileOutputStream outputStream = new FileOutputStream(starget);
FileChannel fcin = inputStream.getChannel();
FileChannel fcout = outputStream.getChannel();
try{
long size = fcin.size();
fcin.transferTo(0, size, fcout);
}catch (Exception e ){
//e.printStackTrace();
logger.info("file copy error :" + e.getMessage());
}finally{
fcout.close();
fcin.close();
outputStream.close();
inputStream.close();
}
}
public static void copyFileCommonsIO(String source, String dest) throws IOException {
File oOldFile = null;
File oNewFile = null;
oOldFile = new File(source);
oNewFile = new File(dest);
FileUtils.copyFile(oOldFile, oNewFile);
}
public static void copyFileUsingApacheCommonsIO(File source, File dest) throws IOException {
FileUtils.copyFile(source, dest);
}
/**
* Description : 파일 명을 변경 한다.
*
* @param String * sDir : 디렉토리
* @param String * sOldFileName : 이전 파일명
* @param String * sNewFileName : 파일명
* @return boolean
* @exception none
*/
public boolean renameFile( String sOldFileName, String sNewFileName) {
File oOldFile = null;
File oNewFile = null;
boolean suc = true;
oOldFile = new File(sOldFileName);
oNewFile = new File(sNewFileName);
suc = oOldFile.renameTo(oNewFile);
return suc;
}
public void fileDelete(String deleteFileName) {
File I = new File(deleteFileName);
I.delete();
}
// 파일 백업 초기 작업
public int setDirFileList(String orgPath , String destPath ) throws Exception {
// 파일 목록을 요청한 디렉토리를 가지고 파일 객체를 생성함
File dir = new File(orgPath);
try {
// 디렉토리가 존재한다면
if (dir.exists()) {
// 파일 목록을 구함
File[] files = dir.listFiles();
for (File file : files) {
//파일 카피
logger.info("file backup 시작 :" + destPath+File.separator+ file.getName());
fileCopy(dir+File.separator+ file.getName() ,destPath+File.separator+ file.getName());
fileDelete(dir+File.separator+ file.getName());
}
}
}catch( Exception e){
}finally{
return 0;
}
}
public void mkDir(String dirPath ){
File dir = new File(dirPath);
if(!dir.exists()){
//디렉토리 생성 메서드
dir.mkdirs();
}
}
public List getDirFileList(String dirPath )
{
Calendar calendar = new GregorianCalendar(Locale.KOREA);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
calendar.setTime(new Date());
calendar.add(Calendar.DATE, -1);
// 전일자 등록 여부 체크
String sale_dt = sdf.format(calendar.getTime());
// 파일 목록을 요청한 디렉토리를 가지고 파일 객체를 생성함
File dir = new File(dirPath);
List dirList = new ArrayList();
// 디렉토리가 존재한다면
if (dir.exists()) {
// 파일 목록을 구함
File[] files = dir.listFiles();
for (File file : files) {
Date date = new Date(file.lastModified());
String fileDate = sdf.format(date);
//if (file.isFile() && fileDate.equals(sale_dt)){
if (file.isFile()){
dirList.add(file.getName());
}
}
}
return dirList;
}
// 변경된 파일 정보만 조회
public List getDirModifyFileList(String dirPath )
{
Calendar calendar = new GregorianCalendar(Locale.KOREA);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
calendar.setTime(new Date());
calendar.add(Calendar.DATE, -7);
// 전일자 등록 여부 체크
String sale_dt = sdf.format(calendar.getTime());
calendar.add(Calendar.DATE, 0 );
// 전일자 등록 여부 체크
String sale_dt1 = sdf.format(calendar.getTime());
// 파일 목록을 요청한 디렉토리를 가지고 파일 객체를 생성함
File dir = new File(dirPath);
List dirList = new ArrayList();
logger.info("[Dir Name is ]" + dirPath);
// 디렉토리가 존재한다면
if (dir.exists()) {
// 파일 목록을 구함
File[] files = dir.listFiles();
logger.info("[file size ]" + files.length);
for (File file : files) {
Date date = new Date(file.lastModified());
String fileDate = sdf.format(date);
logger.info("[file name ]" + file.getName());
if (file.isFile() && ( fileDate.compareTo(sale_dt) >= 0 )){
//if (file.isFile()){
logger.info("[file name ]" + file.getName());
dirList.add(file.getName());
}
}
}
return dirList;
}
/**
* 정기마스터 배신정보 생성 프로시저
* @return Result code (결과코드)
* @exception exception Description of Exception(예외사항설명)
*/
public int procMSTINFOCRT(Map map) throws Exception {
ProcedureWrapper proc = new ProcedureWrapper();
/*
*/
int i=0;
int ret=0;
//DB Connection(DB 접속)
connect("NHS");
try {
begin();
logger.info("tran_ymd:" + (String)map.get("SALE_DT"));
logger.info("com_cd:" + (String)map.get("CMP_CD"));
logger.info("FILE_NM:" + (String)map.get("FILE_NM"));
logger.info("FILE_PATH:" + (String)map.get("FILE_PATH"));
/*
IN_SALE_DT IN VARCHAR2
, IN_CMP_CD IN VARCHAR2
, IN_FILE_NM IN VARCHAR2
, IN_STOR_CD IN VARCHAR2
, IN_FILE_PATH IN VARCHAR2
, IN_DEPLOY_DIV IN VARCHAR2
*/
logger.info("[DEBUG] [procMSTINFOCRT] Begin");
proc.put("SP_WAT_DEPLOYDATA_CRT_VER2", 8);
//proc.put("SP_WAT_DEPLOYDATA_CRT", 8);
proc.setString(++i, (String)map.get("SALE_DT")); // tran_ymd
proc.setString(++i, (String)map.get("CMP_CD")); // com_cd
proc.setString(++i, (String)map.get("FILE_NM")); // FILE_NM
proc.setString(++i, (String)map.get("STOR_CD")); // store_cd
proc.setString(++i, (String)map.get("FILE_PATH")); // FILE_PATH
proc.setString(++i, (String)map.get("DEPLOY_DIV")); // create_ty
proc.registerOutParameter(++i, DataTypes.INTEGER);
proc.registerOutParameter(++i, DataTypes.VARCHAR);
ProcedureResultSet prs = super.executeUpdateProcedure(proc);
logger.info("[DEBUG] [procMSTINFOCRT] sql :" + proc.debug());
ret = prs.getInt(7);
String retMsg = prs.getString(8);
logger.info("[DEBUG] [procMSTINFOCRT] ResultMsg:" + retMsg);
logger.info("[DEBUG] [procMSTINFOCRT] End");
} catch (Exception e) {
rollback();
System.out.println(e.getMessage());
logger.info("[ERROR] procMSTINFOCRT::" + e);
ret=-1;
} finally {
// 모든 trasaction을 종료하고 리소스를 반납합니다.
end();
}
return ret;
}
// 재구 호출 파일 폴더삭제
public static boolean deleteDirectory(File path) {
if(!path.exists()) {
return false;
}
File[] files = path.listFiles();
for (File file : files) {
if (file.isDirectory()) {
deleteDirectory(file);
} else {
file.delete();
}
}
return path.delete();
}
public String getFileNm(String cmp_cd , String deploy_dt, String down_div ) {
int ret = 0;
String sql_debug1 = "";
SqlWrapper sql = new SqlWrapper();
List list = null;
String retStr =null;
Map map = new HashMap();
int i = 0;
try {
connect("NHS");
//begin();
sql.put(findQuery("pos-sql", "SEL_WAT_FILENM"));
sql.setString(++i, deploy_dt);
sql.setString(++i, cmp_cd);
sql.setString(++i, deploy_dt);
sql.setString(++i, down_div);
list = executeQuery(sql);
logger.info("[SQL info] " + sql.debug());
if ( list.size() > 0) {
map = (Map<String, String>)list.get(0);
retStr = (String)map.get("FILE_NM");
logger.info("[SQL File version Name] " +retStr);
}else{
retStr= "";
}
} catch(SQLException se) {
retStr= "";
logger.info("[SQL SUB ERROR 1 ] " + se.getMessage());
} catch(Exception e) {
logger.info("[SQL SUB ERROR 2 ] " + e.getMessage());
retStr= "";
} finally {
return retStr;
//df.CommLogger("▶ 5: SetData END return: "+ret);
}
}
public List getDelFileNm(String cmp_cd , String deploy_dt, String down_div ) {
int ret = 0;
String sql_debug1 = "";
SqlWrapper sql = new SqlWrapper();
List list = null;
String retStr =null;
Map map = new HashMap();
int i = 0;
try {
connect("NHS");
//begin();
sql.put(findQuery("pos-sql", "SEL_WAT_FILENM"));
sql.setString(++i, deploy_dt);
sql.setString(++i, cmp_cd);
sql.setString(++i, deploy_dt);
sql.setString(++i, down_div);
list = executeQuery(sql);
logger.info("[SQL info] " + sql.debug());
if ( list.size() > 0) {
map = (Map<String, String>)list.get(0);
retStr = (String)map.get("FILE_NM");
logger.info("[SQL info] " +retStr);
}else{
retStr= "";
}
} catch(SQLException se) {
retStr= "";
logger.info("[SQL SUB ERROR 1 ] " + se.getMessage());
} catch(Exception e) {
logger.info("[SQL SUB ERROR 2 ] " + e.getMessage());
retStr= "";
} finally {
return list;
//df.CommLogger("▶ 5: SetData END return: "+ret);
}
}
/**
* 마스터 생성 배치 프로시저
* @return Result (결과코드)
* @exception exception Description of Exception(예외사항설명)
*/
public String getSysDate(String cmp_cd , int iDay) throws Exception {
String sql_debug1 = "";
SqlWrapper sql = new SqlWrapper();
List list = null;
String retStr =null;
Map map = new HashMap();
int i = 0;
SqlUtil su = new SqlUtil();
Calendar calendar = new GregorianCalendar(Locale.KOREA);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
calendar.setTime(new Date());
String today = sdf.format(calendar.getTime());
try {
connect("NHS");
//begin();
sql.put(su.findQuery("nhssysinq-sql", "SEL_SYSTEM_DATE"));
sql.setString(++i, cmp_cd);
sql.setInt(++i, iDay);
list = executeQuery(sql);
if ( list.size() > 0) {
map = (Map<String, String>)list.get(0);
retStr = (String)map.get("SYS_DATE");
//logger.info("[SQL info] " +retStr);
}else{
retStr= today;
}
} catch(SQLException se) {
retStr= "";
logger.info("[SQL SUB ERROR 1 ] " + se.getMessage());
} catch(Exception e) {
logger.info("[SQL SUB ERROR 2 ] " + e.getMessage());
retStr= "";
} finally {
return retStr;
//df.CommLogger("▶ 5: SetData END return: "+ret);
}
}
/**
* 마스터 생성 배치 프로시저
* @return Result (결과코드)
* @exception exception Description of Exception(예외사항설명)
*/
public List getbetweenDate(String cmp_cd , String dt1 , String dt2) throws Exception {
String sql_debug1 = "";
SqlWrapper sql = new SqlWrapper();
List list = null;
List retStr =null;
Map map = new HashMap();
int i = 0;
Calendar calendar = new GregorianCalendar(Locale.KOREA);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
calendar.setTime(new Date());
String today = sdf.format(calendar.getTime());
try {
connect("PCKR");
//SEL_CALENDAR_DATE
sql.put(findQuery("nhssysinq-sql", "SEL_CALENDAR_DATE"));
sql.setString(++i, cmp_cd);
sql.setString(++i, dt1);
sql.setString(++i, dt2);
list = executeQuery(sql);
logger.info("[SQL info] " + sql.debug());
if ( list.size() > 0) {
retStr = list;
logger.info("[SQL info] " +retStr);
}else{
retStr= null;
}
} catch(SQLException se) {
retStr= null;
logger.info("[SQL SUB ERROR 1 ] " + se.getMessage());
} catch(Exception e) {
logger.info("[SQL SUB ERROR 2 ] " + e.getMessage());
retStr= null;
} finally {
return list;
}
}
public List getDelfileName(String cmp_cd ,String del_date , String sel_div ) throws Exception {
String sql_debug1 = "";
SqlWrapper sql = new SqlWrapper();
List list = null;
List retStr =null;
Map map = new HashMap();
int i = 0;
Calendar calendar = new GregorianCalendar(Locale.KOREA);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
calendar.setTime(new Date());
String today = sdf.format(calendar.getTime());
try {
connect("NHS");
sql.put(findQuery("pos-sql", "SEL_DEL_IMG_LST"));
sql.setString(++i, cmp_cd);
sql.setString(++i, del_date);
list = executeQuery(sql);
if ( list.size() > 0) {
retStr = list;
}else{
retStr= null;
}
} catch(SQLException se) {
retStr= null;
logger.info("[SQL SUB ERROR 1 ] " + se.getMessage());
} catch(Exception e) {
logger.info("[SQL SUB ERROR 2 ] " + e.getMessage());
retStr= null;
} finally {
return list;
}
}
public List getStorOrgCd(String cmp_cd) throws Exception {
String sql_debug1 = "";
SqlWrapper sql = new SqlWrapper();
List list = null;
Map map = new HashMap();
int i = 0;
try {
connect("PCKR");
sql.put(findQuery("pos-sql", "SEL_SALESORG_LST"));
sql.setString(++i, cmp_cd);
list = executeQuery(sql);
} catch(SQLException se) {
logger.info("[SQL SUB ERROR 1 ] " + se.getMessage());
} catch(Exception e) {
logger.info("[SQL SUB ERROR 2 ] " + e.getMessage());
} finally {
return list;
}
}
public List getCustomerFileNm(String cmp_cd , String File_div ) throws Exception {
String sql_debug1 = "";
SqlWrapper sql = new SqlWrapper();
List list = null;
Map map = new HashMap();
int i = 0;
try {
connect("PCKR");
//logger.info("[SQL file div ] " + File_div);
// 파일명 관리 테이블 파일명 그대로 select
if ("03".equals(File_div)){ // customer file
sql.put(findQuery("pos-sql", "SEL_CUSTOMER_FILE_LST"));
sql.setString(++i, cmp_cd);
//sql.setString(++i, sale_orgcd);
//sql.setString(++i, upd_date);
}else if ("07".equals(File_div)){ // cdp_com
sql.put(findQuery("pos-sql", "SEL_CDP_COM_FILE_LST"));
sql.setString(++i, cmp_cd);
sql.setString(++i, cmp_cd);
sql.setString(++i, cmp_cd);
sql.setString(++i, cmp_cd);
sql.setString(++i, cmp_cd);
sql.setString(++i, cmp_cd);
}
list = executeQuery(sql);
//logger.info("[SQL SUB ERROR 1 ] " + sql.debug());
} catch(SQLException se) {
logger.info("[SQL SUB ERROR 1 ] " + se.getMessage() + sql.debug());
} catch(Exception e) {
logger.info("[SQL SUB ERROR 2 ] " + e.getMessage());
} finally {
return list;
}
}
/**
* 배치 프로시저
* @return Result (결과코드)
* @exception exception Description of Exception(예외사항설명)
*/
public int procBATCHSCHEDULE() throws Exception {
ProcedureWrapper proc = new ProcedureWrapper();
int i=0;
int ret=0;
//DB Connection(DB 접속)
connect("CMGNS");
try {
begin();
logger.info("[DEBUG] [procBATCHSCHEDULE] Begin");
proc.put("SP_BATCH_SCHEDULE", 2);
proc.registerOutParameter(++i, DataTypes.INTEGER);
proc.registerOutParameter(++i, DataTypes.VARCHAR);
ProcedureResultSet prs = super.executeUpdateProcedure(proc);
ret = prs.getInt(1);
String retMsg = prs.getString(2);
logger.info("[DEBUG] [procBATCHSCHEDULE] ResultMsg:" + retMsg);
logger.info("[DEBUG] [procBATCHSCHEDULE] End");
} catch (Exception e) {
rollback();
System.out.println(e.getMessage());
logger.info("[ERROR] procBATCHSCHEDULE::" + e);
ret=-1;
} finally {
// 모든 trasaction을 종료하고 리소스를 반납합니다.
end();
}
return ret;
}
/*
* 1.브랜드별 상품 이미지 파일 저장.
*
*/
public int getDirModifyFileList(String dirPath , String file_div , String file_sub_div, String option ) throws Exception
{
int iret =0;
int i = 0;
SqlWrapper sql = new SqlWrapper();
try {
begin();
connect("PCKR");
sql = new SqlWrapper();
Calendar calendar = new GregorianCalendar(Locale.KOREA);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
calendar.setTime(new Date());
calendar.add(Calendar.DATE, -3);
// 전일자 등록 여부 체크
String sale_dt = sdf.format(calendar.getTime());
calendar.add(Calendar.DATE, 0 );
// 전일자 등록 여부 체크
String sale_dt1 = sdf.format(calendar.getTime());
// 파일 목록을 요청한 디렉토리를 가지고 파일 객체를 생성함
File dir = new File(dirPath);
List dirList = new ArrayList();
logger.info("[Dir Name is ]" + dirPath);
// 디렉토리가 존재한다면
if (dir.exists()) {
// 파일 목록을 구함
File[] files = dir.listFiles();
logger.info("[file size ]" + files.length);
for (File file : files) {
Date date = new Date(file.lastModified());
String fileDate = sdf.format(date);
if(sql!= null) {
sql.close();
}
if (option.equals("1")){ //전체 파일 저장
//옵션 1 전체 파일 반환
if (file.isFile()){
//insert 캐셔 테스트 항목
sql.put(findQuery("pos-sql", "MER_POS_WAT_FILE_LIST"));
sql.setString(1, file_div);
if(file_sub_div.equals("1")){
sql.setString(2, file.getName().substring(0, file.getName().indexOf("_")));
}else if(file_sub_div.equals("2")){
sql.setString(2, file.getName().substring(0, file.getName().indexOf(".")));
}else{
sql.setString(2, file.getName());
}
sql.setString(3, file_sub_div);
sql.setString(4, fileDate.toString());
//file[j].getName().substring( 0, file[j].getName().indexOf("."))
iret = executeUpdate(sql);
//logger.info("[file name ]" + sql.debug() );
}
}else{ // - 3일 이후 데이터 모두 저장
if (file.isFile() && ( fileDate.compareTo(sale_dt) >= 0 )){
logger.info("[file name2 ]" + file.getName());
//insert 캐셔 테스트 항목
sql = new SqlWrapper();
sql.put(findQuery("pos-sql", "MER_POS_WAT_FILE_LIST"));
sql.setString(1, file_div);
if(file_sub_div.equals("1")){
sql.setString(2, file.getName().substring(0, file.getName().indexOf("_")));
}else if(file_sub_div.equals("2")) {
sql.setString(2, file.getName().substring(0, file.getName().indexOf(".")));
}else{
sql.setString(2, file.getName());
}
sql.setString(3, file_sub_div);
sql.setString(4, fileDate.toString());
iret = executeUpdate(sql);
}
} //if end
} //for end
}
} catch(SQLException e){
logger.info( "▶ SQLException Rollback=====>"+ e.getMessage() + " " + e.toString() );
logger.info( "▶ SQLException SQL=====>"+ sql.debug());
iret = 20;
rollback();
}catch( Exception e) {
logger.info("[err ]" + e.toString());
iret = 9;
//}catch( )
}finally{
end();
}
return iret;
}
/**
* getMakeFileNmList - 복사할 파일 조회
* @param m
* @return file List
* @throws Exception
*/
public List getMakeFileNmList(String cmp_cd , String sOrgCd, String file_div , String file_sub_div ) {
int ret = 0;
String sql_debug1 = "";
SqlWrapper sql = new SqlWrapper();
List list = null;
String retStr =null;
Map map = new HashMap();
int i = 0;
try {
connect("PCKR");
//begin();
if("03".equals(file_div.toString()) ){ //customer image
}else if("04".equals(file_div.toString()) ){ // item image
sql.put(findQuery("pos-sql", "SEL_WAT_FILE_LIST"));
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
sql.setString(++i, file_div);
sql.setString(++i, file_sub_div);
}else if("05".equals(file_div.toString()) ){// campaign image
sql.put(findQuery("pos-sql", "SEL_WAT_CPI_IMG_LIST"));
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
}else if("06".equals(file_div.toString()) ){// test mode image
sql.put(findQuery("pos-sql", "SEL_WAT_TEST_IMG_LIST"));
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
}else if("07".equals(file_div.toString()) ){// cdp-com image
sql.put(findQuery("pos-sql", "SEL_CDPCOM_BRAND_FILE_LST"));
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
sql.setString(++i, cmp_cd);
sql.setString(++i, sOrgCd);
}
list = executeQuery(sql);
logger.info("[SQL info] " + sql.debug());
if ( list.size() > 0) {
map = (Map<String, String>)list.get(0);
retStr = (String)map.get("FILE_NM");
}else{
retStr= "";
}
} catch(SQLException se) {
retStr= "";
logger.info("[SQL SUB ERROR 1 ] " + se.getMessage());
} catch(Exception e) {
logger.info("[SQL SUB ERROR 2 ] " + e.getMessage());
retStr= "";
} finally {
return list;
//df.CommLogger("▶ 5: SetData END return: "+ret);
}
}
/**
* generateTrlogData - 일자별 TRLOG 파일을 생성함
* @param m
* @param path : Path to generate TBL File(TBL파일 생성할 경로)
* @return
* @throws Exception
*/
private int generateTrlogData(Map<String, String> m, String path) throws Exception {
StringBuffer sb = new StringBuffer();
//MasterCrtExDAO dao = new MasterCrtExDAO();
String fileName = (String)m.get("STOR_CD") + "_" + (String)m.get("SALE_DT") + "_" + "TRLOG.tbl";
boolean flag = true;
int max = 0;
try {
while(flag) {
List<Object> list = null;
// list = selectMaster(m, "SEL_TRLOG_DATA", max);
if(list.size() > 0) {
if(max > 0)
sb.setLength(0);
for(int i = 0;i < list.size();i++) {
Map<String, String> map = (Map<String, String>)list.get(i);
sb.append( (String)map.get("DEAL_DATA") + "@~" ) ;
}
if (max == 0)
{
// If there is result of inquiry, generate a file(조회된 결과가 있으면 파일 생성)
if(sb.length()>0) {
ZipUtil.createFileUTF16(sb, path, fileName, false);
//logger.info("[comcd : "+(String)m.get("com_cd")+"][storecd : "+(String)m.get("store_cd")+"] Filename : "+fileName+" is created.");
} else {
ZipUtil.createFileUTF16(sb, path, fileName, false);
//logger.info("[comcd : "+(String)m.get("com_cd")+"][storecd : "+(String)m.get("store_cd")+"] Filename : "+fileName+" is not created. There are no data.");
}
}
else
{
// If there is result of inquiry, generate a file(조회된 결과가 있으면 파일 추가)
ZipUtil.createFileUTF16(sb, path, fileName, true);
// logger.info("[comcd : "+(String)m.get("com_cd")+"][storecd : "+(String)m.get("store_cd")+"] Filename : "+fileName+" is appended.");
}
max++;
}else {
if( max == 0 ) {
ZipUtil.createFileUTF16(sb, path, fileName, false);
// logger.info("[comcd : "+(String)m.get("com_cd")+"][storecd : "+(String)m.get("store_cd")+"] Filename : "+fileName+" is appended.");
}
flag = false;
}
}
}catch(Exception e) {
logger.info("[ERROR]" + e);
throw e;
}
return 0;
}
}

View File

@ -0,0 +1,476 @@
/*
* MasterCrtAgentPollingAction.java 2011. 03. 17
*
* Copyright 2011 FUJITSU KOREA LTD. All rights reserved.
* FUJITSU KOREA LTD PROPRIETARY/CONFIDENTIAL.
* Use is subject to license terms.
*/
package biz.cms_FileAgent;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Enumeration;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import kr.fujitsu.com.ffw.daemon.core.DaemonConfigLocator;
import kr.fujitsu.com.ffw.daemon.core.config.repository.property.PropertyUtil;
import kr.fujitsu.com.ffw.daemon.net.polling.PollingAction;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.log4j.Logger;
import biz.comm.CompressionUtil;
import biz.comm.JSCHFTPManager;
import biz.comm.SFTPManager;
/**
* MasterAgentPollingAction
* Kiosk 파일 압축 Ftp serve 전송
* @created on 1.0, 2019.02.18
* @created by Zin corp.
*
* @modified on
* @modified by
* @caused by
*/
public class FileAgentPollingAction extends PollingAction {
private static Logger logger = Logger.getLogger(FileAgentPollingAction.class);
//private final int MAX_TARGET_NUM = 30;
public static void main(String args[]) throws Exception {
FileAgentPollingAction action = new FileAgentPollingAction();
logger.debug("" + " FileAgent main args null");
try {
if (args == null || args.length < 1) {
logger.debug("" + " master main args null");
}
String path = nvl(args[0].replaceFirst("-path:" ,""));
DaemonConfigLocator locator = DaemonConfigLocator.getInstance("xml",path);
action.execute("1");
}catch(Exception e) {
logger.debug("[ERROR]" + e.getMessage());
}
}
private static String nvl(String param) {
return param != null ? param: "";
}
public void execute(String actionMode ) {
try {
PropertyUtil pu = new PropertyUtil();
//String server_no = pu.findProperty("stsys-property", "SERVER_NO");
String server_no = "1";
if (actionMode.equals("1") && server_no.equals("1")) {
FileAgentDAO dao = new FileAgentDAO();
Calendar calendar = new GregorianCalendar(Locale.KOREA);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
calendar.setTime(new Date());
String today = sdf.format(calendar.getTime());
//calendar.add(Calendar.DATE, 1);
//String sale_dt = sdf.format(calendar.getTime());
HashMap hm = new HashMap();
/*hm.put("FTP_SERVER", pu.findProperty("stsys-property", "FTP_SERVER_IP"));
hm.put("FTP_ID", pu.findProperty("stsys-property", "FTP_SERVER_ID"));
hm.put("FTP_PWD", pu.findProperty("stsys-property", "FTP_SERVER_PWD"));
hm.put("FTP_PORT",Integer.parseInt(pu.findProperty("stsys-property", "FTP_SERVER_PORT")));
hm.put("FTP_POS_PORT",Integer.parseInt(pu.findProperty("stsys-property", "FTP_POS_PORT")));
hm.put("USER_HOME","/home/hs_dev");
hm.put("FTP_USER_HOME", pu.findProperty("stsys-property", "FTP_USER_HOME")) ;
hm.put("DAY_CNT", pu.findProperty("stsys-property", "FTP_USER_HOME")) ;*/
/*hm.put("FTP_SERVER", "10.0.40.148");
hm.put("FTP_ID", "stationftp");
hm.put("FTP_PWD", "R+n0Ef}?%]");
hm.put("FTP_PORT","22");
hm.put("FTP_POS_PORT","21");
hm.put("USER_HOME","/home/hs_dev");
hm.put("FTP_USER_HOME", "/ftp_home/stationftp/dev/CMBO") ;
hm.put("DAY_CNT", "/ftp_home/stationftp/dev/CMBO") ;*/
hm.put("FTP_SERVER", "211.108.6.162");
hm.put("FTP_ID", "Nftp_nhs");
hm.put("FTP_PWD", "L6y7V>gxU\\");
hm.put("FTP_PORT","22");
hm.put("FTP_POS_PORT","21");
hm.put("USER_HOME","/home/hs_dev");
hm.put("FTP_USER_HOME", "/data/Nftp_nhs/dev/CMBO") ;
hm.put("DAY_CNT", "/data/Nftp_nhs/dev/CMBO") ;
//법인 회사별 영업일 조회
String deploy_dt = dao.getSysDate("PCKR" ,0);
//백업기간 일자는 파일별로 다를 있음 3일치?
String deploy_dt2 =dao.getSysDate("PCKR" ,4);
//영업일 4일전부터 오늘까지
//List ls = new ArrayList();
//ls.add("20190307");
List ls = dao.getbetweenDate("PCKR" , deploy_dt2 , deploy_dt);
//total 이미지 파일 삭제 처리
//DeleteCDPCOMFile("PCKR",hm);
//DeletCustomerFile("PCKR",hm);
//file div 11: item 12: optn 13: CATE 14 :cate 15: screen 16: present 17: PRD_TAG 18: LOGO
makeItemImageCreate("PCKR","002",deploy_dt,"ITEM","ITEM",ls,hm,"11");
makeItemImageCreate("PCKR","002",deploy_dt,"OPTN","OPTN",ls,hm,"12");
makeItemImageCreate("PCKR","002",deploy_dt,"CAMPN","CAMPN",ls,hm,"13");
makeItemImageCreate("PCKR","002",deploy_dt,"CATE","CATE",ls,hm,"14");
makeItemImageCreate("PCKR","002",deploy_dt,"SCREEN","SCREEN",ls,hm,"15");
makeItemImageCreate("PCKR","002",deploy_dt,"PRESENT","PRESENT",ls,hm,"16");
makeItemImageCreate("PCKR","002",deploy_dt,"TAG","TAG",ls,hm,"17");
makeItemImageCreate("PCKR","002",deploy_dt,"LOGO","LOGO",ls,hm,"18");
//makeOptnImageCreate("PCKR","OPTN",hm); //부가옵션이미지
//makeCampnImageCreate("PCKR","CAMPN",hm); //캠페인배너이미지
//makeCateImageCreate("PCKR","CATE",hm); //제품카테고리이미지
//makeScreenImageCreate("PCKR","SCREEN",hm);//대기화면 이미지/동영상
//makePresentImageCreate("PCKR","PRESENT",hm);//사은품이미지
}
}
catch (Exception e) {
logger.debug("[ERROR] " + e.toString());
System.out.println("[ERROR] " + e.toString());
} catch (Throwable e) {
logger.debug("[ERROR2] " + e.toString());
System.out.println("[ERROR2] " + e.toString());
e.printStackTrace();
}
}
//상품이미지
private void makeItemImageCreate(String cmp_cd, String sales_org_cd,String deploy_dt, String imageKindWeb, String imageKindPos, List ls,HashMap hm, String fileDiv ) throws Exception {
FileAgentDAO dao = new FileAgentDAO();
CompressionUtil cu = new CompressionUtil();
//1.WEB에서 업로드된 파일 폴더 --> /home/hs_dev/upload/PCKR/002/ITEM
String webitem_imgdir = (String)hm.get("USER_HOME") + File.separator +
"upload" + File.separator +
cmp_cd + File.separator +
sales_org_cd + File.separator +
imageKindWeb;
//2.POS 압축하기 위한 파일 폴더 --> /home/hs_dev/CMBO/temp/PCKR/002/CDP/ITEM/
String positem_zipMakedir =(String)hm.get("USER_HOME") + File.separator +
"CMBO/temp" + File.separator+
cmp_cd + File.separator +
sales_org_cd + File.separator +
"CDP" + File.separator+
imageKindPos;
//3. POS 압축하기 위한 파일 폴더 전체 --> /home/hs_dev/CMBO/temp/PCKR/002/CDP
String positem_zipdir =(String)hm.get("USER_HOME")+ File.separator +
"CMBO/temp" + File.separator +
cmp_cd + File.separator +
sales_org_cd + File.separator +
"CDP";
//4. POS 전체폴더 --> /home/hs_dev/CMBO/TOTAL/CDP/ITEM
String positem_backupimgdir = (String)hm.get("USER_HOME") + File.separator +
"CMBO" + File.separator +
"TOTAL/CDP" + File.separator+
imageKindPos;// 전체 백업 저장 폴더
//5. POS total 압축폴더 --> /home/hs_dev/CMBO/TOTAL/CDP/
String positem_totzipdir =(String)hm.get("USER_HOME") + File.separator +
"CMBO" + File.separator +
"TOTAL" + File.separator +
"CDP";
// 전체 img 압축 --> PCKR_POS_ITEM_TOTALIMG.ZIP
String positem_totzipNm = cmp_cd + "_"+ sales_org_cd + "_"+ "POS_"+ imageKindPos +"_TOTALIMG.ZIP";
try {
//압축할 temp 폴더 생성
logger.debug("pos positem_zipMakedir --->" + positem_zipMakedir);
dao.mkDir(positem_zipMakedir); // /home/hs_dev/CMBO/temp/PCKR/002/CDP/ITEM/
if(ls == null){//테스트용
Map<String, String> map = new HashMap<String,String>();
map.put("SYS_DATE","20190327");
List dirList = dao.getDirFileList(webitem_imgdir + File.separator + ((String)map.get("SYS_DATE")).substring(0,4)
+ File.separator + ((String)map.get("SYS_DATE")).substring(4,6)
+ File.separator + ((String)map.get("SYS_DATE")).substring(6,8));
if (dirList.size()> 0 ) { // 웹경로에 파일이 존재하는 경우
logger.debug("action file copy start " + dirList.size());
// 4.신규 이미지 카피
for(int k = 0;k < dirList.size();k++) {
try {
dao.fileCopy(webitem_imgdir
+ File.separator + ((String)map.get("SYS_DATE")).substring(0,4)
+ File.separator + ((String)map.get("SYS_DATE")).substring(4,6)
+ File.separator + ((String)map.get("SYS_DATE")).substring(6,8) + File.separator + dirList.get(k)
,positem_zipMakedir+File.separator + dirList.get(k));
} catch (Exception e) {
logger.debug(" file backup copy err " + e.toString());
} catch (Throwable e) {
e.printStackTrace();
}
}
}
}else{
if (ls.size()>0){// 일별 폴더 체크
for(int row = 0; row < ls.size(); row ++){
Map<String, String> map = (Map<String, String>)ls.get(row);
logger.debug((String)map.get("SYS_DATE"));
List dirList = dao.getDirFileList(webitem_imgdir + File.separator + ((String)map.get("SYS_DATE")).substring(0,4)
+ File.separator + ((String)map.get("SYS_DATE")).substring(4,6)
+ File.separator + ((String)map.get("SYS_DATE")).substring(6,8));
if (dirList.size()> 0 ) { // 파일이 존재하는 경우
logger.debug("action file copy start " + dirList.size());
// 4.신규 이미지 카피
for(int k = 0;k < dirList.size();k++) {
try {
dao.fileCopy(webitem_imgdir
+ File.separator + ((String)map.get("SYS_DATE")).substring(0,4)
+ File.separator + ((String)map.get("SYS_DATE")).substring(4,6)
+ File.separator + ((String)map.get("SYS_DATE")).substring(6,8) + File.separator + dirList.get(k)
,positem_zipMakedir+File.separator + dirList.get(k));
} catch (Exception e) {
logger.debug(" file backup copy err " + e.toString());
} catch (Throwable e) {
e.printStackTrace();
}
}
}
}
}
}
String basePath = (String)hm.get("USER_HOME") + File.separator +
"CMBO" +"/POS/UPLOAD"; // 파일 생성 루트
//String fileName =cmp_cd+ "_"+sales_org_cd +"_"+ imageKindPos+"_" + "0000T" + ".zip";
String fileName =cmp_cd+ "_"+sales_org_cd +"_"+ imageKindPos+"_" + dao.getFileNm(cmp_cd, deploy_dt, fileDiv) + ".zip";
File[] filelist = new File(positem_zipMakedir).listFiles();
if (filelist.length >0) {
cu.zip(new File(positem_zipMakedir) , new File(basePath) , "UTF-8", true ,fileName.toString());
File sftpfile = new File(basePath +File.separator + fileName.toString() );
//전체 파일 COPY 처리
// positem_zipMakedir : /home/hs_dev/CMBO/temp/PCKR/002/CDP/ITEM/
// positem_backupimgdir : /home/hs_dev/CMBO/TOTAL/CDP/ITEM
// positem_totzipdir : /home/hs_dev/CMBO/TOTAL/CDP/
//int retvalue = dao.setDirFileList(positem_zipMakedir, positem_backupimgdir); //--에러..
String uploadPath=(String)hm.get("FTP_USER_HOME") + "/CDP/"+imageKindPos+"/";
ArrayList<String> ftplist = new ArrayList<String>();
ftplist.add(fileName.toString());
/*
boolean re = sendFtpServer((String)hm.get("FTP_SERVER"),
(String)hm.get("FTP_PORT"),
(String)hm.get("FTP_ID"),
(String)hm.get("FTP_PWD"),
uploadPath,
basePath +File.separator ,
ftplist);
*/
String port = String.valueOf(hm.get("FTP_PORT"));
JSCHFTPManager jsFtpMgr =null ;
jsFtpMgr = new JSCHFTPManager(
(String)hm.get("FTP_SERVER"),
Integer.parseInt(port) ,
(String)hm.get("FTP_ID"),
(String)hm.get("FTP_PWD")
);
//10.당일분 upload
String downPath = uploadPath
+ File.separator + sftpfile.getName();
File uploadFile = new File(basePath +File.separator + fileName);
//jsFtpMgr.upload(basePath +File.separator + fileName, remoteFile);
jsFtpMgr.upload(uploadPath, uploadFile);
if (!sftpfile.getName().equals("")){
//** 배치성으로 프로그램 실행시에는 stsys-property.xml 브랜드 회사코드 정보 저장
logger.debug("Database" + "database 생성중 " + filelist.length );
try{
Map mapFile = new HashMap();
mapFile.put("SALE_DT", deploy_dt);
mapFile.put("CMP_CD", cmp_cd);
mapFile.put("FILE_NM", fileName);
mapFile.put("STOR_CD", "");
mapFile.put("FILE_PATH",uploadPath);
//"/data/nhs_ftp/CMBO"+ "/CDP/" + imageKindPos + File.separator);
mapFile.put("DEPLOY_DIV", fileDiv);
//2.배신 테이블에 데이터 생성
int ret = dao.procMSTINFOCRT(mapFile);
}catch(SQLException e){
logger.debug("[ERROR] " + e.toString());
}
}
}else{
logger.debug("[file not found]");
}
} catch(Exception e) {
logger.debug("[ERROR] " + e.toString());
} finally {
// 작업 완료 폴더 삭제
dao.deleteDirectory(new File(positem_zipMakedir));
}
}
// 브랜드별 파일 생성 관련 프로그램 소스 추가 시작 2017.04.24
private String getLocalServerIp()
{
try
{
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();)
{
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();)
{
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress() && !inetAddress.isLinkLocalAddress() && inetAddress.isSiteLocalAddress())
{
return inetAddress.getHostAddress().toString();
}
}
}
}
catch (SocketException ex) {}
return null;
}
public boolean sendFtpServer(String ip, String port, String id, String password,
String folder,String localPath, ArrayList<String> files) {
boolean isSuccess = false;
FTPClient ftp = null;
int reply;
try {
ftp = new FTPClient();
ftp.setControlEncoding("UTF-8");
ftp.connect(ip, Integer.parseInt(port));
logger.info("Connected to " + ip + " on "+ftp.getRemotePort());
// After connection attempt, you should check the reply code to verify
// success.
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
logger.info("FTP server refused connection.");
System.exit(1);
}
if(!ftp.login(id, password)) {
ftp.logout();
logger.info("ftp 서버에 로그인하지 못했습니e");
//throw new Exception("ftp 서버에 로그인하지 못했습니다.");
}
ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.enterLocalPassiveMode();
logger.info(ftp.printWorkingDirectory());
try{
ftp.makeDirectory(folder);
}catch(Exception e){
e.printStackTrace();
logger.error(e.toString());
}
ftp.changeWorkingDirectory(folder);
logger.info(ftp.printWorkingDirectory());
for(int i = 0; i < files.size(); i++) {
String sourceFile = localPath + files.get(i);
File uploadFile = new File(sourceFile);
FileInputStream fis = null;
try {
fis = new FileInputStream(uploadFile);
logger.info(sourceFile + " : 전송시작 = >");
//logger.info
isSuccess = ftp.storeFile(files.get(i), fis);
logger.info(sourceFile + " : 전송결과 = >" + isSuccess);
} catch(IOException e) {
e.printStackTrace();
logger.error( "send err" + e.toString());
isSuccess = false;
} finally {
if (fis != null) {
try {
fis.close();
logger.info( "send final ok" );
} catch(IOException e)
{
logger.error( "send final err" + e.toString());
}
}
}//end try
}//end for
ftp.logout();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ftp != null && ftp.isConnected()) {
try { ftp.disconnect(); } catch (IOException e) {}
}
}
return isSuccess;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,264 @@
package biz.cms_NhsMasterDataRcv;
import java.net.SocketException;
import java.util.HashMap;
import org.apache.log4j.Logger;
import com.google.gson.Gson;
import biz.comm.COMMBiz;
import biz.comm.COMMLog;
import kr.fujitsu.com.ffw.daemon.net.ActionSocket;
import kr.fujitsu.com.ffw.daemon.net.server.ServerAction;
public class NhsMasterDataRcvAction extends ServerAction {
private static Logger logger = Logger.getLogger(NhsMasterDataRcvAction.class);
/**
* Receive data 9051 PORT(데이타를 9051 PORT로 받음).
*
* @param ActionSocket
* @return
* @throws Exception
*/
@Override
public void execute(ActionSocket actionSocket) throws Exception {
// TODO Auto-generated method stub
int ret = 0;
int inq_type = 0;
String sendMsg = "";
String dataMsg = "";
String rcvBuf = "";
String rcvDataBuf = "";
String retValue = "OK!";
HashMap hmCommon = new HashMap();
NhsMasterDataCrtExecutor mstEx = new NhsMasterDataCrtExecutor();
COMMLog df = new COMMLog();
HashMap hmInqData = new HashMap();
try {
rcvBuf = (String)actionSocket.receive();
if( rcvBuf.length() < COMMBiz.CM_LENS + 2 ){
return;
}
// set work start time(업무시작시간 설정)
df.setStartTime();
df.setConnectionInfo(actionSocket.getSocket().getInetAddress().getHostAddress().toString(),
String.valueOf(actionSocket.getSocket().getPort()),
logger,
"NhsMasterDataRcv");
hmCommon = COMMBiz.getData(rcvBuf, COMMBiz.CM_HEADER);
//COMMBiz.MASTER : 8 ( json field 개수 맞춰야 )
if (!(COMMBiz.getCommMsgType(hmCommon, COMMBiz.MASTER))) {
df.CommLogger("[ERROR] COMMBiz.MASTER length ---> " + COMMBiz.MASTER );
return;
}
// CMS_LENS : 59 ( 헤더전문 뒤의 json 자르기)
rcvDataBuf = rcvBuf.substring(COMMBiz.CM_LENS);
//json parsing 데이터 haspmap 담기
hmInqData = COMMBiz.jSonParsing2(rcvDataBuf) ;
/*
000147 08 PCKR 002 0000007 20190208 55 00003 20190211 131751 0 000
123456 12 1234 1234 1234567890 12345678 12 12345 12345678 123456 1 123
msglen msgtype cmd_cd sale_org_cd stor_cd sale_dt pos_no trade_no sys_ymd sys_hms encrypt_mode err_cd
{
"DATA_COUNT":"",
"SUB_STOR_CD":"0000007",
"RES_CD":"",
"PROC_CD":"0",
"UPD_DT":"20190208174302",
"MASTER_DIV":"39",
"STOR_CD":"0000007",
"INQ_TYPE":"01"
}
00014608PCKR002 0000007 201902085500003201902111317510000{DATA_COUNT":"","SUB_STOR_CD":"0000007","RES_CD":"","PROC_CD":"0","UPD_DT":"20190208174302","MASTER_DIV":"39","STOR_CD":"0000007","INQ_TYPE":"01"}
*/
inq_type = Integer.parseInt((String)hmInqData.get("INQ_TYPE"));
switch( inq_type ) {
case 1: //NHS_SCREEN(점포별 대기화면)
df.CommLogger("1 NHS_SCREEN 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_SCREEN(actionSocket, hmCommon, hmInqData, df);
break;
case 2:
df.CommLogger("2 NHS_SCREEN_CONTENTS 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_SCREEN_CONTENTS(actionSocket, hmCommon, hmInqData, df);
break;
case 3:
df.CommLogger("3 NHS_SCREEN_LAYER 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_SCREEN_LAYER(actionSocket, hmCommon, hmInqData, df);
break;
case 4:
df.CommLogger("4 NHS_STORE_PRD_CATE 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_STORE_PRD_CATE(actionSocket, hmCommon, hmInqData, df);
break;
case 5:
df.CommLogger("5 NHS_STORE_PRD_KEY 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_STORE_PRD_KEY(actionSocket, hmCommon, hmInqData, df);
break;
case 6:
df.CommLogger("6 NHS_UI_TEMPLATE 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_UI_TEMPLATE(actionSocket, hmCommon, hmInqData, df);
break;
case 7:
df.CommLogger("7 NHS_CPI_CONTENTS 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_CPI_CONTENTS(actionSocket, hmCommon, hmInqData, df);
break;
case 8: //사용안함 2019.03.07
df.CommLogger("8 NHS_CUST_BUY_HIST 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_CUST_BUY_HIST(actionSocket, hmCommon, hmInqData, df);
break;
case 9:
df.CommLogger("9 NHS_LANG_MSG 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_LANG_MSG(actionSocket, hmCommon, hmInqData, df);
break;
case 10:
df.CommLogger("10 NHS_LAYOUT 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_LAYOUT(actionSocket, hmCommon, hmInqData, df);
break;
case 11:
df.CommLogger("11 NHS_PRD_CATE_L 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_PRD_CATE_L(actionSocket, hmCommon, hmInqData, df);
break;
case 12:
df.CommLogger("12 NHS_PRD_CATE_M 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_PRD_CATE_M(actionSocket, hmCommon, hmInqData, df);
break;
case 13:
df.CommLogger("13 NHS_PRD_MST 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_PRD_MST(actionSocket, hmCommon, hmInqData, df);
break;
case 14:
df.CommLogger("14 NHS_OPTN_MST 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_OPTN_MST(actionSocket, hmCommon, hmInqData, df);
break;
case 15:
df.CommLogger("15 NHS_PRD_OPTN_GRP 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_PRD_OPTN_GRP(actionSocket, hmCommon, hmInqData, df);
break;
case 16:
df.CommLogger("16 NHS_PRD_OPTN 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_PRD_OPTN(actionSocket, hmCommon, hmInqData, df);
break;
case 17:
df.CommLogger("17 NHS_PRD_CATE 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_PRD_CATE(actionSocket, hmCommon, hmInqData, df);
break;
case 18:
df.CommLogger("18 NHS_STOR_PRD_TAG 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_STOR_PRD_TAG(actionSocket, hmCommon, hmInqData, df);
break;
case 19:
df.CommLogger("19 BR NHS_LINK_ITEM 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_LINK_ITEM(actionSocket, hmCommon, hmInqData, df);
break;
case 20:
df.CommLogger("20 BR NHS_STOR_FLAVOR 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_STOR_FLAVOR(actionSocket, hmCommon, hmInqData, df);
break;
case 21:
df.CommLogger("21 MST_POS_OPTN 호출 처리 중 ▶ " );
dataMsg = mstEx.make_MST_POS_OPTN(actionSocket, hmCommon, hmInqData, df);
break;
case 22:
df.CommLogger("22 NHS_FUNC_INFO 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_FUNC_INFO(actionSocket, hmCommon, hmInqData, df);
break;
case 59:
df.CommLogger("59 MST_PAY_DC 결제 할인 마스터 ▶ " );
dataMsg = mstEx.make_MST_PAY_DC(actionSocket, hmCommon, hmInqData, df);
break;
case 101:
df.CommLogger("101 NHS_STOR_PRD_LINK_OPTN 호출 처리 중 ▶ " );
dataMsg = mstEx.make_NHS_STOR_PRD_LINK_OPTN(actionSocket, hmCommon, hmInqData, df);
break;
}
/*
1. 대기화면
기존 로직에 하단 배너 1 row 생성 구분자 추가
2. 대기화면 컨텐츠
기존 로직에 nhs_banner 추가 구분자 추가
3. 대기화면 레이어
기존 로직에 하단 배너 1 row 생성 구분자 추가
4. 점포 제품 카테고리
기존 로직 동일 ---사용안함.......
5. 제품 터치키
기존 로직에 추가 필드 적용
6. UI 템플릿
기존 로직 동일
7. 캠페인 리소스
기존 로직 동일
8. 고객구매이력
사용안함
9. Lang_msg
기존 로직 동일
10. layout
사용안함
11. 제품카테고리 대분류
사용안함
12. 제품카테고리 중분류
사용안함
13. 제품 마스터
기존 로직 동일
14. 부가옵션
기존 로직 동일
15. 부가옵션 그룹
기존 로직 동일
16. 제품별 부가옵션
기존 로직 동일
17. 제품카테고리
기존 로직 동일
18. 점포별 제품별 태그
기존 로직 동일
------------------19. 링크 상품 그룹(필요없음)
-------------------- 추가 생성
19. 링크 상품
추가 생성
20. 점포별 플레이버
추가 생성
*/
} catch(Exception e) {
ret = 20;
retValue = " Agent Action [ERROR] 1 :" + e.getMessage() + " desc -->" + e.toString() ;
}
try {
sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, ret);
if (actionSocket.send(sendMsg + dataMsg)) {
df.CommLogger("▶ 2: SEND MSG: " + sendMsg + "/"
+ sendMsg.getBytes().length);
df.CommLogger("▶ 3: DATA MSG: " + dataMsg + "/"
+ dataMsg.getBytes().length);
} else {
df.CommLogger("▶ [ERROR]3: " + sendMsg + " ==>LEN: "
+ sendMsg.getBytes().length);
}
} catch (SocketException e) {
retValue = "Agent Action [ERROR] 2" + e.getMessage();
df.CommLogger("" + retValue);
} finally {
df.close("NHSMASTERDATARCV", retValue);
}
}
}

Some files were not shown because too many files have changed in this diff Show More